diff --git a/arch/m68k-all/debug/mmakefile b/arch/m68k-all/debug/mmakefile new file mode 100644 index 00000000000..273d563a623 --- /dev/null +++ b/arch/m68k-all/debug/mmakefile @@ -0,0 +1,259 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES=debug_gdb segtracker + +USER_INCLUDES += -I$(SRCDIR)/rom/debug + + +ifeq ($(FILES) ,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-debug-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-debug : \ +#MM kernel-debug-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-debug-$(ARCH)-$(CPU) \ +#MM kernel-debug-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-debug-$(ARCH) \ +#MM kernel-debug-$(FAMILY) \ +#MM kernel-debug-$(CPU) +#MM- kernel-debug-linklib : \ +#MM kernel-debug-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-debug-$(ARCH)-$(CPU) \ +#MM kernel-debug-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-debug-$(ARCH) \ +#MM kernel-debug-$(FAMILY) \ +#MM kernel-debug-$(CPU) +#MM- kernel-debug-kobj : \ +#MM kernel-debug-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-debug-$(ARCH)-$(CPU) \ +#MM kernel-debug-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-debug-$(ARCH) \ +#MM kernel-debug-$(FAMILY) \ +#MM kernel-debug-$(CPU) +#MM- kernel-debug-kobj-quick : \ +#MM kernel-debug-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-debug-$(ARCH)-$(CPU)-quick \ +#MM kernel-debug-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-debug-$(ARCH)-quick \ +#MM kernel-debug-$(FAMILY)-quick \ +#MM kernel-debug-$(CPU)-quick +#MM- kernel-debug-quick : \ +#MM kernel-debug-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-debug-$(ARCH)-$(CPU)-quick \ +#MM kernel-debug-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-debug-$(ARCH)-quick \ +#MM kernel-debug-$(FAMILY)-quick \ +#MM kernel-debug-$(CPU)-quick + +#MM kernel-debug-m68k : kernel-debug-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (debug,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/debug/debug +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/debug +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (debug,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/debug_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-debug-m68k-quick) + BD_TARGET := kernel-debug-m68k-quick +else + BD_TARGET := kernel-debug-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-debug-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-debug-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (debug,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/dos/mmakefile b/arch/m68k-all/dos/mmakefile new file mode 100644 index 00000000000..87f2214a22e --- /dev/null +++ b/arch/m68k-all/dos/mmakefile @@ -0,0 +1,272 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BCPL_CFILES := bcpl_patches bcpl_support bcpl_readargs bcpl_putpkt +BCPL_AFILES := bcpl bcpl_writef + +CFILES := bstr_helper exit callglobvec \ + $(BCPL_CFILES) + +AFILES := callentry \ + $(BCPL_AFILES) + +#MM kernel-dos-m68k : kernel-dos-includes includes-asm_h-m68k + +USER_INCLUDES := -I$(SRCDIR)/arch/$(CPU)-$(ARCH)/dos \ + -I$(SRCDIR)/rom/dos +USER_CPPFLAGS := -D__DOS_NOLIBBASE__ + +USER_AFLAGS := -I$(GENINCDIR) + + +ifeq ($(CFILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-dos-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-dos : \ +#MM kernel-dos-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dos-$(ARCH)-$(CPU) \ +#MM kernel-dos-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dos-$(ARCH) \ +#MM kernel-dos-$(FAMILY) \ +#MM kernel-dos-$(CPU) +#MM- kernel-dos-linklib : \ +#MM kernel-dos-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dos-$(ARCH)-$(CPU) \ +#MM kernel-dos-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dos-$(ARCH) \ +#MM kernel-dos-$(FAMILY) \ +#MM kernel-dos-$(CPU) +#MM- kernel-dos-kobj : \ +#MM kernel-dos-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dos-$(ARCH)-$(CPU) \ +#MM kernel-dos-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dos-$(ARCH) \ +#MM kernel-dos-$(FAMILY) \ +#MM kernel-dos-$(CPU) +#MM- kernel-dos-kobj-quick : \ +#MM kernel-dos-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-dos-$(ARCH)-$(CPU)-quick \ +#MM kernel-dos-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-dos-$(ARCH)-quick \ +#MM kernel-dos-$(FAMILY)-quick \ +#MM kernel-dos-$(CPU)-quick +#MM- kernel-dos-quick : \ +#MM kernel-dos-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-dos-$(ARCH)-$(CPU)-quick \ +#MM kernel-dos-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-dos-$(ARCH)-quick \ +#MM kernel-dos-$(FAMILY)-quick \ +#MM kernel-dos-$(CPU)-quick + +#MM kernel-dos-m68k : kernel-dos-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (dos,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/dos/dos +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/dos +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(CFILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(CFILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (dos,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/dos_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-dos-m68k-quick) + BD_TARGET := kernel-dos-m68k-quick +else + BD_TARGET := kernel-dos-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(CFILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-dos-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-dos-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (dos,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/dosboot/mmakefile b/arch/m68k-all/dosboot/mmakefile new file mode 100644 index 00000000000..755430abf65 --- /dev/null +++ b/arch/m68k-all/dosboot/mmakefile @@ -0,0 +1,255 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + + +ifeq (bootcode ,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-dosboot-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-dosboot : \ +#MM kernel-dosboot-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dosboot-$(ARCH)-$(CPU) \ +#MM kernel-dosboot-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dosboot-$(ARCH) \ +#MM kernel-dosboot-$(FAMILY) \ +#MM kernel-dosboot-$(CPU) +#MM- kernel-dosboot-linklib : \ +#MM kernel-dosboot-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dosboot-$(ARCH)-$(CPU) \ +#MM kernel-dosboot-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dosboot-$(ARCH) \ +#MM kernel-dosboot-$(FAMILY) \ +#MM kernel-dosboot-$(CPU) +#MM- kernel-dosboot-kobj : \ +#MM kernel-dosboot-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dosboot-$(ARCH)-$(CPU) \ +#MM kernel-dosboot-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-dosboot-$(ARCH) \ +#MM kernel-dosboot-$(FAMILY) \ +#MM kernel-dosboot-$(CPU) +#MM- kernel-dosboot-kobj-quick : \ +#MM kernel-dosboot-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-dosboot-$(ARCH)-$(CPU)-quick \ +#MM kernel-dosboot-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-dosboot-$(ARCH)-quick \ +#MM kernel-dosboot-$(FAMILY)-quick \ +#MM kernel-dosboot-$(CPU)-quick +#MM- kernel-dosboot-quick : \ +#MM kernel-dosboot-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-dosboot-$(ARCH)-$(CPU)-quick \ +#MM kernel-dosboot-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-dosboot-$(ARCH)-quick \ +#MM kernel-dosboot-$(FAMILY)-quick \ +#MM kernel-dosboot-$(CPU)-quick + +#MM kernel-dosboot-m68k : kernel-dosboot-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (dosboot,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/dosboot/dosboot +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/dosboot +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir bootcode))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir bootcode))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (dosboot,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/dosboot_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-dosboot-m68k-quick) + BD_TARGET := kernel-dosboot-m68k-quick +else + BD_TARGET := kernel-dosboot-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir bootcode)) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-dosboot-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-dosboot-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (dosboot,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/exec/dispatch.S b/arch/m68k-all/exec/dispatch.S index c33929839cf..b9bf6b3a74d 100644 --- a/arch/m68k-all/exec/dispatch.S +++ b/arch/m68k-all/exec/dispatch.S @@ -1,12 +1,4 @@ -/* - Copyright © 2012, The AROS Development Team. All rights reserved. - $Id$ - - Desc: Dispatch() - Lang: english - - These routines are the core of the m68k scheduling system -*/ +/* Restore an m68k task context directly from its saved user-stack frame. */ #include "aros/m68k/asm.h" @@ -17,15 +9,71 @@ .func AROS_SLIB_ENTRY(Dispatch,Exec,10) AROS_SLIB_ENTRY(Dispatch,Exec,10): - lea.l %sp@(-4*(8+8)),%sp /* %sp = regs_t */ - move.l %sp,%sp@- /* Push regs_t * onto stack */ __Dispatch_this: - jsr cpu_Dispatch /* Call cpu_Dispatch */ - addq.l #4,%sp - movem.l %sp@+,%d0-%d7/%a0-%a5 /* Load task state */ - move.l %sp@(4),%a6 - move.l %a6,%usp /* Restore user stack pointer */ - move.l %sp@,%a6 /* Restore A6 */ - addq.l #8,%sp - rte /* SR, PC, etc are on the stack */ + /* A6 may still contain the caller's library base here. */ + move.l 4,%a6 + ori.w #0x0700,%sr + + /* Fast path for the ordinary head-of-ready-list dispatch. */ + lea.l TaskReady(%a6),%a0 + move.l %a0@,%a3 + move.l %a3@,%d0 + beq.s 1f + cmp.b #TS_READY,tc_State(%a3) + bne.s 1f + move.b tc_Flags(%a3),%d1 + and.b #TF_DISPATCH_SPECIAL,%d1 + bne.s 1f + move.w AttnFlags(%a6),%d1 + and.w #AFF_FPU,%d1 + bne.s 1f + + move.l %d0,%a0@ + move.l %d0,%a1 + move.l %a0,ln_Pred(%a1) + addq.l #1,DispCount(%a6) + move.l %a3,ThisTask(%a6) + move.w Quantum(%a6),Elapsed(%a6) + /* SFF_QuantumOver is bit 14 of SysFlags: bit 6 of its first byte */ + bclr.b #6,SysFlags(%a6) + move.b #TS_RUN,tc_State(%a3) + move.b tc_IDNestCnt(%a3),IDNestCnt(%a6) + move.l tc_SPReg(%a3),%a5 + bra.s 2f + +1: + jsr m68k_DispatchFrame + move.l %d0,%a5 + move.l ThisTask(%a6),%a3 + +2: + tst.b IDNestCnt(%a6) + bmi.s 3f + move.w #0x4000,0xdff09a + bra.s 4f +3: + move.w #0xc000,0xdff09a +4: + /* + * Enter the task through ex_LaunchPoint, as Kickstart's Dispatch() + * does: A3 is the task, A5 its saved frame and A6 SysBase. Programs + * hook the field to see each task being launched and chain to the + * address they found there, so the first dispatch publishes the + * default launch code below. + */ + move.l LaunchPoint(%a6),%d0 + bne.s 5f + lea.l %pc@(6f),%a4 + move.l %a4,LaunchPoint(%a6) + bra.s 6f +5: + move.l %d0,%a4 + jmp (%a4) +6: + lea.l %a5@(66),%a2 + move.l %a2,%usp + move.l %a5@+,%sp@- + move.w %a5@+,%sp@- + movem.l %a5@,%d0-%d7/%a0-%a6 + rte .endfunc diff --git a/arch/m68k-all/exec/exec_platform.h b/arch/m68k-all/exec/exec_platform.h index 10fdda4422b..ceb555815c7 100644 --- a/arch/m68k-all/exec/exec_platform.h +++ b/arch/m68k-all/exec/exec_platform.h @@ -22,8 +22,8 @@ struct Exec_PlatformData #define TDNESTCOUNT_DEC SysBase->TDNestCnt-- #define FLAG_SCHEDQUANTUM_CLEAR SysBase->SysFlags &= ~SFF_QuantumOver #define FLAG_SCHEDQUANTUM_SET SysBase->SysFlags |= SFF_QuantumOver -#define FLAG_SCHEDSWITCH_CLEAR SysBase->AttnResched &= ~ARF_AttnSwitch -#define FLAG_SCHEDSWITCH_SET SysBase->AttnResched |= ARF_AttnSwitch +#define FLAG_SCHEDSWITCH_CLEAR SysBase->SysFlags &= ~SFF_AttnSwitch +#define FLAG_SCHEDSWITCH_SET SysBase->SysFlags |= SFF_AttnSwitch #define FLAG_SCHEDDISPATCH_CLEAR SysBase->AttnResched &= ~ARF_AttnDispatch #define FLAG_SCHEDDISPATCH_SET SysBase->AttnResched |= ARF_AttnDispatch #else @@ -33,8 +33,8 @@ struct Exec_PlatformData #define TDNESTCOUNT_DEC AROS_ATOMIC_DEC(SysBase->TDNestCnt) #define FLAG_SCHEDQUANTUM_CLEAR AROS_ATOMIC_AND(SysBase->SysFlags, ~SFF_QuantumOver) #define FLAG_SCHEDQUANTUM_SET AROS_ATOMIC_OR(SysBase->SysFlags, SFF_QuantumOver) -#define FLAG_SCHEDSWITCH_CLEAR AROS_ATOMIC_AND(SysBase->AttnResched, ~ARF_AttnSwitch) -#define FLAG_SCHEDSWITCH_SET AROS_ATOMIC_OR(SysBase->AttnResched, ARF_AttnSwitch) +#define FLAG_SCHEDSWITCH_CLEAR AROS_ATOMIC_AND(SysBase->SysFlags, ~SFF_AttnSwitch) +#define FLAG_SCHEDSWITCH_SET AROS_ATOMIC_OR(SysBase->SysFlags, SFF_AttnSwitch) #define FLAG_SCHEDDISPATCH_CLEAR AROS_ATOMIC_AND(SysBase->AttnResched, ~ARF_AttnDispatch) #define FLAG_SCHEDDISPATCH_SET AROS_ATOMIC_OR(SysBase->AttnResched, ARF_AttnDispatch) #endif @@ -47,7 +47,7 @@ struct Exec_PlatformData #define TDNESTCOUNT_GET (SysBase->TDNestCnt) #define TDNESTCOUNT_SET(val) (SysBase->TDNestCnt=(val)) #define FLAG_SCHEDQUANTUM_ISSET (SysBase->SysFlags & SFF_QuantumOver) -#define FLAG_SCHEDSWITCH_ISSET (SysBase->AttnResched & ARF_AttnSwitch) +#define FLAG_SCHEDSWITCH_ISSET (SysBase->SysFlags & SFF_AttnSwitch) #define FLAG_SCHEDDISPATCH_ISSET (SysBase->AttnResched & ARF_AttnDispatch) #define GET_THIS_TASK (SysBase->ThisTask) diff --git a/arch/m68k-all/exec/exitintr.S b/arch/m68k-all/exec/exitintr.S index eaa2ba8f689..40d776a8472 100644 --- a/arch/m68k-all/exec/exitintr.S +++ b/arch/m68k-all/exec/exitintr.S @@ -1,5 +1,5 @@ /* - Copyright © 2012, The AROS Development Team. All rights reserved. + Copyright © 2012-2026, The AROS Development Team. All rights reserved. $Id$ Desc: ExitIntr() @@ -16,9 +16,12 @@ .func AROS_SLIB_ENTRY(ExitIntr,Exec,6) AROS_SLIB_ENTRY(ExitIntr,Exec,6): - /* At this point, %d0-%d1/%a0-%a1/%a5-%a6 are on - * the stack, followed by SR, PC, and an exception frame + /* Kickstart's entry contract: the interrupt handler jumped here + * through the library vector with SysBase pushed on the stack. + * Below it are %d0-%d1/%a0-%a1/%a5-%a6, followed by SR, PC, and + * an exception frame. */ + move.l %sp@+,%a6 /* If we are returning to supervisor mode, just do it. * %sp@(4*6) is the SR from the RTE. diff --git a/arch/m68k-all/exec/mmakefile b/arch/m68k-all/exec/mmakefile new file mode 100644 index 00000000000..94636b55f4e --- /dev/null +++ b/arch/m68k-all/exec/mmakefile @@ -0,0 +1,281 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES=offsets getcc preparecontext \ + cachecleare cacheclearu cachepostdma cachepredma \ + cachecontrol setfunction copymem alert_cpu addmemlist + +AFILES=newstackswap stackswap \ + exitintr schedule switch dispatch \ + supervisor superstate userstate \ + forbid \ + cacheclearu_ cachecleare_ cachepostdma_ cachepredma_ \ + setsr cachecontrol_ \ + obtainquickvector \ + copymem_ \ + copymem_020 \ + copymem_040 \ + copymem_060 \ + copymem_ac080 \ + copymemquick \ + copymemquick_040 \ + copymemquick_060 + +USER_INCLUDES := $(PRIV_EXEC_INCLUDES) +USER_AFLAGS := -I$(GENINCDIR) +TARGET_ISA_AFLAGS:=$(ISA_MC68060_FLAGS) + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-exec-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-exec : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH)-$(CPU) \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH) \ +#MM kernel-exec-$(FAMILY) \ +#MM kernel-exec-$(CPU) +#MM- kernel-exec-linklib : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH)-$(CPU) \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH) \ +#MM kernel-exec-$(FAMILY) \ +#MM kernel-exec-$(CPU) +#MM- kernel-exec-kobj : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH)-$(CPU) \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH) \ +#MM kernel-exec-$(FAMILY) \ +#MM kernel-exec-$(CPU) +#MM- kernel-exec-kobj-quick : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-exec-$(ARCH)-$(CPU)-quick \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-exec-$(ARCH)-quick \ +#MM kernel-exec-$(FAMILY)-quick \ +#MM kernel-exec-$(CPU)-quick +#MM- kernel-exec-quick : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-exec-$(ARCH)-$(CPU)-quick \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-exec-$(ARCH)-quick \ +#MM kernel-exec-$(FAMILY)-quick \ +#MM kernel-exec-$(CPU)-quick + +#MM kernel-exec-m68k : kernel-exec-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (exec,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/exec/exec +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/exec +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (exec,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/exec_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-exec-m68k-quick) + BD_TARGET := kernel-exec-m68k-quick +else + BD_TARGET := kernel-exec-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-exec-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-exec-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (exec,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +#MM kernel-exec-m68k : includes-asm_h-m68k + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/exec/preparecontext.c b/arch/m68k-all/exec/preparecontext.c index 4df5abe1a0b..1a6184eaced 100644 --- a/arch/m68k-all/exec/preparecontext.c +++ b/arch/m68k-all/exec/preparecontext.c @@ -1,21 +1,17 @@ -/* - Copyright © 1995-2011, The AROS Development Team. All rights reserved. - $Id$ - - Desc: PrepareContext() - Prepare a task context for dispatch, m68k version - Lang: english -*/ +/* Prepare the initial task frame in the format used by Switch/Dispatch. */ #include #include #include #include #include +#include #include "exec_intern.h" #include "exec_util.h" -#define _PUSH(sp, val) *--sp = (IPTR)val +#define _PUSH(sp, val) *--sp = (IPTR)(val) +#define M68K_TASK_FRAME_SIZE 66 BOOL PrepareContext(struct Task *task, APTR entryPoint, APTR fallBack, const struct TagItem *tagList, struct ExecBase *SysBase) @@ -24,74 +20,59 @@ BOOL PrepareContext(struct Task *task, APTR entryPoint, APTR fallBack, WORD numargs = 0; IPTR *sp = task->tc_SPReg; struct ExceptionContext *ctx; + UBYTE *frame; if (!(task->tc_Flags & TF_ETASK)) return FALSE; - + ctx = KrnCreateContext(); task->tc_UnionETask.tc_ETask->et_RegFrame = ctx; if (!ctx) return FALSE; - while(tagList) - { - switch(tagList->ti_Tag) - { - case TAG_MORE: - tagList = (const struct TagItem *)tagList->ti_Data; - continue; - - case TAG_SKIP: - tagList += tagList->ti_Data; - break; - - case TAG_DONE: - tagList = NULL; - break; - -#define HANDLEARG(x) \ - case TASKTAG_ARG ## x: \ - args[x - 1] = (IPTR)tagList->ti_Data; \ - if (x > numargs) numargs = x; \ - break; - - HANDLEARG(1) - HANDLEARG(2) - HANDLEARG(3) - HANDLEARG(4) - HANDLEARG(5) - HANDLEARG(6) - HANDLEARG(7) - HANDLEARG(8) + while (tagList) { + switch (tagList->ti_Tag) { + case TAG_MORE: + tagList = (const struct TagItem *)tagList->ti_Data; + continue; + case TAG_SKIP: + tagList += tagList->ti_Data; + break; + case TAG_DONE: + tagList = NULL; + break; +#define HANDLEARG(x) \ + case TASKTAG_ARG ## x: \ + args[x - 1] = (IPTR)tagList->ti_Data; \ + if (x > numargs) numargs = x; \ + break; + HANDLEARG(1) + HANDLEARG(2) + HANDLEARG(3) + HANDLEARG(4) + HANDLEARG(5) + HANDLEARG(6) + HANDLEARG(7) + HANDLEARG(8) } - - if (tagList) tagList++; + if (tagList) + tagList++; } - - /* - There is not much to do here, or at least that is how it - appears. Most of the work is done in the kernel_cpu.h macros. - */ - if (numargs) - { - /* On m68k C function gets all param on stack */ - while(numargs--) - { - _PUSH(sp, args[numargs]); - } - } - - /* First we push the return address */ + while (numargs--) + _PUSH(sp, args[numargs]); _PUSH(sp, fallBack); - - /* Then set up the frame to be used by Dispatch() */ - ctx->pc = (IPTR)entryPoint; - ctx->a[7] = (IPTR)sp; - ctx->sr = 0x0000; - /* We return the new stack pointer back to the caller. */ - task->tc_SPReg = sp; + frame = (UBYTE *)sp - M68K_TASK_FRAME_SIZE; + memset(frame, 0, M68K_TASK_FRAME_SIZE); + *(IPTR *)(frame + 0) = (IPTR)entryPoint; + *(UWORD *)(frame + 4) = 0; + + /* Retain a conventional context for FPU/AMMX storage and diagnostics. */ + ctx->pc = (IPTR)entryPoint; + ctx->a[7] = (IPTR)sp; + ctx->sr = 0; + task->tc_SPReg = frame; return TRUE; -} /* PrepareContext() */ +} diff --git a/arch/m68k-all/exec/schedule.S b/arch/m68k-all/exec/schedule.S index d190180df51..dea023fffae 100644 --- a/arch/m68k-all/exec/schedule.S +++ b/arch/m68k-all/exec/schedule.S @@ -1,5 +1,5 @@ /* - Copyright © 2012, The AROS Development Team. All rights reserved. + Copyright © 2012-2026, The AROS Development Team. All rights reserved. $Id$ Desc: Schedule() @@ -19,6 +19,13 @@ AROS_SLIB_ENTRY(Schedule,Exec,7): movem.l %d0-%d1/%a0-%a1/%a5-%a6,%sp@- /* Save D0-D1/A0-A1 */ __Schedule_this: + /* + * Decide with interrupts masked, as Kickstart's Schedule() does: + * core_Schedule() clears SFF_AttnSwitch and looks at TaskReady, and + * an interrupt in between could set the flag or queue a task. Switch + * lowers the level again; otherwise the RTE restores it. + */ + or.w #0x0700,%sr jsr core_Schedule tst.w %d0 /* Something to do? */ movem.l %sp@+,%d0-%d1/%a0-%a1/%a5-%a6 /* Restore regs */ diff --git a/arch/m68k-all/exec/signal_fast.S b/arch/m68k-all/exec/signal_fast.S new file mode 100644 index 00000000000..5a9e85567e7 --- /dev/null +++ b/arch/m68k-all/exec/signal_fast.S @@ -0,0 +1,109 @@ +/* Fast common path for Signal() on a uniprocessor 68000. */ + +#include "aros/m68k/asm.h" + + .text + .balign 4 + .globl AROS_SLIB_ENTRY(Signal,Exec,54) + + .func AROS_SLIB_ENTRY(Signal,Exec,54) +AROS_SLIB_ENTRY(Signal,Exec,54): + /* + * A non-empty exception mask is common (input.device tasks have + * one). The generic path is needed only if a pending or newly + * delivered signal actually raises an exception. Classify the + * common waiting-task case before masking Paula; after taking the + * lock, validate the mutable fields before changing anything. + */ + move.l tc_SigRecvd(%a1),%a0 + move.l %a0,%d1 + or.l %d0,%d1 + and.l tc_SigExcept(%a1),%d1 + bne .slow_unlocked + cmp.b #TS_WAIT,tc_State(%a1) + bne .slow_unlocked + + move.l %d0,%d1 + and.l tc_SigWait(%a1),%d1 + + /* Protect signal fields and the scheduler lists. */ + move.w #0x4000,0xdff09a + addq.b #1,IDNestCnt(%a6) + cmp.l tc_SigRecvd(%a1),%a0 + bne .slow + cmp.b #TS_WAIT,tc_State(%a1) + bne .slow + + tst.l %d1 + beq.s .signal_only + + or.l %d0,tc_SigRecvd(%a1) + + /* Remove the task from TaskWait. */ + move.l %a2,%sp@- + move.l ln_Succ(%a1),%a0 + move.l ln_Pred(%a1),%a2 + move.l %a2,ln_Pred(%a0) + move.l %a0,ln_Succ(%a2) + move.b #TS_READY,tc_State(%a1) + + /* Enqueue by descending signed priority, preserving FIFO order. */ + move.l TaskReady(%a6),%a0 +.find: + tst.l ln_Succ(%a0) + beq.s .insert + move.b ln_Pri(%a1),%d1 + cmp.b ln_Pri(%a0),%d1 + bgt.s .insert + move.l ln_Succ(%a0),%a0 + bra.s .find + +.insert: + move.l ln_Pred(%a0),%a2 + move.l %a2,ln_Pred(%a1) + move.l %a0,ln_Succ(%a1) + move.l %a1,ln_Succ(%a2) + move.l %a1,ln_Pred(%a0) + move.l %sp@+,%a2 + + /* + * Match Reschedule() for a newly-ready higher-priority task without + * entering C or nesting another Disable(). Interrupt context keeps + * the actual switch deferred until ExitIntr(). + */ + move.l ThisTask(%a6),%a0 + cmp.b #TS_RUN,tc_State(%a0) + bne.s .done + move.b ln_Pri(%a1),%d1 + cmp.b ln_Pri(%a0),%d1 + ble.s .done + /* SFF_AttnSwitch is bit 15 of SysFlags: bit 7 of its first byte */ + bset.b #7,SysFlags(%a6) + bne.s .done + move.w #0x8004,0xdff09c + bra.s .done + +.signal_only: + or.l %d0,tc_SigRecvd(%a1) + +.done: + subq.b #1,IDNestCnt(%a6) + bpl.s .return + move.w #0xc000,0xdff09a +.return: + rts + +.slow: + /* Undo our Disable() nesting before entering the original C path. */ + subq.b #1,IDNestCnt(%a6) + bpl.s 1f + move.w #0xc000,0xdff09a +1: +.slow_unlocked: + move.l %a6,%sp@- + move.l %d0,%sp@- + move.l %a1,%sp@- + jsr Exec_SignalSlow + lea.l %sp@(12),%sp + rts + .endfunc diff --git a/arch/m68k-all/exec/switch.S b/arch/m68k-all/exec/switch.S index adbc59111bb..028a5d260a6 100644 --- a/arch/m68k-all/exec/switch.S +++ b/arch/m68k-all/exec/switch.S @@ -1,25 +1,92 @@ -/* - Copyright © 2012, The AROS Development Team. All rights reserved. - $Id$ - - Desc: Switch() - Lang: english - - These routines are the core of the m68k scheduling system -*/ +/* Save an m68k task context directly on its own user stack. */ #include "aros/m68k/asm.h" .text .balign 4 .globl AROS_SLIB_ENTRY(Switch,Exec,9) + .globl m68k_VoluntarySwitch .func AROS_SLIB_ENTRY(Switch,Exec,9) AROS_SLIB_ENTRY(Switch,Exec,9): - movem.l %d0-%d7/%a0-%a7,%sp@- - move.l %usp,%a0 - move.l %a0,%sp@(4*15) /* Fix up %a7 */ - move.l %sp,%sp@- /* Push regs_t * onto stack */ - jsr cpu_Switch /* Call cpu_Switch */ - jmp __Dispatch_this /* Skip ahead */ + move.w #0x2000,%sr + + /* + * Keep the caller's A5 temporarily on the supervisor stack. Build + * the persistent frame on the user stack in the Kickstart layout: + * PC(4), SR(2), D0-D7/A0-A6(60). The original USP is frame + 66. + */ + move.l %a5,%sp@- + move.l %usp,%a5 + movem.l %d0-%d7/%a0-%a6,%a5@- + move.l %sp@+,%a5@(13*4) + move.w %sp@+,%a5@- + move.l %sp@+,%a5@- + + move.l %a5,%sp@- + jsr m68k_SwitchTail + addq.l #4,%sp + jmp __Dispatch_this + .endfunc + + /* + * KrnSwitch() is used only by Exec/Wait(), after Wait has linked the + * current task into TaskWait. Keep this entry distinct from the + * general Switch vector: no scheduler-policy call is required for + * the outgoing task, and Paula interrupts can be reopened as soon as + * its persistent frame and nesting state have been published. + */ + .func m68k_VoluntarySwitch +m68k_VoluntarySwitch: + move.w #0x2000,%sr + move.l %a5,%sp@- + move.l %usp,%a5 + movem.l %d0-%d7/%a0-%a6,%a5@- + move.l %sp@+,%a5@(13*4) + move.w %sp@+,%a5@- + move.l %sp@+,%a5@- + + /* + * The expensive trap and context save above run with interrupts + * enabled. Only the signal recheck and scheduler-list commit below + * form the critical section. + */ + move.w #0x4000,0xdff09a + move.l ThisTask(%a6),%a0 + move.b %d3,%d1 + addq.b #1,%d1 + move.b %d1,IDNestCnt(%a6) + + move.l tc_SigRecvd(%a0),%d0 + and.l tc_SigWait(%a0),%d0 + bne.s 1f + + move.b #-1,TDNestCnt(%a6) + move.b #4,tc_State(%a0) /* TS_WAIT */ + + /* AddTail(&SysBase->TaskWait, &task->tc_Node). */ + lea.l TaskWait(%a6),%a1 + move.l lh_TailPred(%a1),%a2 + lea.l ln_Pred(%a1),%a3 + move.l %a3,ln_Succ(%a0) + move.l %a2,ln_Pred(%a0) + move.l %a0,ln_Succ(%a2) + move.l %a0,lh_TailPred(%a1) + + move.l %a5,tc_SPReg(%a0) + move.b %d1,tc_IDNestCnt(%a0) + move.b #-1,IDNestCnt(%a6) + move.w #0xc000,0xdff09a + jmp __Dispatch_this + +1: + /* + * A signal arrived while the prospective frame was being built. + * Recreate Supervisor()'s exception frame, restore the registers + * from that frame, and return to Wait() without switching tasks. + */ + move.l %a5@,%sp@- + move.w %a5@(4),%sp@- + movem.l %a5@(6),%d0-%d7/%a0-%a6 + rte .endfunc diff --git a/arch/m68k-all/include/mmakefile b/arch/m68k-all/include/mmakefile new file mode 100644 index 00000000000..924abaef6d3 --- /dev/null +++ b/arch/m68k-all/include/mmakefile @@ -0,0 +1,141 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +INCLUDE_FILES := $(call WILDCARD, aros/*.h) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (aros,) +TMP_DIR := aros +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst aros,$(GENINCDIR)/aros/m68k,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/aros/m68k/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := aros/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/aros/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/aros/m68k/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/aros/m68k/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (aros,) +BD_INCL_FILES2 := $(subst aros,$(AROS_INCLUDES)/aros/m68k,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/aros/m68k/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/aros/m68k/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/aros/m68k/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +compiler-includes : $(BD_INCL_FILES) + +.PHONY: compiler-includes + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +INCLUDE_FILES := jmpdefs.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-common-m68k : $(BD_INCL_FILES) + +.PHONY: includes-common-m68k + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +#MM- compiler-includes: includes-generated-m68k-libcall + +#MM includes-generated-m68k-libcall +includes-generated-m68k-libcall: \ + $(AROS_INCLUDES)/aros/m68k/libcall.h \ + $(AROS_INCLUDES)/aros/m68k/asmcall.h + +$(AROS_INCLUDES)/aros/m68k/asmcall.h: $(HOSTGENDIR)/tools/gencall_m68k | $(AROS_INCLUDES)/aros/m68k + $(HOSTGENDIR)/tools/gencall_m68k asmcall >$@ + +$(AROS_INCLUDES)/aros/m68k/libcall.h: $(HOSTGENDIR)/tools/gencall_m68k | $(AROS_INCLUDES)/aros/m68k + $(HOSTGENDIR)/tools/gencall_m68k libcall >$@ + +GLOB_MKDIRS += $(AROS_INCLUDES)/aros/m68k + +$(HOSTGENDIR)/tools/gencall_m68k: $(SRCDIR)/$(CURDIR)/gencall.c + @$(HOST_CC) -Wall -Werror -o $@ $< + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/kernel/kernel_cpu.c b/arch/m68k-all/kernel/kernel_cpu.c index cb045746ff2..d91c1208738 100644 --- a/arch/m68k-all/kernel/kernel_cpu.c +++ b/arch/m68k-all/kernel/kernel_cpu.c @@ -1,11 +1,10 @@ /* - Copyright © 1995-2014, The AROS Development Team. All rights reserved. - $Id$ -*/ + Copyright (C) 1995-2026, The AROS Development Team. All rights reserved. -/* - * M68K Schedule functions - */ + The assembly scheduler entry saves and restores the integer context + directly on the task's user stack; this file retains the common scheduler + policy and optional CPU-context handling. +*/ #include #include @@ -13,17 +12,8 @@ #include #include -#include #include -#ifndef D -# ifdef DEBUG -# define D(x) x -# else -# define D(x) -# endif -#endif - extern void cpu_Exception(void); asm ( " .text\n" @@ -37,129 +27,84 @@ asm ( " rts\n" ); -void cpu_Switch(regs_t *regs) +void m68k_SwitchTail(APTR frame) { struct Task *task = SysBase->ThisTask; struct AROSCPUContext *ctx = task->tc_UnionETask.tc_ETask->et_RegFrame; - D(bug("[Kernel] %s: Switching ThisTask=0x%p '%s'\n", __func__, task, task->tc_Node.ln_Name);) - - /* Actually save the context */ - CopyMem(regs, &ctx->cpu, sizeof(regs_t)); - - /* If we have an FPU, save the FPU context */ if (SysBase->AttnFlags & AFF_FPU) - AROS_UFC2NR(void, FpuSaveContext, - AROS_UFCA(struct FpuContext *, &ctx->fpu, A0), - AROS_UFCA(UWORD, (SysBase->AttnFlags & AFF_68060) ? 2 : 0, D0)); - -#ifdef NONVAMPIRE - /* IF we have AMMX (68080) *and* if AMMX bit in SR is set, save AMMX context */ - if (SysBase->AttnFlags & AFF_68080) // && (ctx->cpu.sr & 0x800)) -#endif - AROS_UFC1NR(void, AMMXSaveContext,AROS_UFCA(struct AMMXContext *, &ctx->ammx, A0)); + AROS_UFC2NR(void, FpuSaveContext, + AROS_UFCA(struct FpuContext *, &ctx->fpu, A0), + AROS_UFCA(UWORD, (SysBase->AttnFlags & AFF_68060) ? 2 : 0, D0)); - /* Update tc_SPReg */ - task->tc_SPReg = (APTR)regs->a[7]; + if (SysBase->AttnFlags & AFF_68080) + AROS_UFC1NR(void, AMMXSaveContext, + AROS_UFCA(struct AMMXContext *, &ctx->ammx, A0)); + task->tc_SPReg = frame; core_Switch(); } -void cpu_Dispatch(regs_t *regs) +APTR m68k_DispatchFrame(void) { struct Task *task; struct AROSCPUContext *ctx; + UBYTE *frame; for (;;) { - asm volatile ("ori #0x0700, %sr\n"); // Disable CPU interrupts + asm volatile ("ori #0x0700, %sr\n"); task = core_Dispatch(); if (task != NULL) break; - D( - bug("[Kernel] %s: TASK QUEUE EMPTY!!\n", __func__); - - // Dump tasks ... - if (SysBase->ThisTask) - { - bug("[Kernel] %s: ThisTask=0x%p '%s'\n", __func__, SysBase->ThisTask, SysBase->ThisTask->tc_Node.ln_Name); - bug("[Kernel] %s: tc_Flags = %x\n", __func__, SysBase->ThisTask->tc_Flags); - bug("[Kernel] %s: tc_State = %x\n", __func__, SysBase->ThisTask->tc_State); - bug("[Kernel] %s: tc_SigAlloc = %x\n", __func__, SysBase->ThisTask->tc_SigAlloc); - bug("[Kernel] %s: tc_SigWait = %x\n", __func__, SysBase->ThisTask->tc_SigWait); - bug("[Kernel] %s: tc_SigRecv = %x\n", __func__, SysBase->ThisTask->tc_SigRecv); - bug("[Kernel] %s: tc_IDNestCnt = %d\n", __func__, SysBase->ThisTask->tc_IDNestCnt); - bug("[Kernel] %s: tc_TDNestCnt = %d\n", __func__, SysBase->ThisTask->tc_TDNestCnt); - } - - ForeachNode(&SysBase->TaskReady, task) - { - bug("[Kernel] %s: Ready Task @ 0x%p '%s'\n", __func__, task, task->tc_Node.ln_Name); - bug("[Kernel] %s: tc_Flags = %x\n", __func__, task->tc_Flags); - bug("[Kernel] %s: tc_State = %x\n", __func__, task->tc_State); - bug("[Kernel] %s: tc_SigAlloc = %x\n", __func__, task->tc_SigAlloc); - bug("[Kernel] %s: tc_SigWait = %x\n", __func__, task->tc_SigWait); - bug("[Kernel] %s: tc_SigRecv = %x\n", __func__, task->tc_SigRecv); - bug("[Kernel] %s: tc_IDNestCnt = %d\n", __func__, task->tc_IDNestCnt); - bug("[Kernel] %s: tc_TDNestCnt = %d\n", __func__, task->tc_TDNestCnt); - } - ForeachNode(&SysBase->TaskWait, task) - { - bug("[Kernel] %s: Waiting Task @ 0x%p '%s'\n", __func__, task, task->tc_Node.ln_Name); - bug("[Kernel] %s: tc_Flags = %x\n", __func__, task->tc_Flags); - bug("[Kernel] %s: tc_State = %x\n", __func__, task->tc_State); - bug("[Kernel] %s: tc_SigAlloc = %x\n", __func__, task->tc_SigAlloc); - bug("[Kernel] %s: tc_SigWait = %x\n", __func__, task->tc_SigWait); - bug("[Kernel] %s: tc_SigRecv = %x\n", __func__, task->tc_SigRecv); - bug("[Kernel] %s: tc_IDNestCnt = %d\n", __func__, task->tc_IDNestCnt); - bug("[Kernel] %s: tc_TDNestCnt = %d\n", __func__, task->tc_TDNestCnt); - } - ) - /* Break IDNestCnt */ + if (SysBase->IDNestCnt >= 0) { - SysBase->IDNestCnt=-1; + SysBase->IDNestCnt = -1; asm volatile ("move.w #0xc000,0xdff09a\n"); } - asm volatile ("stop #0x2000\n"); // Wait for an interrupt + asm volatile ("stop #0x2000\n"); } - D(bug("[Kernel] %s: Dispatching Task @ 0x%p '%s'\n", __func__, task, task->tc_Node.ln_Name);) - ctx = task->tc_UnionETask.tc_ETask->et_RegFrame; - CopyMem(&ctx->cpu, regs, sizeof(regs_t)); - regs->a[7] = (IPTR)task->tc_SPReg; - - /* If we have an FPU, restore the FPU context */ if (SysBase->AttnFlags & AFF_FPU) - AROS_UFC2NR(void, FpuRestoreContext, - AROS_UFCA(struct FpuContext *, &ctx->fpu, A0), - AROS_UFCA(UWORD, (SysBase->AttnFlags & AFF_68060) ? 2 : 0, D0)); -#ifdef NONVAMPIRE - /* IF we have AMMX (68080) *and* if AMMX bit in SR is set, save AMMX context */ - if (SysBase->AttnFlags & AFF_68080) // && (ctx->cpu.sr & 0x800)) -#endif - AROS_UFC1NR(void, AMMXRestoreContext, AROS_UFCA(struct AMMXContext *, &ctx->ammx, A0)); - - /* Re-enable interrupts if needed */ - if (SysBase->IDNestCnt < 0) { + AROS_UFC2NR(void, FpuRestoreContext, + AROS_UFCA(struct FpuContext *, &ctx->fpu, A0), + AROS_UFCA(UWORD, (SysBase->AttnFlags & AFF_68060) ? 2 : 0, D0)); + + if (SysBase->AttnFlags & AFF_68080) + AROS_UFC1NR(void, AMMXRestoreContext, + AROS_UFCA(struct AMMXContext *, &ctx->ammx, A0)); + + if (SysBase->IDNestCnt < 0) asm volatile ("move.w #0xc000,0xdff09a\n"); - } else { + else asm volatile ("move.w #0x4000,0xdff09a\n"); - } + frame = task->tc_SPReg; if (task->tc_Flags & TF_EXCEPT) { - /* Exec_Exception() will Enable() */ + ULONG originalPC = *(ULONG *)frame; + UBYTE *exceptionFrame = frame - sizeof(ULONG); + unsigned int i; + + /* Exec_Exception() balances this Disable() when it returns. */ Disable(); - /* Manipulate the current CPU context so Exec_Exception gets - * executed after we leave Supervisor mode. - */ - task->tc_SPReg -= sizeof(ULONG); /* RTS to original PC */ - if (task->tc_SPReg <= task->tc_SPLower) - Alert(AT_DeadEnd|AN_StackProbe); - *(ULONG *)(task->tc_SPReg) = regs->pc; + if (exceptionFrame <= (UBYTE *)task->tc_SPLower) + Alert(AT_DeadEnd | AN_StackProbe); - regs->a[7] = (IPTR)task->tc_SPReg; - regs->pc = (IPTR)cpu_Exception; + /* + * Make room below the 66-byte task-stack frame. The destination is + * lower than the source, so a forward byte copy is overlap-safe. + * Restoring this shifted frame sets USP to the word immediately after + * it; place the interrupted PC there for cpu_Exception's final RTS. + */ + for (i = 0; i < 66; i++) + exceptionFrame[i] = frame[i]; + *(ULONG *)(exceptionFrame + 66) = originalPC; + *(ULONG *)exceptionFrame = (ULONG)cpu_Exception; + task->tc_SPReg = exceptionFrame; + frame = exceptionFrame; } + + return frame; } diff --git a/arch/m68k-all/kernel/kernel_intr.c b/arch/m68k-all/kernel/kernel_intr.c index fb6deff4e8b..c1f3b3b06a9 100644 --- a/arch/m68k-all/kernel/kernel_intr.c +++ b/arch/m68k-all/kernel/kernel_intr.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012, The AROS Development Team + * Copyright (C) 2012-2026, The AROS Development Team * All right reserved. * Author: Jason S. McMullan * @@ -31,7 +31,7 @@ BOOL core_ExitIntr(VOID) * Do not disturb task if it's not necessary. * Reschedule only if switch pending flag is set. Exit otherwise. */ - if (SysBase->AttnResched & ARF_AttnSwitch) + if (FLAG_SCHEDSWITCH_ISSET) { /* Run task scheduling sequence */ return TRUE; diff --git a/arch/m68k-all/kernel/mmakefile b/arch/m68k-all/kernel/mmakefile new file mode 100644 index 00000000000..19bdf25318e --- /dev/null +++ b/arch/m68k-all/kernel/mmakefile @@ -0,0 +1,284 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM kernel-kernel-m68k : includes-asm_h-m68k + +FILES := \ + dispatch \ + schedule \ + schedulecpu \ + switch \ + m68k_exception \ + kernel_cpu \ + kernel_intr \ + platform_init \ + setprotection \ + mapglobal \ + mmu \ + virtualtophysical \ + bushandler +#kernel_gdb + +AFILES=issuper fpusavecontext fpurestorecontext buserror ammxsavecontext ammxrestorecontext + +USER_INCLUDES := $(PRIV_KERNEL_INCLUDES) $(PRIV_EXEC_INCLUDES) \ + -I$(GENINCDIR) -I$(AROS_DEVELOPER)/include + +USER_CPPFLAGS := -DPARANOIA_STACK + +USER_AFLAGS := $(USER_INCLUDES) + +TARGET_ISA_AFLAGS:=$(ISA_MC68060_FLAGS) + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-kernel-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-kernel : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH)-$(CPU) \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH) \ +#MM kernel-kernel-$(FAMILY) \ +#MM kernel-kernel-$(CPU) +#MM- kernel-kernel-linklib : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH)-$(CPU) \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH) \ +#MM kernel-kernel-$(FAMILY) \ +#MM kernel-kernel-$(CPU) +#MM- kernel-kernel-kobj : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH)-$(CPU) \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH) \ +#MM kernel-kernel-$(FAMILY) \ +#MM kernel-kernel-$(CPU) +#MM- kernel-kernel-kobj-quick : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-kernel-$(ARCH)-$(CPU)-quick \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-kernel-$(ARCH)-quick \ +#MM kernel-kernel-$(FAMILY)-quick \ +#MM kernel-kernel-$(CPU)-quick +#MM- kernel-kernel-quick : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-kernel-$(ARCH)-$(CPU)-quick \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-kernel-$(ARCH)-quick \ +#MM kernel-kernel-$(FAMILY)-quick \ +#MM kernel-kernel-$(CPU)-quick + +#MM kernel-kernel-m68k : kernel-kernel-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (kernel,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/kernel/kernel +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/kernel +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (kernel,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/kernel_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-kernel-m68k-quick) + BD_TARGET := kernel-kernel-m68k-quick +else + BD_TARGET := kernel-kernel-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-kernel-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-kernel-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring kernel,host kernel target),) + $(error unknown compiler kernel) +endif + +ifneq (kernel,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (kernel,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (kernel,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (kernel,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/libgcc1/mmakefile b/arch/m68k-all/libgcc1/mmakefile new file mode 100644 index 00000000000..32258b13745 --- /dev/null +++ b/arch/m68k-all/libgcc1/mmakefile @@ -0,0 +1,58 @@ +include $(SRCDIR)/config/aros.cfg + +TARGET_ISA_AFLAGS:=$(ISA_MC68020_FLAGS) + + +ifeq (,) +TMP-MA_TARGETS := $(addsuffix .o,_addsubdf3 _addsubsf3 _divdf3 _divmodsi3 divsf3 _eqdf2 _eqsf2 _extend _extendsfdf2 _fixdfsi _fixsfsi _floatsidf _floatsisf _gedf2 _gesf2 _gtdf2 _gtsf2 _ledf2 _lesf2 _ltdf2 _ltsf2 _muldf3 _mulsf3 _mulsi3 _nedf2 _negdf2 _negsf2 _nesf2 _normdf _normsf _truncdfsf2 _udivmodsi3) +TMP-MA_WILDCARD := % +else +TMP-MA_TARGETS := $(addsuffix .o,$(addprefix /,$(notdir _addsubdf3 _addsubsf3 _divdf3 _divmodsi3 divsf3 _eqdf2 _eqsf2 _extend _extendsfdf2 _fixdfsi _fixsfsi _floatsidf _floatsisf _gedf2 _gesf2 _gtdf2 _gtsf2 _ledf2 _lesf2 _ltdf2 _ltsf2 _muldf3 _mulsf3 _mulsi3 _nedf2 _negdf2 _negsf2 _nesf2 _normdf _normsf _truncdfsf2 _udivmodsi3))) +TMP-MA_WILDCARD := /% + +# Be sure that all .s files are generated +$(TMP-MA_TARGETS) : | $(addsuffix .s,_addsubdf3 _addsubsf3 _divdf3 _divmodsi3 divsf3 _eqdf2 _eqsf2 _extend _extendsfdf2 _fixdfsi _fixsfsi _floatsidf _floatsisf _gedf2 _gesf2 _gtdf2 _gtsf2 _ledf2 _lesf2 _ltdf2 _ltsf2 _muldf3 _mulsf3 _mulsi3 _nedf2 _negdf2 _negsf2 _nesf2 _normdf _normsf _truncdfsf2 _udivmodsi3) + +# Be sure that all .c files are found +TMP-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +TMP-MA_BASEDIRS := $(shell echo $(sort $(dir _addsubdf3 _addsubsf3 _divdf3 _divmodsi3 divsf3 _eqdf2 _eqsf2 _extend _extendsfdf2 _fixdfsi _fixsfsi _floatsidf _floatsisf _gedf2 _gesf2 _gtdf2 _gtsf2 _ledf2 _lesf2 _ltdf2 _ltsf2 _muldf3 _mulsf3 _mulsi3 _nedf2 _negdf2 _negsf2 _nesf2 _normdf _normsf _truncdfsf2 _udivmodsi3)) | sed 's/\(.\):\//\/\1\//g') +TMP-MA_DIRS := $(foreach dir, $(TMP-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(TMP-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(TMP-MA_DIRS),) + TMP-MA_DIRS := $(shell echo $(TMP-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(TMP-MA_DIRS) +endif + +endif + +TMP-MA_ASSEMBLER ?= $(strip $(CC) $(TARGET_SYSROOT)) + +$(TMP-MA_TARGETS) : TMP-MA_CMD:= $(TMP-MA_ASSEMBLER) + +$(TMP-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(TMP-MA_TARGETS) : AFLAGS := -mc68020 +$(TMP-MA_TARGETS) : $(TMP-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(TMP-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(TMP-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(TMP-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +#MM linklibs-gcc1-m68000 + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) + diff --git a/arch/m68k-all/m680x0/mmakefile b/arch/m68k-all/m680x0/mmakefile new file mode 100644 index 00000000000..7baca7b8b04 --- /dev/null +++ b/arch/m68k-all/m680x0/mmakefile @@ -0,0 +1,1910 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-c-m68k : kernel-m680x0 + +FILES := init +AFILES := m68k_060sp + +USER_AFLAGS := -I$(GENINCDIR) +USER_CPPFLAGS := -DDoRegisterCalls +USER_INCLUDES := -I$(SRCDIR)/arch/$(CPU)-all/m680x0 +ISA_FLOAT_FLAGS:= +TARGET_ISA_AFLAGS:=$(ISA_MC68020_FLAGS) + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-m680x0 +#MM kernel-m680x0-quick +#MM kernel-m680x0-makefile +#MM kernel-m680x0-clean + +# ABI targets: +#MM- includes-all : kernel-m680x0-includes +#MM- linklibs-680x0: kernel-m680x0-linklib +#MM- linklibs-680x0_rel : kernel-m680x0-linklib +#MM- includes-680x0: kernel-m680x0-includes +#MM- includes-680x0_rel : kernel-m680x0-includes +#MM- kernel-m680x0 : kernel-m680x0-includes core-linklibs linklibs- +#MM kernel-m680x0-linklib : kernel-m680x0-includes includes- +#MM- kernel-m680x0-quick : kernel-m680x0-includes-quick +#MM kernel-m680x0-includes : kernel-m680x0-makefile kernel-m680x0-includes-dirs \ +#MM includes-generate-deps kernel-m680x0-fd +#MM kernel-m680x0-includes-quick +#MM kernel-m680x0-includes-dirs +#MM kernel-m680x0-fd + +# Library targets +#MM kernel-m680x0-kobj : core-linklibs linklibs- +#MM kernel-m680x0-kobj-quick : + +# Library with ABI targets: +#MM kernel-m680x0-kobj : kernel-m680x0-includes core-linklibs linklibs- +#MM kernel-m680x0-kobj-quick : kernel-m680x0-includes-quick + +# All MetaMake targets defined by this macro +kernel-m680x0_ALLTARGETS := kernel-m680x0 kernel-m680x0-quick kernel-m680x0-clean + +ifeq (M,M) +kernel-m680x0_ALLTARGETS += kernel-m680x0-kobj kernel-m680x0-kobj-quick +endif + +ifeq (M,M) +kernel-m680x0_ALLTARGETS += kernel-m680x0-includes \ + kernel-m680x0-includes-quick kernel-m680x0-includes-dirs \ + kernel-m680x0-linklib kernel-m680x0-fd +endif + +.PHONY : $(kernel-m680x0_ALLTARGETS) kernel-m680x0-makefile + +ifeq (680x0,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-m680x0_DEFNAME := 680x0_ +else + kernel-m680x0_DEFNAME := 680x0 +endif +kernel-m680x0_DEFLINKLIBNAME := $(kernel-m680x0_DEFNAME) +ifneq (,) + kernel-m680x0_LINKLIBNAME := +else + kernel-m680x0_LINKLIBNAME = $(kernel-m680x0_DEFLINKLIBNAME) +endif +kernel-m680x0_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-m680x0_DEFCPPFLAGS += -I +endif +kernel-m680x0_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-m680x0_DFLAGS := +else + kernel-m680x0_DFLAGS = $(kernel-m680x0_DEFDFLAGS) +endif +kernel-m680x0_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-m680x0_DXXFLAGS := +else + kernel-m680x0_DXXFLAGS = $(kernel-m680x0_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-m680x0_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-m680x0_DEFDFLAGS)) +kernel-m680x0_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-m680x0_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-m680x0_FUNCINSTR := yes +kernel-m680x0_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-m680x0_DEFDFLAGS)) +kernel-m680x0_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-m680x0_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-m680x0_OBJDIR := +else +kernel-m680x0_OBJDIR := $(OBJDIR)/$(kernel-m680x0_DEFNAME) +endif +ifneq (,) +kernel-m680x0_OBJDIR := $(kernel-m680x0_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-m680x0-makefile := $(kernel-m680x0_OBJDIR)/Makefile.$(kernel-m680x0_DEFNAME)library +kernel-m680x0-genmakefile : $(kernel-m680x0-makefile) + + +kernel-m680x0-genmakefile_OPTS := +ifneq (,) + kernel-m680x0-genmakefile_OPTS += -f + kernel-m680x0-genmakefile_MODNAME := 680x0_ +else + kernel-m680x0-genmakefile_MODNAME := 680x0 +endif +kernel-m680x0-genmakefile_TARGET := Makefile.$(kernel-m680x0-genmakefile_MODNAME)library +kernel-m680x0-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-m680x0-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-m680x0-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-m680x0-genmakefile_OPTS += -c + kernel-m680x0-genmakefile_DEPS += + endif +else + kernel-m680x0-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/680x0.conf + kernel-m680x0-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/680x0.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-m680x0-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-m680x0-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-m680x0-genmakefile_OPTS += -o + kernel-m680x0-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-m680x0-genmakefile_OPTS += -s +endif +ifneq ($(kernel-m680x0_OBJDIR),) + kernel-m680x0-genmakefile_OPTS += -d $(kernel-m680x0_OBJDIR) + kernel-m680x0-genmakefile_TARGET := $(kernel-m680x0_OBJDIR)/$(kernel-m680x0-genmakefile_TARGET) +endif + +$(kernel-m680x0-genmakefile_TARGET) : OPTS := $(kernel-m680x0-genmakefile_OPTS) +$(kernel-m680x0-genmakefile_TARGET) : MODNAME := 680x0 +$(kernel-m680x0-genmakefile_TARGET) : MODTYPE := library +$(kernel-m680x0-genmakefile_TARGET) : $(kernel-m680x0-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-m680x0-makefile),) +$(kernel-m680x0-makefile) : | $(kernel-m680x0_OBJDIR) +else +$(kernel-m680x0-makefile) :: $(kernel-m680x0_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-m680x0_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-m680x0_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-m680x0-makefile) + +kernel-m680x0_DEFMODDIR := $($(kernel-m680x0_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-m680x0_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-m680x0_DEFMODDIR) +endif +ifneq (,) + kernel-m680x0_MODDIR := +else + kernel-m680x0_MODDIR := $(kernel-m680x0_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-m680x0_INCDIR := +else +kernel-m680x0_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-m680x0_LIBDEFSINC := $(kernel-m680x0_OBJDIR)/include/$(kernel-m680x0_DEFNAME)_libdefs.h +kernel-m680x0_DEFLIBDEFSINC := $(kernel-m680x0_OBJDIR)/include/$(kernel-m680x0_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-m680x0-includes-quick : kernel-m680x0-includes +kernel-m680x0-includes : $(addprefix $(GENINCDIR)/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-m680x0_INCDIR)/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) \ + $(kernel-m680x0_LIBDEFSINC) $(kernel-m680x0_DEFLIBDEFSINC) + +ifneq ($($(kernel-m680x0_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-m680x0-includes_MODNAME := 680x0_ +else + kernel-m680x0-includes_MODNAME := 680x0 +endif + +ifneq ($($(kernel-m680x0-includes_MODNAME)_INCLUDES),) + +kernel-m680x0-includes_TARGETS := $($(kernel-m680x0-includes_MODNAME)_INCLUDES) + +kernel-m680x0-includes_DEPS := $(GENMODULE) +kernel-m680x0-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-m680x0-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-m680x0-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-m680x0-includes_OPTS += -c + kernel-m680x0-includes_DEPS += + endif +else + kernel-m680x0-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/680x0.conf + kernel-m680x0-includes_DEPS += $(SRCDIR)/$(CURDIR)/680x0.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-m680x0-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-m680x0-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-m680x0-includes_OPTS += -o + kernel-m680x0-includes_DEPS += + endif +endif +ifneq (,) + kernel-m680x0-includes_OPTS += -s +endif +ifneq ($(kernel-m680x0_OBJDIR)/include,) + kernel-m680x0-includes_OPTS += -d $(kernel-m680x0_OBJDIR)/include + kernel-m680x0-includes_TARGETS := $(addprefix $(kernel-m680x0_OBJDIR)/include/,$(kernel-m680x0-includes_TARGETS)) + kernel-m680x0-includes_GENINCFLAG=$(kernel-m680x0_OBJDIR)/include/.680x0.library-includes +else + kernel-m680x0-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.680x0.library-includes +endif + +$(kernel-m680x0-includes_TARGETS) : $(kernel-m680x0-includes_DEPS) $(kernel-m680x0-includes_GENINCFLAG) + +$(kernel-m680x0-includes_GENINCFLAG) : OPTS := $(kernel-m680x0-includes_OPTS) +$(kernel-m680x0-includes_GENINCFLAG) : MODNAME := 680x0 +$(kernel-m680x0-includes_GENINCFLAG) : MODTYPE := library +$(kernel-m680x0-includes_GENINCFLAG) : $(kernel-m680x0-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-m680x0_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) : | $(kernel-m680x0_OBJDIR)/680x0_geninc + +$(kernel-m680x0_OBJDIR)/680x0_geninc : COPYSRCDIR := $(kernel-m680x0_OBJDIR)/include +$(kernel-m680x0_OBJDIR)/680x0_geninc : TGTDIR := $(GENINCDIR) +$(kernel-m680x0_OBJDIR)/680x0_geninc : FILES := $($(kernel-m680x0_DEFNAME)_INCLUDES) +$(kernel-m680x0_OBJDIR)/680x0_geninc : $(addprefix $(kernel-m680x0_OBJDIR)/include/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-m680x0_OBJDIR)/include + +$(addprefix $(kernel-m680x0_INCDIR)/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) : | $(kernel-m680x0_OBJDIR)/680x0_incs + +$(kernel-m680x0_OBJDIR)/680x0_incs : COPYSRCDIR := $(kernel-m680x0_OBJDIR)/include +$(kernel-m680x0_OBJDIR)/680x0_incs : TGTDIR := $(kernel-m680x0_INCDIR) +$(kernel-m680x0_OBJDIR)/680x0_incs : FILES := $($(kernel-m680x0_DEFNAME)_INCLUDES) +$(kernel-m680x0_OBJDIR)/680x0_incs : $(addprefix $(kernel-m680x0_OBJDIR)/include/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-m680x0_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-m680x0_DEFNAME)_INCLUDES)))) + +TMP680x0_INCDIRS := \ + $(kernel-m680x0_OBJDIR)/include $(addprefix $(kernel-m680x0_OBJDIR)/include/,$(kernel-m680x0_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-m680x0_INCDIRS)) \ + $(kernel-m680x0_INCDIR) $(addprefix $(kernel-m680x0_INCDIR)/,$(kernel-m680x0_INCDIRS)) + +ifneq (kernel-m680x0-includes-dirs,) +kernel-m680x0-includes-dirs : | $(TMP680x0_INCDIRS) +else +kernel-m680x0-includes-dirs :: $(TMP680x0_INCDIRS) +endif + +GLOB_MKDIRS += $(TMP680x0_INCDIRS) + + +endif + +endif + + +kernel-m680x0-genlibdefs_OPTS := +ifneq (,) + kernel-m680x0-genlibdefs_OPTS += -f + kernel-m680x0-genlibdefs_MODNAME := 680x0_ +else + kernel-m680x0-genlibdefs_MODNAME := 680x0 +endif +kernel-m680x0-genlibdefs_TARGET := $(kernel-m680x0-genlibdefs_MODNAME)_libdefs.h +kernel-m680x0-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-m680x0-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-m680x0-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-m680x0-genlibdefs_OPTS += -c + kernel-m680x0-genlibdefs_DEPS += + endif +else + kernel-m680x0-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/680x0.conf + kernel-m680x0-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/680x0.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-m680x0-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-m680x0-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-m680x0-genlibdefs_OPTS += -o + kernel-m680x0-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-m680x0-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-m680x0_OBJDIR)/include,) + kernel-m680x0-genlibdefs_OPTS += -d $(kernel-m680x0_OBJDIR)/include + kernel-m680x0-genlibdefs_TARGET := $(kernel-m680x0_OBJDIR)/include/$(kernel-m680x0-genlibdefs_TARGET) +endif +ifneq (,) + kernel-m680x0-genlibdefs_OPTS += -v +endif + +$(kernel-m680x0-genlibdefs_TARGET) : OPTS := $(kernel-m680x0-genlibdefs_OPTS) +$(kernel-m680x0-genlibdefs_TARGET) : MODNAME := 680x0 +$(kernel-m680x0-genlibdefs_TARGET) : MODTYPE := library +$(kernel-m680x0-genlibdefs_TARGET) : $(kernel-m680x0-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-m680x0_DEFLIBDEFSINC) : FILENAME := $(kernel-m680x0_LIBDEFSINC) +$(kernel-m680x0_DEFLIBDEFSINC) : $(kernel-m680x0_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-m680x0_LIBDEFSINC) $(kernel-m680x0_DEFLIBDEFSINC) : | $(kernel-m680x0_OBJDIR)/include + +ifneq (kernel-m680x0-includes-dirs,) +kernel-m680x0-includes-dirs : | $(kernel-m680x0_OBJDIR)/include +else +kernel-m680x0-includes-dirs :: $(kernel-m680x0_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-m680x0_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-m680x0-genmodfiles_OPTS := +ifneq (,) + kernel-m680x0-genmodfiles_OPTS += -f + kernel-m680x0-genmodfiles_MODNAME := 680x0_ +else + kernel-m680x0-genmodfiles_MODNAME := 680x0 +endif +kernel-m680x0-genmodfiles_GENTARGETS := $($(kernel-m680x0-genmodfiles_MODNAME)_STARTFILES) $($(kernel-m680x0-genmodfiles_MODNAME)_ENDFILES) +kernel-m680x0-genmodfiles_STUBTARGETS := $($(kernel-m680x0-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-m680x0-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-m680x0-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-m680x0-genmodfiles_GENTARGETS)) +kernel-m680x0-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-m680x0-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-m680x0-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-m680x0-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-m680x0-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-m680x0-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-m680x0-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-m680x0-genmodfiles_OPTS += -c + kernel-m680x0-genmodfiles_DEPS += + endif +else + kernel-m680x0-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/680x0.conf + kernel-m680x0-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/680x0.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-m680x0-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-m680x0-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-m680x0-genmodfiles_OPTS += -o + kernel-m680x0-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-m680x0-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-m680x0_OBJDIR),) + kernel-m680x0-genmodfiles_OPTS += -d $(kernel-m680x0_OBJDIR) + kernel-m680x0-genmodfiles_TARGETDIR := $(shell echo $(kernel-m680x0_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-m680x0-genmodfiles_GENTARGETS := $(addprefix $(kernel-m680x0-genmodfiles_TARGETDIR)/,$(kernel-m680x0-genmodfiles_GENTARGETS)) + kernel-m680x0-genmodfiles_GENFILEFLAG=$(kernel-m680x0-genmodfiles_TARGETDIR)/.680x0.library-genfiles +else + kernel-m680x0-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.680x0.library-genfiles +endif +ifneq ($(kernel-m680x0_OBJDIR)/linklib,) + kernel-m680x0-genmodfiles_OPTS += -l $(kernel-m680x0_OBJDIR)/linklib + kernel-m680x0-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-m680x0_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-m680x0-genmodfiles_STUBTARGETS := $(addprefix $(kernel-m680x0-genmodfiles_STUBTARGETDIR)/,$(kernel-m680x0-genmodfiles_STUBTARGETS)) + kernel-m680x0-genmodfiles_TARGETDIRS += $(kernel-m680x0_OBJDIR)/linklib +else +ifneq ($(kernel-m680x0_OBJDIR),) + kernel-m680x0-genmodfiles_STUBTARGETS := $(addprefix $(kernel-m680x0-genmodfiles_TARGETDIR)/,$(kernel-m680x0-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-m680x0-genmodfiles_TARGETS := $(kernel-m680x0-genmodfiles_GENTARGETS) $(kernel-m680x0-genmodfiles_STUBTARGETS) +ifneq ($(kernel-m680x0-genmodfiles_TARGETDIRS),) +$(kernel-m680x0-genmodfiles_TARGETS) : | $(kernel-m680x0-genmodfiles_TARGETDIRS) +endif + +$(kernel-m680x0-genmodfiles_TARGETS) : $(kernel-m680x0-genmodfiles_DEPS) $(kernel-m680x0-genmodfiles_GENFILEFLAG) + +$(kernel-m680x0-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-m680x0-genmodfiles_OPTS) +$(kernel-m680x0-genmodfiles_GENFILEFLAG) : MODNAME := 680x0 +$(kernel-m680x0-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(kernel-m680x0-genmodfiles_GENFILEFLAG) : $(kernel-m680x0-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-m680x0-genmodfiles_GENFILEFLAG) : $(kernel-m680x0_DEFLIBDEFSINC) $(kernel-m680x0-makefile) + + +ifneq ($(kernel-m680x0-genmodfiles_GENFILEFLAG),) +$(kernel-m680x0-genmodfiles_GENFILEFLAG) : | $(kernel-m680x0_OBJDIR)/linklib +else +$(kernel-m680x0-genmodfiles_GENFILEFLAG) :: $(kernel-m680x0_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-m680x0_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-m680x0_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-m680x0_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-m680x0-fd : $(kernel-m680x0_FDDIR)/680x0_lib.fd + + +TMP_TARGET := 680x0_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/680x0.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/680x0.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-m680x0_FDDIR),) + TMP_OPTS += -d $(kernel-m680x0_FDDIR) + TMP_TARGET := $(kernel-m680x0_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := 680x0 +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-m680x0_FDDIR)/680x0_lib.fd : | $(kernel-m680x0_FDDIR) + + +ifneq (kernel-m680x0-fd-setup,) +kernel-m680x0-fd-setup : | $(kernel-m680x0_FDDIR) +else +kernel-m680x0-fd-setup :: $(kernel-m680x0_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-m680x0_FDDIR) + +endif + +## Compilation +## +kernel-m680x0_FILES := $(FILES) +kernel-m680x0_OBJCFILES := +kernel-m680x0_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-m680x0_LIBFILES := +kernel-m680x0_LIBS := + +kernel-m680x0_FDIRS := $(sort $(dir $(kernel-m680x0_FILES))) + +kernel-m680x0_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-m680x0_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-m680x0_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-m680x0_FILTERARCH = $(filter-out $(call kernel-m680x0_MATCHARCH,$(1),$(2)),$(2)) +kernel-m680x0_STARTFILES := $(addprefix $(kernel-m680x0_OBJDIR)/,$($(kernel-m680x0_DEFNAME)_STARTFILES)) +kernel-m680x0_ENDFILES := $(addprefix $(kernel-m680x0_OBJDIR)/,$($(kernel-m680x0_DEFNAME)_ENDFILES)) + +kernel-m680x0_ARCHOBJS := $(wildcard $(kernel-m680x0_OBJDIR)/arch/*.o) +kernel-m680x0_LIBARCHOBJS := $(wildcard $(kernel-m680x0_OBJDIR)/linklib/arch/*.o) +kernel-m680x0_ARCHFILES := $(basename $(notdir $(kernel-m680x0_ARCHOBJS))) +kernel-m680x0_LIBARCHFILES := $(basename $(notdir $(kernel-m680x0_LIBARCHOBJS))) +kernel-m680x0_C_NARCHFILES := $(call kernel-m680x0_FILTERARCH,$(kernel-m680x0_ARCHFILES),$(kernel-m680x0_FILES)) +kernel-m680x0_CXX_NARCHFILES := $(call kernel-m680x0_FILTERARCH,$(kernel-m680x0_ARCHFILES),$(kernel-m680x0_CXXFILES)) +kernel-m680x0_OBJC_NARCHFILES := $(call kernel-m680x0_FILTERARCH,$(kernel-m680x0_ARCHFILES),$(kernel-m680x0_OBJCFILES)) +kernel-m680x0_NLIBARCHFILES := $(call kernel-m680x0_FILTERARCH,$(kernel-m680x0_LIBARCHFILES),$(kernel-m680x0_LIBFILES)) +kernel-m680x0_ARCHNLIBFILES := $(call kernel-m680x0_FILTERARCH,$(kernel-m680x0_LIBFILES),$(kernel-m680x0_LIBARCHFILES)) + +kernel-m680x0_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-m680x0_OBJDIR)/include -include $(kernel-m680x0_DEFLIBDEFSINC)) +ifneq (,) +kernel-m680x0_CPPFLAGS += -I +endif +kernel-m680x0_LINKLIBCPPFLAGS := $(kernel-m680x0_CPPFLAGS) +kernel-m680x0_CPPFLAGS += $(strip $($(kernel-m680x0_DEFNAME)_CPPFLAGS)) +kernel-m680x0_LINKLIBCPPFLAGS += $(strip $($(kernel-m680x0_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-m680x0_CFLAGS := $(strip $(CFLAGS) $($(kernel-m680x0_DEFNAME)_CFLAGS)) +kernel-m680x0_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-m680x0_DEFNAME)_LINKLIBCFLAGS)) +kernel-m680x0_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-m680x0_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-m680x0_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-m680x0_CFLAGS := $(strip $(kernel-m680x0_LTOFLAGS) $(kernel-m680x0_CFLAGS)) +kernel-m680x0_LINKLIBCFLAGS := $(strip $(kernel-m680x0_LTOFLAGS) $(kernel-m680x0_LINKLIBCFLAGS)) +kernel-m680x0_CXXFLAGS := $(strip $(kernel-m680x0_LTOFLAGS) $(kernel-m680x0_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-m680x0_SUBSTNULL := +kernel-m680x0_SUBSTSPACE := $(kernel-m680x0_SUBSTNULL) # +kernel-m680x0_SUBSTCOMMA := , +kernel-m680x0_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-m680x0_SUBSTSPACE),$(kernel-m680x0_SUBSTCOMMA),$(strip $($(kernel-m680x0_DEFNAME)_STARTFILES)))) +kernel-m680x0_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-m680x0_CFLAGS := $(strip $(kernel-m680x0_INSTRFUNCFLAGS) $(kernel-m680x0_CFLAGS)) +kernel-m680x0_CXXFLAGS := $(strip $(kernel-m680x0_INSTRFUNCFLAGS) $(kernel-m680x0_CXXFLAGS)) +kernel-m680x0_LIBS += $(kernel-m680x0_INSTRFUNCLIBS) +endif +endif +kernel-m680x0_DFLAGS := $(strip $(kernel-m680x0_DFLAGS) $($(kernel-m680x0_DEFNAME)_DFLAGS)) +kernel-m680x0_LINKLIBDFLAGS := $(strip $(kernel-m680x0_DFLAGS) $($(kernel-m680x0_DEFNAME)_LINKLIBDFLAGS)) +kernel-m680x0_DXXFLAGS := $(strip $(kernel-m680x0_DXXFLAGS) $($(kernel-m680x0_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + kernel-m680x0_LIBSUFFIX := +else + kernel-m680x0_LIBSUFFIX := .library +endif + +ifeq (,) +kernel-m680x0_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-m680x0_LIBDIR := +endif + +ifeq (M,M) +kernel-m680x0_LINKLIBCFILES := $(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$($(kernel-m680x0_DEFNAME)_LINKLIBFILES)) +kernel-m680x0_LINKLIBAFILES := $(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$($(kernel-m680x0_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-m680x0_DEFNAME)_LINKLIBFILES) $($(kernel-m680x0_DEFNAME)_LINKLIBAFILES) $(kernel-m680x0_ARCHNLIBFILES)),) + kernel-m680x0_LINKLIB := +else + kernel-m680x0_LINKLIB := $(kernel-m680x0_LIBDIR)/lib680x0$(kernel-m680x0_LIBSUFFIX).a + ifneq (680x0,$(kernel-m680x0_LINKLIBNAME)) + kernel-m680x0_LINKLIB += $(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)$(kernel-m680x0_LIBSUFFIX).a + endif +endif +kernel-m680x0_LINKLIBFILES := $(kernel-m680x0_LINKLIBCFILES) $(kernel-m680x0_LINKLIBAFILES) + +kernel-m680x0_RELLINKLIBCFILES := $(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$($(kernel-m680x0_DEFNAME)_RELLINKLIBFILES)) +kernel-m680x0_RELLINKLIBAFILES := $(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$($(kernel-m680x0_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-m680x0_DEFNAME)_RELLINKLIBFILES) $($(kernel-m680x0_DEFNAME)_RELLINKLIBAFILES) $(kernel-m680x0_ARCHNLIBFILES)),) + kernel-m680x0_RELLINKLIB := +else + kernel-m680x0_RELLINKLIB := $(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_DEFNAME)_rel$(kernel-m680x0_LIBSUFFIX).a + ifneq (680x0,$(kernel-m680x0_LINKLIBNAME)) + kernel-m680x0_RELLINKLIB += $(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)_rel$(kernel-m680x0_LIBSUFFIX).a + endif +endif +kernel-m680x0_RELLINKLIBFILES := $(kernel-m680x0_RELLINKLIBCFILES) $(kernel-m680x0_RELLINKLIBAFILES) +endif + +kernel-m680x0_ENDOBJS := $(addsuffix .o,$(kernel-m680x0_ENDFILES)) +kernel-m680x0_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(notdir $(kernel-m680x0_NLIBARCHFILES))) $(addprefix $(kernel-m680x0_OBJDIR)/linklib/arch/,$(notdir $(kernel-m680x0_ARCHNLIBFILES))) $(kernel-m680x0_LINKLIBFILES)) \ + +kernel-m680x0_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(notdir $(kernel-m680x0_NLIBARCHFILES))) $(addprefix $(kernel-m680x0_OBJDIR)/linklib/arch/,$(notdir $(kernel-m680x0_ARCHNLIBFILES))) $(kernel-m680x0_RELLINKLIBFILES)) \ + +$(kernel-m680x0_LINKLIBFILES) $(kernel-m680x0_RELLINKLIBFILES) : | $(kernel-m680x0_OBJDIR)/linklib +$(kernel-m680x0_LINKLIBOBJS) $(kernel-m680x0_RELLINKLIBOBJS) : | $(kernel-m680x0_OBJDIR)/linklib + +kernel-m680x0_CCFILES := $(kernel-m680x0_C_NARCHFILES) +kernel-m680x0_TARGETCCFILES := $(strip $(kernel-m680x0_STARTFILES) $(kernel-m680x0_ENDFILES)) +kernel-m680x0_LINKLIBCCFILES := $(strip $(kernel-m680x0_NLIBARCHFILES) $(kernel-m680x0_LINKLIBCFILES) $(kernel-m680x0_RELLINKLIBCFILES)) +kernel-m680x0_LINKLIBCCGENFILES := $(strip $(kernel-m680x0_LINKLIBCFILES) $(kernel-m680x0_RELLINKLIBCFILES)) + + +kernel-m680x0_CXXABSBASENAMES := $(foreach kernel-m680x0_CXXBASE,$(kernel-m680x0_CXX_NARCHFILES),$(if $(filter /%,$(kernel-m680x0_CXXBASE)),$(kernel-m680x0_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-m680x0_CXXBASE)))) + +ifneq ($(kernel-m680x0_CXXABSBASENAMES),) + +kernel-m680x0_CXXBASENAMES := $(basename $(kernel-m680x0_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-m680x0_MCXX_FILES := $(strip $(foreach kernel-m680x0_CXXBASE,$(kernel-m680x0_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-m680x0_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-m680x0_EXT),$(kernel-m680x0_CXXBASE))))))) + +ifeq (,) +kernel-m680x0_MCXX_SRCWILDCARD := % +else +kernel-m680x0_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-m680x0_OBJDIR),) + kernel-m680x0_CXXTARGETS := $(notdir $(kernel-m680x0_CXXBASENAMES:=.o)) + kernel-m680x0_CXXDTARGETS := $(notdir $(kernel-m680x0_CXXBASENAMES:=.d)) + kernel-m680x0_MCXX_WILDCARD := % +else + kernel-m680x0_CXXTARGETS := $(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(kernel-m680x0_CXXBASENAMES:=.o))) + kernel-m680x0_CXXDTARGETS := $(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(kernel-m680x0_CXXBASENAMES:=.d))) + kernel-m680x0_MCXX_WILDCARD := $(kernel-m680x0_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-m680x0_CXXTARGETS) $(kernel-m680x0_CXXDTARGETS) : | $(kernel-m680x0_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-m680x0_MCXX_CPPFLAGS := $(kernel-m680x0_CPPFLAGS) +kernel-m680x0_CXXFLAGS := $(kernel-m680x0_CXXFLAGS) +ifeq ($(kernel-m680x0_DXXFLAGS),) + kernel-m680x0_DXXFLAGS := $(kernel-m680x0_CXXFLAGS) +else + kernel-m680x0_DXXFLAGS := $(kernel-m680x0_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-m680x0_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-m680x0_STRIP ?= $(HOST_STRIP) + kernel-m680x0_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-m680x0_CXXCMD:=$(HOST_CXX) + kernel-m680x0_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-m680x0_MCXX_CPPFLAGS) $(kernel-m680x0_MCXX_EXTRA_CPPFLAGS)) + kernel-m680x0_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-m680x0_CXXFLAGS)) + kernel-m680x0_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-m680x0_DXXFLAGS)) + kernel-m680x0_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-m680x0_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-m680x0_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-m680x0_STRIP ?= $(TARGET_STRIP) + kernel-m680x0_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-m680x0_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-m680x0_MCXX_CPPFLAGS := $(strip $(kernel-m680x0_MCXX_CPPFLAGS) $(kernel-m680x0_MCXX_EXTRA_CPPFLAGS)) + kernel-m680x0_CXXFLAGS := $(strip $(kernel-m680x0_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-m680x0_DXXFLAGS := $(kernel-m680x0_DXXFLAGS) + kernel-m680x0_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-m680x0_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-m680x0_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-m680x0_STRIP ?= $(ECHO) >/dev/null + kernel-m680x0_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-m680x0_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-m680x0_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-m680x0_MCXX_CPPFLAGS) $(kernel-m680x0_MCXX_EXTRA_CPPFLAGS)) + kernel-m680x0_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-m680x0_CXXFLAGS)) + kernel-m680x0_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-m680x0_DXXFLAGS)) + kernel-m680x0_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-m680x0_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-m680x0_CXXCMD) $(kernel-m680x0_CXXIQUOTE) $(dir $(2)) $(kernel-m680x0_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_CXXIQUOTE) . $(kernel-m680x0_CXXIQUOTE_END) $(strip $(kernel-m680x0_CXXFLAGS) $(kernel-m680x0_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-m680x0_CXXCMD) $(kernel-m680x0_CXXIQUOTE) $(dir $(2)) $(kernel-m680x0_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_CXXIQUOTE) . $(kernel-m680x0_CXXIQUOTE_END) $(strip $(kernel-m680x0_CXXFLAGS) $(kernel-m680x0_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-m680x0_CXXCMD) $(kernel-m680x0_CXXIQUOTE) $(dir $(2)) $(kernel-m680x0_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_CXXIQUOTE) . $(kernel-m680x0_CXXIQUOTE_END) $(strip $(kernel-m680x0_CXXFLAGS) $(kernel-m680x0_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-m680x0_CXXCMD)" $(MKDEPEND) $(strip $(kernel-m680x0_DXXFLAGS) $(kernel-m680x0_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-m680x0_OBJDIR),) + $(foreach kernel-m680x0_CXXFILE,$(kernel-m680x0_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-m680x0_CXXFILE))),$(kernel-m680x0_CXXFILE)))) +else + $(foreach kernel-m680x0_CXXFILE,$(kernel-m680x0_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(basename $(kernel-m680x0_CXXFILE)))),$(kernel-m680x0_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-m680x0_OBJC_NARCHFILES),) + +ifeq (,) +kernel-m680x0_MOBJC_SRCWILDCARD := % +else +kernel-m680x0_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-m680x0_OBJDIR),) + kernel-m680x0_MOBJC_TARGETS := $(addsuffix .o,$(kernel-m680x0_OBJC_NARCHFILES)) + kernel-m680x0_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-m680x0_OBJC_NARCHFILES)) + kernel-m680x0_MOBJC_WILDCARD := % +else + kernel-m680x0_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/,$(kernel-m680x0_OBJC_NARCHFILES))) + kernel-m680x0_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/,$(kernel-m680x0_OBJC_NARCHFILES))) + kernel-m680x0_MOBJC_WILDCARD := $(kernel-m680x0_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-m680x0_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-m680x0_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-m680x0_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-m680x0_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-m680x0_MOBJC_DIRS := $(foreach dir, $(kernel-m680x0_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-m680x0_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-m680x0_MOBJC_DIRS),) + kernel-m680x0_MOBJC_DIRS := $(shell echo $(kernel-m680x0_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-m680x0_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-m680x0_CC := $(TARGET_CC) +else + kernel-m680x0_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-m680x0_MOBJC_CPPFLAGS := $(kernel-m680x0_CPPFLAGS) +kernel-m680x0_OBJCFLAGS := $(kernel-m680x0_CFLAGS) +kernel-m680x0_OBJCFLAGS := $(kernel-m680x0_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-m680x0_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-m680x0_OBJCFLAGS))) +ifeq ($(kernel-m680x0_DFLAGS),) + kernel-m680x0_OBJCDFLAGS := $(kernel-m680x0_CFLAGS) +else + kernel-m680x0_OBJCDFLAGS := $(kernel-m680x0_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-m680x0_LINK ?= $(strip $(kernel-m680x0_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-m680x0_STRIP ?= $(TARGET_STRIP) + kernel-m680x0_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-m680x0_CC) $(TARGET_SYSROOT)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_MOBJC_CPPFLAGS:=$(strip $(kernel-m680x0_MOBJC_CPPFLAGS) $(kernel-m680x0_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_OBJCFLAGS:=$(strip $(kernel-m680x0_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_OBJCDFLAGS:=$(kernel-m680x0_OBJCDFLAGS) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-m680x0_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-m680x0_STRIP ?= $(HOST_STRIP) + kernel-m680x0_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-m680x0_MOBJC_CPPFLAGS) $(kernel-m680x0_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_OBJCFLAGS)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_OBJCDFLAGS)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_IQUOTE:=$(HOST_IQUOTE) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-m680x0_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-m680x0_STRIP ?= $(ECHO) >/dev/null + kernel-m680x0_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-m680x0_MOBJC_CPPFLAGS) $(kernel-m680x0_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_OBJCFLAGS)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_OBJCDFLAGS)) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-m680x0_MOBJC_TARGETS) $(kernel-m680x0_MOBJC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-m680x0_MOBJC_TARGETS) : CPPFLAGS := $(kernel-m680x0_MOBJC_CPPFLAGS) +$(kernel-m680x0_MOBJC_TARGETS) : CFLAGS := $(kernel-m680x0_OBJCFLAGS) +$(kernel-m680x0_MOBJC_TARGETS) : $(kernel-m680x0_MOBJC_WILDCARD).o : $(kernel-m680x0_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-m680x0_MOBJC_DTARGETS) : $(kernel-m680x0_MOBJC_WILDCARD).d : $(kernel-m680x0_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-m680x0_OBJCDFLAGS) $(kernel-m680x0_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-m680x0_MC_SRCWILDCARD := % +else +kernel-m680x0_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-m680x0_OBJDIR),) +kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(kernel-m680x0_CCFILES)) +kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(kernel-m680x0_CCFILES)) +kernel-m680x0_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(kernel-m680x0_CCFILES)))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(kernel-m680x0_CCFILES)))) +else +ifeq (,) + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/,$(kernel-m680x0_CCFILES))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/,$(kernel-m680x0_CCFILES))) +else + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/,$(patsubst /%,%,$(kernel-m680x0_CCFILES)))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/,$(patsubst /%,%,$(kernel-m680x0_CCFILES)))) +endif +endif +kernel-m680x0_MC_TGTWILDCARD := $(kernel-m680x0_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : | $(addsuffix .c,$(kernel-m680x0_CCFILES)) + +# Be sure that all .c files are found +kernel-m680x0_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-m680x0_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-m680x0_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-m680x0_MC_DIRS := $(foreach dir, $(kernel-m680x0_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-m680x0_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-m680x0_MC_DIRS),) + kernel-m680x0_MC_DIRS := $(shell echo $(kernel-m680x0_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-m680x0_MC_DIRS) +endif + +endif + +kernel-m680x0_MC_CPPFLAGS := $(kernel-m680x0_CPPFLAGS) +kernel-m680x0_CFLAGS := $(kernel-m680x0_CFLAGS) +ifeq ($(kernel-m680x0_DFLAGS),) + kernel-m680x0_DFLAGS := $(kernel-m680x0_CFLAGS) +else + kernel-m680x0_DFLAGS := $(kernel-m680x0_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-m680x0_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-m680x0_STRIP ?= $(TARGET_STRIP) +kernel-m680x0_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(kernel-m680x0_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(kernel-m680x0_DFLAGS) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-m680x0_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-m680x0_STRIP ?= $(HOST_STRIP) +kernel-m680x0_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_DFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(HOST_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-m680x0_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-m680x0_STRIP ?= $(ECHO) >/dev/null +kernel-m680x0_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_DFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-m680x0_MC_TARGETS) : CPPFLAGS := $(kernel-m680x0_MC_CPPFLAGS) +$(kernel-m680x0_MC_TARGETS) : CFLAGS := $(kernel-m680x0_CFLAGS) +$(kernel-m680x0_MC_TARGETS) : $(kernel-m680x0_MC_TGTWILDCARD).o : $(kernel-m680x0_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-m680x0_MC_DTARGETS) : $(kernel-m680x0_MC_TGTWILDCARD).d : $(kernel-m680x0_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-m680x0_DFLAGS) $(kernel-m680x0_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-m680x0_MC_SRCWILDCARD := % +else +kernel-m680x0_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-m680x0_OBJDIR),) +kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(kernel-m680x0_TARGETCCFILES)) +kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(kernel-m680x0_TARGETCCFILES)) +kernel-m680x0_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(kernel-m680x0_TARGETCCFILES)))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(kernel-m680x0_TARGETCCFILES)))) +else +ifeq (,) + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/,$(kernel-m680x0_TARGETCCFILES))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/,$(kernel-m680x0_TARGETCCFILES))) +else + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/,$(patsubst /%,%,$(kernel-m680x0_TARGETCCFILES)))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/,$(patsubst /%,%,$(kernel-m680x0_TARGETCCFILES)))) +endif +endif +kernel-m680x0_MC_TGTWILDCARD := $(kernel-m680x0_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : | $(addsuffix .c,$(kernel-m680x0_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-m680x0_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-m680x0_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-m680x0_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-m680x0_MC_DIRS := $(foreach dir, $(kernel-m680x0_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-m680x0_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-m680x0_MC_DIRS),) + kernel-m680x0_MC_DIRS := $(shell echo $(kernel-m680x0_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-m680x0_MC_DIRS) +endif + +endif + +kernel-m680x0_MC_CPPFLAGS := $(kernel-m680x0_CPPFLAGS) -D__AROS__ +kernel-m680x0_CFLAGS := $(kernel-m680x0_CFLAGS) +ifeq ($(kernel-m680x0_DFLAGS),) + kernel-m680x0_DFLAGS := $(kernel-m680x0_CFLAGS) +else + kernel-m680x0_DFLAGS := $(kernel-m680x0_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-m680x0_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-m680x0_STRIP ?= $(TARGET_STRIP) +kernel-m680x0_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(kernel-m680x0_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(kernel-m680x0_DFLAGS) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-m680x0_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-m680x0_STRIP ?= $(HOST_STRIP) +kernel-m680x0_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_DFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(HOST_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-m680x0_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-m680x0_STRIP ?= $(ECHO) >/dev/null +kernel-m680x0_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_DFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-m680x0_MC_TARGETS) : CPPFLAGS := $(kernel-m680x0_MC_CPPFLAGS) +$(kernel-m680x0_MC_TARGETS) : CFLAGS := $(kernel-m680x0_CFLAGS) +$(kernel-m680x0_MC_TARGETS) : $(kernel-m680x0_MC_TGTWILDCARD).o : $(kernel-m680x0_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-m680x0_MC_DTARGETS) : $(kernel-m680x0_MC_TGTWILDCARD).d : $(kernel-m680x0_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-m680x0_DFLAGS) $(kernel-m680x0_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-m680x0_MC_SRCWILDCARD := % +else +kernel-m680x0_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-m680x0_OBJDIR)/linklib,) +kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(kernel-m680x0_NLIBARCHFILES)) +kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(kernel-m680x0_NLIBARCHFILES)) +kernel-m680x0_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(notdir $(kernel-m680x0_NLIBARCHFILES)))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(notdir $(kernel-m680x0_NLIBARCHFILES)))) +else +ifeq (,) + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(kernel-m680x0_NLIBARCHFILES))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(kernel-m680x0_NLIBARCHFILES))) +else + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-m680x0_NLIBARCHFILES)))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-m680x0_NLIBARCHFILES)))) +endif +endif +kernel-m680x0_MC_TGTWILDCARD := $(kernel-m680x0_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : | $(addsuffix .c,$(kernel-m680x0_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-m680x0_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-m680x0_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-m680x0_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-m680x0_MC_DIRS := $(foreach dir, $(kernel-m680x0_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-m680x0_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-m680x0_MC_DIRS),) + kernel-m680x0_MC_DIRS := $(shell echo $(kernel-m680x0_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-m680x0_MC_DIRS) +endif + +endif + +kernel-m680x0_MC_CPPFLAGS := $(kernel-m680x0_LINKLIBCPPFLAGS) -D__AROS__ +kernel-m680x0_CFLAGS := $(kernel-m680x0_LINKLIBCFLAGS) +ifeq ($(kernel-m680x0_LINKLIBDFLAGS),) + kernel-m680x0_DFLAGS := $(kernel-m680x0_LINKLIBCFLAGS) +else + kernel-m680x0_DFLAGS := $(kernel-m680x0_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-m680x0_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-m680x0_STRIP ?= $(TARGET_STRIP) +kernel-m680x0_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(kernel-m680x0_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(kernel-m680x0_DFLAGS) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-m680x0_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-m680x0_STRIP ?= $(HOST_STRIP) +kernel-m680x0_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_DFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(HOST_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-m680x0_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-m680x0_STRIP ?= $(ECHO) >/dev/null +kernel-m680x0_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_DFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-m680x0_MC_TARGETS) : CPPFLAGS := $(kernel-m680x0_MC_CPPFLAGS) +$(kernel-m680x0_MC_TARGETS) : CFLAGS := $(kernel-m680x0_CFLAGS) +$(kernel-m680x0_MC_TARGETS) : $(kernel-m680x0_MC_TGTWILDCARD).o : $(kernel-m680x0_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-m680x0_MC_DTARGETS) : $(kernel-m680x0_MC_TGTWILDCARD).d : $(kernel-m680x0_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-m680x0_DFLAGS) $(kernel-m680x0_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-m680x0_OBJDIR)/linklib,) +kernel-m680x0_MC_SRCWILDCARD := % +else +kernel-m680x0_MC_SRCWILDCARD := $(kernel-m680x0_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-m680x0_OBJDIR)/linklib,) +kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(kernel-m680x0_LINKLIBCCGENFILES)) +kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(kernel-m680x0_LINKLIBCCGENFILES)) +kernel-m680x0_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(notdir $(kernel-m680x0_LINKLIBCCGENFILES)))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(notdir $(kernel-m680x0_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-m680x0_OBJDIR)/linklib,) + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(kernel-m680x0_LINKLIBCCGENFILES))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(kernel-m680x0_LINKLIBCCGENFILES))) +else + kernel-m680x0_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(patsubst $(kernel-m680x0_OBJDIR)/linklib/%,%,$(kernel-m680x0_LINKLIBCCGENFILES)))) + kernel-m680x0_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(patsubst $(kernel-m680x0_OBJDIR)/linklib/%,%,$(kernel-m680x0_LINKLIBCCGENFILES)))) +endif +endif +kernel-m680x0_MC_TGTWILDCARD := $(kernel-m680x0_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : | $(addsuffix .c,$(kernel-m680x0_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-m680x0_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-m680x0_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-m680x0_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-m680x0_MC_DIRS := $(foreach dir, $(kernel-m680x0_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-m680x0_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-m680x0_MC_DIRS),) + kernel-m680x0_MC_DIRS := $(shell echo $(kernel-m680x0_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-m680x0_MC_DIRS) +endif + +endif + +kernel-m680x0_MC_CPPFLAGS := $(kernel-m680x0_LINKLIBCPPFLAGS) -D__AROS__ +kernel-m680x0_CFLAGS := $(kernel-m680x0_LINKLIBCFLAGS) +ifeq ($(kernel-m680x0_LINKLIBDFLAGS),) + kernel-m680x0_DFLAGS := $(kernel-m680x0_LINKLIBCFLAGS) +else + kernel-m680x0_DFLAGS := $(kernel-m680x0_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-m680x0_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-m680x0_STRIP ?= $(TARGET_STRIP) +kernel-m680x0_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(kernel-m680x0_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(kernel-m680x0_DFLAGS) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-m680x0_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-m680x0_STRIP ?= $(HOST_STRIP) +kernel-m680x0_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-m680x0_DFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(HOST_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-m680x0_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-m680x0_STRIP ?= $(ECHO) >/dev/null +kernel-m680x0_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-m680x0_MC_CPPFLAGS) $(kernel-m680x0_MC_EXTRA_CPPFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_CFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-m680x0_DFLAGS)) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-m680x0_MC_TARGETS) $(kernel-m680x0_MC_DTARGETS) : kernel-m680x0_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-m680x0_MC_TARGETS) : CPPFLAGS := $(kernel-m680x0_MC_CPPFLAGS) +$(kernel-m680x0_MC_TARGETS) : CFLAGS := $(kernel-m680x0_CFLAGS) +$(kernel-m680x0_MC_TARGETS) : $(kernel-m680x0_MC_TGTWILDCARD).o : $(kernel-m680x0_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-m680x0_IQUOTE) $(dir $<) $(kernel-m680x0_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-m680x0_IQUOTE) . $(kernel-m680x0_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-m680x0_MC_DTARGETS) : $(kernel-m680x0_MC_TGTWILDCARD).d : $(kernel-m680x0_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-m680x0_DFLAGS) $(kernel-m680x0_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-m680x0_LINKLIBAFILES),) + +ifeq ($(kernel-m680x0_OBJDIR)/linklib,) +kernel-m680x0-MA_TARGETS := $(addsuffix .o,$(kernel-m680x0_LINKLIBAFILES) $(kernel-m680x0_RELLINKLIBAFILES)) +kernel-m680x0-MA_WILDCARD := % +else +kernel-m680x0-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(notdir $(kernel-m680x0_LINKLIBAFILES) $(kernel-m680x0_RELLINKLIBAFILES)))) +kernel-m680x0-MA_WILDCARD := $(kernel-m680x0_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-m680x0-MA_TARGETS) : | $(addsuffix .S,$(kernel-m680x0_LINKLIBAFILES) $(kernel-m680x0_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-m680x0-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-m680x0-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-m680x0_LINKLIBAFILES) $(kernel-m680x0_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-m680x0-MA_DIRS := $(foreach dir, $(kernel-m680x0-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-m680x0-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-m680x0-MA_DIRS),) + kernel-m680x0-MA_DIRS := $(shell echo $(kernel-m680x0-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-m680x0-MA_DIRS) +endif + +endif + +kernel-m680x0-MA_ASSEMBLER ?= $(kernel-m680x0_ASSEMBLER) + +$(kernel-m680x0-MA_TARGETS) : kernel-m680x0-MA_CMD:= $(kernel-m680x0-MA_ASSEMBLER) + +$(kernel-m680x0-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-m680x0-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-m680x0-MA_TARGETS) : $(kernel-m680x0-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-m680x0-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-m680x0-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-m680x0-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-m680x0_SUFFIX := library +else +kernel-m680x0_SUFFIX := +endif + +ifeq (target,target) +kernel-m680x0_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-m680x0_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-m680x0_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-m680x0_SUFFIX),handler) +kernel-m680x0_MODULE := $(AROSDIR)/$(kernel-m680x0_MODDIR)/$(kernel-m680x0_DEFNAME)-$(kernel-m680x0_SUFFIX) +else +kernel-m680x0_MODULE := $(AROSDIR)/$(kernel-m680x0_MODDIR)/$(kernel-m680x0_DEFNAME).$(kernel-m680x0_SUFFIX) +endif +kernel-m680x0_KOBJ := $(KOBJSDIR)/$(kernel-m680x0_DEFNAME)_$(kernel-m680x0_SUFFIX).o +else +kernel-m680x0_MODULE := +kernel-m680x0_KOBJ := +endif + +kernel-m680x0-quick : kernel-m680x0 +kernel-m680x0 : $(kernel-m680x0_MODULE) $(kernel-m680x0_LINKLIB) $(kernel-m680x0_RELLINKLIB) +ifeq (M,M) +kernel-m680x0-kobj : $(kernel-m680x0_KOBJ) $(kernel-m680x0_LINKLIB) $(kernel-m680x0_RELLINKLIB) +kernel-m680x0-kobj-quick : $(kernel-m680x0_KOBJ) $(kernel-m680x0_LINKLIB) $(kernel-m680x0_RELLINKLIB) +endif +ifeq (M,M) +kernel-m680x0-linklib : $(kernel-m680x0_LINKLIB) $(kernel-m680x0_RELLINKLIB) +endif + +kernel-m680x0_OBJS := $(addsuffix .o,$(kernel-m680x0_STARTFILES)) $(kernel-m680x0_ARCHOBJS) \ + $(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(kernel-m680x0_C_NARCHFILES:=.o) $(kernel-m680x0_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +kernel-m680x0_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (680x0,con) + kernel-m680x0_ERR := $(notdir $(kernel-m680x0_MODULE)).err +else + kernel-m680x0_ERR := 680x0.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-m680x0_DEFNAME)_LDFLAGS) $(kernel-m680x0_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-m680x0_LIBS) $($(kernel-m680x0_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-m680x0_MODULE) : LIB_NAMES := $(kernel-m680x0_LIBS) $($(kernel-m680x0_DEFNAME)_LIBS) +$(kernel-m680x0_MODULE) : OBJS := $(kernel-m680x0_STARTOBJS) $(kernel-m680x0_OBJS) $(USER_OBJS) +$(kernel-m680x0_MODULE) : ENDTAG := $(kernel-m680x0_ENDOBJS) +$(kernel-m680x0_MODULE) : ERR := $(kernel-m680x0_ERR) +$(kernel-m680x0_MODULE) : OBJDIR := $(kernel-m680x0_OBJDIR) +$(kernel-m680x0_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-m680x0_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-m680x0_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-m680x0_MODULE) : $(kernel-m680x0_STARTOBJS) $(kernel-m680x0_OBJS) $(USER_OBJS) $(kernel-m680x0_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-m680x0_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-m680x0_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-m680x0_LC_LINKLIBNAME := $(shell echo $(kernel-m680x0_LINKLIBNAME) | tr A-Z a-z) +kernel-m680x0_LC_MODNAME := $(shell echo 680x0 | tr A-Z a-z) +ifneq ($(kernel-m680x0_LINKLIB),) + +ifeq (target,target) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(HOST_AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(KERNEL_AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)$(kernel-m680x0_LIBSUFFIX).a : $(kernel-m680x0_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-m680x0_AR) $@ $^ + $(Q)$(kernel-m680x0_RANLIB) $@ +ifneq ($(kernel-m680x0_LC_MODNAME),$(kernel-m680x0_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-m680x0_LIBDIR)/lib680x0$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(AR) +$(kernel-m680x0_LIBDIR)/lib680x0$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-m680x0_LIBDIR)/lib680x0$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(HOST_AR) +$(kernel-m680x0_LIBDIR)/lib680x0$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-m680x0_LIBDIR)/lib680x0$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(KERNEL_AR) +$(kernel-m680x0_LIBDIR)/lib680x0$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-m680x0_LIBDIR)/lib680x0$(kernel-m680x0_LIBSUFFIX).a : $(kernel-m680x0_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-m680x0_AR) $@ $^ + $(Q)$(kernel-m680x0_RANLIB) $@ +endif + + +ifneq ($(kernel-m680x0_LINKLIB),) +$(kernel-m680x0_LINKLIB) : | $(kernel-m680x0_LIBDIR) +else +$(kernel-m680x0_LINKLIB) :: $(kernel-m680x0_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-m680x0_LIBDIR) + +endif + +ifneq ($(kernel-m680x0_RELLINKLIB),) + +ifeq (target,target) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(HOST_AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(KERNEL_AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_LINKLIBNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : $(kernel-m680x0_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-m680x0_AR) $@ $^ + $(Q)$(kernel-m680x0_RANLIB) $@ +ifneq ($(kernel-m680x0_LC_MODNAME),$(kernel-m680x0_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_DEFNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_DEFNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_DEFNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(HOST_AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_DEFNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_DEFNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_AR:=$(KERNEL_AR) +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_DEFNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : kernel-m680x0_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-m680x0_LIBDIR)/lib$(kernel-m680x0_DEFNAME)_rel$(kernel-m680x0_LIBSUFFIX).a : $(kernel-m680x0_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-m680x0_AR) $@ $^ + $(Q)$(kernel-m680x0_RANLIB) $@ +endif + + +ifneq ($(kernel-m680x0_RELLINKLIB),) +$(kernel-m680x0_RELLINKLIB) : | $(kernel-m680x0_LIBDIR) +else +$(kernel-m680x0_RELLINKLIB) :: $(kernel-m680x0_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-m680x0_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-m680x0_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-m680x0_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-m680x0_SYMBOLS := $(kernel-m680x0_KBASE) + +kernel-m680x0_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-m680x0_KOBJ_LIBS := $(filter-out $(kernel-m680x0_KLIB),$(kernel-m680x0_LIBS)) $(kernel-m680x0_KAUTOLIB) +$(kernel-m680x0_KOBJ) : LINKLIBS:=$(kernel-m680x0_KOBJ_LIBS) $($(kernel-m680x0_DEFNAME)_LIBS) +$(kernel-m680x0_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-m680x0_SYMBOLS)) +$(kernel-m680x0_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-m680x0_KOBJ) : $(kernel-m680x0_OBJS) $(USER_OBJS) $(kernel-m680x0_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-m680x0_DEPS := $(addprefix $(kernel-m680x0_OBJDIR)/,$(notdir $(kernel-m680x0_CCFILES:=.d) $(kernel-m680x0_TARGETCCFILES:=.d) $(kernel-m680x0_CXXFILES:=.d))) $(addprefix $(kernel-m680x0_OBJDIR)/linklib/,$(notdir $(kernel-m680x0_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-m680x0_DEPS),) + ifneq (kernel-m680x0 kernel-m680x0-quick kernel-m680x0-kobj kernel-m680x0-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-m680x0 kernel-m680x0-quick kernel-m680x0-kobj kernel-m680x0-kobj-quick),) + -include $(kernel-m680x0_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-m680x0_DEPS) + endif + endif +endif + +$(kernel-m680x0_OBJS) $(kernel-m680x0_DEPS) : | $(kernel-m680x0_OBJDIR)/linklib + +ifneq ($(kernel-m680x0_OBJS) $(kernel-m680x0_DEPS) $(kernel-m680x0_MODULE) $(kernel-m680x0_KOBJ),) +$(kernel-m680x0_OBJS) $(kernel-m680x0_DEPS) $(kernel-m680x0_MODULE) $(kernel-m680x0_KOBJ) : | $(kernel-m680x0_OBJDIR) $(AROSDIR)/$(kernel-m680x0_MODDIR) $(KOBJSDIR) +else +$(kernel-m680x0_OBJS) $(kernel-m680x0_DEPS) $(kernel-m680x0_MODULE) $(kernel-m680x0_KOBJ) :: $(kernel-m680x0_OBJDIR) $(AROSDIR)/$(kernel-m680x0_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-m680x0_OBJDIR) $(AROSDIR)/$(kernel-m680x0_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-m680x0 kernel-m680x0-includes kernel-m680x0-quick kernel-m680x0-kobj kernel-m680x0-kobj-quick),) # Only for this target these deps are wanted + +kernel-m680x0_DFILE_DEPS := $(kernel-m680x0_LIBDEFSINC) $(kernel-m680x0_DEFLIBDEFSINC) \ + $(addprefix $(kernel-m680x0_INCDIR)/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) +$(kernel-m680x0_DEPS) : $(kernel-m680x0_DFILE_DEPS) +endif + +kernel-m680x0_TOCLEAN := $(kernel-m680x0_OBJS) $(kernel-m680x0_DEPS) \ + $(kernel-m680x0_MODULE) $(kernel-m680x0_LINKLIB) $(kernel-m680x0_KOBJ) \ + $(kernel-m680x0_OBJDIR)/Makefile.680x0library \ + $(addprefix $(kernel-m680x0_OBJDIR)/include/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-m680x0_INCDIR)/,$($(kernel-m680x0_DEFNAME)_INCLUDES)) \ + $(kernel-m680x0_OBJDIR)/680x0_geninc $(kernel-m680x0_OBJDIR)/680x0_incs \ + $(addsuffix .c,$(kernel-m680x0_LINKLIBFILES)) $(kernel-m680x0_LINKLIBOBJS) $(kernel-m680x0_LIBDEFSINC) \ + $(kernel-m680x0_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-m680x0_STARTFILES) $(kernel-m680x0_ENDFILES)) \ + $(kernel-m680x0_ENDOBJS) +kernel-m680x0-clean : FILES := $(kernel-m680x0_TOCLEAN) +kernel-m680x0-clean :: + $(Q)$(ECHO) "Cleaning up for module 680x0" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-m680x0_ALLTARGETS) + + + +ifeq ( $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-m680x0-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-m680x0 : \ +#MM kernel-m680x0-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-m680x0-$(ARCH)-$(CPU) \ +#MM kernel-m680x0-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-m680x0-$(ARCH) \ +#MM kernel-m680x0-$(FAMILY) \ +#MM kernel-m680x0-$(CPU) +#MM- kernel-m680x0-linklib : \ +#MM kernel-m680x0-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-m680x0-$(ARCH)-$(CPU) \ +#MM kernel-m680x0-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-m680x0-$(ARCH) \ +#MM kernel-m680x0-$(FAMILY) \ +#MM kernel-m680x0-$(CPU) +#MM- kernel-m680x0-kobj : \ +#MM kernel-m680x0-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-m680x0-$(ARCH)-$(CPU) \ +#MM kernel-m680x0-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-m680x0-$(ARCH) \ +#MM kernel-m680x0-$(FAMILY) \ +#MM kernel-m680x0-$(CPU) +#MM- kernel-m680x0-kobj-quick : \ +#MM kernel-m680x0-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-m680x0-$(ARCH)-$(CPU)-quick \ +#MM kernel-m680x0-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-m680x0-$(ARCH)-quick \ +#MM kernel-m680x0-$(FAMILY)-quick \ +#MM kernel-m680x0-$(CPU)-quick +#MM- kernel-m680x0-quick : \ +#MM kernel-m680x0-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-m680x0-$(ARCH)-$(CPU)-quick \ +#MM kernel-m680x0-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-m680x0-$(ARCH)-quick \ +#MM kernel-m680x0-$(FAMILY)-quick \ +#MM kernel-m680x0-$(CPU)-quick + +#MM kernel-m680x0-m68k : kernel-m680x0-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (680x0,) + BD_OBJROOT$(BDID) := $(GENDIR)/arch/m68k-all/m680x0/680x0 +else + BD_OBJROOT$(BDID) := $(GENDIR)/arch/m68k-all/m680x0 +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (680x0,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/680x0_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-m680x0-m68k-quick) + BD_TARGET := kernel-m680x0-m68k-quick +else + BD_TARGET := kernel-m680x0-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-m680x0-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-m680x0-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (680x0,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/mathffp/mmakefile b/arch/m68k-all/mathffp/mmakefile new file mode 100644 index 00000000000..b401bbc09ee --- /dev/null +++ b/arch/m68k-all/mathffp/mmakefile @@ -0,0 +1,262 @@ +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + +FILES := +AFILES := spcmp sptst + +USER_AFLAGS := -I$(GENINCDIR) +USER_CPPFLAGS := -DDoRegisterCalls +TARGET_ISA_AFLAGS:=$(ISA_MC68020_FLAGS) + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),workbench-libs-mathffp-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- workbench-libs-mathffp : \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathffp-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathffp-$(ARCH) \ +#MM workbench-libs-mathffp-$(FAMILY) \ +#MM workbench-libs-mathffp-$(CPU) +#MM- workbench-libs-mathffp-linklib : \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathffp-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathffp-$(ARCH) \ +#MM workbench-libs-mathffp-$(FAMILY) \ +#MM workbench-libs-mathffp-$(CPU) +#MM- workbench-libs-mathffp-kobj : \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathffp-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathffp-$(ARCH) \ +#MM workbench-libs-mathffp-$(FAMILY) \ +#MM workbench-libs-mathffp-$(CPU) +#MM- workbench-libs-mathffp-kobj-quick : \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathffp-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathffp-$(ARCH)-quick \ +#MM workbench-libs-mathffp-$(FAMILY)-quick \ +#MM workbench-libs-mathffp-$(CPU)-quick +#MM- workbench-libs-mathffp-quick : \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathffp-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathffp-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathffp-$(ARCH)-quick \ +#MM workbench-libs-mathffp-$(FAMILY)-quick \ +#MM workbench-libs-mathffp-$(CPU)-quick + +#MM workbench-libs-mathffp-m68k : workbench-libs-mathffp-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (mathffp,) + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathffp/mathffp +else + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathffp +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (mathffp,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/mathffp_deflibdefs.h +endif + +ifeq ($(TARGET),workbench-libs-mathffp-m68k-quick) + BD_TARGET := workbench-libs-mathffp-m68k-quick +else + BD_TARGET := workbench-libs-mathffp-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +workbench-libs-mathffp-m68k :: $(BD_OBJS$(BDID)) + +#MM +workbench-libs-mathffp-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring kernel,host kernel target),) + $(error unknown compiler kernel) +endif + +ifneq (mathffp,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (kernel,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (kernel,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (kernel,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/mathieeedoubbas/mmakefile b/arch/m68k-all/mathieeedoubbas/mmakefile new file mode 100644 index 00000000000..9d0c35dd606 --- /dev/null +++ b/arch/m68k-all/mathieeedoubbas/mmakefile @@ -0,0 +1,262 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := ieeedpbas_fpu mathieeedoubbas_init +AFILES := fpu + +USER_INCLUDES := -I$(SRCDIR)/workbench/libs/mathieeedoubbas +USER_AFLAGS := -I$(GENINCDIR) +TARGET_ISA_AFLAGS:=$(ISA_MC68040_FLAGS) + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),workbench-libs-mathieeedoubbas-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- workbench-libs-mathieeedoubbas : \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH) \ +#MM workbench-libs-mathieeedoubbas-$(FAMILY) \ +#MM workbench-libs-mathieeedoubbas-$(CPU) +#MM- workbench-libs-mathieeedoubbas-linklib : \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH) \ +#MM workbench-libs-mathieeedoubbas-$(FAMILY) \ +#MM workbench-libs-mathieeedoubbas-$(CPU) +#MM- workbench-libs-mathieeedoubbas-kobj : \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubbas-$(ARCH) \ +#MM workbench-libs-mathieeedoubbas-$(FAMILY) \ +#MM workbench-libs-mathieeedoubbas-$(CPU) +#MM- workbench-libs-mathieeedoubbas-kobj-quick : \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-quick \ +#MM workbench-libs-mathieeedoubbas-$(FAMILY)-quick \ +#MM workbench-libs-mathieeedoubbas-$(CPU)-quick +#MM- workbench-libs-mathieeedoubbas-quick : \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeedoubbas-$(ARCH)-quick \ +#MM workbench-libs-mathieeedoubbas-$(FAMILY)-quick \ +#MM workbench-libs-mathieeedoubbas-$(CPU)-quick + +#MM workbench-libs-mathieeedoubbas-m68k : workbench-libs-mathieeedoubbas-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (mathieeedoubbas,) + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathieeedoubbas/mathieeedoubbas +else + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathieeedoubbas +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (mathieeedoubbas,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/mathieeedoubbas_deflibdefs.h +endif + +ifeq ($(TARGET),workbench-libs-mathieeedoubbas-m68k-quick) + BD_TARGET := workbench-libs-mathieeedoubbas-m68k-quick +else + BD_TARGET := workbench-libs-mathieeedoubbas-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +workbench-libs-mathieeedoubbas-m68k :: $(BD_OBJS$(BDID)) + +#MM +workbench-libs-mathieeedoubbas-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (mathieeedoubbas,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/mathieeedoubtrans/mmakefile b/arch/m68k-all/mathieeedoubtrans/mmakefile new file mode 100644 index 00000000000..59256660c8a --- /dev/null +++ b/arch/m68k-all/mathieeedoubtrans/mmakefile @@ -0,0 +1,262 @@ +# $Id: mmakefile.src$ + +include $(SRCDIR)/config/aros.cfg + +FILES := ieeedptrans_fpu mathieeedoubtrans_init +AFILES := fpu + +USER_INCLUDES := -I$(SRCDIR)/workbench/libs/mathieeedoubtrans +USER_AFLAGS := -I$(GENINCDIR) +TARGET_ISA_AFLAGS:=$(ISA_MC68040_FLAGS) + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),workbench-libs-mathieeedoubtrans-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- workbench-libs-mathieeedoubtrans : \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH) \ +#MM workbench-libs-mathieeedoubtrans-$(FAMILY) \ +#MM workbench-libs-mathieeedoubtrans-$(CPU) +#MM- workbench-libs-mathieeedoubtrans-linklib : \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH) \ +#MM workbench-libs-mathieeedoubtrans-$(FAMILY) \ +#MM workbench-libs-mathieeedoubtrans-$(CPU) +#MM- workbench-libs-mathieeedoubtrans-kobj : \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH) \ +#MM workbench-libs-mathieeedoubtrans-$(FAMILY) \ +#MM workbench-libs-mathieeedoubtrans-$(CPU) +#MM- workbench-libs-mathieeedoubtrans-kobj-quick : \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(FAMILY)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(CPU)-quick +#MM- workbench-libs-mathieeedoubtrans-quick : \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(ARCH)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(FAMILY)-quick \ +#MM workbench-libs-mathieeedoubtrans-$(CPU)-quick + +#MM workbench-libs-mathieeedoubtrans-m68k : workbench-libs-mathieeedoubtrans-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (mathieeedoubtrans,) + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathieeedoubtrans/mathieeedoubtrans +else + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathieeedoubtrans +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (mathieeedoubtrans,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/mathieeedoubtrans_deflibdefs.h +endif + +ifeq ($(TARGET),workbench-libs-mathieeedoubtrans-m68k-quick) + BD_TARGET := workbench-libs-mathieeedoubtrans-m68k-quick +else + BD_TARGET := workbench-libs-mathieeedoubtrans-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +workbench-libs-mathieeedoubtrans-m68k :: $(BD_OBJS$(BDID)) + +#MM +workbench-libs-mathieeedoubtrans-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (mathieeedoubtrans,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/mathieeesingbas/mmakefile b/arch/m68k-all/mathieeesingbas/mmakefile new file mode 100644 index 00000000000..9008fc4d813 --- /dev/null +++ b/arch/m68k-all/mathieeesingbas/mmakefile @@ -0,0 +1,262 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := mathieeesingbas_init +AFILES := fpu + +USER_INCLUDES := -I$(SRCDIR)/workbench/libs/mathieeesingbas +USER_AFLAGS := -I$(GENINCDIR) +TARGET_ISA_AFLAGS:=$(ISA_MC68040_FLAGS) + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),workbench-libs-mathieeesingbas-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- workbench-libs-mathieeesingbas : \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingbas-$(ARCH) \ +#MM workbench-libs-mathieeesingbas-$(FAMILY) \ +#MM workbench-libs-mathieeesingbas-$(CPU) +#MM- workbench-libs-mathieeesingbas-linklib : \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingbas-$(ARCH) \ +#MM workbench-libs-mathieeesingbas-$(FAMILY) \ +#MM workbench-libs-mathieeesingbas-$(CPU) +#MM- workbench-libs-mathieeesingbas-kobj : \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingbas-$(ARCH) \ +#MM workbench-libs-mathieeesingbas-$(FAMILY) \ +#MM workbench-libs-mathieeesingbas-$(CPU) +#MM- workbench-libs-mathieeesingbas-kobj-quick : \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-quick \ +#MM workbench-libs-mathieeesingbas-$(FAMILY)-quick \ +#MM workbench-libs-mathieeesingbas-$(CPU)-quick +#MM- workbench-libs-mathieeesingbas-quick : \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeesingbas-$(ARCH)-quick \ +#MM workbench-libs-mathieeesingbas-$(FAMILY)-quick \ +#MM workbench-libs-mathieeesingbas-$(CPU)-quick + +#MM workbench-libs-mathieeesingbas-m68k : workbench-libs-mathieeesingbas-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (mathieeesingbas,) + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathieeesingbas/mathieeesingbas +else + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathieeesingbas +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (mathieeesingbas,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/mathieeesingbas_deflibdefs.h +endif + +ifeq ($(TARGET),workbench-libs-mathieeesingbas-m68k-quick) + BD_TARGET := workbench-libs-mathieeesingbas-m68k-quick +else + BD_TARGET := workbench-libs-mathieeesingbas-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +workbench-libs-mathieeesingbas-m68k :: $(BD_OBJS$(BDID)) + +#MM +workbench-libs-mathieeesingbas-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (mathieeesingbas,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/mathieeesingtrans/mmakefile b/arch/m68k-all/mathieeesingtrans/mmakefile new file mode 100644 index 00000000000..22952b5d87d --- /dev/null +++ b/arch/m68k-all/mathieeesingtrans/mmakefile @@ -0,0 +1,263 @@ +# $Id: mmakefile.src$ + +include $(SRCDIR)/config/aros.cfg + +FILES := mathieeesingtrans_init +AFILES := fpu + +USER_INCLUDES := -I$(SRCDIR)/workbench/libs/mathieeesingtrans +USER_AFLAGS := -I$(GENINCDIR) +TARGET_ISA_AFLAGS:=$(ISA_MC68040_FLAGS) + + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),workbench-libs-mathieeesingtrans-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- workbench-libs-mathieeesingtrans : \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH) \ +#MM workbench-libs-mathieeesingtrans-$(FAMILY) \ +#MM workbench-libs-mathieeesingtrans-$(CPU) +#MM- workbench-libs-mathieeesingtrans-linklib : \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH) \ +#MM workbench-libs-mathieeesingtrans-$(FAMILY) \ +#MM workbench-libs-mathieeesingtrans-$(CPU) +#MM- workbench-libs-mathieeesingtrans-kobj : \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-mathieeesingtrans-$(ARCH) \ +#MM workbench-libs-mathieeesingtrans-$(FAMILY) \ +#MM workbench-libs-mathieeesingtrans-$(CPU) +#MM- workbench-libs-mathieeesingtrans-kobj-quick : \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-quick \ +#MM workbench-libs-mathieeesingtrans-$(FAMILY)-quick \ +#MM workbench-libs-mathieeesingtrans-$(CPU)-quick +#MM- workbench-libs-mathieeesingtrans-quick : \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-mathieeesingtrans-$(ARCH)-quick \ +#MM workbench-libs-mathieeesingtrans-$(FAMILY)-quick \ +#MM workbench-libs-mathieeesingtrans-$(CPU)-quick + +#MM workbench-libs-mathieeesingtrans-m68k : workbench-libs-mathieeesingtrans-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (mathieeesingtrans,) + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathieeesingtrans/mathieeesingtrans +else + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/mathieeesingtrans +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (mathieeesingtrans,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/mathieeesingtrans_deflibdefs.h +endif + +ifeq ($(TARGET),workbench-libs-mathieeesingtrans-m68k-quick) + BD_TARGET := workbench-libs-mathieeesingtrans-m68k-quick +else + BD_TARGET := workbench-libs-mathieeesingtrans-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +workbench-libs-mathieeesingtrans-m68k :: $(BD_OBJS$(BDID)) + +#MM +workbench-libs-mathieeesingtrans-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (mathieeesingtrans,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/mmakefile b/arch/m68k-all/mmakefile new file mode 100644 index 00000000000..aafed90ab16 --- /dev/null +++ b/arch/m68k-all/mmakefile @@ -0,0 +1,86 @@ +include $(SRCDIR)/config/aros.cfg + +# 'fs' package includes necessary filesystems and partition. +# These include filesystems and dos starter + +#MM- kernel-fs-core: \ +#MM kernel-fs-afs \ +#MM kernel-fs-cdvdfs \ +#MM kernel-partition + +#MM- kernel-fs-core-kobj: \ +#MM kernel-fs-afs-kobj \ +#MM kernel-fs-cdvdfs-kobj \ +#MM kernel-partition-kobj + +#MM- kernel-fs-xtra: \ +#MM kernel-fs-sfs \ +#MM kernel-fs-fat + +#MM kernel-package-fs: \ +#MM kernel-fs-xtra \ +#MM kernel-fs-core + +FS_LIBS := partition +FS_CORE_HANDLERS := afs cdrom +FS_XTRA_HANDLERS := sfs fat + + +PKG_CLASSES := $(addprefix $(AROS_CLASSES)/,$(addsuffix .class, )) +PKG_DEVICES := $(addprefix $(AROS_DEVS)/,$(addsuffix .device, )) +PKG_HANDLERS := $(addprefix $(AROS_FS)/,$(addsuffix -handler, $(FS_CORE_HANDLERS) $(FS_XTRA_HANDLERS))) +PKG_HIDD := $(addprefix $(AROS_DEVS)/Drivers/,$(addsuffix .hidd, )) +PKG_LIBS := $(addprefix $(AROS_LIBRARIES)/,$(addsuffix .library, $(FS_LIBS))) +PKG_RESOURCES := $(addprefix $(AROS_DEVS)/,$(addsuffix .resource, )) + +PKG_CLASSES_ARCH := $(addprefix $(AROS_CLASSES_ARCH)/,$(addsuffix .class, )) +PKG_DEVICES_ARCH := $(addprefix $(AROS_DEVS_ARCH)/,$(addsuffix .device, )) +PKG_HANDLERS_ARCH := $(addprefix $(AROS_FS_ARCH)/,$(addsuffix -handler, )) +PKG_HIDD_ARCH := $(addprefix $(AROS_DEVS_ARCH)/Drivers/,$(addsuffix .hidd, )) +PKG_LIBRARIES_ARCH := $(addprefix $(AROS_LIBRARIES_ARCH)/,$(addsuffix .library, )) +PKG_RESOURCES_ARCH := $(addprefix $(AROS_DEVS_ARCH)/,$(addsuffix .resource, )) + +PKG_FILES := $(PKG_CLASSES) $(PKG_DEVICES) $(PKG_HANDLERS) $(PKG_HIDD) $(PKG_LIBS) $(PKG_RESOURCES) \ + $(PKG_CLASSES_ARCH) $(PKG_DEVICES_ARCH) $(PKG_HANDLERS_ARCH) $(PKG_HIDD_ARCH) $(PKG_LIBRARIES_ARCH) $(PKG_RESOURCES_ARCH) +PKG_DIR := $(dir $(AROS_BOOT)/aros-fs.pkg) + +#MM +kernel-package-fs : $(AROS_BOOT)/aros-fs.pkg + +#MM +kernel-package-fs-quick : $(AROS_BOOT)/aros-fs.pkg + +$(AROS_BOOT)/aros-fs.pkg: $(PKG_FILES) | $(PKG_DIR) + $(Q)$(ECHO) Packaging $@... + $(Q)$(SRCDIR)/tools/package/pkg c $@ $^ + + +#MM- kernel-package-fs-gz : kernel-package-fs kernel-package-fs-gz-quick + +#MM +kernel-package-fs-gz-quick : $(AROS_BOOT)/aros-fs.pkg.gz + +$(AROS_BOOT)/aros-fs.pkg.gz: $(AROS_BOOT)/aros-fs.pkg + $(Q)$(ECHO) Compressing $(subst $(TARGETDIR)/,,$^)... + $(Q)gzip -9 -f $^ + + + +ifneq (setup,) +setup : | $(PKG_DIR) +else +setup :: $(PKG_DIR) +endif + +GLOB_MKDIRS += $(PKG_DIR) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/posixc/mmakefile b/arch/m68k-all/posixc/mmakefile new file mode 100644 index 00000000000..a56d37f8552 --- /dev/null +++ b/arch/m68k-all/posixc/mmakefile @@ -0,0 +1,261 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_AFLAGS := -I$(GENINCDIR) +USER_CPPFLAGS := -DDEBUG=0 + +#MM- compiler-posixc-m68k : includes-asm_h-m68k + + +ifeq ( siglongjmp sigsetjmp vfork vfork_longjmp,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),compiler-posixc-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- compiler-posixc : \ +#MM compiler-posixc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM compiler-posixc-$(ARCH)-$(CPU) \ +#MM compiler-posixc-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM compiler-posixc-$(ARCH) \ +#MM compiler-posixc-$(FAMILY) \ +#MM compiler-posixc-$(CPU) +#MM- compiler-posixc-linklib : \ +#MM compiler-posixc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM compiler-posixc-$(ARCH)-$(CPU) \ +#MM compiler-posixc-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM compiler-posixc-$(ARCH) \ +#MM compiler-posixc-$(FAMILY) \ +#MM compiler-posixc-$(CPU) +#MM- compiler-posixc-kobj : \ +#MM compiler-posixc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM compiler-posixc-$(ARCH)-$(CPU) \ +#MM compiler-posixc-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM compiler-posixc-$(ARCH) \ +#MM compiler-posixc-$(FAMILY) \ +#MM compiler-posixc-$(CPU) +#MM- compiler-posixc-kobj-quick : \ +#MM compiler-posixc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM compiler-posixc-$(ARCH)-$(CPU)-quick \ +#MM compiler-posixc-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM compiler-posixc-$(ARCH)-quick \ +#MM compiler-posixc-$(FAMILY)-quick \ +#MM compiler-posixc-$(CPU)-quick +#MM- compiler-posixc-quick : \ +#MM compiler-posixc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM compiler-posixc-$(ARCH)-$(CPU)-quick \ +#MM compiler-posixc-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM compiler-posixc-$(ARCH)-quick \ +#MM compiler-posixc-$(FAMILY)-quick \ +#MM compiler-posixc-$(CPU)-quick + +#MM compiler-posixc-m68k : compiler-posixc-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (posixc,) + BD_OBJROOT$(BDID) := $(GENDIR)/compiler/posixc/posixc +else + BD_OBJROOT$(BDID) := $(GENDIR)/compiler/posixc +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir siglongjmp sigsetjmp vfork vfork_longjmp))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (posixc,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/posixc_deflibdefs.h +endif + +ifeq ($(TARGET),compiler-posixc-m68k-quick) + BD_TARGET := compiler-posixc-m68k-quick +else + BD_TARGET := compiler-posixc-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir siglongjmp sigsetjmp vfork vfork_longjmp)) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir siglongjmp sigsetjmp vfork vfork_longjmp)) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +compiler-posixc-m68k :: $(BD_OBJS$(BDID)) + +#MM +compiler-posixc-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (posixc,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) + diff --git a/arch/m68k-all/processor/mmakefile b/arch/m68k-all/processor/mmakefile new file mode 100644 index 00000000000..d6458c372c1 --- /dev/null +++ b/arch/m68k-all/processor/mmakefile @@ -0,0 +1,266 @@ +# $Id$ +# + +include $(SRCDIR)/config/aros.cfg + + +FILES := \ + getcpuinfo \ + processor_init \ + +#MM- kernel-processor-m68k : includes + +USER_CPPFLAGS := -D__UTILITY_NOLIBBASE__ +USER_INCLUDES := -I$(SRCDIR)/rom/processor + + +ifeq ($(FILES) ,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-processor-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-processor : \ +#MM kernel-processor-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-processor-$(ARCH)-$(CPU) \ +#MM kernel-processor-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-processor-$(ARCH) \ +#MM kernel-processor-$(FAMILY) \ +#MM kernel-processor-$(CPU) +#MM- kernel-processor-linklib : \ +#MM kernel-processor-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-processor-$(ARCH)-$(CPU) \ +#MM kernel-processor-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-processor-$(ARCH) \ +#MM kernel-processor-$(FAMILY) \ +#MM kernel-processor-$(CPU) +#MM- kernel-processor-kobj : \ +#MM kernel-processor-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-processor-$(ARCH)-$(CPU) \ +#MM kernel-processor-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-processor-$(ARCH) \ +#MM kernel-processor-$(FAMILY) \ +#MM kernel-processor-$(CPU) +#MM- kernel-processor-kobj-quick : \ +#MM kernel-processor-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-processor-$(ARCH)-$(CPU)-quick \ +#MM kernel-processor-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-processor-$(ARCH)-quick \ +#MM kernel-processor-$(FAMILY)-quick \ +#MM kernel-processor-$(CPU)-quick +#MM- kernel-processor-quick : \ +#MM kernel-processor-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-processor-$(ARCH)-$(CPU)-quick \ +#MM kernel-processor-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-processor-$(ARCH)-quick \ +#MM kernel-processor-$(FAMILY)-quick \ +#MM kernel-processor-$(CPU)-quick + +#MM kernel-processor-m68k : kernel-processor-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (processor,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/processor/processor +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/processor +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (processor,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/processor_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-processor-m68k-quick) + BD_TARGET := kernel-processor-m68k-quick +else + BD_TARGET := kernel-processor-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-processor-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-processor-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (processor,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/stdc/mmakefile b/arch/m68k-all/stdc/mmakefile new file mode 100644 index 00000000000..4bbe91c9e77 --- /dev/null +++ b/arch/m68k-all/stdc/mmakefile @@ -0,0 +1,936 @@ +# $Id$ +# + +include $(SRCDIR)/config/aros.cfg + +USER_AFLAGS := -I$(GENINCDIR) +USER_CPPFLAGS := -DDEBUG=0 +USER_INCLUDES := -I$(SRCDIR)/compiler/stdc +ISA_FLOAT_FLAGS := +TARGET_ISA_AFLAGS := $(ISA_MC68020_FLAGS) + +STDC_M68K_FILES := \ + fenv + +STDC_M68K_ASMFILES := \ + longjmp \ + setjmp + +# Add FPU based runtime-replacement math functions .. +STDC_M68K_ASMFILES += \ + math/e_acos-881 \ + math/e_asin-881 \ + math/e_atanh-881 \ + math/e_cosh-881 \ + math/e_exp-881 \ + math/e_fmod-881 \ + math/e_hypot-881 \ + math/e_log-881 \ + math/e_log10-881 \ + math/e_log2-881 \ + math/e_remainder-881 \ + math/e_sinh-881 \ + math/e_sqrt-881 \ + math/s_atan-881 \ + math/s_ceil-881 \ + math/s_copysign-881 \ + math/s_cos-881 \ + math/s_exp2-881 \ + math/s_fabs-881 \ + math/s_fdim-881 \ + math/s_floor-881 \ + math/s_fma-881 \ + math/s_fmax-881 \ + math/s_fmin-881 \ + math/s_fpclassify-881 \ + math/s_isfinite-881 \ + math/s_isinf-881 \ + math/s_isnan-881 \ + math/s_isnormal-881 \ + math/s_lround-881 \ + math/s_nearbyint-881 \ + math/s_round-881 \ + math/s_signbit-881 \ + math/s_sin-881 \ + math/s_tan-881 \ + math/s_tanh-881 \ + math/s_trunc-881 + +STDC_M68K_FILES += \ + __stdc_fpumath + + +ifeq ($(STDC_M68K_FILES) $(STDC_M68K_ASMFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),compiler-stdc-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- compiler-stdc : \ +#MM compiler-stdc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM compiler-stdc-$(ARCH)-$(CPU) \ +#MM compiler-stdc-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM compiler-stdc-$(ARCH) \ +#MM compiler-stdc-$(FAMILY) \ +#MM compiler-stdc-$(CPU) +#MM- compiler-stdc-linklib : \ +#MM compiler-stdc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM compiler-stdc-$(ARCH)-$(CPU) \ +#MM compiler-stdc-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM compiler-stdc-$(ARCH) \ +#MM compiler-stdc-$(FAMILY) \ +#MM compiler-stdc-$(CPU) +#MM- compiler-stdc-kobj : \ +#MM compiler-stdc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM compiler-stdc-$(ARCH)-$(CPU) \ +#MM compiler-stdc-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM compiler-stdc-$(ARCH) \ +#MM compiler-stdc-$(FAMILY) \ +#MM compiler-stdc-$(CPU) +#MM- compiler-stdc-kobj-quick : \ +#MM compiler-stdc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM compiler-stdc-$(ARCH)-$(CPU)-quick \ +#MM compiler-stdc-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM compiler-stdc-$(ARCH)-quick \ +#MM compiler-stdc-$(FAMILY)-quick \ +#MM compiler-stdc-$(CPU)-quick +#MM- compiler-stdc-quick : \ +#MM compiler-stdc-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM compiler-stdc-$(ARCH)-$(CPU)-quick \ +#MM compiler-stdc-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM compiler-stdc-$(ARCH)-quick \ +#MM compiler-stdc-$(FAMILY)-quick \ +#MM compiler-stdc-$(CPU)-quick + +#MM compiler-stdc-m68k : compiler-stdc-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (stdc,) + BD_OBJROOT$(BDID) := $(GENDIR)/compiler/stdc/stdc +else + BD_OBJROOT$(BDID) := $(GENDIR)/compiler/stdc +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(STDC_M68K_FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(STDC_M68K_ASMFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(STDC_M68K_FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (stdc,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/stdc_deflibdefs.h +endif + +ifeq ($(TARGET),compiler-stdc-m68k-quick) + BD_TARGET := compiler-stdc-m68k-quick +else + BD_TARGET := compiler-stdc-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(STDC_M68K_FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(STDC_M68K_ASMFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(STDC_M68K_ASMFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +compiler-stdc-m68k :: $(BD_OBJS$(BDID)) + +#MM +compiler-stdc-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (stdc,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +#MM- compiler-stdc-m68k : includes-asm_h-m68k + +# +# +# + +#MM- test-clib-m68k: includes-asm_h-m68k test-clib-m68k-jmptests + +USER_AFLAGS := -I$(GENINCDIR) # -DDEBUG_MAGIC=0x40506070 -DDEBUG=1 +AFILES:=jmptests setjmp longjmp ../posixc/vfork ../posixc/vfork_longjmp + + +.PHONY : test-clib-m68k-jmptests + +test-clib-m68k-jmptests_PROGNAME := jmptests +test-clib-m68k-jmptests_OBJDIR := $(GENDIR)/$(CURDIR) +test-clib-m68k-jmptests_TARGETDIR := $(AROS_TESTS)/clib +test-clib-m68k-jmptests_LINKER := +test-clib-m68k-jmptests_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-clib-m68k-jmptests_LINKER),) + test-clib-m68k-jmptests_LINKER := target +endif + +ifneq ("$(strip $(AFILES))","") + test-clib-m68k-jmptests_FILES := + test-clib-m68k-jmptests_OBJCFILES := + test-clib-m68k-jmptests_ASMFILES := $(AFILES) + test-clib-m68k-jmptests_CXXFILES := +else + test-clib-m68k-jmptests_FILES := $(test-clib-m68k-jmptests_PROGNAME) + test-clib-m68k-jmptests_OBJCFILES := + test-clib-m68k-jmptests_ASMFILES := + test-clib-m68k-jmptests_CXXFILES := +endif + +test-clib-m68k-jmptests_ARCHOBJS := $(wildcard $(test-clib-m68k-jmptests_OBJDIR)/arch/*.o) +test-clib-m68k-jmptests_ARCHFILES := $(basename $(notdir $(test-clib-m68k-jmptests_ARCHOBJS))) +test-clib-m68k-jmptests_C_NARCHFILES := $(filter-out $(test-clib-m68k-jmptests_ARCHFILES),$(test-clib-m68k-jmptests_FILES)) +test-clib-m68k-jmptests_CXX_NARCHFILES := $(filter-out $(test-clib-m68k-jmptests_ARCHFILES),$(test-clib-m68k-jmptests_CXXFILES)) +test-clib-m68k-jmptests_OBJC_NARCHFILES := $(filter-out $(test-clib-m68k-jmptests_ARCHFILES),$(test-clib-m68k-jmptests_OBJCFILES)) + +TMP_FILES := $(test-clib-m68k-jmptests_C_NARCHFILES) $(test-clib-m68k-jmptests_CXX_NARCHFILES) $(test-clib-m68k-jmptests_ASMFILES) $(test-clib-m68k-jmptests_OBJC_NARCHFILES) +test-clib-m68k-jmptests_OBJS := $(addsuffix .o,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-clib-m68k-jmptests_DEPS := $(addsuffix .d,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-clib-m68k-jmptests_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-clib-m68k-jmptests_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-clib-m68k-jmptests_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-clib-m68k-jmptests_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-clib-m68k-jmptests_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-clib-m68k-jmptests_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-m68k-jmptests_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-clib-m68k-jmptests_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-clib-m68k-jmptests_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-clib-m68k-jmptests_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-m68k-jmptests_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-clib-m68k-jmptests_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-clib-m68k-jmptests_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-clib-m68k-jmptests_LDFLAGS := +endif + +test-clib-m68k-jmptests_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-clib-m68k-jmptests_COVERAGE := yes +test-clib-m68k-jmptests_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-clib-m68k-jmptests_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-clib-m68k-jmptests_CFLAGS := $(strip $(test-clib-m68k-jmptests_COVERAGEFLAGS) $(test-clib-m68k-jmptests_CFLAGS)) +test-clib-m68k-jmptests_CXXFLAGS := $(strip $(test-clib-m68k-jmptests_COVERAGEFLAGS) $(test-clib-m68k-jmptests_CXXFLAGS)) +test-clib-m68k-jmptests_LIBS += $(test-clib-m68k-jmptests_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-clib-m68k-jmptests_FUNCINSTR := yes +test-clib-m68k-jmptests_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-clib-m68k-jmptests_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-clib-m68k-jmptests_CFLAGS := $(strip $(test-clib-m68k-jmptests_INSTRFUNCFLAGS) $(test-clib-m68k-jmptests_CFLAGS)) +test-clib-m68k-jmptests_CXXFLAGS := $(strip $(test-clib-m68k-jmptests_INSTRFUNCFLAGS) $(test-clib-m68k-jmptests_CXXFLAGS)) +test-clib-m68k-jmptests_LIBS += $(test-clib-m68k-jmptests_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-clib-m68k-jmptests_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-m68k-jmptests_CFLAGS)) +test-clib-m68k-jmptests_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-m68k-jmptests_CXXFLAGS)) +endif +endif +test-clib-m68k-jmptests_AFLAGS := $(AFLAGS) +ifneq (,) + test-clib-m68k-jmptests_DFLAGS := +else + test-clib-m68k-jmptests_DFLAGS := $(test-clib-m68k-jmptests_CFLAGS) +endif +ifneq (,) + test-clib-m68k-jmptests_DXXFLAGS := +else + test-clib-m68k-jmptests_DXXFLAGS := $(test-clib-m68k-jmptests_CXXFLAGS) +endif +ifeq (target,target) +test-clib-m68k-jmptests_LDFLAGS := $(test-clib-m68k-jmptests_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-clib-m68k-jmptests_LDFLAGS := $(test-clib-m68k-jmptests_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-clib-m68k-jmptests_LDFLAGS := $(test-clib-m68k-jmptests_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-clib-m68k-jmptests_LDFLAGS += -L +endif + +#MM +test-clib-m68k-jmptests-quick : test-clib-m68k-jmptests + +#MM test-clib-m68k-jmptests : includes-generate-deps core-linklibs +test-clib-m68k-jmptests : $(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) + +ifneq ($(filter $(TARGET),test-clib-m68k-jmptests test-clib-m68k-jmptests-quick test-clib-m68k-jmptests-gz-quick),) + +test-clib-m68k-jmptests_CXXABSBASENAMES := $(foreach test-clib-m68k-jmptests_CXXBASE,$(test-clib-m68k-jmptests_CXX_NARCHFILES),$(if $(filter /%,$(test-clib-m68k-jmptests_CXXBASE)),$(test-clib-m68k-jmptests_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-clib-m68k-jmptests_CXXBASE)))) + +ifneq ($(test-clib-m68k-jmptests_CXXABSBASENAMES),) + +test-clib-m68k-jmptests_CXXBASENAMES := $(basename $(test-clib-m68k-jmptests_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-clib-m68k-jmptests_MCXX_FILES := $(strip $(foreach test-clib-m68k-jmptests_CXXBASE,$(test-clib-m68k-jmptests_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-clib-m68k-jmptests_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-clib-m68k-jmptests_EXT),$(test-clib-m68k-jmptests_CXXBASE))))))) + +ifeq (,) +test-clib-m68k-jmptests_MCXX_SRCWILDCARD := % +else +test-clib-m68k-jmptests_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-m68k-jmptests_OBJDIR),) + test-clib-m68k-jmptests_CXXTARGETS := $(notdir $(test-clib-m68k-jmptests_CXXBASENAMES:=.o)) + test-clib-m68k-jmptests_CXXDTARGETS := $(notdir $(test-clib-m68k-jmptests_CXXBASENAMES:=.d)) + test-clib-m68k-jmptests_MCXX_WILDCARD := % +else + test-clib-m68k-jmptests_CXXTARGETS := $(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(notdir $(test-clib-m68k-jmptests_CXXBASENAMES:=.o))) + test-clib-m68k-jmptests_CXXDTARGETS := $(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(notdir $(test-clib-m68k-jmptests_CXXBASENAMES:=.d))) + test-clib-m68k-jmptests_MCXX_WILDCARD := $(test-clib-m68k-jmptests_OBJDIR)/% + + # Be sure that all source files are generated + $(test-clib-m68k-jmptests_CXXTARGETS) $(test-clib-m68k-jmptests_CXXDTARGETS) : | $(test-clib-m68k-jmptests_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-clib-m68k-jmptests_MCXX_CPPFLAGS := $(test-clib-m68k-jmptests_CPPFLAGS) +test-clib-m68k-jmptests_CXXFLAGS := $(test-clib-m68k-jmptests_CXXFLAGS) +ifeq ($(test-clib-m68k-jmptests_DXXFLAGS),) + test-clib-m68k-jmptests_DXXFLAGS := $(test-clib-m68k-jmptests_CXXFLAGS) +else + test-clib-m68k-jmptests_DXXFLAGS := $(test-clib-m68k-jmptests_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-clib-m68k-jmptests_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-clib-m68k-jmptests_STRIP ?= $(HOST_STRIP) + test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-clib-m68k-jmptests_CXXCMD:=$(HOST_CXX) + test-clib-m68k-jmptests_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-clib-m68k-jmptests_MCXX_CPPFLAGS) $(test-clib-m68k-jmptests_MCXX_EXTRA_CPPFLAGS)) + test-clib-m68k-jmptests_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-m68k-jmptests_CXXFLAGS)) + test-clib-m68k-jmptests_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-m68k-jmptests_DXXFLAGS)) + test-clib-m68k-jmptests_CXXIQUOTE:=$(HOST_IQUOTE) + test-clib-m68k-jmptests_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-clib-m68k-jmptests_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-m68k-jmptests_STRIP ?= $(TARGET_STRIP) + test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-clib-m68k-jmptests_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-clib-m68k-jmptests_MCXX_CPPFLAGS := $(strip $(test-clib-m68k-jmptests_MCXX_CPPFLAGS) $(test-clib-m68k-jmptests_MCXX_EXTRA_CPPFLAGS)) + test-clib-m68k-jmptests_CXXFLAGS := $(strip $(test-clib-m68k-jmptests_CXXFLAGS) $(SAFETY_CFLAGS)) + test-clib-m68k-jmptests_DXXFLAGS := $(test-clib-m68k-jmptests_DXXFLAGS) + test-clib-m68k-jmptests_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-clib-m68k-jmptests_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-clib-m68k-jmptests_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-m68k-jmptests_STRIP ?= $(ECHO) >/dev/null + test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-clib-m68k-jmptests_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-clib-m68k-jmptests_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-clib-m68k-jmptests_MCXX_CPPFLAGS) $(test-clib-m68k-jmptests_MCXX_EXTRA_CPPFLAGS)) + test-clib-m68k-jmptests_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-m68k-jmptests_CXXFLAGS)) + test-clib-m68k-jmptests_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-m68k-jmptests_DXXFLAGS)) + test-clib-m68k-jmptests_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-clib-m68k-jmptests_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-clib-m68k-jmptests_CXXCMD) $(test-clib-m68k-jmptests_CXXIQUOTE) $(dir $(2)) $(test-clib-m68k-jmptests_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_CXXIQUOTE) . $(test-clib-m68k-jmptests_CXXIQUOTE_END) $(strip $(test-clib-m68k-jmptests_CXXFLAGS) $(test-clib-m68k-jmptests_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-clib-m68k-jmptests_CXXCMD) $(test-clib-m68k-jmptests_CXXIQUOTE) $(dir $(2)) $(test-clib-m68k-jmptests_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_CXXIQUOTE) . $(test-clib-m68k-jmptests_CXXIQUOTE_END) $(strip $(test-clib-m68k-jmptests_CXXFLAGS) $(test-clib-m68k-jmptests_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-clib-m68k-jmptests_CXXCMD) $(test-clib-m68k-jmptests_CXXIQUOTE) $(dir $(2)) $(test-clib-m68k-jmptests_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_CXXIQUOTE) . $(test-clib-m68k-jmptests_CXXIQUOTE_END) $(strip $(test-clib-m68k-jmptests_CXXFLAGS) $(test-clib-m68k-jmptests_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-clib-m68k-jmptests_CXXCMD)" $(MKDEPEND) $(strip $(test-clib-m68k-jmptests_DXXFLAGS) $(test-clib-m68k-jmptests_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-clib-m68k-jmptests_OBJDIR),) + $(foreach test-clib-m68k-jmptests_CXXFILE,$(test-clib-m68k-jmptests_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-clib-m68k-jmptests_CXXFILE))),$(test-clib-m68k-jmptests_CXXFILE)))) +else + $(foreach test-clib-m68k-jmptests_CXXFILE,$(test-clib-m68k-jmptests_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(notdir $(basename $(test-clib-m68k-jmptests_CXXFILE)))),$(test-clib-m68k-jmptests_CXXFILE)))) +endif + +endif + + +ifneq ($(test-clib-m68k-jmptests_OBJC_NARCHFILES),) + +ifeq (,) +test-clib-m68k-jmptests_MOBJC_SRCWILDCARD := % +else +test-clib-m68k-jmptests_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-m68k-jmptests_OBJDIR),) + test-clib-m68k-jmptests_MOBJC_TARGETS := $(addsuffix .o,$(test-clib-m68k-jmptests_OBJC_NARCHFILES)) + test-clib-m68k-jmptests_MOBJC_DTARGETS := $(addsuffix .d,$(test-clib-m68k-jmptests_OBJC_NARCHFILES)) + test-clib-m68k-jmptests_MOBJC_WILDCARD := % +else + test-clib-m68k-jmptests_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(test-clib-m68k-jmptests_OBJC_NARCHFILES))) + test-clib-m68k-jmptests_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(test-clib-m68k-jmptests_OBJC_NARCHFILES))) + test-clib-m68k-jmptests_MOBJC_WILDCARD := $(test-clib-m68k-jmptests_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-clib-m68k-jmptests_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-clib-m68k-jmptests_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-clib-m68k-jmptests_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-m68k-jmptests_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-clib-m68k-jmptests_MOBJC_DIRS := $(foreach dir, $(test-clib-m68k-jmptests_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-m68k-jmptests_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-clib-m68k-jmptests_MOBJC_DIRS),) + test-clib-m68k-jmptests_MOBJC_DIRS := $(shell echo $(test-clib-m68k-jmptests_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-clib-m68k-jmptests_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-clib-m68k-jmptests_CC := $(TARGET_CC) +else + test-clib-m68k-jmptests_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-clib-m68k-jmptests_MOBJC_CPPFLAGS := $(test-clib-m68k-jmptests_CPPFLAGS) +test-clib-m68k-jmptests_OBJCFLAGS := $(test-clib-m68k-jmptests_CFLAGS) +test-clib-m68k-jmptests_OBJCFLAGS := $(test-clib-m68k-jmptests_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-clib-m68k-jmptests_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-clib-m68k-jmptests_OBJCFLAGS))) +ifeq ($(test-clib-m68k-jmptests_DFLAGS),) + test-clib-m68k-jmptests_OBJCDFLAGS := $(test-clib-m68k-jmptests_CFLAGS) +else + test-clib-m68k-jmptests_OBJCDFLAGS := $(test-clib-m68k-jmptests_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-clib-m68k-jmptests_LINK ?= $(strip $(test-clib-m68k-jmptests_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-m68k-jmptests_STRIP ?= $(TARGET_STRIP) + test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : CMD:=$(strip $(test-clib-m68k-jmptests_CC) $(TARGET_SYSROOT)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_MOBJC_CPPFLAGS:=$(strip $(test-clib-m68k-jmptests_MOBJC_CPPFLAGS) $(test-clib-m68k-jmptests_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_OBJCFLAGS:=$(strip $(test-clib-m68k-jmptests_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_OBJCDFLAGS:=$(test-clib-m68k-jmptests_OBJCDFLAGS) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-clib-m68k-jmptests_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-clib-m68k-jmptests_STRIP ?= $(HOST_STRIP) + test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-clib-m68k-jmptests_MOBJC_CPPFLAGS) $(test-clib-m68k-jmptests_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-m68k-jmptests_OBJCFLAGS)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-m68k-jmptests_OBJCDFLAGS)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE:=$(HOST_IQUOTE) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-clib-m68k-jmptests_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-m68k-jmptests_STRIP ?= $(ECHO) >/dev/null + test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-clib-m68k-jmptests_MOBJC_CPPFLAGS) $(test-clib-m68k-jmptests_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-m68k-jmptests_OBJCFLAGS)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-m68k-jmptests_OBJCDFLAGS)) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE:=$(KERNEL_IQUOTE) + $(test-clib-m68k-jmptests_MOBJC_TARGETS) $(test-clib-m68k-jmptests_MOBJC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-m68k-jmptests_MOBJC_TARGETS) : CPPFLAGS := $(test-clib-m68k-jmptests_MOBJC_CPPFLAGS) +$(test-clib-m68k-jmptests_MOBJC_TARGETS) : CFLAGS := $(test-clib-m68k-jmptests_OBJCFLAGS) +$(test-clib-m68k-jmptests_MOBJC_TARGETS) : $(test-clib-m68k-jmptests_MOBJC_WILDCARD).o : $(test-clib-m68k-jmptests_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-m68k-jmptests_IQUOTE) $(dir $<) $(test-clib-m68k-jmptests_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_IQUOTE) . $(test-clib-m68k-jmptests_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-m68k-jmptests_IQUOTE) $(dir $<) $(test-clib-m68k-jmptests_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_IQUOTE) . $(test-clib-m68k-jmptests_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-m68k-jmptests_IQUOTE) $(dir $<) $(test-clib-m68k-jmptests_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_IQUOTE) . $(test-clib-m68k-jmptests_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-m68k-jmptests_MOBJC_DTARGETS) : $(test-clib-m68k-jmptests_MOBJC_WILDCARD).d : $(test-clib-m68k-jmptests_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-m68k-jmptests_OBJCDFLAGS) $(test-clib-m68k-jmptests_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-clib-m68k-jmptests_MC_SRCWILDCARD := % +else +test-clib-m68k-jmptests_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-m68k-jmptests_OBJDIR),) +test-clib-m68k-jmptests_MC_TARGETS := $(addsuffix .o,$(test-clib-m68k-jmptests_C_NARCHFILES)) +test-clib-m68k-jmptests_MC_DTARGETS := $(addsuffix .d,$(test-clib-m68k-jmptests_C_NARCHFILES)) +test-clib-m68k-jmptests_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-clib-m68k-jmptests_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(notdir $(test-clib-m68k-jmptests_C_NARCHFILES)))) + test-clib-m68k-jmptests_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(notdir $(test-clib-m68k-jmptests_C_NARCHFILES)))) +else +ifeq (,) + test-clib-m68k-jmptests_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(test-clib-m68k-jmptests_C_NARCHFILES))) + test-clib-m68k-jmptests_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(test-clib-m68k-jmptests_C_NARCHFILES))) +else + test-clib-m68k-jmptests_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(patsubst /%,%,$(test-clib-m68k-jmptests_C_NARCHFILES)))) + test-clib-m68k-jmptests_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(patsubst /%,%,$(test-clib-m68k-jmptests_C_NARCHFILES)))) +endif +endif +test-clib-m68k-jmptests_MC_TGTWILDCARD := $(test-clib-m68k-jmptests_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : | $(addsuffix .c,$(test-clib-m68k-jmptests_C_NARCHFILES)) + +# Be sure that all .c files are found +test-clib-m68k-jmptests_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-m68k-jmptests_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-m68k-jmptests_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-m68k-jmptests_MC_DIRS := $(foreach dir, $(test-clib-m68k-jmptests_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-m68k-jmptests_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-m68k-jmptests_MC_DIRS),) + test-clib-m68k-jmptests_MC_DIRS := $(shell echo $(test-clib-m68k-jmptests_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-clib-m68k-jmptests_MC_DIRS) +endif + +endif + +test-clib-m68k-jmptests_MC_CPPFLAGS := $(test-clib-m68k-jmptests_CPPFLAGS) +test-clib-m68k-jmptests_CFLAGS := $(test-clib-m68k-jmptests_CFLAGS) +ifeq ($(test-clib-m68k-jmptests_DFLAGS),) + test-clib-m68k-jmptests_DFLAGS := $(test-clib-m68k-jmptests_CFLAGS) +else + test-clib-m68k-jmptests_DFLAGS := $(test-clib-m68k-jmptests_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-clib-m68k-jmptests_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-clib-m68k-jmptests_STRIP ?= $(TARGET_STRIP) +test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_MC_CPPFLAGS:=$(strip $(test-clib-m68k-jmptests_MC_CPPFLAGS) $(test-clib-m68k-jmptests_MC_EXTRA_CPPFLAGS)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_CFLAGS:=$(strip $(test-clib-m68k-jmptests_CFLAGS) $(SAFETY_CFLAGS)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_DFLAGS:=$(test-clib-m68k-jmptests_DFLAGS) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-clib-m68k-jmptests_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-clib-m68k-jmptests_STRIP ?= $(HOST_STRIP) +test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-clib-m68k-jmptests_MC_CPPFLAGS) $(test-clib-m68k-jmptests_MC_EXTRA_CPPFLAGS)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-m68k-jmptests_CFLAGS)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-m68k-jmptests_DFLAGS)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE:=$(HOST_IQUOTE) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-clib-m68k-jmptests_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-clib-m68k-jmptests_STRIP ?= $(ECHO) >/dev/null +test-clib-m68k-jmptests_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-clib-m68k-jmptests_MC_CPPFLAGS) $(test-clib-m68k-jmptests_MC_EXTRA_CPPFLAGS)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-m68k-jmptests_CFLAGS)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-m68k-jmptests_DFLAGS)) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE:=$(KERNEL_IQUOTE) +$(test-clib-m68k-jmptests_MC_TARGETS) $(test-clib-m68k-jmptests_MC_DTARGETS) : test-clib-m68k-jmptests_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-m68k-jmptests_MC_TARGETS) : CPPFLAGS := $(test-clib-m68k-jmptests_MC_CPPFLAGS) +$(test-clib-m68k-jmptests_MC_TARGETS) : CFLAGS := $(test-clib-m68k-jmptests_CFLAGS) +$(test-clib-m68k-jmptests_MC_TARGETS) : $(test-clib-m68k-jmptests_MC_TGTWILDCARD).o : $(test-clib-m68k-jmptests_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-m68k-jmptests_IQUOTE) $(dir $<) $(test-clib-m68k-jmptests_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_IQUOTE) . $(test-clib-m68k-jmptests_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-m68k-jmptests_IQUOTE) $(dir $<) $(test-clib-m68k-jmptests_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_IQUOTE) . $(test-clib-m68k-jmptests_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-m68k-jmptests_IQUOTE) $(dir $<) $(test-clib-m68k-jmptests_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-m68k-jmptests_IQUOTE) . $(test-clib-m68k-jmptests_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-m68k-jmptests_MC_DTARGETS) : $(test-clib-m68k-jmptests_MC_TGTWILDCARD).d : $(test-clib-m68k-jmptests_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-m68k-jmptests_DFLAGS) $(test-clib-m68k-jmptests_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-clib-m68k-jmptests_OBJDIR),) +test-clib-m68k-jmptests-MA_TARGETS := $(addsuffix .o,$(test-clib-m68k-jmptests_ASMFILES)) +test-clib-m68k-jmptests-MA_WILDCARD := % +else +test-clib-m68k-jmptests-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-m68k-jmptests_OBJDIR)/,$(notdir $(test-clib-m68k-jmptests_ASMFILES)))) +test-clib-m68k-jmptests-MA_WILDCARD := $(test-clib-m68k-jmptests_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-clib-m68k-jmptests-MA_TARGETS) : | $(addsuffix .s,$(test-clib-m68k-jmptests_ASMFILES)) + +# Be sure that all .c files are found +test-clib-m68k-jmptests-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-m68k-jmptests-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-m68k-jmptests_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-m68k-jmptests-MA_DIRS := $(foreach dir, $(test-clib-m68k-jmptests-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-m68k-jmptests-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-m68k-jmptests-MA_DIRS),) + test-clib-m68k-jmptests-MA_DIRS := $(shell echo $(test-clib-m68k-jmptests-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-clib-m68k-jmptests-MA_DIRS) +endif + +endif + +test-clib-m68k-jmptests-MA_ASSEMBLER ?= $(test-clib-m68k-jmptests_ASSEMBLER) + +$(test-clib-m68k-jmptests-MA_TARGETS) : test-clib-m68k-jmptests-MA_CMD:= $(test-clib-m68k-jmptests-MA_ASSEMBLER) + +$(test-clib-m68k-jmptests-MA_TARGETS) : CPPFLAGS := $(test-clib-m68k-jmptests_CPPFLAGS) +$(test-clib-m68k-jmptests-MA_TARGETS) : AFLAGS := $(test-clib-m68k-jmptests_AFLAGS) +$(test-clib-m68k-jmptests-MA_TARGETS) : $(test-clib-m68k-jmptests-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-clib-m68k-jmptests-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-clib-m68k-jmptests-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-clib-m68k-jmptests-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-clib-m68k-jmptests-link_EXTRA_LDFLAGS := +test-clib-m68k-jmptests-link_EXTRA_LIBS := +ifeq (no,yes) + test-clib-m68k-jmptests-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + test-clib-m68k-jmptests-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-clib-m68k-jmptests-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-clib-m68k-jmptests-link_DIRS := $(subst -L ,-L,$(strip $(test-clib-m68k-jmptests_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-clib-m68k-jmptests-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-clib-m68k-jmptests-link_DIRS))) +# Add trailing / +test-clib-m68k-jmptests-link_DIRS := $(subst //,/,$(addsuffix /,$(test-clib-m68k-jmptests-link_DIRS))) +# Add normal linklib path +test-clib-m68k-jmptests-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-clib-m68k-jmptests-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-clib-m68k-jmptests_LIBS) $(test-clib-m68k-jmptests-link_EXTRA_LIBS))) +ifeq (no,yes) + test-clib-m68k-jmptests-link_LIBS += startup.o +endif +ifeq (no,yes) + test-clib-m68k-jmptests-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-clib-m68k-jmptests-link_DEPLIBS := $(foreach lib,$(test-clib-m68k-jmptests-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-clib-m68k-jmptests-link_DIRS)))) \ +) + +$(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) : OBJDIR := $(test-clib-m68k-jmptests_OBJDIR) +$(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) : OBJS := $(test-clib-m68k-jmptests_OBJS) $(test-clib-m68k-jmptests_ARCHOBJS) $(USER_OBJS) +$(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) : LDFLAGS := $(strip $(test-clib-m68k-jmptests_LDFLAGS) $(test-clib-m68k-jmptests-link_EXTRA_LDFLAGS)) +$(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) : LIBS := $(addprefix -l,$(test-clib-m68k-jmptests_LIBS) $(test-clib-m68k-jmptests-link_EXTRA_LIBS) ) +$(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) : $(test-clib-m68k-jmptests_OBJS) $(test-clib-m68k-jmptests_ARCHOBJS) $(USER_OBJS) $(test-clib-m68k-jmptests-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-clib-m68k-jmptests_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-clib-m68k-jmptests_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-clib-m68k-jmptests_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-m68k-jmptests_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-clib-m68k-jmptests_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-clib-m68k-jmptests_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-m68k-jmptests_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-clib-m68k-jmptests_DEPS),) + ifneq (test-clib-m68k-jmptests test-clib-m68k-jmptests-quick,) + ifneq ($(findstring $(TARGET),test-clib-m68k-jmptests test-clib-m68k-jmptests-quick),) + -include $(test-clib-m68k-jmptests_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-clib-m68k-jmptests_DEPS) + endif + endif +endif + + +ifneq ($(test-clib-m68k-jmptests_OBJS) $(test-clib-m68k-jmptests_DEPS) $(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME),) +$(test-clib-m68k-jmptests_OBJS) $(test-clib-m68k-jmptests_DEPS) $(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) : | $(test-clib-m68k-jmptests_OBJDIR) $(test-clib-m68k-jmptests_TARGETDIR) +else +$(test-clib-m68k-jmptests_OBJS) $(test-clib-m68k-jmptests_DEPS) $(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) :: $(test-clib-m68k-jmptests_OBJDIR) $(test-clib-m68k-jmptests_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-clib-m68k-jmptests_OBJDIR) $(test-clib-m68k-jmptests_TARGETDIR) + + +test-clib-m68k-jmptests-clean : FILES := $(test-clib-m68k-jmptests_OBJS) $(test-clib-m68k-jmptests_TARGETDIR)/$(test-clib-m68k-jmptests_PROGNAME) $(test-clib-m68k-jmptests_DEPS) +#MM +test-clib-m68k-jmptests-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-clib-m68k-jmptests" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/test/mmakefile b/arch/m68k-all/test/mmakefile new file mode 100644 index 00000000000..d6858dd198c --- /dev/null +++ b/arch/m68k-all/test/mmakefile @@ -0,0 +1,295 @@ +# $Id$ +# +# Makefile for AROS m68k Test + +include $(SRCDIR)/config/aros.cfg + +EXEDIR := $(AROS_TESTS) + +FILES=bcpl_strings + +USER_LDFLAGS := -static + + +.PHONY : test-m68k-bcpl + +test-m68k-bcpl_OBJDIR := $(GENDIR)/$(CURDIR) +test-m68k-bcpl_TARGETDIR := $(EXEDIR) +test-m68k-bcpl_LIBS := autoinit + +test-m68k-bcpl_FILES := $(FILES) +test-m68k-bcpl_OBJS := $(addsuffix .o,$(addprefix $(test-m68k-bcpl_OBJDIR)/,$(test-m68k-bcpl_FILES))) +test-m68k-bcpl_DEPS := $(addsuffix .d,$(addprefix $(test-m68k-bcpl_OBJDIR)/,$(test-m68k-bcpl_FILES))) +test-m68k-bcpl_EXES := $(addprefix $(test-m68k-bcpl_TARGETDIR)/,$(test-m68k-bcpl_FILES)) + +test-m68k-bcpl_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-m68k-bcpl_CPPFLAGS += -I +endif +test-m68k-bcpl_CFLAGS := $(CFLAGS) +test-m68k-bcpl_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-m68k-bcpl_COVERAGE := yes +test-m68k-bcpl_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-m68k-bcpl_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-m68k-bcpl_CFLAGS := $(strip $(test-m68k-bcpl_COVERAGEFLAGS) $(test-m68k-bcpl_CFLAGS)) +test-m68k-bcpl_LIBS += $(test-m68k-bcpl_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-m68k-bcpl_FUNCINSTR := yes +test-m68k-bcpl_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-m68k-bcpl_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-m68k-bcpl_CFLAGS := $(strip $(test-m68k-bcpl_INSTRFUNCFLAGS) $(test-m68k-bcpl_CFLAGS)) +test-m68k-bcpl_LIBS += $(test-m68k-bcpl_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-m68k-bcpl_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-m68k-bcpl_CFLAGS)) +endif +endif +ifneq (,) + test-m68k-bcpl_DFLAGS := +else + test-m68k-bcpl_DFLAGS := $(test-m68k-bcpl_CFLAGS) +endif +ifeq (target,target) +test-m68k-bcpl_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-m68k-bcpl_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-m68k-bcpl_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-m68k-bcpl_LDFLAGS += -L +endif + +#MM +test-m68k-bcpl-quick : test-m68k-bcpl + +#MM test-m68k-bcpl : includes-generate-deps core-linklibs +test-m68k-bcpl : $(test-m68k-bcpl_EXES) + +ifneq ($(filter $(TARGET),test-m68k-bcpl test-m68k-bcpl-quick),) + +ifeq (,) +test-m68k-bcpl_MC_SRCWILDCARD := % +else +test-m68k-bcpl_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-m68k-bcpl_OBJDIR),) +test-m68k-bcpl_MC_TARGETS := $(addsuffix .o,$(test-m68k-bcpl_FILES)) +test-m68k-bcpl_MC_DTARGETS := $(addsuffix .d,$(test-m68k-bcpl_FILES)) +test-m68k-bcpl_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-m68k-bcpl_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-m68k-bcpl_OBJDIR)/,$(notdir $(test-m68k-bcpl_FILES)))) + test-m68k-bcpl_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-m68k-bcpl_OBJDIR)/,$(notdir $(test-m68k-bcpl_FILES)))) +else +ifeq (,) + test-m68k-bcpl_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-m68k-bcpl_OBJDIR)/,$(test-m68k-bcpl_FILES))) + test-m68k-bcpl_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-m68k-bcpl_OBJDIR)/,$(test-m68k-bcpl_FILES))) +else + test-m68k-bcpl_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-m68k-bcpl_OBJDIR)/,$(patsubst /%,%,$(test-m68k-bcpl_FILES)))) + test-m68k-bcpl_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-m68k-bcpl_OBJDIR)/,$(patsubst /%,%,$(test-m68k-bcpl_FILES)))) +endif +endif +test-m68k-bcpl_MC_TGTWILDCARD := $(test-m68k-bcpl_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : | $(addsuffix .c,$(test-m68k-bcpl_FILES)) + +# Be sure that all .c files are found +test-m68k-bcpl_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-m68k-bcpl_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-m68k-bcpl_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-m68k-bcpl_MC_DIRS := $(foreach dir, $(test-m68k-bcpl_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-m68k-bcpl_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-m68k-bcpl_MC_DIRS),) + test-m68k-bcpl_MC_DIRS := $(shell echo $(test-m68k-bcpl_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-m68k-bcpl_MC_DIRS) +endif + +endif + +test-m68k-bcpl_MC_CPPFLAGS := $(test-m68k-bcpl_CPPFLAGS) +test-m68k-bcpl_CFLAGS := $(test-m68k-bcpl_CFLAGS) +ifeq ($(test-m68k-bcpl_DFLAGS),) + test-m68k-bcpl_DFLAGS := $(test-m68k-bcpl_CFLAGS) +else + test-m68k-bcpl_DFLAGS := $(test-m68k-bcpl_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-m68k-bcpl_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-m68k-bcpl_STRIP ?= $(TARGET_STRIP) +test-m68k-bcpl_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_MC_CPPFLAGS:=$(strip $(test-m68k-bcpl_MC_CPPFLAGS) $(test-m68k-bcpl_MC_EXTRA_CPPFLAGS)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_CFLAGS:=$(strip $(test-m68k-bcpl_CFLAGS) $(SAFETY_CFLAGS)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_DFLAGS:=$(test-m68k-bcpl_DFLAGS) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-m68k-bcpl_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-m68k-bcpl_STRIP ?= $(HOST_STRIP) +test-m68k-bcpl_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-m68k-bcpl_MC_CPPFLAGS) $(test-m68k-bcpl_MC_EXTRA_CPPFLAGS)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-m68k-bcpl_CFLAGS)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-m68k-bcpl_DFLAGS)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_IQUOTE:=$(HOST_IQUOTE) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-m68k-bcpl_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-m68k-bcpl_STRIP ?= $(ECHO) >/dev/null +test-m68k-bcpl_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-m68k-bcpl_MC_CPPFLAGS) $(test-m68k-bcpl_MC_EXTRA_CPPFLAGS)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-m68k-bcpl_CFLAGS)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-m68k-bcpl_DFLAGS)) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_IQUOTE:=$(KERNEL_IQUOTE) +$(test-m68k-bcpl_MC_TARGETS) $(test-m68k-bcpl_MC_DTARGETS) : test-m68k-bcpl_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-m68k-bcpl_MC_TARGETS) : CPPFLAGS := $(test-m68k-bcpl_MC_CPPFLAGS) +$(test-m68k-bcpl_MC_TARGETS) : CFLAGS := $(test-m68k-bcpl_CFLAGS) +$(test-m68k-bcpl_MC_TARGETS) : $(test-m68k-bcpl_MC_TGTWILDCARD).o : $(test-m68k-bcpl_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-m68k-bcpl_IQUOTE) $(dir $<) $(test-m68k-bcpl_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-m68k-bcpl_IQUOTE) . $(test-m68k-bcpl_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-m68k-bcpl_IQUOTE) $(dir $<) $(test-m68k-bcpl_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-m68k-bcpl_IQUOTE) . $(test-m68k-bcpl_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-m68k-bcpl_IQUOTE) $(dir $<) $(test-m68k-bcpl_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-m68k-bcpl_IQUOTE) . $(test-m68k-bcpl_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-m68k-bcpl_MC_DTARGETS) : $(test-m68k-bcpl_MC_TGTWILDCARD).d : $(test-m68k-bcpl_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-m68k-bcpl_DFLAGS) $(test-m68k-bcpl_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-m68k-bcpl-link_EXTRA_LDFLAGS := +test-m68k-bcpl-link_EXTRA_LIBS := +ifeq (no,yes) + test-m68k-bcpl-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + test-m68k-bcpl-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-m68k-bcpl-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-m68k-bcpl-link_DIRS := $(subst -L ,-L,$(strip $(test-m68k-bcpl_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-m68k-bcpl-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-m68k-bcpl-link_DIRS))) +# Add trailing / +test-m68k-bcpl-link_DIRS := $(subst //,/,$(addsuffix /,$(test-m68k-bcpl-link_DIRS))) +# Add normal linklib path +test-m68k-bcpl-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-m68k-bcpl-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-m68k-bcpl_LIBS) $(test-m68k-bcpl-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-m68k-bcpl-link_DEPLIBS := $(foreach lib,$(test-m68k-bcpl-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-m68k-bcpl-link_DIRS)))) \ +) +test-m68k-bcpl-link_PROGS := $(addprefix $(test-m68k-bcpl_TARGETDIR)/,$(test-m68k-bcpl_FILES)) + +$(test-m68k-bcpl-link_PROGS) : OBJDIR := $(test-m68k-bcpl_OBJDIR) +$(test-m68k-bcpl-link_PROGS) : LDFLAGS := $(strip $(test-m68k-bcpl_LDFLAGS) $(test-m68k-bcpl-link_EXTRA_LDFLAGS)) +$(test-m68k-bcpl-link_PROGS) : LIBS := $(addprefix -l,$(test-m68k-bcpl_LIBS) $(test-m68k-bcpl-link_EXTRA_LIBS) ) +$(test-m68k-bcpl-link_PROGS) : $(test-m68k-bcpl_TARGETDIR)/% : $(test-m68k-bcpl_OBJDIR)/%.o $(test-m68k-bcpl-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-m68k-bcpl_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-m68k-bcpl_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-m68k-bcpl_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-m68k-bcpl_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-m68k-bcpl_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-m68k-bcpl_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-m68k-bcpl_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-m68k-bcpl_DEPS),) + ifneq (test-m68k-bcpl test-m68k-bcpl-quick,) + ifneq ($(findstring $(TARGET),test-m68k-bcpl test-m68k-bcpl-quick),) + -include $(test-m68k-bcpl_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-m68k-bcpl_DEPS) + endif + endif +endif + + +ifneq ($(test-m68k-bcpl_DEPS) $(test-m68k-bcpl_OBJS) $(addprefix $(test-m68k-bcpl_TARGETDIR)/,$(test-m68k-bcpl_FILES)),) +$(test-m68k-bcpl_DEPS) $(test-m68k-bcpl_OBJS) $(addprefix $(test-m68k-bcpl_TARGETDIR)/,$(test-m68k-bcpl_FILES)) : | $(test-m68k-bcpl_TARGETDIR) $(test-m68k-bcpl_OBJDIR) +else +$(test-m68k-bcpl_DEPS) $(test-m68k-bcpl_OBJS) $(addprefix $(test-m68k-bcpl_TARGETDIR)/,$(test-m68k-bcpl_FILES)) :: $(test-m68k-bcpl_TARGETDIR) $(test-m68k-bcpl_OBJDIR) +endif + +GLOB_MKDIRS += $(test-m68k-bcpl_TARGETDIR) $(test-m68k-bcpl_OBJDIR) + + +test-m68k-bcpl-clean : FILES := $(test-m68k-bcpl_OBJS) $(test-m68k-bcpl_EXES) $(test-m68k-bcpl_DEPS) +#MM +test-m68k-bcpl-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-m68k-bcpl" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-all/utility/mmakefile b/arch/m68k-all/utility/mmakefile new file mode 100644 index 00000000000..ee211b137d5 --- /dev/null +++ b/arch/m68k-all/utility/mmakefile @@ -0,0 +1,264 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := +AFILES := sdivmod32 smult32 smult64 udivmod32 umult32 umult64 + +USER_AFLAGS := -I$(GENINCDIR) +USER_CPPFLAGS := -DDoRegisterCalls +TARGET_ISA_AFLAGS:=$(ISA_MC68020_FLAGS) + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-utility-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-utility : \ +#MM kernel-utility-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-utility-$(ARCH)-$(CPU) \ +#MM kernel-utility-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-utility-$(ARCH) \ +#MM kernel-utility-$(FAMILY) \ +#MM kernel-utility-$(CPU) +#MM- kernel-utility-linklib : \ +#MM kernel-utility-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-utility-$(ARCH)-$(CPU) \ +#MM kernel-utility-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-utility-$(ARCH) \ +#MM kernel-utility-$(FAMILY) \ +#MM kernel-utility-$(CPU) +#MM- kernel-utility-kobj : \ +#MM kernel-utility-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-utility-$(ARCH)-$(CPU) \ +#MM kernel-utility-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-utility-$(ARCH) \ +#MM kernel-utility-$(FAMILY) \ +#MM kernel-utility-$(CPU) +#MM- kernel-utility-kobj-quick : \ +#MM kernel-utility-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-utility-$(ARCH)-$(CPU)-quick \ +#MM kernel-utility-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-utility-$(ARCH)-quick \ +#MM kernel-utility-$(FAMILY)-quick \ +#MM kernel-utility-$(CPU)-quick +#MM- kernel-utility-quick : \ +#MM kernel-utility-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-utility-$(ARCH)-$(CPU)-quick \ +#MM kernel-utility-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-utility-$(ARCH)-quick \ +#MM kernel-utility-$(FAMILY)-quick \ +#MM kernel-utility-$(CPU)-quick + +#MM kernel-utility-m68k : kernel-utility-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (utility,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/utility/utility +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/utility +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (utility,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/utility_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-utility-m68k-quick) + BD_TARGET := kernel-utility-m68k-quick +else + BD_TARGET := kernel-utility-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-utility-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-utility-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring kernel,host kernel target),) + $(error unknown compiler kernel) +endif + +ifneq (utility,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (kernel,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (kernel,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (kernel,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +#MM kernel-utility-m68k : includes-asm_h-m68k + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/battclock/mmakefile b/arch/m68k-amiga/battclock/mmakefile new file mode 100644 index 00000000000..5c8a0715be2 --- /dev/null +++ b/arch/m68k-amiga/battclock/mmakefile @@ -0,0 +1,253 @@ +include $(SRCDIR)/config/aros.cfg + + +ifeq (battclock_init readbattclock writebattclock battclock_intern ,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-battclock-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-battclock : \ +#MM kernel-battclock-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-battclock-$(ARCH)-$(CPU) \ +#MM kernel-battclock-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-battclock-$(ARCH) \ +#MM kernel-battclock-$(FAMILY) \ +#MM kernel-battclock-$(CPU) +#MM- kernel-battclock-linklib : \ +#MM kernel-battclock-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-battclock-$(ARCH)-$(CPU) \ +#MM kernel-battclock-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-battclock-$(ARCH) \ +#MM kernel-battclock-$(FAMILY) \ +#MM kernel-battclock-$(CPU) +#MM- kernel-battclock-kobj : \ +#MM kernel-battclock-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-battclock-$(ARCH)-$(CPU) \ +#MM kernel-battclock-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-battclock-$(ARCH) \ +#MM kernel-battclock-$(FAMILY) \ +#MM kernel-battclock-$(CPU) +#MM- kernel-battclock-kobj-quick : \ +#MM kernel-battclock-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-battclock-$(ARCH)-$(CPU)-quick \ +#MM kernel-battclock-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-battclock-$(ARCH)-quick \ +#MM kernel-battclock-$(FAMILY)-quick \ +#MM kernel-battclock-$(CPU)-quick +#MM- kernel-battclock-quick : \ +#MM kernel-battclock-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-battclock-$(ARCH)-$(CPU)-quick \ +#MM kernel-battclock-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-battclock-$(ARCH)-quick \ +#MM kernel-battclock-$(FAMILY)-quick \ +#MM kernel-battclock-$(CPU)-quick + +#MM kernel-battclock-amiga-m68k : kernel-battclock-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (battclock,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/battclock/battclock +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/battclock +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir battclock_init readbattclock writebattclock battclock_intern))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir battclock_init readbattclock writebattclock battclock_intern))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (battclock,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/battclock_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-battclock-amiga-m68k-quick) + BD_TARGET := kernel-battclock-amiga-m68k-quick +else + BD_TARGET := kernel-battclock-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir battclock_init readbattclock writebattclock battclock_intern)) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-battclock-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-battclock-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (battclock,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/boot/floppy/mmakefile b/arch/m68k-amiga/boot/floppy/mmakefile new file mode 100644 index 00000000000..ceec06b7854 --- /dev/null +++ b/arch/m68k-amiga/boot/floppy/mmakefile @@ -0,0 +1,132 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +.PHONY: $(DISTDIR)/system-amiga-m68k.adf $(GENDIR)/boot/system-amiga-m68k.adf + +#MM bootdisk-amiga-m68k-gen : \ +#MM kernel-link-amiga-m68k \ +#MM workbench-c \ +#MM workbench-devs \ +#MM workbench-libs-version \ +#MM workbench-s + +#MM- bootdisk-amiga-m68k-quick : bootdisk-amiga-m68k +#MM bootdisk-amiga-m68k : bootdisk-amiga-m68k-gen + +#QE2H ?= -v + +ELF2HUNK_FILES := \ + $(AROS_DIR_ARCH)/AROSBootstrap \ + C/Assign \ + C/Avail \ + C/Copy \ + C/Date \ + C/Delete \ + C/Dir \ + C/DiskChange \ + C/Eval \ + C/Filenote \ + C/IconX \ + C/Install \ + C/Join \ + C/List \ + C/LoadWB \ + C/MakeDir \ + C/MakeLink \ + C/Mount \ + C/Protect \ + C/Relabel \ + C/Rename \ + C/Shutdown \ + C/Touch \ + C/Type \ + C/Version \ + C/Wait \ + C/Which \ + Devs/DOSDrivers/PIPE \ + Libs/version.library \ + S/Shell-Startup + +OTHER_FILES := \ + $(AROS_DIR_ARCH)/aros.elf.gz \ + Disk.info \ + README.txt \ + README.txt.info \ + S/Startup-Sequence + +BOOT_SRC_DIR := $(AROSDIR) +BOOT_DEST_DIR := $(AROSDIR)/Emergency-Boot + +ELF2HUNK_DEST_FILES := $(addprefix $(BOOT_DEST_DIR)/,$(ELF2HUNK_FILES)) +OTHER_DEST_FILES := $(addprefix $(BOOT_DEST_DIR)/,$(OTHER_FILES)) +BOOT_DEST_FILES := $(ELF2HUNK_DEST_FILES) $(OTHER_DEST_FILES) + +# Create directories +BOOT_DEST_DIRS := $(dir $(BOOT_DEST_FILES)) +GLOB_MKDIRS += $(BOOT_DEST_DIRS) $(DISTDIR) $(GENDIR)/boot + +#MM +bootdisk-amiga-m68k-clean: + $(RM) $(BOOT_DEST_DIR) $(DISTDIR)/bootdisk-amiga-m68k.adf $(GENDIR)/boot/bootdisk-amiga-m68k.adf + +#MM +bootdisk-amiga-m68k: $(DISTDIR)/bootdisk-amiga-m68k.adf + +#MM +bootdisk-amiga-m68k-gen: $(GENDIR)/boot/bootdisk-amiga-m68k.adf + +$(GENDIR)/boot/bootdisk-amiga-m68k.adf: \ + $(BOOT_DEST_FILES) $(BOOT_EXTRA_FILES) \ + $(BOOT_DEST_DIR).info \ + $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU) \ + | $(GENDIR)/boot + $(RM) $@ +## $(COPYTOAFS) $@ --type OFS --name "AROS Kickstart" --size 1760 $(BOOT_DEST_DIR) + $(COPYTOAFS) $@ --type OFS --name "AROS Kickstart" --size 3520 $(BOOT_DEST_DIR) + $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU) $@ + +$(DISTDIR)/bootdisk-amiga-m68k.adf: $(GENDIR)/boot/bootdisk-amiga-m68k.adf | $(DISTDIR) + @$(CP) $< $@ + +$(BOOT_DEST_DIR)/S/Startup-Sequence: $(SRCDIR)/$(CURDIR)/Startup-Sequence.boot | $(BOOT_DEST_DIR)/S + @$(CP) $< $@ + @$(CHMOD) +x $@ + +$(ELF2HUNK_DEST_FILES) : $(BOOT_DEST_DIR)/% : $(BOOT_SRC_DIR)/% | $(BOOT_DEST_DIRS) + @$(ELF2HUNK) $(QE2H) $< $@ + +$(BOOT_DEST_DIR)/Disk.info: $(SRCDIR)/$(CURDIR)/AROSBoot.info.src $(SRCDIR)/$(CURDIR)/AROSBoot.png | $(BOOT_DEST_DIR) + @$(ILBMTOICON) --no-iff $^ $@ + +$(BOOT_DEST_DIR).info: $(SRCDIR)/$(CURDIR)/Emergency-Boot.info.src $(SRCDIR)/$(CURDIR)/AROSBoot.png + @$(ILBMTOICON) $^ $@ + +##$(BOOT_DEST_DIR)/$(AROS_DIR_ARCH)/aros.hunk.gz : $(BOOT_SRC_DIR)/$(AROS_DIR_ARCH)/aros.elf | $(BOOT_DEST_DIR)/$(AROS_DIR_ARCH) +## @$(ELF2HUNK) $(QE2H) $< - | gzip -c -9 - >$@ + +$(BOOT_DEST_DIR)/$(AROS_DIR_ARCH)/aros.elf.gz : $(BOOT_SRC_DIR)/$(AROS_DIR_ARCH)/aros.elf | $(BOOT_DEST_DIR)/$(AROS_DIR_ARCH) + @cat $< | gzip -c -9 - >$@ + +$(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU): $(SRCDIR)/$(CURDIR)/install.c + echo $(GENDIR)/$(CURDIR) + @$(MKDIR) -p $(GENDIR)/$(CURDIR) + @$(HOST_CC) $(HOST_CFLAGS) $(SRCDIR)/$(CURDIR)/install.c -o $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU) + +$(BOOT_DEST_DIR)/README.txt.info: README.txt.info.src \ + README.txt.png + @$(MKDIR) $(BOOT_DEST_DIR) + @$(ILBMTOICON) $^ $@ + +$(BOOT_DEST_DIR)/README.txt: README.txt + @$(MKDIR) $(BOOT_DEST_DIR) + @$(CP) $^ $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/boot/iso/mmakefile b/arch/m68k-amiga/boot/iso/mmakefile new file mode 100644 index 00000000000..c5362caa4a0 --- /dev/null +++ b/arch/m68k-amiga/boot/iso/mmakefile @@ -0,0 +1,134 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +TARGET_ISO := $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-amiga-m68k.iso +DEVEL_ISO := $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-amiga-m68k-devel.iso + +.PHONY: $(TARGET_ISO) $(DEVEL_ISO) + +#MM bootiso-amiga-m68k : AROS-complete \ +#MM kernel-aros \ +#MM kernel-oop \ +#MM kernel-package-amiga-m68k \ +#MM kernel-bootstrap-amiga-m68k \ +#MM kernel-fs-xtra \ +#MM AROS-amiga-m68k-drivers \ +#MM bootdisk-amiga-m68k-gen \ +#MM iconset-$(AROS_TARGET_ICONSET)-icons-aros-livecd + +#MM deviso-amiga-m68k : AROS-complete \ +#MM kernel-aros \ +#MM kernel-oop \ +#MM kernel-package-amiga-m68k \ +#MM kernel-bootstrap-amiga-m68k \ +#MM AROS-amiga-m68k-drivers \ +#MM bootdisk-amiga-m68k-gen \ +#MM iconset-$(AROS_TARGET_ICONSET)-icons-aros-livecd + +TAR ?= tar +Q ?= @ +#QE2H ?= -v + +$(AROSDIR)/.backdrop: $(SRCDIR)/workbench/.backdrop + @$(CP) $< $@ + +$(AROSDIR)/Emergency-Boot.adf: $(GENDIR)/boot/bootdisk-amiga-m68k.adf + @$(CP) $< $@ + +$(AROSDIR)/Sources: FORCE $(AROSDIR)/Sources.info $(AROSDIR)/Sources/README.txt.info + $(Q)$(MKDIR) $(AROSDIR)/Sources + $(Q)$(CP) -a $(SRCDIR)/arch/m68k-amiga/doc/. $(AROSDIR)/Sources/. + $(Q)$(TAR) -C $(SRCDIR) --exclude=.svn --exclude=linux-x86_64 --exclude=amiga-m68k -czf $(AROSDIR)/Sources/AROS.tar.gz . + $(Q)(cd $(AROSDIR)/Sources; ./build-toolchain.sh --fetch-only) + +$(AROSDIR)/Sources.info: Sources.info.src Sources.png + @$(MKDIR) $(AROSDIR)/Sources + @$(ILBMTOICON) $^ $@ + +$(AROSDIR)/Sources/README.txt.info: Sources-README.txt.info.src \ + Sources-README.txt.png + @$(MKDIR) $(AROSDIR)/Sources + @$(ILBMTOICON) $^ $@ + +$(AROSDIR)/README.txt.info: README.txt.info.src \ + README.txt.png + @$(MKDIR) $(AROSDIR) + @$(ILBMTOICON) $^ $@ + +$(AROSDIR)/README.txt: README.txt + @$(MKDIR) $(AROSDIR) + @$(CP) $^ $@ + +#MM +bootiso-amiga-m68k: $(TARGET_ISO) + +#MM +bootiso-amiga-m68k-quick: $(TARGET_ISO) + +#MM +deviso-amiga-m68k: $(DEVEL_ISO) + +#MM +deviso-amiga-m68k-quick: $(DEVEL_ISO) + +.PHONY: bootiso-amiga-m68k-quick deviso-amiga-m68k-quick + +$(warning LANG = $(LANG)) + +$(TARGET_ISO): $(AROSDIR)/.backdrop \ + $(AROSDIR)/Emergency-Boot.adf \ + $(AROSDIR)/README.txt.info \ + $(AROSDIR)/README.txt + $(Q)$(FOR) dir in $(AROSDIR)/S ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + @$(MKDIR) -p "$(DISTDIR)" + @$(MKDIR) -p "$(AROSDIR).HUNK" + @$(ECHO) "Converting $(subst $(TARGETDIR)/,,$(AROSDIR)) -> $(subst $(TARGETDIR)/,,$(AROSDIR).HUNK)" + @$(ELF2HUNK) $(QE2H) "$(AROSDIR)" "$(AROSDIR).HUNK" + @$(RM) -rf "$(AROSDIR).HUNK/Sources"* + @$(RM) -rf "$(AROSDIR).HUNK/$(AROS_DIR_ARCH)/aros.elf" + @$(CP) "$(AROSDIR)/$(AROS_DIR_ARCH)/aros.elf" "$(AROSDIR).HUNK/$(AROS_DIR_ARCH)/" + @gzip -f -9 "$(AROSDIR).HUNK/$(AROS_DIR_ARCH)/aros.elf" + @$(CP) "$(AROSDIR)/Emergency-Boot/$(AROS_DIR_ARCH)/aros.elf.gz" "$(AROSDIR).HUNK/$(AROS_DIR_ARCH)" + @$(CP) $(SRCDIR)/arch/m68k-amiga/boot/iso/Wanderer-global.prefs "$(AROSDIR).HUNK/Prefs/Env-Archive/SYS/Wanderer/global.prefs" + @mkisofs -f \ + -o $@ \ + -allow-leading-dots \ + -iso-level 4 \ + -V "AROS Live CD" \ + -publisher "The AROS Dev Team" \ + -p "The AROS Dev Team (www.aros.org)" \ + -sysid "AROS-$(AROS_TARGET_CPU)-$(AROS_TARGET_ARCH)" \ + -l -J -r \ + "$(AROSDIR).HUNK" + +$(DEVEL_ISO): $(AROSDIR)/.backdrop \ + $(AROSDIR)/Emergency-Boot.adf \ + $(AROSDIR)/Sources \ + $(AROSDIR)/README.txt.info \ + $(AROSDIR)/README.txt + @$(CP) $(SRCDIR)/arch/m68k-amiga/boot/iso/Wanderer-global.prefs $(AROSDIR).iso/Prefs/Env-Archive/SYS/Wanderer/global.prefs + @mkisofs -f \ + -o $@ \ + -allow-leading-dots \ + -iso-level 4 \ + -V "AROS Development CD" \ + -publisher "The AROS Dev Team" \ + -p "The AROS Dev Team (www.aros.org)" \ + -sysid "AROS-$(AROS_TARGET_CPU)-$(AROS_TARGET_ARCH)" \ + -l -J -r \ + "$(AROSDIR)" + + +FORCE: + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/boot/mmakefile b/arch/m68k-amiga/boot/mmakefile new file mode 100644 index 00000000000..eea0864a655 --- /dev/null +++ b/arch/m68k-amiga/boot/mmakefile @@ -0,0 +1,443 @@ +# +# Rules to create AROS Kernel for amiga-m68k +# + +include $(SRCDIR)/config/aros.cfg + +#MM- kernel-link-amiga-m68k : \ +#MM general-setup-amiga-m68k \ +#MM kernel-bsp-objs \ +#MM kernel-objs \ +#MM kernel-alerthook-kobj \ +#MM kernel-amiga-m68k-amigavideo-kobj \ +#MM kernel-amiga-m68k-audio-kobj \ +#MM kernel-amiga-m68k-cd-kobj \ +#MM kernel-amiga-m68k-devs \ +#MM kernel-amiga-m68k-kbd-kobj \ +#MM kernel-amiga-m68k-mouse-kobj \ +#MM kernel-amiga-m68k-p96gfx-kobj \ +#MM kernel-amiga-m68k-wbtag-kobj \ +#MM kernel-aros-kobj \ +#MM kernel-hidd-bus-kobj \ +#MM kernel-hidd-base-kobj \ +#MM kernel-ata-kobj \ +#MM kernel-audio-kobj \ +#MM kernel-battclock-kobj \ +#MM kernel-bootloader-amiga-m68k-kobj \ +#MM kernel-bootloader-kobj \ +#MM kernel-cardres-kobj \ +#MM kernel-cia-kobj \ +#MM kernel-console-kobj \ +#MM kernel-debug-kobj \ +#MM kernel-diag-kobj \ +#MM kernel-disk-kobj \ +#MM kernel-dos-kobj \ +#MM kernel-dosboot-kobj \ +#MM kernel-expansion-kobj \ +#MM kernel-filesystem-kobj \ +#MM kernel-freeanim-kobj \ +#MM kernel-fs-core-kobj \ +#MM kernel-fs-fat-kobj \ +#MM kernel-fs-con-kobj \ +#MM kernel-fs-ram-kobj \ +#MM kernel-gameport-kobj \ +#MM kernel-graphics-kobj \ +#MM kernel-hidd-kobj \ +#MM kernel-hidd-gayleata-kobj \ +#MM kernel-hidd-gfx-kobj \ +#MM kernel-hidd-kbd-kobj \ +#MM kernel-hidd-mouse-kobj \ +#MM kernel-hidd-amigakbd-kobj \ +#MM kernel-hidd-amigamouse-kobj \ +#MM kernel-hidd-amigavideo-kobj \ +#MM kernel-hidd-p96gfx-kobj \ +#MM kernel-hidd-ata_gayle-kobj \ +#MM kernel-intuition-kobj \ +#MM kernel-input-kobj \ +#MM kernel-keymap-kobj \ +#MM kernel-keyboard-kobj \ +#MM kernel-layers-kobj \ +#MM kernel-lddemon-kobj \ +#MM kernel-m680x0-kobj \ +#MM kernel-misc-kobj \ +#MM kernel-oop-kobj \ +#MM kernel-processor-kobj \ +#MM kernel-task-kobj \ +#MM kernel-potgo-kobj \ +#MM kernel-romboot-kobj \ +#MM kernel-setpatch-kobj \ +#MM kernel-shell-kobj \ +#MM kernel-shellcommands-kobj \ +#MM kernel-timer-kobj \ +#MM kernel-trackdisk-kobj \ +#MM kernel-utility-kobj \ +#MM kernel-usb-amiga-m68k \ +#MM kernel-workbook-kobj \ +#MM kernel-workbench-devs-amiga-m68k \ +#MM kernel-vampire-amiga-m68k \ +#MM hidd-m68k-sagagfx \ +#MM workbench-libs-gadtools-kobj \ +#MM workbench-libs-icon-kobj \ +#MM workbench-libs-lowlevel-kobj \ +#MM workbench-libs-mathffp-kobj \ +#MM workbench-libs-mathieeesingbas-kobj \ +#MM workbench-libs-nonvolatile-kobj \ +#MM workbench-libs-nvdisk-kobj \ +#MM workbench-libs-workbench-kobj \ +#MM linklibs-loadseg \ +#MM compiler-stdc \ +#MM compiler-stdcio \ +#MM kernel-sagasd-device-kobj \ +#MM compiler-posixc + +#MM- kernel-workbench-devs-amiga-m68k : workbench-devs-amiga-m68k + +# Make sure we optimize this code for size .. +OPTIMIZATION_CFLAGS := -Os + +USELIBS := amiga arossupport autoinit libinit stdc.static +LIBS := -L$(GENDIR)/lib -lloadseg $(addprefix -l,$(USELIBS)) +DEPLIBS := $(addprefix $(AROS_LIB)/lib,$(addsuffix .a,$(USELIBS))) + +# Force rebuilding, so that we always get new date strings +rom_entry.o: FORCE + +ext_entry.o: FORCE + +USER_CPPFLAGS := -DADATE="\"$(shell date "+%d.%m.%Y")\"" +#USER_CPPFLAGS += -DDEFKRN_CMDLINE="\"sysdebug=InitCode,debugmmu,mungwall\"" + +# Use -m68060 when compiling .S files, as we will need the +# expanded instruction set to detect alternate CPUs +TARGET_ISA_AFLAGS := $(ISA_MC68060_FLAGS) + +# Sadly, we need to consume Chip RAM for the initial SS and the ROM BSS. +# The initial System Stack is located at the end of the first 256K +# of CHIP RAM, but is only used until RTF_COLDSTART. +# +# Right before RTF_COLDSTART, a new SS will be allocated from the fastest +# available RAM, and this initial area will be ignored. +ROMLOC_ss := 0x003f800 + +# Main ROM (0xf80000 - 0xffffff) +ROMLOC_rom := 0x0f80000 + +FILES=start early debug +# debug mmu +AFILES=rom_entry rom_init cpu_detect superstack_swap + +# APOLLOROM = V4 -> Native V4 +ifeq ($(APOLLOROM),V4) + KLIBS := exec aros dos utility oop expansion partition + KDEVS := timer input keyboard console gameport audio + KHNDLRS := afs fat ram + KHIDDS := amigakbd amigamouse amigavideo ata_gayle gfx hiddclass keyboard mouse + KRSRCS := battclock kernel processor task lddemon dosboot cia potgo disk FileSystem vampire + KHOOKS := +endif + +# APOLLOROM = UAE -> UAE with P96 +ifeq ($(APOLLOROM),UAE) + KLIBS := exec aros dos utility oop expansion partition + KDEVS := timer input keyboard console gameport audio + KHNDLRS := con afs ram + KHIDDS := amigakbd amigamouse amigavideo ata_gayle gfx hiddclass keyboard mouse p96gfx + KRSRCS := kernel processor task lddemon dosboot cia potgo disk FileSystem + KHOOKS := diag romboot +endif + +KOBJS_rom := $(addprefix $(KOBJSDIR)/,$(addsuffix _library.ko ,$(KLIBS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _device.ko ,$(KDEVS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _handler.ko ,$(KHNDLRS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _hidd.ko ,$(KHIDDS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _resource.ko,$(KRSRCS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _driver.ko ,$(KDRVRS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _hook.ko ,$(KHOOKS) )) + +OBJS_rom := $(addprefix $(KOBJSDIR)/,$(addsuffix .o,$(AFILES))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix .o,$(FILES))) + +$(GENDIR)/boot/aros-amiga-m68k-rom.elf: $(KOBJS_rom) $(OBJS_rom) + +# Expansion ROM (0xe00000-0xe7ffff) +FILES := +AFILES := ext_entry + +# APOLLOROM = V4 -> Native V4 +ifeq ($(APOLLOROM),V4) + KLIBS := keymap graphics layers intuition gadtools workbench mathffp mathieeesingbas freeanim lowlevel setpatch + KDEVS := sagasd ata trackdisk + KHNDLRS := con + KHIDDS := bus storage system + KRSRCS := shellcommands wbtag misc shell card bootloader + KHOOKS := alert diag romboot +endif + +# APOLLOROM = UAE -> UAE with P96 +ifeq ($(APOLLOROM),UAE) + KLIBS := keymap graphics layers intuition gadtools workbench mathffp mathieeesingbas freeanim lowlevel setpatch + KDEVS := ata trackdisk + KHNDLRS := + KHIDDS := bus storage system + KRSRCS := shellcommands wbtag misc shell card bootloader + KHOOKS := alert +endif + +# diag romboot + +ROMLOC_ext := 0xe00000 +KOBJS_ext := \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _library.ko ,$(KLIBS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _device.ko ,$(KDEVS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _handler.ko ,$(KHNDLRS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _hidd.ko ,$(KHIDDS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _resource.ko,$(KRSRCS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _driver.ko ,$(KDRVRS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _hook.ko ,$(KHOOKS) )) + +OBJS_ext := $(addprefix $(KOBJSDIR)/,$(addsuffix .o,$(AFILES))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix .o,$(FILES))) + +$(GENDIR)/boot/aros-amiga-m68k-ext.elf: $(KOBJS_ext) $(OBJS_ext) + +#MM kernel-link-amiga-m68k: +kernel-link-amiga-m68k : $(GENDIR)/boot/aros-amiga-m68k-rom.bin $(GENDIR)/boot/aros-amiga-m68k-ext.bin + +#MM kernel-link-amiga-m68k-quick: +kernel-link-amiga-m68k-quick : $(GENDIR)/boot/aros-amiga-m68k-rom.bin $(GENDIR)/boot/aros-amiga-m68k-ext.bin + +$(HOSTGENDIR)/tools/romcheck: romcheck.c + $(Q)$(HOST_CC) $(DEBUG_CFLAGS) -o $@ $< + +$(GENDIR)/%_objs.ld: $(SRCDIR)/$(CURDIR)/mmakefile.src + $(Q)rm -f $@ + $(Q)for file in $(OBJS_$*) $(KOBJS_$*); do \ + echo "$$file(.rodata .rodata.*)" >>$@; \ + echo "$$file(.text)" >>$@; \ + done + +$(GENDIR)/boot/aros-amiga-m68k-reloc.elf : $(DEPLIBS) $(SRCDIR)/$(CURDIR)/mmakefile.src \ + $(OBJS_rom) $(KOBJS_rom) \ + $(OBJS_ext) $(KOBJS_ext) \ + $(SRCDIR)/$(CURDIR)/aros-rom.ld \ + $(GENDIR)/rom_objs.ld \ + $(GENDIR)/ext_objs.ld + @$(MKDIR) $(GENDIR)/boot + @$(ECHO) Linking $@... + $(Q)$(KERNEL_CC) -Wl,-r \ + -static -nostartfiles -nostdlib \ + -Wl,--defsym -Wl,start=0x0 \ + -Wl,--defsym -Wl,SysBase=0x4 \ + -Wl,--defsym -Wl,AbsExecBase=0x4 \ + -m68000 \ + -o $@ -Wl,-T -Wl,$(SRCDIR)/$(CURDIR)/aros-rom.ld \ + -L$(AROS_LIB) $(LIBS) -lgcc + +$(GENDIR)/boot/aros-amiga-m68k.elf: $(GENDIR)/boot/aros-amiga-m68k-reloc.elf + $(Q)$(KERNEL_LD) -o $@ \ + --section-start .rom=$(ROMLOC_rom) \ + --section-start .ext=$(ROMLOC_ext) \ + --section-start .ss=$(ROMLOC_ss) \ + $< + $(Q)$(TARGET_OBJDUMP) -h $@ | grep '[rea][oxm][mte] ' > romlog.txt + +$(GENDIR)/boot/aros-amiga-m68k-%.bin : $(GENDIR)/boot/aros-amiga-m68k.elf $(HOSTGENDIR)/tools/romcheck + $(Q)$(TARGET_OBJCOPY) \ + --output-target binary \ + --only-section=.$* \ + --gap-fill 0xff \ + $(GENDIR)/boot/aros-amiga-m68k.elf $@ + $(Q)echo -n "$*: " + $(Q)$(HOSTGENDIR)/tools/romcheck $@ + $(Q)$(MKDIR) $(AROSARCHDIR) + $(Q)$(CP) $@ $(AROSARCHDIR)/aros-$*.bin + +#MM +clean :: + -$(RM) $(TESTS) + +USER_INCLUDES += $(PRIV_KERNEL_INCLUDES) $(PRIV_EXEC_INCLUDES) +USER_CFLAGS += -fno-delete-null-pointer-checks + +$(KOBJSDIR)/%.o : %.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(KERNEL_CC) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS) -I$(AROS_DEVELOPER)/include -I$(GENINCDIR)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(KERNEL_CC) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS) -I$(AROS_DEVELOPER)/include -I$(GENINCDIR)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(KERNEL_CC) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS) -I$(AROS_DEVELOPER)/include -I$(GENINCDIR)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(KOBJSDIR)/%.o : %.S + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(KERNEL_CC) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(AFLAGS) $(TARGET_CFLAGS) $(CPPFLAGS) -I$(AROS_DEVELOPER)/include -I$(GENINCDIR)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(KERNEL_CC) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(AFLAGS) $(TARGET_CFLAGS) $(CPPFLAGS) -I$(AROS_DEVELOPER)/include -I$(GENINCDIR)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(KERNEL_CC) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(AFLAGS) $(TARGET_CFLAGS) $(CPPFLAGS) -I$(AROS_DEVELOPER)/include -I$(GENINCDIR)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(KOBJSDIR)/%.d : %.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(strip $(AROS_CC) $(TARGET_SYSROOT))" $(MKDEPEND) $(strip $(CFLAGS) $(CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Localize symbols, so that we don't get name clashes when linking +# +# .. except for exec.library. Our boot code needs symbols from it +# (PrepareMoveExecBase, InitKickTags, etc) +%/exec_library.ko: %/exec_library.o + $(Q)$(CP) $< $@ + +# .. except for kernel.resource. Our boot code needs symbols from it +# (krnPrepareExecBase and krnCreateMemHeader) +%/kernel_resource.ko: %/kernel_resource.o + $(Q)$(CP) $< $@ + +# .. except for expansion.library. Our boot code needs symbols from it +# (__MemoryTest) +%/expansion_library.ko: %/expansion_library.o + $(Q)$(CP) $< $@ + +# Localize symbols for everybody else though! +%.ko: %.o + $(Q)$(NM_PLAIN) --defined-only $< | cut -d' ' -f3 >$@.sym + $(Q)$(OBJCOPY) --localize-symbols $@.sym $< $@ + +DEPS := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d) +-include $(DEPS) + +########################################################################### + +## Compressed elf for AROSBootstrap + +#MM- kernel-link-amiga-m68k: kernel-boot-elf +#MM- kernel-link-amiga-m68k-quick: kernel-boot-elf-quick + +#MM kernel-boot-elf: +#MM kernel-boot-elf-quick: +kernel-boot-elf: $(AROSARCHDIR)/aros.elf $(AROSARCHDIR)/aros.elf.dbg +kernel-boot-elf-quick: $(AROSARCHDIR)/aros.elf $(AROSARCHDIR)/aros.elf.dbg + +# Main ROM, that must live in MEMF_LOCAL memory + +FILES=mmu +AFILES= + +KLIBS := exec expansion +KDEVS := +KHNDLRS := +KHIDDS := +KRSRCS := kernel +KHOOKS := diag + +KOBJS_local := $(addprefix $(KOBJSDIR)/,$(addsuffix _library.ko ,$(KLIBS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _device.ko ,$(KDEVS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _handler.ko ,$(KHNDLRS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _hidd.ko ,$(KHIDDS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _resource.ko,$(KRSRCS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _driver.ko ,$(KDRVRS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _hook.ko ,$(KHOOKS) )) + +OBJS_local:= $(addprefix $(KOBJSDIR)/,$(addsuffix .o,$(AFILES))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix .o,$(FILES))) + +FILES=start early debug +AFILES=rom_entry rom_init cpu_detect superstack_swap + +OBJS_start := $(addprefix $(KOBJSDIR)/,$(addsuffix .o,$(AFILES))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix .o,$(FILES))) + + +# Everything else. Can live in MEMF_ANY +FILES := +AFILES := + +KLIBS := aros utility dos oop mathffp mathieeesingbas partition \ + keymap graphics layers intuition gadtools workbench setpatch +KDEVS := timer input keyboard console trackdisk gameport audio ata cd +KHNDLRS := cdrom con afs ram +KHIDDS := amigakbd amigamouse amigavideo ata_gayle bus gfx hiddclass keyboard mouse storage system +KRSRCS := battclock processor task lddemon dosboot cia potgo disk \ + misc shell shellcommands workbook wbtag card FileSystem vampire +KHOOKS := alert romboot + +KOBJS_any := \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _library.ko ,$(KLIBS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _device.ko ,$(KDEVS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _handler.ko ,$(KHNDLRS))) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _hidd.ko ,$(KHIDDS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _resource.ko,$(KRSRCS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _driver.ko ,$(KDRVRS) )) \ + $(addprefix $(KOBJSDIR)/,$(addsuffix _hook.ko ,$(KHOOKS) )) + +$(GENDIR)/boot/aros-amiga-m68k-ram.elf : $(DEPLIBS) $(SRCDIR)/$(CURDIR)/mmakefile.src \ + $(OBJS_start) \ + $(OBJS_local) $(KOBJS_local) \ + $(OBJS_any) $(KOBJS_any) \ + $(SRCDIR)/$(CURDIR)/aros-ram.ld \ + $(GENDIR)/start_objs.ld \ + $(GENDIR)/local_objs.ld \ + $(GENDIR)/any_objs.ld + @$(MKDIR) $(GENDIR)/boot + @$(ECHO) Linking $@... + $(Q)$(KERNEL_CC) -Wl,-r \ + -static -nostartfiles -nostdlib \ + -Wl,--defsym -Wl,start=0x0 \ + -Wl,--defsym -Wl,SysBase=0x4 \ + -Wl,--defsym -Wl,AbsExecBase=0x4 \ + -m68000 \ + -o $@ -Wl,-T -Wl,$(SRCDIR)/$(CURDIR)/aros-ram.ld \ + -L$(AROS_LIB) $(LIBS) -lgcc + + +$(AROSARCHDIR)/aros.elf: $(GENDIR)/boot/aros-amiga-m68k-ram.elf \ + $(SRCDIR)/$(CURDIR)/mmakefile.src + $(Q)$(MKDIR) $(AROSARCHDIR) + $(Q)$(TARGET_OBJCOPY) \ + --strip-unneeded \ + $< $@ + + +$(AROSARCHDIR)/aros.elf.dbg : $(DEPLIBS) $(SRCDIR)/$(CURDIR)/mmakefile.src \ + $(OBJS_start) \ + $(OBJS_local) $(KOBJS_local) \ + $(OBJS_any) $(KOBJS_any) \ + $(SRCDIR)/$(CURDIR)/aros-dbg.ld \ + $(GENDIR)/start_objs.ld \ + $(GENDIR)/local_objs.ld \ + $(GENDIR)/any_objs.ld + @$(IF) [ "$(DEBUG)" = "yes" ]; then \ + $(ECHO) Linking $@...; \ + $(KERNEL_CC) -Wl,-r \ + -static -nostartfiles -nostdlib \ + -Wl,--defsym -Wl,start=0x0 \ + -Wl,--defsym -Wl,SysBase=0x4 \ + -Wl,--defsym -Wl,AbsExecBase=0x4 \ + -m68000 \ + -o $@ -Wl,-T -Wl,$(SRCDIR)/$(CURDIR)/aros-dbg.ld \ + -L$(AROS_LIB) $(LIBS) -lgcc; \ + $(TARGET_OBJCOPY) --add-gnu-debuglink=$@ $(AROSARCHDIR)/aros.elf; \ + fi + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/c/mmakefile b/arch/m68k-amiga/c/mmakefile new file mode 100644 index 00000000000..bbba95090e0 --- /dev/null +++ b/arch/m68k-amiga/c/mmakefile @@ -0,0 +1,3685 @@ +# Copyright © 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -DADATE="\"$(shell date "+%d.%m.%Y")\"" +USER_INCLUDES := -I$(GENINCDIR) -I$(SRCDIR) +USER_CFLAGS := -fno-delete-null-pointer-checks +USER_AFLAGS := -Os +TARGET_ISA_AFLAGS:=$(ISA_MC68060_FLAGS) + +#MM- workbench-c-m68k : includes \ +#MM kernel-kernel-includes \ +#MM linklibs \ +#MM workbench-c-m68k-gdbstub \ +#MM workbench-c-m68k-misc \ +#MM workbench-c-m68k-setpatcharos \ +#MM workbench-c-m68k-arosbootstrap \ +#MM workbench-c-m68k-mmudump \ +#MM workbench-c-m68k-setpatch + +#MM- workbench-c-m68k-quick: workbench-c-m68k-gdbstub-quick \ +#MM workbench-c-m68k-misc-quick \ +#MM workbench-c-m68k-setpatcharos-quick \ +#MM workbench-c-m68k-arosbootstrap-quick \ +#MM workbench-c-m68k-mmudump-quick \ +#MM workbench-c-m68k-setpatch-quick + +#MM workbench-c-m68k-gdbstub : linklibs-romhack + +#MM workbench-c-m68k-arosbootstrap : linklibs-loadseg + +#MM workbench-c-m68k-setpatcharos : linklibs-loadseg +#MM workbench-c-m68k-setpatch : kernel-setpatch-includes kernel-setpatch-linklib + +USER_LDFLAGS := -static + +FILES := gdbstub + + +.PHONY : workbench-c-m68k-gdbstub + +workbench-c-m68k-gdbstub_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-m68k-gdbstub_TARGETDIR := $(AROS_C) +workbench-c-m68k-gdbstub_LIBS := romhack + +workbench-c-m68k-gdbstub_FILES := $(FILES) +workbench-c-m68k-gdbstub_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-gdbstub_OBJDIR)/,$(workbench-c-m68k-gdbstub_FILES))) +workbench-c-m68k-gdbstub_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-gdbstub_OBJDIR)/,$(workbench-c-m68k-gdbstub_FILES))) +workbench-c-m68k-gdbstub_EXES := $(addprefix $(workbench-c-m68k-gdbstub_TARGETDIR)/,$(workbench-c-m68k-gdbstub_FILES)) + +workbench-c-m68k-gdbstub_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-c-m68k-gdbstub_CPPFLAGS += -I +endif +workbench-c-m68k-gdbstub_CFLAGS := $(CFLAGS) +workbench-c-m68k-gdbstub_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq (no,yes) +workbench-c-m68k-gdbstub_COVERAGE := yes +workbench-c-m68k-gdbstub_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-m68k-gdbstub_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-m68k-gdbstub_CFLAGS := $(strip $(workbench-c-m68k-gdbstub_COVERAGEFLAGS) $(workbench-c-m68k-gdbstub_CFLAGS)) +workbench-c-m68k-gdbstub_LIBS += $(workbench-c-m68k-gdbstub_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-m68k-gdbstub_FUNCINSTR := yes +workbench-c-m68k-gdbstub_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-m68k-gdbstub_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-m68k-gdbstub_CFLAGS := $(strip $(workbench-c-m68k-gdbstub_INSTRFUNCFLAGS) $(workbench-c-m68k-gdbstub_CFLAGS)) +workbench-c-m68k-gdbstub_LIBS += $(workbench-c-m68k-gdbstub_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-c-m68k-gdbstub_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-gdbstub_CFLAGS)) +endif +endif +ifneq (,) + workbench-c-m68k-gdbstub_DFLAGS := +else + workbench-c-m68k-gdbstub_DFLAGS := $(workbench-c-m68k-gdbstub_CFLAGS) +endif +ifeq (target,target) +workbench-c-m68k-gdbstub_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-gdbstub_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-gdbstub_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + workbench-c-m68k-gdbstub_LDFLAGS += -L +endif + +#MM +workbench-c-m68k-gdbstub-quick : workbench-c-m68k-gdbstub + +#MM workbench-c-m68k-gdbstub : includes-generate-deps core-linklibs +workbench-c-m68k-gdbstub : $(workbench-c-m68k-gdbstub_EXES) + +ifneq ($(filter $(TARGET),workbench-c-m68k-gdbstub workbench-c-m68k-gdbstub-quick),) + +ifeq (,) +workbench-c-m68k-gdbstub_MC_SRCWILDCARD := % +else +workbench-c-m68k-gdbstub_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-gdbstub_OBJDIR),) +workbench-c-m68k-gdbstub_MC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-gdbstub_FILES)) +workbench-c-m68k-gdbstub_MC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-gdbstub_FILES)) +workbench-c-m68k-gdbstub_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-m68k-gdbstub_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-gdbstub_OBJDIR)/,$(notdir $(workbench-c-m68k-gdbstub_FILES)))) + workbench-c-m68k-gdbstub_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-gdbstub_OBJDIR)/,$(notdir $(workbench-c-m68k-gdbstub_FILES)))) +else +ifeq (,) + workbench-c-m68k-gdbstub_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-gdbstub_OBJDIR)/,$(workbench-c-m68k-gdbstub_FILES))) + workbench-c-m68k-gdbstub_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-gdbstub_OBJDIR)/,$(workbench-c-m68k-gdbstub_FILES))) +else + workbench-c-m68k-gdbstub_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-gdbstub_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-gdbstub_FILES)))) + workbench-c-m68k-gdbstub_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-gdbstub_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-gdbstub_FILES)))) +endif +endif +workbench-c-m68k-gdbstub_MC_TGTWILDCARD := $(workbench-c-m68k-gdbstub_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-m68k-gdbstub_FILES)) + +# Be sure that all .c files are found +workbench-c-m68k-gdbstub_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-gdbstub_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-gdbstub_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-gdbstub_MC_DIRS := $(foreach dir, $(workbench-c-m68k-gdbstub_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-gdbstub_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-gdbstub_MC_DIRS),) + workbench-c-m68k-gdbstub_MC_DIRS := $(shell echo $(workbench-c-m68k-gdbstub_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-m68k-gdbstub_MC_DIRS) +endif + +endif + +workbench-c-m68k-gdbstub_MC_CPPFLAGS := $(workbench-c-m68k-gdbstub_CPPFLAGS) +workbench-c-m68k-gdbstub_CFLAGS := $(workbench-c-m68k-gdbstub_CFLAGS) +ifeq ($(workbench-c-m68k-gdbstub_DFLAGS),) + workbench-c-m68k-gdbstub_DFLAGS := $(workbench-c-m68k-gdbstub_CFLAGS) +else + workbench-c-m68k-gdbstub_DFLAGS := $(workbench-c-m68k-gdbstub_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-m68k-gdbstub_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-m68k-gdbstub_STRIP ?= $(TARGET_STRIP) +workbench-c-m68k-gdbstub_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_MC_CPPFLAGS:=$(strip $(workbench-c-m68k-gdbstub_MC_CPPFLAGS) $(workbench-c-m68k-gdbstub_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_CFLAGS:=$(strip $(workbench-c-m68k-gdbstub_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_DFLAGS:=$(workbench-c-m68k-gdbstub_DFLAGS) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-m68k-gdbstub_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-m68k-gdbstub_STRIP ?= $(HOST_STRIP) +workbench-c-m68k-gdbstub_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-m68k-gdbstub_MC_CPPFLAGS) $(workbench-c-m68k-gdbstub_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-gdbstub_CFLAGS)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-gdbstub_DFLAGS)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-m68k-gdbstub_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-m68k-gdbstub_STRIP ?= $(ECHO) >/dev/null +workbench-c-m68k-gdbstub_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-m68k-gdbstub_MC_CPPFLAGS) $(workbench-c-m68k-gdbstub_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-gdbstub_CFLAGS)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-gdbstub_DFLAGS)) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-m68k-gdbstub_MC_TARGETS) $(workbench-c-m68k-gdbstub_MC_DTARGETS) : workbench-c-m68k-gdbstub_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-gdbstub_MC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-gdbstub_MC_CPPFLAGS) +$(workbench-c-m68k-gdbstub_MC_TARGETS) : CFLAGS := $(workbench-c-m68k-gdbstub_CFLAGS) +$(workbench-c-m68k-gdbstub_MC_TARGETS) : $(workbench-c-m68k-gdbstub_MC_TGTWILDCARD).o : $(workbench-c-m68k-gdbstub_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-gdbstub_IQUOTE) $(dir $<) $(workbench-c-m68k-gdbstub_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-gdbstub_IQUOTE) . $(workbench-c-m68k-gdbstub_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-gdbstub_IQUOTE) $(dir $<) $(workbench-c-m68k-gdbstub_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-gdbstub_IQUOTE) . $(workbench-c-m68k-gdbstub_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-gdbstub_IQUOTE) $(dir $<) $(workbench-c-m68k-gdbstub_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-gdbstub_IQUOTE) . $(workbench-c-m68k-gdbstub_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-gdbstub_MC_DTARGETS) : $(workbench-c-m68k-gdbstub_MC_TGTWILDCARD).d : $(workbench-c-m68k-gdbstub_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-gdbstub_DFLAGS) $(workbench-c-m68k-gdbstub_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +workbench-c-m68k-gdbstub-link_EXTRA_LDFLAGS := +workbench-c-m68k-gdbstub-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-m68k-gdbstub-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-c-m68k-gdbstub-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (yes,yes) + workbench-c-m68k-gdbstub-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +workbench-c-m68k-gdbstub-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-m68k-gdbstub_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-m68k-gdbstub-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-m68k-gdbstub-link_DIRS))) +# Add trailing / +workbench-c-m68k-gdbstub-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-m68k-gdbstub-link_DIRS))) +# Add normal linklib path +workbench-c-m68k-gdbstub-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-m68k-gdbstub-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-m68k-gdbstub_LIBS) $(workbench-c-m68k-gdbstub-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +workbench-c-m68k-gdbstub-link_DEPLIBS := $(foreach lib,$(workbench-c-m68k-gdbstub-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-m68k-gdbstub-link_DIRS)))) \ +) +workbench-c-m68k-gdbstub-link_PROGS := $(addprefix $(workbench-c-m68k-gdbstub_TARGETDIR)/,$(workbench-c-m68k-gdbstub_FILES)) + +$(workbench-c-m68k-gdbstub-link_PROGS) : OBJDIR := $(workbench-c-m68k-gdbstub_OBJDIR) +$(workbench-c-m68k-gdbstub-link_PROGS) : LDFLAGS := $(strip $(workbench-c-m68k-gdbstub_LDFLAGS) $(workbench-c-m68k-gdbstub-link_EXTRA_LDFLAGS)) +$(workbench-c-m68k-gdbstub-link_PROGS) : LIBS := $(addprefix -l,$(workbench-c-m68k-gdbstub_LIBS) $(workbench-c-m68k-gdbstub-link_EXTRA_LIBS) ) +$(workbench-c-m68k-gdbstub-link_PROGS) : $(workbench-c-m68k-gdbstub_TARGETDIR)/% : $(workbench-c-m68k-gdbstub_OBJDIR)/%.o $(workbench-c-m68k-gdbstub-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-m68k-gdbstub_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-m68k-gdbstub_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-m68k-gdbstub_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-gdbstub_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-m68k-gdbstub_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-m68k-gdbstub_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-gdbstub_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-m68k-gdbstub_DEPS),) + ifneq (workbench-c-m68k-gdbstub workbench-c-m68k-gdbstub-quick,) + ifneq ($(findstring $(TARGET),workbench-c-m68k-gdbstub workbench-c-m68k-gdbstub-quick),) + -include $(workbench-c-m68k-gdbstub_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-m68k-gdbstub_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-m68k-gdbstub_DEPS) $(workbench-c-m68k-gdbstub_OBJS) $(addprefix $(workbench-c-m68k-gdbstub_TARGETDIR)/,$(workbench-c-m68k-gdbstub_FILES)),) +$(workbench-c-m68k-gdbstub_DEPS) $(workbench-c-m68k-gdbstub_OBJS) $(addprefix $(workbench-c-m68k-gdbstub_TARGETDIR)/,$(workbench-c-m68k-gdbstub_FILES)) : | $(workbench-c-m68k-gdbstub_TARGETDIR) $(workbench-c-m68k-gdbstub_OBJDIR) +else +$(workbench-c-m68k-gdbstub_DEPS) $(workbench-c-m68k-gdbstub_OBJS) $(addprefix $(workbench-c-m68k-gdbstub_TARGETDIR)/,$(workbench-c-m68k-gdbstub_FILES)) :: $(workbench-c-m68k-gdbstub_TARGETDIR) $(workbench-c-m68k-gdbstub_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-c-m68k-gdbstub_TARGETDIR) $(workbench-c-m68k-gdbstub_OBJDIR) + + +workbench-c-m68k-gdbstub-clean : FILES := $(workbench-c-m68k-gdbstub_OBJS) $(workbench-c-m68k-gdbstub_EXES) $(workbench-c-m68k-gdbstub_DEPS) +#MM +workbench-c-m68k-gdbstub-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-m68k-gdbstub" + $(Q)$(RM) $(FILES) + + +FILES := gdbstop + + +.PHONY : workbench-c-m68k-misc + +workbench-c-m68k-misc_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-m68k-misc_TARGETDIR := $(AROS_C) +workbench-c-m68k-misc_LIBS := + +workbench-c-m68k-misc_FILES := $(FILES) +workbench-c-m68k-misc_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-misc_OBJDIR)/,$(workbench-c-m68k-misc_FILES))) +workbench-c-m68k-misc_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-misc_OBJDIR)/,$(workbench-c-m68k-misc_FILES))) +workbench-c-m68k-misc_EXES := $(addprefix $(workbench-c-m68k-misc_TARGETDIR)/,$(workbench-c-m68k-misc_FILES)) + +workbench-c-m68k-misc_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-c-m68k-misc_CPPFLAGS += -I +endif +workbench-c-m68k-misc_CFLAGS := $(CFLAGS) +workbench-c-m68k-misc_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-c-m68k-misc_COVERAGE := yes +workbench-c-m68k-misc_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-m68k-misc_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-m68k-misc_CFLAGS := $(strip $(workbench-c-m68k-misc_COVERAGEFLAGS) $(workbench-c-m68k-misc_CFLAGS)) +workbench-c-m68k-misc_LIBS += $(workbench-c-m68k-misc_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-m68k-misc_FUNCINSTR := yes +workbench-c-m68k-misc_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-m68k-misc_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-m68k-misc_CFLAGS := $(strip $(workbench-c-m68k-misc_INSTRFUNCFLAGS) $(workbench-c-m68k-misc_CFLAGS)) +workbench-c-m68k-misc_LIBS += $(workbench-c-m68k-misc_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-c-m68k-misc_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-misc_CFLAGS)) +endif +endif +ifneq (,) + workbench-c-m68k-misc_DFLAGS := +else + workbench-c-m68k-misc_DFLAGS := $(workbench-c-m68k-misc_CFLAGS) +endif +ifeq (target,target) +workbench-c-m68k-misc_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-misc_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-misc_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + workbench-c-m68k-misc_LDFLAGS += -L +endif + +#MM +workbench-c-m68k-misc-quick : workbench-c-m68k-misc + +#MM workbench-c-m68k-misc : includes-generate-deps core-linklibs +workbench-c-m68k-misc : $(workbench-c-m68k-misc_EXES) + +ifneq ($(filter $(TARGET),workbench-c-m68k-misc workbench-c-m68k-misc-quick),) + +ifeq (,) +workbench-c-m68k-misc_MC_SRCWILDCARD := % +else +workbench-c-m68k-misc_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-misc_OBJDIR),) +workbench-c-m68k-misc_MC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-misc_FILES)) +workbench-c-m68k-misc_MC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-misc_FILES)) +workbench-c-m68k-misc_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-m68k-misc_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-misc_OBJDIR)/,$(notdir $(workbench-c-m68k-misc_FILES)))) + workbench-c-m68k-misc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-misc_OBJDIR)/,$(notdir $(workbench-c-m68k-misc_FILES)))) +else +ifeq (,) + workbench-c-m68k-misc_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-misc_OBJDIR)/,$(workbench-c-m68k-misc_FILES))) + workbench-c-m68k-misc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-misc_OBJDIR)/,$(workbench-c-m68k-misc_FILES))) +else + workbench-c-m68k-misc_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-misc_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-misc_FILES)))) + workbench-c-m68k-misc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-misc_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-misc_FILES)))) +endif +endif +workbench-c-m68k-misc_MC_TGTWILDCARD := $(workbench-c-m68k-misc_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-m68k-misc_FILES)) + +# Be sure that all .c files are found +workbench-c-m68k-misc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-misc_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-misc_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-misc_MC_DIRS := $(foreach dir, $(workbench-c-m68k-misc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-misc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-misc_MC_DIRS),) + workbench-c-m68k-misc_MC_DIRS := $(shell echo $(workbench-c-m68k-misc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-m68k-misc_MC_DIRS) +endif + +endif + +workbench-c-m68k-misc_MC_CPPFLAGS := $(workbench-c-m68k-misc_CPPFLAGS) +workbench-c-m68k-misc_CFLAGS := $(workbench-c-m68k-misc_CFLAGS) +ifeq ($(workbench-c-m68k-misc_DFLAGS),) + workbench-c-m68k-misc_DFLAGS := $(workbench-c-m68k-misc_CFLAGS) +else + workbench-c-m68k-misc_DFLAGS := $(workbench-c-m68k-misc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-m68k-misc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-m68k-misc_STRIP ?= $(TARGET_STRIP) +workbench-c-m68k-misc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_MC_CPPFLAGS:=$(strip $(workbench-c-m68k-misc_MC_CPPFLAGS) $(workbench-c-m68k-misc_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_CFLAGS:=$(strip $(workbench-c-m68k-misc_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_DFLAGS:=$(workbench-c-m68k-misc_DFLAGS) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-m68k-misc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-m68k-misc_STRIP ?= $(HOST_STRIP) +workbench-c-m68k-misc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-m68k-misc_MC_CPPFLAGS) $(workbench-c-m68k-misc_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-misc_CFLAGS)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-misc_DFLAGS)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-m68k-misc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-m68k-misc_STRIP ?= $(ECHO) >/dev/null +workbench-c-m68k-misc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-m68k-misc_MC_CPPFLAGS) $(workbench-c-m68k-misc_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-misc_CFLAGS)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-misc_DFLAGS)) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-m68k-misc_MC_TARGETS) $(workbench-c-m68k-misc_MC_DTARGETS) : workbench-c-m68k-misc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-misc_MC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-misc_MC_CPPFLAGS) +$(workbench-c-m68k-misc_MC_TARGETS) : CFLAGS := $(workbench-c-m68k-misc_CFLAGS) +$(workbench-c-m68k-misc_MC_TARGETS) : $(workbench-c-m68k-misc_MC_TGTWILDCARD).o : $(workbench-c-m68k-misc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-misc_IQUOTE) $(dir $<) $(workbench-c-m68k-misc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-misc_IQUOTE) . $(workbench-c-m68k-misc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-misc_IQUOTE) $(dir $<) $(workbench-c-m68k-misc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-misc_IQUOTE) . $(workbench-c-m68k-misc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-misc_IQUOTE) $(dir $<) $(workbench-c-m68k-misc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-misc_IQUOTE) . $(workbench-c-m68k-misc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-misc_MC_DTARGETS) : $(workbench-c-m68k-misc_MC_TGTWILDCARD).d : $(workbench-c-m68k-misc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-misc_DFLAGS) $(workbench-c-m68k-misc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +workbench-c-m68k-misc-link_EXTRA_LDFLAGS := +workbench-c-m68k-misc-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-m68k-misc-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-c-m68k-misc-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-c-m68k-misc-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +workbench-c-m68k-misc-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-m68k-misc_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-m68k-misc-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-m68k-misc-link_DIRS))) +# Add trailing / +workbench-c-m68k-misc-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-m68k-misc-link_DIRS))) +# Add normal linklib path +workbench-c-m68k-misc-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-m68k-misc-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-m68k-misc_LIBS) $(workbench-c-m68k-misc-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +workbench-c-m68k-misc-link_DEPLIBS := $(foreach lib,$(workbench-c-m68k-misc-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-m68k-misc-link_DIRS)))) \ +) +workbench-c-m68k-misc-link_PROGS := $(addprefix $(workbench-c-m68k-misc_TARGETDIR)/,$(workbench-c-m68k-misc_FILES)) + +$(workbench-c-m68k-misc-link_PROGS) : OBJDIR := $(workbench-c-m68k-misc_OBJDIR) +$(workbench-c-m68k-misc-link_PROGS) : LDFLAGS := $(strip $(workbench-c-m68k-misc_LDFLAGS) $(workbench-c-m68k-misc-link_EXTRA_LDFLAGS)) +$(workbench-c-m68k-misc-link_PROGS) : LIBS := $(addprefix -l,$(workbench-c-m68k-misc_LIBS) $(workbench-c-m68k-misc-link_EXTRA_LIBS) ) +$(workbench-c-m68k-misc-link_PROGS) : $(workbench-c-m68k-misc_TARGETDIR)/% : $(workbench-c-m68k-misc_OBJDIR)/%.o $(workbench-c-m68k-misc-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-m68k-misc_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-m68k-misc_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-m68k-misc_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-misc_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-m68k-misc_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-m68k-misc_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-misc_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-m68k-misc_DEPS),) + ifneq (workbench-c-m68k-misc workbench-c-m68k-misc-quick,) + ifneq ($(findstring $(TARGET),workbench-c-m68k-misc workbench-c-m68k-misc-quick),) + -include $(workbench-c-m68k-misc_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-m68k-misc_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-m68k-misc_DEPS) $(workbench-c-m68k-misc_OBJS) $(addprefix $(workbench-c-m68k-misc_TARGETDIR)/,$(workbench-c-m68k-misc_FILES)),) +$(workbench-c-m68k-misc_DEPS) $(workbench-c-m68k-misc_OBJS) $(addprefix $(workbench-c-m68k-misc_TARGETDIR)/,$(workbench-c-m68k-misc_FILES)) : | $(workbench-c-m68k-misc_TARGETDIR) $(workbench-c-m68k-misc_OBJDIR) +else +$(workbench-c-m68k-misc_DEPS) $(workbench-c-m68k-misc_OBJS) $(addprefix $(workbench-c-m68k-misc_TARGETDIR)/,$(workbench-c-m68k-misc_FILES)) :: $(workbench-c-m68k-misc_TARGETDIR) $(workbench-c-m68k-misc_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-c-m68k-misc_TARGETDIR) $(workbench-c-m68k-misc_OBJDIR) + + +workbench-c-m68k-misc-clean : FILES := $(workbench-c-m68k-misc_OBJS) $(workbench-c-m68k-misc_EXES) $(workbench-c-m68k-misc_DEPS) +#MM +workbench-c-m68k-misc-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-m68k-misc" + $(Q)$(RM) $(FILES) + + +CFILES := SetPatchAROS +AFILES := newstackswap +USER_INCLUDES += -isystem $(SRCDIR)/rom/dos/include +USER_LDFLAGS := -L$(GENDIR)/lib -static + + +.PHONY : workbench-c-m68k-setpatcharos + +workbench-c-m68k-setpatcharos_PROGNAME := SetPatchAROS +workbench-c-m68k-setpatcharos_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-m68k-setpatcharos_TARGETDIR := $(AROSARCHDIR) +workbench-c-m68k-setpatcharos_LINKER := +workbench-c-m68k-setpatcharos_LIBS := loadseg +# If not supplied, linker is equal to compiler +ifeq ($(workbench-c-m68k-setpatcharos_LINKER),) + workbench-c-m68k-setpatcharos_LINKER := target +endif + +ifneq ("$(strip $(CFILES) $(AFILES))","") + workbench-c-m68k-setpatcharos_FILES := $(CFILES) + workbench-c-m68k-setpatcharos_OBJCFILES := + workbench-c-m68k-setpatcharos_ASMFILES := $(AFILES) + workbench-c-m68k-setpatcharos_CXXFILES := +else + workbench-c-m68k-setpatcharos_FILES := $(workbench-c-m68k-setpatcharos_PROGNAME) + workbench-c-m68k-setpatcharos_OBJCFILES := + workbench-c-m68k-setpatcharos_ASMFILES := + workbench-c-m68k-setpatcharos_CXXFILES := +endif + +workbench-c-m68k-setpatcharos_ARCHOBJS := $(wildcard $(workbench-c-m68k-setpatcharos_OBJDIR)/arch/*.o) +workbench-c-m68k-setpatcharos_ARCHFILES := $(basename $(notdir $(workbench-c-m68k-setpatcharos_ARCHOBJS))) +workbench-c-m68k-setpatcharos_C_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatcharos_ARCHFILES),$(workbench-c-m68k-setpatcharos_FILES)) +workbench-c-m68k-setpatcharos_CXX_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatcharos_ARCHFILES),$(workbench-c-m68k-setpatcharos_CXXFILES)) +workbench-c-m68k-setpatcharos_OBJC_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatcharos_ARCHFILES),$(workbench-c-m68k-setpatcharos_OBJCFILES)) + +TMP_FILES := $(workbench-c-m68k-setpatcharos_C_NARCHFILES) $(workbench-c-m68k-setpatcharos_CXX_NARCHFILES) $(workbench-c-m68k-setpatcharos_ASMFILES) $(workbench-c-m68k-setpatcharos_OBJC_NARCHFILES) +workbench-c-m68k-setpatcharos_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-c-m68k-setpatcharos_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-c-m68k-setpatcharos_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-c-m68k-setpatcharos_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatcharos_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatcharos_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatcharos_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-c-m68k-setpatcharos_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatcharos_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatcharos_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatcharos_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-c-m68k-setpatcharos_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatcharos_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatcharos_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatcharos_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-c-m68k-setpatcharos_LDFLAGS := +endif + +workbench-c-m68k-setpatcharos_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq (no,yes) +workbench-c-m68k-setpatcharos_COVERAGE := yes +workbench-c-m68k-setpatcharos_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-m68k-setpatcharos_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-m68k-setpatcharos_CFLAGS := $(strip $(workbench-c-m68k-setpatcharos_COVERAGEFLAGS) $(workbench-c-m68k-setpatcharos_CFLAGS)) +workbench-c-m68k-setpatcharos_CXXFLAGS := $(strip $(workbench-c-m68k-setpatcharos_COVERAGEFLAGS) $(workbench-c-m68k-setpatcharos_CXXFLAGS)) +workbench-c-m68k-setpatcharos_LIBS += $(workbench-c-m68k-setpatcharos_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-m68k-setpatcharos_FUNCINSTR := yes +workbench-c-m68k-setpatcharos_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-m68k-setpatcharos_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-m68k-setpatcharos_CFLAGS := $(strip $(workbench-c-m68k-setpatcharos_INSTRFUNCFLAGS) $(workbench-c-m68k-setpatcharos_CFLAGS)) +workbench-c-m68k-setpatcharos_CXXFLAGS := $(strip $(workbench-c-m68k-setpatcharos_INSTRFUNCFLAGS) $(workbench-c-m68k-setpatcharos_CXXFLAGS)) +workbench-c-m68k-setpatcharos_LIBS += $(workbench-c-m68k-setpatcharos_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-c-m68k-setpatcharos_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-setpatcharos_CFLAGS)) +workbench-c-m68k-setpatcharos_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-setpatcharos_CXXFLAGS)) +endif +endif +workbench-c-m68k-setpatcharos_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-c-m68k-setpatcharos_DFLAGS := +else + workbench-c-m68k-setpatcharos_DFLAGS := $(workbench-c-m68k-setpatcharos_CFLAGS) +endif +ifneq (,) + workbench-c-m68k-setpatcharos_DXXFLAGS := +else + workbench-c-m68k-setpatcharos_DXXFLAGS := $(workbench-c-m68k-setpatcharos_CXXFLAGS) +endif +ifeq (target,target) +workbench-c-m68k-setpatcharos_LDFLAGS := $(workbench-c-m68k-setpatcharos_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatcharos_LDFLAGS := $(workbench-c-m68k-setpatcharos_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatcharos_LDFLAGS := $(workbench-c-m68k-setpatcharos_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-c-m68k-setpatcharos_LDFLAGS += -L +endif + +#MM +workbench-c-m68k-setpatcharos-quick : workbench-c-m68k-setpatcharos + +#MM workbench-c-m68k-setpatcharos : includes-generate-deps core-linklibs +workbench-c-m68k-setpatcharos : $(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-c-m68k-setpatcharos workbench-c-m68k-setpatcharos-quick workbench-c-m68k-setpatcharos-gz-quick),) + +workbench-c-m68k-setpatcharos_CXXABSBASENAMES := $(foreach workbench-c-m68k-setpatcharos_CXXBASE,$(workbench-c-m68k-setpatcharos_CXX_NARCHFILES),$(if $(filter /%,$(workbench-c-m68k-setpatcharos_CXXBASE)),$(workbench-c-m68k-setpatcharos_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-c-m68k-setpatcharos_CXXBASE)))) + +ifneq ($(workbench-c-m68k-setpatcharos_CXXABSBASENAMES),) + +workbench-c-m68k-setpatcharos_CXXBASENAMES := $(basename $(workbench-c-m68k-setpatcharos_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-c-m68k-setpatcharos_MCXX_FILES := $(strip $(foreach workbench-c-m68k-setpatcharos_CXXBASE,$(workbench-c-m68k-setpatcharos_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-c-m68k-setpatcharos_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-c-m68k-setpatcharos_EXT),$(workbench-c-m68k-setpatcharos_CXXBASE))))))) + +ifeq (,) +workbench-c-m68k-setpatcharos_MCXX_SRCWILDCARD := % +else +workbench-c-m68k-setpatcharos_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatcharos_OBJDIR),) + workbench-c-m68k-setpatcharos_CXXTARGETS := $(notdir $(workbench-c-m68k-setpatcharos_CXXBASENAMES:=.o)) + workbench-c-m68k-setpatcharos_CXXDTARGETS := $(notdir $(workbench-c-m68k-setpatcharos_CXXBASENAMES:=.d)) + workbench-c-m68k-setpatcharos_MCXX_WILDCARD := % +else + workbench-c-m68k-setpatcharos_CXXTARGETS := $(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatcharos_CXXBASENAMES:=.o))) + workbench-c-m68k-setpatcharos_CXXDTARGETS := $(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatcharos_CXXBASENAMES:=.d))) + workbench-c-m68k-setpatcharos_MCXX_WILDCARD := $(workbench-c-m68k-setpatcharos_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-c-m68k-setpatcharos_CXXTARGETS) $(workbench-c-m68k-setpatcharos_CXXDTARGETS) : | $(workbench-c-m68k-setpatcharos_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS := $(workbench-c-m68k-setpatcharos_CPPFLAGS) +workbench-c-m68k-setpatcharos_CXXFLAGS := $(workbench-c-m68k-setpatcharos_CXXFLAGS) +ifeq ($(workbench-c-m68k-setpatcharos_DXXFLAGS),) + workbench-c-m68k-setpatcharos_DXXFLAGS := $(workbench-c-m68k-setpatcharos_CXXFLAGS) +else + workbench-c-m68k-setpatcharos_DXXFLAGS := $(workbench-c-m68k-setpatcharos_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-c-m68k-setpatcharos_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-c-m68k-setpatcharos_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-c-m68k-setpatcharos_CXXCMD:=$(HOST_CXX) + workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatcharos_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-setpatcharos_CXXFLAGS)) + workbench-c-m68k-setpatcharos_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-setpatcharos_DXXFLAGS)) + workbench-c-m68k-setpatcharos_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-c-m68k-setpatcharos_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-c-m68k-setpatcharos_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-setpatcharos_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-c-m68k-setpatcharos_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS := $(strip $(workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatcharos_CXXFLAGS := $(strip $(workbench-c-m68k-setpatcharos_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-c-m68k-setpatcharos_DXXFLAGS := $(workbench-c-m68k-setpatcharos_DXXFLAGS) + workbench-c-m68k-setpatcharos_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-c-m68k-setpatcharos_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-c-m68k-setpatcharos_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-setpatcharos_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-c-m68k-setpatcharos_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-c-m68k-setpatcharos_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatcharos_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-setpatcharos_CXXFLAGS)) + workbench-c-m68k-setpatcharos_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-setpatcharos_DXXFLAGS)) + workbench-c-m68k-setpatcharos_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-c-m68k-setpatcharos_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-c-m68k-setpatcharos_CXXCMD) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) . $(workbench-c-m68k-setpatcharos_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatcharos_CXXFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-c-m68k-setpatcharos_CXXCMD) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) . $(workbench-c-m68k-setpatcharos_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatcharos_CXXFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-c-m68k-setpatcharos_CXXCMD) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_CXXIQUOTE) . $(workbench-c-m68k-setpatcharos_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatcharos_CXXFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-c-m68k-setpatcharos_CXXCMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatcharos_DXXFLAGS) $(workbench-c-m68k-setpatcharos_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-c-m68k-setpatcharos_OBJDIR),) + $(foreach workbench-c-m68k-setpatcharos_CXXFILE,$(workbench-c-m68k-setpatcharos_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-c-m68k-setpatcharos_CXXFILE))),$(workbench-c-m68k-setpatcharos_CXXFILE)))) +else + $(foreach workbench-c-m68k-setpatcharos_CXXFILE,$(workbench-c-m68k-setpatcharos_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(notdir $(basename $(workbench-c-m68k-setpatcharos_CXXFILE)))),$(workbench-c-m68k-setpatcharos_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-c-m68k-setpatcharos_OBJC_NARCHFILES),) + +ifeq (,) +workbench-c-m68k-setpatcharos_MOBJC_SRCWILDCARD := % +else +workbench-c-m68k-setpatcharos_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatcharos_OBJDIR),) + workbench-c-m68k-setpatcharos_MOBJC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatcharos_OBJC_NARCHFILES)) + workbench-c-m68k-setpatcharos_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-setpatcharos_OBJC_NARCHFILES)) + workbench-c-m68k-setpatcharos_MOBJC_WILDCARD := % +else + workbench-c-m68k-setpatcharos_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(workbench-c-m68k-setpatcharos_OBJC_NARCHFILES))) + workbench-c-m68k-setpatcharos_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(workbench-c-m68k-setpatcharos_OBJC_NARCHFILES))) + workbench-c-m68k-setpatcharos_MOBJC_WILDCARD := $(workbench-c-m68k-setpatcharos_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-c-m68k-setpatcharos_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-c-m68k-setpatcharos_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-c-m68k-setpatcharos_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatcharos_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-c-m68k-setpatcharos_MOBJC_DIRS := $(foreach dir, $(workbench-c-m68k-setpatcharos_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatcharos_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-c-m68k-setpatcharos_MOBJC_DIRS),) + workbench-c-m68k-setpatcharos_MOBJC_DIRS := $(shell echo $(workbench-c-m68k-setpatcharos_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-c-m68k-setpatcharos_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-c-m68k-setpatcharos_CC := $(TARGET_CC) +else + workbench-c-m68k-setpatcharos_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS := $(workbench-c-m68k-setpatcharos_CPPFLAGS) +workbench-c-m68k-setpatcharos_OBJCFLAGS := $(workbench-c-m68k-setpatcharos_CFLAGS) +workbench-c-m68k-setpatcharos_OBJCFLAGS := $(workbench-c-m68k-setpatcharos_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-c-m68k-setpatcharos_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-c-m68k-setpatcharos_OBJCFLAGS))) +ifeq ($(workbench-c-m68k-setpatcharos_DFLAGS),) + workbench-c-m68k-setpatcharos_OBJCDFLAGS := $(workbench-c-m68k-setpatcharos_CFLAGS) +else + workbench-c-m68k-setpatcharos_OBJCDFLAGS := $(workbench-c-m68k-setpatcharos_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-c-m68k-setpatcharos_LINK ?= $(strip $(workbench-c-m68k-setpatcharos_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-setpatcharos_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-c-m68k-setpatcharos_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS:=$(strip $(workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_OBJCFLAGS:=$(strip $(workbench-c-m68k-setpatcharos_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_OBJCDFLAGS:=$(workbench-c-m68k-setpatcharos_OBJCDFLAGS) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-c-m68k-setpatcharos_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-c-m68k-setpatcharos_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatcharos_OBJCFLAGS)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatcharos_OBJCDFLAGS)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE:=$(HOST_IQUOTE) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-c-m68k-setpatcharos_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-setpatcharos_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatcharos_OBJCFLAGS)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatcharos_OBJCDFLAGS)) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) $(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS) +$(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) : CFLAGS := $(workbench-c-m68k-setpatcharos_OBJCFLAGS) +$(workbench-c-m68k-setpatcharos_MOBJC_TARGETS) : $(workbench-c-m68k-setpatcharos_MOBJC_WILDCARD).o : $(workbench-c-m68k-setpatcharos_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-setpatcharos_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatcharos_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_IQUOTE) . $(workbench-c-m68k-setpatcharos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-setpatcharos_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatcharos_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_IQUOTE) . $(workbench-c-m68k-setpatcharos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-setpatcharos_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatcharos_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_IQUOTE) . $(workbench-c-m68k-setpatcharos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-setpatcharos_MOBJC_DTARGETS) : $(workbench-c-m68k-setpatcharos_MOBJC_WILDCARD).d : $(workbench-c-m68k-setpatcharos_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatcharos_OBJCDFLAGS) $(workbench-c-m68k-setpatcharos_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-c-m68k-setpatcharos_MC_SRCWILDCARD := % +else +workbench-c-m68k-setpatcharos_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatcharos_OBJDIR),) +workbench-c-m68k-setpatcharos_MC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatcharos_C_NARCHFILES)) +workbench-c-m68k-setpatcharos_MC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-setpatcharos_C_NARCHFILES)) +workbench-c-m68k-setpatcharos_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-m68k-setpatcharos_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatcharos_C_NARCHFILES)))) + workbench-c-m68k-setpatcharos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatcharos_C_NARCHFILES)))) +else +ifeq (,) + workbench-c-m68k-setpatcharos_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(workbench-c-m68k-setpatcharos_C_NARCHFILES))) + workbench-c-m68k-setpatcharos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(workbench-c-m68k-setpatcharos_C_NARCHFILES))) +else + workbench-c-m68k-setpatcharos_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-setpatcharos_C_NARCHFILES)))) + workbench-c-m68k-setpatcharos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-setpatcharos_C_NARCHFILES)))) +endif +endif +workbench-c-m68k-setpatcharos_MC_TGTWILDCARD := $(workbench-c-m68k-setpatcharos_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-m68k-setpatcharos_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-setpatcharos_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-setpatcharos_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatcharos_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-setpatcharos_MC_DIRS := $(foreach dir, $(workbench-c-m68k-setpatcharos_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatcharos_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-setpatcharos_MC_DIRS),) + workbench-c-m68k-setpatcharos_MC_DIRS := $(shell echo $(workbench-c-m68k-setpatcharos_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-m68k-setpatcharos_MC_DIRS) +endif + +endif + +workbench-c-m68k-setpatcharos_MC_CPPFLAGS := $(workbench-c-m68k-setpatcharos_CPPFLAGS) +workbench-c-m68k-setpatcharos_CFLAGS := $(workbench-c-m68k-setpatcharos_CFLAGS) +ifeq ($(workbench-c-m68k-setpatcharos_DFLAGS),) + workbench-c-m68k-setpatcharos_DFLAGS := $(workbench-c-m68k-setpatcharos_CFLAGS) +else + workbench-c-m68k-setpatcharos_DFLAGS := $(workbench-c-m68k-setpatcharos_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-m68k-setpatcharos_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-m68k-setpatcharos_STRIP ?= $(TARGET_STRIP) +workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_MC_CPPFLAGS:=$(strip $(workbench-c-m68k-setpatcharos_MC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_CFLAGS:=$(strip $(workbench-c-m68k-setpatcharos_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_DFLAGS:=$(workbench-c-m68k-setpatcharos_DFLAGS) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-m68k-setpatcharos_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-m68k-setpatcharos_STRIP ?= $(HOST_STRIP) +workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatcharos_CFLAGS)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatcharos_DFLAGS)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatcharos_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-m68k-setpatcharos_STRIP ?= $(ECHO) >/dev/null +workbench-c-m68k-setpatcharos_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MC_CPPFLAGS) $(workbench-c-m68k-setpatcharos_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatcharos_CFLAGS)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatcharos_DFLAGS)) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) $(workbench-c-m68k-setpatcharos_MC_DTARGETS) : workbench-c-m68k-setpatcharos_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-setpatcharos_MC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatcharos_MC_CPPFLAGS) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) : CFLAGS := $(workbench-c-m68k-setpatcharos_CFLAGS) +$(workbench-c-m68k-setpatcharos_MC_TARGETS) : $(workbench-c-m68k-setpatcharos_MC_TGTWILDCARD).o : $(workbench-c-m68k-setpatcharos_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-setpatcharos_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatcharos_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_IQUOTE) . $(workbench-c-m68k-setpatcharos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-setpatcharos_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatcharos_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_IQUOTE) . $(workbench-c-m68k-setpatcharos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-setpatcharos_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatcharos_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatcharos_IQUOTE) . $(workbench-c-m68k-setpatcharos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-setpatcharos_MC_DTARGETS) : $(workbench-c-m68k-setpatcharos_MC_TGTWILDCARD).d : $(workbench-c-m68k-setpatcharos_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatcharos_DFLAGS) $(workbench-c-m68k-setpatcharos_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-c-m68k-setpatcharos_OBJDIR),) +workbench-c-m68k-setpatcharos-MA_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatcharos_ASMFILES)) +workbench-c-m68k-setpatcharos-MA_WILDCARD := % +else +workbench-c-m68k-setpatcharos-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatcharos_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatcharos_ASMFILES)))) +workbench-c-m68k-setpatcharos-MA_WILDCARD := $(workbench-c-m68k-setpatcharos_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-c-m68k-setpatcharos-MA_TARGETS) : | $(addsuffix .s,$(workbench-c-m68k-setpatcharos_ASMFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-setpatcharos-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-setpatcharos-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatcharos_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-setpatcharos-MA_DIRS := $(foreach dir, $(workbench-c-m68k-setpatcharos-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatcharos-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-setpatcharos-MA_DIRS),) + workbench-c-m68k-setpatcharos-MA_DIRS := $(shell echo $(workbench-c-m68k-setpatcharos-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-c-m68k-setpatcharos-MA_DIRS) +endif + +endif + +workbench-c-m68k-setpatcharos-MA_ASSEMBLER ?= $(workbench-c-m68k-setpatcharos_ASSEMBLER) + +$(workbench-c-m68k-setpatcharos-MA_TARGETS) : workbench-c-m68k-setpatcharos-MA_CMD:= $(workbench-c-m68k-setpatcharos-MA_ASSEMBLER) + +$(workbench-c-m68k-setpatcharos-MA_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatcharos_CPPFLAGS) +$(workbench-c-m68k-setpatcharos-MA_TARGETS) : AFLAGS := $(workbench-c-m68k-setpatcharos_AFLAGS) +$(workbench-c-m68k-setpatcharos-MA_TARGETS) : $(workbench-c-m68k-setpatcharos-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-c-m68k-setpatcharos-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-c-m68k-setpatcharos-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-c-m68k-setpatcharos-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-c-m68k-setpatcharos-link_EXTRA_LDFLAGS := +workbench-c-m68k-setpatcharos-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-m68k-setpatcharos-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-c-m68k-setpatcharos-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-c-m68k-setpatcharos-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-c-m68k-setpatcharos-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-m68k-setpatcharos_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-m68k-setpatcharos-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-m68k-setpatcharos-link_DIRS))) +# Add trailing / +workbench-c-m68k-setpatcharos-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-m68k-setpatcharos-link_DIRS))) +# Add normal linklib path +workbench-c-m68k-setpatcharos-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-m68k-setpatcharos-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-m68k-setpatcharos_LIBS) $(workbench-c-m68k-setpatcharos-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-c-m68k-setpatcharos-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-c-m68k-setpatcharos-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-c-m68k-setpatcharos-link_DEPLIBS := $(foreach lib,$(workbench-c-m68k-setpatcharos-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-m68k-setpatcharos-link_DIRS)))) \ +) + +$(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) : OBJDIR := $(workbench-c-m68k-setpatcharos_OBJDIR) +$(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) : OBJS := $(workbench-c-m68k-setpatcharos_OBJS) $(workbench-c-m68k-setpatcharos_ARCHOBJS) $(USER_OBJS) +$(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) : LDFLAGS := $(strip $(workbench-c-m68k-setpatcharos_LDFLAGS) $(workbench-c-m68k-setpatcharos-link_EXTRA_LDFLAGS)) +$(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) : LIBS := $(addprefix -l,$(workbench-c-m68k-setpatcharos_LIBS) $(workbench-c-m68k-setpatcharos-link_EXTRA_LIBS) ) +$(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) : $(workbench-c-m68k-setpatcharos_OBJS) $(workbench-c-m68k-setpatcharos_ARCHOBJS) $(USER_OBJS) $(workbench-c-m68k-setpatcharos-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-m68k-setpatcharos_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-m68k-setpatcharos_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-m68k-setpatcharos_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-setpatcharos_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-m68k-setpatcharos_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-m68k-setpatcharos_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-setpatcharos_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-m68k-setpatcharos_DEPS),) + ifneq (workbench-c-m68k-setpatcharos workbench-c-m68k-setpatcharos-quick,) + ifneq ($(findstring $(TARGET),workbench-c-m68k-setpatcharos workbench-c-m68k-setpatcharos-quick),) + -include $(workbench-c-m68k-setpatcharos_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-m68k-setpatcharos_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-m68k-setpatcharos_OBJS) $(workbench-c-m68k-setpatcharos_DEPS) $(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME),) +$(workbench-c-m68k-setpatcharos_OBJS) $(workbench-c-m68k-setpatcharos_DEPS) $(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) : | $(workbench-c-m68k-setpatcharos_OBJDIR) $(workbench-c-m68k-setpatcharos_TARGETDIR) +else +$(workbench-c-m68k-setpatcharos_OBJS) $(workbench-c-m68k-setpatcharos_DEPS) $(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) :: $(workbench-c-m68k-setpatcharos_OBJDIR) $(workbench-c-m68k-setpatcharos_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-c-m68k-setpatcharos_OBJDIR) $(workbench-c-m68k-setpatcharos_TARGETDIR) + + +workbench-c-m68k-setpatcharos-clean : FILES := $(workbench-c-m68k-setpatcharos_OBJS) $(workbench-c-m68k-setpatcharos_TARGETDIR)/$(workbench-c-m68k-setpatcharos_PROGNAME) $(workbench-c-m68k-setpatcharos_DEPS) +#MM +workbench-c-m68k-setpatcharos-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-m68k-setpatcharos" + $(Q)$(RM) $(FILES) + + +CFILES := AROSBootstrap + + +.PHONY : workbench-c-m68k-arosbootstrap + +workbench-c-m68k-arosbootstrap_PROGNAME := AROSBootstrap +workbench-c-m68k-arosbootstrap_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-m68k-arosbootstrap_TARGETDIR := $(AROSARCHDIR) +workbench-c-m68k-arosbootstrap_LINKER := +workbench-c-m68k-arosbootstrap_LIBS := loadseg z.static +# If not supplied, linker is equal to compiler +ifeq ($(workbench-c-m68k-arosbootstrap_LINKER),) + workbench-c-m68k-arosbootstrap_LINKER := target +endif + +ifneq ("$(strip $(CFILES) )","") + workbench-c-m68k-arosbootstrap_FILES := $(CFILES) + workbench-c-m68k-arosbootstrap_OBJCFILES := + workbench-c-m68k-arosbootstrap_ASMFILES := + workbench-c-m68k-arosbootstrap_CXXFILES := +else + workbench-c-m68k-arosbootstrap_FILES := $(workbench-c-m68k-arosbootstrap_PROGNAME) + workbench-c-m68k-arosbootstrap_OBJCFILES := + workbench-c-m68k-arosbootstrap_ASMFILES := + workbench-c-m68k-arosbootstrap_CXXFILES := +endif + +workbench-c-m68k-arosbootstrap_ARCHOBJS := $(wildcard $(workbench-c-m68k-arosbootstrap_OBJDIR)/arch/*.o) +workbench-c-m68k-arosbootstrap_ARCHFILES := $(basename $(notdir $(workbench-c-m68k-arosbootstrap_ARCHOBJS))) +workbench-c-m68k-arosbootstrap_C_NARCHFILES := $(filter-out $(workbench-c-m68k-arosbootstrap_ARCHFILES),$(workbench-c-m68k-arosbootstrap_FILES)) +workbench-c-m68k-arosbootstrap_CXX_NARCHFILES := $(filter-out $(workbench-c-m68k-arosbootstrap_ARCHFILES),$(workbench-c-m68k-arosbootstrap_CXXFILES)) +workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES := $(filter-out $(workbench-c-m68k-arosbootstrap_ARCHFILES),$(workbench-c-m68k-arosbootstrap_OBJCFILES)) + +TMP_FILES := $(workbench-c-m68k-arosbootstrap_C_NARCHFILES) $(workbench-c-m68k-arosbootstrap_CXX_NARCHFILES) $(workbench-c-m68k-arosbootstrap_ASMFILES) $(workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES) +workbench-c-m68k-arosbootstrap_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-c-m68k-arosbootstrap_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-c-m68k-arosbootstrap_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-c-m68k-arosbootstrap_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-arosbootstrap_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-arosbootstrap_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-arosbootstrap_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-c-m68k-arosbootstrap_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-arosbootstrap_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-arosbootstrap_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-arosbootstrap_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-c-m68k-arosbootstrap_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-arosbootstrap_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-arosbootstrap_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-arosbootstrap_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-c-m68k-arosbootstrap_LDFLAGS := +endif + +workbench-c-m68k-arosbootstrap_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-c-m68k-arosbootstrap_COVERAGE := yes +workbench-c-m68k-arosbootstrap_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-m68k-arosbootstrap_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-m68k-arosbootstrap_CFLAGS := $(strip $(workbench-c-m68k-arosbootstrap_COVERAGEFLAGS) $(workbench-c-m68k-arosbootstrap_CFLAGS)) +workbench-c-m68k-arosbootstrap_CXXFLAGS := $(strip $(workbench-c-m68k-arosbootstrap_COVERAGEFLAGS) $(workbench-c-m68k-arosbootstrap_CXXFLAGS)) +workbench-c-m68k-arosbootstrap_LIBS += $(workbench-c-m68k-arosbootstrap_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-m68k-arosbootstrap_FUNCINSTR := yes +workbench-c-m68k-arosbootstrap_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-m68k-arosbootstrap_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-m68k-arosbootstrap_CFLAGS := $(strip $(workbench-c-m68k-arosbootstrap_INSTRFUNCFLAGS) $(workbench-c-m68k-arosbootstrap_CFLAGS)) +workbench-c-m68k-arosbootstrap_CXXFLAGS := $(strip $(workbench-c-m68k-arosbootstrap_INSTRFUNCFLAGS) $(workbench-c-m68k-arosbootstrap_CXXFLAGS)) +workbench-c-m68k-arosbootstrap_LIBS += $(workbench-c-m68k-arosbootstrap_INSTRFUNCLIBS) +endif +endif +ifeq (no,yes) +workbench-c-m68k-arosbootstrap_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-arosbootstrap_CFLAGS)) +workbench-c-m68k-arosbootstrap_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-arosbootstrap_CXXFLAGS)) +endif +endif +workbench-c-m68k-arosbootstrap_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-c-m68k-arosbootstrap_DFLAGS := +else + workbench-c-m68k-arosbootstrap_DFLAGS := $(workbench-c-m68k-arosbootstrap_CFLAGS) +endif +ifneq (,) + workbench-c-m68k-arosbootstrap_DXXFLAGS := +else + workbench-c-m68k-arosbootstrap_DXXFLAGS := $(workbench-c-m68k-arosbootstrap_CXXFLAGS) +endif +ifeq (target,target) +workbench-c-m68k-arosbootstrap_LDFLAGS := $(workbench-c-m68k-arosbootstrap_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-arosbootstrap_LDFLAGS := $(workbench-c-m68k-arosbootstrap_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-arosbootstrap_LDFLAGS := $(workbench-c-m68k-arosbootstrap_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-c-m68k-arosbootstrap_LDFLAGS += -L +endif + +#MM +workbench-c-m68k-arosbootstrap-quick : workbench-c-m68k-arosbootstrap + +#MM workbench-c-m68k-arosbootstrap : includes-generate-deps core-linklibs +workbench-c-m68k-arosbootstrap : $(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-c-m68k-arosbootstrap workbench-c-m68k-arosbootstrap-quick workbench-c-m68k-arosbootstrap-gz-quick),) + +workbench-c-m68k-arosbootstrap_CXXABSBASENAMES := $(foreach workbench-c-m68k-arosbootstrap_CXXBASE,$(workbench-c-m68k-arosbootstrap_CXX_NARCHFILES),$(if $(filter /%,$(workbench-c-m68k-arosbootstrap_CXXBASE)),$(workbench-c-m68k-arosbootstrap_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-c-m68k-arosbootstrap_CXXBASE)))) + +ifneq ($(workbench-c-m68k-arosbootstrap_CXXABSBASENAMES),) + +workbench-c-m68k-arosbootstrap_CXXBASENAMES := $(basename $(workbench-c-m68k-arosbootstrap_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-c-m68k-arosbootstrap_MCXX_FILES := $(strip $(foreach workbench-c-m68k-arosbootstrap_CXXBASE,$(workbench-c-m68k-arosbootstrap_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-c-m68k-arosbootstrap_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-c-m68k-arosbootstrap_EXT),$(workbench-c-m68k-arosbootstrap_CXXBASE))))))) + +ifeq (,) +workbench-c-m68k-arosbootstrap_MCXX_SRCWILDCARD := % +else +workbench-c-m68k-arosbootstrap_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-arosbootstrap_OBJDIR),) + workbench-c-m68k-arosbootstrap_CXXTARGETS := $(notdir $(workbench-c-m68k-arosbootstrap_CXXBASENAMES:=.o)) + workbench-c-m68k-arosbootstrap_CXXDTARGETS := $(notdir $(workbench-c-m68k-arosbootstrap_CXXBASENAMES:=.d)) + workbench-c-m68k-arosbootstrap_MCXX_WILDCARD := % +else + workbench-c-m68k-arosbootstrap_CXXTARGETS := $(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(notdir $(workbench-c-m68k-arosbootstrap_CXXBASENAMES:=.o))) + workbench-c-m68k-arosbootstrap_CXXDTARGETS := $(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(notdir $(workbench-c-m68k-arosbootstrap_CXXBASENAMES:=.d))) + workbench-c-m68k-arosbootstrap_MCXX_WILDCARD := $(workbench-c-m68k-arosbootstrap_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-c-m68k-arosbootstrap_CXXTARGETS) $(workbench-c-m68k-arosbootstrap_CXXDTARGETS) : | $(workbench-c-m68k-arosbootstrap_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS := $(workbench-c-m68k-arosbootstrap_CPPFLAGS) +workbench-c-m68k-arosbootstrap_CXXFLAGS := $(workbench-c-m68k-arosbootstrap_CXXFLAGS) +ifeq ($(workbench-c-m68k-arosbootstrap_DXXFLAGS),) + workbench-c-m68k-arosbootstrap_DXXFLAGS := $(workbench-c-m68k-arosbootstrap_CXXFLAGS) +else + workbench-c-m68k-arosbootstrap_DXXFLAGS := $(workbench-c-m68k-arosbootstrap_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-c-m68k-arosbootstrap_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-c-m68k-arosbootstrap_CXXCMD:=$(HOST_CXX) + workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-arosbootstrap_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-arosbootstrap_CXXFLAGS)) + workbench-c-m68k-arosbootstrap_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-arosbootstrap_DXXFLAGS)) + workbench-c-m68k-arosbootstrap_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-c-m68k-arosbootstrap_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-arosbootstrap_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-c-m68k-arosbootstrap_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS := $(strip $(workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-arosbootstrap_CXXFLAGS := $(strip $(workbench-c-m68k-arosbootstrap_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-c-m68k-arosbootstrap_DXXFLAGS := $(workbench-c-m68k-arosbootstrap_DXXFLAGS) + workbench-c-m68k-arosbootstrap_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-c-m68k-arosbootstrap_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-arosbootstrap_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-c-m68k-arosbootstrap_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-c-m68k-arosbootstrap_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-arosbootstrap_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-arosbootstrap_CXXFLAGS)) + workbench-c-m68k-arosbootstrap_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-arosbootstrap_DXXFLAGS)) + workbench-c-m68k-arosbootstrap_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-c-m68k-arosbootstrap_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-c-m68k-arosbootstrap_CXXCMD) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) . $(workbench-c-m68k-arosbootstrap_CXXIQUOTE_END) $(strip $(workbench-c-m68k-arosbootstrap_CXXFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-c-m68k-arosbootstrap_CXXCMD) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) . $(workbench-c-m68k-arosbootstrap_CXXIQUOTE_END) $(strip $(workbench-c-m68k-arosbootstrap_CXXFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-c-m68k-arosbootstrap_CXXCMD) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_CXXIQUOTE) . $(workbench-c-m68k-arosbootstrap_CXXIQUOTE_END) $(strip $(workbench-c-m68k-arosbootstrap_CXXFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-c-m68k-arosbootstrap_CXXCMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-arosbootstrap_DXXFLAGS) $(workbench-c-m68k-arosbootstrap_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-c-m68k-arosbootstrap_OBJDIR),) + $(foreach workbench-c-m68k-arosbootstrap_CXXFILE,$(workbench-c-m68k-arosbootstrap_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-c-m68k-arosbootstrap_CXXFILE))),$(workbench-c-m68k-arosbootstrap_CXXFILE)))) +else + $(foreach workbench-c-m68k-arosbootstrap_CXXFILE,$(workbench-c-m68k-arosbootstrap_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(notdir $(basename $(workbench-c-m68k-arosbootstrap_CXXFILE)))),$(workbench-c-m68k-arosbootstrap_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES),) + +ifeq (,) +workbench-c-m68k-arosbootstrap_MOBJC_SRCWILDCARD := % +else +workbench-c-m68k-arosbootstrap_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-arosbootstrap_OBJDIR),) + workbench-c-m68k-arosbootstrap_MOBJC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES)) + workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES)) + workbench-c-m68k-arosbootstrap_MOBJC_WILDCARD := % +else + workbench-c-m68k-arosbootstrap_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES))) + workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES))) + workbench-c-m68k-arosbootstrap_MOBJC_WILDCARD := $(workbench-c-m68k-arosbootstrap_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-c-m68k-arosbootstrap_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-c-m68k-arosbootstrap_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-arosbootstrap_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-c-m68k-arosbootstrap_MOBJC_DIRS := $(foreach dir, $(workbench-c-m68k-arosbootstrap_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-arosbootstrap_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-c-m68k-arosbootstrap_MOBJC_DIRS),) + workbench-c-m68k-arosbootstrap_MOBJC_DIRS := $(shell echo $(workbench-c-m68k-arosbootstrap_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-c-m68k-arosbootstrap_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-c-m68k-arosbootstrap_CC := $(TARGET_CC) +else + workbench-c-m68k-arosbootstrap_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS := $(workbench-c-m68k-arosbootstrap_CPPFLAGS) +workbench-c-m68k-arosbootstrap_OBJCFLAGS := $(workbench-c-m68k-arosbootstrap_CFLAGS) +workbench-c-m68k-arosbootstrap_OBJCFLAGS := $(workbench-c-m68k-arosbootstrap_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-c-m68k-arosbootstrap_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-c-m68k-arosbootstrap_OBJCFLAGS))) +ifeq ($(workbench-c-m68k-arosbootstrap_DFLAGS),) + workbench-c-m68k-arosbootstrap_OBJCDFLAGS := $(workbench-c-m68k-arosbootstrap_CFLAGS) +else + workbench-c-m68k-arosbootstrap_OBJCDFLAGS := $(workbench-c-m68k-arosbootstrap_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(workbench-c-m68k-arosbootstrap_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-arosbootstrap_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-c-m68k-arosbootstrap_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS:=$(strip $(workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_OBJCFLAGS:=$(strip $(workbench-c-m68k-arosbootstrap_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_OBJCDFLAGS:=$(workbench-c-m68k-arosbootstrap_OBJCDFLAGS) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-c-m68k-arosbootstrap_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-arosbootstrap_OBJCFLAGS)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-arosbootstrap_OBJCDFLAGS)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE:=$(HOST_IQUOTE) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-arosbootstrap_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-arosbootstrap_OBJCFLAGS)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-arosbootstrap_OBJCDFLAGS)) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) $(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS) +$(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) : CFLAGS := $(workbench-c-m68k-arosbootstrap_OBJCFLAGS) +$(workbench-c-m68k-arosbootstrap_MOBJC_TARGETS) : $(workbench-c-m68k-arosbootstrap_MOBJC_WILDCARD).o : $(workbench-c-m68k-arosbootstrap_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(dir $<) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_IQUOTE) . $(workbench-c-m68k-arosbootstrap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(dir $<) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_IQUOTE) . $(workbench-c-m68k-arosbootstrap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(dir $<) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_IQUOTE) . $(workbench-c-m68k-arosbootstrap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-arosbootstrap_MOBJC_DTARGETS) : $(workbench-c-m68k-arosbootstrap_MOBJC_WILDCARD).d : $(workbench-c-m68k-arosbootstrap_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-arosbootstrap_OBJCDFLAGS) $(workbench-c-m68k-arosbootstrap_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-c-m68k-arosbootstrap_MC_SRCWILDCARD := % +else +workbench-c-m68k-arosbootstrap_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-arosbootstrap_OBJDIR),) +workbench-c-m68k-arosbootstrap_MC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-arosbootstrap_C_NARCHFILES)) +workbench-c-m68k-arosbootstrap_MC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-arosbootstrap_C_NARCHFILES)) +workbench-c-m68k-arosbootstrap_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-m68k-arosbootstrap_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(notdir $(workbench-c-m68k-arosbootstrap_C_NARCHFILES)))) + workbench-c-m68k-arosbootstrap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(notdir $(workbench-c-m68k-arosbootstrap_C_NARCHFILES)))) +else +ifeq (,) + workbench-c-m68k-arosbootstrap_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(workbench-c-m68k-arosbootstrap_C_NARCHFILES))) + workbench-c-m68k-arosbootstrap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(workbench-c-m68k-arosbootstrap_C_NARCHFILES))) +else + workbench-c-m68k-arosbootstrap_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-arosbootstrap_C_NARCHFILES)))) + workbench-c-m68k-arosbootstrap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-arosbootstrap_C_NARCHFILES)))) +endif +endif +workbench-c-m68k-arosbootstrap_MC_TGTWILDCARD := $(workbench-c-m68k-arosbootstrap_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-m68k-arosbootstrap_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-arosbootstrap_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-arosbootstrap_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-arosbootstrap_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-arosbootstrap_MC_DIRS := $(foreach dir, $(workbench-c-m68k-arosbootstrap_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-arosbootstrap_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-arosbootstrap_MC_DIRS),) + workbench-c-m68k-arosbootstrap_MC_DIRS := $(shell echo $(workbench-c-m68k-arosbootstrap_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-m68k-arosbootstrap_MC_DIRS) +endif + +endif + +workbench-c-m68k-arosbootstrap_MC_CPPFLAGS := $(workbench-c-m68k-arosbootstrap_CPPFLAGS) +workbench-c-m68k-arosbootstrap_CFLAGS := $(workbench-c-m68k-arosbootstrap_CFLAGS) +ifeq ($(workbench-c-m68k-arosbootstrap_DFLAGS),) + workbench-c-m68k-arosbootstrap_DFLAGS := $(workbench-c-m68k-arosbootstrap_CFLAGS) +else + workbench-c-m68k-arosbootstrap_DFLAGS := $(workbench-c-m68k-arosbootstrap_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-m68k-arosbootstrap_STRIP ?= $(TARGET_STRIP) +workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_MC_CPPFLAGS:=$(strip $(workbench-c-m68k-arosbootstrap_MC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_CFLAGS:=$(strip $(workbench-c-m68k-arosbootstrap_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_DFLAGS:=$(workbench-c-m68k-arosbootstrap_DFLAGS) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-m68k-arosbootstrap_STRIP ?= $(HOST_STRIP) +workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-arosbootstrap_CFLAGS)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-arosbootstrap_DFLAGS)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-m68k-arosbootstrap_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-m68k-arosbootstrap_STRIP ?= $(ECHO) >/dev/null +workbench-c-m68k-arosbootstrap_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MC_CPPFLAGS) $(workbench-c-m68k-arosbootstrap_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-arosbootstrap_CFLAGS)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-arosbootstrap_DFLAGS)) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) $(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : workbench-c-m68k-arosbootstrap_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-arosbootstrap_MC_CPPFLAGS) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) : CFLAGS := $(workbench-c-m68k-arosbootstrap_CFLAGS) +$(workbench-c-m68k-arosbootstrap_MC_TARGETS) : $(workbench-c-m68k-arosbootstrap_MC_TGTWILDCARD).o : $(workbench-c-m68k-arosbootstrap_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(dir $<) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_IQUOTE) . $(workbench-c-m68k-arosbootstrap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(dir $<) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_IQUOTE) . $(workbench-c-m68k-arosbootstrap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(dir $<) $(workbench-c-m68k-arosbootstrap_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-arosbootstrap_IQUOTE) . $(workbench-c-m68k-arosbootstrap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-arosbootstrap_MC_DTARGETS) : $(workbench-c-m68k-arosbootstrap_MC_TGTWILDCARD).d : $(workbench-c-m68k-arosbootstrap_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-arosbootstrap_DFLAGS) $(workbench-c-m68k-arosbootstrap_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-c-m68k-arosbootstrap_OBJDIR),) +workbench-c-m68k-arosbootstrap-MA_TARGETS := $(addsuffix .o,$(workbench-c-m68k-arosbootstrap_ASMFILES)) +workbench-c-m68k-arosbootstrap-MA_WILDCARD := % +else +workbench-c-m68k-arosbootstrap-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-arosbootstrap_OBJDIR)/,$(notdir $(workbench-c-m68k-arosbootstrap_ASMFILES)))) +workbench-c-m68k-arosbootstrap-MA_WILDCARD := $(workbench-c-m68k-arosbootstrap_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-c-m68k-arosbootstrap-MA_TARGETS) : | $(addsuffix .s,$(workbench-c-m68k-arosbootstrap_ASMFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-arosbootstrap-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-arosbootstrap-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-arosbootstrap_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-arosbootstrap-MA_DIRS := $(foreach dir, $(workbench-c-m68k-arosbootstrap-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-arosbootstrap-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-arosbootstrap-MA_DIRS),) + workbench-c-m68k-arosbootstrap-MA_DIRS := $(shell echo $(workbench-c-m68k-arosbootstrap-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-c-m68k-arosbootstrap-MA_DIRS) +endif + +endif + +workbench-c-m68k-arosbootstrap-MA_ASSEMBLER ?= $(workbench-c-m68k-arosbootstrap_ASSEMBLER) + +$(workbench-c-m68k-arosbootstrap-MA_TARGETS) : workbench-c-m68k-arosbootstrap-MA_CMD:= $(workbench-c-m68k-arosbootstrap-MA_ASSEMBLER) + +$(workbench-c-m68k-arosbootstrap-MA_TARGETS) : CPPFLAGS := $(workbench-c-m68k-arosbootstrap_CPPFLAGS) +$(workbench-c-m68k-arosbootstrap-MA_TARGETS) : AFLAGS := $(workbench-c-m68k-arosbootstrap_AFLAGS) +$(workbench-c-m68k-arosbootstrap-MA_TARGETS) : $(workbench-c-m68k-arosbootstrap-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-c-m68k-arosbootstrap-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-c-m68k-arosbootstrap-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-c-m68k-arosbootstrap-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-c-m68k-arosbootstrap-link_EXTRA_LDFLAGS := +workbench-c-m68k-arosbootstrap-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-m68k-arosbootstrap-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-c-m68k-arosbootstrap-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-c-m68k-arosbootstrap-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-c-m68k-arosbootstrap-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-m68k-arosbootstrap_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-m68k-arosbootstrap-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-m68k-arosbootstrap-link_DIRS))) +# Add trailing / +workbench-c-m68k-arosbootstrap-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-m68k-arosbootstrap-link_DIRS))) +# Add normal linklib path +workbench-c-m68k-arosbootstrap-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-m68k-arosbootstrap-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-m68k-arosbootstrap_LIBS) $(workbench-c-m68k-arosbootstrap-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-c-m68k-arosbootstrap-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-c-m68k-arosbootstrap-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-c-m68k-arosbootstrap-link_DEPLIBS := $(foreach lib,$(workbench-c-m68k-arosbootstrap-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-m68k-arosbootstrap-link_DIRS)))) \ +) + +$(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) : OBJDIR := $(workbench-c-m68k-arosbootstrap_OBJDIR) +$(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) : OBJS := $(workbench-c-m68k-arosbootstrap_OBJS) $(workbench-c-m68k-arosbootstrap_ARCHOBJS) $(USER_OBJS) +$(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) : LDFLAGS := $(strip $(workbench-c-m68k-arosbootstrap_LDFLAGS) $(workbench-c-m68k-arosbootstrap-link_EXTRA_LDFLAGS)) +$(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) : LIBS := $(addprefix -l,$(workbench-c-m68k-arosbootstrap_LIBS) $(workbench-c-m68k-arosbootstrap-link_EXTRA_LIBS) ) +$(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) : $(workbench-c-m68k-arosbootstrap_OBJS) $(workbench-c-m68k-arosbootstrap_ARCHOBJS) $(USER_OBJS) $(workbench-c-m68k-arosbootstrap-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-m68k-arosbootstrap_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-m68k-arosbootstrap_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-m68k-arosbootstrap_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-arosbootstrap_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-m68k-arosbootstrap_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-m68k-arosbootstrap_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-arosbootstrap_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-m68k-arosbootstrap_DEPS),) + ifneq (workbench-c-m68k-arosbootstrap workbench-c-m68k-arosbootstrap-quick,) + ifneq ($(findstring $(TARGET),workbench-c-m68k-arosbootstrap workbench-c-m68k-arosbootstrap-quick),) + -include $(workbench-c-m68k-arosbootstrap_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-m68k-arosbootstrap_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-m68k-arosbootstrap_OBJS) $(workbench-c-m68k-arosbootstrap_DEPS) $(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME),) +$(workbench-c-m68k-arosbootstrap_OBJS) $(workbench-c-m68k-arosbootstrap_DEPS) $(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) : | $(workbench-c-m68k-arosbootstrap_OBJDIR) $(workbench-c-m68k-arosbootstrap_TARGETDIR) +else +$(workbench-c-m68k-arosbootstrap_OBJS) $(workbench-c-m68k-arosbootstrap_DEPS) $(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) :: $(workbench-c-m68k-arosbootstrap_OBJDIR) $(workbench-c-m68k-arosbootstrap_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-c-m68k-arosbootstrap_OBJDIR) $(workbench-c-m68k-arosbootstrap_TARGETDIR) + + +workbench-c-m68k-arosbootstrap-clean : FILES := $(workbench-c-m68k-arosbootstrap_OBJS) $(workbench-c-m68k-arosbootstrap_TARGETDIR)/$(workbench-c-m68k-arosbootstrap_PROGNAME) $(workbench-c-m68k-arosbootstrap_DEPS) +#MM +workbench-c-m68k-arosbootstrap-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-m68k-arosbootstrap" + $(Q)$(RM) $(FILES) + + +CFILES := mmudump + + +.PHONY : workbench-c-m68k-mmudump + +workbench-c-m68k-mmudump_PROGNAME := MMUDump +workbench-c-m68k-mmudump_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-m68k-mmudump_TARGETDIR := $(AROS_C) +workbench-c-m68k-mmudump_LINKER := +workbench-c-m68k-mmudump_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-c-m68k-mmudump_LINKER),) + workbench-c-m68k-mmudump_LINKER := target +endif + +ifneq ("$(strip $(CFILES) )","") + workbench-c-m68k-mmudump_FILES := $(CFILES) + workbench-c-m68k-mmudump_OBJCFILES := + workbench-c-m68k-mmudump_ASMFILES := + workbench-c-m68k-mmudump_CXXFILES := +else + workbench-c-m68k-mmudump_FILES := $(workbench-c-m68k-mmudump_PROGNAME) + workbench-c-m68k-mmudump_OBJCFILES := + workbench-c-m68k-mmudump_ASMFILES := + workbench-c-m68k-mmudump_CXXFILES := +endif + +workbench-c-m68k-mmudump_ARCHOBJS := $(wildcard $(workbench-c-m68k-mmudump_OBJDIR)/arch/*.o) +workbench-c-m68k-mmudump_ARCHFILES := $(basename $(notdir $(workbench-c-m68k-mmudump_ARCHOBJS))) +workbench-c-m68k-mmudump_C_NARCHFILES := $(filter-out $(workbench-c-m68k-mmudump_ARCHFILES),$(workbench-c-m68k-mmudump_FILES)) +workbench-c-m68k-mmudump_CXX_NARCHFILES := $(filter-out $(workbench-c-m68k-mmudump_ARCHFILES),$(workbench-c-m68k-mmudump_CXXFILES)) +workbench-c-m68k-mmudump_OBJC_NARCHFILES := $(filter-out $(workbench-c-m68k-mmudump_ARCHFILES),$(workbench-c-m68k-mmudump_OBJCFILES)) + +TMP_FILES := $(workbench-c-m68k-mmudump_C_NARCHFILES) $(workbench-c-m68k-mmudump_CXX_NARCHFILES) $(workbench-c-m68k-mmudump_ASMFILES) $(workbench-c-m68k-mmudump_OBJC_NARCHFILES) +workbench-c-m68k-mmudump_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-c-m68k-mmudump_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-c-m68k-mmudump_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-c-m68k-mmudump_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-mmudump_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-mmudump_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-mmudump_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-c-m68k-mmudump_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-mmudump_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-mmudump_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-mmudump_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-c-m68k-mmudump_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-mmudump_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-mmudump_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-mmudump_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-c-m68k-mmudump_LDFLAGS := +endif + +workbench-c-m68k-mmudump_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-c-m68k-mmudump_COVERAGE := yes +workbench-c-m68k-mmudump_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-m68k-mmudump_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-m68k-mmudump_CFLAGS := $(strip $(workbench-c-m68k-mmudump_COVERAGEFLAGS) $(workbench-c-m68k-mmudump_CFLAGS)) +workbench-c-m68k-mmudump_CXXFLAGS := $(strip $(workbench-c-m68k-mmudump_COVERAGEFLAGS) $(workbench-c-m68k-mmudump_CXXFLAGS)) +workbench-c-m68k-mmudump_LIBS += $(workbench-c-m68k-mmudump_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-m68k-mmudump_FUNCINSTR := yes +workbench-c-m68k-mmudump_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-m68k-mmudump_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-m68k-mmudump_CFLAGS := $(strip $(workbench-c-m68k-mmudump_INSTRFUNCFLAGS) $(workbench-c-m68k-mmudump_CFLAGS)) +workbench-c-m68k-mmudump_CXXFLAGS := $(strip $(workbench-c-m68k-mmudump_INSTRFUNCFLAGS) $(workbench-c-m68k-mmudump_CXXFLAGS)) +workbench-c-m68k-mmudump_LIBS += $(workbench-c-m68k-mmudump_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-c-m68k-mmudump_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-mmudump_CFLAGS)) +workbench-c-m68k-mmudump_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-mmudump_CXXFLAGS)) +endif +endif +workbench-c-m68k-mmudump_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-c-m68k-mmudump_DFLAGS := +else + workbench-c-m68k-mmudump_DFLAGS := $(workbench-c-m68k-mmudump_CFLAGS) +endif +ifneq (,) + workbench-c-m68k-mmudump_DXXFLAGS := +else + workbench-c-m68k-mmudump_DXXFLAGS := $(workbench-c-m68k-mmudump_CXXFLAGS) +endif +ifeq (target,target) +workbench-c-m68k-mmudump_LDFLAGS := $(workbench-c-m68k-mmudump_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-mmudump_LDFLAGS := $(workbench-c-m68k-mmudump_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-mmudump_LDFLAGS := $(workbench-c-m68k-mmudump_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-c-m68k-mmudump_LDFLAGS += -L +endif + +#MM +workbench-c-m68k-mmudump-quick : workbench-c-m68k-mmudump + +#MM workbench-c-m68k-mmudump : includes-generate-deps core-linklibs +workbench-c-m68k-mmudump : $(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-c-m68k-mmudump workbench-c-m68k-mmudump-quick workbench-c-m68k-mmudump-gz-quick),) + +workbench-c-m68k-mmudump_CXXABSBASENAMES := $(foreach workbench-c-m68k-mmudump_CXXBASE,$(workbench-c-m68k-mmudump_CXX_NARCHFILES),$(if $(filter /%,$(workbench-c-m68k-mmudump_CXXBASE)),$(workbench-c-m68k-mmudump_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-c-m68k-mmudump_CXXBASE)))) + +ifneq ($(workbench-c-m68k-mmudump_CXXABSBASENAMES),) + +workbench-c-m68k-mmudump_CXXBASENAMES := $(basename $(workbench-c-m68k-mmudump_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-c-m68k-mmudump_MCXX_FILES := $(strip $(foreach workbench-c-m68k-mmudump_CXXBASE,$(workbench-c-m68k-mmudump_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-c-m68k-mmudump_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-c-m68k-mmudump_EXT),$(workbench-c-m68k-mmudump_CXXBASE))))))) + +ifeq (,) +workbench-c-m68k-mmudump_MCXX_SRCWILDCARD := % +else +workbench-c-m68k-mmudump_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-mmudump_OBJDIR),) + workbench-c-m68k-mmudump_CXXTARGETS := $(notdir $(workbench-c-m68k-mmudump_CXXBASENAMES:=.o)) + workbench-c-m68k-mmudump_CXXDTARGETS := $(notdir $(workbench-c-m68k-mmudump_CXXBASENAMES:=.d)) + workbench-c-m68k-mmudump_MCXX_WILDCARD := % +else + workbench-c-m68k-mmudump_CXXTARGETS := $(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(notdir $(workbench-c-m68k-mmudump_CXXBASENAMES:=.o))) + workbench-c-m68k-mmudump_CXXDTARGETS := $(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(notdir $(workbench-c-m68k-mmudump_CXXBASENAMES:=.d))) + workbench-c-m68k-mmudump_MCXX_WILDCARD := $(workbench-c-m68k-mmudump_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-c-m68k-mmudump_CXXTARGETS) $(workbench-c-m68k-mmudump_CXXDTARGETS) : | $(workbench-c-m68k-mmudump_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-c-m68k-mmudump_MCXX_CPPFLAGS := $(workbench-c-m68k-mmudump_CPPFLAGS) +workbench-c-m68k-mmudump_CXXFLAGS := $(workbench-c-m68k-mmudump_CXXFLAGS) +ifeq ($(workbench-c-m68k-mmudump_DXXFLAGS),) + workbench-c-m68k-mmudump_DXXFLAGS := $(workbench-c-m68k-mmudump_CXXFLAGS) +else + workbench-c-m68k-mmudump_DXXFLAGS := $(workbench-c-m68k-mmudump_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-c-m68k-mmudump_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-c-m68k-mmudump_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-c-m68k-mmudump_CXXCMD:=$(HOST_CXX) + workbench-c-m68k-mmudump_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-c-m68k-mmudump_MCXX_CPPFLAGS) $(workbench-c-m68k-mmudump_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-mmudump_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-mmudump_CXXFLAGS)) + workbench-c-m68k-mmudump_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-mmudump_DXXFLAGS)) + workbench-c-m68k-mmudump_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-c-m68k-mmudump_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-c-m68k-mmudump_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-mmudump_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-c-m68k-mmudump_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-c-m68k-mmudump_MCXX_CPPFLAGS := $(strip $(workbench-c-m68k-mmudump_MCXX_CPPFLAGS) $(workbench-c-m68k-mmudump_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-mmudump_CXXFLAGS := $(strip $(workbench-c-m68k-mmudump_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-c-m68k-mmudump_DXXFLAGS := $(workbench-c-m68k-mmudump_DXXFLAGS) + workbench-c-m68k-mmudump_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-c-m68k-mmudump_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-c-m68k-mmudump_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-mmudump_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-c-m68k-mmudump_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-c-m68k-mmudump_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-c-m68k-mmudump_MCXX_CPPFLAGS) $(workbench-c-m68k-mmudump_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-mmudump_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-mmudump_CXXFLAGS)) + workbench-c-m68k-mmudump_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-mmudump_DXXFLAGS)) + workbench-c-m68k-mmudump_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-c-m68k-mmudump_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-c-m68k-mmudump_CXXCMD) $(workbench-c-m68k-mmudump_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-mmudump_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_CXXIQUOTE) . $(workbench-c-m68k-mmudump_CXXIQUOTE_END) $(strip $(workbench-c-m68k-mmudump_CXXFLAGS) $(workbench-c-m68k-mmudump_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-c-m68k-mmudump_CXXCMD) $(workbench-c-m68k-mmudump_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-mmudump_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_CXXIQUOTE) . $(workbench-c-m68k-mmudump_CXXIQUOTE_END) $(strip $(workbench-c-m68k-mmudump_CXXFLAGS) $(workbench-c-m68k-mmudump_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-c-m68k-mmudump_CXXCMD) $(workbench-c-m68k-mmudump_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-mmudump_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_CXXIQUOTE) . $(workbench-c-m68k-mmudump_CXXIQUOTE_END) $(strip $(workbench-c-m68k-mmudump_CXXFLAGS) $(workbench-c-m68k-mmudump_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-c-m68k-mmudump_CXXCMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-mmudump_DXXFLAGS) $(workbench-c-m68k-mmudump_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-c-m68k-mmudump_OBJDIR),) + $(foreach workbench-c-m68k-mmudump_CXXFILE,$(workbench-c-m68k-mmudump_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-c-m68k-mmudump_CXXFILE))),$(workbench-c-m68k-mmudump_CXXFILE)))) +else + $(foreach workbench-c-m68k-mmudump_CXXFILE,$(workbench-c-m68k-mmudump_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(notdir $(basename $(workbench-c-m68k-mmudump_CXXFILE)))),$(workbench-c-m68k-mmudump_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-c-m68k-mmudump_OBJC_NARCHFILES),) + +ifeq (,) +workbench-c-m68k-mmudump_MOBJC_SRCWILDCARD := % +else +workbench-c-m68k-mmudump_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-mmudump_OBJDIR),) + workbench-c-m68k-mmudump_MOBJC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-mmudump_OBJC_NARCHFILES)) + workbench-c-m68k-mmudump_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-mmudump_OBJC_NARCHFILES)) + workbench-c-m68k-mmudump_MOBJC_WILDCARD := % +else + workbench-c-m68k-mmudump_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(workbench-c-m68k-mmudump_OBJC_NARCHFILES))) + workbench-c-m68k-mmudump_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(workbench-c-m68k-mmudump_OBJC_NARCHFILES))) + workbench-c-m68k-mmudump_MOBJC_WILDCARD := $(workbench-c-m68k-mmudump_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-c-m68k-mmudump_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-c-m68k-mmudump_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-c-m68k-mmudump_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-mmudump_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-c-m68k-mmudump_MOBJC_DIRS := $(foreach dir, $(workbench-c-m68k-mmudump_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-mmudump_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-c-m68k-mmudump_MOBJC_DIRS),) + workbench-c-m68k-mmudump_MOBJC_DIRS := $(shell echo $(workbench-c-m68k-mmudump_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-c-m68k-mmudump_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-c-m68k-mmudump_CC := $(TARGET_CC) +else + workbench-c-m68k-mmudump_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-c-m68k-mmudump_MOBJC_CPPFLAGS := $(workbench-c-m68k-mmudump_CPPFLAGS) +workbench-c-m68k-mmudump_OBJCFLAGS := $(workbench-c-m68k-mmudump_CFLAGS) +workbench-c-m68k-mmudump_OBJCFLAGS := $(workbench-c-m68k-mmudump_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-c-m68k-mmudump_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-c-m68k-mmudump_OBJCFLAGS))) +ifeq ($(workbench-c-m68k-mmudump_DFLAGS),) + workbench-c-m68k-mmudump_OBJCDFLAGS := $(workbench-c-m68k-mmudump_CFLAGS) +else + workbench-c-m68k-mmudump_OBJCDFLAGS := $(workbench-c-m68k-mmudump_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-c-m68k-mmudump_LINK ?= $(strip $(workbench-c-m68k-mmudump_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-mmudump_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-c-m68k-mmudump_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_MOBJC_CPPFLAGS:=$(strip $(workbench-c-m68k-mmudump_MOBJC_CPPFLAGS) $(workbench-c-m68k-mmudump_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_OBJCFLAGS:=$(strip $(workbench-c-m68k-mmudump_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_OBJCDFLAGS:=$(workbench-c-m68k-mmudump_OBJCDFLAGS) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-c-m68k-mmudump_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-c-m68k-mmudump_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-c-m68k-mmudump_MOBJC_CPPFLAGS) $(workbench-c-m68k-mmudump_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-mmudump_OBJCFLAGS)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-mmudump_OBJCDFLAGS)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE:=$(HOST_IQUOTE) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-c-m68k-mmudump_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-mmudump_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-c-m68k-mmudump_MOBJC_CPPFLAGS) $(workbench-c-m68k-mmudump_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-mmudump_OBJCFLAGS)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-mmudump_OBJCDFLAGS)) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-c-m68k-mmudump_MOBJC_TARGETS) $(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-mmudump_MOBJC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-mmudump_MOBJC_CPPFLAGS) +$(workbench-c-m68k-mmudump_MOBJC_TARGETS) : CFLAGS := $(workbench-c-m68k-mmudump_OBJCFLAGS) +$(workbench-c-m68k-mmudump_MOBJC_TARGETS) : $(workbench-c-m68k-mmudump_MOBJC_WILDCARD).o : $(workbench-c-m68k-mmudump_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-mmudump_IQUOTE) $(dir $<) $(workbench-c-m68k-mmudump_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_IQUOTE) . $(workbench-c-m68k-mmudump_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-mmudump_IQUOTE) $(dir $<) $(workbench-c-m68k-mmudump_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_IQUOTE) . $(workbench-c-m68k-mmudump_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-mmudump_IQUOTE) $(dir $<) $(workbench-c-m68k-mmudump_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_IQUOTE) . $(workbench-c-m68k-mmudump_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-mmudump_MOBJC_DTARGETS) : $(workbench-c-m68k-mmudump_MOBJC_WILDCARD).d : $(workbench-c-m68k-mmudump_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-mmudump_OBJCDFLAGS) $(workbench-c-m68k-mmudump_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-c-m68k-mmudump_MC_SRCWILDCARD := % +else +workbench-c-m68k-mmudump_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-mmudump_OBJDIR),) +workbench-c-m68k-mmudump_MC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-mmudump_C_NARCHFILES)) +workbench-c-m68k-mmudump_MC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-mmudump_C_NARCHFILES)) +workbench-c-m68k-mmudump_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-m68k-mmudump_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(notdir $(workbench-c-m68k-mmudump_C_NARCHFILES)))) + workbench-c-m68k-mmudump_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(notdir $(workbench-c-m68k-mmudump_C_NARCHFILES)))) +else +ifeq (,) + workbench-c-m68k-mmudump_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(workbench-c-m68k-mmudump_C_NARCHFILES))) + workbench-c-m68k-mmudump_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(workbench-c-m68k-mmudump_C_NARCHFILES))) +else + workbench-c-m68k-mmudump_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-mmudump_C_NARCHFILES)))) + workbench-c-m68k-mmudump_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-mmudump_C_NARCHFILES)))) +endif +endif +workbench-c-m68k-mmudump_MC_TGTWILDCARD := $(workbench-c-m68k-mmudump_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-m68k-mmudump_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-mmudump_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-mmudump_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-mmudump_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-mmudump_MC_DIRS := $(foreach dir, $(workbench-c-m68k-mmudump_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-mmudump_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-mmudump_MC_DIRS),) + workbench-c-m68k-mmudump_MC_DIRS := $(shell echo $(workbench-c-m68k-mmudump_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-m68k-mmudump_MC_DIRS) +endif + +endif + +workbench-c-m68k-mmudump_MC_CPPFLAGS := $(workbench-c-m68k-mmudump_CPPFLAGS) +workbench-c-m68k-mmudump_CFLAGS := $(workbench-c-m68k-mmudump_CFLAGS) +ifeq ($(workbench-c-m68k-mmudump_DFLAGS),) + workbench-c-m68k-mmudump_DFLAGS := $(workbench-c-m68k-mmudump_CFLAGS) +else + workbench-c-m68k-mmudump_DFLAGS := $(workbench-c-m68k-mmudump_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-m68k-mmudump_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-m68k-mmudump_STRIP ?= $(TARGET_STRIP) +workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_MC_CPPFLAGS:=$(strip $(workbench-c-m68k-mmudump_MC_CPPFLAGS) $(workbench-c-m68k-mmudump_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_CFLAGS:=$(strip $(workbench-c-m68k-mmudump_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_DFLAGS:=$(workbench-c-m68k-mmudump_DFLAGS) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-m68k-mmudump_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-m68k-mmudump_STRIP ?= $(HOST_STRIP) +workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-m68k-mmudump_MC_CPPFLAGS) $(workbench-c-m68k-mmudump_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-mmudump_CFLAGS)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-mmudump_DFLAGS)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-m68k-mmudump_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-m68k-mmudump_STRIP ?= $(ECHO) >/dev/null +workbench-c-m68k-mmudump_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-m68k-mmudump_MC_CPPFLAGS) $(workbench-c-m68k-mmudump_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-mmudump_CFLAGS)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-mmudump_DFLAGS)) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-m68k-mmudump_MC_TARGETS) $(workbench-c-m68k-mmudump_MC_DTARGETS) : workbench-c-m68k-mmudump_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-mmudump_MC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-mmudump_MC_CPPFLAGS) +$(workbench-c-m68k-mmudump_MC_TARGETS) : CFLAGS := $(workbench-c-m68k-mmudump_CFLAGS) +$(workbench-c-m68k-mmudump_MC_TARGETS) : $(workbench-c-m68k-mmudump_MC_TGTWILDCARD).o : $(workbench-c-m68k-mmudump_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-mmudump_IQUOTE) $(dir $<) $(workbench-c-m68k-mmudump_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_IQUOTE) . $(workbench-c-m68k-mmudump_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-mmudump_IQUOTE) $(dir $<) $(workbench-c-m68k-mmudump_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_IQUOTE) . $(workbench-c-m68k-mmudump_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-mmudump_IQUOTE) $(dir $<) $(workbench-c-m68k-mmudump_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-mmudump_IQUOTE) . $(workbench-c-m68k-mmudump_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-mmudump_MC_DTARGETS) : $(workbench-c-m68k-mmudump_MC_TGTWILDCARD).d : $(workbench-c-m68k-mmudump_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-mmudump_DFLAGS) $(workbench-c-m68k-mmudump_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-c-m68k-mmudump_OBJDIR),) +workbench-c-m68k-mmudump-MA_TARGETS := $(addsuffix .o,$(workbench-c-m68k-mmudump_ASMFILES)) +workbench-c-m68k-mmudump-MA_WILDCARD := % +else +workbench-c-m68k-mmudump-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-mmudump_OBJDIR)/,$(notdir $(workbench-c-m68k-mmudump_ASMFILES)))) +workbench-c-m68k-mmudump-MA_WILDCARD := $(workbench-c-m68k-mmudump_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-c-m68k-mmudump-MA_TARGETS) : | $(addsuffix .s,$(workbench-c-m68k-mmudump_ASMFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-mmudump-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-mmudump-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-mmudump_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-mmudump-MA_DIRS := $(foreach dir, $(workbench-c-m68k-mmudump-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-mmudump-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-mmudump-MA_DIRS),) + workbench-c-m68k-mmudump-MA_DIRS := $(shell echo $(workbench-c-m68k-mmudump-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-c-m68k-mmudump-MA_DIRS) +endif + +endif + +workbench-c-m68k-mmudump-MA_ASSEMBLER ?= $(workbench-c-m68k-mmudump_ASSEMBLER) + +$(workbench-c-m68k-mmudump-MA_TARGETS) : workbench-c-m68k-mmudump-MA_CMD:= $(workbench-c-m68k-mmudump-MA_ASSEMBLER) + +$(workbench-c-m68k-mmudump-MA_TARGETS) : CPPFLAGS := $(workbench-c-m68k-mmudump_CPPFLAGS) +$(workbench-c-m68k-mmudump-MA_TARGETS) : AFLAGS := $(workbench-c-m68k-mmudump_AFLAGS) +$(workbench-c-m68k-mmudump-MA_TARGETS) : $(workbench-c-m68k-mmudump-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-c-m68k-mmudump-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-c-m68k-mmudump-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-c-m68k-mmudump-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-c-m68k-mmudump-link_EXTRA_LDFLAGS := +workbench-c-m68k-mmudump-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-m68k-mmudump-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-c-m68k-mmudump-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-c-m68k-mmudump-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-c-m68k-mmudump-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-m68k-mmudump_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-m68k-mmudump-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-m68k-mmudump-link_DIRS))) +# Add trailing / +workbench-c-m68k-mmudump-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-m68k-mmudump-link_DIRS))) +# Add normal linklib path +workbench-c-m68k-mmudump-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-m68k-mmudump-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-m68k-mmudump_LIBS) $(workbench-c-m68k-mmudump-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-c-m68k-mmudump-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-c-m68k-mmudump-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-c-m68k-mmudump-link_DEPLIBS := $(foreach lib,$(workbench-c-m68k-mmudump-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-m68k-mmudump-link_DIRS)))) \ +) + +$(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) : OBJDIR := $(workbench-c-m68k-mmudump_OBJDIR) +$(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) : OBJS := $(workbench-c-m68k-mmudump_OBJS) $(workbench-c-m68k-mmudump_ARCHOBJS) $(USER_OBJS) +$(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) : LDFLAGS := $(strip $(workbench-c-m68k-mmudump_LDFLAGS) $(workbench-c-m68k-mmudump-link_EXTRA_LDFLAGS)) +$(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) : LIBS := $(addprefix -l,$(workbench-c-m68k-mmudump_LIBS) $(workbench-c-m68k-mmudump-link_EXTRA_LIBS) ) +$(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) : $(workbench-c-m68k-mmudump_OBJS) $(workbench-c-m68k-mmudump_ARCHOBJS) $(USER_OBJS) $(workbench-c-m68k-mmudump-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-m68k-mmudump_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-m68k-mmudump_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-m68k-mmudump_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-mmudump_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-m68k-mmudump_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-m68k-mmudump_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-mmudump_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-m68k-mmudump_DEPS),) + ifneq (workbench-c-m68k-mmudump workbench-c-m68k-mmudump-quick,) + ifneq ($(findstring $(TARGET),workbench-c-m68k-mmudump workbench-c-m68k-mmudump-quick),) + -include $(workbench-c-m68k-mmudump_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-m68k-mmudump_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-m68k-mmudump_OBJS) $(workbench-c-m68k-mmudump_DEPS) $(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME),) +$(workbench-c-m68k-mmudump_OBJS) $(workbench-c-m68k-mmudump_DEPS) $(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) : | $(workbench-c-m68k-mmudump_OBJDIR) $(workbench-c-m68k-mmudump_TARGETDIR) +else +$(workbench-c-m68k-mmudump_OBJS) $(workbench-c-m68k-mmudump_DEPS) $(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) :: $(workbench-c-m68k-mmudump_OBJDIR) $(workbench-c-m68k-mmudump_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-c-m68k-mmudump_OBJDIR) $(workbench-c-m68k-mmudump_TARGETDIR) + + +workbench-c-m68k-mmudump-clean : FILES := $(workbench-c-m68k-mmudump_OBJS) $(workbench-c-m68k-mmudump_TARGETDIR)/$(workbench-c-m68k-mmudump_PROGNAME) $(workbench-c-m68k-mmudump_DEPS) +#MM +workbench-c-m68k-mmudump-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-m68k-mmudump" + $(Q)$(RM) $(FILES) + + +CFILES := SetPatch +#USER_INCLUDES := -isystem + + +.PHONY : workbench-c-m68k-setpatch + +workbench-c-m68k-setpatch_PROGNAME := SetPatch +workbench-c-m68k-setpatch_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-m68k-setpatch_TARGETDIR := $(AROS_C) +workbench-c-m68k-setpatch_LINKER := +workbench-c-m68k-setpatch_LIBS := setpatch +# If not supplied, linker is equal to compiler +ifeq ($(workbench-c-m68k-setpatch_LINKER),) + workbench-c-m68k-setpatch_LINKER := target +endif + +ifneq ("$(strip $(CFILES) )","") + workbench-c-m68k-setpatch_FILES := $(CFILES) + workbench-c-m68k-setpatch_OBJCFILES := + workbench-c-m68k-setpatch_ASMFILES := + workbench-c-m68k-setpatch_CXXFILES := +else + workbench-c-m68k-setpatch_FILES := $(workbench-c-m68k-setpatch_PROGNAME) + workbench-c-m68k-setpatch_OBJCFILES := + workbench-c-m68k-setpatch_ASMFILES := + workbench-c-m68k-setpatch_CXXFILES := +endif + +workbench-c-m68k-setpatch_ARCHOBJS := $(wildcard $(workbench-c-m68k-setpatch_OBJDIR)/arch/*.o) +workbench-c-m68k-setpatch_ARCHFILES := $(basename $(notdir $(workbench-c-m68k-setpatch_ARCHOBJS))) +workbench-c-m68k-setpatch_C_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatch_ARCHFILES),$(workbench-c-m68k-setpatch_FILES)) +workbench-c-m68k-setpatch_CXX_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatch_ARCHFILES),$(workbench-c-m68k-setpatch_CXXFILES)) +workbench-c-m68k-setpatch_OBJC_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatch_ARCHFILES),$(workbench-c-m68k-setpatch_OBJCFILES)) + +TMP_FILES := $(workbench-c-m68k-setpatch_C_NARCHFILES) $(workbench-c-m68k-setpatch_CXX_NARCHFILES) $(workbench-c-m68k-setpatch_ASMFILES) $(workbench-c-m68k-setpatch_OBJC_NARCHFILES) +workbench-c-m68k-setpatch_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-c-m68k-setpatch_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-c-m68k-setpatch_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-c-m68k-setpatch_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatch_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatch_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-c-m68k-setpatch_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatch_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatch_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-c-m68k-setpatch_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatch_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatch_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-c-m68k-setpatch_LDFLAGS := +endif + +workbench-c-m68k-setpatch_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-c-m68k-setpatch_COVERAGE := yes +workbench-c-m68k-setpatch_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-m68k-setpatch_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-m68k-setpatch_CFLAGS := $(strip $(workbench-c-m68k-setpatch_COVERAGEFLAGS) $(workbench-c-m68k-setpatch_CFLAGS)) +workbench-c-m68k-setpatch_CXXFLAGS := $(strip $(workbench-c-m68k-setpatch_COVERAGEFLAGS) $(workbench-c-m68k-setpatch_CXXFLAGS)) +workbench-c-m68k-setpatch_LIBS += $(workbench-c-m68k-setpatch_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-m68k-setpatch_FUNCINSTR := yes +workbench-c-m68k-setpatch_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-m68k-setpatch_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-m68k-setpatch_CFLAGS := $(strip $(workbench-c-m68k-setpatch_INSTRFUNCFLAGS) $(workbench-c-m68k-setpatch_CFLAGS)) +workbench-c-m68k-setpatch_CXXFLAGS := $(strip $(workbench-c-m68k-setpatch_INSTRFUNCFLAGS) $(workbench-c-m68k-setpatch_CXXFLAGS)) +workbench-c-m68k-setpatch_LIBS += $(workbench-c-m68k-setpatch_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-c-m68k-setpatch_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-setpatch_CFLAGS)) +workbench-c-m68k-setpatch_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-setpatch_CXXFLAGS)) +endif +endif +workbench-c-m68k-setpatch_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-c-m68k-setpatch_DFLAGS := +else + workbench-c-m68k-setpatch_DFLAGS := $(workbench-c-m68k-setpatch_CFLAGS) +endif +ifneq (,) + workbench-c-m68k-setpatch_DXXFLAGS := +else + workbench-c-m68k-setpatch_DXXFLAGS := $(workbench-c-m68k-setpatch_CXXFLAGS) +endif +ifeq (target,target) +workbench-c-m68k-setpatch_LDFLAGS := $(workbench-c-m68k-setpatch_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatch_LDFLAGS := $(workbench-c-m68k-setpatch_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch_LDFLAGS := $(workbench-c-m68k-setpatch_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-c-m68k-setpatch_LDFLAGS += -L +endif + +#MM +workbench-c-m68k-setpatch-quick : workbench-c-m68k-setpatch + +#MM workbench-c-m68k-setpatch : includes-generate-deps core-linklibs +workbench-c-m68k-setpatch : $(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-c-m68k-setpatch workbench-c-m68k-setpatch-quick workbench-c-m68k-setpatch-gz-quick),) + +workbench-c-m68k-setpatch_CXXABSBASENAMES := $(foreach workbench-c-m68k-setpatch_CXXBASE,$(workbench-c-m68k-setpatch_CXX_NARCHFILES),$(if $(filter /%,$(workbench-c-m68k-setpatch_CXXBASE)),$(workbench-c-m68k-setpatch_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-c-m68k-setpatch_CXXBASE)))) + +ifneq ($(workbench-c-m68k-setpatch_CXXABSBASENAMES),) + +workbench-c-m68k-setpatch_CXXBASENAMES := $(basename $(workbench-c-m68k-setpatch_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-c-m68k-setpatch_MCXX_FILES := $(strip $(foreach workbench-c-m68k-setpatch_CXXBASE,$(workbench-c-m68k-setpatch_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-c-m68k-setpatch_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-c-m68k-setpatch_EXT),$(workbench-c-m68k-setpatch_CXXBASE))))))) + +ifeq (,) +workbench-c-m68k-setpatch_MCXX_SRCWILDCARD := % +else +workbench-c-m68k-setpatch_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatch_OBJDIR),) + workbench-c-m68k-setpatch_CXXTARGETS := $(notdir $(workbench-c-m68k-setpatch_CXXBASENAMES:=.o)) + workbench-c-m68k-setpatch_CXXDTARGETS := $(notdir $(workbench-c-m68k-setpatch_CXXBASENAMES:=.d)) + workbench-c-m68k-setpatch_MCXX_WILDCARD := % +else + workbench-c-m68k-setpatch_CXXTARGETS := $(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch_CXXBASENAMES:=.o))) + workbench-c-m68k-setpatch_CXXDTARGETS := $(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch_CXXBASENAMES:=.d))) + workbench-c-m68k-setpatch_MCXX_WILDCARD := $(workbench-c-m68k-setpatch_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-c-m68k-setpatch_CXXTARGETS) $(workbench-c-m68k-setpatch_CXXDTARGETS) : | $(workbench-c-m68k-setpatch_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-c-m68k-setpatch_MCXX_CPPFLAGS := $(workbench-c-m68k-setpatch_CPPFLAGS) +workbench-c-m68k-setpatch_CXXFLAGS := $(workbench-c-m68k-setpatch_CXXFLAGS) +ifeq ($(workbench-c-m68k-setpatch_DXXFLAGS),) + workbench-c-m68k-setpatch_DXXFLAGS := $(workbench-c-m68k-setpatch_CXXFLAGS) +else + workbench-c-m68k-setpatch_DXXFLAGS := $(workbench-c-m68k-setpatch_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-c-m68k-setpatch_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-c-m68k-setpatch_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-c-m68k-setpatch_CXXCMD:=$(HOST_CXX) + workbench-c-m68k-setpatch_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatch_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-setpatch_CXXFLAGS)) + workbench-c-m68k-setpatch_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-setpatch_DXXFLAGS)) + workbench-c-m68k-setpatch_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-c-m68k-setpatch_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-c-m68k-setpatch_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-setpatch_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-c-m68k-setpatch_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-c-m68k-setpatch_MCXX_CPPFLAGS := $(strip $(workbench-c-m68k-setpatch_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatch_CXXFLAGS := $(strip $(workbench-c-m68k-setpatch_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-c-m68k-setpatch_DXXFLAGS := $(workbench-c-m68k-setpatch_DXXFLAGS) + workbench-c-m68k-setpatch_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-c-m68k-setpatch_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-c-m68k-setpatch_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-setpatch_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-c-m68k-setpatch_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-c-m68k-setpatch_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatch_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-setpatch_CXXFLAGS)) + workbench-c-m68k-setpatch_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-setpatch_DXXFLAGS)) + workbench-c-m68k-setpatch_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-c-m68k-setpatch_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-c-m68k-setpatch_CXXCMD) $(workbench-c-m68k-setpatch_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatch_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_CXXIQUOTE) . $(workbench-c-m68k-setpatch_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatch_CXXFLAGS) $(workbench-c-m68k-setpatch_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-c-m68k-setpatch_CXXCMD) $(workbench-c-m68k-setpatch_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatch_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_CXXIQUOTE) . $(workbench-c-m68k-setpatch_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatch_CXXFLAGS) $(workbench-c-m68k-setpatch_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-c-m68k-setpatch_CXXCMD) $(workbench-c-m68k-setpatch_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatch_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_CXXIQUOTE) . $(workbench-c-m68k-setpatch_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatch_CXXFLAGS) $(workbench-c-m68k-setpatch_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-c-m68k-setpatch_CXXCMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatch_DXXFLAGS) $(workbench-c-m68k-setpatch_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-c-m68k-setpatch_OBJDIR),) + $(foreach workbench-c-m68k-setpatch_CXXFILE,$(workbench-c-m68k-setpatch_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-c-m68k-setpatch_CXXFILE))),$(workbench-c-m68k-setpatch_CXXFILE)))) +else + $(foreach workbench-c-m68k-setpatch_CXXFILE,$(workbench-c-m68k-setpatch_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(notdir $(basename $(workbench-c-m68k-setpatch_CXXFILE)))),$(workbench-c-m68k-setpatch_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-c-m68k-setpatch_OBJC_NARCHFILES),) + +ifeq (,) +workbench-c-m68k-setpatch_MOBJC_SRCWILDCARD := % +else +workbench-c-m68k-setpatch_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatch_OBJDIR),) + workbench-c-m68k-setpatch_MOBJC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatch_OBJC_NARCHFILES)) + workbench-c-m68k-setpatch_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-setpatch_OBJC_NARCHFILES)) + workbench-c-m68k-setpatch_MOBJC_WILDCARD := % +else + workbench-c-m68k-setpatch_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(workbench-c-m68k-setpatch_OBJC_NARCHFILES))) + workbench-c-m68k-setpatch_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(workbench-c-m68k-setpatch_OBJC_NARCHFILES))) + workbench-c-m68k-setpatch_MOBJC_WILDCARD := $(workbench-c-m68k-setpatch_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-c-m68k-setpatch_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-c-m68k-setpatch_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-c-m68k-setpatch_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatch_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-c-m68k-setpatch_MOBJC_DIRS := $(foreach dir, $(workbench-c-m68k-setpatch_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatch_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-c-m68k-setpatch_MOBJC_DIRS),) + workbench-c-m68k-setpatch_MOBJC_DIRS := $(shell echo $(workbench-c-m68k-setpatch_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-c-m68k-setpatch_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-c-m68k-setpatch_CC := $(TARGET_CC) +else + workbench-c-m68k-setpatch_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-c-m68k-setpatch_MOBJC_CPPFLAGS := $(workbench-c-m68k-setpatch_CPPFLAGS) +workbench-c-m68k-setpatch_OBJCFLAGS := $(workbench-c-m68k-setpatch_CFLAGS) +workbench-c-m68k-setpatch_OBJCFLAGS := $(workbench-c-m68k-setpatch_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-c-m68k-setpatch_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-c-m68k-setpatch_OBJCFLAGS))) +ifeq ($(workbench-c-m68k-setpatch_DFLAGS),) + workbench-c-m68k-setpatch_OBJCDFLAGS := $(workbench-c-m68k-setpatch_CFLAGS) +else + workbench-c-m68k-setpatch_OBJCDFLAGS := $(workbench-c-m68k-setpatch_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-c-m68k-setpatch_LINK ?= $(strip $(workbench-c-m68k-setpatch_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-setpatch_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-c-m68k-setpatch_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_MOBJC_CPPFLAGS:=$(strip $(workbench-c-m68k-setpatch_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_OBJCFLAGS:=$(strip $(workbench-c-m68k-setpatch_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_OBJCDFLAGS:=$(workbench-c-m68k-setpatch_OBJCDFLAGS) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-c-m68k-setpatch_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-c-m68k-setpatch_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatch_OBJCFLAGS)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatch_OBJCDFLAGS)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE:=$(HOST_IQUOTE) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-c-m68k-setpatch_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-setpatch_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatch_OBJCFLAGS)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatch_OBJCDFLAGS)) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-c-m68k-setpatch_MOBJC_TARGETS) $(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-setpatch_MOBJC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatch_MOBJC_CPPFLAGS) +$(workbench-c-m68k-setpatch_MOBJC_TARGETS) : CFLAGS := $(workbench-c-m68k-setpatch_OBJCFLAGS) +$(workbench-c-m68k-setpatch_MOBJC_TARGETS) : $(workbench-c-m68k-setpatch_MOBJC_WILDCARD).o : $(workbench-c-m68k-setpatch_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-setpatch_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_IQUOTE) . $(workbench-c-m68k-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-setpatch_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_IQUOTE) . $(workbench-c-m68k-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-setpatch_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_IQUOTE) . $(workbench-c-m68k-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-setpatch_MOBJC_DTARGETS) : $(workbench-c-m68k-setpatch_MOBJC_WILDCARD).d : $(workbench-c-m68k-setpatch_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatch_OBJCDFLAGS) $(workbench-c-m68k-setpatch_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-c-m68k-setpatch_MC_SRCWILDCARD := % +else +workbench-c-m68k-setpatch_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatch_OBJDIR),) +workbench-c-m68k-setpatch_MC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatch_C_NARCHFILES)) +workbench-c-m68k-setpatch_MC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-setpatch_C_NARCHFILES)) +workbench-c-m68k-setpatch_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-m68k-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch_C_NARCHFILES)))) + workbench-c-m68k-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch_C_NARCHFILES)))) +else +ifeq (,) + workbench-c-m68k-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(workbench-c-m68k-setpatch_C_NARCHFILES))) + workbench-c-m68k-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(workbench-c-m68k-setpatch_C_NARCHFILES))) +else + workbench-c-m68k-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-setpatch_C_NARCHFILES)))) + workbench-c-m68k-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-setpatch_C_NARCHFILES)))) +endif +endif +workbench-c-m68k-setpatch_MC_TGTWILDCARD := $(workbench-c-m68k-setpatch_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-m68k-setpatch_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-setpatch_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-setpatch_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatch_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-setpatch_MC_DIRS := $(foreach dir, $(workbench-c-m68k-setpatch_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatch_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-setpatch_MC_DIRS),) + workbench-c-m68k-setpatch_MC_DIRS := $(shell echo $(workbench-c-m68k-setpatch_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-m68k-setpatch_MC_DIRS) +endif + +endif + +workbench-c-m68k-setpatch_MC_CPPFLAGS := $(workbench-c-m68k-setpatch_CPPFLAGS) +workbench-c-m68k-setpatch_CFLAGS := $(workbench-c-m68k-setpatch_CFLAGS) +ifeq ($(workbench-c-m68k-setpatch_DFLAGS),) + workbench-c-m68k-setpatch_DFLAGS := $(workbench-c-m68k-setpatch_CFLAGS) +else + workbench-c-m68k-setpatch_DFLAGS := $(workbench-c-m68k-setpatch_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-m68k-setpatch_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-m68k-setpatch_STRIP ?= $(TARGET_STRIP) +workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_MC_CPPFLAGS:=$(strip $(workbench-c-m68k-setpatch_MC_CPPFLAGS) $(workbench-c-m68k-setpatch_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_CFLAGS:=$(strip $(workbench-c-m68k-setpatch_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_DFLAGS:=$(workbench-c-m68k-setpatch_DFLAGS) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-m68k-setpatch_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-m68k-setpatch_STRIP ?= $(HOST_STRIP) +workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-m68k-setpatch_MC_CPPFLAGS) $(workbench-c-m68k-setpatch_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatch_CFLAGS)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatch_DFLAGS)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-m68k-setpatch_STRIP ?= $(ECHO) >/dev/null +workbench-c-m68k-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-m68k-setpatch_MC_CPPFLAGS) $(workbench-c-m68k-setpatch_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatch_CFLAGS)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatch_DFLAGS)) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-m68k-setpatch_MC_TARGETS) $(workbench-c-m68k-setpatch_MC_DTARGETS) : workbench-c-m68k-setpatch_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-setpatch_MC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatch_MC_CPPFLAGS) +$(workbench-c-m68k-setpatch_MC_TARGETS) : CFLAGS := $(workbench-c-m68k-setpatch_CFLAGS) +$(workbench-c-m68k-setpatch_MC_TARGETS) : $(workbench-c-m68k-setpatch_MC_TGTWILDCARD).o : $(workbench-c-m68k-setpatch_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-setpatch_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_IQUOTE) . $(workbench-c-m68k-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-setpatch_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_IQUOTE) . $(workbench-c-m68k-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-setpatch_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch_IQUOTE) . $(workbench-c-m68k-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-setpatch_MC_DTARGETS) : $(workbench-c-m68k-setpatch_MC_TGTWILDCARD).d : $(workbench-c-m68k-setpatch_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatch_DFLAGS) $(workbench-c-m68k-setpatch_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-c-m68k-setpatch_OBJDIR),) +workbench-c-m68k-setpatch-MA_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatch_ASMFILES)) +workbench-c-m68k-setpatch-MA_WILDCARD := % +else +workbench-c-m68k-setpatch-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch_ASMFILES)))) +workbench-c-m68k-setpatch-MA_WILDCARD := $(workbench-c-m68k-setpatch_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-c-m68k-setpatch-MA_TARGETS) : | $(addsuffix .s,$(workbench-c-m68k-setpatch_ASMFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-setpatch-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-setpatch-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatch_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-setpatch-MA_DIRS := $(foreach dir, $(workbench-c-m68k-setpatch-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatch-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-setpatch-MA_DIRS),) + workbench-c-m68k-setpatch-MA_DIRS := $(shell echo $(workbench-c-m68k-setpatch-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-c-m68k-setpatch-MA_DIRS) +endif + +endif + +workbench-c-m68k-setpatch-MA_ASSEMBLER ?= $(workbench-c-m68k-setpatch_ASSEMBLER) + +$(workbench-c-m68k-setpatch-MA_TARGETS) : workbench-c-m68k-setpatch-MA_CMD:= $(workbench-c-m68k-setpatch-MA_ASSEMBLER) + +$(workbench-c-m68k-setpatch-MA_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatch_CPPFLAGS) +$(workbench-c-m68k-setpatch-MA_TARGETS) : AFLAGS := $(workbench-c-m68k-setpatch_AFLAGS) +$(workbench-c-m68k-setpatch-MA_TARGETS) : $(workbench-c-m68k-setpatch-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-c-m68k-setpatch-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-c-m68k-setpatch-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-c-m68k-setpatch-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-c-m68k-setpatch-link_EXTRA_LDFLAGS := +workbench-c-m68k-setpatch-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-m68k-setpatch-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-c-m68k-setpatch-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-c-m68k-setpatch-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-c-m68k-setpatch-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-m68k-setpatch_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-m68k-setpatch-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-m68k-setpatch-link_DIRS))) +# Add trailing / +workbench-c-m68k-setpatch-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-m68k-setpatch-link_DIRS))) +# Add normal linklib path +workbench-c-m68k-setpatch-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-m68k-setpatch-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-m68k-setpatch_LIBS) $(workbench-c-m68k-setpatch-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-c-m68k-setpatch-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-c-m68k-setpatch-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-c-m68k-setpatch-link_DEPLIBS := $(foreach lib,$(workbench-c-m68k-setpatch-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-m68k-setpatch-link_DIRS)))) \ +) + +$(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) : OBJDIR := $(workbench-c-m68k-setpatch_OBJDIR) +$(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) : OBJS := $(workbench-c-m68k-setpatch_OBJS) $(workbench-c-m68k-setpatch_ARCHOBJS) $(USER_OBJS) +$(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) : LDFLAGS := $(strip $(workbench-c-m68k-setpatch_LDFLAGS) $(workbench-c-m68k-setpatch-link_EXTRA_LDFLAGS)) +$(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) : LIBS := $(addprefix -l,$(workbench-c-m68k-setpatch_LIBS) $(workbench-c-m68k-setpatch-link_EXTRA_LIBS) ) +$(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) : $(workbench-c-m68k-setpatch_OBJS) $(workbench-c-m68k-setpatch_ARCHOBJS) $(USER_OBJS) $(workbench-c-m68k-setpatch-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-m68k-setpatch_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-m68k-setpatch_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-m68k-setpatch_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-setpatch_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-m68k-setpatch_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-m68k-setpatch_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-setpatch_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-m68k-setpatch_DEPS),) + ifneq (workbench-c-m68k-setpatch workbench-c-m68k-setpatch-quick,) + ifneq ($(findstring $(TARGET),workbench-c-m68k-setpatch workbench-c-m68k-setpatch-quick),) + -include $(workbench-c-m68k-setpatch_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-m68k-setpatch_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-m68k-setpatch_OBJS) $(workbench-c-m68k-setpatch_DEPS) $(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME),) +$(workbench-c-m68k-setpatch_OBJS) $(workbench-c-m68k-setpatch_DEPS) $(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) : | $(workbench-c-m68k-setpatch_OBJDIR) $(workbench-c-m68k-setpatch_TARGETDIR) +else +$(workbench-c-m68k-setpatch_OBJS) $(workbench-c-m68k-setpatch_DEPS) $(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) :: $(workbench-c-m68k-setpatch_OBJDIR) $(workbench-c-m68k-setpatch_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-c-m68k-setpatch_OBJDIR) $(workbench-c-m68k-setpatch_TARGETDIR) + + +workbench-c-m68k-setpatch-clean : FILES := $(workbench-c-m68k-setpatch_OBJS) $(workbench-c-m68k-setpatch_TARGETDIR)/$(workbench-c-m68k-setpatch_PROGNAME) $(workbench-c-m68k-setpatch_DEPS) +#MM +workbench-c-m68k-setpatch-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-m68k-setpatch" + $(Q)$(RM) $(FILES) + + +# Some Tests to check SetPatch functionality .. + +CFILES := test-cas +TARGET_ISA_CFLAGS := $(ISA_MC68020_FLAGS) +USER_LDFLAGS := + + +.PHONY : workbench-c-m68k-setpatch-testcas + +workbench-c-m68k-setpatch-testcas_PROGNAME := test-CAS +workbench-c-m68k-setpatch-testcas_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-m68k-setpatch-testcas_TARGETDIR := $(AROS_TESTS)/m68k +workbench-c-m68k-setpatch-testcas_LINKER := +workbench-c-m68k-setpatch-testcas_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-c-m68k-setpatch-testcas_LINKER),) + workbench-c-m68k-setpatch-testcas_LINKER := target +endif + +ifneq ("$(strip $(CFILES) )","") + workbench-c-m68k-setpatch-testcas_FILES := $(CFILES) + workbench-c-m68k-setpatch-testcas_OBJCFILES := + workbench-c-m68k-setpatch-testcas_ASMFILES := + workbench-c-m68k-setpatch-testcas_CXXFILES := +else + workbench-c-m68k-setpatch-testcas_FILES := $(workbench-c-m68k-setpatch-testcas_PROGNAME) + workbench-c-m68k-setpatch-testcas_OBJCFILES := + workbench-c-m68k-setpatch-testcas_ASMFILES := + workbench-c-m68k-setpatch-testcas_CXXFILES := +endif + +workbench-c-m68k-setpatch-testcas_ARCHOBJS := $(wildcard $(workbench-c-m68k-setpatch-testcas_OBJDIR)/arch/*.o) +workbench-c-m68k-setpatch-testcas_ARCHFILES := $(basename $(notdir $(workbench-c-m68k-setpatch-testcas_ARCHOBJS))) +workbench-c-m68k-setpatch-testcas_C_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatch-testcas_ARCHFILES),$(workbench-c-m68k-setpatch-testcas_FILES)) +workbench-c-m68k-setpatch-testcas_CXX_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatch-testcas_ARCHFILES),$(workbench-c-m68k-setpatch-testcas_CXXFILES)) +workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES := $(filter-out $(workbench-c-m68k-setpatch-testcas_ARCHFILES),$(workbench-c-m68k-setpatch-testcas_OBJCFILES)) + +TMP_FILES := $(workbench-c-m68k-setpatch-testcas_C_NARCHFILES) $(workbench-c-m68k-setpatch-testcas_CXX_NARCHFILES) $(workbench-c-m68k-setpatch-testcas_ASMFILES) $(workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES) +workbench-c-m68k-setpatch-testcas_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-c-m68k-setpatch-testcas_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-c-m68k-setpatch-testcas_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-c-m68k-setpatch-testcas_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatch-testcas_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatch-testcas_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch-testcas_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-c-m68k-setpatch-testcas_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-c-m68k-setpatch-testcas_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-m68k-setpatch-testcas_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatch-testcas_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch-testcas_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-c-m68k-setpatch-testcas_LDFLAGS := +endif + +workbench-c-m68k-setpatch-testcas_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-c-m68k-setpatch-testcas_COVERAGE := yes +workbench-c-m68k-setpatch-testcas_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-m68k-setpatch-testcas_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-m68k-setpatch-testcas_CFLAGS := $(strip $(workbench-c-m68k-setpatch-testcas_COVERAGEFLAGS) $(workbench-c-m68k-setpatch-testcas_CFLAGS)) +workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(strip $(workbench-c-m68k-setpatch-testcas_COVERAGEFLAGS) $(workbench-c-m68k-setpatch-testcas_CXXFLAGS)) +workbench-c-m68k-setpatch-testcas_LIBS += $(workbench-c-m68k-setpatch-testcas_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-m68k-setpatch-testcas_FUNCINSTR := yes +workbench-c-m68k-setpatch-testcas_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-m68k-setpatch-testcas_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-m68k-setpatch-testcas_CFLAGS := $(strip $(workbench-c-m68k-setpatch-testcas_INSTRFUNCFLAGS) $(workbench-c-m68k-setpatch-testcas_CFLAGS)) +workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(strip $(workbench-c-m68k-setpatch-testcas_INSTRFUNCFLAGS) $(workbench-c-m68k-setpatch-testcas_CXXFLAGS)) +workbench-c-m68k-setpatch-testcas_LIBS += $(workbench-c-m68k-setpatch-testcas_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-c-m68k-setpatch-testcas_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-setpatch-testcas_CFLAGS)) +workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-m68k-setpatch-testcas_CXXFLAGS)) +endif +endif +workbench-c-m68k-setpatch-testcas_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-c-m68k-setpatch-testcas_DFLAGS := +else + workbench-c-m68k-setpatch-testcas_DFLAGS := $(workbench-c-m68k-setpatch-testcas_CFLAGS) +endif +ifneq (,) + workbench-c-m68k-setpatch-testcas_DXXFLAGS := +else + workbench-c-m68k-setpatch-testcas_DXXFLAGS := $(workbench-c-m68k-setpatch-testcas_CXXFLAGS) +endif +ifeq (target,target) +workbench-c-m68k-setpatch-testcas_LDFLAGS := $(workbench-c-m68k-setpatch-testcas_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-m68k-setpatch-testcas_LDFLAGS := $(workbench-c-m68k-setpatch-testcas_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch-testcas_LDFLAGS := $(workbench-c-m68k-setpatch-testcas_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-c-m68k-setpatch-testcas_LDFLAGS += -L +endif + +#MM +workbench-c-m68k-setpatch-testcas-quick : workbench-c-m68k-setpatch-testcas + +#MM workbench-c-m68k-setpatch-testcas : includes-generate-deps core-linklibs +workbench-c-m68k-setpatch-testcas : $(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-c-m68k-setpatch-testcas workbench-c-m68k-setpatch-testcas-quick workbench-c-m68k-setpatch-testcas-gz-quick),) + +workbench-c-m68k-setpatch-testcas_CXXABSBASENAMES := $(foreach workbench-c-m68k-setpatch-testcas_CXXBASE,$(workbench-c-m68k-setpatch-testcas_CXX_NARCHFILES),$(if $(filter /%,$(workbench-c-m68k-setpatch-testcas_CXXBASE)),$(workbench-c-m68k-setpatch-testcas_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-c-m68k-setpatch-testcas_CXXBASE)))) + +ifneq ($(workbench-c-m68k-setpatch-testcas_CXXABSBASENAMES),) + +workbench-c-m68k-setpatch-testcas_CXXBASENAMES := $(basename $(workbench-c-m68k-setpatch-testcas_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-c-m68k-setpatch-testcas_MCXX_FILES := $(strip $(foreach workbench-c-m68k-setpatch-testcas_CXXBASE,$(workbench-c-m68k-setpatch-testcas_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-c-m68k-setpatch-testcas_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-c-m68k-setpatch-testcas_EXT),$(workbench-c-m68k-setpatch-testcas_CXXBASE))))))) + +ifeq (,) +workbench-c-m68k-setpatch-testcas_MCXX_SRCWILDCARD := % +else +workbench-c-m68k-setpatch-testcas_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatch-testcas_OBJDIR),) + workbench-c-m68k-setpatch-testcas_CXXTARGETS := $(notdir $(workbench-c-m68k-setpatch-testcas_CXXBASENAMES:=.o)) + workbench-c-m68k-setpatch-testcas_CXXDTARGETS := $(notdir $(workbench-c-m68k-setpatch-testcas_CXXBASENAMES:=.d)) + workbench-c-m68k-setpatch-testcas_MCXX_WILDCARD := % +else + workbench-c-m68k-setpatch-testcas_CXXTARGETS := $(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch-testcas_CXXBASENAMES:=.o))) + workbench-c-m68k-setpatch-testcas_CXXDTARGETS := $(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch-testcas_CXXBASENAMES:=.d))) + workbench-c-m68k-setpatch-testcas_MCXX_WILDCARD := $(workbench-c-m68k-setpatch-testcas_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-c-m68k-setpatch-testcas_CXXTARGETS) $(workbench-c-m68k-setpatch-testcas_CXXDTARGETS) : | $(workbench-c-m68k-setpatch-testcas_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS := $(workbench-c-m68k-setpatch-testcas_CPPFLAGS) +workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(workbench-c-m68k-setpatch-testcas_CXXFLAGS) +ifeq ($(workbench-c-m68k-setpatch-testcas_DXXFLAGS),) + workbench-c-m68k-setpatch-testcas_DXXFLAGS := $(workbench-c-m68k-setpatch-testcas_CXXFLAGS) +else + workbench-c-m68k-setpatch-testcas_DXXFLAGS := $(workbench-c-m68k-setpatch-testcas_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-c-m68k-setpatch-testcas_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-c-m68k-setpatch-testcas_CXXCMD:=$(HOST_CXX) + workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-setpatch-testcas_CXXFLAGS)) + workbench-c-m68k-setpatch-testcas_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-m68k-setpatch-testcas_DXXFLAGS)) + workbench-c-m68k-setpatch-testcas_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-c-m68k-setpatch-testcas_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-setpatch-testcas_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-c-m68k-setpatch-testcas_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS := $(strip $(workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(strip $(workbench-c-m68k-setpatch-testcas_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-c-m68k-setpatch-testcas_DXXFLAGS := $(workbench-c-m68k-setpatch-testcas_DXXFLAGS) + workbench-c-m68k-setpatch-testcas_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-c-m68k-setpatch-testcas_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-setpatch-testcas_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-c-m68k-setpatch-testcas_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_EXTRA_CPPFLAGS)) + workbench-c-m68k-setpatch-testcas_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-setpatch-testcas_CXXFLAGS)) + workbench-c-m68k-setpatch-testcas_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-m68k-setpatch-testcas_DXXFLAGS)) + workbench-c-m68k-setpatch-testcas_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-c-m68k-setpatch-testcas_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-c-m68k-setpatch-testcas_CXXCMD) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) . $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatch-testcas_CXXFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-c-m68k-setpatch-testcas_CXXCMD) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) . $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatch-testcas_CXXFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-c-m68k-setpatch-testcas_CXXCMD) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) $(dir $(2)) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE) . $(workbench-c-m68k-setpatch-testcas_CXXIQUOTE_END) $(strip $(workbench-c-m68k-setpatch-testcas_CXXFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-c-m68k-setpatch-testcas_CXXCMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatch-testcas_DXXFLAGS) $(workbench-c-m68k-setpatch-testcas_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-c-m68k-setpatch-testcas_OBJDIR),) + $(foreach workbench-c-m68k-setpatch-testcas_CXXFILE,$(workbench-c-m68k-setpatch-testcas_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-c-m68k-setpatch-testcas_CXXFILE))),$(workbench-c-m68k-setpatch-testcas_CXXFILE)))) +else + $(foreach workbench-c-m68k-setpatch-testcas_CXXFILE,$(workbench-c-m68k-setpatch-testcas_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(notdir $(basename $(workbench-c-m68k-setpatch-testcas_CXXFILE)))),$(workbench-c-m68k-setpatch-testcas_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES),) + +ifeq (,) +workbench-c-m68k-setpatch-testcas_MOBJC_SRCWILDCARD := % +else +workbench-c-m68k-setpatch-testcas_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatch-testcas_OBJDIR),) + workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES)) + workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES)) + workbench-c-m68k-setpatch-testcas_MOBJC_WILDCARD := % +else + workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES))) + workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES))) + workbench-c-m68k-setpatch-testcas_MOBJC_WILDCARD := $(workbench-c-m68k-setpatch-testcas_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-c-m68k-setpatch-testcas_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-c-m68k-setpatch-testcas_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatch-testcas_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-c-m68k-setpatch-testcas_MOBJC_DIRS := $(foreach dir, $(workbench-c-m68k-setpatch-testcas_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatch-testcas_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-c-m68k-setpatch-testcas_MOBJC_DIRS),) + workbench-c-m68k-setpatch-testcas_MOBJC_DIRS := $(shell echo $(workbench-c-m68k-setpatch-testcas_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-c-m68k-setpatch-testcas_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-c-m68k-setpatch-testcas_CC := $(TARGET_CC) +else + workbench-c-m68k-setpatch-testcas_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS := $(workbench-c-m68k-setpatch-testcas_CPPFLAGS) +workbench-c-m68k-setpatch-testcas_OBJCFLAGS := $(workbench-c-m68k-setpatch-testcas_CFLAGS) +workbench-c-m68k-setpatch-testcas_OBJCFLAGS := $(workbench-c-m68k-setpatch-testcas_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-c-m68k-setpatch-testcas_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-c-m68k-setpatch-testcas_OBJCFLAGS))) +ifeq ($(workbench-c-m68k-setpatch-testcas_DFLAGS),) + workbench-c-m68k-setpatch-testcas_OBJCDFLAGS := $(workbench-c-m68k-setpatch-testcas_CFLAGS) +else + workbench-c-m68k-setpatch-testcas_OBJCDFLAGS := $(workbench-c-m68k-setpatch-testcas_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(workbench-c-m68k-setpatch-testcas_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-m68k-setpatch-testcas_STRIP ?= $(TARGET_STRIP) + workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-c-m68k-setpatch-testcas_CC) $(TARGET_SYSROOT)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS:=$(strip $(workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_OBJCFLAGS:=$(strip $(workbench-c-m68k-setpatch-testcas_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_OBJCDFLAGS:=$(workbench-c-m68k-setpatch-testcas_OBJCDFLAGS) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-c-m68k-setpatch-testcas_STRIP ?= $(HOST_STRIP) + workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatch-testcas_OBJCFLAGS)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatch-testcas_OBJCDFLAGS)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE:=$(HOST_IQUOTE) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-m68k-setpatch-testcas_STRIP ?= $(ECHO) >/dev/null + workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatch-testcas_OBJCFLAGS)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatch-testcas_OBJCDFLAGS)) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS) +$(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) : CFLAGS := $(workbench-c-m68k-setpatch-testcas_OBJCFLAGS) +$(workbench-c-m68k-setpatch-testcas_MOBJC_TARGETS) : $(workbench-c-m68k-setpatch-testcas_MOBJC_WILDCARD).o : $(workbench-c-m68k-setpatch-testcas_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_IQUOTE) . $(workbench-c-m68k-setpatch-testcas_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_IQUOTE) . $(workbench-c-m68k-setpatch-testcas_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_IQUOTE) . $(workbench-c-m68k-setpatch-testcas_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-setpatch-testcas_MOBJC_DTARGETS) : $(workbench-c-m68k-setpatch-testcas_MOBJC_WILDCARD).d : $(workbench-c-m68k-setpatch-testcas_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatch-testcas_OBJCDFLAGS) $(workbench-c-m68k-setpatch-testcas_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-c-m68k-setpatch-testcas_MC_SRCWILDCARD := % +else +workbench-c-m68k-setpatch-testcas_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-m68k-setpatch-testcas_OBJDIR),) +workbench-c-m68k-setpatch-testcas_MC_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatch-testcas_C_NARCHFILES)) +workbench-c-m68k-setpatch-testcas_MC_DTARGETS := $(addsuffix .d,$(workbench-c-m68k-setpatch-testcas_C_NARCHFILES)) +workbench-c-m68k-setpatch-testcas_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-m68k-setpatch-testcas_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch-testcas_C_NARCHFILES)))) + workbench-c-m68k-setpatch-testcas_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch-testcas_C_NARCHFILES)))) +else +ifeq (,) + workbench-c-m68k-setpatch-testcas_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(workbench-c-m68k-setpatch-testcas_C_NARCHFILES))) + workbench-c-m68k-setpatch-testcas_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(workbench-c-m68k-setpatch-testcas_C_NARCHFILES))) +else + workbench-c-m68k-setpatch-testcas_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-setpatch-testcas_C_NARCHFILES)))) + workbench-c-m68k-setpatch-testcas_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(patsubst /%,%,$(workbench-c-m68k-setpatch-testcas_C_NARCHFILES)))) +endif +endif +workbench-c-m68k-setpatch-testcas_MC_TGTWILDCARD := $(workbench-c-m68k-setpatch-testcas_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-m68k-setpatch-testcas_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-setpatch-testcas_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-setpatch-testcas_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatch-testcas_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-setpatch-testcas_MC_DIRS := $(foreach dir, $(workbench-c-m68k-setpatch-testcas_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatch-testcas_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-setpatch-testcas_MC_DIRS),) + workbench-c-m68k-setpatch-testcas_MC_DIRS := $(shell echo $(workbench-c-m68k-setpatch-testcas_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-m68k-setpatch-testcas_MC_DIRS) +endif + +endif + +workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS := $(workbench-c-m68k-setpatch-testcas_CPPFLAGS) +workbench-c-m68k-setpatch-testcas_CFLAGS := $(workbench-c-m68k-setpatch-testcas_CFLAGS) +ifeq ($(workbench-c-m68k-setpatch-testcas_DFLAGS),) + workbench-c-m68k-setpatch-testcas_DFLAGS := $(workbench-c-m68k-setpatch-testcas_CFLAGS) +else + workbench-c-m68k-setpatch-testcas_DFLAGS := $(workbench-c-m68k-setpatch-testcas_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-m68k-setpatch-testcas_STRIP ?= $(TARGET_STRIP) +workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS:=$(strip $(workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_CFLAGS:=$(strip $(workbench-c-m68k-setpatch-testcas_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_DFLAGS:=$(workbench-c-m68k-setpatch-testcas_DFLAGS) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-m68k-setpatch-testcas_STRIP ?= $(HOST_STRIP) +workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatch-testcas_CFLAGS)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-m68k-setpatch-testcas_DFLAGS)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-m68k-setpatch-testcas_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-m68k-setpatch-testcas_STRIP ?= $(ECHO) >/dev/null +workbench-c-m68k-setpatch-testcas_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS) $(workbench-c-m68k-setpatch-testcas_MC_EXTRA_CPPFLAGS)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatch-testcas_CFLAGS)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-m68k-setpatch-testcas_DFLAGS)) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) $(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : workbench-c-m68k-setpatch-testcas_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) : CFLAGS := $(workbench-c-m68k-setpatch-testcas_CFLAGS) +$(workbench-c-m68k-setpatch-testcas_MC_TARGETS) : $(workbench-c-m68k-setpatch-testcas_MC_TGTWILDCARD).o : $(workbench-c-m68k-setpatch-testcas_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_IQUOTE) . $(workbench-c-m68k-setpatch-testcas_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_IQUOTE) . $(workbench-c-m68k-setpatch-testcas_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(dir $<) $(workbench-c-m68k-setpatch-testcas_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-m68k-setpatch-testcas_IQUOTE) . $(workbench-c-m68k-setpatch-testcas_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-m68k-setpatch-testcas_MC_DTARGETS) : $(workbench-c-m68k-setpatch-testcas_MC_TGTWILDCARD).d : $(workbench-c-m68k-setpatch-testcas_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-m68k-setpatch-testcas_DFLAGS) $(workbench-c-m68k-setpatch-testcas_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-c-m68k-setpatch-testcas_OBJDIR),) +workbench-c-m68k-setpatch-testcas-MA_TARGETS := $(addsuffix .o,$(workbench-c-m68k-setpatch-testcas_ASMFILES)) +workbench-c-m68k-setpatch-testcas-MA_WILDCARD := % +else +workbench-c-m68k-setpatch-testcas-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-m68k-setpatch-testcas_OBJDIR)/,$(notdir $(workbench-c-m68k-setpatch-testcas_ASMFILES)))) +workbench-c-m68k-setpatch-testcas-MA_WILDCARD := $(workbench-c-m68k-setpatch-testcas_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-c-m68k-setpatch-testcas-MA_TARGETS) : | $(addsuffix .s,$(workbench-c-m68k-setpatch-testcas_ASMFILES)) + +# Be sure that all .c files are found +workbench-c-m68k-setpatch-testcas-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-m68k-setpatch-testcas-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-m68k-setpatch-testcas_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-m68k-setpatch-testcas-MA_DIRS := $(foreach dir, $(workbench-c-m68k-setpatch-testcas-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-m68k-setpatch-testcas-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-m68k-setpatch-testcas-MA_DIRS),) + workbench-c-m68k-setpatch-testcas-MA_DIRS := $(shell echo $(workbench-c-m68k-setpatch-testcas-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-c-m68k-setpatch-testcas-MA_DIRS) +endif + +endif + +workbench-c-m68k-setpatch-testcas-MA_ASSEMBLER ?= $(workbench-c-m68k-setpatch-testcas_ASSEMBLER) + +$(workbench-c-m68k-setpatch-testcas-MA_TARGETS) : workbench-c-m68k-setpatch-testcas-MA_CMD:= $(workbench-c-m68k-setpatch-testcas-MA_ASSEMBLER) + +$(workbench-c-m68k-setpatch-testcas-MA_TARGETS) : CPPFLAGS := $(workbench-c-m68k-setpatch-testcas_CPPFLAGS) +$(workbench-c-m68k-setpatch-testcas-MA_TARGETS) : AFLAGS := $(workbench-c-m68k-setpatch-testcas_AFLAGS) +$(workbench-c-m68k-setpatch-testcas-MA_TARGETS) : $(workbench-c-m68k-setpatch-testcas-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-c-m68k-setpatch-testcas-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-c-m68k-setpatch-testcas-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-c-m68k-setpatch-testcas-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-c-m68k-setpatch-testcas-link_EXTRA_LDFLAGS := +workbench-c-m68k-setpatch-testcas-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-m68k-setpatch-testcas-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-c-m68k-setpatch-testcas-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-c-m68k-setpatch-testcas-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-c-m68k-setpatch-testcas-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-m68k-setpatch-testcas_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-m68k-setpatch-testcas-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-m68k-setpatch-testcas-link_DIRS))) +# Add trailing / +workbench-c-m68k-setpatch-testcas-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-m68k-setpatch-testcas-link_DIRS))) +# Add normal linklib path +workbench-c-m68k-setpatch-testcas-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-m68k-setpatch-testcas-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-m68k-setpatch-testcas_LIBS) $(workbench-c-m68k-setpatch-testcas-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-c-m68k-setpatch-testcas-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-c-m68k-setpatch-testcas-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-c-m68k-setpatch-testcas-link_DEPLIBS := $(foreach lib,$(workbench-c-m68k-setpatch-testcas-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-m68k-setpatch-testcas-link_DIRS)))) \ +) + +$(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) : OBJDIR := $(workbench-c-m68k-setpatch-testcas_OBJDIR) +$(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) : OBJS := $(workbench-c-m68k-setpatch-testcas_OBJS) $(workbench-c-m68k-setpatch-testcas_ARCHOBJS) $(USER_OBJS) +$(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) : LDFLAGS := $(strip $(workbench-c-m68k-setpatch-testcas_LDFLAGS) $(workbench-c-m68k-setpatch-testcas-link_EXTRA_LDFLAGS)) +$(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) : LIBS := $(addprefix -l,$(workbench-c-m68k-setpatch-testcas_LIBS) $(workbench-c-m68k-setpatch-testcas-link_EXTRA_LIBS) ) +$(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) : $(workbench-c-m68k-setpatch-testcas_OBJS) $(workbench-c-m68k-setpatch-testcas_ARCHOBJS) $(USER_OBJS) $(workbench-c-m68k-setpatch-testcas-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-m68k-setpatch-testcas_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-m68k-setpatch-testcas_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-m68k-setpatch-testcas_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-setpatch-testcas_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-m68k-setpatch-testcas_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-m68k-setpatch-testcas_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-m68k-setpatch-testcas_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-m68k-setpatch-testcas_DEPS),) + ifneq (workbench-c-m68k-setpatch-testcas workbench-c-m68k-setpatch-testcas-quick,) + ifneq ($(findstring $(TARGET),workbench-c-m68k-setpatch-testcas workbench-c-m68k-setpatch-testcas-quick),) + -include $(workbench-c-m68k-setpatch-testcas_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-m68k-setpatch-testcas_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-m68k-setpatch-testcas_OBJS) $(workbench-c-m68k-setpatch-testcas_DEPS) $(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME),) +$(workbench-c-m68k-setpatch-testcas_OBJS) $(workbench-c-m68k-setpatch-testcas_DEPS) $(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) : | $(workbench-c-m68k-setpatch-testcas_OBJDIR) $(workbench-c-m68k-setpatch-testcas_TARGETDIR) +else +$(workbench-c-m68k-setpatch-testcas_OBJS) $(workbench-c-m68k-setpatch-testcas_DEPS) $(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) :: $(workbench-c-m68k-setpatch-testcas_OBJDIR) $(workbench-c-m68k-setpatch-testcas_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-c-m68k-setpatch-testcas_OBJDIR) $(workbench-c-m68k-setpatch-testcas_TARGETDIR) + + +workbench-c-m68k-setpatch-testcas-clean : FILES := $(workbench-c-m68k-setpatch-testcas_OBJS) $(workbench-c-m68k-setpatch-testcas_TARGETDIR)/$(workbench-c-m68k-setpatch-testcas_PROGNAME) $(workbench-c-m68k-setpatch-testcas_DEPS) +#MM +workbench-c-m68k-setpatch-testcas-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-m68k-setpatch-testcas" + $(Q)$(RM) $(FILES) + + +#MM- workbench-c-m68k-setpatch-tests : workbench-c-m68k-setpatch-testcas +#MM- workbench-c-m68k-setpatch-tests-quick : workbench-c-m68k-setpatch-testcas-quick + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/card/mmakefile b/arch/m68k-amiga/card/mmakefile new file mode 100644 index 00000000000..a7ad3fbc09e --- /dev/null +++ b/arch/m68k-amiga/card/mmakefile @@ -0,0 +1,266 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FUNCTIONS := card_init lowlevel task \ + owncard releasecard readcardstatus ifamigaxip getcardmap \ + begincardaccess endcardaccess cardresetremove \ + cardmiscontrol cardaccessspeed cardprogramvoltage \ + cardresetcard copytuple devicetuple cardforcechange \ + cardchangecount cardinterface + + +ifeq ($(FUNCTIONS) ,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-cardres-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-cardres : \ +#MM kernel-cardres-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-cardres-$(ARCH)-$(CPU) \ +#MM kernel-cardres-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-cardres-$(ARCH) \ +#MM kernel-cardres-$(FAMILY) \ +#MM kernel-cardres-$(CPU) +#MM- kernel-cardres-linklib : \ +#MM kernel-cardres-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-cardres-$(ARCH)-$(CPU) \ +#MM kernel-cardres-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-cardres-$(ARCH) \ +#MM kernel-cardres-$(FAMILY) \ +#MM kernel-cardres-$(CPU) +#MM- kernel-cardres-kobj : \ +#MM kernel-cardres-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-cardres-$(ARCH)-$(CPU) \ +#MM kernel-cardres-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-cardres-$(ARCH) \ +#MM kernel-cardres-$(FAMILY) \ +#MM kernel-cardres-$(CPU) +#MM- kernel-cardres-kobj-quick : \ +#MM kernel-cardres-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-cardres-$(ARCH)-$(CPU)-quick \ +#MM kernel-cardres-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-cardres-$(ARCH)-quick \ +#MM kernel-cardres-$(FAMILY)-quick \ +#MM kernel-cardres-$(CPU)-quick +#MM- kernel-cardres-quick : \ +#MM kernel-cardres-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-cardres-$(ARCH)-$(CPU)-quick \ +#MM kernel-cardres-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-cardres-$(ARCH)-quick \ +#MM kernel-cardres-$(FAMILY)-quick \ +#MM kernel-cardres-$(CPU)-quick + +#MM kernel-cardres-amiga-m68k : kernel-cardres-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (card,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/card/card +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/card +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FUNCTIONS)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FUNCTIONS)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (card,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/card_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-cardres-amiga-m68k-quick) + BD_TARGET := kernel-cardres-amiga-m68k-quick +else + BD_TARGET := kernel-cardres-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FUNCTIONS))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-cardres-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-cardres-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (card,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +#%build_module mmake=kernel-cardres \ +# modname=cardres modtype=resource \ +# files="$(FUNCTIONS)" + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/cia/mmakefile b/arch/m68k-amiga/cia/mmakefile new file mode 100644 index 00000000000..7a8953cc7c7 --- /dev/null +++ b/arch/m68k-amiga/cia/mmakefile @@ -0,0 +1,580 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FUNCTIONS := ableicr addicrvector remicrvector seticr + +USER_CPPFLAGS := -DADATE="\"$(shell date '+%d.%m.%Y')\"" + + +# Define metamake targets and their dependencies +#MM kernel-cia : core-linklibs includes-generate-deps +#MM kernel-cia-kobj : core-linklibs includes-generate-deps +#MM kernel-cia-kobj-quick +#MM kernel-cia-quick +#MM kernel-cia-clean + +kernel-cia_ALLTARGETS := kernel-cia kernel-cia-clean kernel-cia-quick kernel-cia-kobj + +.PHONY : $(kernel-cia_ALLTARGETS) + +ifeq (cia,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (resource,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +kernel-cia_DEFLINKLIBNAME := cia +kernel-cia_CFLAGS := $(CFLAGS) +kernel-cia_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-cia_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(kernel-cia_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-cia_FUNCINSTR := yes +kernel-cia_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-cia_CFLAGS)) +endif +endif +ifneq (,) + kernel-cia_DFLAGS := +else + kernel-cia_DFLAGS := $(kernel-cia_CFLAGS) +endif +kernel-cia_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +kernel-cia_MODDIR := +ifeq ($(kernel-cia_MODDIR),) + ifeq (resource,library) + kernel-cia_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (resource,gadget) + kernel-cia_MODDIR := $(AROS_GADGETS) + endif + ifeq (resource,datatype) + kernel-cia_MODDIR := $(AROS_DATATYPES) + endif + ifeq (resource,handler) + kernel-cia_MODDIR := $(AROS_FS) + endif + ifeq (resource,device) + kernel-cia_MODDIR := $(AROS_DEVS) + endif + ifeq (resource,resource) + kernel-cia_MODDIR := $(AROS_RESOURCES) + endif + ifeq (resource,hook) + kernel-cia_MODDIR := $(AROS_RESOURCES) + endif + ifeq (resource,mui) + kernel-cia_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (resource,mcc) + kernel-cia_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (resource,mcp) + kernel-cia_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (resource,usbclass) + kernel-cia_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (resource,hidd) + kernel-cia_MODDIR := $(AROS_DRIVERS) + endif + ifeq (resource,printer) + kernel-cia_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(kernel-cia_MODDIR),) + $(error Don't know where to put the file for modtype resource. Specify moduledir=) +endif + +kernel-cia_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +kernel-cia_ARCHFILES := $(basename $(notdir $(kernel-cia_ARCHOBJS))) +kernel-cia_C_NARCHFILES := $(filter-out $(kernel-cia_ARCHFILES),cia_init cia_interrupt $(FUNCTIONS) resident_end) +kernel-cia_CXX_NARCHFILES := $(filter-out $(kernel-cia_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +kernel-cia_OBJC_NARCHFILES := $(filter-out $(kernel-cia_ARCHFILES),) + + +kernel-cia_CXXABSBASENAMES := $(foreach kernel-cia_CXXBASE,$(kernel-cia_CXX_NARCHFILES),$(if $(filter /%,$(kernel-cia_CXXBASE)),$(kernel-cia_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-cia_CXXBASE)))) + +ifneq ($(kernel-cia_CXXABSBASENAMES),) + +kernel-cia_CXXBASENAMES := $(basename $(kernel-cia_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-cia_MCXX_FILES := $(strip $(foreach kernel-cia_CXXBASE,$(kernel-cia_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-cia_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-cia_EXT),$(kernel-cia_CXXBASE))))))) + +ifeq (,) +kernel-cia_MCXX_SRCWILDCARD := % +else +kernel-cia_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + kernel-cia_CXXTARGETS := $(notdir $(kernel-cia_CXXBASENAMES:=.o)) + kernel-cia_CXXDTARGETS := $(notdir $(kernel-cia_CXXBASENAMES:=.d)) + kernel-cia_MCXX_WILDCARD := % +else + kernel-cia_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(kernel-cia_CXXBASENAMES:=.o))) + kernel-cia_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(kernel-cia_CXXBASENAMES:=.d))) + kernel-cia_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-cia_CXXTARGETS) $(kernel-cia_CXXDTARGETS) : | $(kernel-cia_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-cia_MCXX_CPPFLAGS := $(CPPFLAGS) +kernel-cia_CXXFLAGS := $(kernel-cia_CXXFLAGS) +ifeq ($(kernel-cia_DXXFLAGS),) + kernel-cia_DXXFLAGS := $(kernel-cia_CXXFLAGS) +else + kernel-cia_DXXFLAGS := $(kernel-cia_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-cia_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-cia_STRIP ?= $(HOST_STRIP) + kernel-cia_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-cia_CXXCMD:=$(HOST_CXX) + kernel-cia_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-cia_MCXX_CPPFLAGS) $(kernel-cia_MCXX_EXTRA_CPPFLAGS)) + kernel-cia_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-cia_CXXFLAGS)) + kernel-cia_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-cia_DXXFLAGS)) + kernel-cia_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-cia_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-cia_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-cia_STRIP ?= $(TARGET_STRIP) + kernel-cia_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-cia_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-cia_MCXX_CPPFLAGS := $(strip $(kernel-cia_MCXX_CPPFLAGS) $(kernel-cia_MCXX_EXTRA_CPPFLAGS)) + kernel-cia_CXXFLAGS := $(strip $(kernel-cia_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-cia_DXXFLAGS := $(kernel-cia_DXXFLAGS) + kernel-cia_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-cia_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-cia_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-cia_STRIP ?= $(ECHO) >/dev/null + kernel-cia_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-cia_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-cia_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-cia_MCXX_CPPFLAGS) $(kernel-cia_MCXX_EXTRA_CPPFLAGS)) + kernel-cia_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-cia_CXXFLAGS)) + kernel-cia_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-cia_DXXFLAGS)) + kernel-cia_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-cia_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-cia_CXXCMD) $(kernel-cia_CXXIQUOTE) $(dir $(2)) $(kernel-cia_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_CXXIQUOTE) . $(kernel-cia_CXXIQUOTE_END) $(strip $(kernel-cia_CXXFLAGS) $(kernel-cia_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-cia_CXXCMD) $(kernel-cia_CXXIQUOTE) $(dir $(2)) $(kernel-cia_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_CXXIQUOTE) . $(kernel-cia_CXXIQUOTE_END) $(strip $(kernel-cia_CXXFLAGS) $(kernel-cia_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-cia_CXXCMD) $(kernel-cia_CXXIQUOTE) $(dir $(2)) $(kernel-cia_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_CXXIQUOTE) . $(kernel-cia_CXXIQUOTE_END) $(strip $(kernel-cia_CXXFLAGS) $(kernel-cia_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-cia_CXXCMD)" $(MKDEPEND) $(strip $(kernel-cia_DXXFLAGS) $(kernel-cia_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach kernel-cia_CXXFILE,$(kernel-cia_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-cia_CXXFILE))),$(kernel-cia_CXXFILE)))) +else + $(foreach kernel-cia_CXXFILE,$(kernel-cia_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(kernel-cia_CXXFILE)))),$(kernel-cia_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-cia_OBJC_NARCHFILES),) + +ifeq (,) +kernel-cia_MOBJC_SRCWILDCARD := % +else +kernel-cia_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + kernel-cia_MOBJC_TARGETS := $(addsuffix .o,$(kernel-cia_OBJC_NARCHFILES)) + kernel-cia_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-cia_OBJC_NARCHFILES)) + kernel-cia_MOBJC_WILDCARD := % +else + kernel-cia_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(kernel-cia_OBJC_NARCHFILES))) + kernel-cia_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(kernel-cia_OBJC_NARCHFILES))) + kernel-cia_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-cia_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-cia_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-cia_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-cia_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-cia_MOBJC_DIRS := $(foreach dir, $(kernel-cia_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-cia_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-cia_MOBJC_DIRS),) + kernel-cia_MOBJC_DIRS := $(shell echo $(kernel-cia_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-cia_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-cia_CC := $(TARGET_CC) +else + kernel-cia_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-cia_MOBJC_CPPFLAGS := $(CPPFLAGS) +kernel-cia_OBJCFLAGS := $(kernel-cia_CFLAGS) +kernel-cia_OBJCFLAGS := $(kernel-cia_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-cia_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-cia_OBJCFLAGS))) +ifeq ($(kernel-cia_DFLAGS),) + kernel-cia_OBJCDFLAGS := $(kernel-cia_CFLAGS) +else + kernel-cia_OBJCDFLAGS := $(kernel-cia_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-cia_LINK ?= $(strip $(kernel-cia_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-cia_STRIP ?= $(TARGET_STRIP) + kernel-cia_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-cia_CC) $(TARGET_SYSROOT)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_MOBJC_CPPFLAGS:=$(strip $(kernel-cia_MOBJC_CPPFLAGS) $(kernel-cia_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_OBJCFLAGS:=$(strip $(kernel-cia_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_OBJCDFLAGS:=$(kernel-cia_OBJCDFLAGS) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-cia_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-cia_STRIP ?= $(HOST_STRIP) + kernel-cia_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-cia_MOBJC_CPPFLAGS) $(kernel-cia_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cia_OBJCFLAGS)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cia_OBJCDFLAGS)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_IQUOTE:=$(HOST_IQUOTE) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-cia_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-cia_STRIP ?= $(ECHO) >/dev/null + kernel-cia_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-cia_MOBJC_CPPFLAGS) $(kernel-cia_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cia_OBJCFLAGS)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cia_OBJCDFLAGS)) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-cia_MOBJC_TARGETS) $(kernel-cia_MOBJC_DTARGETS) : kernel-cia_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-cia_MOBJC_TARGETS) : CPPFLAGS := $(kernel-cia_MOBJC_CPPFLAGS) +$(kernel-cia_MOBJC_TARGETS) : CFLAGS := $(kernel-cia_OBJCFLAGS) +$(kernel-cia_MOBJC_TARGETS) : $(kernel-cia_MOBJC_WILDCARD).o : $(kernel-cia_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-cia_IQUOTE) $(dir $<) $(kernel-cia_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_IQUOTE) . $(kernel-cia_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-cia_IQUOTE) $(dir $<) $(kernel-cia_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_IQUOTE) . $(kernel-cia_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-cia_IQUOTE) $(dir $<) $(kernel-cia_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_IQUOTE) . $(kernel-cia_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-cia_MOBJC_DTARGETS) : $(kernel-cia_MOBJC_WILDCARD).d : $(kernel-cia_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-cia_OBJCDFLAGS) $(kernel-cia_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-cia_MC_SRCWILDCARD := % +else +kernel-cia_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +kernel-cia_MC_TARGETS := $(addsuffix .o,$(kernel-cia_C_NARCHFILES)) +kernel-cia_MC_DTARGETS := $(addsuffix .d,$(kernel-cia_C_NARCHFILES)) +kernel-cia_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-cia_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(kernel-cia_C_NARCHFILES)))) + kernel-cia_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(kernel-cia_C_NARCHFILES)))) +else +ifeq (,) + kernel-cia_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(kernel-cia_C_NARCHFILES))) + kernel-cia_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(kernel-cia_C_NARCHFILES))) +else + kernel-cia_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(kernel-cia_C_NARCHFILES)))) + kernel-cia_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(kernel-cia_C_NARCHFILES)))) +endif +endif +kernel-cia_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : | $(addsuffix .c,$(kernel-cia_C_NARCHFILES)) + +# Be sure that all .c files are found +kernel-cia_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-cia_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-cia_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-cia_MC_DIRS := $(foreach dir, $(kernel-cia_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-cia_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-cia_MC_DIRS),) + kernel-cia_MC_DIRS := $(shell echo $(kernel-cia_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-cia_MC_DIRS) +endif + +endif + +kernel-cia_MC_CPPFLAGS := $(CPPFLAGS) +kernel-cia_CFLAGS := $(kernel-cia_CFLAGS) +ifeq ($(kernel-cia_DFLAGS),) + kernel-cia_DFLAGS := $(kernel-cia_CFLAGS) +else + kernel-cia_DFLAGS := $(kernel-cia_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-cia_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-cia_STRIP ?= $(TARGET_STRIP) +kernel-cia_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_MC_CPPFLAGS:=$(strip $(kernel-cia_MC_CPPFLAGS) $(kernel-cia_MC_EXTRA_CPPFLAGS)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_CFLAGS:=$(strip $(kernel-cia_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_DFLAGS:=$(kernel-cia_DFLAGS) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-cia_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-cia_STRIP ?= $(HOST_STRIP) +kernel-cia_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-cia_MC_CPPFLAGS) $(kernel-cia_MC_EXTRA_CPPFLAGS)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cia_CFLAGS)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cia_DFLAGS)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_IQUOTE:=$(HOST_IQUOTE) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-cia_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-cia_STRIP ?= $(ECHO) >/dev/null +kernel-cia_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-cia_MC_CPPFLAGS) $(kernel-cia_MC_EXTRA_CPPFLAGS)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cia_CFLAGS)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cia_DFLAGS)) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-cia_MC_TARGETS) $(kernel-cia_MC_DTARGETS) : kernel-cia_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-cia_MC_TARGETS) : CPPFLAGS := $(kernel-cia_MC_CPPFLAGS) +$(kernel-cia_MC_TARGETS) : CFLAGS := $(kernel-cia_CFLAGS) +$(kernel-cia_MC_TARGETS) : $(kernel-cia_MC_TGTWILDCARD).o : $(kernel-cia_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-cia_IQUOTE) $(dir $<) $(kernel-cia_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_IQUOTE) . $(kernel-cia_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-cia_IQUOTE) $(dir $<) $(kernel-cia_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_IQUOTE) . $(kernel-cia_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-cia_IQUOTE) $(dir $<) $(kernel-cia_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cia_IQUOTE) . $(kernel-cia_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-cia_MC_DTARGETS) : $(kernel-cia_MC_TGTWILDCARD).d : $(kernel-cia_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-cia_DFLAGS) $(kernel-cia_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (resource,handler) +kernel-cia_MODULE := $(kernel-cia_MODDIR)/cia-resource +else +ifeq (resource,printer) +kernel-cia_MODULE := $(kernel-cia_MODDIR)/cia +else +kernel-cia_MODULE := $(kernel-cia_MODDIR)/cia.resource +endif +endif +kernel-cia_KOBJ := $(KOBJSDIR)/cia_resource.o + +kernel-cia-quick : kernel-cia +kernel-cia-kobj-quick : $(kernel-cia_KOBJ) +kernel-cia : $(kernel-cia_MODULE) +kernel-cia-kobj : $(kernel-cia_KOBJ) + +# The module is linked from all the compiled .o files +kernel-cia_OBJS := $(kernel-cia_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(kernel-cia_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (cia,con) + kernel-cia_ERR := $(notdir $(kernel-cia_MODULE)).err +else + kernel-cia_ERR := cia.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(cia_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(cia_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-cia_MODULE) : LIB_NAMES := $(cia_LIBS) +$(kernel-cia_MODULE) : OBJS := $(kernel-cia_OBJS) +$(kernel-cia_MODULE) : ENDTAG := +$(kernel-cia_MODULE) : ERR := $(kernel-cia_ERR) +$(kernel-cia_MODULE) : OBJDIR := $(OBJDIR) +$(kernel-cia_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-cia_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-cia_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-cia_MODULE) : $(kernel-cia_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +kernel-cia_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-cia_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-cia_SYMBOLS := $(kernel-cia_KBASE) + +kernel-cia_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-cia_KOBJ_LIBS := $(filter-out $(kernel-cia_KLIB),) $(kernel-cia_KAUTOLIB) +$(kernel-cia_KOBJ) : LINKLIBS:=$(kernel-cia_KOBJ_LIBS) +$(kernel-cia_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-cia_SYMBOLS)) +$(kernel-cia_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(kernel-cia_KOBJ) : $(kernel-cia_OBJS) $(kernel-cia_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +kernel-cia_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,cia_init cia_interrupt $(FUNCTIONS) resident_end)) +ifneq ($(kernel-cia_DEPS),) + ifneq (kernel-cia kernel-cia-quick kernel-cia-kobj,) + ifneq ($(findstring $(TARGET),kernel-cia kernel-cia-quick kernel-cia-kobj),) + -include $(kernel-cia_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-cia_DEPS) + endif + endif +endif + + +ifneq ($(kernel-cia_OBJS) $(kernel-cia_DEPS) $(kernel-cia_MODULE) $(kernel-cia_KOBJ),) +$(kernel-cia_OBJS) $(kernel-cia_DEPS) $(kernel-cia_MODULE) $(kernel-cia_KOBJ) : | $(OBJDIR) $(kernel-cia_MODDIR) $(KOBJSDIR) +else +$(kernel-cia_OBJS) $(kernel-cia_DEPS) $(kernel-cia_MODULE) $(kernel-cia_KOBJ) :: $(OBJDIR) $(kernel-cia_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(kernel-cia_MODDIR) $(KOBJSDIR) + + +kernel-cia-clean : FILES := $(kernel-cia_OBJS) $(kernel-cia_MODULE) $(kernel-cia_KOBJ) $(kernel-cia_DEPS) +kernel-cia-clean :: + $(Q)$(ECHO) "Cleaning up for module cia" + $(Q)$(RM) $(FILES) + +#MM +kernel-cia-includes: $(AROS_INCLUDES)/clib/cia_protos.h $(AROS_INCLUDES)/defines/cia.h \ + $(AROS_INCLUDES)/proto/cia.h + +$(AROS_INCLUDES)/clib/cia_protos.h: $(SRCDIR)/$(CURDIR)/cia_lib.sfd + $(SFDC) --mode=clib --target=x-aros --output=$@ $< + +$(AROS_INCLUDES)/defines/cia.h: $(SRCDIR)/$(CURDIR)/cia_lib.sfd + $(SFDC) --mode=macros --target=x-aros --output=$@ $< + +$(AROS_INCLUDES)/proto/cia.h: $(SRCDIR)/$(CURDIR)/cia_lib.sfd + $(SFDC) --mode=proto --target=x-aros --output=$@ $< + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/devs/audio/mmakefile b/arch/m68k-amiga/devs/audio/mmakefile new file mode 100644 index 00000000000..0b676422fbd --- /dev/null +++ b/arch/m68k-amiga/devs/audio/mmakefile @@ -0,0 +1,1658 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := audio audio_hardware + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-amiga-m68k-audio +#MM kernel-amiga-m68k-audio-quick +#MM kernel-amiga-m68k-audio-makefile +#MM kernel-amiga-m68k-audio-clean + +# ABI targets: +#MM- includes-all : kernel-amiga-m68k-audio-includes +#MM- linklibs-audio: kernel-amiga-m68k-audio-linklib +#MM- linklibs-audio_rel : kernel-amiga-m68k-audio-linklib +#MM- includes-audio: kernel-amiga-m68k-audio-includes +#MM- includes-audio_rel : kernel-amiga-m68k-audio-includes +#MM- kernel-amiga-m68k-audio : kernel-amiga-m68k-audio-includes core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-audio-linklib : kernel-amiga-m68k-audio-includes includes-hiddstubs +#MM- kernel-amiga-m68k-audio-quick : kernel-amiga-m68k-audio-includes-quick +#MM kernel-amiga-m68k-audio-includes : kernel-amiga-m68k-audio-makefile kernel-amiga-m68k-audio-includes-dirs \ +#MM includes-generate-deps kernel-amiga-m68k-audio-fd +#MM kernel-amiga-m68k-audio-includes-quick +#MM kernel-amiga-m68k-audio-includes-dirs +#MM kernel-amiga-m68k-audio-fd + +# Library targets +#MM kernel-amiga-m68k-audio-kobj : core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-audio-kobj-quick : + +# Library with ABI targets: +#MM kernel-amiga-m68k-audio-kobj : kernel-amiga-m68k-audio-includes core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-audio-kobj-quick : kernel-amiga-m68k-audio-includes-quick + +# All MetaMake targets defined by this macro +kernel-amiga-m68k-audio_ALLTARGETS := kernel-amiga-m68k-audio kernel-amiga-m68k-audio-quick kernel-amiga-m68k-audio-clean + +ifeq (M,M) +kernel-amiga-m68k-audio_ALLTARGETS += kernel-amiga-m68k-audio-kobj kernel-amiga-m68k-audio-kobj-quick +endif + +ifeq (M,M) +kernel-amiga-m68k-audio_ALLTARGETS += kernel-amiga-m68k-audio-includes \ + kernel-amiga-m68k-audio-includes-quick kernel-amiga-m68k-audio-includes-dirs \ + kernel-amiga-m68k-audio-linklib kernel-amiga-m68k-audio-fd +endif + +.PHONY : $(kernel-amiga-m68k-audio_ALLTARGETS) kernel-amiga-m68k-audio-makefile + +ifeq (audio,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-amiga-m68k-audio_DEFNAME := audio_ +else + kernel-amiga-m68k-audio_DEFNAME := audio +endif +kernel-amiga-m68k-audio_DEFLINKLIBNAME := $(kernel-amiga-m68k-audio_DEFNAME) +ifneq (,) + kernel-amiga-m68k-audio_LINKLIBNAME := +else + kernel-amiga-m68k-audio_LINKLIBNAME = $(kernel-amiga-m68k-audio_DEFLINKLIBNAME) +endif +kernel-amiga-m68k-audio_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-amiga-m68k-audio_DEFCPPFLAGS += -I +endif +kernel-amiga-m68k-audio_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-amiga-m68k-audio_DFLAGS := +else + kernel-amiga-m68k-audio_DFLAGS = $(kernel-amiga-m68k-audio_DEFDFLAGS) +endif +kernel-amiga-m68k-audio_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-amiga-m68k-audio_DXXFLAGS := +else + kernel-amiga-m68k-audio_DXXFLAGS = $(kernel-amiga-m68k-audio_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-audio_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-audio_DEFDFLAGS)) +kernel-amiga-m68k-audio_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-audio_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-audio_FUNCINSTR := yes +kernel-amiga-m68k-audio_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-audio_DEFDFLAGS)) +kernel-amiga-m68k-audio_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-audio_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-amiga-m68k-audio_OBJDIR := +else +kernel-amiga-m68k-audio_OBJDIR := $(OBJDIR)/$(kernel-amiga-m68k-audio_DEFNAME) +endif +ifneq (,) +kernel-amiga-m68k-audio_OBJDIR := $(kernel-amiga-m68k-audio_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-amiga-m68k-audio-makefile := $(kernel-amiga-m68k-audio_OBJDIR)/Makefile.$(kernel-amiga-m68k-audio_DEFNAME)device +kernel-amiga-m68k-audio-genmakefile : $(kernel-amiga-m68k-audio-makefile) + + +kernel-amiga-m68k-audio-genmakefile_OPTS := +ifneq (,) + kernel-amiga-m68k-audio-genmakefile_OPTS += -f + kernel-amiga-m68k-audio-genmakefile_MODNAME := audio_ +else + kernel-amiga-m68k-audio-genmakefile_MODNAME := audio +endif +kernel-amiga-m68k-audio-genmakefile_TARGET := Makefile.$(kernel-amiga-m68k-audio-genmakefile_MODNAME)device +kernel-amiga-m68k-audio-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-audio-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-audio-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-audio-genmakefile_OPTS += -c + kernel-amiga-m68k-audio-genmakefile_DEPS += + endif +else + kernel-amiga-m68k-audio-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/audio.conf + kernel-amiga-m68k-audio-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/audio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-audio-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-audio-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-audio-genmakefile_OPTS += -o + kernel-amiga-m68k-audio-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-audio-genmakefile_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-audio_OBJDIR),) + kernel-amiga-m68k-audio-genmakefile_OPTS += -d $(kernel-amiga-m68k-audio_OBJDIR) + kernel-amiga-m68k-audio-genmakefile_TARGET := $(kernel-amiga-m68k-audio_OBJDIR)/$(kernel-amiga-m68k-audio-genmakefile_TARGET) +endif + +$(kernel-amiga-m68k-audio-genmakefile_TARGET) : OPTS := $(kernel-amiga-m68k-audio-genmakefile_OPTS) +$(kernel-amiga-m68k-audio-genmakefile_TARGET) : MODNAME := audio +$(kernel-amiga-m68k-audio-genmakefile_TARGET) : MODTYPE := device +$(kernel-amiga-m68k-audio-genmakefile_TARGET) : $(kernel-amiga-m68k-audio-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-amiga-m68k-audio-makefile),) +$(kernel-amiga-m68k-audio-makefile) : | $(kernel-amiga-m68k-audio_OBJDIR) +else +$(kernel-amiga-m68k-audio-makefile) :: $(kernel-amiga-m68k-audio_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-audio_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-amiga-m68k-audio_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-amiga-m68k-audio-makefile) + +kernel-amiga-m68k-audio_DEFMODDIR := $($(kernel-amiga-m68k-audio_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-amiga-m68k-audio_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-amiga-m68k-audio_DEFMODDIR) +endif +ifneq (,) + kernel-amiga-m68k-audio_MODDIR := +else + kernel-amiga-m68k-audio_MODDIR := $(kernel-amiga-m68k-audio_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-amiga-m68k-audio_INCDIR := +else +kernel-amiga-m68k-audio_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-amiga-m68k-audio_LIBDEFSINC := $(kernel-amiga-m68k-audio_OBJDIR)/include/$(kernel-amiga-m68k-audio_DEFNAME)_libdefs.h +kernel-amiga-m68k-audio_DEFLIBDEFSINC := $(kernel-amiga-m68k-audio_OBJDIR)/include/$(kernel-amiga-m68k-audio_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-amiga-m68k-audio-includes-quick : kernel-amiga-m68k-audio-includes +kernel-amiga-m68k-audio-includes : $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-audio_INCDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-audio_LIBDEFSINC) $(kernel-amiga-m68k-audio_DEFLIBDEFSINC) + +ifneq ($($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-amiga-m68k-audio-includes_MODNAME := audio_ +else + kernel-amiga-m68k-audio-includes_MODNAME := audio +endif + +ifneq ($($(kernel-amiga-m68k-audio-includes_MODNAME)_INCLUDES),) + +kernel-amiga-m68k-audio-includes_TARGETS := $($(kernel-amiga-m68k-audio-includes_MODNAME)_INCLUDES) + +kernel-amiga-m68k-audio-includes_DEPS := $(GENMODULE) +kernel-amiga-m68k-audio-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-audio-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-audio-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-audio-includes_OPTS += -c + kernel-amiga-m68k-audio-includes_DEPS += + endif +else + kernel-amiga-m68k-audio-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/audio.conf + kernel-amiga-m68k-audio-includes_DEPS += $(SRCDIR)/$(CURDIR)/audio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-audio-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-audio-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-audio-includes_OPTS += -o + kernel-amiga-m68k-audio-includes_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-audio-includes_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-audio_OBJDIR)/include,) + kernel-amiga-m68k-audio-includes_OPTS += -d $(kernel-amiga-m68k-audio_OBJDIR)/include + kernel-amiga-m68k-audio-includes_TARGETS := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/include/,$(kernel-amiga-m68k-audio-includes_TARGETS)) + kernel-amiga-m68k-audio-includes_GENINCFLAG=$(kernel-amiga-m68k-audio_OBJDIR)/include/.audio.device-includes +else + kernel-amiga-m68k-audio-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.audio.device-includes +endif + +$(kernel-amiga-m68k-audio-includes_TARGETS) : $(kernel-amiga-m68k-audio-includes_DEPS) $(kernel-amiga-m68k-audio-includes_GENINCFLAG) + +$(kernel-amiga-m68k-audio-includes_GENINCFLAG) : OPTS := $(kernel-amiga-m68k-audio-includes_OPTS) +$(kernel-amiga-m68k-audio-includes_GENINCFLAG) : MODNAME := audio +$(kernel-amiga-m68k-audio-includes_GENINCFLAG) : MODTYPE := device +$(kernel-amiga-m68k-audio-includes_GENINCFLAG) : $(kernel-amiga-m68k-audio-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-amiga-m68k-audio_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-audio_OBJDIR)/audio_geninc + +$(kernel-amiga-m68k-audio_OBJDIR)/audio_geninc : COPYSRCDIR := $(kernel-amiga-m68k-audio_OBJDIR)/include +$(kernel-amiga-m68k-audio_OBJDIR)/audio_geninc : TGTDIR := $(GENINCDIR) +$(kernel-amiga-m68k-audio_OBJDIR)/audio_geninc : FILES := $($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-audio_OBJDIR)/audio_geninc : $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/include/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-amiga-m68k-audio_OBJDIR)/include + +$(addprefix $(kernel-amiga-m68k-audio_INCDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-audio_OBJDIR)/audio_incs + +$(kernel-amiga-m68k-audio_OBJDIR)/audio_incs : COPYSRCDIR := $(kernel-amiga-m68k-audio_OBJDIR)/include +$(kernel-amiga-m68k-audio_OBJDIR)/audio_incs : TGTDIR := $(kernel-amiga-m68k-audio_INCDIR) +$(kernel-amiga-m68k-audio_OBJDIR)/audio_incs : FILES := $($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-audio_OBJDIR)/audio_incs : $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/include/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-amiga-m68k-audio_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)))) + +TMPaudio_INCDIRS := \ + $(kernel-amiga-m68k-audio_OBJDIR)/include $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/include/,$(kernel-amiga-m68k-audio_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-amiga-m68k-audio_INCDIRS)) \ + $(kernel-amiga-m68k-audio_INCDIR) $(addprefix $(kernel-amiga-m68k-audio_INCDIR)/,$(kernel-amiga-m68k-audio_INCDIRS)) + +ifneq (kernel-amiga-m68k-audio-includes-dirs,) +kernel-amiga-m68k-audio-includes-dirs : | $(TMPaudio_INCDIRS) +else +kernel-amiga-m68k-audio-includes-dirs :: $(TMPaudio_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPaudio_INCDIRS) + + +endif + +endif + + +kernel-amiga-m68k-audio-genlibdefs_OPTS := +ifneq (,) + kernel-amiga-m68k-audio-genlibdefs_OPTS += -f + kernel-amiga-m68k-audio-genlibdefs_MODNAME := audio_ +else + kernel-amiga-m68k-audio-genlibdefs_MODNAME := audio +endif +kernel-amiga-m68k-audio-genlibdefs_TARGET := $(kernel-amiga-m68k-audio-genlibdefs_MODNAME)_libdefs.h +kernel-amiga-m68k-audio-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-audio-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-audio-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-audio-genlibdefs_OPTS += -c + kernel-amiga-m68k-audio-genlibdefs_DEPS += + endif +else + kernel-amiga-m68k-audio-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/audio.conf + kernel-amiga-m68k-audio-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/audio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-audio-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-audio-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-audio-genlibdefs_OPTS += -o + kernel-amiga-m68k-audio-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-audio-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-audio_OBJDIR)/include,) + kernel-amiga-m68k-audio-genlibdefs_OPTS += -d $(kernel-amiga-m68k-audio_OBJDIR)/include + kernel-amiga-m68k-audio-genlibdefs_TARGET := $(kernel-amiga-m68k-audio_OBJDIR)/include/$(kernel-amiga-m68k-audio-genlibdefs_TARGET) +endif +ifneq (,) + kernel-amiga-m68k-audio-genlibdefs_OPTS += -v +endif + +$(kernel-amiga-m68k-audio-genlibdefs_TARGET) : OPTS := $(kernel-amiga-m68k-audio-genlibdefs_OPTS) +$(kernel-amiga-m68k-audio-genlibdefs_TARGET) : MODNAME := audio +$(kernel-amiga-m68k-audio-genlibdefs_TARGET) : MODTYPE := device +$(kernel-amiga-m68k-audio-genlibdefs_TARGET) : $(kernel-amiga-m68k-audio-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-audio_DEFLIBDEFSINC) : FILENAME := $(kernel-amiga-m68k-audio_LIBDEFSINC) +$(kernel-amiga-m68k-audio_DEFLIBDEFSINC) : $(kernel-amiga-m68k-audio_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-amiga-m68k-audio_LIBDEFSINC) $(kernel-amiga-m68k-audio_DEFLIBDEFSINC) : | $(kernel-amiga-m68k-audio_OBJDIR)/include + +ifneq (kernel-amiga-m68k-audio-includes-dirs,) +kernel-amiga-m68k-audio-includes-dirs : | $(kernel-amiga-m68k-audio_OBJDIR)/include +else +kernel-amiga-m68k-audio-includes-dirs :: $(kernel-amiga-m68k-audio_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-audio_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-amiga-m68k-audio-genmodfiles_OPTS := +ifneq (,) + kernel-amiga-m68k-audio-genmodfiles_OPTS += -f + kernel-amiga-m68k-audio-genmodfiles_MODNAME := audio_ +else + kernel-amiga-m68k-audio-genmodfiles_MODNAME := audio +endif +kernel-amiga-m68k-audio-genmodfiles_GENTARGETS := $($(kernel-amiga-m68k-audio-genmodfiles_MODNAME)_STARTFILES) $($(kernel-amiga-m68k-audio-genmodfiles_MODNAME)_ENDFILES) +kernel-amiga-m68k-audio-genmodfiles_STUBTARGETS := $($(kernel-amiga-m68k-audio-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-audio-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-amiga-m68k-audio-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-audio-genmodfiles_GENTARGETS)) +kernel-amiga-m68k-audio-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-audio-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-amiga-m68k-audio-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-amiga-m68k-audio-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-amiga-m68k-audio-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-audio-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-audio-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-audio-genmodfiles_OPTS += -c + kernel-amiga-m68k-audio-genmodfiles_DEPS += + endif +else + kernel-amiga-m68k-audio-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/audio.conf + kernel-amiga-m68k-audio-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/audio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-audio-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-audio-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-audio-genmodfiles_OPTS += -o + kernel-amiga-m68k-audio-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-audio-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-audio_OBJDIR),) + kernel-amiga-m68k-audio-genmodfiles_OPTS += -d $(kernel-amiga-m68k-audio_OBJDIR) + kernel-amiga-m68k-audio-genmodfiles_TARGETDIR := $(shell echo $(kernel-amiga-m68k-audio_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-audio-genmodfiles_GENTARGETS := $(addprefix $(kernel-amiga-m68k-audio-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-audio-genmodfiles_GENTARGETS)) + kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG=$(kernel-amiga-m68k-audio-genmodfiles_TARGETDIR)/.audio.device-genfiles +else + kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.audio.device-genfiles +endif +ifneq ($(kernel-amiga-m68k-audio_OBJDIR)/linklib,) + kernel-amiga-m68k-audio-genmodfiles_OPTS += -l $(kernel-amiga-m68k-audio_OBJDIR)/linklib + kernel-amiga-m68k-audio-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-amiga-m68k-audio_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-audio-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-audio-genmodfiles_STUBTARGETDIR)/,$(kernel-amiga-m68k-audio-genmodfiles_STUBTARGETS)) + kernel-amiga-m68k-audio-genmodfiles_TARGETDIRS += $(kernel-amiga-m68k-audio_OBJDIR)/linklib +else +ifneq ($(kernel-amiga-m68k-audio_OBJDIR),) + kernel-amiga-m68k-audio-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-audio-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-audio-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-amiga-m68k-audio-genmodfiles_TARGETS := $(kernel-amiga-m68k-audio-genmodfiles_GENTARGETS) $(kernel-amiga-m68k-audio-genmodfiles_STUBTARGETS) +ifneq ($(kernel-amiga-m68k-audio-genmodfiles_TARGETDIRS),) +$(kernel-amiga-m68k-audio-genmodfiles_TARGETS) : | $(kernel-amiga-m68k-audio-genmodfiles_TARGETDIRS) +endif + +$(kernel-amiga-m68k-audio-genmodfiles_TARGETS) : $(kernel-amiga-m68k-audio-genmodfiles_DEPS) $(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG) + +$(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-amiga-m68k-audio-genmodfiles_OPTS) +$(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG) : MODNAME := audio +$(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-audio-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-audio_DEFLIBDEFSINC) $(kernel-amiga-m68k-audio-makefile) + + +ifneq ($(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG),) +$(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG) : | $(kernel-amiga-m68k-audio_OBJDIR)/linklib +else +$(kernel-amiga-m68k-audio-genmodfiles_GENFILEFLAG) :: $(kernel-amiga-m68k-audio_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-audio_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-amiga-m68k-audio_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-amiga-m68k-audio_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-amiga-m68k-audio-fd : $(kernel-amiga-m68k-audio_FDDIR)/audio_lib.fd + + +TMP_TARGET := audio_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/audio.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/audio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-audio_FDDIR),) + TMP_OPTS += -d $(kernel-amiga-m68k-audio_FDDIR) + TMP_TARGET := $(kernel-amiga-m68k-audio_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := audio +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-audio_FDDIR)/audio_lib.fd : | $(kernel-amiga-m68k-audio_FDDIR) + + +ifneq (kernel-amiga-m68k-audio-fd-setup,) +kernel-amiga-m68k-audio-fd-setup : | $(kernel-amiga-m68k-audio_FDDIR) +else +kernel-amiga-m68k-audio-fd-setup :: $(kernel-amiga-m68k-audio_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-audio_FDDIR) + +endif + +## Compilation +## +kernel-amiga-m68k-audio_FILES := $(FILES) +kernel-amiga-m68k-audio_OBJCFILES := +kernel-amiga-m68k-audio_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-amiga-m68k-audio_LIBFILES := +kernel-amiga-m68k-audio_LIBS := hiddstubs + +kernel-amiga-m68k-audio_FDIRS := $(sort $(dir $(kernel-amiga-m68k-audio_FILES))) + +kernel-amiga-m68k-audio_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-amiga-m68k-audio_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-amiga-m68k-audio_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-amiga-m68k-audio_FILTERARCH = $(filter-out $(call kernel-amiga-m68k-audio_MATCHARCH,$(1),$(2)),$(2)) +kernel-amiga-m68k-audio_STARTFILES := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_STARTFILES)) +kernel-amiga-m68k-audio_ENDFILES := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_ENDFILES)) + +kernel-amiga-m68k-audio_ARCHOBJS := $(wildcard $(kernel-amiga-m68k-audio_OBJDIR)/arch/*.o) +kernel-amiga-m68k-audio_LIBARCHOBJS := $(wildcard $(kernel-amiga-m68k-audio_OBJDIR)/linklib/arch/*.o) +kernel-amiga-m68k-audio_ARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-audio_ARCHOBJS))) +kernel-amiga-m68k-audio_LIBARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-audio_LIBARCHOBJS))) +kernel-amiga-m68k-audio_C_NARCHFILES := $(call kernel-amiga-m68k-audio_FILTERARCH,$(kernel-amiga-m68k-audio_ARCHFILES),$(kernel-amiga-m68k-audio_FILES)) +kernel-amiga-m68k-audio_CXX_NARCHFILES := $(call kernel-amiga-m68k-audio_FILTERARCH,$(kernel-amiga-m68k-audio_ARCHFILES),$(kernel-amiga-m68k-audio_CXXFILES)) +kernel-amiga-m68k-audio_OBJC_NARCHFILES := $(call kernel-amiga-m68k-audio_FILTERARCH,$(kernel-amiga-m68k-audio_ARCHFILES),$(kernel-amiga-m68k-audio_OBJCFILES)) +kernel-amiga-m68k-audio_NLIBARCHFILES := $(call kernel-amiga-m68k-audio_FILTERARCH,$(kernel-amiga-m68k-audio_LIBARCHFILES),$(kernel-amiga-m68k-audio_LIBFILES)) +kernel-amiga-m68k-audio_ARCHNLIBFILES := $(call kernel-amiga-m68k-audio_FILTERARCH,$(kernel-amiga-m68k-audio_LIBFILES),$(kernel-amiga-m68k-audio_LIBARCHFILES)) + +kernel-amiga-m68k-audio_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-amiga-m68k-audio_OBJDIR)/include -include $(kernel-amiga-m68k-audio_DEFLIBDEFSINC)) +ifneq (,) +kernel-amiga-m68k-audio_CPPFLAGS += -I +endif +kernel-amiga-m68k-audio_LINKLIBCPPFLAGS := $(kernel-amiga-m68k-audio_CPPFLAGS) +kernel-amiga-m68k-audio_CPPFLAGS += $(strip $($(kernel-amiga-m68k-audio_DEFNAME)_CPPFLAGS)) +kernel-amiga-m68k-audio_LINKLIBCPPFLAGS += $(strip $($(kernel-amiga-m68k-audio_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-amiga-m68k-audio_CFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-audio_DEFNAME)_CFLAGS)) +kernel-amiga-m68k-audio_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-audio_DEFNAME)_LINKLIBCFLAGS)) +kernel-amiga-m68k-audio_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-amiga-m68k-audio_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-audio_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-amiga-m68k-audio_CFLAGS := $(strip $(kernel-amiga-m68k-audio_LTOFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +kernel-amiga-m68k-audio_LINKLIBCFLAGS := $(strip $(kernel-amiga-m68k-audio_LTOFLAGS) $(kernel-amiga-m68k-audio_LINKLIBCFLAGS)) +kernel-amiga-m68k-audio_CXXFLAGS := $(strip $(kernel-amiga-m68k-audio_LTOFLAGS) $(kernel-amiga-m68k-audio_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-audio_SUBSTNULL := +kernel-amiga-m68k-audio_SUBSTSPACE := $(kernel-amiga-m68k-audio_SUBSTNULL) # +kernel-amiga-m68k-audio_SUBSTCOMMA := , +kernel-amiga-m68k-audio_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-amiga-m68k-audio_SUBSTSPACE),$(kernel-amiga-m68k-audio_SUBSTCOMMA),$(strip $($(kernel-amiga-m68k-audio_DEFNAME)_STARTFILES)))) +kernel-amiga-m68k-audio_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-amiga-m68k-audio_CFLAGS := $(strip $(kernel-amiga-m68k-audio_INSTRFUNCFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +kernel-amiga-m68k-audio_CXXFLAGS := $(strip $(kernel-amiga-m68k-audio_INSTRFUNCFLAGS) $(kernel-amiga-m68k-audio_CXXFLAGS)) +kernel-amiga-m68k-audio_LIBS += $(kernel-amiga-m68k-audio_INSTRFUNCLIBS) +endif +endif +kernel-amiga-m68k-audio_DFLAGS := $(strip $(kernel-amiga-m68k-audio_DFLAGS) $($(kernel-amiga-m68k-audio_DEFNAME)_DFLAGS)) +kernel-amiga-m68k-audio_LINKLIBDFLAGS := $(strip $(kernel-amiga-m68k-audio_DFLAGS) $($(kernel-amiga-m68k-audio_DEFNAME)_LINKLIBDFLAGS)) +kernel-amiga-m68k-audio_DXXFLAGS := $(strip $(kernel-amiga-m68k-audio_DXXFLAGS) $($(kernel-amiga-m68k-audio_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-amiga-m68k-audio_LIBSUFFIX := +else + kernel-amiga-m68k-audio_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-amiga-m68k-audio_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-amiga-m68k-audio_LIBDIR := +endif + +ifeq (M,M) +kernel-amiga-m68k-audio_LINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$($(kernel-amiga-m68k-audio_DEFNAME)_LINKLIBFILES)) +kernel-amiga-m68k-audio_LINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$($(kernel-amiga-m68k-audio_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-audio_DEFNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-audio_DEFNAME)_LINKLIBAFILES) $(kernel-amiga-m68k-audio_ARCHNLIBFILES)),) + kernel-amiga-m68k-audio_LINKLIB := +else + kernel-amiga-m68k-audio_LINKLIB := $(kernel-amiga-m68k-audio_LIBDIR)/libaudio$(kernel-amiga-m68k-audio_LIBSUFFIX).a + ifneq (audio,$(kernel-amiga-m68k-audio_LINKLIBNAME)) + kernel-amiga-m68k-audio_LINKLIB += $(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)$(kernel-amiga-m68k-audio_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-audio_LINKLIBFILES := $(kernel-amiga-m68k-audio_LINKLIBCFILES) $(kernel-amiga-m68k-audio_LINKLIBAFILES) + +kernel-amiga-m68k-audio_RELLINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$($(kernel-amiga-m68k-audio_DEFNAME)_RELLINKLIBFILES)) +kernel-amiga-m68k-audio_RELLINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$($(kernel-amiga-m68k-audio_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-audio_DEFNAME)_RELLINKLIBFILES) $($(kernel-amiga-m68k-audio_DEFNAME)_RELLINKLIBAFILES) $(kernel-amiga-m68k-audio_ARCHNLIBFILES)),) + kernel-amiga-m68k-audio_RELLINKLIB := +else + kernel-amiga-m68k-audio_RELLINKLIB := $(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_DEFNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a + ifneq (audio,$(kernel-amiga-m68k-audio_LINKLIBNAME)) + kernel-amiga-m68k-audio_RELLINKLIB += $(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-audio_RELLINKLIBFILES := $(kernel-amiga-m68k-audio_RELLINKLIBCFILES) $(kernel-amiga-m68k-audio_RELLINKLIBAFILES) +endif + +kernel-amiga-m68k-audio_ENDOBJS := $(addsuffix .o,$(kernel-amiga-m68k-audio_ENDFILES)) +kernel-amiga-m68k-audio_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-audio_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-audio_ARCHNLIBFILES))) $(kernel-amiga-m68k-audio_LINKLIBFILES)) \ + +kernel-amiga-m68k-audio_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-audio_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-audio_ARCHNLIBFILES))) $(kernel-amiga-m68k-audio_RELLINKLIBFILES)) \ + +$(kernel-amiga-m68k-audio_LINKLIBFILES) $(kernel-amiga-m68k-audio_RELLINKLIBFILES) : | $(kernel-amiga-m68k-audio_OBJDIR)/linklib +$(kernel-amiga-m68k-audio_LINKLIBOBJS) $(kernel-amiga-m68k-audio_RELLINKLIBOBJS) : | $(kernel-amiga-m68k-audio_OBJDIR)/linklib + +kernel-amiga-m68k-audio_CCFILES := $(kernel-amiga-m68k-audio_C_NARCHFILES) +kernel-amiga-m68k-audio_TARGETCCFILES := $(strip $(kernel-amiga-m68k-audio_STARTFILES) $(kernel-amiga-m68k-audio_ENDFILES)) +kernel-amiga-m68k-audio_LINKLIBCCFILES := $(strip $(kernel-amiga-m68k-audio_NLIBARCHFILES) $(kernel-amiga-m68k-audio_LINKLIBCFILES) $(kernel-amiga-m68k-audio_RELLINKLIBCFILES)) +kernel-amiga-m68k-audio_LINKLIBCCGENFILES := $(strip $(kernel-amiga-m68k-audio_LINKLIBCFILES) $(kernel-amiga-m68k-audio_RELLINKLIBCFILES)) + + +kernel-amiga-m68k-audio_CXXABSBASENAMES := $(foreach kernel-amiga-m68k-audio_CXXBASE,$(kernel-amiga-m68k-audio_CXX_NARCHFILES),$(if $(filter /%,$(kernel-amiga-m68k-audio_CXXBASE)),$(kernel-amiga-m68k-audio_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-amiga-m68k-audio_CXXBASE)))) + +ifneq ($(kernel-amiga-m68k-audio_CXXABSBASENAMES),) + +kernel-amiga-m68k-audio_CXXBASENAMES := $(basename $(kernel-amiga-m68k-audio_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-amiga-m68k-audio_MCXX_FILES := $(strip $(foreach kernel-amiga-m68k-audio_CXXBASE,$(kernel-amiga-m68k-audio_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-amiga-m68k-audio_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-amiga-m68k-audio_EXT),$(kernel-amiga-m68k-audio_CXXBASE))))))) + +ifeq (,) +kernel-amiga-m68k-audio_MCXX_SRCWILDCARD := % +else +kernel-amiga-m68k-audio_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-audio_OBJDIR),) + kernel-amiga-m68k-audio_CXXTARGETS := $(notdir $(kernel-amiga-m68k-audio_CXXBASENAMES:=.o)) + kernel-amiga-m68k-audio_CXXDTARGETS := $(notdir $(kernel-amiga-m68k-audio_CXXBASENAMES:=.d)) + kernel-amiga-m68k-audio_MCXX_WILDCARD := % +else + kernel-amiga-m68k-audio_CXXTARGETS := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(kernel-amiga-m68k-audio_CXXBASENAMES:=.o))) + kernel-amiga-m68k-audio_CXXDTARGETS := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(kernel-amiga-m68k-audio_CXXBASENAMES:=.d))) + kernel-amiga-m68k-audio_MCXX_WILDCARD := $(kernel-amiga-m68k-audio_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-amiga-m68k-audio_CXXTARGETS) $(kernel-amiga-m68k-audio_CXXDTARGETS) : | $(kernel-amiga-m68k-audio_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-amiga-m68k-audio_MCXX_CPPFLAGS := $(kernel-amiga-m68k-audio_CPPFLAGS) +kernel-amiga-m68k-audio_CXXFLAGS := $(kernel-amiga-m68k-audio_CXXFLAGS) +ifeq ($(kernel-amiga-m68k-audio_DXXFLAGS),) + kernel-amiga-m68k-audio_DXXFLAGS := $(kernel-amiga-m68k-audio_CXXFLAGS) +else + kernel-amiga-m68k-audio_DXXFLAGS := $(kernel-amiga-m68k-audio_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-amiga-m68k-audio_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-amiga-m68k-audio_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-amiga-m68k-audio_CXXCMD:=$(HOST_CXX) + kernel-amiga-m68k-audio_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-amiga-m68k-audio_MCXX_CPPFLAGS) $(kernel-amiga-m68k-audio_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-audio_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-audio_CXXFLAGS)) + kernel-amiga-m68k-audio_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-audio_DXXFLAGS)) + kernel-amiga-m68k-audio_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-amiga-m68k-audio_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-amiga-m68k-audio_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-audio_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-amiga-m68k-audio_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-amiga-m68k-audio_MCXX_CPPFLAGS := $(strip $(kernel-amiga-m68k-audio_MCXX_CPPFLAGS) $(kernel-amiga-m68k-audio_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-audio_CXXFLAGS := $(strip $(kernel-amiga-m68k-audio_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-amiga-m68k-audio_DXXFLAGS := $(kernel-amiga-m68k-audio_DXXFLAGS) + kernel-amiga-m68k-audio_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-amiga-m68k-audio_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-amiga-m68k-audio_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-audio_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-audio_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-audio_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-amiga-m68k-audio_MCXX_CPPFLAGS) $(kernel-amiga-m68k-audio_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-audio_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-audio_CXXFLAGS)) + kernel-amiga-m68k-audio_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-audio_DXXFLAGS)) + kernel-amiga-m68k-audio_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-amiga-m68k-audio_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-amiga-m68k-audio_CXXCMD) $(kernel-amiga-m68k-audio_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-audio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_CXXIQUOTE) . $(kernel-amiga-m68k-audio_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-audio_CXXFLAGS) $(kernel-amiga-m68k-audio_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-amiga-m68k-audio_CXXCMD) $(kernel-amiga-m68k-audio_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-audio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_CXXIQUOTE) . $(kernel-amiga-m68k-audio_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-audio_CXXFLAGS) $(kernel-amiga-m68k-audio_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-amiga-m68k-audio_CXXCMD) $(kernel-amiga-m68k-audio_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-audio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_CXXIQUOTE) . $(kernel-amiga-m68k-audio_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-audio_CXXFLAGS) $(kernel-amiga-m68k-audio_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-amiga-m68k-audio_CXXCMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-audio_DXXFLAGS) $(kernel-amiga-m68k-audio_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-amiga-m68k-audio_OBJDIR),) + $(foreach kernel-amiga-m68k-audio_CXXFILE,$(kernel-amiga-m68k-audio_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-amiga-m68k-audio_CXXFILE))),$(kernel-amiga-m68k-audio_CXXFILE)))) +else + $(foreach kernel-amiga-m68k-audio_CXXFILE,$(kernel-amiga-m68k-audio_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(basename $(kernel-amiga-m68k-audio_CXXFILE)))),$(kernel-amiga-m68k-audio_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-amiga-m68k-audio_OBJC_NARCHFILES),) + +ifeq (,) +kernel-amiga-m68k-audio_MOBJC_SRCWILDCARD := % +else +kernel-amiga-m68k-audio_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-audio_OBJDIR),) + kernel-amiga-m68k-audio_MOBJC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-audio_OBJC_NARCHFILES)) + kernel-amiga-m68k-audio_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-audio_OBJC_NARCHFILES)) + kernel-amiga-m68k-audio_MOBJC_WILDCARD := % +else + kernel-amiga-m68k-audio_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(kernel-amiga-m68k-audio_OBJC_NARCHFILES))) + kernel-amiga-m68k-audio_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(kernel-amiga-m68k-audio_OBJC_NARCHFILES))) + kernel-amiga-m68k-audio_MOBJC_WILDCARD := $(kernel-amiga-m68k-audio_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-amiga-m68k-audio_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-amiga-m68k-audio_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-audio_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-audio_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-amiga-m68k-audio_MOBJC_DIRS := $(foreach dir, $(kernel-amiga-m68k-audio_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-audio_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-amiga-m68k-audio_MOBJC_DIRS),) + kernel-amiga-m68k-audio_MOBJC_DIRS := $(shell echo $(kernel-amiga-m68k-audio_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-amiga-m68k-audio_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-amiga-m68k-audio_CC := $(TARGET_CC) +else + kernel-amiga-m68k-audio_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-amiga-m68k-audio_MOBJC_CPPFLAGS := $(kernel-amiga-m68k-audio_CPPFLAGS) +kernel-amiga-m68k-audio_OBJCFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +kernel-amiga-m68k-audio_OBJCFLAGS := $(kernel-amiga-m68k-audio_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-amiga-m68k-audio_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-amiga-m68k-audio_OBJCFLAGS))) +ifeq ($(kernel-amiga-m68k-audio_DFLAGS),) + kernel-amiga-m68k-audio_OBJCDFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +else + kernel-amiga-m68k-audio_OBJCDFLAGS := $(kernel-amiga-m68k-audio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-amiga-m68k-audio_LINK ?= $(strip $(kernel-amiga-m68k-audio_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-audio_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-amiga-m68k-audio_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_MOBJC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-audio_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-audio_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_OBJCFLAGS:=$(strip $(kernel-amiga-m68k-audio_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_OBJCDFLAGS:=$(kernel-amiga-m68k-audio_OBJCDFLAGS) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-amiga-m68k-audio_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-amiga-m68k-audio_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-audio_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-audio_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_OBJCFLAGS)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_OBJCDFLAGS)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(HOST_IQUOTE) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-amiga-m68k-audio_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-audio_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-audio_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-audio_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_OBJCFLAGS)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_OBJCDFLAGS)) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-amiga-m68k-audio_MOBJC_TARGETS) $(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-audio_MOBJC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-audio_MOBJC_CPPFLAGS) +$(kernel-amiga-m68k-audio_MOBJC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-audio_OBJCFLAGS) +$(kernel-amiga-m68k-audio_MOBJC_TARGETS) : $(kernel-amiga-m68k-audio_MOBJC_WILDCARD).o : $(kernel-amiga-m68k-audio_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-audio_MOBJC_DTARGETS) : $(kernel-amiga-m68k-audio_MOBJC_WILDCARD).d : $(kernel-amiga-m68k-audio_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-audio_OBJCDFLAGS) $(kernel-amiga-m68k-audio_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-amiga-m68k-audio_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-audio_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-audio_OBJDIR),) +kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-audio_CCFILES)) +kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-audio_CCFILES)) +kernel-amiga-m68k-audio_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(kernel-amiga-m68k-audio_CCFILES)))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(kernel-amiga-m68k-audio_CCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(kernel-amiga-m68k-audio_CCFILES))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(kernel-amiga-m68k-audio_CCFILES))) +else + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-audio_CCFILES)))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-audio_CCFILES)))) +endif +endif +kernel-amiga-m68k-audio_MC_TGTWILDCARD := $(kernel-amiga-m68k-audio_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-audio_CCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-audio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-audio_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-audio_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-audio_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-audio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-audio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-audio_MC_DIRS),) + kernel-amiga-m68k-audio_MC_DIRS := $(shell echo $(kernel-amiga-m68k-audio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-audio_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-audio_MC_CPPFLAGS := $(kernel-amiga-m68k-audio_CPPFLAGS) +kernel-amiga-m68k-audio_CFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +ifeq ($(kernel-amiga-m68k-audio_DFLAGS),) + kernel-amiga-m68k-audio_DFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +else + kernel-amiga-m68k-audio_DFLAGS := $(kernel-amiga-m68k-audio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-audio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(kernel-amiga-m68k-audio_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(kernel-amiga-m68k-audio_DFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-audio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_DFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-audio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_DFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-audio_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-audio_MC_CPPFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) : $(kernel-amiga-m68k-audio_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-audio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-audio_MC_DTARGETS) : $(kernel-amiga-m68k-audio_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-audio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-audio_DFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-audio_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-audio_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-audio_OBJDIR),) +kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-audio_TARGETCCFILES)) +kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-audio_TARGETCCFILES)) +kernel-amiga-m68k-audio_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(kernel-amiga-m68k-audio_TARGETCCFILES)))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(kernel-amiga-m68k-audio_TARGETCCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(kernel-amiga-m68k-audio_TARGETCCFILES))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(kernel-amiga-m68k-audio_TARGETCCFILES))) +else + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-audio_TARGETCCFILES)))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-audio_TARGETCCFILES)))) +endif +endif +kernel-amiga-m68k-audio_MC_TGTWILDCARD := $(kernel-amiga-m68k-audio_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-audio_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-audio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-audio_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-audio_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-audio_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-audio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-audio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-audio_MC_DIRS),) + kernel-amiga-m68k-audio_MC_DIRS := $(shell echo $(kernel-amiga-m68k-audio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-audio_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-audio_MC_CPPFLAGS := $(kernel-amiga-m68k-audio_CPPFLAGS) -D__AROS__ +kernel-amiga-m68k-audio_CFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +ifeq ($(kernel-amiga-m68k-audio_DFLAGS),) + kernel-amiga-m68k-audio_DFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +else + kernel-amiga-m68k-audio_DFLAGS := $(kernel-amiga-m68k-audio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-audio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(kernel-amiga-m68k-audio_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(kernel-amiga-m68k-audio_DFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-audio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_DFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-audio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_DFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-audio_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-audio_MC_CPPFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) : $(kernel-amiga-m68k-audio_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-audio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-audio_MC_DTARGETS) : $(kernel-amiga-m68k-audio_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-audio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-audio_DFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-audio_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-audio_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-audio_OBJDIR)/linklib,) +kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-audio_NLIBARCHFILES)) +kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-audio_NLIBARCHFILES)) +kernel-amiga-m68k-audio_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-audio_NLIBARCHFILES)))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-audio_NLIBARCHFILES)))) +else +ifeq (,) + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(kernel-amiga-m68k-audio_NLIBARCHFILES))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(kernel-amiga-m68k-audio_NLIBARCHFILES))) +else + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-audio_NLIBARCHFILES)))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-audio_NLIBARCHFILES)))) +endif +endif +kernel-amiga-m68k-audio_MC_TGTWILDCARD := $(kernel-amiga-m68k-audio_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-audio_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-audio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-audio_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-audio_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-audio_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-audio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-audio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-audio_MC_DIRS),) + kernel-amiga-m68k-audio_MC_DIRS := $(shell echo $(kernel-amiga-m68k-audio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-audio_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-audio_MC_CPPFLAGS := $(kernel-amiga-m68k-audio_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-audio_CFLAGS := $(kernel-amiga-m68k-audio_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-audio_LINKLIBDFLAGS),) + kernel-amiga-m68k-audio_DFLAGS := $(kernel-amiga-m68k-audio_LINKLIBCFLAGS) +else + kernel-amiga-m68k-audio_DFLAGS := $(kernel-amiga-m68k-audio_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-audio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(kernel-amiga-m68k-audio_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(kernel-amiga-m68k-audio_DFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-audio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_DFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-audio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_DFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-audio_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-audio_MC_CPPFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) : $(kernel-amiga-m68k-audio_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-audio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-audio_MC_DTARGETS) : $(kernel-amiga-m68k-audio_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-audio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-audio_DFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-amiga-m68k-audio_OBJDIR)/linklib,) +kernel-amiga-m68k-audio_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-audio_MC_SRCWILDCARD := $(kernel-amiga-m68k-audio_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-amiga-m68k-audio_OBJDIR)/linklib,) +kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-audio_LINKLIBCCGENFILES)) +kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-audio_LINKLIBCCGENFILES)) +kernel-amiga-m68k-audio_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-audio_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-audio_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-amiga-m68k-audio_OBJDIR)/linklib,) + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(kernel-amiga-m68k-audio_LINKLIBCCGENFILES))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(kernel-amiga-m68k-audio_LINKLIBCCGENFILES))) +else + kernel-amiga-m68k-audio_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-audio_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-audio_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-audio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-audio_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-audio_LINKLIBCCGENFILES)))) +endif +endif +kernel-amiga-m68k-audio_MC_TGTWILDCARD := $(kernel-amiga-m68k-audio_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-audio_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-audio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-audio_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-audio_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-audio_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-audio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-audio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-audio_MC_DIRS),) + kernel-amiga-m68k-audio_MC_DIRS := $(shell echo $(kernel-amiga-m68k-audio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-audio_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-audio_MC_CPPFLAGS := $(kernel-amiga-m68k-audio_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-audio_CFLAGS := $(kernel-amiga-m68k-audio_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-audio_LINKLIBDFLAGS),) + kernel-amiga-m68k-audio_DFLAGS := $(kernel-amiga-m68k-audio_LINKLIBCFLAGS) +else + kernel-amiga-m68k-audio_DFLAGS := $(kernel-amiga-m68k-audio_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-audio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(kernel-amiga-m68k-audio_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(kernel-amiga-m68k-audio_DFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-audio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-audio_DFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-audio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-audio_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-audio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS) $(kernel-amiga-m68k-audio_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_CFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-audio_DFLAGS)) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-audio_MC_TARGETS) $(kernel-amiga-m68k-audio_MC_DTARGETS) : kernel-amiga-m68k-audio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-audio_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-audio_MC_CPPFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-audio_CFLAGS) +$(kernel-amiga-m68k-audio_MC_TARGETS) : $(kernel-amiga-m68k-audio_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-audio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-audio_IQUOTE) $(dir $<) $(kernel-amiga-m68k-audio_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-audio_IQUOTE) . $(kernel-amiga-m68k-audio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-audio_MC_DTARGETS) : $(kernel-amiga-m68k-audio_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-audio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-audio_DFLAGS) $(kernel-amiga-m68k-audio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-amiga-m68k-audio_LINKLIBAFILES),) + +ifeq ($(kernel-amiga-m68k-audio_OBJDIR)/linklib,) +kernel-amiga-m68k-audio-MA_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-audio_LINKLIBAFILES) $(kernel-amiga-m68k-audio_RELLINKLIBAFILES)) +kernel-amiga-m68k-audio-MA_WILDCARD := % +else +kernel-amiga-m68k-audio-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-audio_LINKLIBAFILES) $(kernel-amiga-m68k-audio_RELLINKLIBAFILES)))) +kernel-amiga-m68k-audio-MA_WILDCARD := $(kernel-amiga-m68k-audio_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-amiga-m68k-audio-MA_TARGETS) : | $(addsuffix .S,$(kernel-amiga-m68k-audio_LINKLIBAFILES) $(kernel-amiga-m68k-audio_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-audio-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-audio-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-audio_LINKLIBAFILES) $(kernel-amiga-m68k-audio_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-audio-MA_DIRS := $(foreach dir, $(kernel-amiga-m68k-audio-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-audio-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-audio-MA_DIRS),) + kernel-amiga-m68k-audio-MA_DIRS := $(shell echo $(kernel-amiga-m68k-audio-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-amiga-m68k-audio-MA_DIRS) +endif + +endif + +kernel-amiga-m68k-audio-MA_ASSEMBLER ?= $(kernel-amiga-m68k-audio_ASSEMBLER) + +$(kernel-amiga-m68k-audio-MA_TARGETS) : kernel-amiga-m68k-audio-MA_CMD:= $(kernel-amiga-m68k-audio-MA_ASSEMBLER) + +$(kernel-amiga-m68k-audio-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-amiga-m68k-audio-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-amiga-m68k-audio-MA_TARGETS) : $(kernel-amiga-m68k-audio-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-amiga-m68k-audio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-amiga-m68k-audio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-amiga-m68k-audio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-amiga-m68k-audio_SUFFIX := device +else +kernel-amiga-m68k-audio_SUFFIX := +endif + +ifeq (target,target) +kernel-amiga-m68k-audio_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-amiga-m68k-audio_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-amiga-m68k-audio_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-amiga-m68k-audio_SUFFIX),handler) +kernel-amiga-m68k-audio_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-audio_MODDIR)/$(kernel-amiga-m68k-audio_DEFNAME)-$(kernel-amiga-m68k-audio_SUFFIX) +else +kernel-amiga-m68k-audio_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-audio_MODDIR)/$(kernel-amiga-m68k-audio_DEFNAME).$(kernel-amiga-m68k-audio_SUFFIX) +endif +kernel-amiga-m68k-audio_KOBJ := $(KOBJSDIR)/$(kernel-amiga-m68k-audio_DEFNAME)_$(kernel-amiga-m68k-audio_SUFFIX).o +else +kernel-amiga-m68k-audio_MODULE := +kernel-amiga-m68k-audio_KOBJ := +endif + +kernel-amiga-m68k-audio-quick : kernel-amiga-m68k-audio +kernel-amiga-m68k-audio : $(kernel-amiga-m68k-audio_MODULE) $(kernel-amiga-m68k-audio_LINKLIB) $(kernel-amiga-m68k-audio_RELLINKLIB) +ifeq (M,M) +kernel-amiga-m68k-audio-kobj : $(kernel-amiga-m68k-audio_KOBJ) $(kernel-amiga-m68k-audio_LINKLIB) $(kernel-amiga-m68k-audio_RELLINKLIB) +kernel-amiga-m68k-audio-kobj-quick : $(kernel-amiga-m68k-audio_KOBJ) $(kernel-amiga-m68k-audio_LINKLIB) $(kernel-amiga-m68k-audio_RELLINKLIB) +endif +ifeq (M,M) +kernel-amiga-m68k-audio-linklib : $(kernel-amiga-m68k-audio_LINKLIB) $(kernel-amiga-m68k-audio_RELLINKLIB) +endif + +kernel-amiga-m68k-audio_OBJS := $(addsuffix .o,$(kernel-amiga-m68k-audio_STARTFILES)) $(kernel-amiga-m68k-audio_ARCHOBJS) \ + $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(kernel-amiga-m68k-audio_C_NARCHFILES:=.o) $(kernel-amiga-m68k-audio_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-amiga-m68k-audio_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (audio,con) + kernel-amiga-m68k-audio_ERR := $(notdir $(kernel-amiga-m68k-audio_MODULE)).err +else + kernel-amiga-m68k-audio_ERR := audio.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-amiga-m68k-audio_DEFNAME)_LDFLAGS) $(kernel-amiga-m68k-audio_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-amiga-m68k-audio_LIBS) $($(kernel-amiga-m68k-audio_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-amiga-m68k-audio_MODULE) : LIB_NAMES := $(kernel-amiga-m68k-audio_LIBS) $($(kernel-amiga-m68k-audio_DEFNAME)_LIBS) +$(kernel-amiga-m68k-audio_MODULE) : OBJS := $(kernel-amiga-m68k-audio_STARTOBJS) $(kernel-amiga-m68k-audio_OBJS) $(USER_OBJS) +$(kernel-amiga-m68k-audio_MODULE) : ENDTAG := $(kernel-amiga-m68k-audio_ENDOBJS) +$(kernel-amiga-m68k-audio_MODULE) : ERR := $(kernel-amiga-m68k-audio_ERR) +$(kernel-amiga-m68k-audio_MODULE) : OBJDIR := $(kernel-amiga-m68k-audio_OBJDIR) +$(kernel-amiga-m68k-audio_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-amiga-m68k-audio_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-amiga-m68k-audio_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-amiga-m68k-audio_MODULE) : $(kernel-amiga-m68k-audio_STARTOBJS) $(kernel-amiga-m68k-audio_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-audio_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-amiga-m68k-audio_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-amiga-m68k-audio_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-amiga-m68k-audio_LC_LINKLIBNAME := $(shell echo $(kernel-amiga-m68k-audio_LINKLIBNAME) | tr A-Z a-z) +kernel-amiga-m68k-audio_LC_MODNAME := $(shell echo audio | tr A-Z a-z) +ifneq ($(kernel-amiga-m68k-audio_LINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(HOST_AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)$(kernel-amiga-m68k-audio_LIBSUFFIX).a : $(kernel-amiga-m68k-audio_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-audio_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-audio_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-audio_LC_MODNAME),$(kernel-amiga-m68k-audio_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-audio_LIBDIR)/libaudio$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(AR) +$(kernel-amiga-m68k-audio_LIBDIR)/libaudio$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-audio_LIBDIR)/libaudio$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(HOST_AR) +$(kernel-amiga-m68k-audio_LIBDIR)/libaudio$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-audio_LIBDIR)/libaudio$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-audio_LIBDIR)/libaudio$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-audio_LIBDIR)/libaudio$(kernel-amiga-m68k-audio_LIBSUFFIX).a : $(kernel-amiga-m68k-audio_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-audio_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-audio_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-audio_LINKLIB),) +$(kernel-amiga-m68k-audio_LINKLIB) : | $(kernel-amiga-m68k-audio_LIBDIR) +else +$(kernel-amiga-m68k-audio_LINKLIB) :: $(kernel-amiga-m68k-audio_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-audio_LIBDIR) + +endif + +ifneq ($(kernel-amiga-m68k-audio_RELLINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(HOST_AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_LINKLIBNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : $(kernel-amiga-m68k-audio_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-audio_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-audio_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-audio_LC_MODNAME),$(kernel-amiga-m68k-audio_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_DEFNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_DEFNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_DEFNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(HOST_AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_DEFNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_DEFNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_DEFNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : kernel-amiga-m68k-audio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-audio_LIBDIR)/lib$(kernel-amiga-m68k-audio_DEFNAME)_rel$(kernel-amiga-m68k-audio_LIBSUFFIX).a : $(kernel-amiga-m68k-audio_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-audio_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-audio_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-audio_RELLINKLIB),) +$(kernel-amiga-m68k-audio_RELLINKLIB) : | $(kernel-amiga-m68k-audio_LIBDIR) +else +$(kernel-amiga-m68k-audio_RELLINKLIB) :: $(kernel-amiga-m68k-audio_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-audio_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-amiga-m68k-audio_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-amiga-m68k-audio_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-amiga-m68k-audio_SYMBOLS := $(kernel-amiga-m68k-audio_KBASE) + +kernel-amiga-m68k-audio_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-amiga-m68k-audio_KOBJ_LIBS := $(filter-out $(kernel-amiga-m68k-audio_KLIB),$(kernel-amiga-m68k-audio_LIBS)) $(kernel-amiga-m68k-audio_KAUTOLIB) +$(kernel-amiga-m68k-audio_KOBJ) : LINKLIBS:=$(kernel-amiga-m68k-audio_KOBJ_LIBS) $($(kernel-amiga-m68k-audio_DEFNAME)_LIBS) +$(kernel-amiga-m68k-audio_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-amiga-m68k-audio_SYMBOLS)) +$(kernel-amiga-m68k-audio_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-amiga-m68k-audio_KOBJ) : $(kernel-amiga-m68k-audio_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-audio_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-amiga-m68k-audio_DEPS := $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/,$(notdir $(kernel-amiga-m68k-audio_CCFILES:=.d) $(kernel-amiga-m68k-audio_TARGETCCFILES:=.d) $(kernel-amiga-m68k-audio_CXXFILES:=.d))) $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-audio_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-amiga-m68k-audio_DEPS),) + ifneq (kernel-amiga-m68k-audio kernel-amiga-m68k-audio-quick kernel-amiga-m68k-audio-kobj kernel-amiga-m68k-audio-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-amiga-m68k-audio kernel-amiga-m68k-audio-quick kernel-amiga-m68k-audio-kobj kernel-amiga-m68k-audio-kobj-quick),) + -include $(kernel-amiga-m68k-audio_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-amiga-m68k-audio_DEPS) + endif + endif +endif + +$(kernel-amiga-m68k-audio_OBJS) $(kernel-amiga-m68k-audio_DEPS) : | $(kernel-amiga-m68k-audio_OBJDIR)/linklib + +ifneq ($(kernel-amiga-m68k-audio_OBJS) $(kernel-amiga-m68k-audio_DEPS) $(kernel-amiga-m68k-audio_MODULE) $(kernel-amiga-m68k-audio_KOBJ),) +$(kernel-amiga-m68k-audio_OBJS) $(kernel-amiga-m68k-audio_DEPS) $(kernel-amiga-m68k-audio_MODULE) $(kernel-amiga-m68k-audio_KOBJ) : | $(kernel-amiga-m68k-audio_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-audio_MODDIR) $(KOBJSDIR) +else +$(kernel-amiga-m68k-audio_OBJS) $(kernel-amiga-m68k-audio_DEPS) $(kernel-amiga-m68k-audio_MODULE) $(kernel-amiga-m68k-audio_KOBJ) :: $(kernel-amiga-m68k-audio_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-audio_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-audio_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-audio_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-amiga-m68k-audio kernel-amiga-m68k-audio-includes kernel-amiga-m68k-audio-quick kernel-amiga-m68k-audio-kobj kernel-amiga-m68k-audio-kobj-quick),) # Only for this target these deps are wanted + +kernel-amiga-m68k-audio_DFILE_DEPS := $(kernel-amiga-m68k-audio_LIBDEFSINC) $(kernel-amiga-m68k-audio_DEFLIBDEFSINC) \ + $(addprefix $(kernel-amiga-m68k-audio_INCDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) +$(kernel-amiga-m68k-audio_DEPS) : $(kernel-amiga-m68k-audio_DFILE_DEPS) +endif + +kernel-amiga-m68k-audio_TOCLEAN := $(kernel-amiga-m68k-audio_OBJS) $(kernel-amiga-m68k-audio_DEPS) \ + $(kernel-amiga-m68k-audio_MODULE) $(kernel-amiga-m68k-audio_LINKLIB) $(kernel-amiga-m68k-audio_KOBJ) \ + $(kernel-amiga-m68k-audio_OBJDIR)/Makefile.audiodevice \ + $(addprefix $(kernel-amiga-m68k-audio_OBJDIR)/include/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-audio_INCDIR)/,$($(kernel-amiga-m68k-audio_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-audio_OBJDIR)/audio_geninc $(kernel-amiga-m68k-audio_OBJDIR)/audio_incs \ + $(addsuffix .c,$(kernel-amiga-m68k-audio_LINKLIBFILES)) $(kernel-amiga-m68k-audio_LINKLIBOBJS) $(kernel-amiga-m68k-audio_LIBDEFSINC) \ + $(kernel-amiga-m68k-audio_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-amiga-m68k-audio_STARTFILES) $(kernel-amiga-m68k-audio_ENDFILES)) \ + $(kernel-amiga-m68k-audio_ENDOBJS) +kernel-amiga-m68k-audio-clean : FILES := $(kernel-amiga-m68k-audio_TOCLEAN) +kernel-amiga-m68k-audio-clean :: + $(Q)$(ECHO) "Cleaning up for module audio" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-amiga-m68k-audio_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/devs/cd/mmakefile b/arch/m68k-amiga/devs/cd/mmakefile new file mode 100644 index 00000000000..b485e3fe2be --- /dev/null +++ b/arch/m68k-amiga/devs/cd/mmakefile @@ -0,0 +1,1666 @@ +# +# Copyright (C) 2013, The AROS Development Team +# All right reserved. +# Author: Jason S. McMullan +# +# Licensed under the AROS PUBLIC LICENSE (APL) Version 1.1 +# + +include $(SRCDIR)/config/aros.cfg + +FILES := cd cd32 + +#USER_CPPFLAGS += -DDEBUG=1 + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-amiga-m68k-cd +#MM kernel-amiga-m68k-cd-quick +#MM kernel-amiga-m68k-cd-makefile +#MM kernel-amiga-m68k-cd-clean + +# ABI targets: +#MM- includes-all : kernel-amiga-m68k-cd-includes +#MM- linklibs-cd: kernel-amiga-m68k-cd-linklib +#MM- linklibs-cd_rel : kernel-amiga-m68k-cd-linklib +#MM- includes-cd: kernel-amiga-m68k-cd-includes +#MM- includes-cd_rel : kernel-amiga-m68k-cd-includes +#MM- kernel-amiga-m68k-cd : kernel-amiga-m68k-cd-includes core-linklibs linklibs- +#MM kernel-amiga-m68k-cd-linklib : kernel-amiga-m68k-cd-includes includes- +#MM- kernel-amiga-m68k-cd-quick : kernel-amiga-m68k-cd-includes-quick +#MM kernel-amiga-m68k-cd-includes : kernel-amiga-m68k-cd-makefile kernel-amiga-m68k-cd-includes-dirs \ +#MM includes-generate-deps kernel-amiga-m68k-cd-fd +#MM kernel-amiga-m68k-cd-includes-quick +#MM kernel-amiga-m68k-cd-includes-dirs +#MM kernel-amiga-m68k-cd-fd + +# Library targets +#MM kernel-amiga-m68k-cd-kobj : core-linklibs linklibs- +#MM kernel-amiga-m68k-cd-kobj-quick : + +# Library with ABI targets: +#MM kernel-amiga-m68k-cd-kobj : kernel-amiga-m68k-cd-includes core-linklibs linklibs- +#MM kernel-amiga-m68k-cd-kobj-quick : kernel-amiga-m68k-cd-includes-quick + +# All MetaMake targets defined by this macro +kernel-amiga-m68k-cd_ALLTARGETS := kernel-amiga-m68k-cd kernel-amiga-m68k-cd-quick kernel-amiga-m68k-cd-clean + +ifeq (M,M) +kernel-amiga-m68k-cd_ALLTARGETS += kernel-amiga-m68k-cd-kobj kernel-amiga-m68k-cd-kobj-quick +endif + +ifeq (M,M) +kernel-amiga-m68k-cd_ALLTARGETS += kernel-amiga-m68k-cd-includes \ + kernel-amiga-m68k-cd-includes-quick kernel-amiga-m68k-cd-includes-dirs \ + kernel-amiga-m68k-cd-linklib kernel-amiga-m68k-cd-fd +endif + +.PHONY : $(kernel-amiga-m68k-cd_ALLTARGETS) kernel-amiga-m68k-cd-makefile + +ifeq (cd,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-amiga-m68k-cd_DEFNAME := cd_ +else + kernel-amiga-m68k-cd_DEFNAME := cd +endif +kernel-amiga-m68k-cd_DEFLINKLIBNAME := $(kernel-amiga-m68k-cd_DEFNAME) +ifneq (,) + kernel-amiga-m68k-cd_LINKLIBNAME := +else + kernel-amiga-m68k-cd_LINKLIBNAME = $(kernel-amiga-m68k-cd_DEFLINKLIBNAME) +endif +kernel-amiga-m68k-cd_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-amiga-m68k-cd_DEFCPPFLAGS += -I +endif +kernel-amiga-m68k-cd_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-amiga-m68k-cd_DFLAGS := +else + kernel-amiga-m68k-cd_DFLAGS = $(kernel-amiga-m68k-cd_DEFDFLAGS) +endif +kernel-amiga-m68k-cd_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-amiga-m68k-cd_DXXFLAGS := +else + kernel-amiga-m68k-cd_DXXFLAGS = $(kernel-amiga-m68k-cd_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-cd_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-cd_DEFDFLAGS)) +kernel-amiga-m68k-cd_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-cd_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-cd_FUNCINSTR := yes +kernel-amiga-m68k-cd_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-cd_DEFDFLAGS)) +kernel-amiga-m68k-cd_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-cd_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-amiga-m68k-cd_OBJDIR := +else +kernel-amiga-m68k-cd_OBJDIR := $(OBJDIR)/$(kernel-amiga-m68k-cd_DEFNAME) +endif +ifneq (,) +kernel-amiga-m68k-cd_OBJDIR := $(kernel-amiga-m68k-cd_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-amiga-m68k-cd-makefile := $(kernel-amiga-m68k-cd_OBJDIR)/Makefile.$(kernel-amiga-m68k-cd_DEFNAME)device +kernel-amiga-m68k-cd-genmakefile : $(kernel-amiga-m68k-cd-makefile) + + +kernel-amiga-m68k-cd-genmakefile_OPTS := +ifneq (,) + kernel-amiga-m68k-cd-genmakefile_OPTS += -f + kernel-amiga-m68k-cd-genmakefile_MODNAME := cd_ +else + kernel-amiga-m68k-cd-genmakefile_MODNAME := cd +endif +kernel-amiga-m68k-cd-genmakefile_TARGET := Makefile.$(kernel-amiga-m68k-cd-genmakefile_MODNAME)device +kernel-amiga-m68k-cd-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-cd-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-cd-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-cd-genmakefile_OPTS += -c + kernel-amiga-m68k-cd-genmakefile_DEPS += + endif +else + kernel-amiga-m68k-cd-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/cd.conf + kernel-amiga-m68k-cd-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/cd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-cd-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-cd-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-cd-genmakefile_OPTS += -o + kernel-amiga-m68k-cd-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-cd-genmakefile_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-cd_OBJDIR),) + kernel-amiga-m68k-cd-genmakefile_OPTS += -d $(kernel-amiga-m68k-cd_OBJDIR) + kernel-amiga-m68k-cd-genmakefile_TARGET := $(kernel-amiga-m68k-cd_OBJDIR)/$(kernel-amiga-m68k-cd-genmakefile_TARGET) +endif + +$(kernel-amiga-m68k-cd-genmakefile_TARGET) : OPTS := $(kernel-amiga-m68k-cd-genmakefile_OPTS) +$(kernel-amiga-m68k-cd-genmakefile_TARGET) : MODNAME := cd +$(kernel-amiga-m68k-cd-genmakefile_TARGET) : MODTYPE := device +$(kernel-amiga-m68k-cd-genmakefile_TARGET) : $(kernel-amiga-m68k-cd-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-amiga-m68k-cd-makefile),) +$(kernel-amiga-m68k-cd-makefile) : | $(kernel-amiga-m68k-cd_OBJDIR) +else +$(kernel-amiga-m68k-cd-makefile) :: $(kernel-amiga-m68k-cd_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-cd_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-amiga-m68k-cd_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-amiga-m68k-cd-makefile) + +kernel-amiga-m68k-cd_DEFMODDIR := $($(kernel-amiga-m68k-cd_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-amiga-m68k-cd_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-amiga-m68k-cd_DEFMODDIR) +endif +ifneq (,) + kernel-amiga-m68k-cd_MODDIR := +else + kernel-amiga-m68k-cd_MODDIR := $(kernel-amiga-m68k-cd_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-amiga-m68k-cd_INCDIR := +else +kernel-amiga-m68k-cd_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-amiga-m68k-cd_LIBDEFSINC := $(kernel-amiga-m68k-cd_OBJDIR)/include/$(kernel-amiga-m68k-cd_DEFNAME)_libdefs.h +kernel-amiga-m68k-cd_DEFLIBDEFSINC := $(kernel-amiga-m68k-cd_OBJDIR)/include/$(kernel-amiga-m68k-cd_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-amiga-m68k-cd-includes-quick : kernel-amiga-m68k-cd-includes +kernel-amiga-m68k-cd-includes : $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-cd_INCDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-cd_LIBDEFSINC) $(kernel-amiga-m68k-cd_DEFLIBDEFSINC) + +ifneq ($($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-amiga-m68k-cd-includes_MODNAME := cd_ +else + kernel-amiga-m68k-cd-includes_MODNAME := cd +endif + +ifneq ($($(kernel-amiga-m68k-cd-includes_MODNAME)_INCLUDES),) + +kernel-amiga-m68k-cd-includes_TARGETS := $($(kernel-amiga-m68k-cd-includes_MODNAME)_INCLUDES) + +kernel-amiga-m68k-cd-includes_DEPS := $(GENMODULE) +kernel-amiga-m68k-cd-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-cd-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-cd-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-cd-includes_OPTS += -c + kernel-amiga-m68k-cd-includes_DEPS += + endif +else + kernel-amiga-m68k-cd-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/cd.conf + kernel-amiga-m68k-cd-includes_DEPS += $(SRCDIR)/$(CURDIR)/cd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-cd-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-cd-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-cd-includes_OPTS += -o + kernel-amiga-m68k-cd-includes_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-cd-includes_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-cd_OBJDIR)/include,) + kernel-amiga-m68k-cd-includes_OPTS += -d $(kernel-amiga-m68k-cd_OBJDIR)/include + kernel-amiga-m68k-cd-includes_TARGETS := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/include/,$(kernel-amiga-m68k-cd-includes_TARGETS)) + kernel-amiga-m68k-cd-includes_GENINCFLAG=$(kernel-amiga-m68k-cd_OBJDIR)/include/.cd.device-includes +else + kernel-amiga-m68k-cd-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.cd.device-includes +endif + +$(kernel-amiga-m68k-cd-includes_TARGETS) : $(kernel-amiga-m68k-cd-includes_DEPS) $(kernel-amiga-m68k-cd-includes_GENINCFLAG) + +$(kernel-amiga-m68k-cd-includes_GENINCFLAG) : OPTS := $(kernel-amiga-m68k-cd-includes_OPTS) +$(kernel-amiga-m68k-cd-includes_GENINCFLAG) : MODNAME := cd +$(kernel-amiga-m68k-cd-includes_GENINCFLAG) : MODTYPE := device +$(kernel-amiga-m68k-cd-includes_GENINCFLAG) : $(kernel-amiga-m68k-cd-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-amiga-m68k-cd_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-cd_OBJDIR)/cd_geninc + +$(kernel-amiga-m68k-cd_OBJDIR)/cd_geninc : COPYSRCDIR := $(kernel-amiga-m68k-cd_OBJDIR)/include +$(kernel-amiga-m68k-cd_OBJDIR)/cd_geninc : TGTDIR := $(GENINCDIR) +$(kernel-amiga-m68k-cd_OBJDIR)/cd_geninc : FILES := $($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-cd_OBJDIR)/cd_geninc : $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/include/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-amiga-m68k-cd_OBJDIR)/include + +$(addprefix $(kernel-amiga-m68k-cd_INCDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-cd_OBJDIR)/cd_incs + +$(kernel-amiga-m68k-cd_OBJDIR)/cd_incs : COPYSRCDIR := $(kernel-amiga-m68k-cd_OBJDIR)/include +$(kernel-amiga-m68k-cd_OBJDIR)/cd_incs : TGTDIR := $(kernel-amiga-m68k-cd_INCDIR) +$(kernel-amiga-m68k-cd_OBJDIR)/cd_incs : FILES := $($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-cd_OBJDIR)/cd_incs : $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/include/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-amiga-m68k-cd_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)))) + +TMPcd_INCDIRS := \ + $(kernel-amiga-m68k-cd_OBJDIR)/include $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/include/,$(kernel-amiga-m68k-cd_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-amiga-m68k-cd_INCDIRS)) \ + $(kernel-amiga-m68k-cd_INCDIR) $(addprefix $(kernel-amiga-m68k-cd_INCDIR)/,$(kernel-amiga-m68k-cd_INCDIRS)) + +ifneq (kernel-amiga-m68k-cd-includes-dirs,) +kernel-amiga-m68k-cd-includes-dirs : | $(TMPcd_INCDIRS) +else +kernel-amiga-m68k-cd-includes-dirs :: $(TMPcd_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPcd_INCDIRS) + + +endif + +endif + + +kernel-amiga-m68k-cd-genlibdefs_OPTS := +ifneq (,) + kernel-amiga-m68k-cd-genlibdefs_OPTS += -f + kernel-amiga-m68k-cd-genlibdefs_MODNAME := cd_ +else + kernel-amiga-m68k-cd-genlibdefs_MODNAME := cd +endif +kernel-amiga-m68k-cd-genlibdefs_TARGET := $(kernel-amiga-m68k-cd-genlibdefs_MODNAME)_libdefs.h +kernel-amiga-m68k-cd-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-cd-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-cd-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-cd-genlibdefs_OPTS += -c + kernel-amiga-m68k-cd-genlibdefs_DEPS += + endif +else + kernel-amiga-m68k-cd-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/cd.conf + kernel-amiga-m68k-cd-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/cd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-cd-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-cd-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-cd-genlibdefs_OPTS += -o + kernel-amiga-m68k-cd-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-cd-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-cd_OBJDIR)/include,) + kernel-amiga-m68k-cd-genlibdefs_OPTS += -d $(kernel-amiga-m68k-cd_OBJDIR)/include + kernel-amiga-m68k-cd-genlibdefs_TARGET := $(kernel-amiga-m68k-cd_OBJDIR)/include/$(kernel-amiga-m68k-cd-genlibdefs_TARGET) +endif +ifneq (,) + kernel-amiga-m68k-cd-genlibdefs_OPTS += -v +endif + +$(kernel-amiga-m68k-cd-genlibdefs_TARGET) : OPTS := $(kernel-amiga-m68k-cd-genlibdefs_OPTS) +$(kernel-amiga-m68k-cd-genlibdefs_TARGET) : MODNAME := cd +$(kernel-amiga-m68k-cd-genlibdefs_TARGET) : MODTYPE := device +$(kernel-amiga-m68k-cd-genlibdefs_TARGET) : $(kernel-amiga-m68k-cd-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-cd_DEFLIBDEFSINC) : FILENAME := $(kernel-amiga-m68k-cd_LIBDEFSINC) +$(kernel-amiga-m68k-cd_DEFLIBDEFSINC) : $(kernel-amiga-m68k-cd_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-amiga-m68k-cd_LIBDEFSINC) $(kernel-amiga-m68k-cd_DEFLIBDEFSINC) : | $(kernel-amiga-m68k-cd_OBJDIR)/include + +ifneq (kernel-amiga-m68k-cd-includes-dirs,) +kernel-amiga-m68k-cd-includes-dirs : | $(kernel-amiga-m68k-cd_OBJDIR)/include +else +kernel-amiga-m68k-cd-includes-dirs :: $(kernel-amiga-m68k-cd_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-cd_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-amiga-m68k-cd-genmodfiles_OPTS := +ifneq (,) + kernel-amiga-m68k-cd-genmodfiles_OPTS += -f + kernel-amiga-m68k-cd-genmodfiles_MODNAME := cd_ +else + kernel-amiga-m68k-cd-genmodfiles_MODNAME := cd +endif +kernel-amiga-m68k-cd-genmodfiles_GENTARGETS := $($(kernel-amiga-m68k-cd-genmodfiles_MODNAME)_STARTFILES) $($(kernel-amiga-m68k-cd-genmodfiles_MODNAME)_ENDFILES) +kernel-amiga-m68k-cd-genmodfiles_STUBTARGETS := $($(kernel-amiga-m68k-cd-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-cd-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-amiga-m68k-cd-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-cd-genmodfiles_GENTARGETS)) +kernel-amiga-m68k-cd-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-cd-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-amiga-m68k-cd-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-amiga-m68k-cd-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-amiga-m68k-cd-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-cd-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-cd-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-cd-genmodfiles_OPTS += -c + kernel-amiga-m68k-cd-genmodfiles_DEPS += + endif +else + kernel-amiga-m68k-cd-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/cd.conf + kernel-amiga-m68k-cd-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/cd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-cd-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-cd-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-cd-genmodfiles_OPTS += -o + kernel-amiga-m68k-cd-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-cd-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-cd_OBJDIR),) + kernel-amiga-m68k-cd-genmodfiles_OPTS += -d $(kernel-amiga-m68k-cd_OBJDIR) + kernel-amiga-m68k-cd-genmodfiles_TARGETDIR := $(shell echo $(kernel-amiga-m68k-cd_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-cd-genmodfiles_GENTARGETS := $(addprefix $(kernel-amiga-m68k-cd-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-cd-genmodfiles_GENTARGETS)) + kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG=$(kernel-amiga-m68k-cd-genmodfiles_TARGETDIR)/.cd.device-genfiles +else + kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.cd.device-genfiles +endif +ifneq ($(kernel-amiga-m68k-cd_OBJDIR)/linklib,) + kernel-amiga-m68k-cd-genmodfiles_OPTS += -l $(kernel-amiga-m68k-cd_OBJDIR)/linklib + kernel-amiga-m68k-cd-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-amiga-m68k-cd_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-cd-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-cd-genmodfiles_STUBTARGETDIR)/,$(kernel-amiga-m68k-cd-genmodfiles_STUBTARGETS)) + kernel-amiga-m68k-cd-genmodfiles_TARGETDIRS += $(kernel-amiga-m68k-cd_OBJDIR)/linklib +else +ifneq ($(kernel-amiga-m68k-cd_OBJDIR),) + kernel-amiga-m68k-cd-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-cd-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-cd-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-amiga-m68k-cd-genmodfiles_TARGETS := $(kernel-amiga-m68k-cd-genmodfiles_GENTARGETS) $(kernel-amiga-m68k-cd-genmodfiles_STUBTARGETS) +ifneq ($(kernel-amiga-m68k-cd-genmodfiles_TARGETDIRS),) +$(kernel-amiga-m68k-cd-genmodfiles_TARGETS) : | $(kernel-amiga-m68k-cd-genmodfiles_TARGETDIRS) +endif + +$(kernel-amiga-m68k-cd-genmodfiles_TARGETS) : $(kernel-amiga-m68k-cd-genmodfiles_DEPS) $(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG) + +$(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-amiga-m68k-cd-genmodfiles_OPTS) +$(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG) : MODNAME := cd +$(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-cd-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-cd_DEFLIBDEFSINC) $(kernel-amiga-m68k-cd-makefile) + + +ifneq ($(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG),) +$(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG) : | $(kernel-amiga-m68k-cd_OBJDIR)/linklib +else +$(kernel-amiga-m68k-cd-genmodfiles_GENFILEFLAG) :: $(kernel-amiga-m68k-cd_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-cd_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-amiga-m68k-cd_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-amiga-m68k-cd_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-amiga-m68k-cd-fd : $(kernel-amiga-m68k-cd_FDDIR)/cd_lib.fd + + +TMP_TARGET := cd_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/cd.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/cd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-cd_FDDIR),) + TMP_OPTS += -d $(kernel-amiga-m68k-cd_FDDIR) + TMP_TARGET := $(kernel-amiga-m68k-cd_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := cd +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-cd_FDDIR)/cd_lib.fd : | $(kernel-amiga-m68k-cd_FDDIR) + + +ifneq (kernel-amiga-m68k-cd-fd-setup,) +kernel-amiga-m68k-cd-fd-setup : | $(kernel-amiga-m68k-cd_FDDIR) +else +kernel-amiga-m68k-cd-fd-setup :: $(kernel-amiga-m68k-cd_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-cd_FDDIR) + +endif + +## Compilation +## +kernel-amiga-m68k-cd_FILES := $(FILES) +kernel-amiga-m68k-cd_OBJCFILES := +kernel-amiga-m68k-cd_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-amiga-m68k-cd_LIBFILES := +kernel-amiga-m68k-cd_LIBS := + +kernel-amiga-m68k-cd_FDIRS := $(sort $(dir $(kernel-amiga-m68k-cd_FILES))) + +kernel-amiga-m68k-cd_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-amiga-m68k-cd_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-amiga-m68k-cd_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-amiga-m68k-cd_FILTERARCH = $(filter-out $(call kernel-amiga-m68k-cd_MATCHARCH,$(1),$(2)),$(2)) +kernel-amiga-m68k-cd_STARTFILES := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_STARTFILES)) +kernel-amiga-m68k-cd_ENDFILES := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_ENDFILES)) + +kernel-amiga-m68k-cd_ARCHOBJS := $(wildcard $(kernel-amiga-m68k-cd_OBJDIR)/arch/*.o) +kernel-amiga-m68k-cd_LIBARCHOBJS := $(wildcard $(kernel-amiga-m68k-cd_OBJDIR)/linklib/arch/*.o) +kernel-amiga-m68k-cd_ARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-cd_ARCHOBJS))) +kernel-amiga-m68k-cd_LIBARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-cd_LIBARCHOBJS))) +kernel-amiga-m68k-cd_C_NARCHFILES := $(call kernel-amiga-m68k-cd_FILTERARCH,$(kernel-amiga-m68k-cd_ARCHFILES),$(kernel-amiga-m68k-cd_FILES)) +kernel-amiga-m68k-cd_CXX_NARCHFILES := $(call kernel-amiga-m68k-cd_FILTERARCH,$(kernel-amiga-m68k-cd_ARCHFILES),$(kernel-amiga-m68k-cd_CXXFILES)) +kernel-amiga-m68k-cd_OBJC_NARCHFILES := $(call kernel-amiga-m68k-cd_FILTERARCH,$(kernel-amiga-m68k-cd_ARCHFILES),$(kernel-amiga-m68k-cd_OBJCFILES)) +kernel-amiga-m68k-cd_NLIBARCHFILES := $(call kernel-amiga-m68k-cd_FILTERARCH,$(kernel-amiga-m68k-cd_LIBARCHFILES),$(kernel-amiga-m68k-cd_LIBFILES)) +kernel-amiga-m68k-cd_ARCHNLIBFILES := $(call kernel-amiga-m68k-cd_FILTERARCH,$(kernel-amiga-m68k-cd_LIBFILES),$(kernel-amiga-m68k-cd_LIBARCHFILES)) + +kernel-amiga-m68k-cd_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-amiga-m68k-cd_OBJDIR)/include -include $(kernel-amiga-m68k-cd_DEFLIBDEFSINC)) +ifneq (,) +kernel-amiga-m68k-cd_CPPFLAGS += -I +endif +kernel-amiga-m68k-cd_LINKLIBCPPFLAGS := $(kernel-amiga-m68k-cd_CPPFLAGS) +kernel-amiga-m68k-cd_CPPFLAGS += $(strip $($(kernel-amiga-m68k-cd_DEFNAME)_CPPFLAGS)) +kernel-amiga-m68k-cd_LINKLIBCPPFLAGS += $(strip $($(kernel-amiga-m68k-cd_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-amiga-m68k-cd_CFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-cd_DEFNAME)_CFLAGS)) +kernel-amiga-m68k-cd_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-cd_DEFNAME)_LINKLIBCFLAGS)) +kernel-amiga-m68k-cd_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-amiga-m68k-cd_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-cd_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-amiga-m68k-cd_CFLAGS := $(strip $(kernel-amiga-m68k-cd_LTOFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +kernel-amiga-m68k-cd_LINKLIBCFLAGS := $(strip $(kernel-amiga-m68k-cd_LTOFLAGS) $(kernel-amiga-m68k-cd_LINKLIBCFLAGS)) +kernel-amiga-m68k-cd_CXXFLAGS := $(strip $(kernel-amiga-m68k-cd_LTOFLAGS) $(kernel-amiga-m68k-cd_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-cd_SUBSTNULL := +kernel-amiga-m68k-cd_SUBSTSPACE := $(kernel-amiga-m68k-cd_SUBSTNULL) # +kernel-amiga-m68k-cd_SUBSTCOMMA := , +kernel-amiga-m68k-cd_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-amiga-m68k-cd_SUBSTSPACE),$(kernel-amiga-m68k-cd_SUBSTCOMMA),$(strip $($(kernel-amiga-m68k-cd_DEFNAME)_STARTFILES)))) +kernel-amiga-m68k-cd_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-amiga-m68k-cd_CFLAGS := $(strip $(kernel-amiga-m68k-cd_INSTRFUNCFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +kernel-amiga-m68k-cd_CXXFLAGS := $(strip $(kernel-amiga-m68k-cd_INSTRFUNCFLAGS) $(kernel-amiga-m68k-cd_CXXFLAGS)) +kernel-amiga-m68k-cd_LIBS += $(kernel-amiga-m68k-cd_INSTRFUNCLIBS) +endif +endif +kernel-amiga-m68k-cd_DFLAGS := $(strip $(kernel-amiga-m68k-cd_DFLAGS) $($(kernel-amiga-m68k-cd_DEFNAME)_DFLAGS)) +kernel-amiga-m68k-cd_LINKLIBDFLAGS := $(strip $(kernel-amiga-m68k-cd_DFLAGS) $($(kernel-amiga-m68k-cd_DEFNAME)_LINKLIBDFLAGS)) +kernel-amiga-m68k-cd_DXXFLAGS := $(strip $(kernel-amiga-m68k-cd_DXXFLAGS) $($(kernel-amiga-m68k-cd_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-amiga-m68k-cd_LIBSUFFIX := +else + kernel-amiga-m68k-cd_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-amiga-m68k-cd_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-amiga-m68k-cd_LIBDIR := +endif + +ifeq (M,M) +kernel-amiga-m68k-cd_LINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$($(kernel-amiga-m68k-cd_DEFNAME)_LINKLIBFILES)) +kernel-amiga-m68k-cd_LINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$($(kernel-amiga-m68k-cd_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-cd_DEFNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-cd_DEFNAME)_LINKLIBAFILES) $(kernel-amiga-m68k-cd_ARCHNLIBFILES)),) + kernel-amiga-m68k-cd_LINKLIB := +else + kernel-amiga-m68k-cd_LINKLIB := $(kernel-amiga-m68k-cd_LIBDIR)/libcd$(kernel-amiga-m68k-cd_LIBSUFFIX).a + ifneq (cd,$(kernel-amiga-m68k-cd_LINKLIBNAME)) + kernel-amiga-m68k-cd_LINKLIB += $(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)$(kernel-amiga-m68k-cd_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-cd_LINKLIBFILES := $(kernel-amiga-m68k-cd_LINKLIBCFILES) $(kernel-amiga-m68k-cd_LINKLIBAFILES) + +kernel-amiga-m68k-cd_RELLINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$($(kernel-amiga-m68k-cd_DEFNAME)_RELLINKLIBFILES)) +kernel-amiga-m68k-cd_RELLINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$($(kernel-amiga-m68k-cd_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-cd_DEFNAME)_RELLINKLIBFILES) $($(kernel-amiga-m68k-cd_DEFNAME)_RELLINKLIBAFILES) $(kernel-amiga-m68k-cd_ARCHNLIBFILES)),) + kernel-amiga-m68k-cd_RELLINKLIB := +else + kernel-amiga-m68k-cd_RELLINKLIB := $(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_DEFNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a + ifneq (cd,$(kernel-amiga-m68k-cd_LINKLIBNAME)) + kernel-amiga-m68k-cd_RELLINKLIB += $(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-cd_RELLINKLIBFILES := $(kernel-amiga-m68k-cd_RELLINKLIBCFILES) $(kernel-amiga-m68k-cd_RELLINKLIBAFILES) +endif + +kernel-amiga-m68k-cd_ENDOBJS := $(addsuffix .o,$(kernel-amiga-m68k-cd_ENDFILES)) +kernel-amiga-m68k-cd_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-cd_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-cd_ARCHNLIBFILES))) $(kernel-amiga-m68k-cd_LINKLIBFILES)) \ + +kernel-amiga-m68k-cd_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-cd_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-cd_ARCHNLIBFILES))) $(kernel-amiga-m68k-cd_RELLINKLIBFILES)) \ + +$(kernel-amiga-m68k-cd_LINKLIBFILES) $(kernel-amiga-m68k-cd_RELLINKLIBFILES) : | $(kernel-amiga-m68k-cd_OBJDIR)/linklib +$(kernel-amiga-m68k-cd_LINKLIBOBJS) $(kernel-amiga-m68k-cd_RELLINKLIBOBJS) : | $(kernel-amiga-m68k-cd_OBJDIR)/linklib + +kernel-amiga-m68k-cd_CCFILES := $(kernel-amiga-m68k-cd_C_NARCHFILES) +kernel-amiga-m68k-cd_TARGETCCFILES := $(strip $(kernel-amiga-m68k-cd_STARTFILES) $(kernel-amiga-m68k-cd_ENDFILES)) +kernel-amiga-m68k-cd_LINKLIBCCFILES := $(strip $(kernel-amiga-m68k-cd_NLIBARCHFILES) $(kernel-amiga-m68k-cd_LINKLIBCFILES) $(kernel-amiga-m68k-cd_RELLINKLIBCFILES)) +kernel-amiga-m68k-cd_LINKLIBCCGENFILES := $(strip $(kernel-amiga-m68k-cd_LINKLIBCFILES) $(kernel-amiga-m68k-cd_RELLINKLIBCFILES)) + + +kernel-amiga-m68k-cd_CXXABSBASENAMES := $(foreach kernel-amiga-m68k-cd_CXXBASE,$(kernel-amiga-m68k-cd_CXX_NARCHFILES),$(if $(filter /%,$(kernel-amiga-m68k-cd_CXXBASE)),$(kernel-amiga-m68k-cd_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-amiga-m68k-cd_CXXBASE)))) + +ifneq ($(kernel-amiga-m68k-cd_CXXABSBASENAMES),) + +kernel-amiga-m68k-cd_CXXBASENAMES := $(basename $(kernel-amiga-m68k-cd_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-amiga-m68k-cd_MCXX_FILES := $(strip $(foreach kernel-amiga-m68k-cd_CXXBASE,$(kernel-amiga-m68k-cd_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-amiga-m68k-cd_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-amiga-m68k-cd_EXT),$(kernel-amiga-m68k-cd_CXXBASE))))))) + +ifeq (,) +kernel-amiga-m68k-cd_MCXX_SRCWILDCARD := % +else +kernel-amiga-m68k-cd_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-cd_OBJDIR),) + kernel-amiga-m68k-cd_CXXTARGETS := $(notdir $(kernel-amiga-m68k-cd_CXXBASENAMES:=.o)) + kernel-amiga-m68k-cd_CXXDTARGETS := $(notdir $(kernel-amiga-m68k-cd_CXXBASENAMES:=.d)) + kernel-amiga-m68k-cd_MCXX_WILDCARD := % +else + kernel-amiga-m68k-cd_CXXTARGETS := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-cd_CXXBASENAMES:=.o))) + kernel-amiga-m68k-cd_CXXDTARGETS := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-cd_CXXBASENAMES:=.d))) + kernel-amiga-m68k-cd_MCXX_WILDCARD := $(kernel-amiga-m68k-cd_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-amiga-m68k-cd_CXXTARGETS) $(kernel-amiga-m68k-cd_CXXDTARGETS) : | $(kernel-amiga-m68k-cd_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-amiga-m68k-cd_MCXX_CPPFLAGS := $(kernel-amiga-m68k-cd_CPPFLAGS) +kernel-amiga-m68k-cd_CXXFLAGS := $(kernel-amiga-m68k-cd_CXXFLAGS) +ifeq ($(kernel-amiga-m68k-cd_DXXFLAGS),) + kernel-amiga-m68k-cd_DXXFLAGS := $(kernel-amiga-m68k-cd_CXXFLAGS) +else + kernel-amiga-m68k-cd_DXXFLAGS := $(kernel-amiga-m68k-cd_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-amiga-m68k-cd_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-amiga-m68k-cd_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-amiga-m68k-cd_CXXCMD:=$(HOST_CXX) + kernel-amiga-m68k-cd_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-amiga-m68k-cd_MCXX_CPPFLAGS) $(kernel-amiga-m68k-cd_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-cd_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-cd_CXXFLAGS)) + kernel-amiga-m68k-cd_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-cd_DXXFLAGS)) + kernel-amiga-m68k-cd_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-amiga-m68k-cd_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-amiga-m68k-cd_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-cd_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-amiga-m68k-cd_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-amiga-m68k-cd_MCXX_CPPFLAGS := $(strip $(kernel-amiga-m68k-cd_MCXX_CPPFLAGS) $(kernel-amiga-m68k-cd_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-cd_CXXFLAGS := $(strip $(kernel-amiga-m68k-cd_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-amiga-m68k-cd_DXXFLAGS := $(kernel-amiga-m68k-cd_DXXFLAGS) + kernel-amiga-m68k-cd_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-amiga-m68k-cd_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-amiga-m68k-cd_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-cd_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-cd_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-cd_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-amiga-m68k-cd_MCXX_CPPFLAGS) $(kernel-amiga-m68k-cd_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-cd_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-cd_CXXFLAGS)) + kernel-amiga-m68k-cd_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-cd_DXXFLAGS)) + kernel-amiga-m68k-cd_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-amiga-m68k-cd_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-amiga-m68k-cd_CXXCMD) $(kernel-amiga-m68k-cd_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-cd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_CXXIQUOTE) . $(kernel-amiga-m68k-cd_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-cd_CXXFLAGS) $(kernel-amiga-m68k-cd_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-amiga-m68k-cd_CXXCMD) $(kernel-amiga-m68k-cd_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-cd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_CXXIQUOTE) . $(kernel-amiga-m68k-cd_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-cd_CXXFLAGS) $(kernel-amiga-m68k-cd_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-amiga-m68k-cd_CXXCMD) $(kernel-amiga-m68k-cd_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-cd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_CXXIQUOTE) . $(kernel-amiga-m68k-cd_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-cd_CXXFLAGS) $(kernel-amiga-m68k-cd_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-amiga-m68k-cd_CXXCMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-cd_DXXFLAGS) $(kernel-amiga-m68k-cd_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-amiga-m68k-cd_OBJDIR),) + $(foreach kernel-amiga-m68k-cd_CXXFILE,$(kernel-amiga-m68k-cd_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-amiga-m68k-cd_CXXFILE))),$(kernel-amiga-m68k-cd_CXXFILE)))) +else + $(foreach kernel-amiga-m68k-cd_CXXFILE,$(kernel-amiga-m68k-cd_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(basename $(kernel-amiga-m68k-cd_CXXFILE)))),$(kernel-amiga-m68k-cd_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-amiga-m68k-cd_OBJC_NARCHFILES),) + +ifeq (,) +kernel-amiga-m68k-cd_MOBJC_SRCWILDCARD := % +else +kernel-amiga-m68k-cd_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-cd_OBJDIR),) + kernel-amiga-m68k-cd_MOBJC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-cd_OBJC_NARCHFILES)) + kernel-amiga-m68k-cd_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-cd_OBJC_NARCHFILES)) + kernel-amiga-m68k-cd_MOBJC_WILDCARD := % +else + kernel-amiga-m68k-cd_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(kernel-amiga-m68k-cd_OBJC_NARCHFILES))) + kernel-amiga-m68k-cd_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(kernel-amiga-m68k-cd_OBJC_NARCHFILES))) + kernel-amiga-m68k-cd_MOBJC_WILDCARD := $(kernel-amiga-m68k-cd_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-amiga-m68k-cd_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-amiga-m68k-cd_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-cd_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-cd_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-amiga-m68k-cd_MOBJC_DIRS := $(foreach dir, $(kernel-amiga-m68k-cd_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-cd_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-amiga-m68k-cd_MOBJC_DIRS),) + kernel-amiga-m68k-cd_MOBJC_DIRS := $(shell echo $(kernel-amiga-m68k-cd_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-amiga-m68k-cd_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-amiga-m68k-cd_CC := $(TARGET_CC) +else + kernel-amiga-m68k-cd_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-amiga-m68k-cd_MOBJC_CPPFLAGS := $(kernel-amiga-m68k-cd_CPPFLAGS) +kernel-amiga-m68k-cd_OBJCFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +kernel-amiga-m68k-cd_OBJCFLAGS := $(kernel-amiga-m68k-cd_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-amiga-m68k-cd_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-amiga-m68k-cd_OBJCFLAGS))) +ifeq ($(kernel-amiga-m68k-cd_DFLAGS),) + kernel-amiga-m68k-cd_OBJCDFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +else + kernel-amiga-m68k-cd_OBJCDFLAGS := $(kernel-amiga-m68k-cd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-amiga-m68k-cd_LINK ?= $(strip $(kernel-amiga-m68k-cd_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-cd_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-amiga-m68k-cd_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_MOBJC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-cd_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-cd_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_OBJCFLAGS:=$(strip $(kernel-amiga-m68k-cd_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_OBJCDFLAGS:=$(kernel-amiga-m68k-cd_OBJCDFLAGS) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-amiga-m68k-cd_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-amiga-m68k-cd_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-cd_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-cd_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_OBJCFLAGS)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_OBJCDFLAGS)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(HOST_IQUOTE) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-amiga-m68k-cd_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-cd_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-cd_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-cd_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_OBJCFLAGS)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_OBJCDFLAGS)) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-amiga-m68k-cd_MOBJC_TARGETS) $(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-cd_MOBJC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-cd_MOBJC_CPPFLAGS) +$(kernel-amiga-m68k-cd_MOBJC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-cd_OBJCFLAGS) +$(kernel-amiga-m68k-cd_MOBJC_TARGETS) : $(kernel-amiga-m68k-cd_MOBJC_WILDCARD).o : $(kernel-amiga-m68k-cd_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-cd_MOBJC_DTARGETS) : $(kernel-amiga-m68k-cd_MOBJC_WILDCARD).d : $(kernel-amiga-m68k-cd_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-cd_OBJCDFLAGS) $(kernel-amiga-m68k-cd_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-amiga-m68k-cd_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-cd_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-cd_OBJDIR),) +kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-cd_CCFILES)) +kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-cd_CCFILES)) +kernel-amiga-m68k-cd_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-cd_CCFILES)))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-cd_CCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(kernel-amiga-m68k-cd_CCFILES))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(kernel-amiga-m68k-cd_CCFILES))) +else + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-cd_CCFILES)))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-cd_CCFILES)))) +endif +endif +kernel-amiga-m68k-cd_MC_TGTWILDCARD := $(kernel-amiga-m68k-cd_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-cd_CCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-cd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-cd_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-cd_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-cd_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-cd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-cd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-cd_MC_DIRS),) + kernel-amiga-m68k-cd_MC_DIRS := $(shell echo $(kernel-amiga-m68k-cd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-cd_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-cd_MC_CPPFLAGS := $(kernel-amiga-m68k-cd_CPPFLAGS) +kernel-amiga-m68k-cd_CFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +ifeq ($(kernel-amiga-m68k-cd_DFLAGS),) + kernel-amiga-m68k-cd_DFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +else + kernel-amiga-m68k-cd_DFLAGS := $(kernel-amiga-m68k-cd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-cd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(kernel-amiga-m68k-cd_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(kernel-amiga-m68k-cd_DFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-cd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_DFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-cd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_DFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-cd_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-cd_MC_CPPFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) : $(kernel-amiga-m68k-cd_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-cd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-cd_MC_DTARGETS) : $(kernel-amiga-m68k-cd_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-cd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-cd_DFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-cd_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-cd_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-cd_OBJDIR),) +kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-cd_TARGETCCFILES)) +kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-cd_TARGETCCFILES)) +kernel-amiga-m68k-cd_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-cd_TARGETCCFILES)))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-cd_TARGETCCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(kernel-amiga-m68k-cd_TARGETCCFILES))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(kernel-amiga-m68k-cd_TARGETCCFILES))) +else + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-cd_TARGETCCFILES)))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-cd_TARGETCCFILES)))) +endif +endif +kernel-amiga-m68k-cd_MC_TGTWILDCARD := $(kernel-amiga-m68k-cd_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-cd_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-cd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-cd_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-cd_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-cd_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-cd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-cd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-cd_MC_DIRS),) + kernel-amiga-m68k-cd_MC_DIRS := $(shell echo $(kernel-amiga-m68k-cd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-cd_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-cd_MC_CPPFLAGS := $(kernel-amiga-m68k-cd_CPPFLAGS) -D__AROS__ +kernel-amiga-m68k-cd_CFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +ifeq ($(kernel-amiga-m68k-cd_DFLAGS),) + kernel-amiga-m68k-cd_DFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +else + kernel-amiga-m68k-cd_DFLAGS := $(kernel-amiga-m68k-cd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-cd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(kernel-amiga-m68k-cd_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(kernel-amiga-m68k-cd_DFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-cd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_DFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-cd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_DFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-cd_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-cd_MC_CPPFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) : $(kernel-amiga-m68k-cd_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-cd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-cd_MC_DTARGETS) : $(kernel-amiga-m68k-cd_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-cd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-cd_DFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-cd_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-cd_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-cd_OBJDIR)/linklib,) +kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-cd_NLIBARCHFILES)) +kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-cd_NLIBARCHFILES)) +kernel-amiga-m68k-cd_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-cd_NLIBARCHFILES)))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-cd_NLIBARCHFILES)))) +else +ifeq (,) + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(kernel-amiga-m68k-cd_NLIBARCHFILES))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(kernel-amiga-m68k-cd_NLIBARCHFILES))) +else + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-cd_NLIBARCHFILES)))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-cd_NLIBARCHFILES)))) +endif +endif +kernel-amiga-m68k-cd_MC_TGTWILDCARD := $(kernel-amiga-m68k-cd_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-cd_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-cd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-cd_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-cd_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-cd_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-cd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-cd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-cd_MC_DIRS),) + kernel-amiga-m68k-cd_MC_DIRS := $(shell echo $(kernel-amiga-m68k-cd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-cd_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-cd_MC_CPPFLAGS := $(kernel-amiga-m68k-cd_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-cd_CFLAGS := $(kernel-amiga-m68k-cd_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-cd_LINKLIBDFLAGS),) + kernel-amiga-m68k-cd_DFLAGS := $(kernel-amiga-m68k-cd_LINKLIBCFLAGS) +else + kernel-amiga-m68k-cd_DFLAGS := $(kernel-amiga-m68k-cd_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-cd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(kernel-amiga-m68k-cd_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(kernel-amiga-m68k-cd_DFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-cd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_DFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-cd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_DFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-cd_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-cd_MC_CPPFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) : $(kernel-amiga-m68k-cd_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-cd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-cd_MC_DTARGETS) : $(kernel-amiga-m68k-cd_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-cd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-cd_DFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-amiga-m68k-cd_OBJDIR)/linklib,) +kernel-amiga-m68k-cd_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-cd_MC_SRCWILDCARD := $(kernel-amiga-m68k-cd_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-amiga-m68k-cd_OBJDIR)/linklib,) +kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-cd_LINKLIBCCGENFILES)) +kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-cd_LINKLIBCCGENFILES)) +kernel-amiga-m68k-cd_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-cd_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-cd_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-amiga-m68k-cd_OBJDIR)/linklib,) + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(kernel-amiga-m68k-cd_LINKLIBCCGENFILES))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(kernel-amiga-m68k-cd_LINKLIBCCGENFILES))) +else + kernel-amiga-m68k-cd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-cd_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-cd_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-cd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-cd_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-cd_LINKLIBCCGENFILES)))) +endif +endif +kernel-amiga-m68k-cd_MC_TGTWILDCARD := $(kernel-amiga-m68k-cd_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-cd_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-cd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-cd_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-cd_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-cd_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-cd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-cd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-cd_MC_DIRS),) + kernel-amiga-m68k-cd_MC_DIRS := $(shell echo $(kernel-amiga-m68k-cd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-cd_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-cd_MC_CPPFLAGS := $(kernel-amiga-m68k-cd_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-cd_CFLAGS := $(kernel-amiga-m68k-cd_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-cd_LINKLIBDFLAGS),) + kernel-amiga-m68k-cd_DFLAGS := $(kernel-amiga-m68k-cd_LINKLIBCFLAGS) +else + kernel-amiga-m68k-cd_DFLAGS := $(kernel-amiga-m68k-cd_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-cd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(kernel-amiga-m68k-cd_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(kernel-amiga-m68k-cd_DFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-cd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-cd_DFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-cd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-cd_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-cd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS) $(kernel-amiga-m68k-cd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_CFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-cd_DFLAGS)) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-cd_MC_TARGETS) $(kernel-amiga-m68k-cd_MC_DTARGETS) : kernel-amiga-m68k-cd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-cd_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-cd_MC_CPPFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-cd_CFLAGS) +$(kernel-amiga-m68k-cd_MC_TARGETS) : $(kernel-amiga-m68k-cd_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-cd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-cd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-cd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-cd_IQUOTE) . $(kernel-amiga-m68k-cd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-cd_MC_DTARGETS) : $(kernel-amiga-m68k-cd_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-cd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-cd_DFLAGS) $(kernel-amiga-m68k-cd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-amiga-m68k-cd_LINKLIBAFILES),) + +ifeq ($(kernel-amiga-m68k-cd_OBJDIR)/linklib,) +kernel-amiga-m68k-cd-MA_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-cd_LINKLIBAFILES) $(kernel-amiga-m68k-cd_RELLINKLIBAFILES)) +kernel-amiga-m68k-cd-MA_WILDCARD := % +else +kernel-amiga-m68k-cd-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-cd_LINKLIBAFILES) $(kernel-amiga-m68k-cd_RELLINKLIBAFILES)))) +kernel-amiga-m68k-cd-MA_WILDCARD := $(kernel-amiga-m68k-cd_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-amiga-m68k-cd-MA_TARGETS) : | $(addsuffix .S,$(kernel-amiga-m68k-cd_LINKLIBAFILES) $(kernel-amiga-m68k-cd_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-cd-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-cd-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-cd_LINKLIBAFILES) $(kernel-amiga-m68k-cd_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-cd-MA_DIRS := $(foreach dir, $(kernel-amiga-m68k-cd-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-cd-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-cd-MA_DIRS),) + kernel-amiga-m68k-cd-MA_DIRS := $(shell echo $(kernel-amiga-m68k-cd-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-amiga-m68k-cd-MA_DIRS) +endif + +endif + +kernel-amiga-m68k-cd-MA_ASSEMBLER ?= $(kernel-amiga-m68k-cd_ASSEMBLER) + +$(kernel-amiga-m68k-cd-MA_TARGETS) : kernel-amiga-m68k-cd-MA_CMD:= $(kernel-amiga-m68k-cd-MA_ASSEMBLER) + +$(kernel-amiga-m68k-cd-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-amiga-m68k-cd-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-amiga-m68k-cd-MA_TARGETS) : $(kernel-amiga-m68k-cd-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-amiga-m68k-cd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-amiga-m68k-cd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-amiga-m68k-cd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-amiga-m68k-cd_SUFFIX := device +else +kernel-amiga-m68k-cd_SUFFIX := +endif + +ifeq (target,target) +kernel-amiga-m68k-cd_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-amiga-m68k-cd_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-amiga-m68k-cd_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-amiga-m68k-cd_SUFFIX),handler) +kernel-amiga-m68k-cd_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-cd_MODDIR)/$(kernel-amiga-m68k-cd_DEFNAME)-$(kernel-amiga-m68k-cd_SUFFIX) +else +kernel-amiga-m68k-cd_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-cd_MODDIR)/$(kernel-amiga-m68k-cd_DEFNAME).$(kernel-amiga-m68k-cd_SUFFIX) +endif +kernel-amiga-m68k-cd_KOBJ := $(KOBJSDIR)/$(kernel-amiga-m68k-cd_DEFNAME)_$(kernel-amiga-m68k-cd_SUFFIX).o +else +kernel-amiga-m68k-cd_MODULE := +kernel-amiga-m68k-cd_KOBJ := +endif + +kernel-amiga-m68k-cd-quick : kernel-amiga-m68k-cd +kernel-amiga-m68k-cd : $(kernel-amiga-m68k-cd_MODULE) $(kernel-amiga-m68k-cd_LINKLIB) $(kernel-amiga-m68k-cd_RELLINKLIB) +ifeq (M,M) +kernel-amiga-m68k-cd-kobj : $(kernel-amiga-m68k-cd_KOBJ) $(kernel-amiga-m68k-cd_LINKLIB) $(kernel-amiga-m68k-cd_RELLINKLIB) +kernel-amiga-m68k-cd-kobj-quick : $(kernel-amiga-m68k-cd_KOBJ) $(kernel-amiga-m68k-cd_LINKLIB) $(kernel-amiga-m68k-cd_RELLINKLIB) +endif +ifeq (M,M) +kernel-amiga-m68k-cd-linklib : $(kernel-amiga-m68k-cd_LINKLIB) $(kernel-amiga-m68k-cd_RELLINKLIB) +endif + +kernel-amiga-m68k-cd_OBJS := $(addsuffix .o,$(kernel-amiga-m68k-cd_STARTFILES)) $(kernel-amiga-m68k-cd_ARCHOBJS) \ + $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-cd_C_NARCHFILES:=.o) $(kernel-amiga-m68k-cd_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-amiga-m68k-cd_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (cd,con) + kernel-amiga-m68k-cd_ERR := $(notdir $(kernel-amiga-m68k-cd_MODULE)).err +else + kernel-amiga-m68k-cd_ERR := cd.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-amiga-m68k-cd_DEFNAME)_LDFLAGS) $(kernel-amiga-m68k-cd_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-amiga-m68k-cd_LIBS) $($(kernel-amiga-m68k-cd_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-amiga-m68k-cd_MODULE) : LIB_NAMES := $(kernel-amiga-m68k-cd_LIBS) $($(kernel-amiga-m68k-cd_DEFNAME)_LIBS) +$(kernel-amiga-m68k-cd_MODULE) : OBJS := $(kernel-amiga-m68k-cd_STARTOBJS) $(kernel-amiga-m68k-cd_OBJS) $(USER_OBJS) +$(kernel-amiga-m68k-cd_MODULE) : ENDTAG := $(kernel-amiga-m68k-cd_ENDOBJS) +$(kernel-amiga-m68k-cd_MODULE) : ERR := $(kernel-amiga-m68k-cd_ERR) +$(kernel-amiga-m68k-cd_MODULE) : OBJDIR := $(kernel-amiga-m68k-cd_OBJDIR) +$(kernel-amiga-m68k-cd_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-amiga-m68k-cd_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-amiga-m68k-cd_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-amiga-m68k-cd_MODULE) : $(kernel-amiga-m68k-cd_STARTOBJS) $(kernel-amiga-m68k-cd_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-cd_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-amiga-m68k-cd_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-amiga-m68k-cd_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-amiga-m68k-cd_LC_LINKLIBNAME := $(shell echo $(kernel-amiga-m68k-cd_LINKLIBNAME) | tr A-Z a-z) +kernel-amiga-m68k-cd_LC_MODNAME := $(shell echo cd | tr A-Z a-z) +ifneq ($(kernel-amiga-m68k-cd_LINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(HOST_AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)$(kernel-amiga-m68k-cd_LIBSUFFIX).a : $(kernel-amiga-m68k-cd_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-cd_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-cd_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-cd_LC_MODNAME),$(kernel-amiga-m68k-cd_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-cd_LIBDIR)/libcd$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(AR) +$(kernel-amiga-m68k-cd_LIBDIR)/libcd$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-cd_LIBDIR)/libcd$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(HOST_AR) +$(kernel-amiga-m68k-cd_LIBDIR)/libcd$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-cd_LIBDIR)/libcd$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-cd_LIBDIR)/libcd$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-cd_LIBDIR)/libcd$(kernel-amiga-m68k-cd_LIBSUFFIX).a : $(kernel-amiga-m68k-cd_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-cd_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-cd_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-cd_LINKLIB),) +$(kernel-amiga-m68k-cd_LINKLIB) : | $(kernel-amiga-m68k-cd_LIBDIR) +else +$(kernel-amiga-m68k-cd_LINKLIB) :: $(kernel-amiga-m68k-cd_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-cd_LIBDIR) + +endif + +ifneq ($(kernel-amiga-m68k-cd_RELLINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(HOST_AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_LINKLIBNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : $(kernel-amiga-m68k-cd_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-cd_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-cd_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-cd_LC_MODNAME),$(kernel-amiga-m68k-cd_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_DEFNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_DEFNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_DEFNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(HOST_AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_DEFNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_DEFNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_DEFNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : kernel-amiga-m68k-cd_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-cd_LIBDIR)/lib$(kernel-amiga-m68k-cd_DEFNAME)_rel$(kernel-amiga-m68k-cd_LIBSUFFIX).a : $(kernel-amiga-m68k-cd_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-cd_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-cd_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-cd_RELLINKLIB),) +$(kernel-amiga-m68k-cd_RELLINKLIB) : | $(kernel-amiga-m68k-cd_LIBDIR) +else +$(kernel-amiga-m68k-cd_RELLINKLIB) :: $(kernel-amiga-m68k-cd_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-cd_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-amiga-m68k-cd_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-amiga-m68k-cd_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-amiga-m68k-cd_SYMBOLS := $(kernel-amiga-m68k-cd_KBASE) + +kernel-amiga-m68k-cd_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-amiga-m68k-cd_KOBJ_LIBS := $(filter-out $(kernel-amiga-m68k-cd_KLIB),$(kernel-amiga-m68k-cd_LIBS)) $(kernel-amiga-m68k-cd_KAUTOLIB) +$(kernel-amiga-m68k-cd_KOBJ) : LINKLIBS:=$(kernel-amiga-m68k-cd_KOBJ_LIBS) $($(kernel-amiga-m68k-cd_DEFNAME)_LIBS) +$(kernel-amiga-m68k-cd_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-amiga-m68k-cd_SYMBOLS)) +$(kernel-amiga-m68k-cd_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-amiga-m68k-cd_KOBJ) : $(kernel-amiga-m68k-cd_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-cd_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-amiga-m68k-cd_DEPS := $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-cd_CCFILES:=.d) $(kernel-amiga-m68k-cd_TARGETCCFILES:=.d) $(kernel-amiga-m68k-cd_CXXFILES:=.d))) $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-cd_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-amiga-m68k-cd_DEPS),) + ifneq (kernel-amiga-m68k-cd kernel-amiga-m68k-cd-quick kernel-amiga-m68k-cd-kobj kernel-amiga-m68k-cd-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-amiga-m68k-cd kernel-amiga-m68k-cd-quick kernel-amiga-m68k-cd-kobj kernel-amiga-m68k-cd-kobj-quick),) + -include $(kernel-amiga-m68k-cd_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-amiga-m68k-cd_DEPS) + endif + endif +endif + +$(kernel-amiga-m68k-cd_OBJS) $(kernel-amiga-m68k-cd_DEPS) : | $(kernel-amiga-m68k-cd_OBJDIR)/linklib + +ifneq ($(kernel-amiga-m68k-cd_OBJS) $(kernel-amiga-m68k-cd_DEPS) $(kernel-amiga-m68k-cd_MODULE) $(kernel-amiga-m68k-cd_KOBJ),) +$(kernel-amiga-m68k-cd_OBJS) $(kernel-amiga-m68k-cd_DEPS) $(kernel-amiga-m68k-cd_MODULE) $(kernel-amiga-m68k-cd_KOBJ) : | $(kernel-amiga-m68k-cd_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-cd_MODDIR) $(KOBJSDIR) +else +$(kernel-amiga-m68k-cd_OBJS) $(kernel-amiga-m68k-cd_DEPS) $(kernel-amiga-m68k-cd_MODULE) $(kernel-amiga-m68k-cd_KOBJ) :: $(kernel-amiga-m68k-cd_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-cd_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-cd_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-cd_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-amiga-m68k-cd kernel-amiga-m68k-cd-includes kernel-amiga-m68k-cd-quick kernel-amiga-m68k-cd-kobj kernel-amiga-m68k-cd-kobj-quick),) # Only for this target these deps are wanted + +kernel-amiga-m68k-cd_DFILE_DEPS := $(kernel-amiga-m68k-cd_LIBDEFSINC) $(kernel-amiga-m68k-cd_DEFLIBDEFSINC) \ + $(addprefix $(kernel-amiga-m68k-cd_INCDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) +$(kernel-amiga-m68k-cd_DEPS) : $(kernel-amiga-m68k-cd_DFILE_DEPS) +endif + +kernel-amiga-m68k-cd_TOCLEAN := $(kernel-amiga-m68k-cd_OBJS) $(kernel-amiga-m68k-cd_DEPS) \ + $(kernel-amiga-m68k-cd_MODULE) $(kernel-amiga-m68k-cd_LINKLIB) $(kernel-amiga-m68k-cd_KOBJ) \ + $(kernel-amiga-m68k-cd_OBJDIR)/Makefile.cddevice \ + $(addprefix $(kernel-amiga-m68k-cd_OBJDIR)/include/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-cd_INCDIR)/,$($(kernel-amiga-m68k-cd_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-cd_OBJDIR)/cd_geninc $(kernel-amiga-m68k-cd_OBJDIR)/cd_incs \ + $(addsuffix .c,$(kernel-amiga-m68k-cd_LINKLIBFILES)) $(kernel-amiga-m68k-cd_LINKLIBOBJS) $(kernel-amiga-m68k-cd_LIBDEFSINC) \ + $(kernel-amiga-m68k-cd_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-amiga-m68k-cd_STARTFILES) $(kernel-amiga-m68k-cd_ENDFILES)) \ + $(kernel-amiga-m68k-cd_ENDOBJS) +kernel-amiga-m68k-cd-clean : FILES := $(kernel-amiga-m68k-cd_TOCLEAN) +kernel-amiga-m68k-cd-clean :: + $(Q)$(ECHO) "Cleaning up for module cd" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-amiga-m68k-cd_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/devs/mmakefile b/arch/m68k-amiga/devs/mmakefile new file mode 100644 index 00000000000..afacf2016b5 --- /dev/null +++ b/arch/m68k-amiga/devs/mmakefile @@ -0,0 +1,14 @@ +# $Id$ + +#MM- kernel-amiga-m68k-devs : \ +#MM kernel-amiga-m68k-trackdisk-kobj \ +#MM kernel-amiga-m68k-audio-kobj + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/devs/sagasd/mmakefile b/arch/m68k-amiga/devs/sagasd/mmakefile new file mode 100644 index 00000000000..65ffeb24d01 --- /dev/null +++ b/arch/m68k-amiga/devs/sagasd/mmakefile @@ -0,0 +1,2308 @@ +# +# Copyright (C) 2016, Jason S. McMullan +# All rights reserved. +# +# Licensed under the MIT License: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +include $(SRCDIR)/config/aros.cfg + +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/\ + -I$(SRCDIR)/$(CURDIR)/../include + +USER_CFLAGS := -D__NOLIBBASE__ -O2 -DSIMULATE=0 \ + -DADATE="\"$(shell date "+%d.%m.%Y")\"" -fdata-sections -ffunction-sections -fno-common -fno-zero-initialized-in-bss + +USER_LDFLAGS := -static + +DEVICE_FILES := sagasd_device sdcmd + +SDDIAG_FILES := sddiag sdcmd + +#MM- kernel-sagasd-device: sagasd-c kernel-sagasd-device +#MM- kernel-sagasd-device-kobj: kernel-sagasd-device +#MM- kernel-sagasd-device-quick: sagasd-c-quick kernel-sagasd-device-quick + + +.PHONY : sagasd-c + +sagasd-c_PROGNAME := SDDiag +sagasd-c_OBJDIR := $(GENDIR)/$(CURDIR) +sagasd-c_TARGETDIR := $(AROS_C) +sagasd-c_LINKER := +sagasd-c_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(sagasd-c_LINKER),) + sagasd-c_LINKER := target +endif + +ifneq ("$(strip $(SDDIAG_FILES) )","") + sagasd-c_FILES := $(SDDIAG_FILES) + sagasd-c_OBJCFILES := + sagasd-c_ASMFILES := + sagasd-c_CXXFILES := +else + sagasd-c_FILES := $(sagasd-c_PROGNAME) + sagasd-c_OBJCFILES := + sagasd-c_ASMFILES := + sagasd-c_CXXFILES := +endif + +sagasd-c_ARCHOBJS := $(wildcard $(sagasd-c_OBJDIR)/arch/*.o) +sagasd-c_ARCHFILES := $(basename $(notdir $(sagasd-c_ARCHOBJS))) +sagasd-c_C_NARCHFILES := $(filter-out $(sagasd-c_ARCHFILES),$(sagasd-c_FILES)) +sagasd-c_CXX_NARCHFILES := $(filter-out $(sagasd-c_ARCHFILES),$(sagasd-c_CXXFILES)) +sagasd-c_OBJC_NARCHFILES := $(filter-out $(sagasd-c_ARCHFILES),$(sagasd-c_OBJCFILES)) + +TMP_FILES := $(sagasd-c_C_NARCHFILES) $(sagasd-c_CXX_NARCHFILES) $(sagasd-c_ASMFILES) $(sagasd-c_OBJC_NARCHFILES) +sagasd-c_OBJS := $(addsuffix .o,$(addprefix $(sagasd-c_OBJDIR)/,$(notdir $(TMP_FILES)))) +sagasd-c_DEPS := $(addsuffix .d,$(addprefix $(sagasd-c_OBJDIR)/,$(notdir $(TMP_FILES)))) + +sagasd-c_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +sagasd-c_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +sagasd-c_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +sagasd-c_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +sagasd-c_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +sagasd-c_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +sagasd-c_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +sagasd-c_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +sagasd-c_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +sagasd-c_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +sagasd-c_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +sagasd-c_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +sagasd-c_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +sagasd-c_LDFLAGS := +endif + +sagasd-c_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +sagasd-c_COVERAGE := yes +sagasd-c_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +sagasd-c_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +sagasd-c_CFLAGS := $(strip $(sagasd-c_COVERAGEFLAGS) $(sagasd-c_CFLAGS)) +sagasd-c_CXXFLAGS := $(strip $(sagasd-c_COVERAGEFLAGS) $(sagasd-c_CXXFLAGS)) +sagasd-c_LIBS += $(sagasd-c_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +sagasd-c_FUNCINSTR := yes +sagasd-c_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +sagasd-c_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +sagasd-c_CFLAGS := $(strip $(sagasd-c_INSTRFUNCFLAGS) $(sagasd-c_CFLAGS)) +sagasd-c_CXXFLAGS := $(strip $(sagasd-c_INSTRFUNCFLAGS) $(sagasd-c_CXXFLAGS)) +sagasd-c_LIBS += $(sagasd-c_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +sagasd-c_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(sagasd-c_CFLAGS)) +sagasd-c_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(sagasd-c_CXXFLAGS)) +endif +endif +sagasd-c_AFLAGS := $(AFLAGS) +ifneq (,) + sagasd-c_DFLAGS := +else + sagasd-c_DFLAGS := $(sagasd-c_CFLAGS) +endif +ifneq (,) + sagasd-c_DXXFLAGS := +else + sagasd-c_DXXFLAGS := $(sagasd-c_CXXFLAGS) +endif +ifeq (target,target) +sagasd-c_LDFLAGS := $(sagasd-c_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +sagasd-c_LDFLAGS := $(sagasd-c_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +sagasd-c_LDFLAGS := $(sagasd-c_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +sagasd-c_LDFLAGS += -L +endif + +#MM +sagasd-c-quick : sagasd-c + +#MM sagasd-c : includes-generate-deps core-linklibs +sagasd-c : $(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) + +ifneq ($(filter $(TARGET),sagasd-c sagasd-c-quick sagasd-c-gz-quick),) + +sagasd-c_CXXABSBASENAMES := $(foreach sagasd-c_CXXBASE,$(sagasd-c_CXX_NARCHFILES),$(if $(filter /%,$(sagasd-c_CXXBASE)),$(sagasd-c_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(sagasd-c_CXXBASE)))) + +ifneq ($(sagasd-c_CXXABSBASENAMES),) + +sagasd-c_CXXBASENAMES := $(basename $(sagasd-c_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +sagasd-c_MCXX_FILES := $(strip $(foreach sagasd-c_CXXBASE,$(sagasd-c_CXXABSBASENAMES), $(firstword $(wildcard $(foreach sagasd-c_EXT, $(AROS_CXXEXTS),$(addsuffix .$(sagasd-c_EXT),$(sagasd-c_CXXBASE))))))) + +ifeq (,) +sagasd-c_MCXX_SRCWILDCARD := % +else +sagasd-c_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(sagasd-c_OBJDIR),) + sagasd-c_CXXTARGETS := $(notdir $(sagasd-c_CXXBASENAMES:=.o)) + sagasd-c_CXXDTARGETS := $(notdir $(sagasd-c_CXXBASENAMES:=.d)) + sagasd-c_MCXX_WILDCARD := % +else + sagasd-c_CXXTARGETS := $(addprefix $(sagasd-c_OBJDIR)/,$(notdir $(sagasd-c_CXXBASENAMES:=.o))) + sagasd-c_CXXDTARGETS := $(addprefix $(sagasd-c_OBJDIR)/,$(notdir $(sagasd-c_CXXBASENAMES:=.d))) + sagasd-c_MCXX_WILDCARD := $(sagasd-c_OBJDIR)/% + + # Be sure that all source files are generated + $(sagasd-c_CXXTARGETS) $(sagasd-c_CXXDTARGETS) : | $(sagasd-c_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +sagasd-c_MCXX_CPPFLAGS := $(sagasd-c_CPPFLAGS) +sagasd-c_CXXFLAGS := $(sagasd-c_CXXFLAGS) +ifeq ($(sagasd-c_DXXFLAGS),) + sagasd-c_DXXFLAGS := $(sagasd-c_CXXFLAGS) +else + sagasd-c_DXXFLAGS := $(sagasd-c_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + sagasd-c_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + sagasd-c_STRIP ?= $(HOST_STRIP) + sagasd-c_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + sagasd-c_CXXCMD:=$(HOST_CXX) + sagasd-c_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(sagasd-c_MCXX_CPPFLAGS) $(sagasd-c_MCXX_EXTRA_CPPFLAGS)) + sagasd-c_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(sagasd-c_CXXFLAGS)) + sagasd-c_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(sagasd-c_DXXFLAGS)) + sagasd-c_CXXIQUOTE:=$(HOST_IQUOTE) + sagasd-c_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + sagasd-c_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + sagasd-c_STRIP ?= $(TARGET_STRIP) + sagasd-c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + sagasd-c_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + sagasd-c_MCXX_CPPFLAGS := $(strip $(sagasd-c_MCXX_CPPFLAGS) $(sagasd-c_MCXX_EXTRA_CPPFLAGS)) + sagasd-c_CXXFLAGS := $(strip $(sagasd-c_CXXFLAGS) $(SAFETY_CFLAGS)) + sagasd-c_DXXFLAGS := $(sagasd-c_DXXFLAGS) + sagasd-c_CXXIQUOTE:=$(CFLAGS_IQUOTE) + sagasd-c_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + sagasd-c_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + sagasd-c_STRIP ?= $(ECHO) >/dev/null + sagasd-c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + sagasd-c_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + sagasd-c_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(sagasd-c_MCXX_CPPFLAGS) $(sagasd-c_MCXX_EXTRA_CPPFLAGS)) + sagasd-c_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(sagasd-c_CXXFLAGS)) + sagasd-c_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(sagasd-c_DXXFLAGS)) + sagasd-c_CXXIQUOTE:=$(KERNEL_IQUOTE) + sagasd-c_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(sagasd-c_CXXCMD) $(sagasd-c_CXXIQUOTE) $(dir $(2)) $(sagasd-c_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_CXXIQUOTE) . $(sagasd-c_CXXIQUOTE_END) $(strip $(sagasd-c_CXXFLAGS) $(sagasd-c_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(sagasd-c_CXXCMD) $(sagasd-c_CXXIQUOTE) $(dir $(2)) $(sagasd-c_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_CXXIQUOTE) . $(sagasd-c_CXXIQUOTE_END) $(strip $(sagasd-c_CXXFLAGS) $(sagasd-c_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(sagasd-c_CXXCMD) $(sagasd-c_CXXIQUOTE) $(dir $(2)) $(sagasd-c_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_CXXIQUOTE) . $(sagasd-c_CXXIQUOTE_END) $(strip $(sagasd-c_CXXFLAGS) $(sagasd-c_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(sagasd-c_CXXCMD)" $(MKDEPEND) $(strip $(sagasd-c_DXXFLAGS) $(sagasd-c_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(sagasd-c_OBJDIR),) + $(foreach sagasd-c_CXXFILE,$(sagasd-c_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(sagasd-c_CXXFILE))),$(sagasd-c_CXXFILE)))) +else + $(foreach sagasd-c_CXXFILE,$(sagasd-c_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(sagasd-c_OBJDIR)/,$(notdir $(basename $(sagasd-c_CXXFILE)))),$(sagasd-c_CXXFILE)))) +endif + +endif + + +ifneq ($(sagasd-c_OBJC_NARCHFILES),) + +ifeq (,) +sagasd-c_MOBJC_SRCWILDCARD := % +else +sagasd-c_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(sagasd-c_OBJDIR),) + sagasd-c_MOBJC_TARGETS := $(addsuffix .o,$(sagasd-c_OBJC_NARCHFILES)) + sagasd-c_MOBJC_DTARGETS := $(addsuffix .d,$(sagasd-c_OBJC_NARCHFILES)) + sagasd-c_MOBJC_WILDCARD := % +else + sagasd-c_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(sagasd-c_OBJDIR)/,$(sagasd-c_OBJC_NARCHFILES))) + sagasd-c_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(sagasd-c_OBJDIR)/,$(sagasd-c_OBJC_NARCHFILES))) + sagasd-c_MOBJC_WILDCARD := $(sagasd-c_OBJDIR)/% + + # Be sure that all .m files are generated + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : | $(addsuffix .m,$(sagasd-c_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + sagasd-c_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + sagasd-c_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(sagasd-c_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + sagasd-c_MOBJC_DIRS := $(foreach dir, $(sagasd-c_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(sagasd-c_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(sagasd-c_MOBJC_DIRS),) + sagasd-c_MOBJC_DIRS := $(shell echo $(sagasd-c_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(sagasd-c_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + sagasd-c_CC := $(TARGET_CC) +else + sagasd-c_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +sagasd-c_MOBJC_CPPFLAGS := $(sagasd-c_CPPFLAGS) +sagasd-c_OBJCFLAGS := $(sagasd-c_CFLAGS) +sagasd-c_OBJCFLAGS := $(sagasd-c_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +sagasd-c_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(sagasd-c_OBJCFLAGS))) +ifeq ($(sagasd-c_DFLAGS),) + sagasd-c_OBJCDFLAGS := $(sagasd-c_CFLAGS) +else + sagasd-c_OBJCDFLAGS := $(sagasd-c_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + sagasd-c_LINK ?= $(strip $(sagasd-c_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + sagasd-c_STRIP ?= $(TARGET_STRIP) + sagasd-c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : CMD:=$(strip $(sagasd-c_CC) $(TARGET_SYSROOT)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_MOBJC_CPPFLAGS:=$(strip $(sagasd-c_MOBJC_CPPFLAGS) $(sagasd-c_MOBJC_EXTRA_CPPFLAGS)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_OBJCFLAGS:=$(strip $(sagasd-c_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_OBJCDFLAGS:=$(sagasd-c_OBJCDFLAGS) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_IQUOTE:=$(CFLAGS_IQUOTE) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + sagasd-c_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + sagasd-c_STRIP ?= $(HOST_STRIP) + sagasd-c_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(sagasd-c_MOBJC_CPPFLAGS) $(sagasd-c_MOBJC_EXTRA_CPPFLAGS)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(sagasd-c_OBJCFLAGS)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(sagasd-c_OBJCDFLAGS)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_IQUOTE:=$(HOST_IQUOTE) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + sagasd-c_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + sagasd-c_STRIP ?= $(ECHO) >/dev/null + sagasd-c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(sagasd-c_MOBJC_CPPFLAGS) $(sagasd-c_MOBJC_EXTRA_CPPFLAGS)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(sagasd-c_OBJCFLAGS)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(sagasd-c_OBJCDFLAGS)) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_IQUOTE:=$(KERNEL_IQUOTE) + $(sagasd-c_MOBJC_TARGETS) $(sagasd-c_MOBJC_DTARGETS) : sagasd-c_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(sagasd-c_MOBJC_TARGETS) : CPPFLAGS := $(sagasd-c_MOBJC_CPPFLAGS) +$(sagasd-c_MOBJC_TARGETS) : CFLAGS := $(sagasd-c_OBJCFLAGS) +$(sagasd-c_MOBJC_TARGETS) : $(sagasd-c_MOBJC_WILDCARD).o : $(sagasd-c_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(sagasd-c_IQUOTE) $(dir $<) $(sagasd-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_IQUOTE) . $(sagasd-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(sagasd-c_IQUOTE) $(dir $<) $(sagasd-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_IQUOTE) . $(sagasd-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(sagasd-c_IQUOTE) $(dir $<) $(sagasd-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_IQUOTE) . $(sagasd-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(sagasd-c_MOBJC_DTARGETS) : $(sagasd-c_MOBJC_WILDCARD).d : $(sagasd-c_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(sagasd-c_OBJCDFLAGS) $(sagasd-c_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +sagasd-c_MC_SRCWILDCARD := % +else +sagasd-c_MC_SRCWILDCARD := /% +endif + +ifeq ($(sagasd-c_OBJDIR),) +sagasd-c_MC_TARGETS := $(addsuffix .o,$(sagasd-c_C_NARCHFILES)) +sagasd-c_MC_DTARGETS := $(addsuffix .d,$(sagasd-c_C_NARCHFILES)) +sagasd-c_MC_TGTWILDCARD := % +else +ifeq (no,no) + sagasd-c_MC_TARGETS := $(addsuffix .o,$(addprefix $(sagasd-c_OBJDIR)/,$(notdir $(sagasd-c_C_NARCHFILES)))) + sagasd-c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(sagasd-c_OBJDIR)/,$(notdir $(sagasd-c_C_NARCHFILES)))) +else +ifeq (,) + sagasd-c_MC_TARGETS := $(addsuffix .o,$(addprefix $(sagasd-c_OBJDIR)/,$(sagasd-c_C_NARCHFILES))) + sagasd-c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(sagasd-c_OBJDIR)/,$(sagasd-c_C_NARCHFILES))) +else + sagasd-c_MC_TARGETS := $(addsuffix .o,$(addprefix $(sagasd-c_OBJDIR)/,$(patsubst /%,%,$(sagasd-c_C_NARCHFILES)))) + sagasd-c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(sagasd-c_OBJDIR)/,$(patsubst /%,%,$(sagasd-c_C_NARCHFILES)))) +endif +endif +sagasd-c_MC_TGTWILDCARD := $(sagasd-c_OBJDIR)/% + +# Be sure that all .c files are generated +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : | $(addsuffix .c,$(sagasd-c_C_NARCHFILES)) + +# Be sure that all .c files are found +sagasd-c_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +sagasd-c_MC_BASEDIRS := $(shell echo $(sort $(dir $(sagasd-c_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +sagasd-c_MC_DIRS := $(foreach dir, $(sagasd-c_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(sagasd-c_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(sagasd-c_MC_DIRS),) + sagasd-c_MC_DIRS := $(shell echo $(sagasd-c_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(sagasd-c_MC_DIRS) +endif + +endif + +sagasd-c_MC_CPPFLAGS := $(sagasd-c_CPPFLAGS) +sagasd-c_CFLAGS := $(sagasd-c_CFLAGS) +ifeq ($(sagasd-c_DFLAGS),) + sagasd-c_DFLAGS := $(sagasd-c_CFLAGS) +else + sagasd-c_DFLAGS := $(sagasd-c_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +sagasd-c_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +sagasd-c_STRIP ?= $(TARGET_STRIP) +sagasd-c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_MC_CPPFLAGS:=$(strip $(sagasd-c_MC_CPPFLAGS) $(sagasd-c_MC_EXTRA_CPPFLAGS)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_CFLAGS:=$(strip $(sagasd-c_CFLAGS) $(SAFETY_CFLAGS)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_DFLAGS:=$(sagasd-c_DFLAGS) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_IQUOTE:=$(CFLAGS_IQUOTE) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +sagasd-c_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +sagasd-c_STRIP ?= $(HOST_STRIP) +sagasd-c_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : CMD:=$(HOST_CC) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(sagasd-c_MC_CPPFLAGS) $(sagasd-c_MC_EXTRA_CPPFLAGS)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_CFLAGS:=$(strip $(HOST_CFLAGS) $(sagasd-c_CFLAGS)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_DFLAGS:=$(strip $(HOST_CFLAGS) $(sagasd-c_DFLAGS)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_IQUOTE:=$(HOST_IQUOTE) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +sagasd-c_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +sagasd-c_STRIP ?= $(ECHO) >/dev/null +sagasd-c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(sagasd-c_MC_CPPFLAGS) $(sagasd-c_MC_EXTRA_CPPFLAGS)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(sagasd-c_CFLAGS)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(sagasd-c_DFLAGS)) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_IQUOTE:=$(KERNEL_IQUOTE) +$(sagasd-c_MC_TARGETS) $(sagasd-c_MC_DTARGETS) : sagasd-c_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(sagasd-c_MC_TARGETS) : CPPFLAGS := $(sagasd-c_MC_CPPFLAGS) +$(sagasd-c_MC_TARGETS) : CFLAGS := $(sagasd-c_CFLAGS) +$(sagasd-c_MC_TARGETS) : $(sagasd-c_MC_TGTWILDCARD).o : $(sagasd-c_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(sagasd-c_IQUOTE) $(dir $<) $(sagasd-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_IQUOTE) . $(sagasd-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(sagasd-c_IQUOTE) $(dir $<) $(sagasd-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_IQUOTE) . $(sagasd-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(sagasd-c_IQUOTE) $(dir $<) $(sagasd-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(sagasd-c_IQUOTE) . $(sagasd-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(sagasd-c_MC_DTARGETS) : $(sagasd-c_MC_TGTWILDCARD).d : $(sagasd-c_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(sagasd-c_DFLAGS) $(sagasd-c_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(sagasd-c_OBJDIR),) +sagasd-c-MA_TARGETS := $(addsuffix .o,$(sagasd-c_ASMFILES)) +sagasd-c-MA_WILDCARD := % +else +sagasd-c-MA_TARGETS := $(addsuffix .o,$(addprefix $(sagasd-c_OBJDIR)/,$(notdir $(sagasd-c_ASMFILES)))) +sagasd-c-MA_WILDCARD := $(sagasd-c_OBJDIR)/% + +# Be sure that all .s files are generated +$(sagasd-c-MA_TARGETS) : | $(addsuffix .s,$(sagasd-c_ASMFILES)) + +# Be sure that all .c files are found +sagasd-c-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +sagasd-c-MA_BASEDIRS := $(shell echo $(sort $(dir $(sagasd-c_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +sagasd-c-MA_DIRS := $(foreach dir, $(sagasd-c-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(sagasd-c-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(sagasd-c-MA_DIRS),) + sagasd-c-MA_DIRS := $(shell echo $(sagasd-c-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(sagasd-c-MA_DIRS) +endif + +endif + +sagasd-c-MA_ASSEMBLER ?= $(sagasd-c_ASSEMBLER) + +$(sagasd-c-MA_TARGETS) : sagasd-c-MA_CMD:= $(sagasd-c-MA_ASSEMBLER) + +$(sagasd-c-MA_TARGETS) : CPPFLAGS := $(sagasd-c_CPPFLAGS) +$(sagasd-c-MA_TARGETS) : AFLAGS := $(sagasd-c_AFLAGS) +$(sagasd-c-MA_TARGETS) : $(sagasd-c-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(sagasd-c-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(sagasd-c-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(sagasd-c-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +sagasd-c-link_EXTRA_LDFLAGS := +sagasd-c-link_EXTRA_LIBS := +ifeq (no,yes) + sagasd-c-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + sagasd-c-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + sagasd-c-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +sagasd-c-link_DIRS := $(subst -L ,-L,$(strip $(sagasd-c_LDFLAGS))) +# Filter out only the libdirs and remove -L +sagasd-c-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(sagasd-c-link_DIRS))) +# Add trailing / +sagasd-c-link_DIRS := $(subst //,/,$(addsuffix /,$(sagasd-c-link_DIRS))) +# Add normal linklib path +sagasd-c-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +sagasd-c-link_LIBS := $(addprefix lib,$(addsuffix .a,$(sagasd-c_LIBS) $(sagasd-c-link_EXTRA_LIBS))) +ifeq (no,yes) + sagasd-c-link_LIBS += startup.o +endif +ifeq (no,yes) + sagasd-c-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +sagasd-c-link_DEPLIBS := $(foreach lib,$(sagasd-c-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(sagasd-c-link_DIRS)))) \ +) + +$(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) : OBJDIR := $(sagasd-c_OBJDIR) +$(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) : OBJS := $(sagasd-c_OBJS) $(sagasd-c_ARCHOBJS) $(USER_OBJS) +$(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) : LDFLAGS := $(strip $(sagasd-c_LDFLAGS) $(sagasd-c-link_EXTRA_LDFLAGS)) +$(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) : LIBS := $(addprefix -l,$(sagasd-c_LIBS) $(sagasd-c-link_EXTRA_LIBS) ) +$(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) : $(sagasd-c_OBJS) $(sagasd-c_ARCHOBJS) $(USER_OBJS) $(sagasd-c-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(sagasd-c_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(sagasd-c_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(sagasd-c_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(sagasd-c_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(sagasd-c_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(sagasd-c_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(sagasd-c_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(sagasd-c_DEPS),) + ifneq (sagasd-c sagasd-c-quick,) + ifneq ($(findstring $(TARGET),sagasd-c sagasd-c-quick),) + -include $(sagasd-c_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(sagasd-c_DEPS) + endif + endif +endif + + +ifneq ($(sagasd-c_OBJS) $(sagasd-c_DEPS) $(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME),) +$(sagasd-c_OBJS) $(sagasd-c_DEPS) $(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) : | $(sagasd-c_OBJDIR) $(sagasd-c_TARGETDIR) +else +$(sagasd-c_OBJS) $(sagasd-c_DEPS) $(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) :: $(sagasd-c_OBJDIR) $(sagasd-c_TARGETDIR) +endif + +GLOB_MKDIRS += $(sagasd-c_OBJDIR) $(sagasd-c_TARGETDIR) + + +sagasd-c-clean : FILES := $(sagasd-c_OBJS) $(sagasd-c_TARGETDIR)/$(sagasd-c_PROGNAME) $(sagasd-c_DEPS) +#MM +sagasd-c-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget sagasd-c" + $(Q)$(RM) $(FILES) + + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-sagasd-device +#MM kernel-sagasd-device-quick +#MM kernel-sagasd-device-makefile +#MM kernel-sagasd-device-clean + +# ABI targets: +#MM- includes-all : kernel-sagasd-device-includes +#MM- linklibs-sagasd: kernel-sagasd-device-linklib +#MM- linklibs-sagasd_rel : kernel-sagasd-device-linklib +#MM- includes-sagasd: kernel-sagasd-device-includes +#MM- includes-sagasd_rel : kernel-sagasd-device-includes +#MM- kernel-sagasd-device : kernel-sagasd-device-includes core-linklibs linklibs-romhack +#MM kernel-sagasd-device-linklib : kernel-sagasd-device-includes includes-romhack +#MM- kernel-sagasd-device-quick : kernel-sagasd-device-includes-quick +#MM kernel-sagasd-device-includes : kernel-sagasd-device-makefile kernel-sagasd-device-includes-dirs \ +#MM includes-generate-deps kernel-sagasd-device-fd +#MM kernel-sagasd-device-includes-quick +#MM kernel-sagasd-device-includes-dirs +#MM kernel-sagasd-device-fd + +# Library targets +#MM kernel-sagasd-device-kobj : core-linklibs linklibs-romhack +#MM kernel-sagasd-device-kobj-quick : + +# Library with ABI targets: +#MM kernel-sagasd-device-kobj : kernel-sagasd-device-includes core-linklibs linklibs-romhack +#MM kernel-sagasd-device-kobj-quick : kernel-sagasd-device-includes-quick + +# All MetaMake targets defined by this macro +kernel-sagasd-device_ALLTARGETS := kernel-sagasd-device kernel-sagasd-device-quick kernel-sagasd-device-clean + +ifeq (M,M) +kernel-sagasd-device_ALLTARGETS += kernel-sagasd-device-kobj kernel-sagasd-device-kobj-quick +endif + +ifeq (M,M) +kernel-sagasd-device_ALLTARGETS += kernel-sagasd-device-includes \ + kernel-sagasd-device-includes-quick kernel-sagasd-device-includes-dirs \ + kernel-sagasd-device-linklib kernel-sagasd-device-fd +endif + +.PHONY : $(kernel-sagasd-device_ALLTARGETS) kernel-sagasd-device-makefile + +ifeq (sagasd,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-sagasd-device_DEFNAME := sagasd_ +else + kernel-sagasd-device_DEFNAME := sagasd +endif +kernel-sagasd-device_DEFLINKLIBNAME := $(kernel-sagasd-device_DEFNAME) +ifneq (,) + kernel-sagasd-device_LINKLIBNAME := +else + kernel-sagasd-device_LINKLIBNAME = $(kernel-sagasd-device_DEFLINKLIBNAME) +endif +kernel-sagasd-device_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-sagasd-device_DEFCPPFLAGS += -I +endif +kernel-sagasd-device_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-sagasd-device_DFLAGS := +else + kernel-sagasd-device_DFLAGS = $(kernel-sagasd-device_DEFDFLAGS) +endif +kernel-sagasd-device_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-sagasd-device_DXXFLAGS := +else + kernel-sagasd-device_DXXFLAGS = $(kernel-sagasd-device_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-sagasd-device_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-sagasd-device_DEFDFLAGS)) +kernel-sagasd-device_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-sagasd-device_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-sagasd-device_FUNCINSTR := yes +kernel-sagasd-device_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-sagasd-device_DEFDFLAGS)) +kernel-sagasd-device_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-sagasd-device_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-sagasd-device_OBJDIR := +else +kernel-sagasd-device_OBJDIR := $(OBJDIR)/$(kernel-sagasd-device_DEFNAME) +endif +ifneq (,) +kernel-sagasd-device_OBJDIR := $(kernel-sagasd-device_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-sagasd-device-makefile := $(kernel-sagasd-device_OBJDIR)/Makefile.$(kernel-sagasd-device_DEFNAME)device +kernel-sagasd-device-genmakefile : $(kernel-sagasd-device-makefile) + + +kernel-sagasd-device-genmakefile_OPTS := +ifneq (,) + kernel-sagasd-device-genmakefile_OPTS += -f + kernel-sagasd-device-genmakefile_MODNAME := sagasd_ +else + kernel-sagasd-device-genmakefile_MODNAME := sagasd +endif +kernel-sagasd-device-genmakefile_TARGET := Makefile.$(kernel-sagasd-device-genmakefile_MODNAME)device +kernel-sagasd-device-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-sagasd-device-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-sagasd-device-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sagasd-device-genmakefile_OPTS += -c + kernel-sagasd-device-genmakefile_DEPS += + endif +else + kernel-sagasd-device-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/sagasd.conf + kernel-sagasd-device-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/sagasd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-sagasd-device-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-sagasd-device-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sagasd-device-genmakefile_OPTS += -o + kernel-sagasd-device-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-sagasd-device-genmakefile_OPTS += -s +endif +ifneq ($(kernel-sagasd-device_OBJDIR),) + kernel-sagasd-device-genmakefile_OPTS += -d $(kernel-sagasd-device_OBJDIR) + kernel-sagasd-device-genmakefile_TARGET := $(kernel-sagasd-device_OBJDIR)/$(kernel-sagasd-device-genmakefile_TARGET) +endif + +$(kernel-sagasd-device-genmakefile_TARGET) : OPTS := $(kernel-sagasd-device-genmakefile_OPTS) +$(kernel-sagasd-device-genmakefile_TARGET) : MODNAME := sagasd +$(kernel-sagasd-device-genmakefile_TARGET) : MODTYPE := device +$(kernel-sagasd-device-genmakefile_TARGET) : $(kernel-sagasd-device-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-sagasd-device-makefile),) +$(kernel-sagasd-device-makefile) : | $(kernel-sagasd-device_OBJDIR) +else +$(kernel-sagasd-device-makefile) :: $(kernel-sagasd-device_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-sagasd-device_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-sagasd-device_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-sagasd-device-makefile) + +kernel-sagasd-device_DEFMODDIR := $($(kernel-sagasd-device_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-sagasd-device_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-sagasd-device_DEFMODDIR) +endif +ifneq (,) + kernel-sagasd-device_MODDIR := +else + kernel-sagasd-device_MODDIR := $(kernel-sagasd-device_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-sagasd-device_INCDIR := +else +kernel-sagasd-device_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-sagasd-device_LIBDEFSINC := $(kernel-sagasd-device_OBJDIR)/include/$(kernel-sagasd-device_DEFNAME)_libdefs.h +kernel-sagasd-device_DEFLIBDEFSINC := $(kernel-sagasd-device_OBJDIR)/include/$(kernel-sagasd-device_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-sagasd-device-includes-quick : kernel-sagasd-device-includes +kernel-sagasd-device-includes : $(addprefix $(GENINCDIR)/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-sagasd-device_INCDIR)/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) \ + $(kernel-sagasd-device_LIBDEFSINC) $(kernel-sagasd-device_DEFLIBDEFSINC) + +ifneq ($($(kernel-sagasd-device_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-sagasd-device-includes_MODNAME := sagasd_ +else + kernel-sagasd-device-includes_MODNAME := sagasd +endif + +ifneq ($($(kernel-sagasd-device-includes_MODNAME)_INCLUDES),) + +kernel-sagasd-device-includes_TARGETS := $($(kernel-sagasd-device-includes_MODNAME)_INCLUDES) + +kernel-sagasd-device-includes_DEPS := $(GENMODULE) +kernel-sagasd-device-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-sagasd-device-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-sagasd-device-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sagasd-device-includes_OPTS += -c + kernel-sagasd-device-includes_DEPS += + endif +else + kernel-sagasd-device-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/sagasd.conf + kernel-sagasd-device-includes_DEPS += $(SRCDIR)/$(CURDIR)/sagasd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-sagasd-device-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-sagasd-device-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sagasd-device-includes_OPTS += -o + kernel-sagasd-device-includes_DEPS += + endif +endif +ifneq (,) + kernel-sagasd-device-includes_OPTS += -s +endif +ifneq ($(kernel-sagasd-device_OBJDIR)/include,) + kernel-sagasd-device-includes_OPTS += -d $(kernel-sagasd-device_OBJDIR)/include + kernel-sagasd-device-includes_TARGETS := $(addprefix $(kernel-sagasd-device_OBJDIR)/include/,$(kernel-sagasd-device-includes_TARGETS)) + kernel-sagasd-device-includes_GENINCFLAG=$(kernel-sagasd-device_OBJDIR)/include/.sagasd.device-includes +else + kernel-sagasd-device-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.sagasd.device-includes +endif + +$(kernel-sagasd-device-includes_TARGETS) : $(kernel-sagasd-device-includes_DEPS) $(kernel-sagasd-device-includes_GENINCFLAG) + +$(kernel-sagasd-device-includes_GENINCFLAG) : OPTS := $(kernel-sagasd-device-includes_OPTS) +$(kernel-sagasd-device-includes_GENINCFLAG) : MODNAME := sagasd +$(kernel-sagasd-device-includes_GENINCFLAG) : MODTYPE := device +$(kernel-sagasd-device-includes_GENINCFLAG) : $(kernel-sagasd-device-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-sagasd-device_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) : | $(kernel-sagasd-device_OBJDIR)/sagasd_geninc + +$(kernel-sagasd-device_OBJDIR)/sagasd_geninc : COPYSRCDIR := $(kernel-sagasd-device_OBJDIR)/include +$(kernel-sagasd-device_OBJDIR)/sagasd_geninc : TGTDIR := $(GENINCDIR) +$(kernel-sagasd-device_OBJDIR)/sagasd_geninc : FILES := $($(kernel-sagasd-device_DEFNAME)_INCLUDES) +$(kernel-sagasd-device_OBJDIR)/sagasd_geninc : $(addprefix $(kernel-sagasd-device_OBJDIR)/include/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-sagasd-device_OBJDIR)/include + +$(addprefix $(kernel-sagasd-device_INCDIR)/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) : | $(kernel-sagasd-device_OBJDIR)/sagasd_incs + +$(kernel-sagasd-device_OBJDIR)/sagasd_incs : COPYSRCDIR := $(kernel-sagasd-device_OBJDIR)/include +$(kernel-sagasd-device_OBJDIR)/sagasd_incs : TGTDIR := $(kernel-sagasd-device_INCDIR) +$(kernel-sagasd-device_OBJDIR)/sagasd_incs : FILES := $($(kernel-sagasd-device_DEFNAME)_INCLUDES) +$(kernel-sagasd-device_OBJDIR)/sagasd_incs : $(addprefix $(kernel-sagasd-device_OBJDIR)/include/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-sagasd-device_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-sagasd-device_DEFNAME)_INCLUDES)))) + +TMPsagasd_INCDIRS := \ + $(kernel-sagasd-device_OBJDIR)/include $(addprefix $(kernel-sagasd-device_OBJDIR)/include/,$(kernel-sagasd-device_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-sagasd-device_INCDIRS)) \ + $(kernel-sagasd-device_INCDIR) $(addprefix $(kernel-sagasd-device_INCDIR)/,$(kernel-sagasd-device_INCDIRS)) + +ifneq (kernel-sagasd-device-includes-dirs,) +kernel-sagasd-device-includes-dirs : | $(TMPsagasd_INCDIRS) +else +kernel-sagasd-device-includes-dirs :: $(TMPsagasd_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPsagasd_INCDIRS) + + +endif + +endif + + +kernel-sagasd-device-genlibdefs_OPTS := +ifneq (,) + kernel-sagasd-device-genlibdefs_OPTS += -f + kernel-sagasd-device-genlibdefs_MODNAME := sagasd_ +else + kernel-sagasd-device-genlibdefs_MODNAME := sagasd +endif +kernel-sagasd-device-genlibdefs_TARGET := $(kernel-sagasd-device-genlibdefs_MODNAME)_libdefs.h +kernel-sagasd-device-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-sagasd-device-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-sagasd-device-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sagasd-device-genlibdefs_OPTS += -c + kernel-sagasd-device-genlibdefs_DEPS += + endif +else + kernel-sagasd-device-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/sagasd.conf + kernel-sagasd-device-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/sagasd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-sagasd-device-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-sagasd-device-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sagasd-device-genlibdefs_OPTS += -o + kernel-sagasd-device-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-sagasd-device-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-sagasd-device_OBJDIR)/include,) + kernel-sagasd-device-genlibdefs_OPTS += -d $(kernel-sagasd-device_OBJDIR)/include + kernel-sagasd-device-genlibdefs_TARGET := $(kernel-sagasd-device_OBJDIR)/include/$(kernel-sagasd-device-genlibdefs_TARGET) +endif +ifneq (,) + kernel-sagasd-device-genlibdefs_OPTS += -v +endif + +$(kernel-sagasd-device-genlibdefs_TARGET) : OPTS := $(kernel-sagasd-device-genlibdefs_OPTS) +$(kernel-sagasd-device-genlibdefs_TARGET) : MODNAME := sagasd +$(kernel-sagasd-device-genlibdefs_TARGET) : MODTYPE := device +$(kernel-sagasd-device-genlibdefs_TARGET) : $(kernel-sagasd-device-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-sagasd-device_DEFLIBDEFSINC) : FILENAME := $(kernel-sagasd-device_LIBDEFSINC) +$(kernel-sagasd-device_DEFLIBDEFSINC) : $(kernel-sagasd-device_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-sagasd-device_LIBDEFSINC) $(kernel-sagasd-device_DEFLIBDEFSINC) : | $(kernel-sagasd-device_OBJDIR)/include + +ifneq (kernel-sagasd-device-includes-dirs,) +kernel-sagasd-device-includes-dirs : | $(kernel-sagasd-device_OBJDIR)/include +else +kernel-sagasd-device-includes-dirs :: $(kernel-sagasd-device_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-sagasd-device_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-sagasd-device-genmodfiles_OPTS := +ifneq (,) + kernel-sagasd-device-genmodfiles_OPTS += -f + kernel-sagasd-device-genmodfiles_MODNAME := sagasd_ +else + kernel-sagasd-device-genmodfiles_MODNAME := sagasd +endif +kernel-sagasd-device-genmodfiles_GENTARGETS := $($(kernel-sagasd-device-genmodfiles_MODNAME)_STARTFILES) $($(kernel-sagasd-device-genmodfiles_MODNAME)_ENDFILES) +kernel-sagasd-device-genmodfiles_STUBTARGETS := $($(kernel-sagasd-device-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-sagasd-device-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-sagasd-device-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-sagasd-device-genmodfiles_GENTARGETS)) +kernel-sagasd-device-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-sagasd-device-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-sagasd-device-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-sagasd-device-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-sagasd-device-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-sagasd-device-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-sagasd-device-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sagasd-device-genmodfiles_OPTS += -c + kernel-sagasd-device-genmodfiles_DEPS += + endif +else + kernel-sagasd-device-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/sagasd.conf + kernel-sagasd-device-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/sagasd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-sagasd-device-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-sagasd-device-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sagasd-device-genmodfiles_OPTS += -o + kernel-sagasd-device-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-sagasd-device-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-sagasd-device_OBJDIR),) + kernel-sagasd-device-genmodfiles_OPTS += -d $(kernel-sagasd-device_OBJDIR) + kernel-sagasd-device-genmodfiles_TARGETDIR := $(shell echo $(kernel-sagasd-device_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-sagasd-device-genmodfiles_GENTARGETS := $(addprefix $(kernel-sagasd-device-genmodfiles_TARGETDIR)/,$(kernel-sagasd-device-genmodfiles_GENTARGETS)) + kernel-sagasd-device-genmodfiles_GENFILEFLAG=$(kernel-sagasd-device-genmodfiles_TARGETDIR)/.sagasd.device-genfiles +else + kernel-sagasd-device-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.sagasd.device-genfiles +endif +ifneq ($(kernel-sagasd-device_OBJDIR)/linklib,) + kernel-sagasd-device-genmodfiles_OPTS += -l $(kernel-sagasd-device_OBJDIR)/linklib + kernel-sagasd-device-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-sagasd-device_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-sagasd-device-genmodfiles_STUBTARGETS := $(addprefix $(kernel-sagasd-device-genmodfiles_STUBTARGETDIR)/,$(kernel-sagasd-device-genmodfiles_STUBTARGETS)) + kernel-sagasd-device-genmodfiles_TARGETDIRS += $(kernel-sagasd-device_OBJDIR)/linklib +else +ifneq ($(kernel-sagasd-device_OBJDIR),) + kernel-sagasd-device-genmodfiles_STUBTARGETS := $(addprefix $(kernel-sagasd-device-genmodfiles_TARGETDIR)/,$(kernel-sagasd-device-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-sagasd-device-genmodfiles_TARGETS := $(kernel-sagasd-device-genmodfiles_GENTARGETS) $(kernel-sagasd-device-genmodfiles_STUBTARGETS) +ifneq ($(kernel-sagasd-device-genmodfiles_TARGETDIRS),) +$(kernel-sagasd-device-genmodfiles_TARGETS) : | $(kernel-sagasd-device-genmodfiles_TARGETDIRS) +endif + +$(kernel-sagasd-device-genmodfiles_TARGETS) : $(kernel-sagasd-device-genmodfiles_DEPS) $(kernel-sagasd-device-genmodfiles_GENFILEFLAG) + +$(kernel-sagasd-device-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-sagasd-device-genmodfiles_OPTS) +$(kernel-sagasd-device-genmodfiles_GENFILEFLAG) : MODNAME := sagasd +$(kernel-sagasd-device-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-sagasd-device-genmodfiles_GENFILEFLAG) : $(kernel-sagasd-device-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-sagasd-device-genmodfiles_GENFILEFLAG) : $(kernel-sagasd-device_DEFLIBDEFSINC) $(kernel-sagasd-device-makefile) + + +ifneq ($(kernel-sagasd-device-genmodfiles_GENFILEFLAG),) +$(kernel-sagasd-device-genmodfiles_GENFILEFLAG) : | $(kernel-sagasd-device_OBJDIR)/linklib +else +$(kernel-sagasd-device-genmodfiles_GENFILEFLAG) :: $(kernel-sagasd-device_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-sagasd-device_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-sagasd-device_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-sagasd-device_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-sagasd-device-fd : $(kernel-sagasd-device_FDDIR)/sagasd_lib.fd + + +TMP_TARGET := sagasd_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/sagasd.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/sagasd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-sagasd-device_FDDIR),) + TMP_OPTS += -d $(kernel-sagasd-device_FDDIR) + TMP_TARGET := $(kernel-sagasd-device_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := sagasd +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-sagasd-device_FDDIR)/sagasd_lib.fd : | $(kernel-sagasd-device_FDDIR) + + +ifneq (kernel-sagasd-device-fd-setup,) +kernel-sagasd-device-fd-setup : | $(kernel-sagasd-device_FDDIR) +else +kernel-sagasd-device-fd-setup :: $(kernel-sagasd-device_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-sagasd-device_FDDIR) + +endif + +## Compilation +## +kernel-sagasd-device_FILES := $(DEVICE_FILES) +kernel-sagasd-device_OBJCFILES := +kernel-sagasd-device_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-sagasd-device_LIBFILES := +kernel-sagasd-device_LIBS := romhack + +kernel-sagasd-device_FDIRS := $(sort $(dir $(kernel-sagasd-device_FILES))) + +kernel-sagasd-device_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-sagasd-device_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-sagasd-device_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-sagasd-device_FILTERARCH = $(filter-out $(call kernel-sagasd-device_MATCHARCH,$(1),$(2)),$(2)) +kernel-sagasd-device_STARTFILES := $(addprefix $(kernel-sagasd-device_OBJDIR)/,$($(kernel-sagasd-device_DEFNAME)_STARTFILES)) +kernel-sagasd-device_ENDFILES := $(addprefix $(kernel-sagasd-device_OBJDIR)/,$($(kernel-sagasd-device_DEFNAME)_ENDFILES)) + +kernel-sagasd-device_ARCHOBJS := $(wildcard $(kernel-sagasd-device_OBJDIR)/arch/*.o) +kernel-sagasd-device_LIBARCHOBJS := $(wildcard $(kernel-sagasd-device_OBJDIR)/linklib/arch/*.o) +kernel-sagasd-device_ARCHFILES := $(basename $(notdir $(kernel-sagasd-device_ARCHOBJS))) +kernel-sagasd-device_LIBARCHFILES := $(basename $(notdir $(kernel-sagasd-device_LIBARCHOBJS))) +kernel-sagasd-device_C_NARCHFILES := $(call kernel-sagasd-device_FILTERARCH,$(kernel-sagasd-device_ARCHFILES),$(kernel-sagasd-device_FILES)) +kernel-sagasd-device_CXX_NARCHFILES := $(call kernel-sagasd-device_FILTERARCH,$(kernel-sagasd-device_ARCHFILES),$(kernel-sagasd-device_CXXFILES)) +kernel-sagasd-device_OBJC_NARCHFILES := $(call kernel-sagasd-device_FILTERARCH,$(kernel-sagasd-device_ARCHFILES),$(kernel-sagasd-device_OBJCFILES)) +kernel-sagasd-device_NLIBARCHFILES := $(call kernel-sagasd-device_FILTERARCH,$(kernel-sagasd-device_LIBARCHFILES),$(kernel-sagasd-device_LIBFILES)) +kernel-sagasd-device_ARCHNLIBFILES := $(call kernel-sagasd-device_FILTERARCH,$(kernel-sagasd-device_LIBFILES),$(kernel-sagasd-device_LIBARCHFILES)) + +kernel-sagasd-device_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-sagasd-device_OBJDIR)/include -include $(kernel-sagasd-device_DEFLIBDEFSINC)) +ifneq (,) +kernel-sagasd-device_CPPFLAGS += -I +endif +kernel-sagasd-device_LINKLIBCPPFLAGS := $(kernel-sagasd-device_CPPFLAGS) +kernel-sagasd-device_CPPFLAGS += $(strip $($(kernel-sagasd-device_DEFNAME)_CPPFLAGS)) +kernel-sagasd-device_LINKLIBCPPFLAGS += $(strip $($(kernel-sagasd-device_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-sagasd-device_CFLAGS := $(strip $(CFLAGS) $($(kernel-sagasd-device_DEFNAME)_CFLAGS)) +kernel-sagasd-device_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-sagasd-device_DEFNAME)_LINKLIBCFLAGS)) +kernel-sagasd-device_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-sagasd-device_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-sagasd-device_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-sagasd-device_CFLAGS := $(strip $(kernel-sagasd-device_LTOFLAGS) $(kernel-sagasd-device_CFLAGS)) +kernel-sagasd-device_LINKLIBCFLAGS := $(strip $(kernel-sagasd-device_LTOFLAGS) $(kernel-sagasd-device_LINKLIBCFLAGS)) +kernel-sagasd-device_CXXFLAGS := $(strip $(kernel-sagasd-device_LTOFLAGS) $(kernel-sagasd-device_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-sagasd-device_SUBSTNULL := +kernel-sagasd-device_SUBSTSPACE := $(kernel-sagasd-device_SUBSTNULL) # +kernel-sagasd-device_SUBSTCOMMA := , +kernel-sagasd-device_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-sagasd-device_SUBSTSPACE),$(kernel-sagasd-device_SUBSTCOMMA),$(strip $($(kernel-sagasd-device_DEFNAME)_STARTFILES)))) +kernel-sagasd-device_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-sagasd-device_CFLAGS := $(strip $(kernel-sagasd-device_INSTRFUNCFLAGS) $(kernel-sagasd-device_CFLAGS)) +kernel-sagasd-device_CXXFLAGS := $(strip $(kernel-sagasd-device_INSTRFUNCFLAGS) $(kernel-sagasd-device_CXXFLAGS)) +kernel-sagasd-device_LIBS += $(kernel-sagasd-device_INSTRFUNCLIBS) +endif +endif +kernel-sagasd-device_DFLAGS := $(strip $(kernel-sagasd-device_DFLAGS) $($(kernel-sagasd-device_DEFNAME)_DFLAGS)) +kernel-sagasd-device_LINKLIBDFLAGS := $(strip $(kernel-sagasd-device_DFLAGS) $($(kernel-sagasd-device_DEFNAME)_LINKLIBDFLAGS)) +kernel-sagasd-device_DXXFLAGS := $(strip $(kernel-sagasd-device_DXXFLAGS) $($(kernel-sagasd-device_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-sagasd-device_LIBSUFFIX := +else + kernel-sagasd-device_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-sagasd-device_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-sagasd-device_LIBDIR := +endif + +ifeq (M,M) +kernel-sagasd-device_LINKLIBCFILES := $(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$($(kernel-sagasd-device_DEFNAME)_LINKLIBFILES)) +kernel-sagasd-device_LINKLIBAFILES := $(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$($(kernel-sagasd-device_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-sagasd-device_DEFNAME)_LINKLIBFILES) $($(kernel-sagasd-device_DEFNAME)_LINKLIBAFILES) $(kernel-sagasd-device_ARCHNLIBFILES)),) + kernel-sagasd-device_LINKLIB := +else + kernel-sagasd-device_LINKLIB := $(kernel-sagasd-device_LIBDIR)/libsagasd$(kernel-sagasd-device_LIBSUFFIX).a + ifneq (sagasd,$(kernel-sagasd-device_LINKLIBNAME)) + kernel-sagasd-device_LINKLIB += $(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)$(kernel-sagasd-device_LIBSUFFIX).a + endif +endif +kernel-sagasd-device_LINKLIBFILES := $(kernel-sagasd-device_LINKLIBCFILES) $(kernel-sagasd-device_LINKLIBAFILES) + +kernel-sagasd-device_RELLINKLIBCFILES := $(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$($(kernel-sagasd-device_DEFNAME)_RELLINKLIBFILES)) +kernel-sagasd-device_RELLINKLIBAFILES := $(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$($(kernel-sagasd-device_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-sagasd-device_DEFNAME)_RELLINKLIBFILES) $($(kernel-sagasd-device_DEFNAME)_RELLINKLIBAFILES) $(kernel-sagasd-device_ARCHNLIBFILES)),) + kernel-sagasd-device_RELLINKLIB := +else + kernel-sagasd-device_RELLINKLIB := $(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_DEFNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a + ifneq (sagasd,$(kernel-sagasd-device_LINKLIBNAME)) + kernel-sagasd-device_RELLINKLIB += $(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a + endif +endif +kernel-sagasd-device_RELLINKLIBFILES := $(kernel-sagasd-device_RELLINKLIBCFILES) $(kernel-sagasd-device_RELLINKLIBAFILES) +endif + +kernel-sagasd-device_ENDOBJS := $(addsuffix .o,$(kernel-sagasd-device_ENDFILES)) +kernel-sagasd-device_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(notdir $(kernel-sagasd-device_NLIBARCHFILES))) $(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/arch/,$(notdir $(kernel-sagasd-device_ARCHNLIBFILES))) $(kernel-sagasd-device_LINKLIBFILES)) \ + +kernel-sagasd-device_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(notdir $(kernel-sagasd-device_NLIBARCHFILES))) $(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/arch/,$(notdir $(kernel-sagasd-device_ARCHNLIBFILES))) $(kernel-sagasd-device_RELLINKLIBFILES)) \ + +$(kernel-sagasd-device_LINKLIBFILES) $(kernel-sagasd-device_RELLINKLIBFILES) : | $(kernel-sagasd-device_OBJDIR)/linklib +$(kernel-sagasd-device_LINKLIBOBJS) $(kernel-sagasd-device_RELLINKLIBOBJS) : | $(kernel-sagasd-device_OBJDIR)/linklib + +kernel-sagasd-device_CCFILES := $(kernel-sagasd-device_C_NARCHFILES) +kernel-sagasd-device_TARGETCCFILES := $(strip $(kernel-sagasd-device_STARTFILES) $(kernel-sagasd-device_ENDFILES)) +kernel-sagasd-device_LINKLIBCCFILES := $(strip $(kernel-sagasd-device_NLIBARCHFILES) $(kernel-sagasd-device_LINKLIBCFILES) $(kernel-sagasd-device_RELLINKLIBCFILES)) +kernel-sagasd-device_LINKLIBCCGENFILES := $(strip $(kernel-sagasd-device_LINKLIBCFILES) $(kernel-sagasd-device_RELLINKLIBCFILES)) + + +kernel-sagasd-device_CXXABSBASENAMES := $(foreach kernel-sagasd-device_CXXBASE,$(kernel-sagasd-device_CXX_NARCHFILES),$(if $(filter /%,$(kernel-sagasd-device_CXXBASE)),$(kernel-sagasd-device_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-sagasd-device_CXXBASE)))) + +ifneq ($(kernel-sagasd-device_CXXABSBASENAMES),) + +kernel-sagasd-device_CXXBASENAMES := $(basename $(kernel-sagasd-device_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-sagasd-device_MCXX_FILES := $(strip $(foreach kernel-sagasd-device_CXXBASE,$(kernel-sagasd-device_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-sagasd-device_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-sagasd-device_EXT),$(kernel-sagasd-device_CXXBASE))))))) + +ifeq (,) +kernel-sagasd-device_MCXX_SRCWILDCARD := % +else +kernel-sagasd-device_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sagasd-device_OBJDIR),) + kernel-sagasd-device_CXXTARGETS := $(notdir $(kernel-sagasd-device_CXXBASENAMES:=.o)) + kernel-sagasd-device_CXXDTARGETS := $(notdir $(kernel-sagasd-device_CXXBASENAMES:=.d)) + kernel-sagasd-device_MCXX_WILDCARD := % +else + kernel-sagasd-device_CXXTARGETS := $(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(kernel-sagasd-device_CXXBASENAMES:=.o))) + kernel-sagasd-device_CXXDTARGETS := $(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(kernel-sagasd-device_CXXBASENAMES:=.d))) + kernel-sagasd-device_MCXX_WILDCARD := $(kernel-sagasd-device_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-sagasd-device_CXXTARGETS) $(kernel-sagasd-device_CXXDTARGETS) : | $(kernel-sagasd-device_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-sagasd-device_MCXX_CPPFLAGS := $(kernel-sagasd-device_CPPFLAGS) +kernel-sagasd-device_CXXFLAGS := $(kernel-sagasd-device_CXXFLAGS) +ifeq ($(kernel-sagasd-device_DXXFLAGS),) + kernel-sagasd-device_DXXFLAGS := $(kernel-sagasd-device_CXXFLAGS) +else + kernel-sagasd-device_DXXFLAGS := $(kernel-sagasd-device_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-sagasd-device_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-sagasd-device_STRIP ?= $(HOST_STRIP) + kernel-sagasd-device_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-sagasd-device_CXXCMD:=$(HOST_CXX) + kernel-sagasd-device_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-sagasd-device_MCXX_CPPFLAGS) $(kernel-sagasd-device_MCXX_EXTRA_CPPFLAGS)) + kernel-sagasd-device_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-sagasd-device_CXXFLAGS)) + kernel-sagasd-device_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-sagasd-device_DXXFLAGS)) + kernel-sagasd-device_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-sagasd-device_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-sagasd-device_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-sagasd-device_STRIP ?= $(TARGET_STRIP) + kernel-sagasd-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-sagasd-device_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-sagasd-device_MCXX_CPPFLAGS := $(strip $(kernel-sagasd-device_MCXX_CPPFLAGS) $(kernel-sagasd-device_MCXX_EXTRA_CPPFLAGS)) + kernel-sagasd-device_CXXFLAGS := $(strip $(kernel-sagasd-device_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-sagasd-device_DXXFLAGS := $(kernel-sagasd-device_DXXFLAGS) + kernel-sagasd-device_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-sagasd-device_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-sagasd-device_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-sagasd-device_STRIP ?= $(ECHO) >/dev/null + kernel-sagasd-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-sagasd-device_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-sagasd-device_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-sagasd-device_MCXX_CPPFLAGS) $(kernel-sagasd-device_MCXX_EXTRA_CPPFLAGS)) + kernel-sagasd-device_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-sagasd-device_CXXFLAGS)) + kernel-sagasd-device_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-sagasd-device_DXXFLAGS)) + kernel-sagasd-device_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-sagasd-device_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-sagasd-device_CXXCMD) $(kernel-sagasd-device_CXXIQUOTE) $(dir $(2)) $(kernel-sagasd-device_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_CXXIQUOTE) . $(kernel-sagasd-device_CXXIQUOTE_END) $(strip $(kernel-sagasd-device_CXXFLAGS) $(kernel-sagasd-device_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-sagasd-device_CXXCMD) $(kernel-sagasd-device_CXXIQUOTE) $(dir $(2)) $(kernel-sagasd-device_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_CXXIQUOTE) . $(kernel-sagasd-device_CXXIQUOTE_END) $(strip $(kernel-sagasd-device_CXXFLAGS) $(kernel-sagasd-device_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-sagasd-device_CXXCMD) $(kernel-sagasd-device_CXXIQUOTE) $(dir $(2)) $(kernel-sagasd-device_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_CXXIQUOTE) . $(kernel-sagasd-device_CXXIQUOTE_END) $(strip $(kernel-sagasd-device_CXXFLAGS) $(kernel-sagasd-device_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-sagasd-device_CXXCMD)" $(MKDEPEND) $(strip $(kernel-sagasd-device_DXXFLAGS) $(kernel-sagasd-device_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-sagasd-device_OBJDIR),) + $(foreach kernel-sagasd-device_CXXFILE,$(kernel-sagasd-device_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-sagasd-device_CXXFILE))),$(kernel-sagasd-device_CXXFILE)))) +else + $(foreach kernel-sagasd-device_CXXFILE,$(kernel-sagasd-device_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(basename $(kernel-sagasd-device_CXXFILE)))),$(kernel-sagasd-device_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-sagasd-device_OBJC_NARCHFILES),) + +ifeq (,) +kernel-sagasd-device_MOBJC_SRCWILDCARD := % +else +kernel-sagasd-device_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sagasd-device_OBJDIR),) + kernel-sagasd-device_MOBJC_TARGETS := $(addsuffix .o,$(kernel-sagasd-device_OBJC_NARCHFILES)) + kernel-sagasd-device_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-sagasd-device_OBJC_NARCHFILES)) + kernel-sagasd-device_MOBJC_WILDCARD := % +else + kernel-sagasd-device_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(kernel-sagasd-device_OBJC_NARCHFILES))) + kernel-sagasd-device_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(kernel-sagasd-device_OBJC_NARCHFILES))) + kernel-sagasd-device_MOBJC_WILDCARD := $(kernel-sagasd-device_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-sagasd-device_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-sagasd-device_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-sagasd-device_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sagasd-device_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-sagasd-device_MOBJC_DIRS := $(foreach dir, $(kernel-sagasd-device_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sagasd-device_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-sagasd-device_MOBJC_DIRS),) + kernel-sagasd-device_MOBJC_DIRS := $(shell echo $(kernel-sagasd-device_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-sagasd-device_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-sagasd-device_CC := $(TARGET_CC) +else + kernel-sagasd-device_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-sagasd-device_MOBJC_CPPFLAGS := $(kernel-sagasd-device_CPPFLAGS) +kernel-sagasd-device_OBJCFLAGS := $(kernel-sagasd-device_CFLAGS) +kernel-sagasd-device_OBJCFLAGS := $(kernel-sagasd-device_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-sagasd-device_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-sagasd-device_OBJCFLAGS))) +ifeq ($(kernel-sagasd-device_DFLAGS),) + kernel-sagasd-device_OBJCDFLAGS := $(kernel-sagasd-device_CFLAGS) +else + kernel-sagasd-device_OBJCDFLAGS := $(kernel-sagasd-device_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-sagasd-device_LINK ?= $(strip $(kernel-sagasd-device_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-sagasd-device_STRIP ?= $(TARGET_STRIP) + kernel-sagasd-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-sagasd-device_CC) $(TARGET_SYSROOT)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_MOBJC_CPPFLAGS:=$(strip $(kernel-sagasd-device_MOBJC_CPPFLAGS) $(kernel-sagasd-device_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_OBJCFLAGS:=$(strip $(kernel-sagasd-device_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_OBJCDFLAGS:=$(kernel-sagasd-device_OBJCDFLAGS) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-sagasd-device_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-sagasd-device_STRIP ?= $(HOST_STRIP) + kernel-sagasd-device_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-sagasd-device_MOBJC_CPPFLAGS) $(kernel-sagasd-device_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_OBJCFLAGS)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_OBJCDFLAGS)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(HOST_IQUOTE) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-sagasd-device_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-sagasd-device_STRIP ?= $(ECHO) >/dev/null + kernel-sagasd-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-sagasd-device_MOBJC_CPPFLAGS) $(kernel-sagasd-device_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_OBJCFLAGS)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_OBJCDFLAGS)) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-sagasd-device_MOBJC_TARGETS) $(kernel-sagasd-device_MOBJC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sagasd-device_MOBJC_TARGETS) : CPPFLAGS := $(kernel-sagasd-device_MOBJC_CPPFLAGS) +$(kernel-sagasd-device_MOBJC_TARGETS) : CFLAGS := $(kernel-sagasd-device_OBJCFLAGS) +$(kernel-sagasd-device_MOBJC_TARGETS) : $(kernel-sagasd-device_MOBJC_WILDCARD).o : $(kernel-sagasd-device_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sagasd-device_MOBJC_DTARGETS) : $(kernel-sagasd-device_MOBJC_WILDCARD).d : $(kernel-sagasd-device_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sagasd-device_OBJCDFLAGS) $(kernel-sagasd-device_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-sagasd-device_MC_SRCWILDCARD := % +else +kernel-sagasd-device_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sagasd-device_OBJDIR),) +kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(kernel-sagasd-device_CCFILES)) +kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(kernel-sagasd-device_CCFILES)) +kernel-sagasd-device_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(kernel-sagasd-device_CCFILES)))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(kernel-sagasd-device_CCFILES)))) +else +ifeq (,) + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(kernel-sagasd-device_CCFILES))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(kernel-sagasd-device_CCFILES))) +else + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(patsubst /%,%,$(kernel-sagasd-device_CCFILES)))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(patsubst /%,%,$(kernel-sagasd-device_CCFILES)))) +endif +endif +kernel-sagasd-device_MC_TGTWILDCARD := $(kernel-sagasd-device_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : | $(addsuffix .c,$(kernel-sagasd-device_CCFILES)) + +# Be sure that all .c files are found +kernel-sagasd-device_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sagasd-device_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sagasd-device_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sagasd-device_MC_DIRS := $(foreach dir, $(kernel-sagasd-device_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sagasd-device_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sagasd-device_MC_DIRS),) + kernel-sagasd-device_MC_DIRS := $(shell echo $(kernel-sagasd-device_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-sagasd-device_MC_DIRS) +endif + +endif + +kernel-sagasd-device_MC_CPPFLAGS := $(kernel-sagasd-device_CPPFLAGS) +kernel-sagasd-device_CFLAGS := $(kernel-sagasd-device_CFLAGS) +ifeq ($(kernel-sagasd-device_DFLAGS),) + kernel-sagasd-device_DFLAGS := $(kernel-sagasd-device_CFLAGS) +else + kernel-sagasd-device_DFLAGS := $(kernel-sagasd-device_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-sagasd-device_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(TARGET_STRIP) +kernel-sagasd-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(kernel-sagasd-device_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(kernel-sagasd-device_DFLAGS) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-sagasd-device_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(HOST_STRIP) +kernel-sagasd-device_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_DFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(HOST_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-sagasd-device_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(ECHO) >/dev/null +kernel-sagasd-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_DFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sagasd-device_MC_TARGETS) : CPPFLAGS := $(kernel-sagasd-device_MC_CPPFLAGS) +$(kernel-sagasd-device_MC_TARGETS) : CFLAGS := $(kernel-sagasd-device_CFLAGS) +$(kernel-sagasd-device_MC_TARGETS) : $(kernel-sagasd-device_MC_TGTWILDCARD).o : $(kernel-sagasd-device_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sagasd-device_MC_DTARGETS) : $(kernel-sagasd-device_MC_TGTWILDCARD).d : $(kernel-sagasd-device_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sagasd-device_DFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-sagasd-device_MC_SRCWILDCARD := % +else +kernel-sagasd-device_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sagasd-device_OBJDIR),) +kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(kernel-sagasd-device_TARGETCCFILES)) +kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(kernel-sagasd-device_TARGETCCFILES)) +kernel-sagasd-device_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(kernel-sagasd-device_TARGETCCFILES)))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(kernel-sagasd-device_TARGETCCFILES)))) +else +ifeq (,) + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(kernel-sagasd-device_TARGETCCFILES))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(kernel-sagasd-device_TARGETCCFILES))) +else + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(patsubst /%,%,$(kernel-sagasd-device_TARGETCCFILES)))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/,$(patsubst /%,%,$(kernel-sagasd-device_TARGETCCFILES)))) +endif +endif +kernel-sagasd-device_MC_TGTWILDCARD := $(kernel-sagasd-device_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : | $(addsuffix .c,$(kernel-sagasd-device_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-sagasd-device_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sagasd-device_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sagasd-device_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sagasd-device_MC_DIRS := $(foreach dir, $(kernel-sagasd-device_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sagasd-device_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sagasd-device_MC_DIRS),) + kernel-sagasd-device_MC_DIRS := $(shell echo $(kernel-sagasd-device_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-sagasd-device_MC_DIRS) +endif + +endif + +kernel-sagasd-device_MC_CPPFLAGS := $(kernel-sagasd-device_CPPFLAGS) -D__AROS__ +kernel-sagasd-device_CFLAGS := $(kernel-sagasd-device_CFLAGS) +ifeq ($(kernel-sagasd-device_DFLAGS),) + kernel-sagasd-device_DFLAGS := $(kernel-sagasd-device_CFLAGS) +else + kernel-sagasd-device_DFLAGS := $(kernel-sagasd-device_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-sagasd-device_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(TARGET_STRIP) +kernel-sagasd-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(kernel-sagasd-device_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(kernel-sagasd-device_DFLAGS) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-sagasd-device_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(HOST_STRIP) +kernel-sagasd-device_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_DFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(HOST_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-sagasd-device_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(ECHO) >/dev/null +kernel-sagasd-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_DFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sagasd-device_MC_TARGETS) : CPPFLAGS := $(kernel-sagasd-device_MC_CPPFLAGS) +$(kernel-sagasd-device_MC_TARGETS) : CFLAGS := $(kernel-sagasd-device_CFLAGS) +$(kernel-sagasd-device_MC_TARGETS) : $(kernel-sagasd-device_MC_TGTWILDCARD).o : $(kernel-sagasd-device_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sagasd-device_MC_DTARGETS) : $(kernel-sagasd-device_MC_TGTWILDCARD).d : $(kernel-sagasd-device_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sagasd-device_DFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-sagasd-device_MC_SRCWILDCARD := % +else +kernel-sagasd-device_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sagasd-device_OBJDIR)/linklib,) +kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(kernel-sagasd-device_NLIBARCHFILES)) +kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(kernel-sagasd-device_NLIBARCHFILES)) +kernel-sagasd-device_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(notdir $(kernel-sagasd-device_NLIBARCHFILES)))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(notdir $(kernel-sagasd-device_NLIBARCHFILES)))) +else +ifeq (,) + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(kernel-sagasd-device_NLIBARCHFILES))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(kernel-sagasd-device_NLIBARCHFILES))) +else + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-sagasd-device_NLIBARCHFILES)))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-sagasd-device_NLIBARCHFILES)))) +endif +endif +kernel-sagasd-device_MC_TGTWILDCARD := $(kernel-sagasd-device_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : | $(addsuffix .c,$(kernel-sagasd-device_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-sagasd-device_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sagasd-device_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sagasd-device_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sagasd-device_MC_DIRS := $(foreach dir, $(kernel-sagasd-device_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sagasd-device_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sagasd-device_MC_DIRS),) + kernel-sagasd-device_MC_DIRS := $(shell echo $(kernel-sagasd-device_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-sagasd-device_MC_DIRS) +endif + +endif + +kernel-sagasd-device_MC_CPPFLAGS := $(kernel-sagasd-device_LINKLIBCPPFLAGS) -D__AROS__ +kernel-sagasd-device_CFLAGS := $(kernel-sagasd-device_LINKLIBCFLAGS) +ifeq ($(kernel-sagasd-device_LINKLIBDFLAGS),) + kernel-sagasd-device_DFLAGS := $(kernel-sagasd-device_LINKLIBCFLAGS) +else + kernel-sagasd-device_DFLAGS := $(kernel-sagasd-device_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-sagasd-device_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(TARGET_STRIP) +kernel-sagasd-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(kernel-sagasd-device_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(kernel-sagasd-device_DFLAGS) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-sagasd-device_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(HOST_STRIP) +kernel-sagasd-device_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_DFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(HOST_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-sagasd-device_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(ECHO) >/dev/null +kernel-sagasd-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_DFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sagasd-device_MC_TARGETS) : CPPFLAGS := $(kernel-sagasd-device_MC_CPPFLAGS) +$(kernel-sagasd-device_MC_TARGETS) : CFLAGS := $(kernel-sagasd-device_CFLAGS) +$(kernel-sagasd-device_MC_TARGETS) : $(kernel-sagasd-device_MC_TGTWILDCARD).o : $(kernel-sagasd-device_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sagasd-device_MC_DTARGETS) : $(kernel-sagasd-device_MC_TGTWILDCARD).d : $(kernel-sagasd-device_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sagasd-device_DFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-sagasd-device_OBJDIR)/linklib,) +kernel-sagasd-device_MC_SRCWILDCARD := % +else +kernel-sagasd-device_MC_SRCWILDCARD := $(kernel-sagasd-device_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-sagasd-device_OBJDIR)/linklib,) +kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(kernel-sagasd-device_LINKLIBCCGENFILES)) +kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(kernel-sagasd-device_LINKLIBCCGENFILES)) +kernel-sagasd-device_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(notdir $(kernel-sagasd-device_LINKLIBCCGENFILES)))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(notdir $(kernel-sagasd-device_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-sagasd-device_OBJDIR)/linklib,) + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(kernel-sagasd-device_LINKLIBCCGENFILES))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(kernel-sagasd-device_LINKLIBCCGENFILES))) +else + kernel-sagasd-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(patsubst $(kernel-sagasd-device_OBJDIR)/linklib/%,%,$(kernel-sagasd-device_LINKLIBCCGENFILES)))) + kernel-sagasd-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(patsubst $(kernel-sagasd-device_OBJDIR)/linklib/%,%,$(kernel-sagasd-device_LINKLIBCCGENFILES)))) +endif +endif +kernel-sagasd-device_MC_TGTWILDCARD := $(kernel-sagasd-device_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : | $(addsuffix .c,$(kernel-sagasd-device_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-sagasd-device_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sagasd-device_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sagasd-device_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sagasd-device_MC_DIRS := $(foreach dir, $(kernel-sagasd-device_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sagasd-device_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sagasd-device_MC_DIRS),) + kernel-sagasd-device_MC_DIRS := $(shell echo $(kernel-sagasd-device_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-sagasd-device_MC_DIRS) +endif + +endif + +kernel-sagasd-device_MC_CPPFLAGS := $(kernel-sagasd-device_LINKLIBCPPFLAGS) -D__AROS__ +kernel-sagasd-device_CFLAGS := $(kernel-sagasd-device_LINKLIBCFLAGS) +ifeq ($(kernel-sagasd-device_LINKLIBDFLAGS),) + kernel-sagasd-device_DFLAGS := $(kernel-sagasd-device_LINKLIBCFLAGS) +else + kernel-sagasd-device_DFLAGS := $(kernel-sagasd-device_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-sagasd-device_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(TARGET_STRIP) +kernel-sagasd-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(kernel-sagasd-device_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(kernel-sagasd-device_DFLAGS) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-sagasd-device_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(HOST_STRIP) +kernel-sagasd-device_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sagasd-device_DFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(HOST_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-sagasd-device_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-sagasd-device_STRIP ?= $(ECHO) >/dev/null +kernel-sagasd-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS) $(kernel-sagasd-device_MC_EXTRA_CPPFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_CFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sagasd-device_DFLAGS)) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-sagasd-device_MC_TARGETS) $(kernel-sagasd-device_MC_DTARGETS) : kernel-sagasd-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sagasd-device_MC_TARGETS) : CPPFLAGS := $(kernel-sagasd-device_MC_CPPFLAGS) +$(kernel-sagasd-device_MC_TARGETS) : CFLAGS := $(kernel-sagasd-device_CFLAGS) +$(kernel-sagasd-device_MC_TARGETS) : $(kernel-sagasd-device_MC_TGTWILDCARD).o : $(kernel-sagasd-device_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sagasd-device_IQUOTE) $(dir $<) $(kernel-sagasd-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sagasd-device_IQUOTE) . $(kernel-sagasd-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sagasd-device_MC_DTARGETS) : $(kernel-sagasd-device_MC_TGTWILDCARD).d : $(kernel-sagasd-device_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sagasd-device_DFLAGS) $(kernel-sagasd-device_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-sagasd-device_LINKLIBAFILES),) + +ifeq ($(kernel-sagasd-device_OBJDIR)/linklib,) +kernel-sagasd-device-MA_TARGETS := $(addsuffix .o,$(kernel-sagasd-device_LINKLIBAFILES) $(kernel-sagasd-device_RELLINKLIBAFILES)) +kernel-sagasd-device-MA_WILDCARD := % +else +kernel-sagasd-device-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(notdir $(kernel-sagasd-device_LINKLIBAFILES) $(kernel-sagasd-device_RELLINKLIBAFILES)))) +kernel-sagasd-device-MA_WILDCARD := $(kernel-sagasd-device_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-sagasd-device-MA_TARGETS) : | $(addsuffix .S,$(kernel-sagasd-device_LINKLIBAFILES) $(kernel-sagasd-device_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-sagasd-device-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sagasd-device-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sagasd-device_LINKLIBAFILES) $(kernel-sagasd-device_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sagasd-device-MA_DIRS := $(foreach dir, $(kernel-sagasd-device-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sagasd-device-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sagasd-device-MA_DIRS),) + kernel-sagasd-device-MA_DIRS := $(shell echo $(kernel-sagasd-device-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-sagasd-device-MA_DIRS) +endif + +endif + +kernel-sagasd-device-MA_ASSEMBLER ?= $(kernel-sagasd-device_ASSEMBLER) + +$(kernel-sagasd-device-MA_TARGETS) : kernel-sagasd-device-MA_CMD:= $(kernel-sagasd-device-MA_ASSEMBLER) + +$(kernel-sagasd-device-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-sagasd-device-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-sagasd-device-MA_TARGETS) : $(kernel-sagasd-device-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-sagasd-device-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-sagasd-device-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-sagasd-device-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-sagasd-device_SUFFIX := device +else +kernel-sagasd-device_SUFFIX := +endif + +ifeq (target,target) +kernel-sagasd-device_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-sagasd-device_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-sagasd-device_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-sagasd-device_SUFFIX),handler) +kernel-sagasd-device_MODULE := $(AROSDIR)/$(kernel-sagasd-device_MODDIR)/$(kernel-sagasd-device_DEFNAME)-$(kernel-sagasd-device_SUFFIX) +else +kernel-sagasd-device_MODULE := $(AROSDIR)/$(kernel-sagasd-device_MODDIR)/$(kernel-sagasd-device_DEFNAME).$(kernel-sagasd-device_SUFFIX) +endif +kernel-sagasd-device_KOBJ := $(KOBJSDIR)/$(kernel-sagasd-device_DEFNAME)_$(kernel-sagasd-device_SUFFIX).o +else +kernel-sagasd-device_MODULE := +kernel-sagasd-device_KOBJ := +endif + +kernel-sagasd-device-quick : kernel-sagasd-device +kernel-sagasd-device : $(kernel-sagasd-device_MODULE) $(kernel-sagasd-device_LINKLIB) $(kernel-sagasd-device_RELLINKLIB) +ifeq (M,M) +kernel-sagasd-device-kobj : $(kernel-sagasd-device_KOBJ) $(kernel-sagasd-device_LINKLIB) $(kernel-sagasd-device_RELLINKLIB) +kernel-sagasd-device-kobj-quick : $(kernel-sagasd-device_KOBJ) $(kernel-sagasd-device_LINKLIB) $(kernel-sagasd-device_RELLINKLIB) +endif +ifeq (M,M) +kernel-sagasd-device-linklib : $(kernel-sagasd-device_LINKLIB) $(kernel-sagasd-device_RELLINKLIB) +endif + +kernel-sagasd-device_OBJS := $(addsuffix .o,$(kernel-sagasd-device_STARTFILES)) $(kernel-sagasd-device_ARCHOBJS) \ + $(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(kernel-sagasd-device_C_NARCHFILES:=.o) $(kernel-sagasd-device_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-sagasd-device_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (sagasd,con) + kernel-sagasd-device_ERR := $(notdir $(kernel-sagasd-device_MODULE)).err +else + kernel-sagasd-device_ERR := sagasd.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-sagasd-device_DEFNAME)_LDFLAGS) $(kernel-sagasd-device_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-sagasd-device_LIBS) $($(kernel-sagasd-device_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-sagasd-device_MODULE) : LIB_NAMES := $(kernel-sagasd-device_LIBS) $($(kernel-sagasd-device_DEFNAME)_LIBS) +$(kernel-sagasd-device_MODULE) : OBJS := $(kernel-sagasd-device_STARTOBJS) $(kernel-sagasd-device_OBJS) $(USER_OBJS) +$(kernel-sagasd-device_MODULE) : ENDTAG := $(kernel-sagasd-device_ENDOBJS) +$(kernel-sagasd-device_MODULE) : ERR := $(kernel-sagasd-device_ERR) +$(kernel-sagasd-device_MODULE) : OBJDIR := $(kernel-sagasd-device_OBJDIR) +$(kernel-sagasd-device_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-sagasd-device_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-sagasd-device_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-sagasd-device_MODULE) : $(kernel-sagasd-device_STARTOBJS) $(kernel-sagasd-device_OBJS) $(USER_OBJS) $(kernel-sagasd-device_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-sagasd-device_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-sagasd-device_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-sagasd-device_LC_LINKLIBNAME := $(shell echo $(kernel-sagasd-device_LINKLIBNAME) | tr A-Z a-z) +kernel-sagasd-device_LC_MODNAME := $(shell echo sagasd | tr A-Z a-z) +ifneq ($(kernel-sagasd-device_LINKLIB),) + +ifeq (target,target) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(HOST_AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(KERNEL_AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)$(kernel-sagasd-device_LIBSUFFIX).a : $(kernel-sagasd-device_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-sagasd-device_AR) $@ $^ + $(Q)$(kernel-sagasd-device_RANLIB) $@ +ifneq ($(kernel-sagasd-device_LC_MODNAME),$(kernel-sagasd-device_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-sagasd-device_LIBDIR)/libsagasd$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(AR) +$(kernel-sagasd-device_LIBDIR)/libsagasd$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-sagasd-device_LIBDIR)/libsagasd$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(HOST_AR) +$(kernel-sagasd-device_LIBDIR)/libsagasd$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-sagasd-device_LIBDIR)/libsagasd$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(KERNEL_AR) +$(kernel-sagasd-device_LIBDIR)/libsagasd$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-sagasd-device_LIBDIR)/libsagasd$(kernel-sagasd-device_LIBSUFFIX).a : $(kernel-sagasd-device_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-sagasd-device_AR) $@ $^ + $(Q)$(kernel-sagasd-device_RANLIB) $@ +endif + + +ifneq ($(kernel-sagasd-device_LINKLIB),) +$(kernel-sagasd-device_LINKLIB) : | $(kernel-sagasd-device_LIBDIR) +else +$(kernel-sagasd-device_LINKLIB) :: $(kernel-sagasd-device_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-sagasd-device_LIBDIR) + +endif + +ifneq ($(kernel-sagasd-device_RELLINKLIB),) + +ifeq (target,target) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(HOST_AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(KERNEL_AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_LINKLIBNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : $(kernel-sagasd-device_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-sagasd-device_AR) $@ $^ + $(Q)$(kernel-sagasd-device_RANLIB) $@ +ifneq ($(kernel-sagasd-device_LC_MODNAME),$(kernel-sagasd-device_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_DEFNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_DEFNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_DEFNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(HOST_AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_DEFNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_DEFNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_AR:=$(KERNEL_AR) +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_DEFNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : kernel-sagasd-device_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-sagasd-device_LIBDIR)/lib$(kernel-sagasd-device_DEFNAME)_rel$(kernel-sagasd-device_LIBSUFFIX).a : $(kernel-sagasd-device_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-sagasd-device_AR) $@ $^ + $(Q)$(kernel-sagasd-device_RANLIB) $@ +endif + + +ifneq ($(kernel-sagasd-device_RELLINKLIB),) +$(kernel-sagasd-device_RELLINKLIB) : | $(kernel-sagasd-device_LIBDIR) +else +$(kernel-sagasd-device_RELLINKLIB) :: $(kernel-sagasd-device_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-sagasd-device_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-sagasd-device_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-sagasd-device_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-sagasd-device_SYMBOLS := $(kernel-sagasd-device_KBASE) + +kernel-sagasd-device_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-sagasd-device_KOBJ_LIBS := $(filter-out $(kernel-sagasd-device_KLIB),$(kernel-sagasd-device_LIBS)) $(kernel-sagasd-device_KAUTOLIB) +$(kernel-sagasd-device_KOBJ) : LINKLIBS:=$(kernel-sagasd-device_KOBJ_LIBS) $($(kernel-sagasd-device_DEFNAME)_LIBS) +$(kernel-sagasd-device_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-sagasd-device_SYMBOLS)) +$(kernel-sagasd-device_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-sagasd-device_KOBJ) : $(kernel-sagasd-device_OBJS) $(USER_OBJS) $(kernel-sagasd-device_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-sagasd-device_DEPS := $(addprefix $(kernel-sagasd-device_OBJDIR)/,$(notdir $(kernel-sagasd-device_CCFILES:=.d) $(kernel-sagasd-device_TARGETCCFILES:=.d) $(kernel-sagasd-device_CXXFILES:=.d))) $(addprefix $(kernel-sagasd-device_OBJDIR)/linklib/,$(notdir $(kernel-sagasd-device_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-sagasd-device_DEPS),) + ifneq (kernel-sagasd-device kernel-sagasd-device-quick kernel-sagasd-device-kobj kernel-sagasd-device-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-sagasd-device kernel-sagasd-device-quick kernel-sagasd-device-kobj kernel-sagasd-device-kobj-quick),) + -include $(kernel-sagasd-device_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-sagasd-device_DEPS) + endif + endif +endif + +$(kernel-sagasd-device_OBJS) $(kernel-sagasd-device_DEPS) : | $(kernel-sagasd-device_OBJDIR)/linklib + +ifneq ($(kernel-sagasd-device_OBJS) $(kernel-sagasd-device_DEPS) $(kernel-sagasd-device_MODULE) $(kernel-sagasd-device_KOBJ),) +$(kernel-sagasd-device_OBJS) $(kernel-sagasd-device_DEPS) $(kernel-sagasd-device_MODULE) $(kernel-sagasd-device_KOBJ) : | $(kernel-sagasd-device_OBJDIR) $(AROSDIR)/$(kernel-sagasd-device_MODDIR) $(KOBJSDIR) +else +$(kernel-sagasd-device_OBJS) $(kernel-sagasd-device_DEPS) $(kernel-sagasd-device_MODULE) $(kernel-sagasd-device_KOBJ) :: $(kernel-sagasd-device_OBJDIR) $(AROSDIR)/$(kernel-sagasd-device_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-sagasd-device_OBJDIR) $(AROSDIR)/$(kernel-sagasd-device_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-sagasd-device kernel-sagasd-device-includes kernel-sagasd-device-quick kernel-sagasd-device-kobj kernel-sagasd-device-kobj-quick),) # Only for this target these deps are wanted + +kernel-sagasd-device_DFILE_DEPS := $(kernel-sagasd-device_LIBDEFSINC) $(kernel-sagasd-device_DEFLIBDEFSINC) \ + $(addprefix $(kernel-sagasd-device_INCDIR)/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) +$(kernel-sagasd-device_DEPS) : $(kernel-sagasd-device_DFILE_DEPS) +endif + +kernel-sagasd-device_TOCLEAN := $(kernel-sagasd-device_OBJS) $(kernel-sagasd-device_DEPS) \ + $(kernel-sagasd-device_MODULE) $(kernel-sagasd-device_LINKLIB) $(kernel-sagasd-device_KOBJ) \ + $(kernel-sagasd-device_OBJDIR)/Makefile.sagasddevice \ + $(addprefix $(kernel-sagasd-device_OBJDIR)/include/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-sagasd-device_INCDIR)/,$($(kernel-sagasd-device_DEFNAME)_INCLUDES)) \ + $(kernel-sagasd-device_OBJDIR)/sagasd_geninc $(kernel-sagasd-device_OBJDIR)/sagasd_incs \ + $(addsuffix .c,$(kernel-sagasd-device_LINKLIBFILES)) $(kernel-sagasd-device_LINKLIBOBJS) $(kernel-sagasd-device_LIBDEFSINC) \ + $(kernel-sagasd-device_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-sagasd-device_STARTFILES) $(kernel-sagasd-device_ENDFILES)) \ + $(kernel-sagasd-device_ENDOBJS) +kernel-sagasd-device-clean : FILES := $(kernel-sagasd-device_TOCLEAN) +kernel-sagasd-device-clean :: + $(Q)$(ECHO) "Cleaning up for module sagasd" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-sagasd-device_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) +# vim: set shiftwidth=8 noexpandtab: # diff --git a/arch/m68k-amiga/devs/trackdisk/mmakefile b/arch/m68k-amiga/devs/trackdisk/mmakefile new file mode 100644 index 00000000000..27dbe33a534 --- /dev/null +++ b/arch/m68k-amiga/devs/trackdisk/mmakefile @@ -0,0 +1,1659 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- kernel-amiga-m68k-trackdisk : includes kernel-disk-includes +#MM- kernel-amiga-m68k-trackdisk-kobj : includes kernel-disk-includes + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-amiga-m68k-trackdisk +#MM kernel-amiga-m68k-trackdisk-quick +#MM kernel-amiga-m68k-trackdisk-makefile +#MM kernel-amiga-m68k-trackdisk-clean + +# ABI targets: +#MM- includes-all : kernel-amiga-m68k-trackdisk-includes +#MM- linklibs-trackdisk: kernel-amiga-m68k-trackdisk-linklib +#MM- linklibs-trackdisk_rel : kernel-amiga-m68k-trackdisk-linklib +#MM- includes-trackdisk: kernel-amiga-m68k-trackdisk-includes +#MM- includes-trackdisk_rel : kernel-amiga-m68k-trackdisk-includes +#MM- kernel-amiga-m68k-trackdisk : kernel-amiga-m68k-trackdisk-includes core-linklibs linklibs- +#MM kernel-amiga-m68k-trackdisk-linklib : kernel-amiga-m68k-trackdisk-includes includes- +#MM- kernel-amiga-m68k-trackdisk-quick : kernel-amiga-m68k-trackdisk-includes-quick +#MM kernel-amiga-m68k-trackdisk-includes : kernel-amiga-m68k-trackdisk-makefile kernel-amiga-m68k-trackdisk-includes-dirs \ +#MM includes-generate-deps kernel-amiga-m68k-trackdisk-fd +#MM kernel-amiga-m68k-trackdisk-includes-quick +#MM kernel-amiga-m68k-trackdisk-includes-dirs +#MM kernel-amiga-m68k-trackdisk-fd + +# Library targets +#MM kernel-amiga-m68k-trackdisk-kobj : core-linklibs linklibs- +#MM kernel-amiga-m68k-trackdisk-kobj-quick : + +# Library with ABI targets: +#MM kernel-amiga-m68k-trackdisk-kobj : kernel-amiga-m68k-trackdisk-includes core-linklibs linklibs- +#MM kernel-amiga-m68k-trackdisk-kobj-quick : kernel-amiga-m68k-trackdisk-includes-quick + +# All MetaMake targets defined by this macro +kernel-amiga-m68k-trackdisk_ALLTARGETS := kernel-amiga-m68k-trackdisk kernel-amiga-m68k-trackdisk-quick kernel-amiga-m68k-trackdisk-clean + +ifeq (M,M) +kernel-amiga-m68k-trackdisk_ALLTARGETS += kernel-amiga-m68k-trackdisk-kobj kernel-amiga-m68k-trackdisk-kobj-quick +endif + +ifeq (M,M) +kernel-amiga-m68k-trackdisk_ALLTARGETS += kernel-amiga-m68k-trackdisk-includes \ + kernel-amiga-m68k-trackdisk-includes-quick kernel-amiga-m68k-trackdisk-includes-dirs \ + kernel-amiga-m68k-trackdisk-linklib kernel-amiga-m68k-trackdisk-fd +endif + +.PHONY : $(kernel-amiga-m68k-trackdisk_ALLTARGETS) kernel-amiga-m68k-trackdisk-makefile + +ifeq (trackdisk,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-amiga-m68k-trackdisk_DEFNAME := trackdisk_ +else + kernel-amiga-m68k-trackdisk_DEFNAME := trackdisk +endif +kernel-amiga-m68k-trackdisk_DEFLINKLIBNAME := $(kernel-amiga-m68k-trackdisk_DEFNAME) +ifneq (,) + kernel-amiga-m68k-trackdisk_LINKLIBNAME := +else + kernel-amiga-m68k-trackdisk_LINKLIBNAME = $(kernel-amiga-m68k-trackdisk_DEFLINKLIBNAME) +endif +kernel-amiga-m68k-trackdisk_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-amiga-m68k-trackdisk_DEFCPPFLAGS += -I +endif +kernel-amiga-m68k-trackdisk_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-amiga-m68k-trackdisk_DFLAGS := +else + kernel-amiga-m68k-trackdisk_DFLAGS = $(kernel-amiga-m68k-trackdisk_DEFDFLAGS) +endif +kernel-amiga-m68k-trackdisk_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-amiga-m68k-trackdisk_DXXFLAGS := +else + kernel-amiga-m68k-trackdisk_DXXFLAGS = $(kernel-amiga-m68k-trackdisk_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-trackdisk_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-trackdisk_DEFDFLAGS)) +kernel-amiga-m68k-trackdisk_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-trackdisk_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-trackdisk_FUNCINSTR := yes +kernel-amiga-m68k-trackdisk_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-trackdisk_DEFDFLAGS)) +kernel-amiga-m68k-trackdisk_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-trackdisk_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-amiga-m68k-trackdisk_OBJDIR := +else +kernel-amiga-m68k-trackdisk_OBJDIR := $(OBJDIR)/$(kernel-amiga-m68k-trackdisk_DEFNAME) +endif +ifneq (,) +kernel-amiga-m68k-trackdisk_OBJDIR := $(kernel-amiga-m68k-trackdisk_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-amiga-m68k-trackdisk-makefile := $(kernel-amiga-m68k-trackdisk_OBJDIR)/Makefile.$(kernel-amiga-m68k-trackdisk_DEFNAME)device +kernel-amiga-m68k-trackdisk-genmakefile : $(kernel-amiga-m68k-trackdisk-makefile) + + +kernel-amiga-m68k-trackdisk-genmakefile_OPTS := +ifneq (,) + kernel-amiga-m68k-trackdisk-genmakefile_OPTS += -f + kernel-amiga-m68k-trackdisk-genmakefile_MODNAME := trackdisk_ +else + kernel-amiga-m68k-trackdisk-genmakefile_MODNAME := trackdisk +endif +kernel-amiga-m68k-trackdisk-genmakefile_TARGET := Makefile.$(kernel-amiga-m68k-trackdisk-genmakefile_MODNAME)device +kernel-amiga-m68k-trackdisk-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-trackdisk-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-trackdisk-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-trackdisk-genmakefile_OPTS += -c + kernel-amiga-m68k-trackdisk-genmakefile_DEPS += + endif +else + kernel-amiga-m68k-trackdisk-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + kernel-amiga-m68k-trackdisk-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-trackdisk-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-trackdisk-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-trackdisk-genmakefile_OPTS += -o + kernel-amiga-m68k-trackdisk-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-trackdisk-genmakefile_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-trackdisk_OBJDIR),) + kernel-amiga-m68k-trackdisk-genmakefile_OPTS += -d $(kernel-amiga-m68k-trackdisk_OBJDIR) + kernel-amiga-m68k-trackdisk-genmakefile_TARGET := $(kernel-amiga-m68k-trackdisk_OBJDIR)/$(kernel-amiga-m68k-trackdisk-genmakefile_TARGET) +endif + +$(kernel-amiga-m68k-trackdisk-genmakefile_TARGET) : OPTS := $(kernel-amiga-m68k-trackdisk-genmakefile_OPTS) +$(kernel-amiga-m68k-trackdisk-genmakefile_TARGET) : MODNAME := trackdisk +$(kernel-amiga-m68k-trackdisk-genmakefile_TARGET) : MODTYPE := device +$(kernel-amiga-m68k-trackdisk-genmakefile_TARGET) : $(kernel-amiga-m68k-trackdisk-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-amiga-m68k-trackdisk-makefile),) +$(kernel-amiga-m68k-trackdisk-makefile) : | $(kernel-amiga-m68k-trackdisk_OBJDIR) +else +$(kernel-amiga-m68k-trackdisk-makefile) :: $(kernel-amiga-m68k-trackdisk_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-trackdisk_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-amiga-m68k-trackdisk_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-amiga-m68k-trackdisk-makefile) + +kernel-amiga-m68k-trackdisk_DEFMODDIR := $($(kernel-amiga-m68k-trackdisk_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-amiga-m68k-trackdisk_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-amiga-m68k-trackdisk_DEFMODDIR) +endif +ifneq (,) + kernel-amiga-m68k-trackdisk_MODDIR := +else + kernel-amiga-m68k-trackdisk_MODDIR := $(kernel-amiga-m68k-trackdisk_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-amiga-m68k-trackdisk_INCDIR := +else +kernel-amiga-m68k-trackdisk_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-amiga-m68k-trackdisk_LIBDEFSINC := $(kernel-amiga-m68k-trackdisk_OBJDIR)/include/$(kernel-amiga-m68k-trackdisk_DEFNAME)_libdefs.h +kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC := $(kernel-amiga-m68k-trackdisk_OBJDIR)/include/$(kernel-amiga-m68k-trackdisk_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-amiga-m68k-trackdisk-includes-quick : kernel-amiga-m68k-trackdisk-includes +kernel-amiga-m68k-trackdisk-includes : $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-trackdisk_INCDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-trackdisk_LIBDEFSINC) $(kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC) + +ifneq ($($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-amiga-m68k-trackdisk-includes_MODNAME := trackdisk_ +else + kernel-amiga-m68k-trackdisk-includes_MODNAME := trackdisk +endif + +ifneq ($($(kernel-amiga-m68k-trackdisk-includes_MODNAME)_INCLUDES),) + +kernel-amiga-m68k-trackdisk-includes_TARGETS := $($(kernel-amiga-m68k-trackdisk-includes_MODNAME)_INCLUDES) + +kernel-amiga-m68k-trackdisk-includes_DEPS := $(GENMODULE) +kernel-amiga-m68k-trackdisk-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-trackdisk-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-trackdisk-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-trackdisk-includes_OPTS += -c + kernel-amiga-m68k-trackdisk-includes_DEPS += + endif +else + kernel-amiga-m68k-trackdisk-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + kernel-amiga-m68k-trackdisk-includes_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-trackdisk-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-trackdisk-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-trackdisk-includes_OPTS += -o + kernel-amiga-m68k-trackdisk-includes_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-trackdisk-includes_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-trackdisk_OBJDIR)/include,) + kernel-amiga-m68k-trackdisk-includes_OPTS += -d $(kernel-amiga-m68k-trackdisk_OBJDIR)/include + kernel-amiga-m68k-trackdisk-includes_TARGETS := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/include/,$(kernel-amiga-m68k-trackdisk-includes_TARGETS)) + kernel-amiga-m68k-trackdisk-includes_GENINCFLAG=$(kernel-amiga-m68k-trackdisk_OBJDIR)/include/.trackdisk.device-includes +else + kernel-amiga-m68k-trackdisk-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.trackdisk.device-includes +endif + +$(kernel-amiga-m68k-trackdisk-includes_TARGETS) : $(kernel-amiga-m68k-trackdisk-includes_DEPS) $(kernel-amiga-m68k-trackdisk-includes_GENINCFLAG) + +$(kernel-amiga-m68k-trackdisk-includes_GENINCFLAG) : OPTS := $(kernel-amiga-m68k-trackdisk-includes_OPTS) +$(kernel-amiga-m68k-trackdisk-includes_GENINCFLAG) : MODNAME := trackdisk +$(kernel-amiga-m68k-trackdisk-includes_GENINCFLAG) : MODTYPE := device +$(kernel-amiga-m68k-trackdisk-includes_GENINCFLAG) : $(kernel-amiga-m68k-trackdisk-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-amiga-m68k-trackdisk_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_geninc + +$(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_geninc : COPYSRCDIR := $(kernel-amiga-m68k-trackdisk_OBJDIR)/include +$(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_geninc : TGTDIR := $(GENINCDIR) +$(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_geninc : FILES := $($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_geninc : $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/include/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-amiga-m68k-trackdisk_OBJDIR)/include + +$(addprefix $(kernel-amiga-m68k-trackdisk_INCDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_incs + +$(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_incs : COPYSRCDIR := $(kernel-amiga-m68k-trackdisk_OBJDIR)/include +$(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_incs : TGTDIR := $(kernel-amiga-m68k-trackdisk_INCDIR) +$(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_incs : FILES := $($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_incs : $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/include/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-amiga-m68k-trackdisk_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)))) + +TMPtrackdisk_INCDIRS := \ + $(kernel-amiga-m68k-trackdisk_OBJDIR)/include $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/include/,$(kernel-amiga-m68k-trackdisk_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-amiga-m68k-trackdisk_INCDIRS)) \ + $(kernel-amiga-m68k-trackdisk_INCDIR) $(addprefix $(kernel-amiga-m68k-trackdisk_INCDIR)/,$(kernel-amiga-m68k-trackdisk_INCDIRS)) + +ifneq (kernel-amiga-m68k-trackdisk-includes-dirs,) +kernel-amiga-m68k-trackdisk-includes-dirs : | $(TMPtrackdisk_INCDIRS) +else +kernel-amiga-m68k-trackdisk-includes-dirs :: $(TMPtrackdisk_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPtrackdisk_INCDIRS) + + +endif + +endif + + +kernel-amiga-m68k-trackdisk-genlibdefs_OPTS := +ifneq (,) + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -f + kernel-amiga-m68k-trackdisk-genlibdefs_MODNAME := trackdisk_ +else + kernel-amiga-m68k-trackdisk-genlibdefs_MODNAME := trackdisk +endif +kernel-amiga-m68k-trackdisk-genlibdefs_TARGET := $(kernel-amiga-m68k-trackdisk-genlibdefs_MODNAME)_libdefs.h +kernel-amiga-m68k-trackdisk-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-trackdisk-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -c + kernel-amiga-m68k-trackdisk-genlibdefs_DEPS += + endif +else + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + kernel-amiga-m68k-trackdisk-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-trackdisk-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -o + kernel-amiga-m68k-trackdisk-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-trackdisk_OBJDIR)/include,) + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -d $(kernel-amiga-m68k-trackdisk_OBJDIR)/include + kernel-amiga-m68k-trackdisk-genlibdefs_TARGET := $(kernel-amiga-m68k-trackdisk_OBJDIR)/include/$(kernel-amiga-m68k-trackdisk-genlibdefs_TARGET) +endif +ifneq (,) + kernel-amiga-m68k-trackdisk-genlibdefs_OPTS += -v +endif + +$(kernel-amiga-m68k-trackdisk-genlibdefs_TARGET) : OPTS := $(kernel-amiga-m68k-trackdisk-genlibdefs_OPTS) +$(kernel-amiga-m68k-trackdisk-genlibdefs_TARGET) : MODNAME := trackdisk +$(kernel-amiga-m68k-trackdisk-genlibdefs_TARGET) : MODTYPE := device +$(kernel-amiga-m68k-trackdisk-genlibdefs_TARGET) : $(kernel-amiga-m68k-trackdisk-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC) : FILENAME := $(kernel-amiga-m68k-trackdisk_LIBDEFSINC) +$(kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC) : $(kernel-amiga-m68k-trackdisk_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-amiga-m68k-trackdisk_LIBDEFSINC) $(kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC) : | $(kernel-amiga-m68k-trackdisk_OBJDIR)/include + +ifneq (kernel-amiga-m68k-trackdisk-includes-dirs,) +kernel-amiga-m68k-trackdisk-includes-dirs : | $(kernel-amiga-m68k-trackdisk_OBJDIR)/include +else +kernel-amiga-m68k-trackdisk-includes-dirs :: $(kernel-amiga-m68k-trackdisk_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-trackdisk_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-amiga-m68k-trackdisk-genmodfiles_OPTS := +ifneq (,) + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -f + kernel-amiga-m68k-trackdisk-genmodfiles_MODNAME := trackdisk_ +else + kernel-amiga-m68k-trackdisk-genmodfiles_MODNAME := trackdisk +endif +kernel-amiga-m68k-trackdisk-genmodfiles_GENTARGETS := $($(kernel-amiga-m68k-trackdisk-genmodfiles_MODNAME)_STARTFILES) $($(kernel-amiga-m68k-trackdisk-genmodfiles_MODNAME)_ENDFILES) +kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETS := $($(kernel-amiga-m68k-trackdisk-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-trackdisk-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-amiga-m68k-trackdisk-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-trackdisk-genmodfiles_GENTARGETS)) +kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-amiga-m68k-trackdisk-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-amiga-m68k-trackdisk-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-amiga-m68k-trackdisk-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-trackdisk-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -c + kernel-amiga-m68k-trackdisk-genmodfiles_DEPS += + endif +else + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + kernel-amiga-m68k-trackdisk-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-trackdisk-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -o + kernel-amiga-m68k-trackdisk-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-trackdisk_OBJDIR),) + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -d $(kernel-amiga-m68k-trackdisk_OBJDIR) + kernel-amiga-m68k-trackdisk-genmodfiles_TARGETDIR := $(shell echo $(kernel-amiga-m68k-trackdisk_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-trackdisk-genmodfiles_GENTARGETS := $(addprefix $(kernel-amiga-m68k-trackdisk-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-trackdisk-genmodfiles_GENTARGETS)) + kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG=$(kernel-amiga-m68k-trackdisk-genmodfiles_TARGETDIR)/.trackdisk.device-genfiles +else + kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.trackdisk.device-genfiles +endif +ifneq ($(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib,) + kernel-amiga-m68k-trackdisk-genmodfiles_OPTS += -l $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib + kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETDIR)/,$(kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETS)) + kernel-amiga-m68k-trackdisk-genmodfiles_TARGETDIRS += $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib +else +ifneq ($(kernel-amiga-m68k-trackdisk_OBJDIR),) + kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-trackdisk-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-amiga-m68k-trackdisk-genmodfiles_TARGETS := $(kernel-amiga-m68k-trackdisk-genmodfiles_GENTARGETS) $(kernel-amiga-m68k-trackdisk-genmodfiles_STUBTARGETS) +ifneq ($(kernel-amiga-m68k-trackdisk-genmodfiles_TARGETDIRS),) +$(kernel-amiga-m68k-trackdisk-genmodfiles_TARGETS) : | $(kernel-amiga-m68k-trackdisk-genmodfiles_TARGETDIRS) +endif + +$(kernel-amiga-m68k-trackdisk-genmodfiles_TARGETS) : $(kernel-amiga-m68k-trackdisk-genmodfiles_DEPS) $(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG) + +$(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-amiga-m68k-trackdisk-genmodfiles_OPTS) +$(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG) : MODNAME := trackdisk +$(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-trackdisk-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC) $(kernel-amiga-m68k-trackdisk-makefile) + + +ifneq ($(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG),) +$(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG) : | $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib +else +$(kernel-amiga-m68k-trackdisk-genmodfiles_GENFILEFLAG) :: $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-amiga-m68k-trackdisk_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-amiga-m68k-trackdisk_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-amiga-m68k-trackdisk-fd : $(kernel-amiga-m68k-trackdisk_FDDIR)/trackdisk_lib.fd + + +TMP_TARGET := trackdisk_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-trackdisk_FDDIR),) + TMP_OPTS += -d $(kernel-amiga-m68k-trackdisk_FDDIR) + TMP_TARGET := $(kernel-amiga-m68k-trackdisk_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := trackdisk +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-trackdisk_FDDIR)/trackdisk_lib.fd : | $(kernel-amiga-m68k-trackdisk_FDDIR) + + +ifneq (kernel-amiga-m68k-trackdisk-fd-setup,) +kernel-amiga-m68k-trackdisk-fd-setup : | $(kernel-amiga-m68k-trackdisk_FDDIR) +else +kernel-amiga-m68k-trackdisk-fd-setup :: $(kernel-amiga-m68k-trackdisk_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-trackdisk_FDDIR) + +endif + +## Compilation +## +kernel-amiga-m68k-trackdisk_FILES := trackdisk_device trackdisk_hw +kernel-amiga-m68k-trackdisk_OBJCFILES := +kernel-amiga-m68k-trackdisk_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-amiga-m68k-trackdisk_LIBFILES := +kernel-amiga-m68k-trackdisk_LIBS := + +kernel-amiga-m68k-trackdisk_FDIRS := $(sort $(dir $(kernel-amiga-m68k-trackdisk_FILES))) + +kernel-amiga-m68k-trackdisk_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-amiga-m68k-trackdisk_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-amiga-m68k-trackdisk_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-amiga-m68k-trackdisk_FILTERARCH = $(filter-out $(call kernel-amiga-m68k-trackdisk_MATCHARCH,$(1),$(2)),$(2)) +kernel-amiga-m68k-trackdisk_STARTFILES := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_STARTFILES)) +kernel-amiga-m68k-trackdisk_ENDFILES := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_ENDFILES)) + +kernel-amiga-m68k-trackdisk_ARCHOBJS := $(wildcard $(kernel-amiga-m68k-trackdisk_OBJDIR)/arch/*.o) +kernel-amiga-m68k-trackdisk_LIBARCHOBJS := $(wildcard $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/arch/*.o) +kernel-amiga-m68k-trackdisk_ARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-trackdisk_ARCHOBJS))) +kernel-amiga-m68k-trackdisk_LIBARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-trackdisk_LIBARCHOBJS))) +kernel-amiga-m68k-trackdisk_C_NARCHFILES := $(call kernel-amiga-m68k-trackdisk_FILTERARCH,$(kernel-amiga-m68k-trackdisk_ARCHFILES),$(kernel-amiga-m68k-trackdisk_FILES)) +kernel-amiga-m68k-trackdisk_CXX_NARCHFILES := $(call kernel-amiga-m68k-trackdisk_FILTERARCH,$(kernel-amiga-m68k-trackdisk_ARCHFILES),$(kernel-amiga-m68k-trackdisk_CXXFILES)) +kernel-amiga-m68k-trackdisk_OBJC_NARCHFILES := $(call kernel-amiga-m68k-trackdisk_FILTERARCH,$(kernel-amiga-m68k-trackdisk_ARCHFILES),$(kernel-amiga-m68k-trackdisk_OBJCFILES)) +kernel-amiga-m68k-trackdisk_NLIBARCHFILES := $(call kernel-amiga-m68k-trackdisk_FILTERARCH,$(kernel-amiga-m68k-trackdisk_LIBARCHFILES),$(kernel-amiga-m68k-trackdisk_LIBFILES)) +kernel-amiga-m68k-trackdisk_ARCHNLIBFILES := $(call kernel-amiga-m68k-trackdisk_FILTERARCH,$(kernel-amiga-m68k-trackdisk_LIBFILES),$(kernel-amiga-m68k-trackdisk_LIBARCHFILES)) + +kernel-amiga-m68k-trackdisk_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-amiga-m68k-trackdisk_OBJDIR)/include -include $(kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC)) +ifneq (,) +kernel-amiga-m68k-trackdisk_CPPFLAGS += -I +endif +kernel-amiga-m68k-trackdisk_LINKLIBCPPFLAGS := $(kernel-amiga-m68k-trackdisk_CPPFLAGS) +kernel-amiga-m68k-trackdisk_CPPFLAGS += $(strip $($(kernel-amiga-m68k-trackdisk_DEFNAME)_CPPFLAGS)) +kernel-amiga-m68k-trackdisk_LINKLIBCPPFLAGS += $(strip $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-amiga-m68k-trackdisk_CFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_CFLAGS)) +kernel-amiga-m68k-trackdisk_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LINKLIBCFLAGS)) +kernel-amiga-m68k-trackdisk_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-trackdisk_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-amiga-m68k-trackdisk_CFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_LTOFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +kernel-amiga-m68k-trackdisk_LINKLIBCFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_LTOFLAGS) $(kernel-amiga-m68k-trackdisk_LINKLIBCFLAGS)) +kernel-amiga-m68k-trackdisk_CXXFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_LTOFLAGS) $(kernel-amiga-m68k-trackdisk_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-trackdisk_SUBSTNULL := +kernel-amiga-m68k-trackdisk_SUBSTSPACE := $(kernel-amiga-m68k-trackdisk_SUBSTNULL) # +kernel-amiga-m68k-trackdisk_SUBSTCOMMA := , +kernel-amiga-m68k-trackdisk_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-amiga-m68k-trackdisk_SUBSTSPACE),$(kernel-amiga-m68k-trackdisk_SUBSTCOMMA),$(strip $($(kernel-amiga-m68k-trackdisk_DEFNAME)_STARTFILES)))) +kernel-amiga-m68k-trackdisk_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-amiga-m68k-trackdisk_CFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_INSTRFUNCFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +kernel-amiga-m68k-trackdisk_CXXFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_INSTRFUNCFLAGS) $(kernel-amiga-m68k-trackdisk_CXXFLAGS)) +kernel-amiga-m68k-trackdisk_LIBS += $(kernel-amiga-m68k-trackdisk_INSTRFUNCLIBS) +endif +endif +kernel-amiga-m68k-trackdisk_DFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_DFLAGS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_DFLAGS)) +kernel-amiga-m68k-trackdisk_LINKLIBDFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_DFLAGS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LINKLIBDFLAGS)) +kernel-amiga-m68k-trackdisk_DXXFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_DXXFLAGS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-amiga-m68k-trackdisk_LIBSUFFIX := +else + kernel-amiga-m68k-trackdisk_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-amiga-m68k-trackdisk_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-amiga-m68k-trackdisk_LIBDIR := +endif + +ifeq (M,M) +kernel-amiga-m68k-trackdisk_LINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_LINKLIBFILES)) +kernel-amiga-m68k-trackdisk_LINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LINKLIBAFILES) $(kernel-amiga-m68k-trackdisk_ARCHNLIBFILES)),) + kernel-amiga-m68k-trackdisk_LINKLIB := +else + kernel-amiga-m68k-trackdisk_LINKLIB := $(kernel-amiga-m68k-trackdisk_LIBDIR)/libtrackdisk$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a + ifneq (trackdisk,$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)) + kernel-amiga-m68k-trackdisk_LINKLIB += $(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-trackdisk_LINKLIBFILES := $(kernel-amiga-m68k-trackdisk_LINKLIBCFILES) $(kernel-amiga-m68k-trackdisk_LINKLIBAFILES) + +kernel-amiga-m68k-trackdisk_RELLINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_RELLINKLIBFILES)) +kernel-amiga-m68k-trackdisk_RELLINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-trackdisk_DEFNAME)_RELLINKLIBFILES) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_RELLINKLIBAFILES) $(kernel-amiga-m68k-trackdisk_ARCHNLIBFILES)),) + kernel-amiga-m68k-trackdisk_RELLINKLIB := +else + kernel-amiga-m68k-trackdisk_RELLINKLIB := $(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_DEFNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a + ifneq (trackdisk,$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)) + kernel-amiga-m68k-trackdisk_RELLINKLIB += $(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-trackdisk_RELLINKLIBFILES := $(kernel-amiga-m68k-trackdisk_RELLINKLIBCFILES) $(kernel-amiga-m68k-trackdisk_RELLINKLIBAFILES) +endif + +kernel-amiga-m68k-trackdisk_ENDOBJS := $(addsuffix .o,$(kernel-amiga-m68k-trackdisk_ENDFILES)) +kernel-amiga-m68k-trackdisk_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-trackdisk_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-trackdisk_ARCHNLIBFILES))) $(kernel-amiga-m68k-trackdisk_LINKLIBFILES)) \ + +kernel-amiga-m68k-trackdisk_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-trackdisk_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-trackdisk_ARCHNLIBFILES))) $(kernel-amiga-m68k-trackdisk_RELLINKLIBFILES)) \ + +$(kernel-amiga-m68k-trackdisk_LINKLIBFILES) $(kernel-amiga-m68k-trackdisk_RELLINKLIBFILES) : | $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib +$(kernel-amiga-m68k-trackdisk_LINKLIBOBJS) $(kernel-amiga-m68k-trackdisk_RELLINKLIBOBJS) : | $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib + +kernel-amiga-m68k-trackdisk_CCFILES := $(kernel-amiga-m68k-trackdisk_C_NARCHFILES) +kernel-amiga-m68k-trackdisk_TARGETCCFILES := $(strip $(kernel-amiga-m68k-trackdisk_STARTFILES) $(kernel-amiga-m68k-trackdisk_ENDFILES)) +kernel-amiga-m68k-trackdisk_LINKLIBCCFILES := $(strip $(kernel-amiga-m68k-trackdisk_NLIBARCHFILES) $(kernel-amiga-m68k-trackdisk_LINKLIBCFILES) $(kernel-amiga-m68k-trackdisk_RELLINKLIBCFILES)) +kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES := $(strip $(kernel-amiga-m68k-trackdisk_LINKLIBCFILES) $(kernel-amiga-m68k-trackdisk_RELLINKLIBCFILES)) + + +kernel-amiga-m68k-trackdisk_CXXABSBASENAMES := $(foreach kernel-amiga-m68k-trackdisk_CXXBASE,$(kernel-amiga-m68k-trackdisk_CXX_NARCHFILES),$(if $(filter /%,$(kernel-amiga-m68k-trackdisk_CXXBASE)),$(kernel-amiga-m68k-trackdisk_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-amiga-m68k-trackdisk_CXXBASE)))) + +ifneq ($(kernel-amiga-m68k-trackdisk_CXXABSBASENAMES),) + +kernel-amiga-m68k-trackdisk_CXXBASENAMES := $(basename $(kernel-amiga-m68k-trackdisk_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-amiga-m68k-trackdisk_MCXX_FILES := $(strip $(foreach kernel-amiga-m68k-trackdisk_CXXBASE,$(kernel-amiga-m68k-trackdisk_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-amiga-m68k-trackdisk_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-amiga-m68k-trackdisk_EXT),$(kernel-amiga-m68k-trackdisk_CXXBASE))))))) + +ifeq (,) +kernel-amiga-m68k-trackdisk_MCXX_SRCWILDCARD := % +else +kernel-amiga-m68k-trackdisk_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR),) + kernel-amiga-m68k-trackdisk_CXXTARGETS := $(notdir $(kernel-amiga-m68k-trackdisk_CXXBASENAMES:=.o)) + kernel-amiga-m68k-trackdisk_CXXDTARGETS := $(notdir $(kernel-amiga-m68k-trackdisk_CXXBASENAMES:=.d)) + kernel-amiga-m68k-trackdisk_MCXX_WILDCARD := % +else + kernel-amiga-m68k-trackdisk_CXXTARGETS := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(kernel-amiga-m68k-trackdisk_CXXBASENAMES:=.o))) + kernel-amiga-m68k-trackdisk_CXXDTARGETS := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(kernel-amiga-m68k-trackdisk_CXXBASENAMES:=.d))) + kernel-amiga-m68k-trackdisk_MCXX_WILDCARD := $(kernel-amiga-m68k-trackdisk_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-amiga-m68k-trackdisk_CXXTARGETS) $(kernel-amiga-m68k-trackdisk_CXXDTARGETS) : | $(kernel-amiga-m68k-trackdisk_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS := $(kernel-amiga-m68k-trackdisk_CPPFLAGS) +kernel-amiga-m68k-trackdisk_CXXFLAGS := $(kernel-amiga-m68k-trackdisk_CXXFLAGS) +ifeq ($(kernel-amiga-m68k-trackdisk_DXXFLAGS),) + kernel-amiga-m68k-trackdisk_DXXFLAGS := $(kernel-amiga-m68k-trackdisk_CXXFLAGS) +else + kernel-amiga-m68k-trackdisk_DXXFLAGS := $(kernel-amiga-m68k-trackdisk_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-amiga-m68k-trackdisk_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-amiga-m68k-trackdisk_CXXCMD:=$(HOST_CXX) + kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-trackdisk_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-trackdisk_CXXFLAGS)) + kernel-amiga-m68k-trackdisk_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-trackdisk_DXXFLAGS)) + kernel-amiga-m68k-trackdisk_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-amiga-m68k-trackdisk_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-trackdisk_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-amiga-m68k-trackdisk_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-trackdisk_CXXFLAGS := $(strip $(kernel-amiga-m68k-trackdisk_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-amiga-m68k-trackdisk_DXXFLAGS := $(kernel-amiga-m68k-trackdisk_DXXFLAGS) + kernel-amiga-m68k-trackdisk_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-amiga-m68k-trackdisk_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-trackdisk_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-trackdisk_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-trackdisk_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-trackdisk_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-trackdisk_CXXFLAGS)) + kernel-amiga-m68k-trackdisk_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-trackdisk_DXXFLAGS)) + kernel-amiga-m68k-trackdisk_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-amiga-m68k-trackdisk_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-amiga-m68k-trackdisk_CXXCMD) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) . $(kernel-amiga-m68k-trackdisk_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-trackdisk_CXXFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-amiga-m68k-trackdisk_CXXCMD) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) . $(kernel-amiga-m68k-trackdisk_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-trackdisk_CXXFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-amiga-m68k-trackdisk_CXXCMD) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_CXXIQUOTE) . $(kernel-amiga-m68k-trackdisk_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-trackdisk_CXXFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-amiga-m68k-trackdisk_CXXCMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-trackdisk_DXXFLAGS) $(kernel-amiga-m68k-trackdisk_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR),) + $(foreach kernel-amiga-m68k-trackdisk_CXXFILE,$(kernel-amiga-m68k-trackdisk_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-amiga-m68k-trackdisk_CXXFILE))),$(kernel-amiga-m68k-trackdisk_CXXFILE)))) +else + $(foreach kernel-amiga-m68k-trackdisk_CXXFILE,$(kernel-amiga-m68k-trackdisk_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(basename $(kernel-amiga-m68k-trackdisk_CXXFILE)))),$(kernel-amiga-m68k-trackdisk_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-amiga-m68k-trackdisk_OBJC_NARCHFILES),) + +ifeq (,) +kernel-amiga-m68k-trackdisk_MOBJC_SRCWILDCARD := % +else +kernel-amiga-m68k-trackdisk_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR),) + kernel-amiga-m68k-trackdisk_MOBJC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-trackdisk_OBJC_NARCHFILES)) + kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-trackdisk_OBJC_NARCHFILES)) + kernel-amiga-m68k-trackdisk_MOBJC_WILDCARD := % +else + kernel-amiga-m68k-trackdisk_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(kernel-amiga-m68k-trackdisk_OBJC_NARCHFILES))) + kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(kernel-amiga-m68k-trackdisk_OBJC_NARCHFILES))) + kernel-amiga-m68k-trackdisk_MOBJC_WILDCARD := $(kernel-amiga-m68k-trackdisk_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-amiga-m68k-trackdisk_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-amiga-m68k-trackdisk_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-trackdisk_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-trackdisk_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-amiga-m68k-trackdisk_MOBJC_DIRS := $(foreach dir, $(kernel-amiga-m68k-trackdisk_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-trackdisk_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-amiga-m68k-trackdisk_MOBJC_DIRS),) + kernel-amiga-m68k-trackdisk_MOBJC_DIRS := $(shell echo $(kernel-amiga-m68k-trackdisk_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-amiga-m68k-trackdisk_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-amiga-m68k-trackdisk_CC := $(TARGET_CC) +else + kernel-amiga-m68k-trackdisk_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS := $(kernel-amiga-m68k-trackdisk_CPPFLAGS) +kernel-amiga-m68k-trackdisk_OBJCFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +kernel-amiga-m68k-trackdisk_OBJCFLAGS := $(kernel-amiga-m68k-trackdisk_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-amiga-m68k-trackdisk_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-amiga-m68k-trackdisk_OBJCFLAGS))) +ifeq ($(kernel-amiga-m68k-trackdisk_DFLAGS),) + kernel-amiga-m68k-trackdisk_OBJCDFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +else + kernel-amiga-m68k-trackdisk_OBJCDFLAGS := $(kernel-amiga-m68k-trackdisk_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(kernel-amiga-m68k-trackdisk_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-trackdisk_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-amiga-m68k-trackdisk_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_OBJCFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_OBJCDFLAGS:=$(kernel-amiga-m68k-trackdisk_OBJCDFLAGS) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-amiga-m68k-trackdisk_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_OBJCFLAGS)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_OBJCDFLAGS)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(HOST_IQUOTE) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-trackdisk_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_OBJCFLAGS)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_OBJCDFLAGS)) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) $(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS) +$(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-trackdisk_OBJCFLAGS) +$(kernel-amiga-m68k-trackdisk_MOBJC_TARGETS) : $(kernel-amiga-m68k-trackdisk_MOBJC_WILDCARD).o : $(kernel-amiga-m68k-trackdisk_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-trackdisk_MOBJC_DTARGETS) : $(kernel-amiga-m68k-trackdisk_MOBJC_WILDCARD).d : $(kernel-amiga-m68k-trackdisk_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-trackdisk_OBJCDFLAGS) $(kernel-amiga-m68k-trackdisk_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR),) +kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-trackdisk_CCFILES)) +kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-trackdisk_CCFILES)) +kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(kernel-amiga-m68k-trackdisk_CCFILES)))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(kernel-amiga-m68k-trackdisk_CCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(kernel-amiga-m68k-trackdisk_CCFILES))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(kernel-amiga-m68k-trackdisk_CCFILES))) +else + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-trackdisk_CCFILES)))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-trackdisk_CCFILES)))) +endif +endif +kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD := $(kernel-amiga-m68k-trackdisk_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-trackdisk_CCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-trackdisk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-trackdisk_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-trackdisk_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-trackdisk_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-trackdisk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-trackdisk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-trackdisk_MC_DIRS),) + kernel-amiga-m68k-trackdisk_MC_DIRS := $(shell echo $(kernel-amiga-m68k-trackdisk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-trackdisk_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-trackdisk_MC_CPPFLAGS := $(kernel-amiga-m68k-trackdisk_CPPFLAGS) +kernel-amiga-m68k-trackdisk_CFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +ifeq ($(kernel-amiga-m68k-trackdisk_DFLAGS),) + kernel-amiga-m68k-trackdisk_DFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +else + kernel-amiga-m68k-trackdisk_DFLAGS := $(kernel-amiga-m68k-trackdisk_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(kernel-amiga-m68k-trackdisk_DFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_DFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_DFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : $(kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : $(kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-trackdisk_DFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR),) +kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-trackdisk_TARGETCCFILES)) +kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-trackdisk_TARGETCCFILES)) +kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(kernel-amiga-m68k-trackdisk_TARGETCCFILES)))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(kernel-amiga-m68k-trackdisk_TARGETCCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(kernel-amiga-m68k-trackdisk_TARGETCCFILES))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(kernel-amiga-m68k-trackdisk_TARGETCCFILES))) +else + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-trackdisk_TARGETCCFILES)))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-trackdisk_TARGETCCFILES)))) +endif +endif +kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD := $(kernel-amiga-m68k-trackdisk_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-trackdisk_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-trackdisk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-trackdisk_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-trackdisk_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-trackdisk_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-trackdisk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-trackdisk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-trackdisk_MC_DIRS),) + kernel-amiga-m68k-trackdisk_MC_DIRS := $(shell echo $(kernel-amiga-m68k-trackdisk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-trackdisk_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-trackdisk_MC_CPPFLAGS := $(kernel-amiga-m68k-trackdisk_CPPFLAGS) -D__AROS__ +kernel-amiga-m68k-trackdisk_CFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +ifeq ($(kernel-amiga-m68k-trackdisk_DFLAGS),) + kernel-amiga-m68k-trackdisk_DFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +else + kernel-amiga-m68k-trackdisk_DFLAGS := $(kernel-amiga-m68k-trackdisk_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(kernel-amiga-m68k-trackdisk_DFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_DFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_DFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : $(kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : $(kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-trackdisk_DFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib,) +kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-trackdisk_NLIBARCHFILES)) +kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-trackdisk_NLIBARCHFILES)) +kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-trackdisk_NLIBARCHFILES)))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-trackdisk_NLIBARCHFILES)))) +else +ifeq (,) + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(kernel-amiga-m68k-trackdisk_NLIBARCHFILES))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(kernel-amiga-m68k-trackdisk_NLIBARCHFILES))) +else + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-trackdisk_NLIBARCHFILES)))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-trackdisk_NLIBARCHFILES)))) +endif +endif +kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD := $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-trackdisk_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-trackdisk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-trackdisk_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-trackdisk_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-trackdisk_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-trackdisk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-trackdisk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-trackdisk_MC_DIRS),) + kernel-amiga-m68k-trackdisk_MC_DIRS := $(shell echo $(kernel-amiga-m68k-trackdisk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-trackdisk_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-trackdisk_MC_CPPFLAGS := $(kernel-amiga-m68k-trackdisk_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-trackdisk_CFLAGS := $(kernel-amiga-m68k-trackdisk_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-trackdisk_LINKLIBDFLAGS),) + kernel-amiga-m68k-trackdisk_DFLAGS := $(kernel-amiga-m68k-trackdisk_LINKLIBCFLAGS) +else + kernel-amiga-m68k-trackdisk_DFLAGS := $(kernel-amiga-m68k-trackdisk_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(kernel-amiga-m68k-trackdisk_DFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_DFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_DFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : $(kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : $(kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-trackdisk_DFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib,) +kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD := $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib,) +kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES)) +kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES)) +kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib,) + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES))) +else + kernel-amiga-m68k-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES)))) +endif +endif +kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD := $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-trackdisk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-trackdisk_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-trackdisk_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-trackdisk_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-trackdisk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-trackdisk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-trackdisk_MC_DIRS),) + kernel-amiga-m68k-trackdisk_MC_DIRS := $(shell echo $(kernel-amiga-m68k-trackdisk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-trackdisk_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-trackdisk_MC_CPPFLAGS := $(kernel-amiga-m68k-trackdisk_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-trackdisk_CFLAGS := $(kernel-amiga-m68k-trackdisk_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-trackdisk_LINKLIBDFLAGS),) + kernel-amiga-m68k-trackdisk_DFLAGS := $(kernel-amiga-m68k-trackdisk_LINKLIBCFLAGS) +else + kernel-amiga-m68k-trackdisk_DFLAGS := $(kernel-amiga-m68k-trackdisk_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(kernel-amiga-m68k-trackdisk_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(kernel-amiga-m68k-trackdisk_DFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-trackdisk_DFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-trackdisk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-trackdisk_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) $(kernel-amiga-m68k-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_CFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-trackdisk_DFLAGS)) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) $(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : kernel-amiga-m68k-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-trackdisk_CFLAGS) +$(kernel-amiga-m68k-trackdisk_MC_TARGETS) : $(kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(dir $<) $(kernel-amiga-m68k-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-trackdisk_IQUOTE) . $(kernel-amiga-m68k-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-trackdisk_MC_DTARGETS) : $(kernel-amiga-m68k-trackdisk_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-trackdisk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-trackdisk_DFLAGS) $(kernel-amiga-m68k-trackdisk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-amiga-m68k-trackdisk_LINKLIBAFILES),) + +ifeq ($(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib,) +kernel-amiga-m68k-trackdisk-MA_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-trackdisk_LINKLIBAFILES) $(kernel-amiga-m68k-trackdisk_RELLINKLIBAFILES)) +kernel-amiga-m68k-trackdisk-MA_WILDCARD := % +else +kernel-amiga-m68k-trackdisk-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-trackdisk_LINKLIBAFILES) $(kernel-amiga-m68k-trackdisk_RELLINKLIBAFILES)))) +kernel-amiga-m68k-trackdisk-MA_WILDCARD := $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-amiga-m68k-trackdisk-MA_TARGETS) : | $(addsuffix .S,$(kernel-amiga-m68k-trackdisk_LINKLIBAFILES) $(kernel-amiga-m68k-trackdisk_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-trackdisk-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-trackdisk-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-trackdisk_LINKLIBAFILES) $(kernel-amiga-m68k-trackdisk_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-trackdisk-MA_DIRS := $(foreach dir, $(kernel-amiga-m68k-trackdisk-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-trackdisk-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-trackdisk-MA_DIRS),) + kernel-amiga-m68k-trackdisk-MA_DIRS := $(shell echo $(kernel-amiga-m68k-trackdisk-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-amiga-m68k-trackdisk-MA_DIRS) +endif + +endif + +kernel-amiga-m68k-trackdisk-MA_ASSEMBLER ?= $(kernel-amiga-m68k-trackdisk_ASSEMBLER) + +$(kernel-amiga-m68k-trackdisk-MA_TARGETS) : kernel-amiga-m68k-trackdisk-MA_CMD:= $(kernel-amiga-m68k-trackdisk-MA_ASSEMBLER) + +$(kernel-amiga-m68k-trackdisk-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-amiga-m68k-trackdisk-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-amiga-m68k-trackdisk-MA_TARGETS) : $(kernel-amiga-m68k-trackdisk-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-amiga-m68k-trackdisk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-amiga-m68k-trackdisk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-amiga-m68k-trackdisk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-amiga-m68k-trackdisk_SUFFIX := device +else +kernel-amiga-m68k-trackdisk_SUFFIX := +endif + +ifeq (target,target) +kernel-amiga-m68k-trackdisk_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-amiga-m68k-trackdisk_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-amiga-m68k-trackdisk_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-amiga-m68k-trackdisk_SUFFIX),handler) +kernel-amiga-m68k-trackdisk_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-trackdisk_MODDIR)/$(kernel-amiga-m68k-trackdisk_DEFNAME)-$(kernel-amiga-m68k-trackdisk_SUFFIX) +else +kernel-amiga-m68k-trackdisk_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-trackdisk_MODDIR)/$(kernel-amiga-m68k-trackdisk_DEFNAME).$(kernel-amiga-m68k-trackdisk_SUFFIX) +endif +kernel-amiga-m68k-trackdisk_KOBJ := $(KOBJSDIR)/$(kernel-amiga-m68k-trackdisk_DEFNAME)_$(kernel-amiga-m68k-trackdisk_SUFFIX).o +else +kernel-amiga-m68k-trackdisk_MODULE := +kernel-amiga-m68k-trackdisk_KOBJ := +endif + +kernel-amiga-m68k-trackdisk-quick : kernel-amiga-m68k-trackdisk +kernel-amiga-m68k-trackdisk : $(kernel-amiga-m68k-trackdisk_MODULE) $(kernel-amiga-m68k-trackdisk_LINKLIB) $(kernel-amiga-m68k-trackdisk_RELLINKLIB) +ifeq (M,M) +kernel-amiga-m68k-trackdisk-kobj : $(kernel-amiga-m68k-trackdisk_KOBJ) $(kernel-amiga-m68k-trackdisk_LINKLIB) $(kernel-amiga-m68k-trackdisk_RELLINKLIB) +kernel-amiga-m68k-trackdisk-kobj-quick : $(kernel-amiga-m68k-trackdisk_KOBJ) $(kernel-amiga-m68k-trackdisk_LINKLIB) $(kernel-amiga-m68k-trackdisk_RELLINKLIB) +endif +ifeq (M,M) +kernel-amiga-m68k-trackdisk-linklib : $(kernel-amiga-m68k-trackdisk_LINKLIB) $(kernel-amiga-m68k-trackdisk_RELLINKLIB) +endif + +kernel-amiga-m68k-trackdisk_OBJS := $(addsuffix .o,$(kernel-amiga-m68k-trackdisk_STARTFILES)) $(kernel-amiga-m68k-trackdisk_ARCHOBJS) \ + $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(kernel-amiga-m68k-trackdisk_C_NARCHFILES:=.o) $(kernel-amiga-m68k-trackdisk_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-amiga-m68k-trackdisk_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (trackdisk,con) + kernel-amiga-m68k-trackdisk_ERR := $(notdir $(kernel-amiga-m68k-trackdisk_MODULE)).err +else + kernel-amiga-m68k-trackdisk_ERR := trackdisk.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LDFLAGS) $(kernel-amiga-m68k-trackdisk_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-amiga-m68k-trackdisk_LIBS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-amiga-m68k-trackdisk_MODULE) : LIB_NAMES := $(kernel-amiga-m68k-trackdisk_LIBS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LIBS) +$(kernel-amiga-m68k-trackdisk_MODULE) : OBJS := $(kernel-amiga-m68k-trackdisk_STARTOBJS) $(kernel-amiga-m68k-trackdisk_OBJS) $(USER_OBJS) +$(kernel-amiga-m68k-trackdisk_MODULE) : ENDTAG := $(kernel-amiga-m68k-trackdisk_ENDOBJS) +$(kernel-amiga-m68k-trackdisk_MODULE) : ERR := $(kernel-amiga-m68k-trackdisk_ERR) +$(kernel-amiga-m68k-trackdisk_MODULE) : OBJDIR := $(kernel-amiga-m68k-trackdisk_OBJDIR) +$(kernel-amiga-m68k-trackdisk_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-amiga-m68k-trackdisk_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-amiga-m68k-trackdisk_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-amiga-m68k-trackdisk_MODULE) : $(kernel-amiga-m68k-trackdisk_STARTOBJS) $(kernel-amiga-m68k-trackdisk_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-trackdisk_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-amiga-m68k-trackdisk_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-amiga-m68k-trackdisk_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-amiga-m68k-trackdisk_LC_LINKLIBNAME := $(shell echo $(kernel-amiga-m68k-trackdisk_LINKLIBNAME) | tr A-Z a-z) +kernel-amiga-m68k-trackdisk_LC_MODNAME := $(shell echo trackdisk | tr A-Z a-z) +ifneq ($(kernel-amiga-m68k-trackdisk_LINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(HOST_AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : $(kernel-amiga-m68k-trackdisk_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-trackdisk_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-trackdisk_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-trackdisk_LC_MODNAME),$(kernel-amiga-m68k-trackdisk_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/libtrackdisk$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/libtrackdisk$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/libtrackdisk$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(HOST_AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/libtrackdisk$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/libtrackdisk$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/libtrackdisk$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-trackdisk_LIBDIR)/libtrackdisk$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : $(kernel-amiga-m68k-trackdisk_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-trackdisk_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-trackdisk_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-trackdisk_LINKLIB),) +$(kernel-amiga-m68k-trackdisk_LINKLIB) : | $(kernel-amiga-m68k-trackdisk_LIBDIR) +else +$(kernel-amiga-m68k-trackdisk_LINKLIB) :: $(kernel-amiga-m68k-trackdisk_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-trackdisk_LIBDIR) + +endif + +ifneq ($(kernel-amiga-m68k-trackdisk_RELLINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(HOST_AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_LINKLIBNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : $(kernel-amiga-m68k-trackdisk_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-trackdisk_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-trackdisk_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-trackdisk_LC_MODNAME),$(kernel-amiga-m68k-trackdisk_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_DEFNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_DEFNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_DEFNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(HOST_AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_DEFNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_DEFNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_DEFNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : kernel-amiga-m68k-trackdisk_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-trackdisk_LIBDIR)/lib$(kernel-amiga-m68k-trackdisk_DEFNAME)_rel$(kernel-amiga-m68k-trackdisk_LIBSUFFIX).a : $(kernel-amiga-m68k-trackdisk_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-trackdisk_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-trackdisk_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-trackdisk_RELLINKLIB),) +$(kernel-amiga-m68k-trackdisk_RELLINKLIB) : | $(kernel-amiga-m68k-trackdisk_LIBDIR) +else +$(kernel-amiga-m68k-trackdisk_RELLINKLIB) :: $(kernel-amiga-m68k-trackdisk_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-trackdisk_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-amiga-m68k-trackdisk_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-amiga-m68k-trackdisk_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-amiga-m68k-trackdisk_SYMBOLS := $(kernel-amiga-m68k-trackdisk_KBASE) + +kernel-amiga-m68k-trackdisk_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-amiga-m68k-trackdisk_KOBJ_LIBS := $(filter-out $(kernel-amiga-m68k-trackdisk_KLIB),$(kernel-amiga-m68k-trackdisk_LIBS)) $(kernel-amiga-m68k-trackdisk_KAUTOLIB) +$(kernel-amiga-m68k-trackdisk_KOBJ) : LINKLIBS:=$(kernel-amiga-m68k-trackdisk_KOBJ_LIBS) $($(kernel-amiga-m68k-trackdisk_DEFNAME)_LIBS) +$(kernel-amiga-m68k-trackdisk_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-amiga-m68k-trackdisk_SYMBOLS)) +$(kernel-amiga-m68k-trackdisk_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-amiga-m68k-trackdisk_KOBJ) : $(kernel-amiga-m68k-trackdisk_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-trackdisk_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-amiga-m68k-trackdisk_DEPS := $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/,$(notdir $(kernel-amiga-m68k-trackdisk_CCFILES:=.d) $(kernel-amiga-m68k-trackdisk_TARGETCCFILES:=.d) $(kernel-amiga-m68k-trackdisk_CXXFILES:=.d))) $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-trackdisk_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-amiga-m68k-trackdisk_DEPS),) + ifneq (kernel-amiga-m68k-trackdisk kernel-amiga-m68k-trackdisk-quick kernel-amiga-m68k-trackdisk-kobj kernel-amiga-m68k-trackdisk-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-amiga-m68k-trackdisk kernel-amiga-m68k-trackdisk-quick kernel-amiga-m68k-trackdisk-kobj kernel-amiga-m68k-trackdisk-kobj-quick),) + -include $(kernel-amiga-m68k-trackdisk_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-amiga-m68k-trackdisk_DEPS) + endif + endif +endif + +$(kernel-amiga-m68k-trackdisk_OBJS) $(kernel-amiga-m68k-trackdisk_DEPS) : | $(kernel-amiga-m68k-trackdisk_OBJDIR)/linklib + +ifneq ($(kernel-amiga-m68k-trackdisk_OBJS) $(kernel-amiga-m68k-trackdisk_DEPS) $(kernel-amiga-m68k-trackdisk_MODULE) $(kernel-amiga-m68k-trackdisk_KOBJ),) +$(kernel-amiga-m68k-trackdisk_OBJS) $(kernel-amiga-m68k-trackdisk_DEPS) $(kernel-amiga-m68k-trackdisk_MODULE) $(kernel-amiga-m68k-trackdisk_KOBJ) : | $(kernel-amiga-m68k-trackdisk_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-trackdisk_MODDIR) $(KOBJSDIR) +else +$(kernel-amiga-m68k-trackdisk_OBJS) $(kernel-amiga-m68k-trackdisk_DEPS) $(kernel-amiga-m68k-trackdisk_MODULE) $(kernel-amiga-m68k-trackdisk_KOBJ) :: $(kernel-amiga-m68k-trackdisk_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-trackdisk_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-trackdisk_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-trackdisk_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-amiga-m68k-trackdisk kernel-amiga-m68k-trackdisk-includes kernel-amiga-m68k-trackdisk-quick kernel-amiga-m68k-trackdisk-kobj kernel-amiga-m68k-trackdisk-kobj-quick),) # Only for this target these deps are wanted + +kernel-amiga-m68k-trackdisk_DFILE_DEPS := $(kernel-amiga-m68k-trackdisk_LIBDEFSINC) $(kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC) \ + $(addprefix $(kernel-amiga-m68k-trackdisk_INCDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) +$(kernel-amiga-m68k-trackdisk_DEPS) : $(kernel-amiga-m68k-trackdisk_DFILE_DEPS) +endif + +kernel-amiga-m68k-trackdisk_TOCLEAN := $(kernel-amiga-m68k-trackdisk_OBJS) $(kernel-amiga-m68k-trackdisk_DEPS) \ + $(kernel-amiga-m68k-trackdisk_MODULE) $(kernel-amiga-m68k-trackdisk_LINKLIB) $(kernel-amiga-m68k-trackdisk_KOBJ) \ + $(kernel-amiga-m68k-trackdisk_OBJDIR)/Makefile.trackdiskdevice \ + $(addprefix $(kernel-amiga-m68k-trackdisk_OBJDIR)/include/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-trackdisk_INCDIR)/,$($(kernel-amiga-m68k-trackdisk_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_geninc $(kernel-amiga-m68k-trackdisk_OBJDIR)/trackdisk_incs \ + $(addsuffix .c,$(kernel-amiga-m68k-trackdisk_LINKLIBFILES)) $(kernel-amiga-m68k-trackdisk_LINKLIBOBJS) $(kernel-amiga-m68k-trackdisk_LIBDEFSINC) \ + $(kernel-amiga-m68k-trackdisk_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-amiga-m68k-trackdisk_STARTFILES) $(kernel-amiga-m68k-trackdisk_ENDFILES)) \ + $(kernel-amiga-m68k-trackdisk_ENDOBJS) +kernel-amiga-m68k-trackdisk-clean : FILES := $(kernel-amiga-m68k-trackdisk_TOCLEAN) +kernel-amiga-m68k-trackdisk-clean :: + $(Q)$(ECHO) "Cleaning up for module trackdisk" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-amiga-m68k-trackdisk_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/diag/mmakefile b/arch/m68k-amiga/diag/mmakefile new file mode 100644 index 00000000000..e2f2347ee59 --- /dev/null +++ b/arch/m68k-amiga/diag/mmakefile @@ -0,0 +1,565 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -DADATE="\"$(shell date '+%d.%m.%Y')\"" + + +# Define metamake targets and their dependencies +#MM kernel-diag : core-linklibs includes-generate-deps +#MM kernel-diag-kobj : core-linklibs includes-generate-deps +#MM kernel-diag-kobj-quick +#MM kernel-diag-quick +#MM kernel-diag-clean + +kernel-diag_ALLTARGETS := kernel-diag kernel-diag-clean kernel-diag-quick kernel-diag-kobj + +.PHONY : $(kernel-diag_ALLTARGETS) + +ifeq (diag,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (hook,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +kernel-diag_DEFLINKLIBNAME := diag +kernel-diag_CFLAGS := $(CFLAGS) +kernel-diag_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-diag_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(kernel-diag_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-diag_FUNCINSTR := yes +kernel-diag_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-diag_CFLAGS)) +endif +endif +ifneq (,) + kernel-diag_DFLAGS := +else + kernel-diag_DFLAGS := $(kernel-diag_CFLAGS) +endif +kernel-diag_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +kernel-diag_MODDIR := +ifeq ($(kernel-diag_MODDIR),) + ifeq (hook,library) + kernel-diag_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (hook,gadget) + kernel-diag_MODDIR := $(AROS_GADGETS) + endif + ifeq (hook,datatype) + kernel-diag_MODDIR := $(AROS_DATATYPES) + endif + ifeq (hook,handler) + kernel-diag_MODDIR := $(AROS_FS) + endif + ifeq (hook,device) + kernel-diag_MODDIR := $(AROS_DEVS) + endif + ifeq (hook,resource) + kernel-diag_MODDIR := $(AROS_RESOURCES) + endif + ifeq (hook,hook) + kernel-diag_MODDIR := $(AROS_RESOURCES) + endif + ifeq (hook,mui) + kernel-diag_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (hook,mcc) + kernel-diag_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (hook,mcp) + kernel-diag_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (hook,usbclass) + kernel-diag_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (hook,hidd) + kernel-diag_MODDIR := $(AROS_DRIVERS) + endif + ifeq (hook,printer) + kernel-diag_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(kernel-diag_MODDIR),) + $(error Don't know where to put the file for modtype hook. Specify moduledir=) +endif + +kernel-diag_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +kernel-diag_ARCHFILES := $(basename $(notdir $(kernel-diag_ARCHOBJS))) +kernel-diag_C_NARCHFILES := $(filter-out $(kernel-diag_ARCHFILES),diag resident_end) +kernel-diag_CXX_NARCHFILES := $(filter-out $(kernel-diag_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +kernel-diag_OBJC_NARCHFILES := $(filter-out $(kernel-diag_ARCHFILES),) + + +kernel-diag_CXXABSBASENAMES := $(foreach kernel-diag_CXXBASE,$(kernel-diag_CXX_NARCHFILES),$(if $(filter /%,$(kernel-diag_CXXBASE)),$(kernel-diag_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-diag_CXXBASE)))) + +ifneq ($(kernel-diag_CXXABSBASENAMES),) + +kernel-diag_CXXBASENAMES := $(basename $(kernel-diag_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-diag_MCXX_FILES := $(strip $(foreach kernel-diag_CXXBASE,$(kernel-diag_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-diag_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-diag_EXT),$(kernel-diag_CXXBASE))))))) + +ifeq (,) +kernel-diag_MCXX_SRCWILDCARD := % +else +kernel-diag_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + kernel-diag_CXXTARGETS := $(notdir $(kernel-diag_CXXBASENAMES:=.o)) + kernel-diag_CXXDTARGETS := $(notdir $(kernel-diag_CXXBASENAMES:=.d)) + kernel-diag_MCXX_WILDCARD := % +else + kernel-diag_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(kernel-diag_CXXBASENAMES:=.o))) + kernel-diag_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(kernel-diag_CXXBASENAMES:=.d))) + kernel-diag_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-diag_CXXTARGETS) $(kernel-diag_CXXDTARGETS) : | $(kernel-diag_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-diag_MCXX_CPPFLAGS := $(CPPFLAGS) +kernel-diag_CXXFLAGS := $(kernel-diag_CXXFLAGS) +ifeq ($(kernel-diag_DXXFLAGS),) + kernel-diag_DXXFLAGS := $(kernel-diag_CXXFLAGS) +else + kernel-diag_DXXFLAGS := $(kernel-diag_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-diag_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-diag_STRIP ?= $(HOST_STRIP) + kernel-diag_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-diag_CXXCMD:=$(HOST_CXX) + kernel-diag_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-diag_MCXX_CPPFLAGS) $(kernel-diag_MCXX_EXTRA_CPPFLAGS)) + kernel-diag_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-diag_CXXFLAGS)) + kernel-diag_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-diag_DXXFLAGS)) + kernel-diag_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-diag_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-diag_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-diag_STRIP ?= $(TARGET_STRIP) + kernel-diag_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-diag_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-diag_MCXX_CPPFLAGS := $(strip $(kernel-diag_MCXX_CPPFLAGS) $(kernel-diag_MCXX_EXTRA_CPPFLAGS)) + kernel-diag_CXXFLAGS := $(strip $(kernel-diag_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-diag_DXXFLAGS := $(kernel-diag_DXXFLAGS) + kernel-diag_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-diag_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-diag_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-diag_STRIP ?= $(ECHO) >/dev/null + kernel-diag_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-diag_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-diag_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-diag_MCXX_CPPFLAGS) $(kernel-diag_MCXX_EXTRA_CPPFLAGS)) + kernel-diag_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-diag_CXXFLAGS)) + kernel-diag_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-diag_DXXFLAGS)) + kernel-diag_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-diag_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-diag_CXXCMD) $(kernel-diag_CXXIQUOTE) $(dir $(2)) $(kernel-diag_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_CXXIQUOTE) . $(kernel-diag_CXXIQUOTE_END) $(strip $(kernel-diag_CXXFLAGS) $(kernel-diag_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-diag_CXXCMD) $(kernel-diag_CXXIQUOTE) $(dir $(2)) $(kernel-diag_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_CXXIQUOTE) . $(kernel-diag_CXXIQUOTE_END) $(strip $(kernel-diag_CXXFLAGS) $(kernel-diag_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-diag_CXXCMD) $(kernel-diag_CXXIQUOTE) $(dir $(2)) $(kernel-diag_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_CXXIQUOTE) . $(kernel-diag_CXXIQUOTE_END) $(strip $(kernel-diag_CXXFLAGS) $(kernel-diag_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-diag_CXXCMD)" $(MKDEPEND) $(strip $(kernel-diag_DXXFLAGS) $(kernel-diag_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach kernel-diag_CXXFILE,$(kernel-diag_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-diag_CXXFILE))),$(kernel-diag_CXXFILE)))) +else + $(foreach kernel-diag_CXXFILE,$(kernel-diag_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(kernel-diag_CXXFILE)))),$(kernel-diag_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-diag_OBJC_NARCHFILES),) + +ifeq (,) +kernel-diag_MOBJC_SRCWILDCARD := % +else +kernel-diag_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + kernel-diag_MOBJC_TARGETS := $(addsuffix .o,$(kernel-diag_OBJC_NARCHFILES)) + kernel-diag_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-diag_OBJC_NARCHFILES)) + kernel-diag_MOBJC_WILDCARD := % +else + kernel-diag_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(kernel-diag_OBJC_NARCHFILES))) + kernel-diag_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(kernel-diag_OBJC_NARCHFILES))) + kernel-diag_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-diag_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-diag_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-diag_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-diag_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-diag_MOBJC_DIRS := $(foreach dir, $(kernel-diag_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-diag_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-diag_MOBJC_DIRS),) + kernel-diag_MOBJC_DIRS := $(shell echo $(kernel-diag_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-diag_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-diag_CC := $(TARGET_CC) +else + kernel-diag_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-diag_MOBJC_CPPFLAGS := $(CPPFLAGS) +kernel-diag_OBJCFLAGS := $(kernel-diag_CFLAGS) +kernel-diag_OBJCFLAGS := $(kernel-diag_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-diag_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-diag_OBJCFLAGS))) +ifeq ($(kernel-diag_DFLAGS),) + kernel-diag_OBJCDFLAGS := $(kernel-diag_CFLAGS) +else + kernel-diag_OBJCDFLAGS := $(kernel-diag_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-diag_LINK ?= $(strip $(kernel-diag_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-diag_STRIP ?= $(TARGET_STRIP) + kernel-diag_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-diag_CC) $(TARGET_SYSROOT)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_MOBJC_CPPFLAGS:=$(strip $(kernel-diag_MOBJC_CPPFLAGS) $(kernel-diag_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_OBJCFLAGS:=$(strip $(kernel-diag_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_OBJCDFLAGS:=$(kernel-diag_OBJCDFLAGS) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-diag_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-diag_STRIP ?= $(HOST_STRIP) + kernel-diag_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-diag_MOBJC_CPPFLAGS) $(kernel-diag_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-diag_OBJCFLAGS)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-diag_OBJCDFLAGS)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_IQUOTE:=$(HOST_IQUOTE) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-diag_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-diag_STRIP ?= $(ECHO) >/dev/null + kernel-diag_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-diag_MOBJC_CPPFLAGS) $(kernel-diag_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-diag_OBJCFLAGS)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-diag_OBJCDFLAGS)) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-diag_MOBJC_TARGETS) $(kernel-diag_MOBJC_DTARGETS) : kernel-diag_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-diag_MOBJC_TARGETS) : CPPFLAGS := $(kernel-diag_MOBJC_CPPFLAGS) +$(kernel-diag_MOBJC_TARGETS) : CFLAGS := $(kernel-diag_OBJCFLAGS) +$(kernel-diag_MOBJC_TARGETS) : $(kernel-diag_MOBJC_WILDCARD).o : $(kernel-diag_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-diag_IQUOTE) $(dir $<) $(kernel-diag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_IQUOTE) . $(kernel-diag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-diag_IQUOTE) $(dir $<) $(kernel-diag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_IQUOTE) . $(kernel-diag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-diag_IQUOTE) $(dir $<) $(kernel-diag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_IQUOTE) . $(kernel-diag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-diag_MOBJC_DTARGETS) : $(kernel-diag_MOBJC_WILDCARD).d : $(kernel-diag_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-diag_OBJCDFLAGS) $(kernel-diag_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-diag_MC_SRCWILDCARD := % +else +kernel-diag_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +kernel-diag_MC_TARGETS := $(addsuffix .o,$(kernel-diag_C_NARCHFILES)) +kernel-diag_MC_DTARGETS := $(addsuffix .d,$(kernel-diag_C_NARCHFILES)) +kernel-diag_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-diag_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(kernel-diag_C_NARCHFILES)))) + kernel-diag_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(kernel-diag_C_NARCHFILES)))) +else +ifeq (,) + kernel-diag_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(kernel-diag_C_NARCHFILES))) + kernel-diag_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(kernel-diag_C_NARCHFILES))) +else + kernel-diag_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(kernel-diag_C_NARCHFILES)))) + kernel-diag_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(kernel-diag_C_NARCHFILES)))) +endif +endif +kernel-diag_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : | $(addsuffix .c,$(kernel-diag_C_NARCHFILES)) + +# Be sure that all .c files are found +kernel-diag_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-diag_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-diag_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-diag_MC_DIRS := $(foreach dir, $(kernel-diag_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-diag_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-diag_MC_DIRS),) + kernel-diag_MC_DIRS := $(shell echo $(kernel-diag_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-diag_MC_DIRS) +endif + +endif + +kernel-diag_MC_CPPFLAGS := $(CPPFLAGS) +kernel-diag_CFLAGS := $(kernel-diag_CFLAGS) +ifeq ($(kernel-diag_DFLAGS),) + kernel-diag_DFLAGS := $(kernel-diag_CFLAGS) +else + kernel-diag_DFLAGS := $(kernel-diag_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-diag_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-diag_STRIP ?= $(TARGET_STRIP) +kernel-diag_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_MC_CPPFLAGS:=$(strip $(kernel-diag_MC_CPPFLAGS) $(kernel-diag_MC_EXTRA_CPPFLAGS)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_CFLAGS:=$(strip $(kernel-diag_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_DFLAGS:=$(kernel-diag_DFLAGS) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-diag_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-diag_STRIP ?= $(HOST_STRIP) +kernel-diag_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-diag_MC_CPPFLAGS) $(kernel-diag_MC_EXTRA_CPPFLAGS)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-diag_CFLAGS)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-diag_DFLAGS)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_IQUOTE:=$(HOST_IQUOTE) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-diag_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-diag_STRIP ?= $(ECHO) >/dev/null +kernel-diag_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-diag_MC_CPPFLAGS) $(kernel-diag_MC_EXTRA_CPPFLAGS)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-diag_CFLAGS)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-diag_DFLAGS)) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-diag_MC_TARGETS) $(kernel-diag_MC_DTARGETS) : kernel-diag_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-diag_MC_TARGETS) : CPPFLAGS := $(kernel-diag_MC_CPPFLAGS) +$(kernel-diag_MC_TARGETS) : CFLAGS := $(kernel-diag_CFLAGS) +$(kernel-diag_MC_TARGETS) : $(kernel-diag_MC_TGTWILDCARD).o : $(kernel-diag_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-diag_IQUOTE) $(dir $<) $(kernel-diag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_IQUOTE) . $(kernel-diag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-diag_IQUOTE) $(dir $<) $(kernel-diag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_IQUOTE) . $(kernel-diag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-diag_IQUOTE) $(dir $<) $(kernel-diag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-diag_IQUOTE) . $(kernel-diag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-diag_MC_DTARGETS) : $(kernel-diag_MC_TGTWILDCARD).d : $(kernel-diag_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-diag_DFLAGS) $(kernel-diag_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (hook,handler) +kernel-diag_MODULE := $(kernel-diag_MODDIR)/diag-hook +else +ifeq (hook,printer) +kernel-diag_MODULE := $(kernel-diag_MODDIR)/diag +else +kernel-diag_MODULE := $(kernel-diag_MODDIR)/diag.hook +endif +endif +kernel-diag_KOBJ := $(KOBJSDIR)/diag_hook.o + +kernel-diag-quick : kernel-diag +kernel-diag-kobj-quick : $(kernel-diag_KOBJ) +kernel-diag : $(kernel-diag_MODULE) +kernel-diag-kobj : $(kernel-diag_KOBJ) + +# The module is linked from all the compiled .o files +kernel-diag_OBJS := $(kernel-diag_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(kernel-diag_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (diag,con) + kernel-diag_ERR := $(notdir $(kernel-diag_MODULE)).err +else + kernel-diag_ERR := diag.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(diag_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(diag_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-diag_MODULE) : LIB_NAMES := $(diag_LIBS) +$(kernel-diag_MODULE) : OBJS := $(kernel-diag_OBJS) +$(kernel-diag_MODULE) : ENDTAG := +$(kernel-diag_MODULE) : ERR := $(kernel-diag_ERR) +$(kernel-diag_MODULE) : OBJDIR := $(OBJDIR) +$(kernel-diag_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-diag_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-diag_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-diag_MODULE) : $(kernel-diag_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +kernel-diag_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-diag_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-diag_SYMBOLS := $(kernel-diag_KBASE) + +kernel-diag_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-diag_KOBJ_LIBS := $(filter-out $(kernel-diag_KLIB),) $(kernel-diag_KAUTOLIB) +$(kernel-diag_KOBJ) : LINKLIBS:=$(kernel-diag_KOBJ_LIBS) +$(kernel-diag_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-diag_SYMBOLS)) +$(kernel-diag_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(kernel-diag_KOBJ) : $(kernel-diag_OBJS) $(kernel-diag_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +kernel-diag_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,diag resident_end)) +ifneq ($(kernel-diag_DEPS),) + ifneq (kernel-diag kernel-diag-quick kernel-diag-kobj,) + ifneq ($(findstring $(TARGET),kernel-diag kernel-diag-quick kernel-diag-kobj),) + -include $(kernel-diag_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-diag_DEPS) + endif + endif +endif + + +ifneq ($(kernel-diag_OBJS) $(kernel-diag_DEPS) $(kernel-diag_MODULE) $(kernel-diag_KOBJ),) +$(kernel-diag_OBJS) $(kernel-diag_DEPS) $(kernel-diag_MODULE) $(kernel-diag_KOBJ) : | $(OBJDIR) $(kernel-diag_MODDIR) $(KOBJSDIR) +else +$(kernel-diag_OBJS) $(kernel-diag_DEPS) $(kernel-diag_MODULE) $(kernel-diag_KOBJ) :: $(OBJDIR) $(kernel-diag_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(kernel-diag_MODDIR) $(KOBJSDIR) + + +kernel-diag-clean : FILES := $(kernel-diag_OBJS) $(kernel-diag_MODULE) $(kernel-diag_KOBJ) $(kernel-diag_DEPS) +kernel-diag-clean :: + $(Q)$(ECHO) "Cleaning up for module diag" + $(Q)$(RM) $(FILES) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/disk/mmakefile b/arch/m68k-amiga/disk/mmakefile new file mode 100644 index 00000000000..fda90ee5b38 --- /dev/null +++ b/arch/m68k-amiga/disk/mmakefile @@ -0,0 +1,257 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_INCLUDES := -I$(SRCDIR)/rom/disk + + +ifeq (disk_intern_init ,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-disk-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-disk : \ +#MM kernel-disk-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-disk-$(ARCH)-$(CPU) \ +#MM kernel-disk-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-disk-$(ARCH) \ +#MM kernel-disk-$(FAMILY) \ +#MM kernel-disk-$(CPU) +#MM- kernel-disk-linklib : \ +#MM kernel-disk-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-disk-$(ARCH)-$(CPU) \ +#MM kernel-disk-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-disk-$(ARCH) \ +#MM kernel-disk-$(FAMILY) \ +#MM kernel-disk-$(CPU) +#MM- kernel-disk-kobj : \ +#MM kernel-disk-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-disk-$(ARCH)-$(CPU) \ +#MM kernel-disk-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-disk-$(ARCH) \ +#MM kernel-disk-$(FAMILY) \ +#MM kernel-disk-$(CPU) +#MM- kernel-disk-kobj-quick : \ +#MM kernel-disk-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-disk-$(ARCH)-$(CPU)-quick \ +#MM kernel-disk-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-disk-$(ARCH)-quick \ +#MM kernel-disk-$(FAMILY)-quick \ +#MM kernel-disk-$(CPU)-quick +#MM- kernel-disk-quick : \ +#MM kernel-disk-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-disk-$(ARCH)-$(CPU)-quick \ +#MM kernel-disk-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-disk-$(ARCH)-quick \ +#MM kernel-disk-$(FAMILY)-quick \ +#MM kernel-disk-$(CPU)-quick + +#MM kernel-disk-amiga-m68k : kernel-disk-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (disk,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/disk/disk +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/disk +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir disk_intern_init))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir disk_intern_init))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (disk,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/disk_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-disk-amiga-m68k-quick) + BD_TARGET := kernel-disk-amiga-m68k-quick +else + BD_TARGET := kernel-disk-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir disk_intern_init)) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-disk-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-disk-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (disk,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/exec/mmakefile b/arch/m68k-amiga/exec/mmakefile new file mode 100644 index 00000000000..4657c3ea578 --- /dev/null +++ b/arch/m68k-amiga/exec/mmakefile @@ -0,0 +1,270 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CFILES := coldreboot moveexecbase shutdowna exec_globals +AFILES := enable disable readgayle + +#MM kernel-exec-amiga-m68k : \ +#MM kernel-kernel-amiga-m68k-includes \ +#MM kernel-exec-includes \ +#MM includes-asm_h-m68k \ +#MM kernel-kernel-includes + +USER_INCLUDES := $(PRIV_EXEC_INCLUDES) +USER_AFLAGS := $(PRIV_EXEC_INCLUDES) -I$(GENINCDIR) +OPTIMIZATION_CFLAGS := -Os + + +ifeq ($(CFILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-exec-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-exec : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH)-$(CPU) \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH) \ +#MM kernel-exec-$(FAMILY) \ +#MM kernel-exec-$(CPU) +#MM- kernel-exec-linklib : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH)-$(CPU) \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH) \ +#MM kernel-exec-$(FAMILY) \ +#MM kernel-exec-$(CPU) +#MM- kernel-exec-kobj : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH)-$(CPU) \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-exec-$(ARCH) \ +#MM kernel-exec-$(FAMILY) \ +#MM kernel-exec-$(CPU) +#MM- kernel-exec-kobj-quick : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-exec-$(ARCH)-$(CPU)-quick \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-exec-$(ARCH)-quick \ +#MM kernel-exec-$(FAMILY)-quick \ +#MM kernel-exec-$(CPU)-quick +#MM- kernel-exec-quick : \ +#MM kernel-exec-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-exec-$(ARCH)-$(CPU)-quick \ +#MM kernel-exec-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-exec-$(ARCH)-quick \ +#MM kernel-exec-$(FAMILY)-quick \ +#MM kernel-exec-$(CPU)-quick + +#MM kernel-exec-amiga-m68k : kernel-exec-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (exec,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/exec/exec +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/exec +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(CFILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(CFILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (exec,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/exec_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-exec-amiga-m68k-quick) + BD_TARGET := kernel-exec-amiga-m68k-quick +else + BD_TARGET := kernel-exec-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(CFILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-exec-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-exec-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (exec,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +TARGETDIR = $(BD_OBJDIR$(BDID)) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/expansion/mmakefile b/arch/m68k-amiga/expansion/mmakefile new file mode 100644 index 00000000000..cfb21317ea7 --- /dev/null +++ b/arch/m68k-amiga/expansion/mmakefile @@ -0,0 +1,260 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_INCLUDES := -I$(SRCDIR)/rom/expansion +USER_CPPFLAGS := -DADATE="\"$(shell date '+%d.%m.%Y')\"" + +FUNCTIONS := readexpansionbyte readexpansionrom configchain configboard writeexpansionbyte writeexpansionword + + +ifeq ($(FUNCTIONS) memorytest,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-expansion-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-expansion : \ +#MM kernel-expansion-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-expansion-$(ARCH)-$(CPU) \ +#MM kernel-expansion-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-expansion-$(ARCH) \ +#MM kernel-expansion-$(FAMILY) \ +#MM kernel-expansion-$(CPU) +#MM- kernel-expansion-linklib : \ +#MM kernel-expansion-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-expansion-$(ARCH)-$(CPU) \ +#MM kernel-expansion-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-expansion-$(ARCH) \ +#MM kernel-expansion-$(FAMILY) \ +#MM kernel-expansion-$(CPU) +#MM- kernel-expansion-kobj : \ +#MM kernel-expansion-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-expansion-$(ARCH)-$(CPU) \ +#MM kernel-expansion-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-expansion-$(ARCH) \ +#MM kernel-expansion-$(FAMILY) \ +#MM kernel-expansion-$(CPU) +#MM- kernel-expansion-kobj-quick : \ +#MM kernel-expansion-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-expansion-$(ARCH)-$(CPU)-quick \ +#MM kernel-expansion-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-expansion-$(ARCH)-quick \ +#MM kernel-expansion-$(FAMILY)-quick \ +#MM kernel-expansion-$(CPU)-quick +#MM- kernel-expansion-quick : \ +#MM kernel-expansion-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-expansion-$(ARCH)-$(CPU)-quick \ +#MM kernel-expansion-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-expansion-$(ARCH)-quick \ +#MM kernel-expansion-$(FAMILY)-quick \ +#MM kernel-expansion-$(CPU)-quick + +#MM kernel-expansion-amiga-m68k : kernel-expansion-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (expansion,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/expansion/expansion +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/expansion +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FUNCTIONS)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir memorytest))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FUNCTIONS)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (expansion,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/expansion_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-expansion-amiga-m68k-quick) + BD_TARGET := kernel-expansion-amiga-m68k-quick +else + BD_TARGET := kernel-expansion-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FUNCTIONS))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir memorytest)) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir memorytest)) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-expansion-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-expansion-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (expansion,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/freeanim/mmakefile b/arch/m68k-amiga/freeanim/mmakefile new file mode 100644 index 00000000000..771d5ea129c --- /dev/null +++ b/arch/m68k-amiga/freeanim/mmakefile @@ -0,0 +1,1668 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +# Stub library for CD32 support. +# +# The original 'freeanim' library did started a spinning logo +# to hide the Workbench until the CD was mounted. +# +# The CD32 game would have a 'freeanim' program that expunged +# freeanim.library, which would remove the animation. +# +# For now, we just have an empty library that does nothing - +# this is enough to prevent 'freeanim' from crashing when +# it tries to expunge the library. + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-freeanim +#MM kernel-freeanim-quick +#MM kernel-freeanim-makefile +#MM kernel-freeanim-clean + +# ABI targets: +#MM- includes-all : kernel-freeanim-includes +#MM- linklibs-freeanim: kernel-freeanim-linklib +#MM- linklibs-freeanim_rel : kernel-freeanim-linklib +#MM- includes-freeanim: kernel-freeanim-includes +#MM- includes-freeanim_rel : kernel-freeanim-includes +#MM- kernel-freeanim : kernel-freeanim-includes core-linklibs linklibs- +#MM kernel-freeanim-linklib : kernel-freeanim-includes includes- +#MM- kernel-freeanim-quick : kernel-freeanim-includes-quick +#MM kernel-freeanim-includes : kernel-freeanim-makefile kernel-freeanim-includes-dirs \ +#MM includes-generate-deps kernel-freeanim-fd +#MM kernel-freeanim-includes-quick +#MM kernel-freeanim-includes-dirs +#MM kernel-freeanim-fd + +# Library targets +#MM kernel-freeanim-kobj : core-linklibs linklibs- +#MM kernel-freeanim-kobj-quick : + +# Library with ABI targets: +#MM kernel-freeanim-kobj : kernel-freeanim-includes core-linklibs linklibs- +#MM kernel-freeanim-kobj-quick : kernel-freeanim-includes-quick + +# All MetaMake targets defined by this macro +kernel-freeanim_ALLTARGETS := kernel-freeanim kernel-freeanim-quick kernel-freeanim-clean + +ifeq (M,M) +kernel-freeanim_ALLTARGETS += kernel-freeanim-kobj kernel-freeanim-kobj-quick +endif + +ifeq (M,M) +kernel-freeanim_ALLTARGETS += kernel-freeanim-includes \ + kernel-freeanim-includes-quick kernel-freeanim-includes-dirs \ + kernel-freeanim-linklib kernel-freeanim-fd +endif + +.PHONY : $(kernel-freeanim_ALLTARGETS) kernel-freeanim-makefile + +ifeq (freeanim,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-freeanim_DEFNAME := freeanim_ +else + kernel-freeanim_DEFNAME := freeanim +endif +kernel-freeanim_DEFLINKLIBNAME := $(kernel-freeanim_DEFNAME) +ifneq (,) + kernel-freeanim_LINKLIBNAME := +else + kernel-freeanim_LINKLIBNAME = $(kernel-freeanim_DEFLINKLIBNAME) +endif +kernel-freeanim_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-freeanim_DEFCPPFLAGS += -I +endif +kernel-freeanim_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-freeanim_DFLAGS := +else + kernel-freeanim_DFLAGS = $(kernel-freeanim_DEFDFLAGS) +endif +kernel-freeanim_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-freeanim_DXXFLAGS := +else + kernel-freeanim_DXXFLAGS = $(kernel-freeanim_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-freeanim_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-freeanim_DEFDFLAGS)) +kernel-freeanim_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-freeanim_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-freeanim_FUNCINSTR := yes +kernel-freeanim_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-freeanim_DEFDFLAGS)) +kernel-freeanim_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-freeanim_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-freeanim_OBJDIR := +else +kernel-freeanim_OBJDIR := $(OBJDIR)/$(kernel-freeanim_DEFNAME) +endif +ifneq (,) +kernel-freeanim_OBJDIR := $(kernel-freeanim_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-freeanim-makefile := $(kernel-freeanim_OBJDIR)/Makefile.$(kernel-freeanim_DEFNAME)library +kernel-freeanim-genmakefile : $(kernel-freeanim-makefile) + + +kernel-freeanim-genmakefile_OPTS := +ifneq (,) + kernel-freeanim-genmakefile_OPTS += -f + kernel-freeanim-genmakefile_MODNAME := freeanim_ +else + kernel-freeanim-genmakefile_MODNAME := freeanim +endif +kernel-freeanim-genmakefile_TARGET := Makefile.$(kernel-freeanim-genmakefile_MODNAME)library +kernel-freeanim-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-freeanim-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-freeanim-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-freeanim-genmakefile_OPTS += -c + kernel-freeanim-genmakefile_DEPS += + endif +else + kernel-freeanim-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/freeanim.conf + kernel-freeanim-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/freeanim.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-freeanim-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-freeanim-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-freeanim-genmakefile_OPTS += -o + kernel-freeanim-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-freeanim-genmakefile_OPTS += -s +endif +ifneq ($(kernel-freeanim_OBJDIR),) + kernel-freeanim-genmakefile_OPTS += -d $(kernel-freeanim_OBJDIR) + kernel-freeanim-genmakefile_TARGET := $(kernel-freeanim_OBJDIR)/$(kernel-freeanim-genmakefile_TARGET) +endif + +$(kernel-freeanim-genmakefile_TARGET) : OPTS := $(kernel-freeanim-genmakefile_OPTS) +$(kernel-freeanim-genmakefile_TARGET) : MODNAME := freeanim +$(kernel-freeanim-genmakefile_TARGET) : MODTYPE := library +$(kernel-freeanim-genmakefile_TARGET) : $(kernel-freeanim-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-freeanim-makefile),) +$(kernel-freeanim-makefile) : | $(kernel-freeanim_OBJDIR) +else +$(kernel-freeanim-makefile) :: $(kernel-freeanim_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-freeanim_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-freeanim_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-freeanim-makefile) + +kernel-freeanim_DEFMODDIR := $($(kernel-freeanim_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-freeanim_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-freeanim_DEFMODDIR) +endif +ifneq (,) + kernel-freeanim_MODDIR := +else + kernel-freeanim_MODDIR := $(kernel-freeanim_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-freeanim_INCDIR := +else +kernel-freeanim_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-freeanim_LIBDEFSINC := $(kernel-freeanim_OBJDIR)/include/$(kernel-freeanim_DEFNAME)_libdefs.h +kernel-freeanim_DEFLIBDEFSINC := $(kernel-freeanim_OBJDIR)/include/$(kernel-freeanim_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-freeanim-includes-quick : kernel-freeanim-includes +kernel-freeanim-includes : $(addprefix $(GENINCDIR)/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-freeanim_INCDIR)/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) \ + $(kernel-freeanim_LIBDEFSINC) $(kernel-freeanim_DEFLIBDEFSINC) + +ifneq ($($(kernel-freeanim_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-freeanim-includes_MODNAME := freeanim_ +else + kernel-freeanim-includes_MODNAME := freeanim +endif + +ifneq ($($(kernel-freeanim-includes_MODNAME)_INCLUDES),) + +kernel-freeanim-includes_TARGETS := $($(kernel-freeanim-includes_MODNAME)_INCLUDES) + +kernel-freeanim-includes_DEPS := $(GENMODULE) +kernel-freeanim-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-freeanim-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-freeanim-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-freeanim-includes_OPTS += -c + kernel-freeanim-includes_DEPS += + endif +else + kernel-freeanim-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/freeanim.conf + kernel-freeanim-includes_DEPS += $(SRCDIR)/$(CURDIR)/freeanim.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-freeanim-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-freeanim-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-freeanim-includes_OPTS += -o + kernel-freeanim-includes_DEPS += + endif +endif +ifneq (,) + kernel-freeanim-includes_OPTS += -s +endif +ifneq ($(kernel-freeanim_OBJDIR)/include,) + kernel-freeanim-includes_OPTS += -d $(kernel-freeanim_OBJDIR)/include + kernel-freeanim-includes_TARGETS := $(addprefix $(kernel-freeanim_OBJDIR)/include/,$(kernel-freeanim-includes_TARGETS)) + kernel-freeanim-includes_GENINCFLAG=$(kernel-freeanim_OBJDIR)/include/.freeanim.library-includes +else + kernel-freeanim-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.freeanim.library-includes +endif + +$(kernel-freeanim-includes_TARGETS) : $(kernel-freeanim-includes_DEPS) $(kernel-freeanim-includes_GENINCFLAG) + +$(kernel-freeanim-includes_GENINCFLAG) : OPTS := $(kernel-freeanim-includes_OPTS) +$(kernel-freeanim-includes_GENINCFLAG) : MODNAME := freeanim +$(kernel-freeanim-includes_GENINCFLAG) : MODTYPE := library +$(kernel-freeanim-includes_GENINCFLAG) : $(kernel-freeanim-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-freeanim_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) : | $(kernel-freeanim_OBJDIR)/freeanim_geninc + +$(kernel-freeanim_OBJDIR)/freeanim_geninc : COPYSRCDIR := $(kernel-freeanim_OBJDIR)/include +$(kernel-freeanim_OBJDIR)/freeanim_geninc : TGTDIR := $(GENINCDIR) +$(kernel-freeanim_OBJDIR)/freeanim_geninc : FILES := $($(kernel-freeanim_DEFNAME)_INCLUDES) +$(kernel-freeanim_OBJDIR)/freeanim_geninc : $(addprefix $(kernel-freeanim_OBJDIR)/include/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-freeanim_OBJDIR)/include + +$(addprefix $(kernel-freeanim_INCDIR)/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) : | $(kernel-freeanim_OBJDIR)/freeanim_incs + +$(kernel-freeanim_OBJDIR)/freeanim_incs : COPYSRCDIR := $(kernel-freeanim_OBJDIR)/include +$(kernel-freeanim_OBJDIR)/freeanim_incs : TGTDIR := $(kernel-freeanim_INCDIR) +$(kernel-freeanim_OBJDIR)/freeanim_incs : FILES := $($(kernel-freeanim_DEFNAME)_INCLUDES) +$(kernel-freeanim_OBJDIR)/freeanim_incs : $(addprefix $(kernel-freeanim_OBJDIR)/include/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-freeanim_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-freeanim_DEFNAME)_INCLUDES)))) + +TMPfreeanim_INCDIRS := \ + $(kernel-freeanim_OBJDIR)/include $(addprefix $(kernel-freeanim_OBJDIR)/include/,$(kernel-freeanim_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-freeanim_INCDIRS)) \ + $(kernel-freeanim_INCDIR) $(addprefix $(kernel-freeanim_INCDIR)/,$(kernel-freeanim_INCDIRS)) + +ifneq (kernel-freeanim-includes-dirs,) +kernel-freeanim-includes-dirs : | $(TMPfreeanim_INCDIRS) +else +kernel-freeanim-includes-dirs :: $(TMPfreeanim_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPfreeanim_INCDIRS) + + +endif + +endif + + +kernel-freeanim-genlibdefs_OPTS := +ifneq (,) + kernel-freeanim-genlibdefs_OPTS += -f + kernel-freeanim-genlibdefs_MODNAME := freeanim_ +else + kernel-freeanim-genlibdefs_MODNAME := freeanim +endif +kernel-freeanim-genlibdefs_TARGET := $(kernel-freeanim-genlibdefs_MODNAME)_libdefs.h +kernel-freeanim-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-freeanim-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-freeanim-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-freeanim-genlibdefs_OPTS += -c + kernel-freeanim-genlibdefs_DEPS += + endif +else + kernel-freeanim-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/freeanim.conf + kernel-freeanim-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/freeanim.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-freeanim-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-freeanim-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-freeanim-genlibdefs_OPTS += -o + kernel-freeanim-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-freeanim-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-freeanim_OBJDIR)/include,) + kernel-freeanim-genlibdefs_OPTS += -d $(kernel-freeanim_OBJDIR)/include + kernel-freeanim-genlibdefs_TARGET := $(kernel-freeanim_OBJDIR)/include/$(kernel-freeanim-genlibdefs_TARGET) +endif +ifneq (,) + kernel-freeanim-genlibdefs_OPTS += -v +endif + +$(kernel-freeanim-genlibdefs_TARGET) : OPTS := $(kernel-freeanim-genlibdefs_OPTS) +$(kernel-freeanim-genlibdefs_TARGET) : MODNAME := freeanim +$(kernel-freeanim-genlibdefs_TARGET) : MODTYPE := library +$(kernel-freeanim-genlibdefs_TARGET) : $(kernel-freeanim-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-freeanim_DEFLIBDEFSINC) : FILENAME := $(kernel-freeanim_LIBDEFSINC) +$(kernel-freeanim_DEFLIBDEFSINC) : $(kernel-freeanim_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-freeanim_LIBDEFSINC) $(kernel-freeanim_DEFLIBDEFSINC) : | $(kernel-freeanim_OBJDIR)/include + +ifneq (kernel-freeanim-includes-dirs,) +kernel-freeanim-includes-dirs : | $(kernel-freeanim_OBJDIR)/include +else +kernel-freeanim-includes-dirs :: $(kernel-freeanim_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-freeanim_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-freeanim-genmodfiles_OPTS := +ifneq (,) + kernel-freeanim-genmodfiles_OPTS += -f + kernel-freeanim-genmodfiles_MODNAME := freeanim_ +else + kernel-freeanim-genmodfiles_MODNAME := freeanim +endif +kernel-freeanim-genmodfiles_GENTARGETS := $($(kernel-freeanim-genmodfiles_MODNAME)_STARTFILES) $($(kernel-freeanim-genmodfiles_MODNAME)_ENDFILES) +kernel-freeanim-genmodfiles_STUBTARGETS := $($(kernel-freeanim-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-freeanim-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-freeanim-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-freeanim-genmodfiles_GENTARGETS)) +kernel-freeanim-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-freeanim-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-freeanim-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-freeanim-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-freeanim-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-freeanim-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-freeanim-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-freeanim-genmodfiles_OPTS += -c + kernel-freeanim-genmodfiles_DEPS += + endif +else + kernel-freeanim-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/freeanim.conf + kernel-freeanim-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/freeanim.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-freeanim-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-freeanim-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-freeanim-genmodfiles_OPTS += -o + kernel-freeanim-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-freeanim-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-freeanim_OBJDIR),) + kernel-freeanim-genmodfiles_OPTS += -d $(kernel-freeanim_OBJDIR) + kernel-freeanim-genmodfiles_TARGETDIR := $(shell echo $(kernel-freeanim_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-freeanim-genmodfiles_GENTARGETS := $(addprefix $(kernel-freeanim-genmodfiles_TARGETDIR)/,$(kernel-freeanim-genmodfiles_GENTARGETS)) + kernel-freeanim-genmodfiles_GENFILEFLAG=$(kernel-freeanim-genmodfiles_TARGETDIR)/.freeanim.library-genfiles +else + kernel-freeanim-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.freeanim.library-genfiles +endif +ifneq ($(kernel-freeanim_OBJDIR)/linklib,) + kernel-freeanim-genmodfiles_OPTS += -l $(kernel-freeanim_OBJDIR)/linklib + kernel-freeanim-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-freeanim_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-freeanim-genmodfiles_STUBTARGETS := $(addprefix $(kernel-freeanim-genmodfiles_STUBTARGETDIR)/,$(kernel-freeanim-genmodfiles_STUBTARGETS)) + kernel-freeanim-genmodfiles_TARGETDIRS += $(kernel-freeanim_OBJDIR)/linklib +else +ifneq ($(kernel-freeanim_OBJDIR),) + kernel-freeanim-genmodfiles_STUBTARGETS := $(addprefix $(kernel-freeanim-genmodfiles_TARGETDIR)/,$(kernel-freeanim-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-freeanim-genmodfiles_TARGETS := $(kernel-freeanim-genmodfiles_GENTARGETS) $(kernel-freeanim-genmodfiles_STUBTARGETS) +ifneq ($(kernel-freeanim-genmodfiles_TARGETDIRS),) +$(kernel-freeanim-genmodfiles_TARGETS) : | $(kernel-freeanim-genmodfiles_TARGETDIRS) +endif + +$(kernel-freeanim-genmodfiles_TARGETS) : $(kernel-freeanim-genmodfiles_DEPS) $(kernel-freeanim-genmodfiles_GENFILEFLAG) + +$(kernel-freeanim-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-freeanim-genmodfiles_OPTS) +$(kernel-freeanim-genmodfiles_GENFILEFLAG) : MODNAME := freeanim +$(kernel-freeanim-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(kernel-freeanim-genmodfiles_GENFILEFLAG) : $(kernel-freeanim-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-freeanim-genmodfiles_GENFILEFLAG) : $(kernel-freeanim_DEFLIBDEFSINC) $(kernel-freeanim-makefile) + + +ifneq ($(kernel-freeanim-genmodfiles_GENFILEFLAG),) +$(kernel-freeanim-genmodfiles_GENFILEFLAG) : | $(kernel-freeanim_OBJDIR)/linklib +else +$(kernel-freeanim-genmodfiles_GENFILEFLAG) :: $(kernel-freeanim_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-freeanim_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-freeanim_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-freeanim_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-freeanim-fd : $(kernel-freeanim_FDDIR)/freeanim_lib.fd + + +TMP_TARGET := freeanim_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/freeanim.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/freeanim.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-freeanim_FDDIR),) + TMP_OPTS += -d $(kernel-freeanim_FDDIR) + TMP_TARGET := $(kernel-freeanim_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := freeanim +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-freeanim_FDDIR)/freeanim_lib.fd : | $(kernel-freeanim_FDDIR) + + +ifneq (kernel-freeanim-fd-setup,) +kernel-freeanim-fd-setup : | $(kernel-freeanim_FDDIR) +else +kernel-freeanim-fd-setup :: $(kernel-freeanim_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-freeanim_FDDIR) + +endif + +## Compilation +## +kernel-freeanim_FILES := $(basename $(call WILDCARD, *.c)) +kernel-freeanim_OBJCFILES := +kernel-freeanim_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-freeanim_LIBFILES := +kernel-freeanim_LIBS := + +kernel-freeanim_FDIRS := $(sort $(dir $(kernel-freeanim_FILES))) + +kernel-freeanim_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-freeanim_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-freeanim_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-freeanim_FILTERARCH = $(filter-out $(call kernel-freeanim_MATCHARCH,$(1),$(2)),$(2)) +kernel-freeanim_STARTFILES := $(addprefix $(kernel-freeanim_OBJDIR)/,$($(kernel-freeanim_DEFNAME)_STARTFILES)) +kernel-freeanim_ENDFILES := $(addprefix $(kernel-freeanim_OBJDIR)/,$($(kernel-freeanim_DEFNAME)_ENDFILES)) + +kernel-freeanim_ARCHOBJS := $(wildcard $(kernel-freeanim_OBJDIR)/arch/*.o) +kernel-freeanim_LIBARCHOBJS := $(wildcard $(kernel-freeanim_OBJDIR)/linklib/arch/*.o) +kernel-freeanim_ARCHFILES := $(basename $(notdir $(kernel-freeanim_ARCHOBJS))) +kernel-freeanim_LIBARCHFILES := $(basename $(notdir $(kernel-freeanim_LIBARCHOBJS))) +kernel-freeanim_C_NARCHFILES := $(call kernel-freeanim_FILTERARCH,$(kernel-freeanim_ARCHFILES),$(kernel-freeanim_FILES)) +kernel-freeanim_CXX_NARCHFILES := $(call kernel-freeanim_FILTERARCH,$(kernel-freeanim_ARCHFILES),$(kernel-freeanim_CXXFILES)) +kernel-freeanim_OBJC_NARCHFILES := $(call kernel-freeanim_FILTERARCH,$(kernel-freeanim_ARCHFILES),$(kernel-freeanim_OBJCFILES)) +kernel-freeanim_NLIBARCHFILES := $(call kernel-freeanim_FILTERARCH,$(kernel-freeanim_LIBARCHFILES),$(kernel-freeanim_LIBFILES)) +kernel-freeanim_ARCHNLIBFILES := $(call kernel-freeanim_FILTERARCH,$(kernel-freeanim_LIBFILES),$(kernel-freeanim_LIBARCHFILES)) + +kernel-freeanim_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-freeanim_OBJDIR)/include -include $(kernel-freeanim_DEFLIBDEFSINC)) +ifneq (,) +kernel-freeanim_CPPFLAGS += -I +endif +kernel-freeanim_LINKLIBCPPFLAGS := $(kernel-freeanim_CPPFLAGS) +kernel-freeanim_CPPFLAGS += $(strip $($(kernel-freeanim_DEFNAME)_CPPFLAGS)) +kernel-freeanim_LINKLIBCPPFLAGS += $(strip $($(kernel-freeanim_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-freeanim_CFLAGS := $(strip $(CFLAGS) $($(kernel-freeanim_DEFNAME)_CFLAGS)) +kernel-freeanim_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-freeanim_DEFNAME)_LINKLIBCFLAGS)) +kernel-freeanim_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-freeanim_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-freeanim_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-freeanim_CFLAGS := $(strip $(kernel-freeanim_LTOFLAGS) $(kernel-freeanim_CFLAGS)) +kernel-freeanim_LINKLIBCFLAGS := $(strip $(kernel-freeanim_LTOFLAGS) $(kernel-freeanim_LINKLIBCFLAGS)) +kernel-freeanim_CXXFLAGS := $(strip $(kernel-freeanim_LTOFLAGS) $(kernel-freeanim_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-freeanim_SUBSTNULL := +kernel-freeanim_SUBSTSPACE := $(kernel-freeanim_SUBSTNULL) # +kernel-freeanim_SUBSTCOMMA := , +kernel-freeanim_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-freeanim_SUBSTSPACE),$(kernel-freeanim_SUBSTCOMMA),$(strip $($(kernel-freeanim_DEFNAME)_STARTFILES)))) +kernel-freeanim_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-freeanim_CFLAGS := $(strip $(kernel-freeanim_INSTRFUNCFLAGS) $(kernel-freeanim_CFLAGS)) +kernel-freeanim_CXXFLAGS := $(strip $(kernel-freeanim_INSTRFUNCFLAGS) $(kernel-freeanim_CXXFLAGS)) +kernel-freeanim_LIBS += $(kernel-freeanim_INSTRFUNCLIBS) +endif +endif +kernel-freeanim_DFLAGS := $(strip $(kernel-freeanim_DFLAGS) $($(kernel-freeanim_DEFNAME)_DFLAGS)) +kernel-freeanim_LINKLIBDFLAGS := $(strip $(kernel-freeanim_DFLAGS) $($(kernel-freeanim_DEFNAME)_LINKLIBDFLAGS)) +kernel-freeanim_DXXFLAGS := $(strip $(kernel-freeanim_DXXFLAGS) $($(kernel-freeanim_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + kernel-freeanim_LIBSUFFIX := +else + kernel-freeanim_LIBSUFFIX := .library +endif + +ifeq (,) +kernel-freeanim_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-freeanim_LIBDIR := +endif + +ifeq (M,M) +kernel-freeanim_LINKLIBCFILES := $(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$($(kernel-freeanim_DEFNAME)_LINKLIBFILES)) +kernel-freeanim_LINKLIBAFILES := $(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$($(kernel-freeanim_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-freeanim_DEFNAME)_LINKLIBFILES) $($(kernel-freeanim_DEFNAME)_LINKLIBAFILES) $(kernel-freeanim_ARCHNLIBFILES)),) + kernel-freeanim_LINKLIB := +else + kernel-freeanim_LINKLIB := $(kernel-freeanim_LIBDIR)/libfreeanim$(kernel-freeanim_LIBSUFFIX).a + ifneq (freeanim,$(kernel-freeanim_LINKLIBNAME)) + kernel-freeanim_LINKLIB += $(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)$(kernel-freeanim_LIBSUFFIX).a + endif +endif +kernel-freeanim_LINKLIBFILES := $(kernel-freeanim_LINKLIBCFILES) $(kernel-freeanim_LINKLIBAFILES) + +kernel-freeanim_RELLINKLIBCFILES := $(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$($(kernel-freeanim_DEFNAME)_RELLINKLIBFILES)) +kernel-freeanim_RELLINKLIBAFILES := $(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$($(kernel-freeanim_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-freeanim_DEFNAME)_RELLINKLIBFILES) $($(kernel-freeanim_DEFNAME)_RELLINKLIBAFILES) $(kernel-freeanim_ARCHNLIBFILES)),) + kernel-freeanim_RELLINKLIB := +else + kernel-freeanim_RELLINKLIB := $(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_DEFNAME)_rel$(kernel-freeanim_LIBSUFFIX).a + ifneq (freeanim,$(kernel-freeanim_LINKLIBNAME)) + kernel-freeanim_RELLINKLIB += $(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)_rel$(kernel-freeanim_LIBSUFFIX).a + endif +endif +kernel-freeanim_RELLINKLIBFILES := $(kernel-freeanim_RELLINKLIBCFILES) $(kernel-freeanim_RELLINKLIBAFILES) +endif + +kernel-freeanim_ENDOBJS := $(addsuffix .o,$(kernel-freeanim_ENDFILES)) +kernel-freeanim_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(notdir $(kernel-freeanim_NLIBARCHFILES))) $(addprefix $(kernel-freeanim_OBJDIR)/linklib/arch/,$(notdir $(kernel-freeanim_ARCHNLIBFILES))) $(kernel-freeanim_LINKLIBFILES)) \ + +kernel-freeanim_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(notdir $(kernel-freeanim_NLIBARCHFILES))) $(addprefix $(kernel-freeanim_OBJDIR)/linklib/arch/,$(notdir $(kernel-freeanim_ARCHNLIBFILES))) $(kernel-freeanim_RELLINKLIBFILES)) \ + +$(kernel-freeanim_LINKLIBFILES) $(kernel-freeanim_RELLINKLIBFILES) : | $(kernel-freeanim_OBJDIR)/linklib +$(kernel-freeanim_LINKLIBOBJS) $(kernel-freeanim_RELLINKLIBOBJS) : | $(kernel-freeanim_OBJDIR)/linklib + +kernel-freeanim_CCFILES := $(kernel-freeanim_C_NARCHFILES) +kernel-freeanim_TARGETCCFILES := $(strip $(kernel-freeanim_STARTFILES) $(kernel-freeanim_ENDFILES)) +kernel-freeanim_LINKLIBCCFILES := $(strip $(kernel-freeanim_NLIBARCHFILES) $(kernel-freeanim_LINKLIBCFILES) $(kernel-freeanim_RELLINKLIBCFILES)) +kernel-freeanim_LINKLIBCCGENFILES := $(strip $(kernel-freeanim_LINKLIBCFILES) $(kernel-freeanim_RELLINKLIBCFILES)) + + +kernel-freeanim_CXXABSBASENAMES := $(foreach kernel-freeanim_CXXBASE,$(kernel-freeanim_CXX_NARCHFILES),$(if $(filter /%,$(kernel-freeanim_CXXBASE)),$(kernel-freeanim_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-freeanim_CXXBASE)))) + +ifneq ($(kernel-freeanim_CXXABSBASENAMES),) + +kernel-freeanim_CXXBASENAMES := $(basename $(kernel-freeanim_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-freeanim_MCXX_FILES := $(strip $(foreach kernel-freeanim_CXXBASE,$(kernel-freeanim_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-freeanim_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-freeanim_EXT),$(kernel-freeanim_CXXBASE))))))) + +ifeq (,) +kernel-freeanim_MCXX_SRCWILDCARD := % +else +kernel-freeanim_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-freeanim_OBJDIR),) + kernel-freeanim_CXXTARGETS := $(notdir $(kernel-freeanim_CXXBASENAMES:=.o)) + kernel-freeanim_CXXDTARGETS := $(notdir $(kernel-freeanim_CXXBASENAMES:=.d)) + kernel-freeanim_MCXX_WILDCARD := % +else + kernel-freeanim_CXXTARGETS := $(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(kernel-freeanim_CXXBASENAMES:=.o))) + kernel-freeanim_CXXDTARGETS := $(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(kernel-freeanim_CXXBASENAMES:=.d))) + kernel-freeanim_MCXX_WILDCARD := $(kernel-freeanim_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-freeanim_CXXTARGETS) $(kernel-freeanim_CXXDTARGETS) : | $(kernel-freeanim_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-freeanim_MCXX_CPPFLAGS := $(kernel-freeanim_CPPFLAGS) +kernel-freeanim_CXXFLAGS := $(kernel-freeanim_CXXFLAGS) +ifeq ($(kernel-freeanim_DXXFLAGS),) + kernel-freeanim_DXXFLAGS := $(kernel-freeanim_CXXFLAGS) +else + kernel-freeanim_DXXFLAGS := $(kernel-freeanim_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-freeanim_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-freeanim_STRIP ?= $(HOST_STRIP) + kernel-freeanim_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-freeanim_CXXCMD:=$(HOST_CXX) + kernel-freeanim_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-freeanim_MCXX_CPPFLAGS) $(kernel-freeanim_MCXX_EXTRA_CPPFLAGS)) + kernel-freeanim_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-freeanim_CXXFLAGS)) + kernel-freeanim_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-freeanim_DXXFLAGS)) + kernel-freeanim_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-freeanim_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-freeanim_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-freeanim_STRIP ?= $(TARGET_STRIP) + kernel-freeanim_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-freeanim_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-freeanim_MCXX_CPPFLAGS := $(strip $(kernel-freeanim_MCXX_CPPFLAGS) $(kernel-freeanim_MCXX_EXTRA_CPPFLAGS)) + kernel-freeanim_CXXFLAGS := $(strip $(kernel-freeanim_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-freeanim_DXXFLAGS := $(kernel-freeanim_DXXFLAGS) + kernel-freeanim_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-freeanim_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-freeanim_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-freeanim_STRIP ?= $(ECHO) >/dev/null + kernel-freeanim_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-freeanim_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-freeanim_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-freeanim_MCXX_CPPFLAGS) $(kernel-freeanim_MCXX_EXTRA_CPPFLAGS)) + kernel-freeanim_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-freeanim_CXXFLAGS)) + kernel-freeanim_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-freeanim_DXXFLAGS)) + kernel-freeanim_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-freeanim_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-freeanim_CXXCMD) $(kernel-freeanim_CXXIQUOTE) $(dir $(2)) $(kernel-freeanim_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_CXXIQUOTE) . $(kernel-freeanim_CXXIQUOTE_END) $(strip $(kernel-freeanim_CXXFLAGS) $(kernel-freeanim_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-freeanim_CXXCMD) $(kernel-freeanim_CXXIQUOTE) $(dir $(2)) $(kernel-freeanim_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_CXXIQUOTE) . $(kernel-freeanim_CXXIQUOTE_END) $(strip $(kernel-freeanim_CXXFLAGS) $(kernel-freeanim_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-freeanim_CXXCMD) $(kernel-freeanim_CXXIQUOTE) $(dir $(2)) $(kernel-freeanim_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_CXXIQUOTE) . $(kernel-freeanim_CXXIQUOTE_END) $(strip $(kernel-freeanim_CXXFLAGS) $(kernel-freeanim_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-freeanim_CXXCMD)" $(MKDEPEND) $(strip $(kernel-freeanim_DXXFLAGS) $(kernel-freeanim_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-freeanim_OBJDIR),) + $(foreach kernel-freeanim_CXXFILE,$(kernel-freeanim_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-freeanim_CXXFILE))),$(kernel-freeanim_CXXFILE)))) +else + $(foreach kernel-freeanim_CXXFILE,$(kernel-freeanim_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(basename $(kernel-freeanim_CXXFILE)))),$(kernel-freeanim_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-freeanim_OBJC_NARCHFILES),) + +ifeq (,) +kernel-freeanim_MOBJC_SRCWILDCARD := % +else +kernel-freeanim_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-freeanim_OBJDIR),) + kernel-freeanim_MOBJC_TARGETS := $(addsuffix .o,$(kernel-freeanim_OBJC_NARCHFILES)) + kernel-freeanim_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-freeanim_OBJC_NARCHFILES)) + kernel-freeanim_MOBJC_WILDCARD := % +else + kernel-freeanim_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/,$(kernel-freeanim_OBJC_NARCHFILES))) + kernel-freeanim_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/,$(kernel-freeanim_OBJC_NARCHFILES))) + kernel-freeanim_MOBJC_WILDCARD := $(kernel-freeanim_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-freeanim_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-freeanim_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-freeanim_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-freeanim_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-freeanim_MOBJC_DIRS := $(foreach dir, $(kernel-freeanim_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-freeanim_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-freeanim_MOBJC_DIRS),) + kernel-freeanim_MOBJC_DIRS := $(shell echo $(kernel-freeanim_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-freeanim_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-freeanim_CC := $(TARGET_CC) +else + kernel-freeanim_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-freeanim_MOBJC_CPPFLAGS := $(kernel-freeanim_CPPFLAGS) +kernel-freeanim_OBJCFLAGS := $(kernel-freeanim_CFLAGS) +kernel-freeanim_OBJCFLAGS := $(kernel-freeanim_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-freeanim_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-freeanim_OBJCFLAGS))) +ifeq ($(kernel-freeanim_DFLAGS),) + kernel-freeanim_OBJCDFLAGS := $(kernel-freeanim_CFLAGS) +else + kernel-freeanim_OBJCDFLAGS := $(kernel-freeanim_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-freeanim_LINK ?= $(strip $(kernel-freeanim_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-freeanim_STRIP ?= $(TARGET_STRIP) + kernel-freeanim_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-freeanim_CC) $(TARGET_SYSROOT)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_MOBJC_CPPFLAGS:=$(strip $(kernel-freeanim_MOBJC_CPPFLAGS) $(kernel-freeanim_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_OBJCFLAGS:=$(strip $(kernel-freeanim_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_OBJCDFLAGS:=$(kernel-freeanim_OBJCDFLAGS) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-freeanim_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-freeanim_STRIP ?= $(HOST_STRIP) + kernel-freeanim_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-freeanim_MOBJC_CPPFLAGS) $(kernel-freeanim_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_OBJCFLAGS)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_OBJCDFLAGS)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_IQUOTE:=$(HOST_IQUOTE) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-freeanim_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-freeanim_STRIP ?= $(ECHO) >/dev/null + kernel-freeanim_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-freeanim_MOBJC_CPPFLAGS) $(kernel-freeanim_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_OBJCFLAGS)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_OBJCDFLAGS)) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-freeanim_MOBJC_TARGETS) $(kernel-freeanim_MOBJC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-freeanim_MOBJC_TARGETS) : CPPFLAGS := $(kernel-freeanim_MOBJC_CPPFLAGS) +$(kernel-freeanim_MOBJC_TARGETS) : CFLAGS := $(kernel-freeanim_OBJCFLAGS) +$(kernel-freeanim_MOBJC_TARGETS) : $(kernel-freeanim_MOBJC_WILDCARD).o : $(kernel-freeanim_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-freeanim_MOBJC_DTARGETS) : $(kernel-freeanim_MOBJC_WILDCARD).d : $(kernel-freeanim_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-freeanim_OBJCDFLAGS) $(kernel-freeanim_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-freeanim_MC_SRCWILDCARD := % +else +kernel-freeanim_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-freeanim_OBJDIR),) +kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(kernel-freeanim_CCFILES)) +kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(kernel-freeanim_CCFILES)) +kernel-freeanim_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(kernel-freeanim_CCFILES)))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(kernel-freeanim_CCFILES)))) +else +ifeq (,) + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/,$(kernel-freeanim_CCFILES))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/,$(kernel-freeanim_CCFILES))) +else + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/,$(patsubst /%,%,$(kernel-freeanim_CCFILES)))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/,$(patsubst /%,%,$(kernel-freeanim_CCFILES)))) +endif +endif +kernel-freeanim_MC_TGTWILDCARD := $(kernel-freeanim_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : | $(addsuffix .c,$(kernel-freeanim_CCFILES)) + +# Be sure that all .c files are found +kernel-freeanim_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-freeanim_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-freeanim_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-freeanim_MC_DIRS := $(foreach dir, $(kernel-freeanim_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-freeanim_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-freeanim_MC_DIRS),) + kernel-freeanim_MC_DIRS := $(shell echo $(kernel-freeanim_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-freeanim_MC_DIRS) +endif + +endif + +kernel-freeanim_MC_CPPFLAGS := $(kernel-freeanim_CPPFLAGS) +kernel-freeanim_CFLAGS := $(kernel-freeanim_CFLAGS) +ifeq ($(kernel-freeanim_DFLAGS),) + kernel-freeanim_DFLAGS := $(kernel-freeanim_CFLAGS) +else + kernel-freeanim_DFLAGS := $(kernel-freeanim_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-freeanim_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-freeanim_STRIP ?= $(TARGET_STRIP) +kernel-freeanim_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(kernel-freeanim_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(kernel-freeanim_DFLAGS) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-freeanim_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-freeanim_STRIP ?= $(HOST_STRIP) +kernel-freeanim_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_DFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(HOST_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-freeanim_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-freeanim_STRIP ?= $(ECHO) >/dev/null +kernel-freeanim_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_DFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-freeanim_MC_TARGETS) : CPPFLAGS := $(kernel-freeanim_MC_CPPFLAGS) +$(kernel-freeanim_MC_TARGETS) : CFLAGS := $(kernel-freeanim_CFLAGS) +$(kernel-freeanim_MC_TARGETS) : $(kernel-freeanim_MC_TGTWILDCARD).o : $(kernel-freeanim_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-freeanim_MC_DTARGETS) : $(kernel-freeanim_MC_TGTWILDCARD).d : $(kernel-freeanim_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-freeanim_DFLAGS) $(kernel-freeanim_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-freeanim_MC_SRCWILDCARD := % +else +kernel-freeanim_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-freeanim_OBJDIR),) +kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(kernel-freeanim_TARGETCCFILES)) +kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(kernel-freeanim_TARGETCCFILES)) +kernel-freeanim_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(kernel-freeanim_TARGETCCFILES)))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(kernel-freeanim_TARGETCCFILES)))) +else +ifeq (,) + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/,$(kernel-freeanim_TARGETCCFILES))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/,$(kernel-freeanim_TARGETCCFILES))) +else + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/,$(patsubst /%,%,$(kernel-freeanim_TARGETCCFILES)))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/,$(patsubst /%,%,$(kernel-freeanim_TARGETCCFILES)))) +endif +endif +kernel-freeanim_MC_TGTWILDCARD := $(kernel-freeanim_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : | $(addsuffix .c,$(kernel-freeanim_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-freeanim_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-freeanim_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-freeanim_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-freeanim_MC_DIRS := $(foreach dir, $(kernel-freeanim_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-freeanim_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-freeanim_MC_DIRS),) + kernel-freeanim_MC_DIRS := $(shell echo $(kernel-freeanim_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-freeanim_MC_DIRS) +endif + +endif + +kernel-freeanim_MC_CPPFLAGS := $(kernel-freeanim_CPPFLAGS) -D__AROS__ +kernel-freeanim_CFLAGS := $(kernel-freeanim_CFLAGS) +ifeq ($(kernel-freeanim_DFLAGS),) + kernel-freeanim_DFLAGS := $(kernel-freeanim_CFLAGS) +else + kernel-freeanim_DFLAGS := $(kernel-freeanim_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-freeanim_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-freeanim_STRIP ?= $(TARGET_STRIP) +kernel-freeanim_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(kernel-freeanim_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(kernel-freeanim_DFLAGS) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-freeanim_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-freeanim_STRIP ?= $(HOST_STRIP) +kernel-freeanim_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_DFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(HOST_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-freeanim_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-freeanim_STRIP ?= $(ECHO) >/dev/null +kernel-freeanim_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_DFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-freeanim_MC_TARGETS) : CPPFLAGS := $(kernel-freeanim_MC_CPPFLAGS) +$(kernel-freeanim_MC_TARGETS) : CFLAGS := $(kernel-freeanim_CFLAGS) +$(kernel-freeanim_MC_TARGETS) : $(kernel-freeanim_MC_TGTWILDCARD).o : $(kernel-freeanim_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-freeanim_MC_DTARGETS) : $(kernel-freeanim_MC_TGTWILDCARD).d : $(kernel-freeanim_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-freeanim_DFLAGS) $(kernel-freeanim_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-freeanim_MC_SRCWILDCARD := % +else +kernel-freeanim_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-freeanim_OBJDIR)/linklib,) +kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(kernel-freeanim_NLIBARCHFILES)) +kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(kernel-freeanim_NLIBARCHFILES)) +kernel-freeanim_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(notdir $(kernel-freeanim_NLIBARCHFILES)))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(notdir $(kernel-freeanim_NLIBARCHFILES)))) +else +ifeq (,) + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(kernel-freeanim_NLIBARCHFILES))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(kernel-freeanim_NLIBARCHFILES))) +else + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-freeanim_NLIBARCHFILES)))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-freeanim_NLIBARCHFILES)))) +endif +endif +kernel-freeanim_MC_TGTWILDCARD := $(kernel-freeanim_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : | $(addsuffix .c,$(kernel-freeanim_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-freeanim_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-freeanim_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-freeanim_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-freeanim_MC_DIRS := $(foreach dir, $(kernel-freeanim_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-freeanim_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-freeanim_MC_DIRS),) + kernel-freeanim_MC_DIRS := $(shell echo $(kernel-freeanim_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-freeanim_MC_DIRS) +endif + +endif + +kernel-freeanim_MC_CPPFLAGS := $(kernel-freeanim_LINKLIBCPPFLAGS) -D__AROS__ +kernel-freeanim_CFLAGS := $(kernel-freeanim_LINKLIBCFLAGS) +ifeq ($(kernel-freeanim_LINKLIBDFLAGS),) + kernel-freeanim_DFLAGS := $(kernel-freeanim_LINKLIBCFLAGS) +else + kernel-freeanim_DFLAGS := $(kernel-freeanim_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-freeanim_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-freeanim_STRIP ?= $(TARGET_STRIP) +kernel-freeanim_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(kernel-freeanim_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(kernel-freeanim_DFLAGS) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-freeanim_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-freeanim_STRIP ?= $(HOST_STRIP) +kernel-freeanim_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_DFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(HOST_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-freeanim_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-freeanim_STRIP ?= $(ECHO) >/dev/null +kernel-freeanim_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_DFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-freeanim_MC_TARGETS) : CPPFLAGS := $(kernel-freeanim_MC_CPPFLAGS) +$(kernel-freeanim_MC_TARGETS) : CFLAGS := $(kernel-freeanim_CFLAGS) +$(kernel-freeanim_MC_TARGETS) : $(kernel-freeanim_MC_TGTWILDCARD).o : $(kernel-freeanim_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-freeanim_MC_DTARGETS) : $(kernel-freeanim_MC_TGTWILDCARD).d : $(kernel-freeanim_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-freeanim_DFLAGS) $(kernel-freeanim_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-freeanim_OBJDIR)/linklib,) +kernel-freeanim_MC_SRCWILDCARD := % +else +kernel-freeanim_MC_SRCWILDCARD := $(kernel-freeanim_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-freeanim_OBJDIR)/linklib,) +kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(kernel-freeanim_LINKLIBCCGENFILES)) +kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(kernel-freeanim_LINKLIBCCGENFILES)) +kernel-freeanim_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(notdir $(kernel-freeanim_LINKLIBCCGENFILES)))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(notdir $(kernel-freeanim_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-freeanim_OBJDIR)/linklib,) + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(kernel-freeanim_LINKLIBCCGENFILES))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(kernel-freeanim_LINKLIBCCGENFILES))) +else + kernel-freeanim_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(patsubst $(kernel-freeanim_OBJDIR)/linklib/%,%,$(kernel-freeanim_LINKLIBCCGENFILES)))) + kernel-freeanim_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(patsubst $(kernel-freeanim_OBJDIR)/linklib/%,%,$(kernel-freeanim_LINKLIBCCGENFILES)))) +endif +endif +kernel-freeanim_MC_TGTWILDCARD := $(kernel-freeanim_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : | $(addsuffix .c,$(kernel-freeanim_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-freeanim_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-freeanim_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-freeanim_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-freeanim_MC_DIRS := $(foreach dir, $(kernel-freeanim_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-freeanim_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-freeanim_MC_DIRS),) + kernel-freeanim_MC_DIRS := $(shell echo $(kernel-freeanim_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-freeanim_MC_DIRS) +endif + +endif + +kernel-freeanim_MC_CPPFLAGS := $(kernel-freeanim_LINKLIBCPPFLAGS) -D__AROS__ +kernel-freeanim_CFLAGS := $(kernel-freeanim_LINKLIBCFLAGS) +ifeq ($(kernel-freeanim_LINKLIBDFLAGS),) + kernel-freeanim_DFLAGS := $(kernel-freeanim_LINKLIBCFLAGS) +else + kernel-freeanim_DFLAGS := $(kernel-freeanim_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-freeanim_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-freeanim_STRIP ?= $(TARGET_STRIP) +kernel-freeanim_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(kernel-freeanim_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(kernel-freeanim_DFLAGS) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-freeanim_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-freeanim_STRIP ?= $(HOST_STRIP) +kernel-freeanim_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-freeanim_DFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(HOST_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-freeanim_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-freeanim_STRIP ?= $(ECHO) >/dev/null +kernel-freeanim_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-freeanim_MC_CPPFLAGS) $(kernel-freeanim_MC_EXTRA_CPPFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_CFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-freeanim_DFLAGS)) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-freeanim_MC_TARGETS) $(kernel-freeanim_MC_DTARGETS) : kernel-freeanim_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-freeanim_MC_TARGETS) : CPPFLAGS := $(kernel-freeanim_MC_CPPFLAGS) +$(kernel-freeanim_MC_TARGETS) : CFLAGS := $(kernel-freeanim_CFLAGS) +$(kernel-freeanim_MC_TARGETS) : $(kernel-freeanim_MC_TGTWILDCARD).o : $(kernel-freeanim_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-freeanim_IQUOTE) $(dir $<) $(kernel-freeanim_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-freeanim_IQUOTE) . $(kernel-freeanim_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-freeanim_MC_DTARGETS) : $(kernel-freeanim_MC_TGTWILDCARD).d : $(kernel-freeanim_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-freeanim_DFLAGS) $(kernel-freeanim_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-freeanim_LINKLIBAFILES),) + +ifeq ($(kernel-freeanim_OBJDIR)/linklib,) +kernel-freeanim-MA_TARGETS := $(addsuffix .o,$(kernel-freeanim_LINKLIBAFILES) $(kernel-freeanim_RELLINKLIBAFILES)) +kernel-freeanim-MA_WILDCARD := % +else +kernel-freeanim-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(notdir $(kernel-freeanim_LINKLIBAFILES) $(kernel-freeanim_RELLINKLIBAFILES)))) +kernel-freeanim-MA_WILDCARD := $(kernel-freeanim_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-freeanim-MA_TARGETS) : | $(addsuffix .S,$(kernel-freeanim_LINKLIBAFILES) $(kernel-freeanim_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-freeanim-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-freeanim-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-freeanim_LINKLIBAFILES) $(kernel-freeanim_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-freeanim-MA_DIRS := $(foreach dir, $(kernel-freeanim-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-freeanim-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-freeanim-MA_DIRS),) + kernel-freeanim-MA_DIRS := $(shell echo $(kernel-freeanim-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-freeanim-MA_DIRS) +endif + +endif + +kernel-freeanim-MA_ASSEMBLER ?= $(kernel-freeanim_ASSEMBLER) + +$(kernel-freeanim-MA_TARGETS) : kernel-freeanim-MA_CMD:= $(kernel-freeanim-MA_ASSEMBLER) + +$(kernel-freeanim-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-freeanim-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-freeanim-MA_TARGETS) : $(kernel-freeanim-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-freeanim-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-freeanim-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-freeanim-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-freeanim_SUFFIX := library +else +kernel-freeanim_SUFFIX := +endif + +ifeq (target,target) +kernel-freeanim_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-freeanim_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-freeanim_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-freeanim_SUFFIX),handler) +kernel-freeanim_MODULE := $(AROSDIR)/$(kernel-freeanim_MODDIR)/$(kernel-freeanim_DEFNAME)-$(kernel-freeanim_SUFFIX) +else +kernel-freeanim_MODULE := $(AROSDIR)/$(kernel-freeanim_MODDIR)/$(kernel-freeanim_DEFNAME).$(kernel-freeanim_SUFFIX) +endif +kernel-freeanim_KOBJ := $(KOBJSDIR)/$(kernel-freeanim_DEFNAME)_$(kernel-freeanim_SUFFIX).o +else +kernel-freeanim_MODULE := +kernel-freeanim_KOBJ := +endif + +kernel-freeanim-quick : kernel-freeanim +kernel-freeanim : $(kernel-freeanim_MODULE) $(kernel-freeanim_LINKLIB) $(kernel-freeanim_RELLINKLIB) +ifeq (M,M) +kernel-freeanim-kobj : $(kernel-freeanim_KOBJ) $(kernel-freeanim_LINKLIB) $(kernel-freeanim_RELLINKLIB) +kernel-freeanim-kobj-quick : $(kernel-freeanim_KOBJ) $(kernel-freeanim_LINKLIB) $(kernel-freeanim_RELLINKLIB) +endif +ifeq (M,M) +kernel-freeanim-linklib : $(kernel-freeanim_LINKLIB) $(kernel-freeanim_RELLINKLIB) +endif + +kernel-freeanim_OBJS := $(addsuffix .o,$(kernel-freeanim_STARTFILES)) $(kernel-freeanim_ARCHOBJS) \ + $(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(kernel-freeanim_C_NARCHFILES:=.o) $(kernel-freeanim_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +kernel-freeanim_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (freeanim,con) + kernel-freeanim_ERR := $(notdir $(kernel-freeanim_MODULE)).err +else + kernel-freeanim_ERR := freeanim.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-freeanim_DEFNAME)_LDFLAGS) $(kernel-freeanim_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-freeanim_LIBS) $($(kernel-freeanim_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-freeanim_MODULE) : LIB_NAMES := $(kernel-freeanim_LIBS) $($(kernel-freeanim_DEFNAME)_LIBS) +$(kernel-freeanim_MODULE) : OBJS := $(kernel-freeanim_STARTOBJS) $(kernel-freeanim_OBJS) $(USER_OBJS) +$(kernel-freeanim_MODULE) : ENDTAG := $(kernel-freeanim_ENDOBJS) +$(kernel-freeanim_MODULE) : ERR := $(kernel-freeanim_ERR) +$(kernel-freeanim_MODULE) : OBJDIR := $(kernel-freeanim_OBJDIR) +$(kernel-freeanim_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-freeanim_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-freeanim_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-freeanim_MODULE) : $(kernel-freeanim_STARTOBJS) $(kernel-freeanim_OBJS) $(USER_OBJS) $(kernel-freeanim_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-freeanim_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-freeanim_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-freeanim_LC_LINKLIBNAME := $(shell echo $(kernel-freeanim_LINKLIBNAME) | tr A-Z a-z) +kernel-freeanim_LC_MODNAME := $(shell echo freeanim | tr A-Z a-z) +ifneq ($(kernel-freeanim_LINKLIB),) + +ifeq (target,target) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(HOST_AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(KERNEL_AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)$(kernel-freeanim_LIBSUFFIX).a : $(kernel-freeanim_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-freeanim_AR) $@ $^ + $(Q)$(kernel-freeanim_RANLIB) $@ +ifneq ($(kernel-freeanim_LC_MODNAME),$(kernel-freeanim_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-freeanim_LIBDIR)/libfreeanim$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(AR) +$(kernel-freeanim_LIBDIR)/libfreeanim$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-freeanim_LIBDIR)/libfreeanim$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(HOST_AR) +$(kernel-freeanim_LIBDIR)/libfreeanim$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-freeanim_LIBDIR)/libfreeanim$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(KERNEL_AR) +$(kernel-freeanim_LIBDIR)/libfreeanim$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-freeanim_LIBDIR)/libfreeanim$(kernel-freeanim_LIBSUFFIX).a : $(kernel-freeanim_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-freeanim_AR) $@ $^ + $(Q)$(kernel-freeanim_RANLIB) $@ +endif + + +ifneq ($(kernel-freeanim_LINKLIB),) +$(kernel-freeanim_LINKLIB) : | $(kernel-freeanim_LIBDIR) +else +$(kernel-freeanim_LINKLIB) :: $(kernel-freeanim_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-freeanim_LIBDIR) + +endif + +ifneq ($(kernel-freeanim_RELLINKLIB),) + +ifeq (target,target) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(HOST_AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(KERNEL_AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_LINKLIBNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : $(kernel-freeanim_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-freeanim_AR) $@ $^ + $(Q)$(kernel-freeanim_RANLIB) $@ +ifneq ($(kernel-freeanim_LC_MODNAME),$(kernel-freeanim_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_DEFNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_DEFNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_DEFNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(HOST_AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_DEFNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_DEFNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_AR:=$(KERNEL_AR) +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_DEFNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : kernel-freeanim_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-freeanim_LIBDIR)/lib$(kernel-freeanim_DEFNAME)_rel$(kernel-freeanim_LIBSUFFIX).a : $(kernel-freeanim_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-freeanim_AR) $@ $^ + $(Q)$(kernel-freeanim_RANLIB) $@ +endif + + +ifneq ($(kernel-freeanim_RELLINKLIB),) +$(kernel-freeanim_RELLINKLIB) : | $(kernel-freeanim_LIBDIR) +else +$(kernel-freeanim_RELLINKLIB) :: $(kernel-freeanim_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-freeanim_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-freeanim_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-freeanim_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-freeanim_SYMBOLS := $(kernel-freeanim_KBASE) + +kernel-freeanim_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-freeanim_KOBJ_LIBS := $(filter-out $(kernel-freeanim_KLIB),$(kernel-freeanim_LIBS)) $(kernel-freeanim_KAUTOLIB) +$(kernel-freeanim_KOBJ) : LINKLIBS:=$(kernel-freeanim_KOBJ_LIBS) $($(kernel-freeanim_DEFNAME)_LIBS) +$(kernel-freeanim_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-freeanim_SYMBOLS)) +$(kernel-freeanim_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-freeanim_KOBJ) : $(kernel-freeanim_OBJS) $(USER_OBJS) $(kernel-freeanim_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-freeanim_DEPS := $(addprefix $(kernel-freeanim_OBJDIR)/,$(notdir $(kernel-freeanim_CCFILES:=.d) $(kernel-freeanim_TARGETCCFILES:=.d) $(kernel-freeanim_CXXFILES:=.d))) $(addprefix $(kernel-freeanim_OBJDIR)/linklib/,$(notdir $(kernel-freeanim_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-freeanim_DEPS),) + ifneq (kernel-freeanim kernel-freeanim-quick kernel-freeanim-kobj kernel-freeanim-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-freeanim kernel-freeanim-quick kernel-freeanim-kobj kernel-freeanim-kobj-quick),) + -include $(kernel-freeanim_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-freeanim_DEPS) + endif + endif +endif + +$(kernel-freeanim_OBJS) $(kernel-freeanim_DEPS) : | $(kernel-freeanim_OBJDIR)/linklib + +ifneq ($(kernel-freeanim_OBJS) $(kernel-freeanim_DEPS) $(kernel-freeanim_MODULE) $(kernel-freeanim_KOBJ),) +$(kernel-freeanim_OBJS) $(kernel-freeanim_DEPS) $(kernel-freeanim_MODULE) $(kernel-freeanim_KOBJ) : | $(kernel-freeanim_OBJDIR) $(AROSDIR)/$(kernel-freeanim_MODDIR) $(KOBJSDIR) +else +$(kernel-freeanim_OBJS) $(kernel-freeanim_DEPS) $(kernel-freeanim_MODULE) $(kernel-freeanim_KOBJ) :: $(kernel-freeanim_OBJDIR) $(AROSDIR)/$(kernel-freeanim_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-freeanim_OBJDIR) $(AROSDIR)/$(kernel-freeanim_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-freeanim kernel-freeanim-includes kernel-freeanim-quick kernel-freeanim-kobj kernel-freeanim-kobj-quick),) # Only for this target these deps are wanted + +kernel-freeanim_DFILE_DEPS := $(kernel-freeanim_LIBDEFSINC) $(kernel-freeanim_DEFLIBDEFSINC) \ + $(addprefix $(kernel-freeanim_INCDIR)/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) +$(kernel-freeanim_DEPS) : $(kernel-freeanim_DFILE_DEPS) +endif + +kernel-freeanim_TOCLEAN := $(kernel-freeanim_OBJS) $(kernel-freeanim_DEPS) \ + $(kernel-freeanim_MODULE) $(kernel-freeanim_LINKLIB) $(kernel-freeanim_KOBJ) \ + $(kernel-freeanim_OBJDIR)/Makefile.freeanimlibrary \ + $(addprefix $(kernel-freeanim_OBJDIR)/include/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-freeanim_INCDIR)/,$($(kernel-freeanim_DEFNAME)_INCLUDES)) \ + $(kernel-freeanim_OBJDIR)/freeanim_geninc $(kernel-freeanim_OBJDIR)/freeanim_incs \ + $(addsuffix .c,$(kernel-freeanim_LINKLIBFILES)) $(kernel-freeanim_LINKLIBOBJS) $(kernel-freeanim_LIBDEFSINC) \ + $(kernel-freeanim_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-freeanim_STARTFILES) $(kernel-freeanim_ENDFILES)) \ + $(kernel-freeanim_ENDOBJS) +kernel-freeanim-clean : FILES := $(kernel-freeanim_TOCLEAN) +kernel-freeanim-clean :: + $(Q)$(ECHO) "Cleaning up for module freeanim" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-freeanim_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/graphics/mmakefile b/arch/m68k-amiga/graphics/mmakefile new file mode 100644 index 00000000000..d43158a8c45 --- /dev/null +++ b/arch/m68k-amiga/graphics/mmakefile @@ -0,0 +1,266 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CFILES := setchiprev vbeampos +AFILES := attemptlocklayerrom locklayerrom unlocklayerrom waitblit + +#MM kernel-graphics-amiga-m68k : kernel-hidd-includes kernel-graphics-includes includes-asm_h-m68k kernel-hidd-graphics-includes + +USER_INCLUDES := -I$(SRCDIR)/arch/$(CPU)-$(ARCH)/graphics \ + -I$(SRCDIR)/rom/graphics +USER_CPPFLAGS := -D__GRAPHICS_NOHIDDBASE__ -DDoRegisterCalls +USER_AFLAGS := -I$(GENINCDIR) +TARGET_ISA_AFLAGS := $(ISA_MC68060_FLAGS) + + +ifeq ($(CFILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-graphics-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-graphics : \ +#MM kernel-graphics-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-graphics-$(ARCH)-$(CPU) \ +#MM kernel-graphics-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-graphics-$(ARCH) \ +#MM kernel-graphics-$(FAMILY) \ +#MM kernel-graphics-$(CPU) +#MM- kernel-graphics-linklib : \ +#MM kernel-graphics-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-graphics-$(ARCH)-$(CPU) \ +#MM kernel-graphics-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-graphics-$(ARCH) \ +#MM kernel-graphics-$(FAMILY) \ +#MM kernel-graphics-$(CPU) +#MM- kernel-graphics-kobj : \ +#MM kernel-graphics-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-graphics-$(ARCH)-$(CPU) \ +#MM kernel-graphics-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-graphics-$(ARCH) \ +#MM kernel-graphics-$(FAMILY) \ +#MM kernel-graphics-$(CPU) +#MM- kernel-graphics-kobj-quick : \ +#MM kernel-graphics-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-graphics-$(ARCH)-$(CPU)-quick \ +#MM kernel-graphics-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-graphics-$(ARCH)-quick \ +#MM kernel-graphics-$(FAMILY)-quick \ +#MM kernel-graphics-$(CPU)-quick +#MM- kernel-graphics-quick : \ +#MM kernel-graphics-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-graphics-$(ARCH)-$(CPU)-quick \ +#MM kernel-graphics-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-graphics-$(ARCH)-quick \ +#MM kernel-graphics-$(FAMILY)-quick \ +#MM kernel-graphics-$(CPU)-quick + +#MM kernel-graphics-amiga-m68k : kernel-graphics-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (graphics,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/graphics/graphics +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/graphics +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(CFILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(CFILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (graphics,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/graphics_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-graphics-amiga-m68k-quick) + BD_TARGET := kernel-graphics-amiga-m68k-quick +else + BD_TARGET := kernel-graphics-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(CFILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-graphics-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-graphics-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (graphics,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/amigavideo/mmakefile b/arch/m68k-amiga/hidd/amigavideo/mmakefile new file mode 100644 index 00000000000..7abe9be8c06 --- /dev/null +++ b/arch/m68k-amiga/hidd/amigavideo/mmakefile @@ -0,0 +1,1673 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +AMIGAVIDEO_C_SOURCES := \ + startup \ + amigavideo_chipset \ + amigavideo_blitter \ + amigavideo_hiddclass \ + amigavideo_compositorclass \ + amigavideo_bitmapclass + +USER_CPPFLAGS += \ + -D__OOP_NOATTRBASES__ \ + -D__OOP_NOMETHODBASES__ \ + -D__OOP_NOLIBBASE__ \ + -D__GRAPHICS_NOLIBBASE__ \ + -D__UTILITY_NOLIBBASE__ \ + -D__GRAPHICS_NOHIDDBASE__ +#USER_CPPFLAGS += -DDEBUG=1 + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-amiga-m68k-amigavideo +#MM kernel-amiga-m68k-amigavideo-quick +#MM kernel-amiga-m68k-amigavideo-makefile +#MM kernel-amiga-m68k-amigavideo-clean + +# ABI targets: +#MM- includes-all : kernel-amiga-m68k-amigavideo-includes +#MM- linklibs-amigavideo: kernel-amiga-m68k-amigavideo-linklib +#MM- linklibs-amigavideo_rel : kernel-amiga-m68k-amigavideo-linklib +#MM- includes-amigavideo: kernel-amiga-m68k-amigavideo-includes +#MM- includes-amigavideo_rel : kernel-amiga-m68k-amigavideo-includes +#MM- kernel-amiga-m68k-amigavideo : kernel-amiga-m68k-amigavideo-includes core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-amigavideo-linklib : kernel-amiga-m68k-amigavideo-includes includes-hiddstubs +#MM- kernel-amiga-m68k-amigavideo-quick : kernel-amiga-m68k-amigavideo-includes-quick +#MM kernel-amiga-m68k-amigavideo-includes : kernel-amiga-m68k-amigavideo-makefile kernel-amiga-m68k-amigavideo-includes-dirs \ +#MM includes-generate-deps kernel-amiga-m68k-amigavideo-fd +#MM kernel-amiga-m68k-amigavideo-includes-quick +#MM kernel-amiga-m68k-amigavideo-includes-dirs +#MM kernel-amiga-m68k-amigavideo-fd + +# Library targets +#MM kernel-amiga-m68k-amigavideo-kobj : core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-amigavideo-kobj-quick : + +# Library with ABI targets: +#MM kernel-amiga-m68k-amigavideo-kobj : kernel-amiga-m68k-amigavideo-includes core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-amigavideo-kobj-quick : kernel-amiga-m68k-amigavideo-includes-quick + +# All MetaMake targets defined by this macro +kernel-amiga-m68k-amigavideo_ALLTARGETS := kernel-amiga-m68k-amigavideo kernel-amiga-m68k-amigavideo-quick kernel-amiga-m68k-amigavideo-clean + +ifeq (M,M) +kernel-amiga-m68k-amigavideo_ALLTARGETS += kernel-amiga-m68k-amigavideo-kobj kernel-amiga-m68k-amigavideo-kobj-quick +endif + +ifeq (M,M) +kernel-amiga-m68k-amigavideo_ALLTARGETS += kernel-amiga-m68k-amigavideo-includes \ + kernel-amiga-m68k-amigavideo-includes-quick kernel-amiga-m68k-amigavideo-includes-dirs \ + kernel-amiga-m68k-amigavideo-linklib kernel-amiga-m68k-amigavideo-fd +endif + +.PHONY : $(kernel-amiga-m68k-amigavideo_ALLTARGETS) kernel-amiga-m68k-amigavideo-makefile + +ifeq (amigavideo,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-amiga-m68k-amigavideo_DEFNAME := amigavideo_ +else + kernel-amiga-m68k-amigavideo_DEFNAME := amigavideo +endif +kernel-amiga-m68k-amigavideo_DEFLINKLIBNAME := $(kernel-amiga-m68k-amigavideo_DEFNAME) +ifneq (,) + kernel-amiga-m68k-amigavideo_LINKLIBNAME := +else + kernel-amiga-m68k-amigavideo_LINKLIBNAME = $(kernel-amiga-m68k-amigavideo_DEFLINKLIBNAME) +endif +kernel-amiga-m68k-amigavideo_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-amiga-m68k-amigavideo_DEFCPPFLAGS += -I +endif +kernel-amiga-m68k-amigavideo_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-amiga-m68k-amigavideo_DFLAGS := +else + kernel-amiga-m68k-amigavideo_DFLAGS = $(kernel-amiga-m68k-amigavideo_DEFDFLAGS) +endif +kernel-amiga-m68k-amigavideo_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-amiga-m68k-amigavideo_DXXFLAGS := +else + kernel-amiga-m68k-amigavideo_DXXFLAGS = $(kernel-amiga-m68k-amigavideo_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-amigavideo_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-amigavideo_DEFDFLAGS)) +kernel-amiga-m68k-amigavideo_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-amigavideo_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-amigavideo_FUNCINSTR := yes +kernel-amiga-m68k-amigavideo_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-amigavideo_DEFDFLAGS)) +kernel-amiga-m68k-amigavideo_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-amigavideo_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-amiga-m68k-amigavideo_OBJDIR := +else +kernel-amiga-m68k-amigavideo_OBJDIR := $(OBJDIR)/$(kernel-amiga-m68k-amigavideo_DEFNAME) +endif +ifneq (,) +kernel-amiga-m68k-amigavideo_OBJDIR := $(kernel-amiga-m68k-amigavideo_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-amiga-m68k-amigavideo-makefile := $(kernel-amiga-m68k-amigavideo_OBJDIR)/Makefile.$(kernel-amiga-m68k-amigavideo_DEFNAME)hidd +kernel-amiga-m68k-amigavideo-genmakefile : $(kernel-amiga-m68k-amigavideo-makefile) + + +kernel-amiga-m68k-amigavideo-genmakefile_OPTS := +ifneq (,) + kernel-amiga-m68k-amigavideo-genmakefile_OPTS += -f + kernel-amiga-m68k-amigavideo-genmakefile_MODNAME := amigavideo_ +else + kernel-amiga-m68k-amigavideo-genmakefile_MODNAME := amigavideo +endif +kernel-amiga-m68k-amigavideo-genmakefile_TARGET := Makefile.$(kernel-amiga-m68k-amigavideo-genmakefile_MODNAME)hidd +kernel-amiga-m68k-amigavideo-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-amigavideo-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-amigavideo-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-amigavideo-genmakefile_OPTS += -c + kernel-amiga-m68k-amigavideo-genmakefile_DEPS += + endif +else + kernel-amiga-m68k-amigavideo-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/amigavideo.conf + kernel-amiga-m68k-amigavideo-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/amigavideo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-amigavideo-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-amigavideo-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-amigavideo-genmakefile_OPTS += -o + kernel-amiga-m68k-amigavideo-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-amigavideo-genmakefile_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-amigavideo_OBJDIR),) + kernel-amiga-m68k-amigavideo-genmakefile_OPTS += -d $(kernel-amiga-m68k-amigavideo_OBJDIR) + kernel-amiga-m68k-amigavideo-genmakefile_TARGET := $(kernel-amiga-m68k-amigavideo_OBJDIR)/$(kernel-amiga-m68k-amigavideo-genmakefile_TARGET) +endif + +$(kernel-amiga-m68k-amigavideo-genmakefile_TARGET) : OPTS := $(kernel-amiga-m68k-amigavideo-genmakefile_OPTS) +$(kernel-amiga-m68k-amigavideo-genmakefile_TARGET) : MODNAME := amigavideo +$(kernel-amiga-m68k-amigavideo-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-amiga-m68k-amigavideo-genmakefile_TARGET) : $(kernel-amiga-m68k-amigavideo-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-amiga-m68k-amigavideo-makefile),) +$(kernel-amiga-m68k-amigavideo-makefile) : | $(kernel-amiga-m68k-amigavideo_OBJDIR) +else +$(kernel-amiga-m68k-amigavideo-makefile) :: $(kernel-amiga-m68k-amigavideo_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-amigavideo_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-amiga-m68k-amigavideo_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-amiga-m68k-amigavideo-makefile) + +kernel-amiga-m68k-amigavideo_DEFMODDIR := $($(kernel-amiga-m68k-amigavideo_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-amiga-m68k-amigavideo_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-amiga-m68k-amigavideo_DEFMODDIR) +endif +ifneq (,) + kernel-amiga-m68k-amigavideo_MODDIR := +else + kernel-amiga-m68k-amigavideo_MODDIR := $(kernel-amiga-m68k-amigavideo_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-amiga-m68k-amigavideo_INCDIR := +else +kernel-amiga-m68k-amigavideo_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-amiga-m68k-amigavideo_LIBDEFSINC := $(kernel-amiga-m68k-amigavideo_OBJDIR)/include/$(kernel-amiga-m68k-amigavideo_DEFNAME)_libdefs.h +kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC := $(kernel-amiga-m68k-amigavideo_OBJDIR)/include/$(kernel-amiga-m68k-amigavideo_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-amiga-m68k-amigavideo-includes-quick : kernel-amiga-m68k-amigavideo-includes +kernel-amiga-m68k-amigavideo-includes : $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-amigavideo_INCDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-amigavideo_LIBDEFSINC) $(kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC) + +ifneq ($($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-amiga-m68k-amigavideo-includes_MODNAME := amigavideo_ +else + kernel-amiga-m68k-amigavideo-includes_MODNAME := amigavideo +endif + +ifneq ($($(kernel-amiga-m68k-amigavideo-includes_MODNAME)_INCLUDES),) + +kernel-amiga-m68k-amigavideo-includes_TARGETS := $($(kernel-amiga-m68k-amigavideo-includes_MODNAME)_INCLUDES) + +kernel-amiga-m68k-amigavideo-includes_DEPS := $(GENMODULE) +kernel-amiga-m68k-amigavideo-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-amigavideo-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-amigavideo-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-amigavideo-includes_OPTS += -c + kernel-amiga-m68k-amigavideo-includes_DEPS += + endif +else + kernel-amiga-m68k-amigavideo-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/amigavideo.conf + kernel-amiga-m68k-amigavideo-includes_DEPS += $(SRCDIR)/$(CURDIR)/amigavideo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-amigavideo-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-amigavideo-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-amigavideo-includes_OPTS += -o + kernel-amiga-m68k-amigavideo-includes_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-amigavideo-includes_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-amigavideo_OBJDIR)/include,) + kernel-amiga-m68k-amigavideo-includes_OPTS += -d $(kernel-amiga-m68k-amigavideo_OBJDIR)/include + kernel-amiga-m68k-amigavideo-includes_TARGETS := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/include/,$(kernel-amiga-m68k-amigavideo-includes_TARGETS)) + kernel-amiga-m68k-amigavideo-includes_GENINCFLAG=$(kernel-amiga-m68k-amigavideo_OBJDIR)/include/.amigavideo.hidd-includes +else + kernel-amiga-m68k-amigavideo-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.amigavideo.hidd-includes +endif + +$(kernel-amiga-m68k-amigavideo-includes_TARGETS) : $(kernel-amiga-m68k-amigavideo-includes_DEPS) $(kernel-amiga-m68k-amigavideo-includes_GENINCFLAG) + +$(kernel-amiga-m68k-amigavideo-includes_GENINCFLAG) : OPTS := $(kernel-amiga-m68k-amigavideo-includes_OPTS) +$(kernel-amiga-m68k-amigavideo-includes_GENINCFLAG) : MODNAME := amigavideo +$(kernel-amiga-m68k-amigavideo-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-amiga-m68k-amigavideo-includes_GENINCFLAG) : $(kernel-amiga-m68k-amigavideo-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-amiga-m68k-amigavideo_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_geninc + +$(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_geninc : COPYSRCDIR := $(kernel-amiga-m68k-amigavideo_OBJDIR)/include +$(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_geninc : TGTDIR := $(GENINCDIR) +$(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_geninc : FILES := $($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_geninc : $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/include/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-amiga-m68k-amigavideo_OBJDIR)/include + +$(addprefix $(kernel-amiga-m68k-amigavideo_INCDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_incs + +$(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_incs : COPYSRCDIR := $(kernel-amiga-m68k-amigavideo_OBJDIR)/include +$(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_incs : TGTDIR := $(kernel-amiga-m68k-amigavideo_INCDIR) +$(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_incs : FILES := $($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_incs : $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/include/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-amiga-m68k-amigavideo_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)))) + +TMPamigavideo_INCDIRS := \ + $(kernel-amiga-m68k-amigavideo_OBJDIR)/include $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/include/,$(kernel-amiga-m68k-amigavideo_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-amiga-m68k-amigavideo_INCDIRS)) \ + $(kernel-amiga-m68k-amigavideo_INCDIR) $(addprefix $(kernel-amiga-m68k-amigavideo_INCDIR)/,$(kernel-amiga-m68k-amigavideo_INCDIRS)) + +ifneq (kernel-amiga-m68k-amigavideo-includes-dirs,) +kernel-amiga-m68k-amigavideo-includes-dirs : | $(TMPamigavideo_INCDIRS) +else +kernel-amiga-m68k-amigavideo-includes-dirs :: $(TMPamigavideo_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPamigavideo_INCDIRS) + + +endif + +endif + + +kernel-amiga-m68k-amigavideo-genlibdefs_OPTS := +ifneq (,) + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -f + kernel-amiga-m68k-amigavideo-genlibdefs_MODNAME := amigavideo_ +else + kernel-amiga-m68k-amigavideo-genlibdefs_MODNAME := amigavideo +endif +kernel-amiga-m68k-amigavideo-genlibdefs_TARGET := $(kernel-amiga-m68k-amigavideo-genlibdefs_MODNAME)_libdefs.h +kernel-amiga-m68k-amigavideo-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-amigavideo-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -c + kernel-amiga-m68k-amigavideo-genlibdefs_DEPS += + endif +else + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/amigavideo.conf + kernel-amiga-m68k-amigavideo-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/amigavideo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-amigavideo-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -o + kernel-amiga-m68k-amigavideo-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-amigavideo_OBJDIR)/include,) + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -d $(kernel-amiga-m68k-amigavideo_OBJDIR)/include + kernel-amiga-m68k-amigavideo-genlibdefs_TARGET := $(kernel-amiga-m68k-amigavideo_OBJDIR)/include/$(kernel-amiga-m68k-amigavideo-genlibdefs_TARGET) +endif +ifneq (,) + kernel-amiga-m68k-amigavideo-genlibdefs_OPTS += -v +endif + +$(kernel-amiga-m68k-amigavideo-genlibdefs_TARGET) : OPTS := $(kernel-amiga-m68k-amigavideo-genlibdefs_OPTS) +$(kernel-amiga-m68k-amigavideo-genlibdefs_TARGET) : MODNAME := amigavideo +$(kernel-amiga-m68k-amigavideo-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-amiga-m68k-amigavideo-genlibdefs_TARGET) : $(kernel-amiga-m68k-amigavideo-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC) : FILENAME := $(kernel-amiga-m68k-amigavideo_LIBDEFSINC) +$(kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC) : $(kernel-amiga-m68k-amigavideo_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-amiga-m68k-amigavideo_LIBDEFSINC) $(kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC) : | $(kernel-amiga-m68k-amigavideo_OBJDIR)/include + +ifneq (kernel-amiga-m68k-amigavideo-includes-dirs,) +kernel-amiga-m68k-amigavideo-includes-dirs : | $(kernel-amiga-m68k-amigavideo_OBJDIR)/include +else +kernel-amiga-m68k-amigavideo-includes-dirs :: $(kernel-amiga-m68k-amigavideo_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-amigavideo_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-amiga-m68k-amigavideo-genmodfiles_OPTS := +ifneq (,) + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -f + kernel-amiga-m68k-amigavideo-genmodfiles_MODNAME := amigavideo_ +else + kernel-amiga-m68k-amigavideo-genmodfiles_MODNAME := amigavideo +endif +kernel-amiga-m68k-amigavideo-genmodfiles_GENTARGETS := $($(kernel-amiga-m68k-amigavideo-genmodfiles_MODNAME)_STARTFILES) $($(kernel-amiga-m68k-amigavideo-genmodfiles_MODNAME)_ENDFILES) +kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETS := $($(kernel-amiga-m68k-amigavideo-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-amigavideo-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-amiga-m68k-amigavideo-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-amigavideo-genmodfiles_GENTARGETS)) +kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-amiga-m68k-amigavideo-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-amiga-m68k-amigavideo-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-amiga-m68k-amigavideo-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-amigavideo-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -c + kernel-amiga-m68k-amigavideo-genmodfiles_DEPS += + endif +else + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/amigavideo.conf + kernel-amiga-m68k-amigavideo-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/amigavideo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-amigavideo-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -o + kernel-amiga-m68k-amigavideo-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-amigavideo_OBJDIR),) + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -d $(kernel-amiga-m68k-amigavideo_OBJDIR) + kernel-amiga-m68k-amigavideo-genmodfiles_TARGETDIR := $(shell echo $(kernel-amiga-m68k-amigavideo_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-amigavideo-genmodfiles_GENTARGETS := $(addprefix $(kernel-amiga-m68k-amigavideo-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-amigavideo-genmodfiles_GENTARGETS)) + kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG=$(kernel-amiga-m68k-amigavideo-genmodfiles_TARGETDIR)/.amigavideo.hidd-genfiles +else + kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.amigavideo.hidd-genfiles +endif +ifneq ($(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib,) + kernel-amiga-m68k-amigavideo-genmodfiles_OPTS += -l $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib + kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETDIR)/,$(kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETS)) + kernel-amiga-m68k-amigavideo-genmodfiles_TARGETDIRS += $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib +else +ifneq ($(kernel-amiga-m68k-amigavideo_OBJDIR),) + kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-amigavideo-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-amiga-m68k-amigavideo-genmodfiles_TARGETS := $(kernel-amiga-m68k-amigavideo-genmodfiles_GENTARGETS) $(kernel-amiga-m68k-amigavideo-genmodfiles_STUBTARGETS) +ifneq ($(kernel-amiga-m68k-amigavideo-genmodfiles_TARGETDIRS),) +$(kernel-amiga-m68k-amigavideo-genmodfiles_TARGETS) : | $(kernel-amiga-m68k-amigavideo-genmodfiles_TARGETDIRS) +endif + +$(kernel-amiga-m68k-amigavideo-genmodfiles_TARGETS) : $(kernel-amiga-m68k-amigavideo-genmodfiles_DEPS) $(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG) + +$(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-amiga-m68k-amigavideo-genmodfiles_OPTS) +$(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG) : MODNAME := amigavideo +$(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-amigavideo-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC) $(kernel-amiga-m68k-amigavideo-makefile) + + +ifneq ($(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG),) +$(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG) : | $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib +else +$(kernel-amiga-m68k-amigavideo-genmodfiles_GENFILEFLAG) :: $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-amiga-m68k-amigavideo_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-amiga-m68k-amigavideo_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-amiga-m68k-amigavideo-fd : $(kernel-amiga-m68k-amigavideo_FDDIR)/amigavideo_lib.fd + + +TMP_TARGET := amigavideo_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/amigavideo.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/amigavideo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-amigavideo_FDDIR),) + TMP_OPTS += -d $(kernel-amiga-m68k-amigavideo_FDDIR) + TMP_TARGET := $(kernel-amiga-m68k-amigavideo_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := amigavideo +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-amigavideo_FDDIR)/amigavideo_lib.fd : | $(kernel-amiga-m68k-amigavideo_FDDIR) + + +ifneq (kernel-amiga-m68k-amigavideo-fd-setup,) +kernel-amiga-m68k-amigavideo-fd-setup : | $(kernel-amiga-m68k-amigavideo_FDDIR) +else +kernel-amiga-m68k-amigavideo-fd-setup :: $(kernel-amiga-m68k-amigavideo_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-amigavideo_FDDIR) + +endif + +## Compilation +## +kernel-amiga-m68k-amigavideo_FILES := $(AMIGAVIDEO_C_SOURCES) +kernel-amiga-m68k-amigavideo_OBJCFILES := +kernel-amiga-m68k-amigavideo_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-amiga-m68k-amigavideo_LIBFILES := +kernel-amiga-m68k-amigavideo_LIBS := hiddstubs + +kernel-amiga-m68k-amigavideo_FDIRS := $(sort $(dir $(kernel-amiga-m68k-amigavideo_FILES))) + +kernel-amiga-m68k-amigavideo_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-amiga-m68k-amigavideo_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-amiga-m68k-amigavideo_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-amiga-m68k-amigavideo_FILTERARCH = $(filter-out $(call kernel-amiga-m68k-amigavideo_MATCHARCH,$(1),$(2)),$(2)) +kernel-amiga-m68k-amigavideo_STARTFILES := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_STARTFILES)) +kernel-amiga-m68k-amigavideo_ENDFILES := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_ENDFILES)) + +kernel-amiga-m68k-amigavideo_ARCHOBJS := $(wildcard $(kernel-amiga-m68k-amigavideo_OBJDIR)/arch/*.o) +kernel-amiga-m68k-amigavideo_LIBARCHOBJS := $(wildcard $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/arch/*.o) +kernel-amiga-m68k-amigavideo_ARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-amigavideo_ARCHOBJS))) +kernel-amiga-m68k-amigavideo_LIBARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-amigavideo_LIBARCHOBJS))) +kernel-amiga-m68k-amigavideo_C_NARCHFILES := $(call kernel-amiga-m68k-amigavideo_FILTERARCH,$(kernel-amiga-m68k-amigavideo_ARCHFILES),$(kernel-amiga-m68k-amigavideo_FILES)) +kernel-amiga-m68k-amigavideo_CXX_NARCHFILES := $(call kernel-amiga-m68k-amigavideo_FILTERARCH,$(kernel-amiga-m68k-amigavideo_ARCHFILES),$(kernel-amiga-m68k-amigavideo_CXXFILES)) +kernel-amiga-m68k-amigavideo_OBJC_NARCHFILES := $(call kernel-amiga-m68k-amigavideo_FILTERARCH,$(kernel-amiga-m68k-amigavideo_ARCHFILES),$(kernel-amiga-m68k-amigavideo_OBJCFILES)) +kernel-amiga-m68k-amigavideo_NLIBARCHFILES := $(call kernel-amiga-m68k-amigavideo_FILTERARCH,$(kernel-amiga-m68k-amigavideo_LIBARCHFILES),$(kernel-amiga-m68k-amigavideo_LIBFILES)) +kernel-amiga-m68k-amigavideo_ARCHNLIBFILES := $(call kernel-amiga-m68k-amigavideo_FILTERARCH,$(kernel-amiga-m68k-amigavideo_LIBFILES),$(kernel-amiga-m68k-amigavideo_LIBARCHFILES)) + +kernel-amiga-m68k-amigavideo_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-amiga-m68k-amigavideo_OBJDIR)/include -include $(kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC)) +ifneq (,) +kernel-amiga-m68k-amigavideo_CPPFLAGS += -I +endif +kernel-amiga-m68k-amigavideo_LINKLIBCPPFLAGS := $(kernel-amiga-m68k-amigavideo_CPPFLAGS) +kernel-amiga-m68k-amigavideo_CPPFLAGS += $(strip $($(kernel-amiga-m68k-amigavideo_DEFNAME)_CPPFLAGS)) +kernel-amiga-m68k-amigavideo_LINKLIBCPPFLAGS += $(strip $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-amiga-m68k-amigavideo_CFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_CFLAGS)) +kernel-amiga-m68k-amigavideo_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LINKLIBCFLAGS)) +kernel-amiga-m68k-amigavideo_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-amigavideo_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-amiga-m68k-amigavideo_CFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_LTOFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +kernel-amiga-m68k-amigavideo_LINKLIBCFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_LTOFLAGS) $(kernel-amiga-m68k-amigavideo_LINKLIBCFLAGS)) +kernel-amiga-m68k-amigavideo_CXXFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_LTOFLAGS) $(kernel-amiga-m68k-amigavideo_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-amigavideo_SUBSTNULL := +kernel-amiga-m68k-amigavideo_SUBSTSPACE := $(kernel-amiga-m68k-amigavideo_SUBSTNULL) # +kernel-amiga-m68k-amigavideo_SUBSTCOMMA := , +kernel-amiga-m68k-amigavideo_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-amiga-m68k-amigavideo_SUBSTSPACE),$(kernel-amiga-m68k-amigavideo_SUBSTCOMMA),$(strip $($(kernel-amiga-m68k-amigavideo_DEFNAME)_STARTFILES)))) +kernel-amiga-m68k-amigavideo_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-amiga-m68k-amigavideo_CFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_INSTRFUNCFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +kernel-amiga-m68k-amigavideo_CXXFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_INSTRFUNCFLAGS) $(kernel-amiga-m68k-amigavideo_CXXFLAGS)) +kernel-amiga-m68k-amigavideo_LIBS += $(kernel-amiga-m68k-amigavideo_INSTRFUNCLIBS) +endif +endif +kernel-amiga-m68k-amigavideo_DFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_DFLAGS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_DFLAGS)) +kernel-amiga-m68k-amigavideo_LINKLIBDFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_DFLAGS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LINKLIBDFLAGS)) +kernel-amiga-m68k-amigavideo_DXXFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_DXXFLAGS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-amiga-m68k-amigavideo_LIBSUFFIX := +else + kernel-amiga-m68k-amigavideo_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-amiga-m68k-amigavideo_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-amiga-m68k-amigavideo_LIBDIR := +endif + +ifeq (M,M) +kernel-amiga-m68k-amigavideo_LINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_LINKLIBFILES)) +kernel-amiga-m68k-amigavideo_LINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LINKLIBAFILES) $(kernel-amiga-m68k-amigavideo_ARCHNLIBFILES)),) + kernel-amiga-m68k-amigavideo_LINKLIB := +else + kernel-amiga-m68k-amigavideo_LINKLIB := $(kernel-amiga-m68k-amigavideo_LIBDIR)/libamigavideo$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a + ifneq (amigavideo,$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)) + kernel-amiga-m68k-amigavideo_LINKLIB += $(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-amigavideo_LINKLIBFILES := $(kernel-amiga-m68k-amigavideo_LINKLIBCFILES) $(kernel-amiga-m68k-amigavideo_LINKLIBAFILES) + +kernel-amiga-m68k-amigavideo_RELLINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_RELLINKLIBFILES)) +kernel-amiga-m68k-amigavideo_RELLINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-amigavideo_DEFNAME)_RELLINKLIBFILES) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_RELLINKLIBAFILES) $(kernel-amiga-m68k-amigavideo_ARCHNLIBFILES)),) + kernel-amiga-m68k-amigavideo_RELLINKLIB := +else + kernel-amiga-m68k-amigavideo_RELLINKLIB := $(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_DEFNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a + ifneq (amigavideo,$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)) + kernel-amiga-m68k-amigavideo_RELLINKLIB += $(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-amigavideo_RELLINKLIBFILES := $(kernel-amiga-m68k-amigavideo_RELLINKLIBCFILES) $(kernel-amiga-m68k-amigavideo_RELLINKLIBAFILES) +endif + +kernel-amiga-m68k-amigavideo_ENDOBJS := $(addsuffix .o,$(kernel-amiga-m68k-amigavideo_ENDFILES)) +kernel-amiga-m68k-amigavideo_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-amigavideo_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-amigavideo_ARCHNLIBFILES))) $(kernel-amiga-m68k-amigavideo_LINKLIBFILES)) \ + +kernel-amiga-m68k-amigavideo_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-amigavideo_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-amigavideo_ARCHNLIBFILES))) $(kernel-amiga-m68k-amigavideo_RELLINKLIBFILES)) \ + +$(kernel-amiga-m68k-amigavideo_LINKLIBFILES) $(kernel-amiga-m68k-amigavideo_RELLINKLIBFILES) : | $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib +$(kernel-amiga-m68k-amigavideo_LINKLIBOBJS) $(kernel-amiga-m68k-amigavideo_RELLINKLIBOBJS) : | $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib + +kernel-amiga-m68k-amigavideo_CCFILES := $(kernel-amiga-m68k-amigavideo_C_NARCHFILES) +kernel-amiga-m68k-amigavideo_TARGETCCFILES := $(strip $(kernel-amiga-m68k-amigavideo_STARTFILES) $(kernel-amiga-m68k-amigavideo_ENDFILES)) +kernel-amiga-m68k-amigavideo_LINKLIBCCFILES := $(strip $(kernel-amiga-m68k-amigavideo_NLIBARCHFILES) $(kernel-amiga-m68k-amigavideo_LINKLIBCFILES) $(kernel-amiga-m68k-amigavideo_RELLINKLIBCFILES)) +kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES := $(strip $(kernel-amiga-m68k-amigavideo_LINKLIBCFILES) $(kernel-amiga-m68k-amigavideo_RELLINKLIBCFILES)) + + +kernel-amiga-m68k-amigavideo_CXXABSBASENAMES := $(foreach kernel-amiga-m68k-amigavideo_CXXBASE,$(kernel-amiga-m68k-amigavideo_CXX_NARCHFILES),$(if $(filter /%,$(kernel-amiga-m68k-amigavideo_CXXBASE)),$(kernel-amiga-m68k-amigavideo_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-amiga-m68k-amigavideo_CXXBASE)))) + +ifneq ($(kernel-amiga-m68k-amigavideo_CXXABSBASENAMES),) + +kernel-amiga-m68k-amigavideo_CXXBASENAMES := $(basename $(kernel-amiga-m68k-amigavideo_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-amiga-m68k-amigavideo_MCXX_FILES := $(strip $(foreach kernel-amiga-m68k-amigavideo_CXXBASE,$(kernel-amiga-m68k-amigavideo_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-amiga-m68k-amigavideo_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-amiga-m68k-amigavideo_EXT),$(kernel-amiga-m68k-amigavideo_CXXBASE))))))) + +ifeq (,) +kernel-amiga-m68k-amigavideo_MCXX_SRCWILDCARD := % +else +kernel-amiga-m68k-amigavideo_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR),) + kernel-amiga-m68k-amigavideo_CXXTARGETS := $(notdir $(kernel-amiga-m68k-amigavideo_CXXBASENAMES:=.o)) + kernel-amiga-m68k-amigavideo_CXXDTARGETS := $(notdir $(kernel-amiga-m68k-amigavideo_CXXBASENAMES:=.d)) + kernel-amiga-m68k-amigavideo_MCXX_WILDCARD := % +else + kernel-amiga-m68k-amigavideo_CXXTARGETS := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(kernel-amiga-m68k-amigavideo_CXXBASENAMES:=.o))) + kernel-amiga-m68k-amigavideo_CXXDTARGETS := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(kernel-amiga-m68k-amigavideo_CXXBASENAMES:=.d))) + kernel-amiga-m68k-amigavideo_MCXX_WILDCARD := $(kernel-amiga-m68k-amigavideo_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-amiga-m68k-amigavideo_CXXTARGETS) $(kernel-amiga-m68k-amigavideo_CXXDTARGETS) : | $(kernel-amiga-m68k-amigavideo_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS := $(kernel-amiga-m68k-amigavideo_CPPFLAGS) +kernel-amiga-m68k-amigavideo_CXXFLAGS := $(kernel-amiga-m68k-amigavideo_CXXFLAGS) +ifeq ($(kernel-amiga-m68k-amigavideo_DXXFLAGS),) + kernel-amiga-m68k-amigavideo_DXXFLAGS := $(kernel-amiga-m68k-amigavideo_CXXFLAGS) +else + kernel-amiga-m68k-amigavideo_DXXFLAGS := $(kernel-amiga-m68k-amigavideo_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-amiga-m68k-amigavideo_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-amiga-m68k-amigavideo_CXXCMD:=$(HOST_CXX) + kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-amigavideo_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-amigavideo_CXXFLAGS)) + kernel-amiga-m68k-amigavideo_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-amigavideo_DXXFLAGS)) + kernel-amiga-m68k-amigavideo_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-amiga-m68k-amigavideo_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-amigavideo_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-amiga-m68k-amigavideo_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-amigavideo_CXXFLAGS := $(strip $(kernel-amiga-m68k-amigavideo_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-amiga-m68k-amigavideo_DXXFLAGS := $(kernel-amiga-m68k-amigavideo_DXXFLAGS) + kernel-amiga-m68k-amigavideo_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-amiga-m68k-amigavideo_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-amigavideo_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-amigavideo_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-amigavideo_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-amigavideo_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-amigavideo_CXXFLAGS)) + kernel-amiga-m68k-amigavideo_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-amigavideo_DXXFLAGS)) + kernel-amiga-m68k-amigavideo_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-amiga-m68k-amigavideo_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-amiga-m68k-amigavideo_CXXCMD) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) . $(kernel-amiga-m68k-amigavideo_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-amigavideo_CXXFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-amiga-m68k-amigavideo_CXXCMD) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) . $(kernel-amiga-m68k-amigavideo_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-amigavideo_CXXFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-amiga-m68k-amigavideo_CXXCMD) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_CXXIQUOTE) . $(kernel-amiga-m68k-amigavideo_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-amigavideo_CXXFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-amiga-m68k-amigavideo_CXXCMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-amigavideo_DXXFLAGS) $(kernel-amiga-m68k-amigavideo_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR),) + $(foreach kernel-amiga-m68k-amigavideo_CXXFILE,$(kernel-amiga-m68k-amigavideo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-amiga-m68k-amigavideo_CXXFILE))),$(kernel-amiga-m68k-amigavideo_CXXFILE)))) +else + $(foreach kernel-amiga-m68k-amigavideo_CXXFILE,$(kernel-amiga-m68k-amigavideo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(basename $(kernel-amiga-m68k-amigavideo_CXXFILE)))),$(kernel-amiga-m68k-amigavideo_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-amiga-m68k-amigavideo_OBJC_NARCHFILES),) + +ifeq (,) +kernel-amiga-m68k-amigavideo_MOBJC_SRCWILDCARD := % +else +kernel-amiga-m68k-amigavideo_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR),) + kernel-amiga-m68k-amigavideo_MOBJC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-amigavideo_OBJC_NARCHFILES)) + kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-amigavideo_OBJC_NARCHFILES)) + kernel-amiga-m68k-amigavideo_MOBJC_WILDCARD := % +else + kernel-amiga-m68k-amigavideo_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(kernel-amiga-m68k-amigavideo_OBJC_NARCHFILES))) + kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(kernel-amiga-m68k-amigavideo_OBJC_NARCHFILES))) + kernel-amiga-m68k-amigavideo_MOBJC_WILDCARD := $(kernel-amiga-m68k-amigavideo_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-amiga-m68k-amigavideo_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-amiga-m68k-amigavideo_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-amigavideo_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-amigavideo_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-amiga-m68k-amigavideo_MOBJC_DIRS := $(foreach dir, $(kernel-amiga-m68k-amigavideo_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-amigavideo_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-amiga-m68k-amigavideo_MOBJC_DIRS),) + kernel-amiga-m68k-amigavideo_MOBJC_DIRS := $(shell echo $(kernel-amiga-m68k-amigavideo_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-amiga-m68k-amigavideo_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-amiga-m68k-amigavideo_CC := $(TARGET_CC) +else + kernel-amiga-m68k-amigavideo_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS := $(kernel-amiga-m68k-amigavideo_CPPFLAGS) +kernel-amiga-m68k-amigavideo_OBJCFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +kernel-amiga-m68k-amigavideo_OBJCFLAGS := $(kernel-amiga-m68k-amigavideo_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-amiga-m68k-amigavideo_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-amiga-m68k-amigavideo_OBJCFLAGS))) +ifeq ($(kernel-amiga-m68k-amigavideo_DFLAGS),) + kernel-amiga-m68k-amigavideo_OBJCDFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +else + kernel-amiga-m68k-amigavideo_OBJCDFLAGS := $(kernel-amiga-m68k-amigavideo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(kernel-amiga-m68k-amigavideo_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-amigavideo_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-amiga-m68k-amigavideo_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_OBJCFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_OBJCDFLAGS:=$(kernel-amiga-m68k-amigavideo_OBJCDFLAGS) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-amiga-m68k-amigavideo_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_OBJCFLAGS)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_OBJCDFLAGS)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(HOST_IQUOTE) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-amigavideo_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_OBJCFLAGS)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_OBJCDFLAGS)) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) $(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS) +$(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-amigavideo_OBJCFLAGS) +$(kernel-amiga-m68k-amigavideo_MOBJC_TARGETS) : $(kernel-amiga-m68k-amigavideo_MOBJC_WILDCARD).o : $(kernel-amiga-m68k-amigavideo_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-amigavideo_MOBJC_DTARGETS) : $(kernel-amiga-m68k-amigavideo_MOBJC_WILDCARD).d : $(kernel-amiga-m68k-amigavideo_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-amigavideo_OBJCDFLAGS) $(kernel-amiga-m68k-amigavideo_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR),) +kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-amigavideo_CCFILES)) +kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-amigavideo_CCFILES)) +kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(kernel-amiga-m68k-amigavideo_CCFILES)))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(kernel-amiga-m68k-amigavideo_CCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(kernel-amiga-m68k-amigavideo_CCFILES))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(kernel-amiga-m68k-amigavideo_CCFILES))) +else + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-amigavideo_CCFILES)))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-amigavideo_CCFILES)))) +endif +endif +kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD := $(kernel-amiga-m68k-amigavideo_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-amigavideo_CCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-amigavideo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-amigavideo_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-amigavideo_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-amigavideo_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-amigavideo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-amigavideo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-amigavideo_MC_DIRS),) + kernel-amiga-m68k-amigavideo_MC_DIRS := $(shell echo $(kernel-amiga-m68k-amigavideo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-amigavideo_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-amigavideo_MC_CPPFLAGS := $(kernel-amiga-m68k-amigavideo_CPPFLAGS) +kernel-amiga-m68k-amigavideo_CFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +ifeq ($(kernel-amiga-m68k-amigavideo_DFLAGS),) + kernel-amiga-m68k-amigavideo_DFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +else + kernel-amiga-m68k-amigavideo_DFLAGS := $(kernel-amiga-m68k-amigavideo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(kernel-amiga-m68k-amigavideo_DFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_DFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_DFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : $(kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : $(kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-amigavideo_DFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR),) +kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-amigavideo_TARGETCCFILES)) +kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-amigavideo_TARGETCCFILES)) +kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(kernel-amiga-m68k-amigavideo_TARGETCCFILES)))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(kernel-amiga-m68k-amigavideo_TARGETCCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(kernel-amiga-m68k-amigavideo_TARGETCCFILES))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(kernel-amiga-m68k-amigavideo_TARGETCCFILES))) +else + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-amigavideo_TARGETCCFILES)))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-amigavideo_TARGETCCFILES)))) +endif +endif +kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD := $(kernel-amiga-m68k-amigavideo_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-amigavideo_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-amigavideo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-amigavideo_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-amigavideo_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-amigavideo_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-amigavideo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-amigavideo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-amigavideo_MC_DIRS),) + kernel-amiga-m68k-amigavideo_MC_DIRS := $(shell echo $(kernel-amiga-m68k-amigavideo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-amigavideo_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-amigavideo_MC_CPPFLAGS := $(kernel-amiga-m68k-amigavideo_CPPFLAGS) -D__AROS__ +kernel-amiga-m68k-amigavideo_CFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +ifeq ($(kernel-amiga-m68k-amigavideo_DFLAGS),) + kernel-amiga-m68k-amigavideo_DFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +else + kernel-amiga-m68k-amigavideo_DFLAGS := $(kernel-amiga-m68k-amigavideo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(kernel-amiga-m68k-amigavideo_DFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_DFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_DFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : $(kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : $(kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-amigavideo_DFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib,) +kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-amigavideo_NLIBARCHFILES)) +kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-amigavideo_NLIBARCHFILES)) +kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-amigavideo_NLIBARCHFILES)))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-amigavideo_NLIBARCHFILES)))) +else +ifeq (,) + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(kernel-amiga-m68k-amigavideo_NLIBARCHFILES))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(kernel-amiga-m68k-amigavideo_NLIBARCHFILES))) +else + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-amigavideo_NLIBARCHFILES)))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-amigavideo_NLIBARCHFILES)))) +endif +endif +kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD := $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-amigavideo_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-amigavideo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-amigavideo_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-amigavideo_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-amigavideo_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-amigavideo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-amigavideo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-amigavideo_MC_DIRS),) + kernel-amiga-m68k-amigavideo_MC_DIRS := $(shell echo $(kernel-amiga-m68k-amigavideo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-amigavideo_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-amigavideo_MC_CPPFLAGS := $(kernel-amiga-m68k-amigavideo_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-amigavideo_CFLAGS := $(kernel-amiga-m68k-amigavideo_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-amigavideo_LINKLIBDFLAGS),) + kernel-amiga-m68k-amigavideo_DFLAGS := $(kernel-amiga-m68k-amigavideo_LINKLIBCFLAGS) +else + kernel-amiga-m68k-amigavideo_DFLAGS := $(kernel-amiga-m68k-amigavideo_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(kernel-amiga-m68k-amigavideo_DFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_DFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_DFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : $(kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : $(kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-amigavideo_DFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib,) +kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD := $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib,) +kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES)) +kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES)) +kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib,) + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES))) +else + kernel-amiga-m68k-amigavideo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-amigavideo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES)))) +endif +endif +kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD := $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-amigavideo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-amigavideo_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-amigavideo_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-amigavideo_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-amigavideo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-amigavideo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-amigavideo_MC_DIRS),) + kernel-amiga-m68k-amigavideo_MC_DIRS := $(shell echo $(kernel-amiga-m68k-amigavideo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-amigavideo_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-amigavideo_MC_CPPFLAGS := $(kernel-amiga-m68k-amigavideo_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-amigavideo_CFLAGS := $(kernel-amiga-m68k-amigavideo_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-amigavideo_LINKLIBDFLAGS),) + kernel-amiga-m68k-amigavideo_DFLAGS := $(kernel-amiga-m68k-amigavideo_LINKLIBCFLAGS) +else + kernel-amiga-m68k-amigavideo_DFLAGS := $(kernel-amiga-m68k-amigavideo_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(kernel-amiga-m68k-amigavideo_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(kernel-amiga-m68k-amigavideo_DFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-amigavideo_DFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-amigavideo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-amigavideo_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-amigavideo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) $(kernel-amiga-m68k-amigavideo_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_CFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-amigavideo_DFLAGS)) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) $(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : kernel-amiga-m68k-amigavideo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-amigavideo_CFLAGS) +$(kernel-amiga-m68k-amigavideo_MC_TARGETS) : $(kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(dir $<) $(kernel-amiga-m68k-amigavideo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-amigavideo_IQUOTE) . $(kernel-amiga-m68k-amigavideo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-amigavideo_MC_DTARGETS) : $(kernel-amiga-m68k-amigavideo_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-amigavideo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-amigavideo_DFLAGS) $(kernel-amiga-m68k-amigavideo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-amiga-m68k-amigavideo_LINKLIBAFILES),) + +ifeq ($(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib,) +kernel-amiga-m68k-amigavideo-MA_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-amigavideo_LINKLIBAFILES) $(kernel-amiga-m68k-amigavideo_RELLINKLIBAFILES)) +kernel-amiga-m68k-amigavideo-MA_WILDCARD := % +else +kernel-amiga-m68k-amigavideo-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-amigavideo_LINKLIBAFILES) $(kernel-amiga-m68k-amigavideo_RELLINKLIBAFILES)))) +kernel-amiga-m68k-amigavideo-MA_WILDCARD := $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-amiga-m68k-amigavideo-MA_TARGETS) : | $(addsuffix .S,$(kernel-amiga-m68k-amigavideo_LINKLIBAFILES) $(kernel-amiga-m68k-amigavideo_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-amigavideo-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-amigavideo-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-amigavideo_LINKLIBAFILES) $(kernel-amiga-m68k-amigavideo_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-amigavideo-MA_DIRS := $(foreach dir, $(kernel-amiga-m68k-amigavideo-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-amigavideo-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-amigavideo-MA_DIRS),) + kernel-amiga-m68k-amigavideo-MA_DIRS := $(shell echo $(kernel-amiga-m68k-amigavideo-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-amiga-m68k-amigavideo-MA_DIRS) +endif + +endif + +kernel-amiga-m68k-amigavideo-MA_ASSEMBLER ?= $(kernel-amiga-m68k-amigavideo_ASSEMBLER) + +$(kernel-amiga-m68k-amigavideo-MA_TARGETS) : kernel-amiga-m68k-amigavideo-MA_CMD:= $(kernel-amiga-m68k-amigavideo-MA_ASSEMBLER) + +$(kernel-amiga-m68k-amigavideo-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-amiga-m68k-amigavideo-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-amiga-m68k-amigavideo-MA_TARGETS) : $(kernel-amiga-m68k-amigavideo-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-amiga-m68k-amigavideo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-amiga-m68k-amigavideo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-amiga-m68k-amigavideo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-amiga-m68k-amigavideo_SUFFIX := hidd +else +kernel-amiga-m68k-amigavideo_SUFFIX := +endif + +ifeq (target,target) +kernel-amiga-m68k-amigavideo_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-amiga-m68k-amigavideo_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-amiga-m68k-amigavideo_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-amiga-m68k-amigavideo_SUFFIX),handler) +kernel-amiga-m68k-amigavideo_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-amigavideo_MODDIR)/$(kernel-amiga-m68k-amigavideo_DEFNAME)-$(kernel-amiga-m68k-amigavideo_SUFFIX) +else +kernel-amiga-m68k-amigavideo_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-amigavideo_MODDIR)/$(kernel-amiga-m68k-amigavideo_DEFNAME).$(kernel-amiga-m68k-amigavideo_SUFFIX) +endif +kernel-amiga-m68k-amigavideo_KOBJ := $(KOBJSDIR)/$(kernel-amiga-m68k-amigavideo_DEFNAME)_$(kernel-amiga-m68k-amigavideo_SUFFIX).o +else +kernel-amiga-m68k-amigavideo_MODULE := +kernel-amiga-m68k-amigavideo_KOBJ := +endif + +kernel-amiga-m68k-amigavideo-quick : kernel-amiga-m68k-amigavideo +kernel-amiga-m68k-amigavideo : $(kernel-amiga-m68k-amigavideo_MODULE) $(kernel-amiga-m68k-amigavideo_LINKLIB) $(kernel-amiga-m68k-amigavideo_RELLINKLIB) +ifeq (M,M) +kernel-amiga-m68k-amigavideo-kobj : $(kernel-amiga-m68k-amigavideo_KOBJ) $(kernel-amiga-m68k-amigavideo_LINKLIB) $(kernel-amiga-m68k-amigavideo_RELLINKLIB) +kernel-amiga-m68k-amigavideo-kobj-quick : $(kernel-amiga-m68k-amigavideo_KOBJ) $(kernel-amiga-m68k-amigavideo_LINKLIB) $(kernel-amiga-m68k-amigavideo_RELLINKLIB) +endif +ifeq (M,M) +kernel-amiga-m68k-amigavideo-linklib : $(kernel-amiga-m68k-amigavideo_LINKLIB) $(kernel-amiga-m68k-amigavideo_RELLINKLIB) +endif + +kernel-amiga-m68k-amigavideo_OBJS := $(addsuffix .o,$(kernel-amiga-m68k-amigavideo_STARTFILES)) $(kernel-amiga-m68k-amigavideo_ARCHOBJS) \ + $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(kernel-amiga-m68k-amigavideo_C_NARCHFILES:=.o) $(kernel-amiga-m68k-amigavideo_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-amiga-m68k-amigavideo_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (amigavideo,con) + kernel-amiga-m68k-amigavideo_ERR := $(notdir $(kernel-amiga-m68k-amigavideo_MODULE)).err +else + kernel-amiga-m68k-amigavideo_ERR := amigavideo.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LDFLAGS) $(kernel-amiga-m68k-amigavideo_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-amiga-m68k-amigavideo_LIBS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-amiga-m68k-amigavideo_MODULE) : LIB_NAMES := $(kernel-amiga-m68k-amigavideo_LIBS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LIBS) +$(kernel-amiga-m68k-amigavideo_MODULE) : OBJS := $(kernel-amiga-m68k-amigavideo_STARTOBJS) $(kernel-amiga-m68k-amigavideo_OBJS) $(USER_OBJS) +$(kernel-amiga-m68k-amigavideo_MODULE) : ENDTAG := $(kernel-amiga-m68k-amigavideo_ENDOBJS) +$(kernel-amiga-m68k-amigavideo_MODULE) : ERR := $(kernel-amiga-m68k-amigavideo_ERR) +$(kernel-amiga-m68k-amigavideo_MODULE) : OBJDIR := $(kernel-amiga-m68k-amigavideo_OBJDIR) +$(kernel-amiga-m68k-amigavideo_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-amiga-m68k-amigavideo_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-amiga-m68k-amigavideo_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-amiga-m68k-amigavideo_MODULE) : $(kernel-amiga-m68k-amigavideo_STARTOBJS) $(kernel-amiga-m68k-amigavideo_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-amigavideo_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-amiga-m68k-amigavideo_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-amiga-m68k-amigavideo_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-amiga-m68k-amigavideo_LC_LINKLIBNAME := $(shell echo $(kernel-amiga-m68k-amigavideo_LINKLIBNAME) | tr A-Z a-z) +kernel-amiga-m68k-amigavideo_LC_MODNAME := $(shell echo amigavideo | tr A-Z a-z) +ifneq ($(kernel-amiga-m68k-amigavideo_LINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(HOST_AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : $(kernel-amiga-m68k-amigavideo_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-amigavideo_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-amigavideo_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-amigavideo_LC_MODNAME),$(kernel-amiga-m68k-amigavideo_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/libamigavideo$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/libamigavideo$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/libamigavideo$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(HOST_AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/libamigavideo$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/libamigavideo$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/libamigavideo$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-amigavideo_LIBDIR)/libamigavideo$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : $(kernel-amiga-m68k-amigavideo_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-amigavideo_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-amigavideo_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-amigavideo_LINKLIB),) +$(kernel-amiga-m68k-amigavideo_LINKLIB) : | $(kernel-amiga-m68k-amigavideo_LIBDIR) +else +$(kernel-amiga-m68k-amigavideo_LINKLIB) :: $(kernel-amiga-m68k-amigavideo_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-amigavideo_LIBDIR) + +endif + +ifneq ($(kernel-amiga-m68k-amigavideo_RELLINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(HOST_AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_LINKLIBNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : $(kernel-amiga-m68k-amigavideo_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-amigavideo_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-amigavideo_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-amigavideo_LC_MODNAME),$(kernel-amiga-m68k-amigavideo_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_DEFNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_DEFNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_DEFNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(HOST_AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_DEFNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_DEFNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_DEFNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : kernel-amiga-m68k-amigavideo_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-amigavideo_LIBDIR)/lib$(kernel-amiga-m68k-amigavideo_DEFNAME)_rel$(kernel-amiga-m68k-amigavideo_LIBSUFFIX).a : $(kernel-amiga-m68k-amigavideo_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-amigavideo_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-amigavideo_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-amigavideo_RELLINKLIB),) +$(kernel-amiga-m68k-amigavideo_RELLINKLIB) : | $(kernel-amiga-m68k-amigavideo_LIBDIR) +else +$(kernel-amiga-m68k-amigavideo_RELLINKLIB) :: $(kernel-amiga-m68k-amigavideo_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-amigavideo_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-amiga-m68k-amigavideo_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-amiga-m68k-amigavideo_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-amiga-m68k-amigavideo_SYMBOLS := $(kernel-amiga-m68k-amigavideo_KBASE) + +kernel-amiga-m68k-amigavideo_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-amiga-m68k-amigavideo_KOBJ_LIBS := $(filter-out $(kernel-amiga-m68k-amigavideo_KLIB),$(kernel-amiga-m68k-amigavideo_LIBS)) $(kernel-amiga-m68k-amigavideo_KAUTOLIB) +$(kernel-amiga-m68k-amigavideo_KOBJ) : LINKLIBS:=$(kernel-amiga-m68k-amigavideo_KOBJ_LIBS) $($(kernel-amiga-m68k-amigavideo_DEFNAME)_LIBS) +$(kernel-amiga-m68k-amigavideo_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-amiga-m68k-amigavideo_SYMBOLS)) +$(kernel-amiga-m68k-amigavideo_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-amiga-m68k-amigavideo_KOBJ) : $(kernel-amiga-m68k-amigavideo_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-amigavideo_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-amiga-m68k-amigavideo_DEPS := $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/,$(notdir $(kernel-amiga-m68k-amigavideo_CCFILES:=.d) $(kernel-amiga-m68k-amigavideo_TARGETCCFILES:=.d) $(kernel-amiga-m68k-amigavideo_CXXFILES:=.d))) $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-amigavideo_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-amiga-m68k-amigavideo_DEPS),) + ifneq (kernel-amiga-m68k-amigavideo kernel-amiga-m68k-amigavideo-quick kernel-amiga-m68k-amigavideo-kobj kernel-amiga-m68k-amigavideo-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-amiga-m68k-amigavideo kernel-amiga-m68k-amigavideo-quick kernel-amiga-m68k-amigavideo-kobj kernel-amiga-m68k-amigavideo-kobj-quick),) + -include $(kernel-amiga-m68k-amigavideo_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-amiga-m68k-amigavideo_DEPS) + endif + endif +endif + +$(kernel-amiga-m68k-amigavideo_OBJS) $(kernel-amiga-m68k-amigavideo_DEPS) : | $(kernel-amiga-m68k-amigavideo_OBJDIR)/linklib + +ifneq ($(kernel-amiga-m68k-amigavideo_OBJS) $(kernel-amiga-m68k-amigavideo_DEPS) $(kernel-amiga-m68k-amigavideo_MODULE) $(kernel-amiga-m68k-amigavideo_KOBJ),) +$(kernel-amiga-m68k-amigavideo_OBJS) $(kernel-amiga-m68k-amigavideo_DEPS) $(kernel-amiga-m68k-amigavideo_MODULE) $(kernel-amiga-m68k-amigavideo_KOBJ) : | $(kernel-amiga-m68k-amigavideo_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-amigavideo_MODDIR) $(KOBJSDIR) +else +$(kernel-amiga-m68k-amigavideo_OBJS) $(kernel-amiga-m68k-amigavideo_DEPS) $(kernel-amiga-m68k-amigavideo_MODULE) $(kernel-amiga-m68k-amigavideo_KOBJ) :: $(kernel-amiga-m68k-amigavideo_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-amigavideo_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-amigavideo_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-amigavideo_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-amiga-m68k-amigavideo kernel-amiga-m68k-amigavideo-includes kernel-amiga-m68k-amigavideo-quick kernel-amiga-m68k-amigavideo-kobj kernel-amiga-m68k-amigavideo-kobj-quick),) # Only for this target these deps are wanted + +kernel-amiga-m68k-amigavideo_DFILE_DEPS := $(kernel-amiga-m68k-amigavideo_LIBDEFSINC) $(kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC) \ + $(addprefix $(kernel-amiga-m68k-amigavideo_INCDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) +$(kernel-amiga-m68k-amigavideo_DEPS) : $(kernel-amiga-m68k-amigavideo_DFILE_DEPS) +endif + +kernel-amiga-m68k-amigavideo_TOCLEAN := $(kernel-amiga-m68k-amigavideo_OBJS) $(kernel-amiga-m68k-amigavideo_DEPS) \ + $(kernel-amiga-m68k-amigavideo_MODULE) $(kernel-amiga-m68k-amigavideo_LINKLIB) $(kernel-amiga-m68k-amigavideo_KOBJ) \ + $(kernel-amiga-m68k-amigavideo_OBJDIR)/Makefile.amigavideohidd \ + $(addprefix $(kernel-amiga-m68k-amigavideo_OBJDIR)/include/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-amigavideo_INCDIR)/,$($(kernel-amiga-m68k-amigavideo_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_geninc $(kernel-amiga-m68k-amigavideo_OBJDIR)/amigavideo_incs \ + $(addsuffix .c,$(kernel-amiga-m68k-amigavideo_LINKLIBFILES)) $(kernel-amiga-m68k-amigavideo_LINKLIBOBJS) $(kernel-amiga-m68k-amigavideo_LIBDEFSINC) \ + $(kernel-amiga-m68k-amigavideo_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-amiga-m68k-amigavideo_STARTFILES) $(kernel-amiga-m68k-amigavideo_ENDFILES)) \ + $(kernel-amiga-m68k-amigavideo_ENDOBJS) +kernel-amiga-m68k-amigavideo-clean : FILES := $(kernel-amiga-m68k-amigavideo_TOCLEAN) +kernel-amiga-m68k-amigavideo-clean :: + $(Q)$(ECHO) "Cleaning up for module amigavideo" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-amiga-m68k-amigavideo_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/gayle_ata/mmakefile b/arch/m68k-amiga/hidd/gayle_ata/mmakefile new file mode 100644 index 00000000000..a6798e8d551 --- /dev/null +++ b/arch/m68k-amiga/hidd/gayle_ata/mmakefile @@ -0,0 +1,1661 @@ +#$Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := class_init probe gayleata_busclass interface_pio + +USER_CPPFLAGS := -D__OOP_NOMETHODBASES__ -D__OOP_NOATTRBASES__ +#USER_CPPFLAGS += -DDEBUG + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-gayleata +#MM kernel-hidd-gayleata-quick +#MM kernel-hidd-gayleata-makefile +#MM kernel-hidd-gayleata-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-gayleata-includes +#MM- linklibs-ata_gayle: kernel-hidd-gayleata-linklib +#MM- linklibs-ata_gayle_rel : kernel-hidd-gayleata-linklib +#MM- includes-ata_gayle: kernel-hidd-gayleata-includes +#MM- includes-ata_gayle_rel : kernel-hidd-gayleata-includes +#MM- kernel-hidd-gayleata : kernel-hidd-gayleata-includes core-linklibs linklibs- +#MM kernel-hidd-gayleata-linklib : kernel-hidd-gayleata-includes includes- +#MM- kernel-hidd-gayleata-quick : kernel-hidd-gayleata-includes-quick +#MM kernel-hidd-gayleata-includes : kernel-hidd-gayleata-makefile kernel-hidd-gayleata-includes-dirs \ +#MM includes-generate-deps kernel-hidd-gayleata-fd +#MM kernel-hidd-gayleata-includes-quick +#MM kernel-hidd-gayleata-includes-dirs +#MM kernel-hidd-gayleata-fd + +# Library targets +#MM kernel-hidd-gayleata-kobj : core-linklibs linklibs- +#MM kernel-hidd-gayleata-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-gayleata-kobj : kernel-hidd-gayleata-includes core-linklibs linklibs- +#MM kernel-hidd-gayleata-kobj-quick : kernel-hidd-gayleata-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-gayleata_ALLTARGETS := kernel-hidd-gayleata kernel-hidd-gayleata-quick kernel-hidd-gayleata-clean + +ifeq (M,M) +kernel-hidd-gayleata_ALLTARGETS += kernel-hidd-gayleata-kobj kernel-hidd-gayleata-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-gayleata_ALLTARGETS += kernel-hidd-gayleata-includes \ + kernel-hidd-gayleata-includes-quick kernel-hidd-gayleata-includes-dirs \ + kernel-hidd-gayleata-linklib kernel-hidd-gayleata-fd +endif + +.PHONY : $(kernel-hidd-gayleata_ALLTARGETS) kernel-hidd-gayleata-makefile + +ifeq (ata_gayle,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-gayleata_DEFNAME := ata_gayle_ +else + kernel-hidd-gayleata_DEFNAME := ata_gayle +endif +kernel-hidd-gayleata_DEFLINKLIBNAME := $(kernel-hidd-gayleata_DEFNAME) +ifneq (,) + kernel-hidd-gayleata_LINKLIBNAME := +else + kernel-hidd-gayleata_LINKLIBNAME = $(kernel-hidd-gayleata_DEFLINKLIBNAME) +endif +kernel-hidd-gayleata_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-gayleata_DEFCPPFLAGS += -I +endif +kernel-hidd-gayleata_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-gayleata_DFLAGS := +else + kernel-hidd-gayleata_DFLAGS = $(kernel-hidd-gayleata_DEFDFLAGS) +endif +kernel-hidd-gayleata_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-gayleata_DXXFLAGS := +else + kernel-hidd-gayleata_DXXFLAGS = $(kernel-hidd-gayleata_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-gayleata_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-gayleata_DEFDFLAGS)) +kernel-hidd-gayleata_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-gayleata_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-gayleata_FUNCINSTR := yes +kernel-hidd-gayleata_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-gayleata_DEFDFLAGS)) +kernel-hidd-gayleata_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-gayleata_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-gayleata_OBJDIR := +else +kernel-hidd-gayleata_OBJDIR := $(OBJDIR)/$(kernel-hidd-gayleata_DEFNAME) +endif +ifneq (,) +kernel-hidd-gayleata_OBJDIR := $(kernel-hidd-gayleata_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-gayleata-makefile := $(kernel-hidd-gayleata_OBJDIR)/Makefile.$(kernel-hidd-gayleata_DEFNAME)hidd +kernel-hidd-gayleata-genmakefile : $(kernel-hidd-gayleata-makefile) + + +kernel-hidd-gayleata-genmakefile_OPTS := +ifneq (,) + kernel-hidd-gayleata-genmakefile_OPTS += -f + kernel-hidd-gayleata-genmakefile_MODNAME := ata_gayle_ +else + kernel-hidd-gayleata-genmakefile_MODNAME := ata_gayle +endif +kernel-hidd-gayleata-genmakefile_TARGET := Makefile.$(kernel-hidd-gayleata-genmakefile_MODNAME)hidd +kernel-hidd-gayleata-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gayleata-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gayleata-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gayleata-genmakefile_OPTS += -c + kernel-hidd-gayleata-genmakefile_DEPS += + endif +else + kernel-hidd-gayleata-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ata_gayle.conf + kernel-hidd-gayleata-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ata_gayle.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gayleata-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gayleata-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gayleata-genmakefile_OPTS += -o + kernel-hidd-gayleata-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-gayleata-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-gayleata_OBJDIR),) + kernel-hidd-gayleata-genmakefile_OPTS += -d $(kernel-hidd-gayleata_OBJDIR) + kernel-hidd-gayleata-genmakefile_TARGET := $(kernel-hidd-gayleata_OBJDIR)/$(kernel-hidd-gayleata-genmakefile_TARGET) +endif + +$(kernel-hidd-gayleata-genmakefile_TARGET) : OPTS := $(kernel-hidd-gayleata-genmakefile_OPTS) +$(kernel-hidd-gayleata-genmakefile_TARGET) : MODNAME := ata_gayle +$(kernel-hidd-gayleata-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-gayleata-genmakefile_TARGET) : $(kernel-hidd-gayleata-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-gayleata-makefile),) +$(kernel-hidd-gayleata-makefile) : | $(kernel-hidd-gayleata_OBJDIR) +else +$(kernel-hidd-gayleata-makefile) :: $(kernel-hidd-gayleata_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gayleata_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-gayleata_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-gayleata-makefile) + +kernel-hidd-gayleata_DEFMODDIR := $($(kernel-hidd-gayleata_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-gayleata_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-gayleata_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-gayleata_MODDIR := +else + kernel-hidd-gayleata_MODDIR := $(kernel-hidd-gayleata_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-gayleata_INCDIR := +else +kernel-hidd-gayleata_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-gayleata_LIBDEFSINC := $(kernel-hidd-gayleata_OBJDIR)/include/$(kernel-hidd-gayleata_DEFNAME)_libdefs.h +kernel-hidd-gayleata_DEFLIBDEFSINC := $(kernel-hidd-gayleata_OBJDIR)/include/$(kernel-hidd-gayleata_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-gayleata-includes-quick : kernel-hidd-gayleata-includes +kernel-hidd-gayleata-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-gayleata_INCDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-gayleata_LIBDEFSINC) $(kernel-hidd-gayleata_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-gayleata_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-gayleata-includes_MODNAME := ata_gayle_ +else + kernel-hidd-gayleata-includes_MODNAME := ata_gayle +endif + +ifneq ($($(kernel-hidd-gayleata-includes_MODNAME)_INCLUDES),) + +kernel-hidd-gayleata-includes_TARGETS := $($(kernel-hidd-gayleata-includes_MODNAME)_INCLUDES) + +kernel-hidd-gayleata-includes_DEPS := $(GENMODULE) +kernel-hidd-gayleata-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gayleata-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gayleata-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gayleata-includes_OPTS += -c + kernel-hidd-gayleata-includes_DEPS += + endif +else + kernel-hidd-gayleata-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ata_gayle.conf + kernel-hidd-gayleata-includes_DEPS += $(SRCDIR)/$(CURDIR)/ata_gayle.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gayleata-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gayleata-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gayleata-includes_OPTS += -o + kernel-hidd-gayleata-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-gayleata-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-gayleata_OBJDIR)/include,) + kernel-hidd-gayleata-includes_OPTS += -d $(kernel-hidd-gayleata_OBJDIR)/include + kernel-hidd-gayleata-includes_TARGETS := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/include/,$(kernel-hidd-gayleata-includes_TARGETS)) + kernel-hidd-gayleata-includes_GENINCFLAG=$(kernel-hidd-gayleata_OBJDIR)/include/.ata_gayle.hidd-includes +else + kernel-hidd-gayleata-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.ata_gayle.hidd-includes +endif + +$(kernel-hidd-gayleata-includes_TARGETS) : $(kernel-hidd-gayleata-includes_DEPS) $(kernel-hidd-gayleata-includes_GENINCFLAG) + +$(kernel-hidd-gayleata-includes_GENINCFLAG) : OPTS := $(kernel-hidd-gayleata-includes_OPTS) +$(kernel-hidd-gayleata-includes_GENINCFLAG) : MODNAME := ata_gayle +$(kernel-hidd-gayleata-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-gayleata-includes_GENINCFLAG) : $(kernel-hidd-gayleata-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-gayleata_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) : | $(kernel-hidd-gayleata_OBJDIR)/ata_gayle_geninc + +$(kernel-hidd-gayleata_OBJDIR)/ata_gayle_geninc : COPYSRCDIR := $(kernel-hidd-gayleata_OBJDIR)/include +$(kernel-hidd-gayleata_OBJDIR)/ata_gayle_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-gayleata_OBJDIR)/ata_gayle_geninc : FILES := $($(kernel-hidd-gayleata_DEFNAME)_INCLUDES) +$(kernel-hidd-gayleata_OBJDIR)/ata_gayle_geninc : $(addprefix $(kernel-hidd-gayleata_OBJDIR)/include/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-gayleata_OBJDIR)/include + +$(addprefix $(kernel-hidd-gayleata_INCDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) : | $(kernel-hidd-gayleata_OBJDIR)/ata_gayle_incs + +$(kernel-hidd-gayleata_OBJDIR)/ata_gayle_incs : COPYSRCDIR := $(kernel-hidd-gayleata_OBJDIR)/include +$(kernel-hidd-gayleata_OBJDIR)/ata_gayle_incs : TGTDIR := $(kernel-hidd-gayleata_INCDIR) +$(kernel-hidd-gayleata_OBJDIR)/ata_gayle_incs : FILES := $($(kernel-hidd-gayleata_DEFNAME)_INCLUDES) +$(kernel-hidd-gayleata_OBJDIR)/ata_gayle_incs : $(addprefix $(kernel-hidd-gayleata_OBJDIR)/include/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-gayleata_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)))) + +TMPata_gayle_INCDIRS := \ + $(kernel-hidd-gayleata_OBJDIR)/include $(addprefix $(kernel-hidd-gayleata_OBJDIR)/include/,$(kernel-hidd-gayleata_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-gayleata_INCDIRS)) \ + $(kernel-hidd-gayleata_INCDIR) $(addprefix $(kernel-hidd-gayleata_INCDIR)/,$(kernel-hidd-gayleata_INCDIRS)) + +ifneq (kernel-hidd-gayleata-includes-dirs,) +kernel-hidd-gayleata-includes-dirs : | $(TMPata_gayle_INCDIRS) +else +kernel-hidd-gayleata-includes-dirs :: $(TMPata_gayle_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPata_gayle_INCDIRS) + + +endif + +endif + + +kernel-hidd-gayleata-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-gayleata-genlibdefs_OPTS += -f + kernel-hidd-gayleata-genlibdefs_MODNAME := ata_gayle_ +else + kernel-hidd-gayleata-genlibdefs_MODNAME := ata_gayle +endif +kernel-hidd-gayleata-genlibdefs_TARGET := $(kernel-hidd-gayleata-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-gayleata-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gayleata-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gayleata-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gayleata-genlibdefs_OPTS += -c + kernel-hidd-gayleata-genlibdefs_DEPS += + endif +else + kernel-hidd-gayleata-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ata_gayle.conf + kernel-hidd-gayleata-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ata_gayle.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gayleata-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gayleata-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gayleata-genlibdefs_OPTS += -o + kernel-hidd-gayleata-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-gayleata-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-gayleata_OBJDIR)/include,) + kernel-hidd-gayleata-genlibdefs_OPTS += -d $(kernel-hidd-gayleata_OBJDIR)/include + kernel-hidd-gayleata-genlibdefs_TARGET := $(kernel-hidd-gayleata_OBJDIR)/include/$(kernel-hidd-gayleata-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-gayleata-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-gayleata-genlibdefs_TARGET) : OPTS := $(kernel-hidd-gayleata-genlibdefs_OPTS) +$(kernel-hidd-gayleata-genlibdefs_TARGET) : MODNAME := ata_gayle +$(kernel-hidd-gayleata-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-gayleata-genlibdefs_TARGET) : $(kernel-hidd-gayleata-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-gayleata_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-gayleata_LIBDEFSINC) +$(kernel-hidd-gayleata_DEFLIBDEFSINC) : $(kernel-hidd-gayleata_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-gayleata_LIBDEFSINC) $(kernel-hidd-gayleata_DEFLIBDEFSINC) : | $(kernel-hidd-gayleata_OBJDIR)/include + +ifneq (kernel-hidd-gayleata-includes-dirs,) +kernel-hidd-gayleata-includes-dirs : | $(kernel-hidd-gayleata_OBJDIR)/include +else +kernel-hidd-gayleata-includes-dirs :: $(kernel-hidd-gayleata_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-gayleata_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-gayleata-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-gayleata-genmodfiles_OPTS += -f + kernel-hidd-gayleata-genmodfiles_MODNAME := ata_gayle_ +else + kernel-hidd-gayleata-genmodfiles_MODNAME := ata_gayle +endif +kernel-hidd-gayleata-genmodfiles_GENTARGETS := $($(kernel-hidd-gayleata-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-gayleata-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-gayleata-genmodfiles_STUBTARGETS := $($(kernel-hidd-gayleata-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-gayleata-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-gayleata-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-gayleata-genmodfiles_GENTARGETS)) +kernel-hidd-gayleata-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-gayleata-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-gayleata-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-gayleata-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-gayleata-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gayleata-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gayleata-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gayleata-genmodfiles_OPTS += -c + kernel-hidd-gayleata-genmodfiles_DEPS += + endif +else + kernel-hidd-gayleata-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ata_gayle.conf + kernel-hidd-gayleata-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ata_gayle.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gayleata-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gayleata-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gayleata-genmodfiles_OPTS += -o + kernel-hidd-gayleata-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-gayleata-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-gayleata_OBJDIR),) + kernel-hidd-gayleata-genmodfiles_OPTS += -d $(kernel-hidd-gayleata_OBJDIR) + kernel-hidd-gayleata-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-gayleata_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-gayleata-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-gayleata-genmodfiles_TARGETDIR)/,$(kernel-hidd-gayleata-genmodfiles_GENTARGETS)) + kernel-hidd-gayleata-genmodfiles_GENFILEFLAG=$(kernel-hidd-gayleata-genmodfiles_TARGETDIR)/.ata_gayle.hidd-genfiles +else + kernel-hidd-gayleata-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.ata_gayle.hidd-genfiles +endif +ifneq ($(kernel-hidd-gayleata_OBJDIR)/linklib,) + kernel-hidd-gayleata-genmodfiles_OPTS += -l $(kernel-hidd-gayleata_OBJDIR)/linklib + kernel-hidd-gayleata-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-gayleata_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-gayleata-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-gayleata-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-gayleata-genmodfiles_STUBTARGETS)) + kernel-hidd-gayleata-genmodfiles_TARGETDIRS += $(kernel-hidd-gayleata_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-gayleata_OBJDIR),) + kernel-hidd-gayleata-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-gayleata-genmodfiles_TARGETDIR)/,$(kernel-hidd-gayleata-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-gayleata-genmodfiles_TARGETS := $(kernel-hidd-gayleata-genmodfiles_GENTARGETS) $(kernel-hidd-gayleata-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-gayleata-genmodfiles_TARGETDIRS),) +$(kernel-hidd-gayleata-genmodfiles_TARGETS) : | $(kernel-hidd-gayleata-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-gayleata-genmodfiles_TARGETS) : $(kernel-hidd-gayleata-genmodfiles_DEPS) $(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-gayleata-genmodfiles_OPTS) +$(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG) : MODNAME := ata_gayle +$(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG) : $(kernel-hidd-gayleata-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG) : $(kernel-hidd-gayleata_DEFLIBDEFSINC) $(kernel-hidd-gayleata-makefile) + + +ifneq ($(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-gayleata_OBJDIR)/linklib +else +$(kernel-hidd-gayleata-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-gayleata_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-gayleata_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-gayleata_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-gayleata_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-gayleata-fd : $(kernel-hidd-gayleata_FDDIR)/ata_gayle_lib.fd + + +TMP_TARGET := ata_gayle_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ata_gayle.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ata_gayle.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-gayleata_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-gayleata_FDDIR) + TMP_TARGET := $(kernel-hidd-gayleata_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := ata_gayle +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-gayleata_FDDIR)/ata_gayle_lib.fd : | $(kernel-hidd-gayleata_FDDIR) + + +ifneq (kernel-hidd-gayleata-fd-setup,) +kernel-hidd-gayleata-fd-setup : | $(kernel-hidd-gayleata_FDDIR) +else +kernel-hidd-gayleata-fd-setup :: $(kernel-hidd-gayleata_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gayleata_FDDIR) + +endif + +## Compilation +## +kernel-hidd-gayleata_FILES := $(FILES) +kernel-hidd-gayleata_OBJCFILES := +kernel-hidd-gayleata_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-gayleata_LIBFILES := +kernel-hidd-gayleata_LIBS := + +kernel-hidd-gayleata_FDIRS := $(sort $(dir $(kernel-hidd-gayleata_FILES))) + +kernel-hidd-gayleata_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-gayleata_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-gayleata_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-gayleata_FILTERARCH = $(filter-out $(call kernel-hidd-gayleata_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-gayleata_STARTFILES := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_STARTFILES)) +kernel-hidd-gayleata_ENDFILES := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_ENDFILES)) + +kernel-hidd-gayleata_ARCHOBJS := $(wildcard $(kernel-hidd-gayleata_OBJDIR)/arch/*.o) +kernel-hidd-gayleata_LIBARCHOBJS := $(wildcard $(kernel-hidd-gayleata_OBJDIR)/linklib/arch/*.o) +kernel-hidd-gayleata_ARCHFILES := $(basename $(notdir $(kernel-hidd-gayleata_ARCHOBJS))) +kernel-hidd-gayleata_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-gayleata_LIBARCHOBJS))) +kernel-hidd-gayleata_C_NARCHFILES := $(call kernel-hidd-gayleata_FILTERARCH,$(kernel-hidd-gayleata_ARCHFILES),$(kernel-hidd-gayleata_FILES)) +kernel-hidd-gayleata_CXX_NARCHFILES := $(call kernel-hidd-gayleata_FILTERARCH,$(kernel-hidd-gayleata_ARCHFILES),$(kernel-hidd-gayleata_CXXFILES)) +kernel-hidd-gayleata_OBJC_NARCHFILES := $(call kernel-hidd-gayleata_FILTERARCH,$(kernel-hidd-gayleata_ARCHFILES),$(kernel-hidd-gayleata_OBJCFILES)) +kernel-hidd-gayleata_NLIBARCHFILES := $(call kernel-hidd-gayleata_FILTERARCH,$(kernel-hidd-gayleata_LIBARCHFILES),$(kernel-hidd-gayleata_LIBFILES)) +kernel-hidd-gayleata_ARCHNLIBFILES := $(call kernel-hidd-gayleata_FILTERARCH,$(kernel-hidd-gayleata_LIBFILES),$(kernel-hidd-gayleata_LIBARCHFILES)) + +kernel-hidd-gayleata_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-gayleata_OBJDIR)/include -include $(kernel-hidd-gayleata_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-gayleata_CPPFLAGS += -I +endif +kernel-hidd-gayleata_LINKLIBCPPFLAGS := $(kernel-hidd-gayleata_CPPFLAGS) +kernel-hidd-gayleata_CPPFLAGS += $(strip $($(kernel-hidd-gayleata_DEFNAME)_CPPFLAGS)) +kernel-hidd-gayleata_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-gayleata_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-gayleata_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-gayleata_DEFNAME)_CFLAGS)) +kernel-hidd-gayleata_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-gayleata_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-gayleata_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-gayleata_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-gayleata_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-gayleata_CFLAGS := $(strip $(kernel-hidd-gayleata_LTOFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +kernel-hidd-gayleata_LINKLIBCFLAGS := $(strip $(kernel-hidd-gayleata_LTOFLAGS) $(kernel-hidd-gayleata_LINKLIBCFLAGS)) +kernel-hidd-gayleata_CXXFLAGS := $(strip $(kernel-hidd-gayleata_LTOFLAGS) $(kernel-hidd-gayleata_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-gayleata_SUBSTNULL := +kernel-hidd-gayleata_SUBSTSPACE := $(kernel-hidd-gayleata_SUBSTNULL) # +kernel-hidd-gayleata_SUBSTCOMMA := , +kernel-hidd-gayleata_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-gayleata_SUBSTSPACE),$(kernel-hidd-gayleata_SUBSTCOMMA),$(strip $($(kernel-hidd-gayleata_DEFNAME)_STARTFILES)))) +kernel-hidd-gayleata_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-gayleata_CFLAGS := $(strip $(kernel-hidd-gayleata_INSTRFUNCFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +kernel-hidd-gayleata_CXXFLAGS := $(strip $(kernel-hidd-gayleata_INSTRFUNCFLAGS) $(kernel-hidd-gayleata_CXXFLAGS)) +kernel-hidd-gayleata_LIBS += $(kernel-hidd-gayleata_INSTRFUNCLIBS) +endif +endif +kernel-hidd-gayleata_DFLAGS := $(strip $(kernel-hidd-gayleata_DFLAGS) $($(kernel-hidd-gayleata_DEFNAME)_DFLAGS)) +kernel-hidd-gayleata_LINKLIBDFLAGS := $(strip $(kernel-hidd-gayleata_DFLAGS) $($(kernel-hidd-gayleata_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-gayleata_DXXFLAGS := $(strip $(kernel-hidd-gayleata_DXXFLAGS) $($(kernel-hidd-gayleata_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-gayleata_LIBSUFFIX := +else + kernel-hidd-gayleata_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-gayleata_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-gayleata_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-gayleata_LINKLIBCFILES := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$($(kernel-hidd-gayleata_DEFNAME)_LINKLIBFILES)) +kernel-hidd-gayleata_LINKLIBAFILES := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$($(kernel-hidd-gayleata_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-gayleata_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-gayleata_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-gayleata_ARCHNLIBFILES)),) + kernel-hidd-gayleata_LINKLIB := +else + kernel-hidd-gayleata_LINKLIB := $(kernel-hidd-gayleata_LIBDIR)/libata_gayle$(kernel-hidd-gayleata_LIBSUFFIX).a + ifneq (ata_gayle,$(kernel-hidd-gayleata_LINKLIBNAME)) + kernel-hidd-gayleata_LINKLIB += $(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)$(kernel-hidd-gayleata_LIBSUFFIX).a + endif +endif +kernel-hidd-gayleata_LINKLIBFILES := $(kernel-hidd-gayleata_LINKLIBCFILES) $(kernel-hidd-gayleata_LINKLIBAFILES) + +kernel-hidd-gayleata_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$($(kernel-hidd-gayleata_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-gayleata_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$($(kernel-hidd-gayleata_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-gayleata_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-gayleata_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-gayleata_ARCHNLIBFILES)),) + kernel-hidd-gayleata_RELLINKLIB := +else + kernel-hidd-gayleata_RELLINKLIB := $(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_DEFNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a + ifneq (ata_gayle,$(kernel-hidd-gayleata_LINKLIBNAME)) + kernel-hidd-gayleata_RELLINKLIB += $(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a + endif +endif +kernel-hidd-gayleata_RELLINKLIBFILES := $(kernel-hidd-gayleata_RELLINKLIBCFILES) $(kernel-hidd-gayleata_RELLINKLIBAFILES) +endif + +kernel-hidd-gayleata_ENDOBJS := $(addsuffix .o,$(kernel-hidd-gayleata_ENDFILES)) +kernel-hidd-gayleata_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gayleata_NLIBARCHFILES))) $(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-gayleata_ARCHNLIBFILES))) $(kernel-hidd-gayleata_LINKLIBFILES)) \ + +kernel-hidd-gayleata_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gayleata_NLIBARCHFILES))) $(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-gayleata_ARCHNLIBFILES))) $(kernel-hidd-gayleata_RELLINKLIBFILES)) \ + +$(kernel-hidd-gayleata_LINKLIBFILES) $(kernel-hidd-gayleata_RELLINKLIBFILES) : | $(kernel-hidd-gayleata_OBJDIR)/linklib +$(kernel-hidd-gayleata_LINKLIBOBJS) $(kernel-hidd-gayleata_RELLINKLIBOBJS) : | $(kernel-hidd-gayleata_OBJDIR)/linklib + +kernel-hidd-gayleata_CCFILES := $(kernel-hidd-gayleata_C_NARCHFILES) +kernel-hidd-gayleata_TARGETCCFILES := $(strip $(kernel-hidd-gayleata_STARTFILES) $(kernel-hidd-gayleata_ENDFILES)) +kernel-hidd-gayleata_LINKLIBCCFILES := $(strip $(kernel-hidd-gayleata_NLIBARCHFILES) $(kernel-hidd-gayleata_LINKLIBCFILES) $(kernel-hidd-gayleata_RELLINKLIBCFILES)) +kernel-hidd-gayleata_LINKLIBCCGENFILES := $(strip $(kernel-hidd-gayleata_LINKLIBCFILES) $(kernel-hidd-gayleata_RELLINKLIBCFILES)) + + +kernel-hidd-gayleata_CXXABSBASENAMES := $(foreach kernel-hidd-gayleata_CXXBASE,$(kernel-hidd-gayleata_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-gayleata_CXXBASE)),$(kernel-hidd-gayleata_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-gayleata_CXXBASE)))) + +ifneq ($(kernel-hidd-gayleata_CXXABSBASENAMES),) + +kernel-hidd-gayleata_CXXBASENAMES := $(basename $(kernel-hidd-gayleata_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-gayleata_MCXX_FILES := $(strip $(foreach kernel-hidd-gayleata_CXXBASE,$(kernel-hidd-gayleata_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-gayleata_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-gayleata_EXT),$(kernel-hidd-gayleata_CXXBASE))))))) + +ifeq (,) +kernel-hidd-gayleata_MCXX_SRCWILDCARD := % +else +kernel-hidd-gayleata_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gayleata_OBJDIR),) + kernel-hidd-gayleata_CXXTARGETS := $(notdir $(kernel-hidd-gayleata_CXXBASENAMES:=.o)) + kernel-hidd-gayleata_CXXDTARGETS := $(notdir $(kernel-hidd-gayleata_CXXBASENAMES:=.d)) + kernel-hidd-gayleata_MCXX_WILDCARD := % +else + kernel-hidd-gayleata_CXXTARGETS := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(kernel-hidd-gayleata_CXXBASENAMES:=.o))) + kernel-hidd-gayleata_CXXDTARGETS := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(kernel-hidd-gayleata_CXXBASENAMES:=.d))) + kernel-hidd-gayleata_MCXX_WILDCARD := $(kernel-hidd-gayleata_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-gayleata_CXXTARGETS) $(kernel-hidd-gayleata_CXXDTARGETS) : | $(kernel-hidd-gayleata_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-gayleata_MCXX_CPPFLAGS := $(kernel-hidd-gayleata_CPPFLAGS) +kernel-hidd-gayleata_CXXFLAGS := $(kernel-hidd-gayleata_CXXFLAGS) +ifeq ($(kernel-hidd-gayleata_DXXFLAGS),) + kernel-hidd-gayleata_DXXFLAGS := $(kernel-hidd-gayleata_CXXFLAGS) +else + kernel-hidd-gayleata_DXXFLAGS := $(kernel-hidd-gayleata_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-gayleata_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-gayleata_STRIP ?= $(HOST_STRIP) + kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-gayleata_CXXCMD:=$(HOST_CXX) + kernel-hidd-gayleata_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-gayleata_MCXX_CPPFLAGS) $(kernel-hidd-gayleata_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-gayleata_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-gayleata_CXXFLAGS)) + kernel-hidd-gayleata_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-gayleata_DXXFLAGS)) + kernel-hidd-gayleata_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-gayleata_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-gayleata_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-gayleata_STRIP ?= $(TARGET_STRIP) + kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-gayleata_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-gayleata_MCXX_CPPFLAGS := $(strip $(kernel-hidd-gayleata_MCXX_CPPFLAGS) $(kernel-hidd-gayleata_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-gayleata_CXXFLAGS := $(strip $(kernel-hidd-gayleata_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-gayleata_DXXFLAGS := $(kernel-hidd-gayleata_DXXFLAGS) + kernel-hidd-gayleata_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-gayleata_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-gayleata_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-gayleata_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-gayleata_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-gayleata_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-gayleata_MCXX_CPPFLAGS) $(kernel-hidd-gayleata_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-gayleata_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-gayleata_CXXFLAGS)) + kernel-hidd-gayleata_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-gayleata_DXXFLAGS)) + kernel-hidd-gayleata_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-gayleata_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-gayleata_CXXCMD) $(kernel-hidd-gayleata_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-gayleata_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_CXXIQUOTE) . $(kernel-hidd-gayleata_CXXIQUOTE_END) $(strip $(kernel-hidd-gayleata_CXXFLAGS) $(kernel-hidd-gayleata_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-gayleata_CXXCMD) $(kernel-hidd-gayleata_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-gayleata_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_CXXIQUOTE) . $(kernel-hidd-gayleata_CXXIQUOTE_END) $(strip $(kernel-hidd-gayleata_CXXFLAGS) $(kernel-hidd-gayleata_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-gayleata_CXXCMD) $(kernel-hidd-gayleata_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-gayleata_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_CXXIQUOTE) . $(kernel-hidd-gayleata_CXXIQUOTE_END) $(strip $(kernel-hidd-gayleata_CXXFLAGS) $(kernel-hidd-gayleata_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-gayleata_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-gayleata_DXXFLAGS) $(kernel-hidd-gayleata_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-gayleata_OBJDIR),) + $(foreach kernel-hidd-gayleata_CXXFILE,$(kernel-hidd-gayleata_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-gayleata_CXXFILE))),$(kernel-hidd-gayleata_CXXFILE)))) +else + $(foreach kernel-hidd-gayleata_CXXFILE,$(kernel-hidd-gayleata_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(basename $(kernel-hidd-gayleata_CXXFILE)))),$(kernel-hidd-gayleata_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-gayleata_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-gayleata_MOBJC_SRCWILDCARD := % +else +kernel-hidd-gayleata_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gayleata_OBJDIR),) + kernel-hidd-gayleata_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-gayleata_OBJC_NARCHFILES)) + kernel-hidd-gayleata_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gayleata_OBJC_NARCHFILES)) + kernel-hidd-gayleata_MOBJC_WILDCARD := % +else + kernel-hidd-gayleata_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(kernel-hidd-gayleata_OBJC_NARCHFILES))) + kernel-hidd-gayleata_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(kernel-hidd-gayleata_OBJC_NARCHFILES))) + kernel-hidd-gayleata_MOBJC_WILDCARD := $(kernel-hidd-gayleata_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-gayleata_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-gayleata_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-gayleata_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gayleata_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-gayleata_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-gayleata_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gayleata_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-gayleata_MOBJC_DIRS),) + kernel-hidd-gayleata_MOBJC_DIRS := $(shell echo $(kernel-hidd-gayleata_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-gayleata_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-gayleata_CC := $(TARGET_CC) +else + kernel-hidd-gayleata_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-gayleata_MOBJC_CPPFLAGS := $(kernel-hidd-gayleata_CPPFLAGS) +kernel-hidd-gayleata_OBJCFLAGS := $(kernel-hidd-gayleata_CFLAGS) +kernel-hidd-gayleata_OBJCFLAGS := $(kernel-hidd-gayleata_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-gayleata_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-gayleata_OBJCFLAGS))) +ifeq ($(kernel-hidd-gayleata_DFLAGS),) + kernel-hidd-gayleata_OBJCDFLAGS := $(kernel-hidd-gayleata_CFLAGS) +else + kernel-hidd-gayleata_OBJCDFLAGS := $(kernel-hidd-gayleata_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-gayleata_LINK ?= $(strip $(kernel-hidd-gayleata_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-gayleata_STRIP ?= $(TARGET_STRIP) + kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-gayleata_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-gayleata_MOBJC_CPPFLAGS) $(kernel-hidd-gayleata_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_OBJCFLAGS:=$(strip $(kernel-hidd-gayleata_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_OBJCDFLAGS:=$(kernel-hidd-gayleata_OBJCDFLAGS) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-gayleata_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-gayleata_STRIP ?= $(HOST_STRIP) + kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-gayleata_MOBJC_CPPFLAGS) $(kernel-hidd-gayleata_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_OBJCFLAGS)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_OBJCDFLAGS)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-gayleata_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-gayleata_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-gayleata_MOBJC_CPPFLAGS) $(kernel-hidd-gayleata_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_OBJCFLAGS)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_OBJCDFLAGS)) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-gayleata_MOBJC_TARGETS) $(kernel-hidd-gayleata_MOBJC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gayleata_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-gayleata_MOBJC_CPPFLAGS) +$(kernel-hidd-gayleata_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-gayleata_OBJCFLAGS) +$(kernel-hidd-gayleata_MOBJC_TARGETS) : $(kernel-hidd-gayleata_MOBJC_WILDCARD).o : $(kernel-hidd-gayleata_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gayleata_MOBJC_DTARGETS) : $(kernel-hidd-gayleata_MOBJC_WILDCARD).d : $(kernel-hidd-gayleata_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gayleata_OBJCDFLAGS) $(kernel-hidd-gayleata_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-gayleata_MC_SRCWILDCARD := % +else +kernel-hidd-gayleata_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gayleata_OBJDIR),) +kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-gayleata_CCFILES)) +kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gayleata_CCFILES)) +kernel-hidd-gayleata_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(kernel-hidd-gayleata_CCFILES)))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(kernel-hidd-gayleata_CCFILES)))) +else +ifeq (,) + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(kernel-hidd-gayleata_CCFILES))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(kernel-hidd-gayleata_CCFILES))) +else + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-gayleata_CCFILES)))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-gayleata_CCFILES)))) +endif +endif +kernel-hidd-gayleata_MC_TGTWILDCARD := $(kernel-hidd-gayleata_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-gayleata_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-gayleata_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gayleata_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gayleata_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gayleata_MC_DIRS := $(foreach dir, $(kernel-hidd-gayleata_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gayleata_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gayleata_MC_DIRS),) + kernel-hidd-gayleata_MC_DIRS := $(shell echo $(kernel-hidd-gayleata_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-gayleata_MC_DIRS) +endif + +endif + +kernel-hidd-gayleata_MC_CPPFLAGS := $(kernel-hidd-gayleata_CPPFLAGS) +kernel-hidd-gayleata_CFLAGS := $(kernel-hidd-gayleata_CFLAGS) +ifeq ($(kernel-hidd-gayleata_DFLAGS),) + kernel-hidd-gayleata_DFLAGS := $(kernel-hidd-gayleata_CFLAGS) +else + kernel-hidd-gayleata_DFLAGS := $(kernel-hidd-gayleata_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-gayleata_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(TARGET_STRIP) +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(kernel-hidd-gayleata_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(kernel-hidd-gayleata_DFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-gayleata_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(HOST_STRIP) +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_DFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-gayleata_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_DFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gayleata_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-gayleata_MC_CPPFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) : CFLAGS := $(kernel-hidd-gayleata_CFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) : $(kernel-hidd-gayleata_MC_TGTWILDCARD).o : $(kernel-hidd-gayleata_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gayleata_MC_DTARGETS) : $(kernel-hidd-gayleata_MC_TGTWILDCARD).d : $(kernel-hidd-gayleata_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gayleata_DFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-gayleata_MC_SRCWILDCARD := % +else +kernel-hidd-gayleata_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gayleata_OBJDIR),) +kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-gayleata_TARGETCCFILES)) +kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gayleata_TARGETCCFILES)) +kernel-hidd-gayleata_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(kernel-hidd-gayleata_TARGETCCFILES)))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(kernel-hidd-gayleata_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(kernel-hidd-gayleata_TARGETCCFILES))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(kernel-hidd-gayleata_TARGETCCFILES))) +else + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-gayleata_TARGETCCFILES)))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-gayleata_TARGETCCFILES)))) +endif +endif +kernel-hidd-gayleata_MC_TGTWILDCARD := $(kernel-hidd-gayleata_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-gayleata_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-gayleata_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gayleata_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gayleata_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gayleata_MC_DIRS := $(foreach dir, $(kernel-hidd-gayleata_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gayleata_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gayleata_MC_DIRS),) + kernel-hidd-gayleata_MC_DIRS := $(shell echo $(kernel-hidd-gayleata_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-gayleata_MC_DIRS) +endif + +endif + +kernel-hidd-gayleata_MC_CPPFLAGS := $(kernel-hidd-gayleata_CPPFLAGS) -D__AROS__ +kernel-hidd-gayleata_CFLAGS := $(kernel-hidd-gayleata_CFLAGS) +ifeq ($(kernel-hidd-gayleata_DFLAGS),) + kernel-hidd-gayleata_DFLAGS := $(kernel-hidd-gayleata_CFLAGS) +else + kernel-hidd-gayleata_DFLAGS := $(kernel-hidd-gayleata_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-gayleata_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(TARGET_STRIP) +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(kernel-hidd-gayleata_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(kernel-hidd-gayleata_DFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-gayleata_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(HOST_STRIP) +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_DFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-gayleata_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_DFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gayleata_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-gayleata_MC_CPPFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) : CFLAGS := $(kernel-hidd-gayleata_CFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) : $(kernel-hidd-gayleata_MC_TGTWILDCARD).o : $(kernel-hidd-gayleata_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gayleata_MC_DTARGETS) : $(kernel-hidd-gayleata_MC_TGTWILDCARD).d : $(kernel-hidd-gayleata_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gayleata_DFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-gayleata_MC_SRCWILDCARD := % +else +kernel-hidd-gayleata_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gayleata_OBJDIR)/linklib,) +kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-gayleata_NLIBARCHFILES)) +kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gayleata_NLIBARCHFILES)) +kernel-hidd-gayleata_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gayleata_NLIBARCHFILES)))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gayleata_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(kernel-hidd-gayleata_NLIBARCHFILES))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(kernel-hidd-gayleata_NLIBARCHFILES))) +else + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-gayleata_NLIBARCHFILES)))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-gayleata_NLIBARCHFILES)))) +endif +endif +kernel-hidd-gayleata_MC_TGTWILDCARD := $(kernel-hidd-gayleata_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-gayleata_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-gayleata_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gayleata_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gayleata_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gayleata_MC_DIRS := $(foreach dir, $(kernel-hidd-gayleata_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gayleata_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gayleata_MC_DIRS),) + kernel-hidd-gayleata_MC_DIRS := $(shell echo $(kernel-hidd-gayleata_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-gayleata_MC_DIRS) +endif + +endif + +kernel-hidd-gayleata_MC_CPPFLAGS := $(kernel-hidd-gayleata_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-gayleata_CFLAGS := $(kernel-hidd-gayleata_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-gayleata_LINKLIBDFLAGS),) + kernel-hidd-gayleata_DFLAGS := $(kernel-hidd-gayleata_LINKLIBCFLAGS) +else + kernel-hidd-gayleata_DFLAGS := $(kernel-hidd-gayleata_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-gayleata_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(TARGET_STRIP) +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(kernel-hidd-gayleata_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(kernel-hidd-gayleata_DFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-gayleata_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(HOST_STRIP) +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_DFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-gayleata_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_DFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gayleata_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-gayleata_MC_CPPFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) : CFLAGS := $(kernel-hidd-gayleata_CFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) : $(kernel-hidd-gayleata_MC_TGTWILDCARD).o : $(kernel-hidd-gayleata_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gayleata_MC_DTARGETS) : $(kernel-hidd-gayleata_MC_TGTWILDCARD).d : $(kernel-hidd-gayleata_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gayleata_DFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-gayleata_OBJDIR)/linklib,) +kernel-hidd-gayleata_MC_SRCWILDCARD := % +else +kernel-hidd-gayleata_MC_SRCWILDCARD := $(kernel-hidd-gayleata_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-gayleata_OBJDIR)/linklib,) +kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-gayleata_LINKLIBCCGENFILES)) +kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gayleata_LINKLIBCCGENFILES)) +kernel-hidd-gayleata_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gayleata_LINKLIBCCGENFILES)))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gayleata_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-gayleata_OBJDIR)/linklib,) + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(kernel-hidd-gayleata_LINKLIBCCGENFILES))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(kernel-hidd-gayleata_LINKLIBCCGENFILES))) +else + kernel-hidd-gayleata_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-gayleata_OBJDIR)/linklib/%,%,$(kernel-hidd-gayleata_LINKLIBCCGENFILES)))) + kernel-hidd-gayleata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-gayleata_OBJDIR)/linklib/%,%,$(kernel-hidd-gayleata_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-gayleata_MC_TGTWILDCARD := $(kernel-hidd-gayleata_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-gayleata_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-gayleata_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gayleata_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gayleata_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gayleata_MC_DIRS := $(foreach dir, $(kernel-hidd-gayleata_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gayleata_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gayleata_MC_DIRS),) + kernel-hidd-gayleata_MC_DIRS := $(shell echo $(kernel-hidd-gayleata_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-gayleata_MC_DIRS) +endif + +endif + +kernel-hidd-gayleata_MC_CPPFLAGS := $(kernel-hidd-gayleata_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-gayleata_CFLAGS := $(kernel-hidd-gayleata_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-gayleata_LINKLIBDFLAGS),) + kernel-hidd-gayleata_DFLAGS := $(kernel-hidd-gayleata_LINKLIBCFLAGS) +else + kernel-hidd-gayleata_DFLAGS := $(kernel-hidd-gayleata_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-gayleata_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(TARGET_STRIP) +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(kernel-hidd-gayleata_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(kernel-hidd-gayleata_DFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-gayleata_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(HOST_STRIP) +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gayleata_DFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-gayleata_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-gayleata_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-gayleata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS) $(kernel-hidd-gayleata_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_CFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gayleata_DFLAGS)) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-gayleata_MC_TARGETS) $(kernel-hidd-gayleata_MC_DTARGETS) : kernel-hidd-gayleata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gayleata_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-gayleata_MC_CPPFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) : CFLAGS := $(kernel-hidd-gayleata_CFLAGS) +$(kernel-hidd-gayleata_MC_TARGETS) : $(kernel-hidd-gayleata_MC_TGTWILDCARD).o : $(kernel-hidd-gayleata_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gayleata_IQUOTE) $(dir $<) $(kernel-hidd-gayleata_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gayleata_IQUOTE) . $(kernel-hidd-gayleata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gayleata_MC_DTARGETS) : $(kernel-hidd-gayleata_MC_TGTWILDCARD).d : $(kernel-hidd-gayleata_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gayleata_DFLAGS) $(kernel-hidd-gayleata_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-gayleata_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-gayleata_OBJDIR)/linklib,) +kernel-hidd-gayleata-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-gayleata_LINKLIBAFILES) $(kernel-hidd-gayleata_RELLINKLIBAFILES)) +kernel-hidd-gayleata-MA_WILDCARD := % +else +kernel-hidd-gayleata-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gayleata_LINKLIBAFILES) $(kernel-hidd-gayleata_RELLINKLIBAFILES)))) +kernel-hidd-gayleata-MA_WILDCARD := $(kernel-hidd-gayleata_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-gayleata-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-gayleata_LINKLIBAFILES) $(kernel-hidd-gayleata_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-gayleata-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gayleata-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gayleata_LINKLIBAFILES) $(kernel-hidd-gayleata_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gayleata-MA_DIRS := $(foreach dir, $(kernel-hidd-gayleata-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gayleata-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gayleata-MA_DIRS),) + kernel-hidd-gayleata-MA_DIRS := $(shell echo $(kernel-hidd-gayleata-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-gayleata-MA_DIRS) +endif + +endif + +kernel-hidd-gayleata-MA_ASSEMBLER ?= $(kernel-hidd-gayleata_ASSEMBLER) + +$(kernel-hidd-gayleata-MA_TARGETS) : kernel-hidd-gayleata-MA_CMD:= $(kernel-hidd-gayleata-MA_ASSEMBLER) + +$(kernel-hidd-gayleata-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-gayleata-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-gayleata-MA_TARGETS) : $(kernel-hidd-gayleata-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-gayleata-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-gayleata-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-gayleata-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-gayleata_SUFFIX := hidd +else +kernel-hidd-gayleata_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-gayleata_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-gayleata_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-gayleata_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-gayleata_SUFFIX),handler) +kernel-hidd-gayleata_MODULE := $(AROSDIR)/$(kernel-hidd-gayleata_MODDIR)/$(kernel-hidd-gayleata_DEFNAME)-$(kernel-hidd-gayleata_SUFFIX) +else +kernel-hidd-gayleata_MODULE := $(AROSDIR)/$(kernel-hidd-gayleata_MODDIR)/$(kernel-hidd-gayleata_DEFNAME).$(kernel-hidd-gayleata_SUFFIX) +endif +kernel-hidd-gayleata_KOBJ := $(KOBJSDIR)/$(kernel-hidd-gayleata_DEFNAME)_$(kernel-hidd-gayleata_SUFFIX).o +else +kernel-hidd-gayleata_MODULE := +kernel-hidd-gayleata_KOBJ := +endif + +kernel-hidd-gayleata-quick : kernel-hidd-gayleata +kernel-hidd-gayleata : $(kernel-hidd-gayleata_MODULE) $(kernel-hidd-gayleata_LINKLIB) $(kernel-hidd-gayleata_RELLINKLIB) +ifeq (M,M) +kernel-hidd-gayleata-kobj : $(kernel-hidd-gayleata_KOBJ) $(kernel-hidd-gayleata_LINKLIB) $(kernel-hidd-gayleata_RELLINKLIB) +kernel-hidd-gayleata-kobj-quick : $(kernel-hidd-gayleata_KOBJ) $(kernel-hidd-gayleata_LINKLIB) $(kernel-hidd-gayleata_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-gayleata-linklib : $(kernel-hidd-gayleata_LINKLIB) $(kernel-hidd-gayleata_RELLINKLIB) +endif + +kernel-hidd-gayleata_OBJS := $(addsuffix .o,$(kernel-hidd-gayleata_STARTFILES)) $(kernel-hidd-gayleata_ARCHOBJS) \ + $(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(kernel-hidd-gayleata_C_NARCHFILES:=.o) $(kernel-hidd-gayleata_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-gayleata_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (ata_gayle,con) + kernel-hidd-gayleata_ERR := $(notdir $(kernel-hidd-gayleata_MODULE)).err +else + kernel-hidd-gayleata_ERR := ata_gayle.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-gayleata_DEFNAME)_LDFLAGS) $(kernel-hidd-gayleata_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-gayleata_LIBS) $($(kernel-hidd-gayleata_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-gayleata_MODULE) : LIB_NAMES := $(kernel-hidd-gayleata_LIBS) $($(kernel-hidd-gayleata_DEFNAME)_LIBS) +$(kernel-hidd-gayleata_MODULE) : OBJS := $(kernel-hidd-gayleata_STARTOBJS) $(kernel-hidd-gayleata_OBJS) $(USER_OBJS) +$(kernel-hidd-gayleata_MODULE) : ENDTAG := $(kernel-hidd-gayleata_ENDOBJS) +$(kernel-hidd-gayleata_MODULE) : ERR := $(kernel-hidd-gayleata_ERR) +$(kernel-hidd-gayleata_MODULE) : OBJDIR := $(kernel-hidd-gayleata_OBJDIR) +$(kernel-hidd-gayleata_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-gayleata_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-gayleata_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-gayleata_MODULE) : $(kernel-hidd-gayleata_STARTOBJS) $(kernel-hidd-gayleata_OBJS) $(USER_OBJS) $(kernel-hidd-gayleata_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-gayleata_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-gayleata_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-gayleata_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-gayleata_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-gayleata_LC_MODNAME := $(shell echo ata_gayle | tr A-Z a-z) +ifneq ($(kernel-hidd-gayleata_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(HOST_AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(KERNEL_AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)$(kernel-hidd-gayleata_LIBSUFFIX).a : $(kernel-hidd-gayleata_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-gayleata_AR) $@ $^ + $(Q)$(kernel-hidd-gayleata_RANLIB) $@ +ifneq ($(kernel-hidd-gayleata_LC_MODNAME),$(kernel-hidd-gayleata_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-gayleata_LIBDIR)/libata_gayle$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(AR) +$(kernel-hidd-gayleata_LIBDIR)/libata_gayle$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-gayleata_LIBDIR)/libata_gayle$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(HOST_AR) +$(kernel-hidd-gayleata_LIBDIR)/libata_gayle$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-gayleata_LIBDIR)/libata_gayle$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(KERNEL_AR) +$(kernel-hidd-gayleata_LIBDIR)/libata_gayle$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-gayleata_LIBDIR)/libata_gayle$(kernel-hidd-gayleata_LIBSUFFIX).a : $(kernel-hidd-gayleata_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-gayleata_AR) $@ $^ + $(Q)$(kernel-hidd-gayleata_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-gayleata_LINKLIB),) +$(kernel-hidd-gayleata_LINKLIB) : | $(kernel-hidd-gayleata_LIBDIR) +else +$(kernel-hidd-gayleata_LINKLIB) :: $(kernel-hidd-gayleata_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gayleata_LIBDIR) + +endif + +ifneq ($(kernel-hidd-gayleata_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(HOST_AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(KERNEL_AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_LINKLIBNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : $(kernel-hidd-gayleata_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-gayleata_AR) $@ $^ + $(Q)$(kernel-hidd-gayleata_RANLIB) $@ +ifneq ($(kernel-hidd-gayleata_LC_MODNAME),$(kernel-hidd-gayleata_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_DEFNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_DEFNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_DEFNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(HOST_AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_DEFNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_DEFNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_AR:=$(KERNEL_AR) +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_DEFNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : kernel-hidd-gayleata_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-gayleata_LIBDIR)/lib$(kernel-hidd-gayleata_DEFNAME)_rel$(kernel-hidd-gayleata_LIBSUFFIX).a : $(kernel-hidd-gayleata_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-gayleata_AR) $@ $^ + $(Q)$(kernel-hidd-gayleata_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-gayleata_RELLINKLIB),) +$(kernel-hidd-gayleata_RELLINKLIB) : | $(kernel-hidd-gayleata_LIBDIR) +else +$(kernel-hidd-gayleata_RELLINKLIB) :: $(kernel-hidd-gayleata_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gayleata_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-gayleata_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-gayleata_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-gayleata_SYMBOLS := $(kernel-hidd-gayleata_KBASE) + +kernel-hidd-gayleata_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-gayleata_KOBJ_LIBS := $(filter-out $(kernel-hidd-gayleata_KLIB),$(kernel-hidd-gayleata_LIBS)) $(kernel-hidd-gayleata_KAUTOLIB) +$(kernel-hidd-gayleata_KOBJ) : LINKLIBS:=$(kernel-hidd-gayleata_KOBJ_LIBS) $($(kernel-hidd-gayleata_DEFNAME)_LIBS) +$(kernel-hidd-gayleata_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-gayleata_SYMBOLS)) +$(kernel-hidd-gayleata_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-gayleata_KOBJ) : $(kernel-hidd-gayleata_OBJS) $(USER_OBJS) $(kernel-hidd-gayleata_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-gayleata_DEPS := $(addprefix $(kernel-hidd-gayleata_OBJDIR)/,$(notdir $(kernel-hidd-gayleata_CCFILES:=.d) $(kernel-hidd-gayleata_TARGETCCFILES:=.d) $(kernel-hidd-gayleata_CXXFILES:=.d))) $(addprefix $(kernel-hidd-gayleata_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gayleata_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-gayleata_DEPS),) + ifneq (kernel-hidd-gayleata kernel-hidd-gayleata-quick kernel-hidd-gayleata-kobj kernel-hidd-gayleata-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-gayleata kernel-hidd-gayleata-quick kernel-hidd-gayleata-kobj kernel-hidd-gayleata-kobj-quick),) + -include $(kernel-hidd-gayleata_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-gayleata_DEPS) + endif + endif +endif + +$(kernel-hidd-gayleata_OBJS) $(kernel-hidd-gayleata_DEPS) : | $(kernel-hidd-gayleata_OBJDIR)/linklib + +ifneq ($(kernel-hidd-gayleata_OBJS) $(kernel-hidd-gayleata_DEPS) $(kernel-hidd-gayleata_MODULE) $(kernel-hidd-gayleata_KOBJ),) +$(kernel-hidd-gayleata_OBJS) $(kernel-hidd-gayleata_DEPS) $(kernel-hidd-gayleata_MODULE) $(kernel-hidd-gayleata_KOBJ) : | $(kernel-hidd-gayleata_OBJDIR) $(AROSDIR)/$(kernel-hidd-gayleata_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-gayleata_OBJS) $(kernel-hidd-gayleata_DEPS) $(kernel-hidd-gayleata_MODULE) $(kernel-hidd-gayleata_KOBJ) :: $(kernel-hidd-gayleata_OBJDIR) $(AROSDIR)/$(kernel-hidd-gayleata_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gayleata_OBJDIR) $(AROSDIR)/$(kernel-hidd-gayleata_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-gayleata kernel-hidd-gayleata-includes kernel-hidd-gayleata-quick kernel-hidd-gayleata-kobj kernel-hidd-gayleata-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-gayleata_DFILE_DEPS := $(kernel-hidd-gayleata_LIBDEFSINC) $(kernel-hidd-gayleata_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-gayleata_INCDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) +$(kernel-hidd-gayleata_DEPS) : $(kernel-hidd-gayleata_DFILE_DEPS) +endif + +kernel-hidd-gayleata_TOCLEAN := $(kernel-hidd-gayleata_OBJS) $(kernel-hidd-gayleata_DEPS) \ + $(kernel-hidd-gayleata_MODULE) $(kernel-hidd-gayleata_LINKLIB) $(kernel-hidd-gayleata_KOBJ) \ + $(kernel-hidd-gayleata_OBJDIR)/Makefile.ata_gaylehidd \ + $(addprefix $(kernel-hidd-gayleata_OBJDIR)/include/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-gayleata_INCDIR)/,$($(kernel-hidd-gayleata_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-gayleata_OBJDIR)/ata_gayle_geninc $(kernel-hidd-gayleata_OBJDIR)/ata_gayle_incs \ + $(addsuffix .c,$(kernel-hidd-gayleata_LINKLIBFILES)) $(kernel-hidd-gayleata_LINKLIBOBJS) $(kernel-hidd-gayleata_LIBDEFSINC) \ + $(kernel-hidd-gayleata_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-gayleata_STARTFILES) $(kernel-hidd-gayleata_ENDFILES)) \ + $(kernel-hidd-gayleata_ENDOBJS) +kernel-hidd-gayleata-clean : FILES := $(kernel-hidd-gayleata_TOCLEAN) +kernel-hidd-gayleata-clean :: + $(Q)$(ECHO) "Cleaning up for module ata_gayle" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-gayleata_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/gfx/mmakefile b/arch/m68k-amiga/hidd/gfx/mmakefile new file mode 100644 index 00000000000..62be2e44691 --- /dev/null +++ b/arch/m68k-amiga/hidd/gfx/mmakefile @@ -0,0 +1,262 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM kernel-hidd-gfx-amiga-m68k: kernel-hidd-includes + +FILES := rgbconv +AFILES := + +USER_INCLUDES := -I$(SRCDIR)/rom/hidds/gfx + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-hidd-gfx-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-hidd-gfx : \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU) \ +#MM kernel-hidd-gfx-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-hidd-gfx-$(ARCH) \ +#MM kernel-hidd-gfx-$(FAMILY) \ +#MM kernel-hidd-gfx-$(CPU) +#MM- kernel-hidd-gfx-linklib : \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU) \ +#MM kernel-hidd-gfx-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-hidd-gfx-$(ARCH) \ +#MM kernel-hidd-gfx-$(FAMILY) \ +#MM kernel-hidd-gfx-$(CPU) +#MM- kernel-hidd-gfx-kobj : \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU) \ +#MM kernel-hidd-gfx-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-hidd-gfx-$(ARCH) \ +#MM kernel-hidd-gfx-$(FAMILY) \ +#MM kernel-hidd-gfx-$(CPU) +#MM- kernel-hidd-gfx-kobj-quick : \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU)-quick \ +#MM kernel-hidd-gfx-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-hidd-gfx-$(ARCH)-quick \ +#MM kernel-hidd-gfx-$(FAMILY)-quick \ +#MM kernel-hidd-gfx-$(CPU)-quick +#MM- kernel-hidd-gfx-quick : \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-hidd-gfx-$(ARCH)-$(CPU)-quick \ +#MM kernel-hidd-gfx-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-hidd-gfx-$(ARCH)-quick \ +#MM kernel-hidd-gfx-$(FAMILY)-quick \ +#MM kernel-hidd-gfx-$(CPU)-quick + +#MM kernel-hidd-gfx-amiga-m68k : kernel-hidd-gfx-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (gfx,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/hidds/gfx/gfx +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/hidds/gfx +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (gfx,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/gfx_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-hidd-gfx-amiga-m68k-quick) + BD_TARGET := kernel-hidd-gfx-amiga-m68k-quick +else + BD_TARGET := kernel-hidd-gfx-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-hidd-gfx-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-hidd-gfx-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (gfx,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/keyboard/mmakefile b/arch/m68k-amiga/hidd/keyboard/mmakefile new file mode 100644 index 00000000000..0ca3832a160 --- /dev/null +++ b/arch/m68k-amiga/hidd/keyboard/mmakefile @@ -0,0 +1,1662 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS += \ + -D__UTILITY_NOLIBBASE__ \ + -D__OOP_NOLIBBASE__ \ + -D__OOP_NOMETHODBASES__ \ + -D__OOP_NOATTRBASES__ + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-amiga-m68k-kbd +#MM kernel-amiga-m68k-kbd-quick +#MM kernel-amiga-m68k-kbd-makefile +#MM kernel-amiga-m68k-kbd-clean + +# ABI targets: +#MM- includes-all : kernel-amiga-m68k-kbd-includes +#MM- linklibs-amigakbd: kernel-amiga-m68k-kbd-linklib +#MM- linklibs-amigakbd_rel : kernel-amiga-m68k-kbd-linklib +#MM- includes-amigakbd: kernel-amiga-m68k-kbd-includes +#MM- includes-amigakbd_rel : kernel-amiga-m68k-kbd-includes +#MM- kernel-amiga-m68k-kbd : kernel-amiga-m68k-kbd-includes core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-kbd-linklib : kernel-amiga-m68k-kbd-includes includes-hiddstubs +#MM- kernel-amiga-m68k-kbd-quick : kernel-amiga-m68k-kbd-includes-quick +#MM kernel-amiga-m68k-kbd-includes : kernel-amiga-m68k-kbd-makefile kernel-amiga-m68k-kbd-includes-dirs \ +#MM includes-generate-deps kernel-amiga-m68k-kbd-fd +#MM kernel-amiga-m68k-kbd-includes-quick +#MM kernel-amiga-m68k-kbd-includes-dirs +#MM kernel-amiga-m68k-kbd-fd + +# Library targets +#MM kernel-amiga-m68k-kbd-kobj : core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-kbd-kobj-quick : + +# Library with ABI targets: +#MM kernel-amiga-m68k-kbd-kobj : kernel-amiga-m68k-kbd-includes core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-kbd-kobj-quick : kernel-amiga-m68k-kbd-includes-quick + +# All MetaMake targets defined by this macro +kernel-amiga-m68k-kbd_ALLTARGETS := kernel-amiga-m68k-kbd kernel-amiga-m68k-kbd-quick kernel-amiga-m68k-kbd-clean + +ifeq (M,M) +kernel-amiga-m68k-kbd_ALLTARGETS += kernel-amiga-m68k-kbd-kobj kernel-amiga-m68k-kbd-kobj-quick +endif + +ifeq (M,M) +kernel-amiga-m68k-kbd_ALLTARGETS += kernel-amiga-m68k-kbd-includes \ + kernel-amiga-m68k-kbd-includes-quick kernel-amiga-m68k-kbd-includes-dirs \ + kernel-amiga-m68k-kbd-linklib kernel-amiga-m68k-kbd-fd +endif + +.PHONY : $(kernel-amiga-m68k-kbd_ALLTARGETS) kernel-amiga-m68k-kbd-makefile + +ifeq (amigakbd,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-amiga-m68k-kbd_DEFNAME := amigakbd_ +else + kernel-amiga-m68k-kbd_DEFNAME := amigakbd +endif +kernel-amiga-m68k-kbd_DEFLINKLIBNAME := $(kernel-amiga-m68k-kbd_DEFNAME) +ifneq (,) + kernel-amiga-m68k-kbd_LINKLIBNAME := +else + kernel-amiga-m68k-kbd_LINKLIBNAME = $(kernel-amiga-m68k-kbd_DEFLINKLIBNAME) +endif +kernel-amiga-m68k-kbd_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-amiga-m68k-kbd_DEFCPPFLAGS += -I +endif +kernel-amiga-m68k-kbd_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-amiga-m68k-kbd_DFLAGS := +else + kernel-amiga-m68k-kbd_DFLAGS = $(kernel-amiga-m68k-kbd_DEFDFLAGS) +endif +kernel-amiga-m68k-kbd_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-amiga-m68k-kbd_DXXFLAGS := +else + kernel-amiga-m68k-kbd_DXXFLAGS = $(kernel-amiga-m68k-kbd_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-kbd_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-kbd_DEFDFLAGS)) +kernel-amiga-m68k-kbd_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-kbd_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-kbd_FUNCINSTR := yes +kernel-amiga-m68k-kbd_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-kbd_DEFDFLAGS)) +kernel-amiga-m68k-kbd_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-kbd_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-amiga-m68k-kbd_OBJDIR := +else +kernel-amiga-m68k-kbd_OBJDIR := $(OBJDIR)/$(kernel-amiga-m68k-kbd_DEFNAME) +endif +ifneq (,) +kernel-amiga-m68k-kbd_OBJDIR := $(kernel-amiga-m68k-kbd_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-amiga-m68k-kbd-makefile := $(kernel-amiga-m68k-kbd_OBJDIR)/Makefile.$(kernel-amiga-m68k-kbd_DEFNAME)hidd +kernel-amiga-m68k-kbd-genmakefile : $(kernel-amiga-m68k-kbd-makefile) + + +kernel-amiga-m68k-kbd-genmakefile_OPTS := +ifneq (,) + kernel-amiga-m68k-kbd-genmakefile_OPTS += -f + kernel-amiga-m68k-kbd-genmakefile_MODNAME := amigakbd_ +else + kernel-amiga-m68k-kbd-genmakefile_MODNAME := amigakbd +endif +kernel-amiga-m68k-kbd-genmakefile_TARGET := Makefile.$(kernel-amiga-m68k-kbd-genmakefile_MODNAME)hidd +kernel-amiga-m68k-kbd-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-kbd-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-kbd-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-kbd-genmakefile_OPTS += -c + kernel-amiga-m68k-kbd-genmakefile_DEPS += + endif +else + kernel-amiga-m68k-kbd-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/amigakbd.conf + kernel-amiga-m68k-kbd-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/amigakbd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-kbd-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-kbd-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-kbd-genmakefile_OPTS += -o + kernel-amiga-m68k-kbd-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-kbd-genmakefile_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-kbd_OBJDIR),) + kernel-amiga-m68k-kbd-genmakefile_OPTS += -d $(kernel-amiga-m68k-kbd_OBJDIR) + kernel-amiga-m68k-kbd-genmakefile_TARGET := $(kernel-amiga-m68k-kbd_OBJDIR)/$(kernel-amiga-m68k-kbd-genmakefile_TARGET) +endif + +$(kernel-amiga-m68k-kbd-genmakefile_TARGET) : OPTS := $(kernel-amiga-m68k-kbd-genmakefile_OPTS) +$(kernel-amiga-m68k-kbd-genmakefile_TARGET) : MODNAME := amigakbd +$(kernel-amiga-m68k-kbd-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-amiga-m68k-kbd-genmakefile_TARGET) : $(kernel-amiga-m68k-kbd-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-amiga-m68k-kbd-makefile),) +$(kernel-amiga-m68k-kbd-makefile) : | $(kernel-amiga-m68k-kbd_OBJDIR) +else +$(kernel-amiga-m68k-kbd-makefile) :: $(kernel-amiga-m68k-kbd_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-kbd_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-amiga-m68k-kbd_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-amiga-m68k-kbd-makefile) + +kernel-amiga-m68k-kbd_DEFMODDIR := $($(kernel-amiga-m68k-kbd_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-amiga-m68k-kbd_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-amiga-m68k-kbd_DEFMODDIR) +endif +ifneq (,) + kernel-amiga-m68k-kbd_MODDIR := +else + kernel-amiga-m68k-kbd_MODDIR := $(kernel-amiga-m68k-kbd_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-amiga-m68k-kbd_INCDIR := +else +kernel-amiga-m68k-kbd_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-amiga-m68k-kbd_LIBDEFSINC := $(kernel-amiga-m68k-kbd_OBJDIR)/include/$(kernel-amiga-m68k-kbd_DEFNAME)_libdefs.h +kernel-amiga-m68k-kbd_DEFLIBDEFSINC := $(kernel-amiga-m68k-kbd_OBJDIR)/include/$(kernel-amiga-m68k-kbd_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-amiga-m68k-kbd-includes-quick : kernel-amiga-m68k-kbd-includes +kernel-amiga-m68k-kbd-includes : $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-kbd_INCDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-kbd_LIBDEFSINC) $(kernel-amiga-m68k-kbd_DEFLIBDEFSINC) + +ifneq ($($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-amiga-m68k-kbd-includes_MODNAME := amigakbd_ +else + kernel-amiga-m68k-kbd-includes_MODNAME := amigakbd +endif + +ifneq ($($(kernel-amiga-m68k-kbd-includes_MODNAME)_INCLUDES),) + +kernel-amiga-m68k-kbd-includes_TARGETS := $($(kernel-amiga-m68k-kbd-includes_MODNAME)_INCLUDES) + +kernel-amiga-m68k-kbd-includes_DEPS := $(GENMODULE) +kernel-amiga-m68k-kbd-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-kbd-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-kbd-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-kbd-includes_OPTS += -c + kernel-amiga-m68k-kbd-includes_DEPS += + endif +else + kernel-amiga-m68k-kbd-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/amigakbd.conf + kernel-amiga-m68k-kbd-includes_DEPS += $(SRCDIR)/$(CURDIR)/amigakbd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-kbd-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-kbd-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-kbd-includes_OPTS += -o + kernel-amiga-m68k-kbd-includes_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-kbd-includes_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-kbd_OBJDIR)/include,) + kernel-amiga-m68k-kbd-includes_OPTS += -d $(kernel-amiga-m68k-kbd_OBJDIR)/include + kernel-amiga-m68k-kbd-includes_TARGETS := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/include/,$(kernel-amiga-m68k-kbd-includes_TARGETS)) + kernel-amiga-m68k-kbd-includes_GENINCFLAG=$(kernel-amiga-m68k-kbd_OBJDIR)/include/.amigakbd.hidd-includes +else + kernel-amiga-m68k-kbd-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.amigakbd.hidd-includes +endif + +$(kernel-amiga-m68k-kbd-includes_TARGETS) : $(kernel-amiga-m68k-kbd-includes_DEPS) $(kernel-amiga-m68k-kbd-includes_GENINCFLAG) + +$(kernel-amiga-m68k-kbd-includes_GENINCFLAG) : OPTS := $(kernel-amiga-m68k-kbd-includes_OPTS) +$(kernel-amiga-m68k-kbd-includes_GENINCFLAG) : MODNAME := amigakbd +$(kernel-amiga-m68k-kbd-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-amiga-m68k-kbd-includes_GENINCFLAG) : $(kernel-amiga-m68k-kbd-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-amiga-m68k-kbd_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_geninc + +$(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_geninc : COPYSRCDIR := $(kernel-amiga-m68k-kbd_OBJDIR)/include +$(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_geninc : TGTDIR := $(GENINCDIR) +$(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_geninc : FILES := $($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_geninc : $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/include/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-amiga-m68k-kbd_OBJDIR)/include + +$(addprefix $(kernel-amiga-m68k-kbd_INCDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_incs + +$(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_incs : COPYSRCDIR := $(kernel-amiga-m68k-kbd_OBJDIR)/include +$(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_incs : TGTDIR := $(kernel-amiga-m68k-kbd_INCDIR) +$(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_incs : FILES := $($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_incs : $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/include/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-amiga-m68k-kbd_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)))) + +TMPamigakbd_INCDIRS := \ + $(kernel-amiga-m68k-kbd_OBJDIR)/include $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/include/,$(kernel-amiga-m68k-kbd_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-amiga-m68k-kbd_INCDIRS)) \ + $(kernel-amiga-m68k-kbd_INCDIR) $(addprefix $(kernel-amiga-m68k-kbd_INCDIR)/,$(kernel-amiga-m68k-kbd_INCDIRS)) + +ifneq (kernel-amiga-m68k-kbd-includes-dirs,) +kernel-amiga-m68k-kbd-includes-dirs : | $(TMPamigakbd_INCDIRS) +else +kernel-amiga-m68k-kbd-includes-dirs :: $(TMPamigakbd_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPamigakbd_INCDIRS) + + +endif + +endif + + +kernel-amiga-m68k-kbd-genlibdefs_OPTS := +ifneq (,) + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -f + kernel-amiga-m68k-kbd-genlibdefs_MODNAME := amigakbd_ +else + kernel-amiga-m68k-kbd-genlibdefs_MODNAME := amigakbd +endif +kernel-amiga-m68k-kbd-genlibdefs_TARGET := $(kernel-amiga-m68k-kbd-genlibdefs_MODNAME)_libdefs.h +kernel-amiga-m68k-kbd-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-kbd-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -c + kernel-amiga-m68k-kbd-genlibdefs_DEPS += + endif +else + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/amigakbd.conf + kernel-amiga-m68k-kbd-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/amigakbd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-kbd-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -o + kernel-amiga-m68k-kbd-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-kbd_OBJDIR)/include,) + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -d $(kernel-amiga-m68k-kbd_OBJDIR)/include + kernel-amiga-m68k-kbd-genlibdefs_TARGET := $(kernel-amiga-m68k-kbd_OBJDIR)/include/$(kernel-amiga-m68k-kbd-genlibdefs_TARGET) +endif +ifneq (,) + kernel-amiga-m68k-kbd-genlibdefs_OPTS += -v +endif + +$(kernel-amiga-m68k-kbd-genlibdefs_TARGET) : OPTS := $(kernel-amiga-m68k-kbd-genlibdefs_OPTS) +$(kernel-amiga-m68k-kbd-genlibdefs_TARGET) : MODNAME := amigakbd +$(kernel-amiga-m68k-kbd-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-amiga-m68k-kbd-genlibdefs_TARGET) : $(kernel-amiga-m68k-kbd-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-kbd_DEFLIBDEFSINC) : FILENAME := $(kernel-amiga-m68k-kbd_LIBDEFSINC) +$(kernel-amiga-m68k-kbd_DEFLIBDEFSINC) : $(kernel-amiga-m68k-kbd_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-amiga-m68k-kbd_LIBDEFSINC) $(kernel-amiga-m68k-kbd_DEFLIBDEFSINC) : | $(kernel-amiga-m68k-kbd_OBJDIR)/include + +ifneq (kernel-amiga-m68k-kbd-includes-dirs,) +kernel-amiga-m68k-kbd-includes-dirs : | $(kernel-amiga-m68k-kbd_OBJDIR)/include +else +kernel-amiga-m68k-kbd-includes-dirs :: $(kernel-amiga-m68k-kbd_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-kbd_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-amiga-m68k-kbd-genmodfiles_OPTS := +ifneq (,) + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -f + kernel-amiga-m68k-kbd-genmodfiles_MODNAME := amigakbd_ +else + kernel-amiga-m68k-kbd-genmodfiles_MODNAME := amigakbd +endif +kernel-amiga-m68k-kbd-genmodfiles_GENTARGETS := $($(kernel-amiga-m68k-kbd-genmodfiles_MODNAME)_STARTFILES) $($(kernel-amiga-m68k-kbd-genmodfiles_MODNAME)_ENDFILES) +kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETS := $($(kernel-amiga-m68k-kbd-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-kbd-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-amiga-m68k-kbd-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-kbd-genmodfiles_GENTARGETS)) +kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-amiga-m68k-kbd-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-amiga-m68k-kbd-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-amiga-m68k-kbd-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-kbd-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -c + kernel-amiga-m68k-kbd-genmodfiles_DEPS += + endif +else + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/amigakbd.conf + kernel-amiga-m68k-kbd-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/amigakbd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-kbd-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -o + kernel-amiga-m68k-kbd-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-kbd_OBJDIR),) + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -d $(kernel-amiga-m68k-kbd_OBJDIR) + kernel-amiga-m68k-kbd-genmodfiles_TARGETDIR := $(shell echo $(kernel-amiga-m68k-kbd_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-kbd-genmodfiles_GENTARGETS := $(addprefix $(kernel-amiga-m68k-kbd-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-kbd-genmodfiles_GENTARGETS)) + kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG=$(kernel-amiga-m68k-kbd-genmodfiles_TARGETDIR)/.amigakbd.hidd-genfiles +else + kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.amigakbd.hidd-genfiles +endif +ifneq ($(kernel-amiga-m68k-kbd_OBJDIR)/linklib,) + kernel-amiga-m68k-kbd-genmodfiles_OPTS += -l $(kernel-amiga-m68k-kbd_OBJDIR)/linklib + kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-amiga-m68k-kbd_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETDIR)/,$(kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETS)) + kernel-amiga-m68k-kbd-genmodfiles_TARGETDIRS += $(kernel-amiga-m68k-kbd_OBJDIR)/linklib +else +ifneq ($(kernel-amiga-m68k-kbd_OBJDIR),) + kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-kbd-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-amiga-m68k-kbd-genmodfiles_TARGETS := $(kernel-amiga-m68k-kbd-genmodfiles_GENTARGETS) $(kernel-amiga-m68k-kbd-genmodfiles_STUBTARGETS) +ifneq ($(kernel-amiga-m68k-kbd-genmodfiles_TARGETDIRS),) +$(kernel-amiga-m68k-kbd-genmodfiles_TARGETS) : | $(kernel-amiga-m68k-kbd-genmodfiles_TARGETDIRS) +endif + +$(kernel-amiga-m68k-kbd-genmodfiles_TARGETS) : $(kernel-amiga-m68k-kbd-genmodfiles_DEPS) $(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG) + +$(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-amiga-m68k-kbd-genmodfiles_OPTS) +$(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG) : MODNAME := amigakbd +$(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-kbd-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-kbd_DEFLIBDEFSINC) $(kernel-amiga-m68k-kbd-makefile) + + +ifneq ($(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG),) +$(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG) : | $(kernel-amiga-m68k-kbd_OBJDIR)/linklib +else +$(kernel-amiga-m68k-kbd-genmodfiles_GENFILEFLAG) :: $(kernel-amiga-m68k-kbd_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-kbd_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-amiga-m68k-kbd_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-amiga-m68k-kbd_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-amiga-m68k-kbd-fd : $(kernel-amiga-m68k-kbd_FDDIR)/amigakbd_lib.fd + + +TMP_TARGET := amigakbd_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/amigakbd.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/amigakbd.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-kbd_FDDIR),) + TMP_OPTS += -d $(kernel-amiga-m68k-kbd_FDDIR) + TMP_TARGET := $(kernel-amiga-m68k-kbd_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := amigakbd +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-kbd_FDDIR)/amigakbd_lib.fd : | $(kernel-amiga-m68k-kbd_FDDIR) + + +ifneq (kernel-amiga-m68k-kbd-fd-setup,) +kernel-amiga-m68k-kbd-fd-setup : | $(kernel-amiga-m68k-kbd_FDDIR) +else +kernel-amiga-m68k-kbd-fd-setup :: $(kernel-amiga-m68k-kbd_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-kbd_FDDIR) + +endif + +## Compilation +## +kernel-amiga-m68k-kbd_FILES := kbd_init kbdclass +kernel-amiga-m68k-kbd_OBJCFILES := +kernel-amiga-m68k-kbd_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-amiga-m68k-kbd_LIBFILES := +kernel-amiga-m68k-kbd_LIBS := hiddstubs + +kernel-amiga-m68k-kbd_FDIRS := $(sort $(dir $(kernel-amiga-m68k-kbd_FILES))) + +kernel-amiga-m68k-kbd_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-amiga-m68k-kbd_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-amiga-m68k-kbd_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-amiga-m68k-kbd_FILTERARCH = $(filter-out $(call kernel-amiga-m68k-kbd_MATCHARCH,$(1),$(2)),$(2)) +kernel-amiga-m68k-kbd_STARTFILES := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_STARTFILES)) +kernel-amiga-m68k-kbd_ENDFILES := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_ENDFILES)) + +kernel-amiga-m68k-kbd_ARCHOBJS := $(wildcard $(kernel-amiga-m68k-kbd_OBJDIR)/arch/*.o) +kernel-amiga-m68k-kbd_LIBARCHOBJS := $(wildcard $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/arch/*.o) +kernel-amiga-m68k-kbd_ARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-kbd_ARCHOBJS))) +kernel-amiga-m68k-kbd_LIBARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-kbd_LIBARCHOBJS))) +kernel-amiga-m68k-kbd_C_NARCHFILES := $(call kernel-amiga-m68k-kbd_FILTERARCH,$(kernel-amiga-m68k-kbd_ARCHFILES),$(kernel-amiga-m68k-kbd_FILES)) +kernel-amiga-m68k-kbd_CXX_NARCHFILES := $(call kernel-amiga-m68k-kbd_FILTERARCH,$(kernel-amiga-m68k-kbd_ARCHFILES),$(kernel-amiga-m68k-kbd_CXXFILES)) +kernel-amiga-m68k-kbd_OBJC_NARCHFILES := $(call kernel-amiga-m68k-kbd_FILTERARCH,$(kernel-amiga-m68k-kbd_ARCHFILES),$(kernel-amiga-m68k-kbd_OBJCFILES)) +kernel-amiga-m68k-kbd_NLIBARCHFILES := $(call kernel-amiga-m68k-kbd_FILTERARCH,$(kernel-amiga-m68k-kbd_LIBARCHFILES),$(kernel-amiga-m68k-kbd_LIBFILES)) +kernel-amiga-m68k-kbd_ARCHNLIBFILES := $(call kernel-amiga-m68k-kbd_FILTERARCH,$(kernel-amiga-m68k-kbd_LIBFILES),$(kernel-amiga-m68k-kbd_LIBARCHFILES)) + +kernel-amiga-m68k-kbd_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-amiga-m68k-kbd_OBJDIR)/include -include $(kernel-amiga-m68k-kbd_DEFLIBDEFSINC)) +ifneq (,) +kernel-amiga-m68k-kbd_CPPFLAGS += -I +endif +kernel-amiga-m68k-kbd_LINKLIBCPPFLAGS := $(kernel-amiga-m68k-kbd_CPPFLAGS) +kernel-amiga-m68k-kbd_CPPFLAGS += $(strip $($(kernel-amiga-m68k-kbd_DEFNAME)_CPPFLAGS)) +kernel-amiga-m68k-kbd_LINKLIBCPPFLAGS += $(strip $($(kernel-amiga-m68k-kbd_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-amiga-m68k-kbd_CFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-kbd_DEFNAME)_CFLAGS)) +kernel-amiga-m68k-kbd_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-kbd_DEFNAME)_LINKLIBCFLAGS)) +kernel-amiga-m68k-kbd_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-amiga-m68k-kbd_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-kbd_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-amiga-m68k-kbd_CFLAGS := $(strip $(kernel-amiga-m68k-kbd_LTOFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +kernel-amiga-m68k-kbd_LINKLIBCFLAGS := $(strip $(kernel-amiga-m68k-kbd_LTOFLAGS) $(kernel-amiga-m68k-kbd_LINKLIBCFLAGS)) +kernel-amiga-m68k-kbd_CXXFLAGS := $(strip $(kernel-amiga-m68k-kbd_LTOFLAGS) $(kernel-amiga-m68k-kbd_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-kbd_SUBSTNULL := +kernel-amiga-m68k-kbd_SUBSTSPACE := $(kernel-amiga-m68k-kbd_SUBSTNULL) # +kernel-amiga-m68k-kbd_SUBSTCOMMA := , +kernel-amiga-m68k-kbd_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-amiga-m68k-kbd_SUBSTSPACE),$(kernel-amiga-m68k-kbd_SUBSTCOMMA),$(strip $($(kernel-amiga-m68k-kbd_DEFNAME)_STARTFILES)))) +kernel-amiga-m68k-kbd_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-amiga-m68k-kbd_CFLAGS := $(strip $(kernel-amiga-m68k-kbd_INSTRFUNCFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +kernel-amiga-m68k-kbd_CXXFLAGS := $(strip $(kernel-amiga-m68k-kbd_INSTRFUNCFLAGS) $(kernel-amiga-m68k-kbd_CXXFLAGS)) +kernel-amiga-m68k-kbd_LIBS += $(kernel-amiga-m68k-kbd_INSTRFUNCLIBS) +endif +endif +kernel-amiga-m68k-kbd_DFLAGS := $(strip $(kernel-amiga-m68k-kbd_DFLAGS) $($(kernel-amiga-m68k-kbd_DEFNAME)_DFLAGS)) +kernel-amiga-m68k-kbd_LINKLIBDFLAGS := $(strip $(kernel-amiga-m68k-kbd_DFLAGS) $($(kernel-amiga-m68k-kbd_DEFNAME)_LINKLIBDFLAGS)) +kernel-amiga-m68k-kbd_DXXFLAGS := $(strip $(kernel-amiga-m68k-kbd_DXXFLAGS) $($(kernel-amiga-m68k-kbd_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-amiga-m68k-kbd_LIBSUFFIX := +else + kernel-amiga-m68k-kbd_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-amiga-m68k-kbd_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-amiga-m68k-kbd_LIBDIR := +endif + +ifeq (M,M) +kernel-amiga-m68k-kbd_LINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$($(kernel-amiga-m68k-kbd_DEFNAME)_LINKLIBFILES)) +kernel-amiga-m68k-kbd_LINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$($(kernel-amiga-m68k-kbd_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-kbd_DEFNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-kbd_DEFNAME)_LINKLIBAFILES) $(kernel-amiga-m68k-kbd_ARCHNLIBFILES)),) + kernel-amiga-m68k-kbd_LINKLIB := +else + kernel-amiga-m68k-kbd_LINKLIB := $(kernel-amiga-m68k-kbd_LIBDIR)/libamigakbd$(kernel-amiga-m68k-kbd_LIBSUFFIX).a + ifneq (amigakbd,$(kernel-amiga-m68k-kbd_LINKLIBNAME)) + kernel-amiga-m68k-kbd_LINKLIB += $(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)$(kernel-amiga-m68k-kbd_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-kbd_LINKLIBFILES := $(kernel-amiga-m68k-kbd_LINKLIBCFILES) $(kernel-amiga-m68k-kbd_LINKLIBAFILES) + +kernel-amiga-m68k-kbd_RELLINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$($(kernel-amiga-m68k-kbd_DEFNAME)_RELLINKLIBFILES)) +kernel-amiga-m68k-kbd_RELLINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$($(kernel-amiga-m68k-kbd_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-kbd_DEFNAME)_RELLINKLIBFILES) $($(kernel-amiga-m68k-kbd_DEFNAME)_RELLINKLIBAFILES) $(kernel-amiga-m68k-kbd_ARCHNLIBFILES)),) + kernel-amiga-m68k-kbd_RELLINKLIB := +else + kernel-amiga-m68k-kbd_RELLINKLIB := $(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_DEFNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a + ifneq (amigakbd,$(kernel-amiga-m68k-kbd_LINKLIBNAME)) + kernel-amiga-m68k-kbd_RELLINKLIB += $(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-kbd_RELLINKLIBFILES := $(kernel-amiga-m68k-kbd_RELLINKLIBCFILES) $(kernel-amiga-m68k-kbd_RELLINKLIBAFILES) +endif + +kernel-amiga-m68k-kbd_ENDOBJS := $(addsuffix .o,$(kernel-amiga-m68k-kbd_ENDFILES)) +kernel-amiga-m68k-kbd_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-kbd_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-kbd_ARCHNLIBFILES))) $(kernel-amiga-m68k-kbd_LINKLIBFILES)) \ + +kernel-amiga-m68k-kbd_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-kbd_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-kbd_ARCHNLIBFILES))) $(kernel-amiga-m68k-kbd_RELLINKLIBFILES)) \ + +$(kernel-amiga-m68k-kbd_LINKLIBFILES) $(kernel-amiga-m68k-kbd_RELLINKLIBFILES) : | $(kernel-amiga-m68k-kbd_OBJDIR)/linklib +$(kernel-amiga-m68k-kbd_LINKLIBOBJS) $(kernel-amiga-m68k-kbd_RELLINKLIBOBJS) : | $(kernel-amiga-m68k-kbd_OBJDIR)/linklib + +kernel-amiga-m68k-kbd_CCFILES := $(kernel-amiga-m68k-kbd_C_NARCHFILES) +kernel-amiga-m68k-kbd_TARGETCCFILES := $(strip $(kernel-amiga-m68k-kbd_STARTFILES) $(kernel-amiga-m68k-kbd_ENDFILES)) +kernel-amiga-m68k-kbd_LINKLIBCCFILES := $(strip $(kernel-amiga-m68k-kbd_NLIBARCHFILES) $(kernel-amiga-m68k-kbd_LINKLIBCFILES) $(kernel-amiga-m68k-kbd_RELLINKLIBCFILES)) +kernel-amiga-m68k-kbd_LINKLIBCCGENFILES := $(strip $(kernel-amiga-m68k-kbd_LINKLIBCFILES) $(kernel-amiga-m68k-kbd_RELLINKLIBCFILES)) + + +kernel-amiga-m68k-kbd_CXXABSBASENAMES := $(foreach kernel-amiga-m68k-kbd_CXXBASE,$(kernel-amiga-m68k-kbd_CXX_NARCHFILES),$(if $(filter /%,$(kernel-amiga-m68k-kbd_CXXBASE)),$(kernel-amiga-m68k-kbd_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-amiga-m68k-kbd_CXXBASE)))) + +ifneq ($(kernel-amiga-m68k-kbd_CXXABSBASENAMES),) + +kernel-amiga-m68k-kbd_CXXBASENAMES := $(basename $(kernel-amiga-m68k-kbd_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-amiga-m68k-kbd_MCXX_FILES := $(strip $(foreach kernel-amiga-m68k-kbd_CXXBASE,$(kernel-amiga-m68k-kbd_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-amiga-m68k-kbd_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-amiga-m68k-kbd_EXT),$(kernel-amiga-m68k-kbd_CXXBASE))))))) + +ifeq (,) +kernel-amiga-m68k-kbd_MCXX_SRCWILDCARD := % +else +kernel-amiga-m68k-kbd_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR),) + kernel-amiga-m68k-kbd_CXXTARGETS := $(notdir $(kernel-amiga-m68k-kbd_CXXBASENAMES:=.o)) + kernel-amiga-m68k-kbd_CXXDTARGETS := $(notdir $(kernel-amiga-m68k-kbd_CXXBASENAMES:=.d)) + kernel-amiga-m68k-kbd_MCXX_WILDCARD := % +else + kernel-amiga-m68k-kbd_CXXTARGETS := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-kbd_CXXBASENAMES:=.o))) + kernel-amiga-m68k-kbd_CXXDTARGETS := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-kbd_CXXBASENAMES:=.d))) + kernel-amiga-m68k-kbd_MCXX_WILDCARD := $(kernel-amiga-m68k-kbd_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-amiga-m68k-kbd_CXXTARGETS) $(kernel-amiga-m68k-kbd_CXXDTARGETS) : | $(kernel-amiga-m68k-kbd_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-amiga-m68k-kbd_MCXX_CPPFLAGS := $(kernel-amiga-m68k-kbd_CPPFLAGS) +kernel-amiga-m68k-kbd_CXXFLAGS := $(kernel-amiga-m68k-kbd_CXXFLAGS) +ifeq ($(kernel-amiga-m68k-kbd_DXXFLAGS),) + kernel-amiga-m68k-kbd_DXXFLAGS := $(kernel-amiga-m68k-kbd_CXXFLAGS) +else + kernel-amiga-m68k-kbd_DXXFLAGS := $(kernel-amiga-m68k-kbd_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-amiga-m68k-kbd_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-amiga-m68k-kbd_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-amiga-m68k-kbd_CXXCMD:=$(HOST_CXX) + kernel-amiga-m68k-kbd_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-amiga-m68k-kbd_MCXX_CPPFLAGS) $(kernel-amiga-m68k-kbd_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-kbd_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-kbd_CXXFLAGS)) + kernel-amiga-m68k-kbd_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-kbd_DXXFLAGS)) + kernel-amiga-m68k-kbd_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-amiga-m68k-kbd_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-amiga-m68k-kbd_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-kbd_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-amiga-m68k-kbd_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-amiga-m68k-kbd_MCXX_CPPFLAGS := $(strip $(kernel-amiga-m68k-kbd_MCXX_CPPFLAGS) $(kernel-amiga-m68k-kbd_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-kbd_CXXFLAGS := $(strip $(kernel-amiga-m68k-kbd_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-amiga-m68k-kbd_DXXFLAGS := $(kernel-amiga-m68k-kbd_DXXFLAGS) + kernel-amiga-m68k-kbd_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-amiga-m68k-kbd_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-amiga-m68k-kbd_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-kbd_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-kbd_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-kbd_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-amiga-m68k-kbd_MCXX_CPPFLAGS) $(kernel-amiga-m68k-kbd_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-kbd_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-kbd_CXXFLAGS)) + kernel-amiga-m68k-kbd_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-kbd_DXXFLAGS)) + kernel-amiga-m68k-kbd_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-amiga-m68k-kbd_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-amiga-m68k-kbd_CXXCMD) $(kernel-amiga-m68k-kbd_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-kbd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_CXXIQUOTE) . $(kernel-amiga-m68k-kbd_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-kbd_CXXFLAGS) $(kernel-amiga-m68k-kbd_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-amiga-m68k-kbd_CXXCMD) $(kernel-amiga-m68k-kbd_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-kbd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_CXXIQUOTE) . $(kernel-amiga-m68k-kbd_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-kbd_CXXFLAGS) $(kernel-amiga-m68k-kbd_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-amiga-m68k-kbd_CXXCMD) $(kernel-amiga-m68k-kbd_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-kbd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_CXXIQUOTE) . $(kernel-amiga-m68k-kbd_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-kbd_CXXFLAGS) $(kernel-amiga-m68k-kbd_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-amiga-m68k-kbd_CXXCMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-kbd_DXXFLAGS) $(kernel-amiga-m68k-kbd_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR),) + $(foreach kernel-amiga-m68k-kbd_CXXFILE,$(kernel-amiga-m68k-kbd_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-amiga-m68k-kbd_CXXFILE))),$(kernel-amiga-m68k-kbd_CXXFILE)))) +else + $(foreach kernel-amiga-m68k-kbd_CXXFILE,$(kernel-amiga-m68k-kbd_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(basename $(kernel-amiga-m68k-kbd_CXXFILE)))),$(kernel-amiga-m68k-kbd_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-amiga-m68k-kbd_OBJC_NARCHFILES),) + +ifeq (,) +kernel-amiga-m68k-kbd_MOBJC_SRCWILDCARD := % +else +kernel-amiga-m68k-kbd_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR),) + kernel-amiga-m68k-kbd_MOBJC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-kbd_OBJC_NARCHFILES)) + kernel-amiga-m68k-kbd_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-kbd_OBJC_NARCHFILES)) + kernel-amiga-m68k-kbd_MOBJC_WILDCARD := % +else + kernel-amiga-m68k-kbd_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(kernel-amiga-m68k-kbd_OBJC_NARCHFILES))) + kernel-amiga-m68k-kbd_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(kernel-amiga-m68k-kbd_OBJC_NARCHFILES))) + kernel-amiga-m68k-kbd_MOBJC_WILDCARD := $(kernel-amiga-m68k-kbd_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-amiga-m68k-kbd_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-amiga-m68k-kbd_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-kbd_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-kbd_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-amiga-m68k-kbd_MOBJC_DIRS := $(foreach dir, $(kernel-amiga-m68k-kbd_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-kbd_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-amiga-m68k-kbd_MOBJC_DIRS),) + kernel-amiga-m68k-kbd_MOBJC_DIRS := $(shell echo $(kernel-amiga-m68k-kbd_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-amiga-m68k-kbd_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-amiga-m68k-kbd_CC := $(TARGET_CC) +else + kernel-amiga-m68k-kbd_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS := $(kernel-amiga-m68k-kbd_CPPFLAGS) +kernel-amiga-m68k-kbd_OBJCFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +kernel-amiga-m68k-kbd_OBJCFLAGS := $(kernel-amiga-m68k-kbd_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-amiga-m68k-kbd_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-amiga-m68k-kbd_OBJCFLAGS))) +ifeq ($(kernel-amiga-m68k-kbd_DFLAGS),) + kernel-amiga-m68k-kbd_OBJCDFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +else + kernel-amiga-m68k-kbd_OBJCDFLAGS := $(kernel-amiga-m68k-kbd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-amiga-m68k-kbd_LINK ?= $(strip $(kernel-amiga-m68k-kbd_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-kbd_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-amiga-m68k-kbd_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_OBJCFLAGS:=$(strip $(kernel-amiga-m68k-kbd_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_OBJCDFLAGS:=$(kernel-amiga-m68k-kbd_OBJCDFLAGS) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-amiga-m68k-kbd_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-amiga-m68k-kbd_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_OBJCFLAGS)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_OBJCDFLAGS)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(HOST_IQUOTE) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-amiga-m68k-kbd_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-kbd_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_OBJCFLAGS)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_OBJCDFLAGS)) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-amiga-m68k-kbd_MOBJC_TARGETS) $(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-kbd_MOBJC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS) +$(kernel-amiga-m68k-kbd_MOBJC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-kbd_OBJCFLAGS) +$(kernel-amiga-m68k-kbd_MOBJC_TARGETS) : $(kernel-amiga-m68k-kbd_MOBJC_WILDCARD).o : $(kernel-amiga-m68k-kbd_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-kbd_MOBJC_DTARGETS) : $(kernel-amiga-m68k-kbd_MOBJC_WILDCARD).d : $(kernel-amiga-m68k-kbd_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-kbd_OBJCDFLAGS) $(kernel-amiga-m68k-kbd_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-amiga-m68k-kbd_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-kbd_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR),) +kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-kbd_CCFILES)) +kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-kbd_CCFILES)) +kernel-amiga-m68k-kbd_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-kbd_CCFILES)))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-kbd_CCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(kernel-amiga-m68k-kbd_CCFILES))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(kernel-amiga-m68k-kbd_CCFILES))) +else + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-kbd_CCFILES)))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-kbd_CCFILES)))) +endif +endif +kernel-amiga-m68k-kbd_MC_TGTWILDCARD := $(kernel-amiga-m68k-kbd_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-kbd_CCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-kbd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-kbd_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-kbd_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-kbd_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-kbd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-kbd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-kbd_MC_DIRS),) + kernel-amiga-m68k-kbd_MC_DIRS := $(shell echo $(kernel-amiga-m68k-kbd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-kbd_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-kbd_MC_CPPFLAGS := $(kernel-amiga-m68k-kbd_CPPFLAGS) +kernel-amiga-m68k-kbd_CFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +ifeq ($(kernel-amiga-m68k-kbd_DFLAGS),) + kernel-amiga-m68k-kbd_DFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +else + kernel-amiga-m68k-kbd_DFLAGS := $(kernel-amiga-m68k-kbd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(kernel-amiga-m68k-kbd_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(kernel-amiga-m68k-kbd_DFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_DFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_DFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-kbd_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) : $(kernel-amiga-m68k-kbd_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-kbd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-kbd_MC_DTARGETS) : $(kernel-amiga-m68k-kbd_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-kbd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-kbd_DFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-kbd_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-kbd_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR),) +kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-kbd_TARGETCCFILES)) +kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-kbd_TARGETCCFILES)) +kernel-amiga-m68k-kbd_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-kbd_TARGETCCFILES)))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-kbd_TARGETCCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(kernel-amiga-m68k-kbd_TARGETCCFILES))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(kernel-amiga-m68k-kbd_TARGETCCFILES))) +else + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-kbd_TARGETCCFILES)))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-kbd_TARGETCCFILES)))) +endif +endif +kernel-amiga-m68k-kbd_MC_TGTWILDCARD := $(kernel-amiga-m68k-kbd_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-kbd_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-kbd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-kbd_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-kbd_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-kbd_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-kbd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-kbd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-kbd_MC_DIRS),) + kernel-amiga-m68k-kbd_MC_DIRS := $(shell echo $(kernel-amiga-m68k-kbd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-kbd_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-kbd_MC_CPPFLAGS := $(kernel-amiga-m68k-kbd_CPPFLAGS) -D__AROS__ +kernel-amiga-m68k-kbd_CFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +ifeq ($(kernel-amiga-m68k-kbd_DFLAGS),) + kernel-amiga-m68k-kbd_DFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +else + kernel-amiga-m68k-kbd_DFLAGS := $(kernel-amiga-m68k-kbd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(kernel-amiga-m68k-kbd_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(kernel-amiga-m68k-kbd_DFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_DFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_DFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-kbd_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) : $(kernel-amiga-m68k-kbd_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-kbd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-kbd_MC_DTARGETS) : $(kernel-amiga-m68k-kbd_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-kbd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-kbd_DFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-kbd_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-kbd_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR)/linklib,) +kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-kbd_NLIBARCHFILES)) +kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-kbd_NLIBARCHFILES)) +kernel-amiga-m68k-kbd_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-kbd_NLIBARCHFILES)))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-kbd_NLIBARCHFILES)))) +else +ifeq (,) + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(kernel-amiga-m68k-kbd_NLIBARCHFILES))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(kernel-amiga-m68k-kbd_NLIBARCHFILES))) +else + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-kbd_NLIBARCHFILES)))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-kbd_NLIBARCHFILES)))) +endif +endif +kernel-amiga-m68k-kbd_MC_TGTWILDCARD := $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-kbd_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-kbd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-kbd_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-kbd_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-kbd_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-kbd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-kbd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-kbd_MC_DIRS),) + kernel-amiga-m68k-kbd_MC_DIRS := $(shell echo $(kernel-amiga-m68k-kbd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-kbd_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-kbd_MC_CPPFLAGS := $(kernel-amiga-m68k-kbd_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-kbd_CFLAGS := $(kernel-amiga-m68k-kbd_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-kbd_LINKLIBDFLAGS),) + kernel-amiga-m68k-kbd_DFLAGS := $(kernel-amiga-m68k-kbd_LINKLIBCFLAGS) +else + kernel-amiga-m68k-kbd_DFLAGS := $(kernel-amiga-m68k-kbd_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(kernel-amiga-m68k-kbd_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(kernel-amiga-m68k-kbd_DFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_DFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_DFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-kbd_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) : $(kernel-amiga-m68k-kbd_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-kbd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-kbd_MC_DTARGETS) : $(kernel-amiga-m68k-kbd_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-kbd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-kbd_DFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR)/linklib,) +kernel-amiga-m68k-kbd_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-kbd_MC_SRCWILDCARD := $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR)/linklib,) +kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES)) +kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES)) +kernel-amiga-m68k-kbd_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR)/linklib,) + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES))) +else + kernel-amiga-m68k-kbd_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-kbd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES)))) +endif +endif +kernel-amiga-m68k-kbd_MC_TGTWILDCARD := $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-kbd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-kbd_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-kbd_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-kbd_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-kbd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-kbd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-kbd_MC_DIRS),) + kernel-amiga-m68k-kbd_MC_DIRS := $(shell echo $(kernel-amiga-m68k-kbd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-kbd_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-kbd_MC_CPPFLAGS := $(kernel-amiga-m68k-kbd_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-kbd_CFLAGS := $(kernel-amiga-m68k-kbd_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-kbd_LINKLIBDFLAGS),) + kernel-amiga-m68k-kbd_DFLAGS := $(kernel-amiga-m68k-kbd_LINKLIBCFLAGS) +else + kernel-amiga-m68k-kbd_DFLAGS := $(kernel-amiga-m68k-kbd_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(kernel-amiga-m68k-kbd_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(kernel-amiga-m68k-kbd_DFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-kbd_DFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-kbd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-kbd_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-kbd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) $(kernel-amiga-m68k-kbd_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_CFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-kbd_DFLAGS)) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-kbd_MC_TARGETS) $(kernel-amiga-m68k-kbd_MC_DTARGETS) : kernel-amiga-m68k-kbd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-kbd_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-kbd_MC_CPPFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-kbd_CFLAGS) +$(kernel-amiga-m68k-kbd_MC_TARGETS) : $(kernel-amiga-m68k-kbd_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-kbd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-kbd_IQUOTE) $(dir $<) $(kernel-amiga-m68k-kbd_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-kbd_IQUOTE) . $(kernel-amiga-m68k-kbd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-kbd_MC_DTARGETS) : $(kernel-amiga-m68k-kbd_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-kbd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-kbd_DFLAGS) $(kernel-amiga-m68k-kbd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-amiga-m68k-kbd_LINKLIBAFILES),) + +ifeq ($(kernel-amiga-m68k-kbd_OBJDIR)/linklib,) +kernel-amiga-m68k-kbd-MA_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-kbd_LINKLIBAFILES) $(kernel-amiga-m68k-kbd_RELLINKLIBAFILES)) +kernel-amiga-m68k-kbd-MA_WILDCARD := % +else +kernel-amiga-m68k-kbd-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-kbd_LINKLIBAFILES) $(kernel-amiga-m68k-kbd_RELLINKLIBAFILES)))) +kernel-amiga-m68k-kbd-MA_WILDCARD := $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-amiga-m68k-kbd-MA_TARGETS) : | $(addsuffix .S,$(kernel-amiga-m68k-kbd_LINKLIBAFILES) $(kernel-amiga-m68k-kbd_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-kbd-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-kbd-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-kbd_LINKLIBAFILES) $(kernel-amiga-m68k-kbd_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-kbd-MA_DIRS := $(foreach dir, $(kernel-amiga-m68k-kbd-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-kbd-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-kbd-MA_DIRS),) + kernel-amiga-m68k-kbd-MA_DIRS := $(shell echo $(kernel-amiga-m68k-kbd-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-amiga-m68k-kbd-MA_DIRS) +endif + +endif + +kernel-amiga-m68k-kbd-MA_ASSEMBLER ?= $(kernel-amiga-m68k-kbd_ASSEMBLER) + +$(kernel-amiga-m68k-kbd-MA_TARGETS) : kernel-amiga-m68k-kbd-MA_CMD:= $(kernel-amiga-m68k-kbd-MA_ASSEMBLER) + +$(kernel-amiga-m68k-kbd-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-amiga-m68k-kbd-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-amiga-m68k-kbd-MA_TARGETS) : $(kernel-amiga-m68k-kbd-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-amiga-m68k-kbd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-amiga-m68k-kbd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-amiga-m68k-kbd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-amiga-m68k-kbd_SUFFIX := hidd +else +kernel-amiga-m68k-kbd_SUFFIX := +endif + +ifeq (target,target) +kernel-amiga-m68k-kbd_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-amiga-m68k-kbd_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-amiga-m68k-kbd_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-amiga-m68k-kbd_SUFFIX),handler) +kernel-amiga-m68k-kbd_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-kbd_MODDIR)/$(kernel-amiga-m68k-kbd_DEFNAME)-$(kernel-amiga-m68k-kbd_SUFFIX) +else +kernel-amiga-m68k-kbd_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-kbd_MODDIR)/$(kernel-amiga-m68k-kbd_DEFNAME).$(kernel-amiga-m68k-kbd_SUFFIX) +endif +kernel-amiga-m68k-kbd_KOBJ := $(KOBJSDIR)/$(kernel-amiga-m68k-kbd_DEFNAME)_$(kernel-amiga-m68k-kbd_SUFFIX).o +else +kernel-amiga-m68k-kbd_MODULE := +kernel-amiga-m68k-kbd_KOBJ := +endif + +kernel-amiga-m68k-kbd-quick : kernel-amiga-m68k-kbd +kernel-amiga-m68k-kbd : $(kernel-amiga-m68k-kbd_MODULE) $(kernel-amiga-m68k-kbd_LINKLIB) $(kernel-amiga-m68k-kbd_RELLINKLIB) +ifeq (M,M) +kernel-amiga-m68k-kbd-kobj : $(kernel-amiga-m68k-kbd_KOBJ) $(kernel-amiga-m68k-kbd_LINKLIB) $(kernel-amiga-m68k-kbd_RELLINKLIB) +kernel-amiga-m68k-kbd-kobj-quick : $(kernel-amiga-m68k-kbd_KOBJ) $(kernel-amiga-m68k-kbd_LINKLIB) $(kernel-amiga-m68k-kbd_RELLINKLIB) +endif +ifeq (M,M) +kernel-amiga-m68k-kbd-linklib : $(kernel-amiga-m68k-kbd_LINKLIB) $(kernel-amiga-m68k-kbd_RELLINKLIB) +endif + +kernel-amiga-m68k-kbd_OBJS := $(addsuffix .o,$(kernel-amiga-m68k-kbd_STARTFILES)) $(kernel-amiga-m68k-kbd_ARCHOBJS) \ + $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-kbd_C_NARCHFILES:=.o) $(kernel-amiga-m68k-kbd_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-amiga-m68k-kbd_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (amigakbd,con) + kernel-amiga-m68k-kbd_ERR := $(notdir $(kernel-amiga-m68k-kbd_MODULE)).err +else + kernel-amiga-m68k-kbd_ERR := amigakbd.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-amiga-m68k-kbd_DEFNAME)_LDFLAGS) $(kernel-amiga-m68k-kbd_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-amiga-m68k-kbd_LIBS) $($(kernel-amiga-m68k-kbd_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-amiga-m68k-kbd_MODULE) : LIB_NAMES := $(kernel-amiga-m68k-kbd_LIBS) $($(kernel-amiga-m68k-kbd_DEFNAME)_LIBS) +$(kernel-amiga-m68k-kbd_MODULE) : OBJS := $(kernel-amiga-m68k-kbd_STARTOBJS) $(kernel-amiga-m68k-kbd_OBJS) $(USER_OBJS) +$(kernel-amiga-m68k-kbd_MODULE) : ENDTAG := $(kernel-amiga-m68k-kbd_ENDOBJS) +$(kernel-amiga-m68k-kbd_MODULE) : ERR := $(kernel-amiga-m68k-kbd_ERR) +$(kernel-amiga-m68k-kbd_MODULE) : OBJDIR := $(kernel-amiga-m68k-kbd_OBJDIR) +$(kernel-amiga-m68k-kbd_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-amiga-m68k-kbd_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-amiga-m68k-kbd_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-amiga-m68k-kbd_MODULE) : $(kernel-amiga-m68k-kbd_STARTOBJS) $(kernel-amiga-m68k-kbd_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-kbd_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-amiga-m68k-kbd_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-amiga-m68k-kbd_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-amiga-m68k-kbd_LC_LINKLIBNAME := $(shell echo $(kernel-amiga-m68k-kbd_LINKLIBNAME) | tr A-Z a-z) +kernel-amiga-m68k-kbd_LC_MODNAME := $(shell echo amigakbd | tr A-Z a-z) +ifneq ($(kernel-amiga-m68k-kbd_LINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(HOST_AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : $(kernel-amiga-m68k-kbd_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-kbd_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-kbd_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-kbd_LC_MODNAME),$(kernel-amiga-m68k-kbd_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-kbd_LIBDIR)/libamigakbd$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/libamigakbd$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-kbd_LIBDIR)/libamigakbd$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(HOST_AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/libamigakbd$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-kbd_LIBDIR)/libamigakbd$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/libamigakbd$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-kbd_LIBDIR)/libamigakbd$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : $(kernel-amiga-m68k-kbd_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-kbd_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-kbd_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-kbd_LINKLIB),) +$(kernel-amiga-m68k-kbd_LINKLIB) : | $(kernel-amiga-m68k-kbd_LIBDIR) +else +$(kernel-amiga-m68k-kbd_LINKLIB) :: $(kernel-amiga-m68k-kbd_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-kbd_LIBDIR) + +endif + +ifneq ($(kernel-amiga-m68k-kbd_RELLINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(HOST_AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_LINKLIBNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : $(kernel-amiga-m68k-kbd_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-kbd_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-kbd_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-kbd_LC_MODNAME),$(kernel-amiga-m68k-kbd_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_DEFNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_DEFNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_DEFNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(HOST_AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_DEFNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_DEFNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_DEFNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : kernel-amiga-m68k-kbd_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-kbd_LIBDIR)/lib$(kernel-amiga-m68k-kbd_DEFNAME)_rel$(kernel-amiga-m68k-kbd_LIBSUFFIX).a : $(kernel-amiga-m68k-kbd_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-kbd_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-kbd_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-kbd_RELLINKLIB),) +$(kernel-amiga-m68k-kbd_RELLINKLIB) : | $(kernel-amiga-m68k-kbd_LIBDIR) +else +$(kernel-amiga-m68k-kbd_RELLINKLIB) :: $(kernel-amiga-m68k-kbd_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-kbd_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-amiga-m68k-kbd_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-amiga-m68k-kbd_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-amiga-m68k-kbd_SYMBOLS := $(kernel-amiga-m68k-kbd_KBASE) + +kernel-amiga-m68k-kbd_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-amiga-m68k-kbd_KOBJ_LIBS := $(filter-out $(kernel-amiga-m68k-kbd_KLIB),$(kernel-amiga-m68k-kbd_LIBS)) $(kernel-amiga-m68k-kbd_KAUTOLIB) +$(kernel-amiga-m68k-kbd_KOBJ) : LINKLIBS:=$(kernel-amiga-m68k-kbd_KOBJ_LIBS) $($(kernel-amiga-m68k-kbd_DEFNAME)_LIBS) +$(kernel-amiga-m68k-kbd_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-amiga-m68k-kbd_SYMBOLS)) +$(kernel-amiga-m68k-kbd_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-amiga-m68k-kbd_KOBJ) : $(kernel-amiga-m68k-kbd_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-kbd_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-amiga-m68k-kbd_DEPS := $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/,$(notdir $(kernel-amiga-m68k-kbd_CCFILES:=.d) $(kernel-amiga-m68k-kbd_TARGETCCFILES:=.d) $(kernel-amiga-m68k-kbd_CXXFILES:=.d))) $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-kbd_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-amiga-m68k-kbd_DEPS),) + ifneq (kernel-amiga-m68k-kbd kernel-amiga-m68k-kbd-quick kernel-amiga-m68k-kbd-kobj kernel-amiga-m68k-kbd-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-amiga-m68k-kbd kernel-amiga-m68k-kbd-quick kernel-amiga-m68k-kbd-kobj kernel-amiga-m68k-kbd-kobj-quick),) + -include $(kernel-amiga-m68k-kbd_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-amiga-m68k-kbd_DEPS) + endif + endif +endif + +$(kernel-amiga-m68k-kbd_OBJS) $(kernel-amiga-m68k-kbd_DEPS) : | $(kernel-amiga-m68k-kbd_OBJDIR)/linklib + +ifneq ($(kernel-amiga-m68k-kbd_OBJS) $(kernel-amiga-m68k-kbd_DEPS) $(kernel-amiga-m68k-kbd_MODULE) $(kernel-amiga-m68k-kbd_KOBJ),) +$(kernel-amiga-m68k-kbd_OBJS) $(kernel-amiga-m68k-kbd_DEPS) $(kernel-amiga-m68k-kbd_MODULE) $(kernel-amiga-m68k-kbd_KOBJ) : | $(kernel-amiga-m68k-kbd_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-kbd_MODDIR) $(KOBJSDIR) +else +$(kernel-amiga-m68k-kbd_OBJS) $(kernel-amiga-m68k-kbd_DEPS) $(kernel-amiga-m68k-kbd_MODULE) $(kernel-amiga-m68k-kbd_KOBJ) :: $(kernel-amiga-m68k-kbd_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-kbd_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-kbd_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-kbd_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-amiga-m68k-kbd kernel-amiga-m68k-kbd-includes kernel-amiga-m68k-kbd-quick kernel-amiga-m68k-kbd-kobj kernel-amiga-m68k-kbd-kobj-quick),) # Only for this target these deps are wanted + +kernel-amiga-m68k-kbd_DFILE_DEPS := $(kernel-amiga-m68k-kbd_LIBDEFSINC) $(kernel-amiga-m68k-kbd_DEFLIBDEFSINC) \ + $(addprefix $(kernel-amiga-m68k-kbd_INCDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) +$(kernel-amiga-m68k-kbd_DEPS) : $(kernel-amiga-m68k-kbd_DFILE_DEPS) +endif + +kernel-amiga-m68k-kbd_TOCLEAN := $(kernel-amiga-m68k-kbd_OBJS) $(kernel-amiga-m68k-kbd_DEPS) \ + $(kernel-amiga-m68k-kbd_MODULE) $(kernel-amiga-m68k-kbd_LINKLIB) $(kernel-amiga-m68k-kbd_KOBJ) \ + $(kernel-amiga-m68k-kbd_OBJDIR)/Makefile.amigakbdhidd \ + $(addprefix $(kernel-amiga-m68k-kbd_OBJDIR)/include/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-kbd_INCDIR)/,$($(kernel-amiga-m68k-kbd_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_geninc $(kernel-amiga-m68k-kbd_OBJDIR)/amigakbd_incs \ + $(addsuffix .c,$(kernel-amiga-m68k-kbd_LINKLIBFILES)) $(kernel-amiga-m68k-kbd_LINKLIBOBJS) $(kernel-amiga-m68k-kbd_LIBDEFSINC) \ + $(kernel-amiga-m68k-kbd_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-amiga-m68k-kbd_STARTFILES) $(kernel-amiga-m68k-kbd_ENDFILES)) \ + $(kernel-amiga-m68k-kbd_ENDOBJS) +kernel-amiga-m68k-kbd-clean : FILES := $(kernel-amiga-m68k-kbd_TOCLEAN) +kernel-amiga-m68k-kbd-clean :: + $(Q)$(ECHO) "Cleaning up for module amigakbd" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-amiga-m68k-kbd_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/mouse/mmakefile b/arch/m68k-amiga/hidd/mouse/mmakefile new file mode 100644 index 00000000000..8aacf1f1b96 --- /dev/null +++ b/arch/m68k-amiga/hidd/mouse/mmakefile @@ -0,0 +1,1665 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- kernel-amiga-m68k-mouse : includes kernel-potgo-includes +#MM- kernel-amiga-m68k-mouse-kobj : includes kernel-potgo-includes + +USER_CPPFLAGS += \ + -D__OOP_NOLIBBASE__ \ + -D__UTILITY_NOLIBBASE__ \ + -D__OOP_NOMETHODBASES__ \ + -D__OOP_NOATTRBASES__ + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-amiga-m68k-mouse +#MM kernel-amiga-m68k-mouse-quick +#MM kernel-amiga-m68k-mouse-makefile +#MM kernel-amiga-m68k-mouse-clean + +# ABI targets: +#MM- includes-all : kernel-amiga-m68k-mouse-includes +#MM- linklibs-amigamouse: kernel-amiga-m68k-mouse-linklib +#MM- linklibs-amigamouse_rel : kernel-amiga-m68k-mouse-linklib +#MM- includes-amigamouse: kernel-amiga-m68k-mouse-includes +#MM- includes-amigamouse_rel : kernel-amiga-m68k-mouse-includes +#MM- kernel-amiga-m68k-mouse : kernel-amiga-m68k-mouse-includes core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-mouse-linklib : kernel-amiga-m68k-mouse-includes includes-hiddstubs +#MM- kernel-amiga-m68k-mouse-quick : kernel-amiga-m68k-mouse-includes-quick +#MM kernel-amiga-m68k-mouse-includes : kernel-amiga-m68k-mouse-makefile kernel-amiga-m68k-mouse-includes-dirs \ +#MM includes-generate-deps kernel-amiga-m68k-mouse-fd +#MM kernel-amiga-m68k-mouse-includes-quick +#MM kernel-amiga-m68k-mouse-includes-dirs +#MM kernel-amiga-m68k-mouse-fd + +# Library targets +#MM kernel-amiga-m68k-mouse-kobj : core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-mouse-kobj-quick : + +# Library with ABI targets: +#MM kernel-amiga-m68k-mouse-kobj : kernel-amiga-m68k-mouse-includes core-linklibs linklibs-hiddstubs +#MM kernel-amiga-m68k-mouse-kobj-quick : kernel-amiga-m68k-mouse-includes-quick + +# All MetaMake targets defined by this macro +kernel-amiga-m68k-mouse_ALLTARGETS := kernel-amiga-m68k-mouse kernel-amiga-m68k-mouse-quick kernel-amiga-m68k-mouse-clean + +ifeq (M,M) +kernel-amiga-m68k-mouse_ALLTARGETS += kernel-amiga-m68k-mouse-kobj kernel-amiga-m68k-mouse-kobj-quick +endif + +ifeq (M,M) +kernel-amiga-m68k-mouse_ALLTARGETS += kernel-amiga-m68k-mouse-includes \ + kernel-amiga-m68k-mouse-includes-quick kernel-amiga-m68k-mouse-includes-dirs \ + kernel-amiga-m68k-mouse-linklib kernel-amiga-m68k-mouse-fd +endif + +.PHONY : $(kernel-amiga-m68k-mouse_ALLTARGETS) kernel-amiga-m68k-mouse-makefile + +ifeq (amigamouse,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-amiga-m68k-mouse_DEFNAME := amigamouse_ +else + kernel-amiga-m68k-mouse_DEFNAME := amigamouse +endif +kernel-amiga-m68k-mouse_DEFLINKLIBNAME := $(kernel-amiga-m68k-mouse_DEFNAME) +ifneq (,) + kernel-amiga-m68k-mouse_LINKLIBNAME := +else + kernel-amiga-m68k-mouse_LINKLIBNAME = $(kernel-amiga-m68k-mouse_DEFLINKLIBNAME) +endif +kernel-amiga-m68k-mouse_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-amiga-m68k-mouse_DEFCPPFLAGS += -I +endif +kernel-amiga-m68k-mouse_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-amiga-m68k-mouse_DFLAGS := +else + kernel-amiga-m68k-mouse_DFLAGS = $(kernel-amiga-m68k-mouse_DEFDFLAGS) +endif +kernel-amiga-m68k-mouse_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-amiga-m68k-mouse_DXXFLAGS := +else + kernel-amiga-m68k-mouse_DXXFLAGS = $(kernel-amiga-m68k-mouse_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-mouse_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-mouse_DEFDFLAGS)) +kernel-amiga-m68k-mouse_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-mouse_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-mouse_FUNCINSTR := yes +kernel-amiga-m68k-mouse_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-mouse_DEFDFLAGS)) +kernel-amiga-m68k-mouse_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-mouse_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-amiga-m68k-mouse_OBJDIR := +else +kernel-amiga-m68k-mouse_OBJDIR := $(OBJDIR)/$(kernel-amiga-m68k-mouse_DEFNAME) +endif +ifneq (,) +kernel-amiga-m68k-mouse_OBJDIR := $(kernel-amiga-m68k-mouse_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-amiga-m68k-mouse-makefile := $(kernel-amiga-m68k-mouse_OBJDIR)/Makefile.$(kernel-amiga-m68k-mouse_DEFNAME)hidd +kernel-amiga-m68k-mouse-genmakefile : $(kernel-amiga-m68k-mouse-makefile) + + +kernel-amiga-m68k-mouse-genmakefile_OPTS := +ifneq (,) + kernel-amiga-m68k-mouse-genmakefile_OPTS += -f + kernel-amiga-m68k-mouse-genmakefile_MODNAME := amigamouse_ +else + kernel-amiga-m68k-mouse-genmakefile_MODNAME := amigamouse +endif +kernel-amiga-m68k-mouse-genmakefile_TARGET := Makefile.$(kernel-amiga-m68k-mouse-genmakefile_MODNAME)hidd +kernel-amiga-m68k-mouse-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-mouse-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-mouse-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-mouse-genmakefile_OPTS += -c + kernel-amiga-m68k-mouse-genmakefile_DEPS += + endif +else + kernel-amiga-m68k-mouse-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/amigamouse.conf + kernel-amiga-m68k-mouse-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/amigamouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-mouse-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-mouse-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-mouse-genmakefile_OPTS += -o + kernel-amiga-m68k-mouse-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-mouse-genmakefile_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-mouse_OBJDIR),) + kernel-amiga-m68k-mouse-genmakefile_OPTS += -d $(kernel-amiga-m68k-mouse_OBJDIR) + kernel-amiga-m68k-mouse-genmakefile_TARGET := $(kernel-amiga-m68k-mouse_OBJDIR)/$(kernel-amiga-m68k-mouse-genmakefile_TARGET) +endif + +$(kernel-amiga-m68k-mouse-genmakefile_TARGET) : OPTS := $(kernel-amiga-m68k-mouse-genmakefile_OPTS) +$(kernel-amiga-m68k-mouse-genmakefile_TARGET) : MODNAME := amigamouse +$(kernel-amiga-m68k-mouse-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-amiga-m68k-mouse-genmakefile_TARGET) : $(kernel-amiga-m68k-mouse-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-amiga-m68k-mouse-makefile),) +$(kernel-amiga-m68k-mouse-makefile) : | $(kernel-amiga-m68k-mouse_OBJDIR) +else +$(kernel-amiga-m68k-mouse-makefile) :: $(kernel-amiga-m68k-mouse_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-mouse_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-amiga-m68k-mouse_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-amiga-m68k-mouse-makefile) + +kernel-amiga-m68k-mouse_DEFMODDIR := $($(kernel-amiga-m68k-mouse_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-amiga-m68k-mouse_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-amiga-m68k-mouse_DEFMODDIR) +endif +ifneq (,) + kernel-amiga-m68k-mouse_MODDIR := +else + kernel-amiga-m68k-mouse_MODDIR := $(kernel-amiga-m68k-mouse_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-amiga-m68k-mouse_INCDIR := +else +kernel-amiga-m68k-mouse_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-amiga-m68k-mouse_LIBDEFSINC := $(kernel-amiga-m68k-mouse_OBJDIR)/include/$(kernel-amiga-m68k-mouse_DEFNAME)_libdefs.h +kernel-amiga-m68k-mouse_DEFLIBDEFSINC := $(kernel-amiga-m68k-mouse_OBJDIR)/include/$(kernel-amiga-m68k-mouse_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-amiga-m68k-mouse-includes-quick : kernel-amiga-m68k-mouse-includes +kernel-amiga-m68k-mouse-includes : $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-mouse_INCDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-mouse_LIBDEFSINC) $(kernel-amiga-m68k-mouse_DEFLIBDEFSINC) + +ifneq ($($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-amiga-m68k-mouse-includes_MODNAME := amigamouse_ +else + kernel-amiga-m68k-mouse-includes_MODNAME := amigamouse +endif + +ifneq ($($(kernel-amiga-m68k-mouse-includes_MODNAME)_INCLUDES),) + +kernel-amiga-m68k-mouse-includes_TARGETS := $($(kernel-amiga-m68k-mouse-includes_MODNAME)_INCLUDES) + +kernel-amiga-m68k-mouse-includes_DEPS := $(GENMODULE) +kernel-amiga-m68k-mouse-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-mouse-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-mouse-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-mouse-includes_OPTS += -c + kernel-amiga-m68k-mouse-includes_DEPS += + endif +else + kernel-amiga-m68k-mouse-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/amigamouse.conf + kernel-amiga-m68k-mouse-includes_DEPS += $(SRCDIR)/$(CURDIR)/amigamouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-mouse-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-mouse-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-mouse-includes_OPTS += -o + kernel-amiga-m68k-mouse-includes_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-mouse-includes_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-mouse_OBJDIR)/include,) + kernel-amiga-m68k-mouse-includes_OPTS += -d $(kernel-amiga-m68k-mouse_OBJDIR)/include + kernel-amiga-m68k-mouse-includes_TARGETS := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/include/,$(kernel-amiga-m68k-mouse-includes_TARGETS)) + kernel-amiga-m68k-mouse-includes_GENINCFLAG=$(kernel-amiga-m68k-mouse_OBJDIR)/include/.amigamouse.hidd-includes +else + kernel-amiga-m68k-mouse-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.amigamouse.hidd-includes +endif + +$(kernel-amiga-m68k-mouse-includes_TARGETS) : $(kernel-amiga-m68k-mouse-includes_DEPS) $(kernel-amiga-m68k-mouse-includes_GENINCFLAG) + +$(kernel-amiga-m68k-mouse-includes_GENINCFLAG) : OPTS := $(kernel-amiga-m68k-mouse-includes_OPTS) +$(kernel-amiga-m68k-mouse-includes_GENINCFLAG) : MODNAME := amigamouse +$(kernel-amiga-m68k-mouse-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-amiga-m68k-mouse-includes_GENINCFLAG) : $(kernel-amiga-m68k-mouse-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-amiga-m68k-mouse_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_geninc + +$(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_geninc : COPYSRCDIR := $(kernel-amiga-m68k-mouse_OBJDIR)/include +$(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_geninc : TGTDIR := $(GENINCDIR) +$(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_geninc : FILES := $($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_geninc : $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/include/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-amiga-m68k-mouse_OBJDIR)/include + +$(addprefix $(kernel-amiga-m68k-mouse_INCDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_incs + +$(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_incs : COPYSRCDIR := $(kernel-amiga-m68k-mouse_OBJDIR)/include +$(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_incs : TGTDIR := $(kernel-amiga-m68k-mouse_INCDIR) +$(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_incs : FILES := $($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_incs : $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/include/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-amiga-m68k-mouse_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)))) + +TMPamigamouse_INCDIRS := \ + $(kernel-amiga-m68k-mouse_OBJDIR)/include $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/include/,$(kernel-amiga-m68k-mouse_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-amiga-m68k-mouse_INCDIRS)) \ + $(kernel-amiga-m68k-mouse_INCDIR) $(addprefix $(kernel-amiga-m68k-mouse_INCDIR)/,$(kernel-amiga-m68k-mouse_INCDIRS)) + +ifneq (kernel-amiga-m68k-mouse-includes-dirs,) +kernel-amiga-m68k-mouse-includes-dirs : | $(TMPamigamouse_INCDIRS) +else +kernel-amiga-m68k-mouse-includes-dirs :: $(TMPamigamouse_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPamigamouse_INCDIRS) + + +endif + +endif + + +kernel-amiga-m68k-mouse-genlibdefs_OPTS := +ifneq (,) + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -f + kernel-amiga-m68k-mouse-genlibdefs_MODNAME := amigamouse_ +else + kernel-amiga-m68k-mouse-genlibdefs_MODNAME := amigamouse +endif +kernel-amiga-m68k-mouse-genlibdefs_TARGET := $(kernel-amiga-m68k-mouse-genlibdefs_MODNAME)_libdefs.h +kernel-amiga-m68k-mouse-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-mouse-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -c + kernel-amiga-m68k-mouse-genlibdefs_DEPS += + endif +else + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/amigamouse.conf + kernel-amiga-m68k-mouse-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/amigamouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-mouse-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -o + kernel-amiga-m68k-mouse-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-mouse_OBJDIR)/include,) + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -d $(kernel-amiga-m68k-mouse_OBJDIR)/include + kernel-amiga-m68k-mouse-genlibdefs_TARGET := $(kernel-amiga-m68k-mouse_OBJDIR)/include/$(kernel-amiga-m68k-mouse-genlibdefs_TARGET) +endif +ifneq (,) + kernel-amiga-m68k-mouse-genlibdefs_OPTS += -v +endif + +$(kernel-amiga-m68k-mouse-genlibdefs_TARGET) : OPTS := $(kernel-amiga-m68k-mouse-genlibdefs_OPTS) +$(kernel-amiga-m68k-mouse-genlibdefs_TARGET) : MODNAME := amigamouse +$(kernel-amiga-m68k-mouse-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-amiga-m68k-mouse-genlibdefs_TARGET) : $(kernel-amiga-m68k-mouse-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-mouse_DEFLIBDEFSINC) : FILENAME := $(kernel-amiga-m68k-mouse_LIBDEFSINC) +$(kernel-amiga-m68k-mouse_DEFLIBDEFSINC) : $(kernel-amiga-m68k-mouse_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-amiga-m68k-mouse_LIBDEFSINC) $(kernel-amiga-m68k-mouse_DEFLIBDEFSINC) : | $(kernel-amiga-m68k-mouse_OBJDIR)/include + +ifneq (kernel-amiga-m68k-mouse-includes-dirs,) +kernel-amiga-m68k-mouse-includes-dirs : | $(kernel-amiga-m68k-mouse_OBJDIR)/include +else +kernel-amiga-m68k-mouse-includes-dirs :: $(kernel-amiga-m68k-mouse_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-mouse_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-amiga-m68k-mouse-genmodfiles_OPTS := +ifneq (,) + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -f + kernel-amiga-m68k-mouse-genmodfiles_MODNAME := amigamouse_ +else + kernel-amiga-m68k-mouse-genmodfiles_MODNAME := amigamouse +endif +kernel-amiga-m68k-mouse-genmodfiles_GENTARGETS := $($(kernel-amiga-m68k-mouse-genmodfiles_MODNAME)_STARTFILES) $($(kernel-amiga-m68k-mouse-genmodfiles_MODNAME)_ENDFILES) +kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETS := $($(kernel-amiga-m68k-mouse-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-mouse-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-amiga-m68k-mouse-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-mouse-genmodfiles_GENTARGETS)) +kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-amiga-m68k-mouse-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-amiga-m68k-mouse-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-amiga-m68k-mouse-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-mouse-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -c + kernel-amiga-m68k-mouse-genmodfiles_DEPS += + endif +else + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/amigamouse.conf + kernel-amiga-m68k-mouse-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/amigamouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-mouse-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -o + kernel-amiga-m68k-mouse-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-mouse_OBJDIR),) + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -d $(kernel-amiga-m68k-mouse_OBJDIR) + kernel-amiga-m68k-mouse-genmodfiles_TARGETDIR := $(shell echo $(kernel-amiga-m68k-mouse_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-mouse-genmodfiles_GENTARGETS := $(addprefix $(kernel-amiga-m68k-mouse-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-mouse-genmodfiles_GENTARGETS)) + kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG=$(kernel-amiga-m68k-mouse-genmodfiles_TARGETDIR)/.amigamouse.hidd-genfiles +else + kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.amigamouse.hidd-genfiles +endif +ifneq ($(kernel-amiga-m68k-mouse_OBJDIR)/linklib,) + kernel-amiga-m68k-mouse-genmodfiles_OPTS += -l $(kernel-amiga-m68k-mouse_OBJDIR)/linklib + kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-amiga-m68k-mouse_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETDIR)/,$(kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETS)) + kernel-amiga-m68k-mouse-genmodfiles_TARGETDIRS += $(kernel-amiga-m68k-mouse_OBJDIR)/linklib +else +ifneq ($(kernel-amiga-m68k-mouse_OBJDIR),) + kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-mouse-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-amiga-m68k-mouse-genmodfiles_TARGETS := $(kernel-amiga-m68k-mouse-genmodfiles_GENTARGETS) $(kernel-amiga-m68k-mouse-genmodfiles_STUBTARGETS) +ifneq ($(kernel-amiga-m68k-mouse-genmodfiles_TARGETDIRS),) +$(kernel-amiga-m68k-mouse-genmodfiles_TARGETS) : | $(kernel-amiga-m68k-mouse-genmodfiles_TARGETDIRS) +endif + +$(kernel-amiga-m68k-mouse-genmodfiles_TARGETS) : $(kernel-amiga-m68k-mouse-genmodfiles_DEPS) $(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG) + +$(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-amiga-m68k-mouse-genmodfiles_OPTS) +$(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG) : MODNAME := amigamouse +$(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-mouse-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-mouse_DEFLIBDEFSINC) $(kernel-amiga-m68k-mouse-makefile) + + +ifneq ($(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG),) +$(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG) : | $(kernel-amiga-m68k-mouse_OBJDIR)/linklib +else +$(kernel-amiga-m68k-mouse-genmodfiles_GENFILEFLAG) :: $(kernel-amiga-m68k-mouse_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-mouse_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-amiga-m68k-mouse_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-amiga-m68k-mouse_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-amiga-m68k-mouse-fd : $(kernel-amiga-m68k-mouse_FDDIR)/amigamouse_lib.fd + + +TMP_TARGET := amigamouse_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/amigamouse.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/amigamouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-mouse_FDDIR),) + TMP_OPTS += -d $(kernel-amiga-m68k-mouse_FDDIR) + TMP_TARGET := $(kernel-amiga-m68k-mouse_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := amigamouse +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-mouse_FDDIR)/amigamouse_lib.fd : | $(kernel-amiga-m68k-mouse_FDDIR) + + +ifneq (kernel-amiga-m68k-mouse-fd-setup,) +kernel-amiga-m68k-mouse-fd-setup : | $(kernel-amiga-m68k-mouse_FDDIR) +else +kernel-amiga-m68k-mouse-fd-setup :: $(kernel-amiga-m68k-mouse_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-mouse_FDDIR) + +endif + +## Compilation +## +kernel-amiga-m68k-mouse_FILES := mouse_init mouseclass +kernel-amiga-m68k-mouse_OBJCFILES := +kernel-amiga-m68k-mouse_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-amiga-m68k-mouse_LIBFILES := +kernel-amiga-m68k-mouse_LIBS := hiddstubs + +kernel-amiga-m68k-mouse_FDIRS := $(sort $(dir $(kernel-amiga-m68k-mouse_FILES))) + +kernel-amiga-m68k-mouse_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-amiga-m68k-mouse_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-amiga-m68k-mouse_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-amiga-m68k-mouse_FILTERARCH = $(filter-out $(call kernel-amiga-m68k-mouse_MATCHARCH,$(1),$(2)),$(2)) +kernel-amiga-m68k-mouse_STARTFILES := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_STARTFILES)) +kernel-amiga-m68k-mouse_ENDFILES := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_ENDFILES)) + +kernel-amiga-m68k-mouse_ARCHOBJS := $(wildcard $(kernel-amiga-m68k-mouse_OBJDIR)/arch/*.o) +kernel-amiga-m68k-mouse_LIBARCHOBJS := $(wildcard $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/arch/*.o) +kernel-amiga-m68k-mouse_ARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-mouse_ARCHOBJS))) +kernel-amiga-m68k-mouse_LIBARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-mouse_LIBARCHOBJS))) +kernel-amiga-m68k-mouse_C_NARCHFILES := $(call kernel-amiga-m68k-mouse_FILTERARCH,$(kernel-amiga-m68k-mouse_ARCHFILES),$(kernel-amiga-m68k-mouse_FILES)) +kernel-amiga-m68k-mouse_CXX_NARCHFILES := $(call kernel-amiga-m68k-mouse_FILTERARCH,$(kernel-amiga-m68k-mouse_ARCHFILES),$(kernel-amiga-m68k-mouse_CXXFILES)) +kernel-amiga-m68k-mouse_OBJC_NARCHFILES := $(call kernel-amiga-m68k-mouse_FILTERARCH,$(kernel-amiga-m68k-mouse_ARCHFILES),$(kernel-amiga-m68k-mouse_OBJCFILES)) +kernel-amiga-m68k-mouse_NLIBARCHFILES := $(call kernel-amiga-m68k-mouse_FILTERARCH,$(kernel-amiga-m68k-mouse_LIBARCHFILES),$(kernel-amiga-m68k-mouse_LIBFILES)) +kernel-amiga-m68k-mouse_ARCHNLIBFILES := $(call kernel-amiga-m68k-mouse_FILTERARCH,$(kernel-amiga-m68k-mouse_LIBFILES),$(kernel-amiga-m68k-mouse_LIBARCHFILES)) + +kernel-amiga-m68k-mouse_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-amiga-m68k-mouse_OBJDIR)/include -include $(kernel-amiga-m68k-mouse_DEFLIBDEFSINC)) +ifneq (,) +kernel-amiga-m68k-mouse_CPPFLAGS += -I +endif +kernel-amiga-m68k-mouse_LINKLIBCPPFLAGS := $(kernel-amiga-m68k-mouse_CPPFLAGS) +kernel-amiga-m68k-mouse_CPPFLAGS += $(strip $($(kernel-amiga-m68k-mouse_DEFNAME)_CPPFLAGS)) +kernel-amiga-m68k-mouse_LINKLIBCPPFLAGS += $(strip $($(kernel-amiga-m68k-mouse_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-amiga-m68k-mouse_CFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-mouse_DEFNAME)_CFLAGS)) +kernel-amiga-m68k-mouse_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-mouse_DEFNAME)_LINKLIBCFLAGS)) +kernel-amiga-m68k-mouse_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-amiga-m68k-mouse_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-mouse_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-amiga-m68k-mouse_CFLAGS := $(strip $(kernel-amiga-m68k-mouse_LTOFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +kernel-amiga-m68k-mouse_LINKLIBCFLAGS := $(strip $(kernel-amiga-m68k-mouse_LTOFLAGS) $(kernel-amiga-m68k-mouse_LINKLIBCFLAGS)) +kernel-amiga-m68k-mouse_CXXFLAGS := $(strip $(kernel-amiga-m68k-mouse_LTOFLAGS) $(kernel-amiga-m68k-mouse_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-mouse_SUBSTNULL := +kernel-amiga-m68k-mouse_SUBSTSPACE := $(kernel-amiga-m68k-mouse_SUBSTNULL) # +kernel-amiga-m68k-mouse_SUBSTCOMMA := , +kernel-amiga-m68k-mouse_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-amiga-m68k-mouse_SUBSTSPACE),$(kernel-amiga-m68k-mouse_SUBSTCOMMA),$(strip $($(kernel-amiga-m68k-mouse_DEFNAME)_STARTFILES)))) +kernel-amiga-m68k-mouse_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-amiga-m68k-mouse_CFLAGS := $(strip $(kernel-amiga-m68k-mouse_INSTRFUNCFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +kernel-amiga-m68k-mouse_CXXFLAGS := $(strip $(kernel-amiga-m68k-mouse_INSTRFUNCFLAGS) $(kernel-amiga-m68k-mouse_CXXFLAGS)) +kernel-amiga-m68k-mouse_LIBS += $(kernel-amiga-m68k-mouse_INSTRFUNCLIBS) +endif +endif +kernel-amiga-m68k-mouse_DFLAGS := $(strip $(kernel-amiga-m68k-mouse_DFLAGS) $($(kernel-amiga-m68k-mouse_DEFNAME)_DFLAGS)) +kernel-amiga-m68k-mouse_LINKLIBDFLAGS := $(strip $(kernel-amiga-m68k-mouse_DFLAGS) $($(kernel-amiga-m68k-mouse_DEFNAME)_LINKLIBDFLAGS)) +kernel-amiga-m68k-mouse_DXXFLAGS := $(strip $(kernel-amiga-m68k-mouse_DXXFLAGS) $($(kernel-amiga-m68k-mouse_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-amiga-m68k-mouse_LIBSUFFIX := +else + kernel-amiga-m68k-mouse_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-amiga-m68k-mouse_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-amiga-m68k-mouse_LIBDIR := +endif + +ifeq (M,M) +kernel-amiga-m68k-mouse_LINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$($(kernel-amiga-m68k-mouse_DEFNAME)_LINKLIBFILES)) +kernel-amiga-m68k-mouse_LINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$($(kernel-amiga-m68k-mouse_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-mouse_DEFNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-mouse_DEFNAME)_LINKLIBAFILES) $(kernel-amiga-m68k-mouse_ARCHNLIBFILES)),) + kernel-amiga-m68k-mouse_LINKLIB := +else + kernel-amiga-m68k-mouse_LINKLIB := $(kernel-amiga-m68k-mouse_LIBDIR)/libamigamouse$(kernel-amiga-m68k-mouse_LIBSUFFIX).a + ifneq (amigamouse,$(kernel-amiga-m68k-mouse_LINKLIBNAME)) + kernel-amiga-m68k-mouse_LINKLIB += $(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)$(kernel-amiga-m68k-mouse_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-mouse_LINKLIBFILES := $(kernel-amiga-m68k-mouse_LINKLIBCFILES) $(kernel-amiga-m68k-mouse_LINKLIBAFILES) + +kernel-amiga-m68k-mouse_RELLINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$($(kernel-amiga-m68k-mouse_DEFNAME)_RELLINKLIBFILES)) +kernel-amiga-m68k-mouse_RELLINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$($(kernel-amiga-m68k-mouse_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-mouse_DEFNAME)_RELLINKLIBFILES) $($(kernel-amiga-m68k-mouse_DEFNAME)_RELLINKLIBAFILES) $(kernel-amiga-m68k-mouse_ARCHNLIBFILES)),) + kernel-amiga-m68k-mouse_RELLINKLIB := +else + kernel-amiga-m68k-mouse_RELLINKLIB := $(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_DEFNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a + ifneq (amigamouse,$(kernel-amiga-m68k-mouse_LINKLIBNAME)) + kernel-amiga-m68k-mouse_RELLINKLIB += $(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-mouse_RELLINKLIBFILES := $(kernel-amiga-m68k-mouse_RELLINKLIBCFILES) $(kernel-amiga-m68k-mouse_RELLINKLIBAFILES) +endif + +kernel-amiga-m68k-mouse_ENDOBJS := $(addsuffix .o,$(kernel-amiga-m68k-mouse_ENDFILES)) +kernel-amiga-m68k-mouse_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-mouse_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-mouse_ARCHNLIBFILES))) $(kernel-amiga-m68k-mouse_LINKLIBFILES)) \ + +kernel-amiga-m68k-mouse_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-mouse_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-mouse_ARCHNLIBFILES))) $(kernel-amiga-m68k-mouse_RELLINKLIBFILES)) \ + +$(kernel-amiga-m68k-mouse_LINKLIBFILES) $(kernel-amiga-m68k-mouse_RELLINKLIBFILES) : | $(kernel-amiga-m68k-mouse_OBJDIR)/linklib +$(kernel-amiga-m68k-mouse_LINKLIBOBJS) $(kernel-amiga-m68k-mouse_RELLINKLIBOBJS) : | $(kernel-amiga-m68k-mouse_OBJDIR)/linklib + +kernel-amiga-m68k-mouse_CCFILES := $(kernel-amiga-m68k-mouse_C_NARCHFILES) +kernel-amiga-m68k-mouse_TARGETCCFILES := $(strip $(kernel-amiga-m68k-mouse_STARTFILES) $(kernel-amiga-m68k-mouse_ENDFILES)) +kernel-amiga-m68k-mouse_LINKLIBCCFILES := $(strip $(kernel-amiga-m68k-mouse_NLIBARCHFILES) $(kernel-amiga-m68k-mouse_LINKLIBCFILES) $(kernel-amiga-m68k-mouse_RELLINKLIBCFILES)) +kernel-amiga-m68k-mouse_LINKLIBCCGENFILES := $(strip $(kernel-amiga-m68k-mouse_LINKLIBCFILES) $(kernel-amiga-m68k-mouse_RELLINKLIBCFILES)) + + +kernel-amiga-m68k-mouse_CXXABSBASENAMES := $(foreach kernel-amiga-m68k-mouse_CXXBASE,$(kernel-amiga-m68k-mouse_CXX_NARCHFILES),$(if $(filter /%,$(kernel-amiga-m68k-mouse_CXXBASE)),$(kernel-amiga-m68k-mouse_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-amiga-m68k-mouse_CXXBASE)))) + +ifneq ($(kernel-amiga-m68k-mouse_CXXABSBASENAMES),) + +kernel-amiga-m68k-mouse_CXXBASENAMES := $(basename $(kernel-amiga-m68k-mouse_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-amiga-m68k-mouse_MCXX_FILES := $(strip $(foreach kernel-amiga-m68k-mouse_CXXBASE,$(kernel-amiga-m68k-mouse_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-amiga-m68k-mouse_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-amiga-m68k-mouse_EXT),$(kernel-amiga-m68k-mouse_CXXBASE))))))) + +ifeq (,) +kernel-amiga-m68k-mouse_MCXX_SRCWILDCARD := % +else +kernel-amiga-m68k-mouse_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR),) + kernel-amiga-m68k-mouse_CXXTARGETS := $(notdir $(kernel-amiga-m68k-mouse_CXXBASENAMES:=.o)) + kernel-amiga-m68k-mouse_CXXDTARGETS := $(notdir $(kernel-amiga-m68k-mouse_CXXBASENAMES:=.d)) + kernel-amiga-m68k-mouse_MCXX_WILDCARD := % +else + kernel-amiga-m68k-mouse_CXXTARGETS := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(kernel-amiga-m68k-mouse_CXXBASENAMES:=.o))) + kernel-amiga-m68k-mouse_CXXDTARGETS := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(kernel-amiga-m68k-mouse_CXXBASENAMES:=.d))) + kernel-amiga-m68k-mouse_MCXX_WILDCARD := $(kernel-amiga-m68k-mouse_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-amiga-m68k-mouse_CXXTARGETS) $(kernel-amiga-m68k-mouse_CXXDTARGETS) : | $(kernel-amiga-m68k-mouse_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-amiga-m68k-mouse_MCXX_CPPFLAGS := $(kernel-amiga-m68k-mouse_CPPFLAGS) +kernel-amiga-m68k-mouse_CXXFLAGS := $(kernel-amiga-m68k-mouse_CXXFLAGS) +ifeq ($(kernel-amiga-m68k-mouse_DXXFLAGS),) + kernel-amiga-m68k-mouse_DXXFLAGS := $(kernel-amiga-m68k-mouse_CXXFLAGS) +else + kernel-amiga-m68k-mouse_DXXFLAGS := $(kernel-amiga-m68k-mouse_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-amiga-m68k-mouse_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-amiga-m68k-mouse_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-amiga-m68k-mouse_CXXCMD:=$(HOST_CXX) + kernel-amiga-m68k-mouse_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-amiga-m68k-mouse_MCXX_CPPFLAGS) $(kernel-amiga-m68k-mouse_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-mouse_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-mouse_CXXFLAGS)) + kernel-amiga-m68k-mouse_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-mouse_DXXFLAGS)) + kernel-amiga-m68k-mouse_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-amiga-m68k-mouse_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-amiga-m68k-mouse_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-mouse_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-amiga-m68k-mouse_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-amiga-m68k-mouse_MCXX_CPPFLAGS := $(strip $(kernel-amiga-m68k-mouse_MCXX_CPPFLAGS) $(kernel-amiga-m68k-mouse_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-mouse_CXXFLAGS := $(strip $(kernel-amiga-m68k-mouse_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-amiga-m68k-mouse_DXXFLAGS := $(kernel-amiga-m68k-mouse_DXXFLAGS) + kernel-amiga-m68k-mouse_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-amiga-m68k-mouse_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-amiga-m68k-mouse_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-mouse_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-mouse_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-mouse_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-amiga-m68k-mouse_MCXX_CPPFLAGS) $(kernel-amiga-m68k-mouse_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-mouse_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-mouse_CXXFLAGS)) + kernel-amiga-m68k-mouse_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-mouse_DXXFLAGS)) + kernel-amiga-m68k-mouse_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-amiga-m68k-mouse_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-amiga-m68k-mouse_CXXCMD) $(kernel-amiga-m68k-mouse_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-mouse_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_CXXIQUOTE) . $(kernel-amiga-m68k-mouse_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-mouse_CXXFLAGS) $(kernel-amiga-m68k-mouse_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-amiga-m68k-mouse_CXXCMD) $(kernel-amiga-m68k-mouse_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-mouse_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_CXXIQUOTE) . $(kernel-amiga-m68k-mouse_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-mouse_CXXFLAGS) $(kernel-amiga-m68k-mouse_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-amiga-m68k-mouse_CXXCMD) $(kernel-amiga-m68k-mouse_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-mouse_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_CXXIQUOTE) . $(kernel-amiga-m68k-mouse_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-mouse_CXXFLAGS) $(kernel-amiga-m68k-mouse_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-amiga-m68k-mouse_CXXCMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-mouse_DXXFLAGS) $(kernel-amiga-m68k-mouse_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR),) + $(foreach kernel-amiga-m68k-mouse_CXXFILE,$(kernel-amiga-m68k-mouse_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-amiga-m68k-mouse_CXXFILE))),$(kernel-amiga-m68k-mouse_CXXFILE)))) +else + $(foreach kernel-amiga-m68k-mouse_CXXFILE,$(kernel-amiga-m68k-mouse_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(basename $(kernel-amiga-m68k-mouse_CXXFILE)))),$(kernel-amiga-m68k-mouse_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-amiga-m68k-mouse_OBJC_NARCHFILES),) + +ifeq (,) +kernel-amiga-m68k-mouse_MOBJC_SRCWILDCARD := % +else +kernel-amiga-m68k-mouse_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR),) + kernel-amiga-m68k-mouse_MOBJC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-mouse_OBJC_NARCHFILES)) + kernel-amiga-m68k-mouse_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-mouse_OBJC_NARCHFILES)) + kernel-amiga-m68k-mouse_MOBJC_WILDCARD := % +else + kernel-amiga-m68k-mouse_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(kernel-amiga-m68k-mouse_OBJC_NARCHFILES))) + kernel-amiga-m68k-mouse_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(kernel-amiga-m68k-mouse_OBJC_NARCHFILES))) + kernel-amiga-m68k-mouse_MOBJC_WILDCARD := $(kernel-amiga-m68k-mouse_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-amiga-m68k-mouse_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-amiga-m68k-mouse_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-mouse_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-mouse_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-amiga-m68k-mouse_MOBJC_DIRS := $(foreach dir, $(kernel-amiga-m68k-mouse_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-mouse_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-amiga-m68k-mouse_MOBJC_DIRS),) + kernel-amiga-m68k-mouse_MOBJC_DIRS := $(shell echo $(kernel-amiga-m68k-mouse_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-amiga-m68k-mouse_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-amiga-m68k-mouse_CC := $(TARGET_CC) +else + kernel-amiga-m68k-mouse_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS := $(kernel-amiga-m68k-mouse_CPPFLAGS) +kernel-amiga-m68k-mouse_OBJCFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +kernel-amiga-m68k-mouse_OBJCFLAGS := $(kernel-amiga-m68k-mouse_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-amiga-m68k-mouse_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-amiga-m68k-mouse_OBJCFLAGS))) +ifeq ($(kernel-amiga-m68k-mouse_DFLAGS),) + kernel-amiga-m68k-mouse_OBJCDFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +else + kernel-amiga-m68k-mouse_OBJCDFLAGS := $(kernel-amiga-m68k-mouse_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-amiga-m68k-mouse_LINK ?= $(strip $(kernel-amiga-m68k-mouse_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-mouse_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-amiga-m68k-mouse_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_OBJCFLAGS:=$(strip $(kernel-amiga-m68k-mouse_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_OBJCDFLAGS:=$(kernel-amiga-m68k-mouse_OBJCDFLAGS) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-amiga-m68k-mouse_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-amiga-m68k-mouse_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_OBJCFLAGS)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_OBJCDFLAGS)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(HOST_IQUOTE) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-amiga-m68k-mouse_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-mouse_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_OBJCFLAGS)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_OBJCDFLAGS)) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-amiga-m68k-mouse_MOBJC_TARGETS) $(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-mouse_MOBJC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS) +$(kernel-amiga-m68k-mouse_MOBJC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-mouse_OBJCFLAGS) +$(kernel-amiga-m68k-mouse_MOBJC_TARGETS) : $(kernel-amiga-m68k-mouse_MOBJC_WILDCARD).o : $(kernel-amiga-m68k-mouse_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-mouse_MOBJC_DTARGETS) : $(kernel-amiga-m68k-mouse_MOBJC_WILDCARD).d : $(kernel-amiga-m68k-mouse_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-mouse_OBJCDFLAGS) $(kernel-amiga-m68k-mouse_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-amiga-m68k-mouse_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-mouse_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR),) +kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-mouse_CCFILES)) +kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-mouse_CCFILES)) +kernel-amiga-m68k-mouse_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(kernel-amiga-m68k-mouse_CCFILES)))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(kernel-amiga-m68k-mouse_CCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(kernel-amiga-m68k-mouse_CCFILES))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(kernel-amiga-m68k-mouse_CCFILES))) +else + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-mouse_CCFILES)))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-mouse_CCFILES)))) +endif +endif +kernel-amiga-m68k-mouse_MC_TGTWILDCARD := $(kernel-amiga-m68k-mouse_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-mouse_CCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-mouse_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-mouse_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-mouse_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-mouse_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-mouse_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-mouse_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-mouse_MC_DIRS),) + kernel-amiga-m68k-mouse_MC_DIRS := $(shell echo $(kernel-amiga-m68k-mouse_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-mouse_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-mouse_MC_CPPFLAGS := $(kernel-amiga-m68k-mouse_CPPFLAGS) +kernel-amiga-m68k-mouse_CFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +ifeq ($(kernel-amiga-m68k-mouse_DFLAGS),) + kernel-amiga-m68k-mouse_DFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +else + kernel-amiga-m68k-mouse_DFLAGS := $(kernel-amiga-m68k-mouse_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(kernel-amiga-m68k-mouse_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(kernel-amiga-m68k-mouse_DFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_DFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_DFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-mouse_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) : $(kernel-amiga-m68k-mouse_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-mouse_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-mouse_MC_DTARGETS) : $(kernel-amiga-m68k-mouse_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-mouse_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-mouse_DFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-mouse_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-mouse_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR),) +kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-mouse_TARGETCCFILES)) +kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-mouse_TARGETCCFILES)) +kernel-amiga-m68k-mouse_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(kernel-amiga-m68k-mouse_TARGETCCFILES)))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(kernel-amiga-m68k-mouse_TARGETCCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(kernel-amiga-m68k-mouse_TARGETCCFILES))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(kernel-amiga-m68k-mouse_TARGETCCFILES))) +else + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-mouse_TARGETCCFILES)))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-mouse_TARGETCCFILES)))) +endif +endif +kernel-amiga-m68k-mouse_MC_TGTWILDCARD := $(kernel-amiga-m68k-mouse_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-mouse_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-mouse_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-mouse_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-mouse_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-mouse_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-mouse_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-mouse_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-mouse_MC_DIRS),) + kernel-amiga-m68k-mouse_MC_DIRS := $(shell echo $(kernel-amiga-m68k-mouse_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-mouse_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-mouse_MC_CPPFLAGS := $(kernel-amiga-m68k-mouse_CPPFLAGS) -D__AROS__ +kernel-amiga-m68k-mouse_CFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +ifeq ($(kernel-amiga-m68k-mouse_DFLAGS),) + kernel-amiga-m68k-mouse_DFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +else + kernel-amiga-m68k-mouse_DFLAGS := $(kernel-amiga-m68k-mouse_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(kernel-amiga-m68k-mouse_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(kernel-amiga-m68k-mouse_DFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_DFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_DFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-mouse_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) : $(kernel-amiga-m68k-mouse_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-mouse_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-mouse_MC_DTARGETS) : $(kernel-amiga-m68k-mouse_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-mouse_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-mouse_DFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-mouse_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-mouse_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR)/linklib,) +kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-mouse_NLIBARCHFILES)) +kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-mouse_NLIBARCHFILES)) +kernel-amiga-m68k-mouse_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-mouse_NLIBARCHFILES)))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-mouse_NLIBARCHFILES)))) +else +ifeq (,) + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(kernel-amiga-m68k-mouse_NLIBARCHFILES))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(kernel-amiga-m68k-mouse_NLIBARCHFILES))) +else + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-mouse_NLIBARCHFILES)))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-mouse_NLIBARCHFILES)))) +endif +endif +kernel-amiga-m68k-mouse_MC_TGTWILDCARD := $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-mouse_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-mouse_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-mouse_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-mouse_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-mouse_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-mouse_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-mouse_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-mouse_MC_DIRS),) + kernel-amiga-m68k-mouse_MC_DIRS := $(shell echo $(kernel-amiga-m68k-mouse_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-mouse_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-mouse_MC_CPPFLAGS := $(kernel-amiga-m68k-mouse_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-mouse_CFLAGS := $(kernel-amiga-m68k-mouse_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-mouse_LINKLIBDFLAGS),) + kernel-amiga-m68k-mouse_DFLAGS := $(kernel-amiga-m68k-mouse_LINKLIBCFLAGS) +else + kernel-amiga-m68k-mouse_DFLAGS := $(kernel-amiga-m68k-mouse_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(kernel-amiga-m68k-mouse_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(kernel-amiga-m68k-mouse_DFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_DFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_DFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-mouse_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) : $(kernel-amiga-m68k-mouse_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-mouse_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-mouse_MC_DTARGETS) : $(kernel-amiga-m68k-mouse_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-mouse_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-mouse_DFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR)/linklib,) +kernel-amiga-m68k-mouse_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-mouse_MC_SRCWILDCARD := $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR)/linklib,) +kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES)) +kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES)) +kernel-amiga-m68k-mouse_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR)/linklib,) + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES))) +else + kernel-amiga-m68k-mouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-mouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES)))) +endif +endif +kernel-amiga-m68k-mouse_MC_TGTWILDCARD := $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-mouse_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-mouse_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-mouse_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-mouse_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-mouse_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-mouse_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-mouse_MC_DIRS),) + kernel-amiga-m68k-mouse_MC_DIRS := $(shell echo $(kernel-amiga-m68k-mouse_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-mouse_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-mouse_MC_CPPFLAGS := $(kernel-amiga-m68k-mouse_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-mouse_CFLAGS := $(kernel-amiga-m68k-mouse_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-mouse_LINKLIBDFLAGS),) + kernel-amiga-m68k-mouse_DFLAGS := $(kernel-amiga-m68k-mouse_LINKLIBCFLAGS) +else + kernel-amiga-m68k-mouse_DFLAGS := $(kernel-amiga-m68k-mouse_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(kernel-amiga-m68k-mouse_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(kernel-amiga-m68k-mouse_DFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-mouse_DFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-mouse_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-mouse_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-mouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) $(kernel-amiga-m68k-mouse_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_CFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-mouse_DFLAGS)) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-mouse_MC_TARGETS) $(kernel-amiga-m68k-mouse_MC_DTARGETS) : kernel-amiga-m68k-mouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-mouse_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-mouse_MC_CPPFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-mouse_CFLAGS) +$(kernel-amiga-m68k-mouse_MC_TARGETS) : $(kernel-amiga-m68k-mouse_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-mouse_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-mouse_IQUOTE) $(dir $<) $(kernel-amiga-m68k-mouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-mouse_IQUOTE) . $(kernel-amiga-m68k-mouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-mouse_MC_DTARGETS) : $(kernel-amiga-m68k-mouse_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-mouse_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-mouse_DFLAGS) $(kernel-amiga-m68k-mouse_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-amiga-m68k-mouse_LINKLIBAFILES),) + +ifeq ($(kernel-amiga-m68k-mouse_OBJDIR)/linklib,) +kernel-amiga-m68k-mouse-MA_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-mouse_LINKLIBAFILES) $(kernel-amiga-m68k-mouse_RELLINKLIBAFILES)) +kernel-amiga-m68k-mouse-MA_WILDCARD := % +else +kernel-amiga-m68k-mouse-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-mouse_LINKLIBAFILES) $(kernel-amiga-m68k-mouse_RELLINKLIBAFILES)))) +kernel-amiga-m68k-mouse-MA_WILDCARD := $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-amiga-m68k-mouse-MA_TARGETS) : | $(addsuffix .S,$(kernel-amiga-m68k-mouse_LINKLIBAFILES) $(kernel-amiga-m68k-mouse_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-mouse-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-mouse-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-mouse_LINKLIBAFILES) $(kernel-amiga-m68k-mouse_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-mouse-MA_DIRS := $(foreach dir, $(kernel-amiga-m68k-mouse-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-mouse-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-mouse-MA_DIRS),) + kernel-amiga-m68k-mouse-MA_DIRS := $(shell echo $(kernel-amiga-m68k-mouse-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-amiga-m68k-mouse-MA_DIRS) +endif + +endif + +kernel-amiga-m68k-mouse-MA_ASSEMBLER ?= $(kernel-amiga-m68k-mouse_ASSEMBLER) + +$(kernel-amiga-m68k-mouse-MA_TARGETS) : kernel-amiga-m68k-mouse-MA_CMD:= $(kernel-amiga-m68k-mouse-MA_ASSEMBLER) + +$(kernel-amiga-m68k-mouse-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-amiga-m68k-mouse-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-amiga-m68k-mouse-MA_TARGETS) : $(kernel-amiga-m68k-mouse-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-amiga-m68k-mouse-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-amiga-m68k-mouse-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-amiga-m68k-mouse-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-amiga-m68k-mouse_SUFFIX := hidd +else +kernel-amiga-m68k-mouse_SUFFIX := +endif + +ifeq (target,target) +kernel-amiga-m68k-mouse_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-amiga-m68k-mouse_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-amiga-m68k-mouse_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-amiga-m68k-mouse_SUFFIX),handler) +kernel-amiga-m68k-mouse_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-mouse_MODDIR)/$(kernel-amiga-m68k-mouse_DEFNAME)-$(kernel-amiga-m68k-mouse_SUFFIX) +else +kernel-amiga-m68k-mouse_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-mouse_MODDIR)/$(kernel-amiga-m68k-mouse_DEFNAME).$(kernel-amiga-m68k-mouse_SUFFIX) +endif +kernel-amiga-m68k-mouse_KOBJ := $(KOBJSDIR)/$(kernel-amiga-m68k-mouse_DEFNAME)_$(kernel-amiga-m68k-mouse_SUFFIX).o +else +kernel-amiga-m68k-mouse_MODULE := +kernel-amiga-m68k-mouse_KOBJ := +endif + +kernel-amiga-m68k-mouse-quick : kernel-amiga-m68k-mouse +kernel-amiga-m68k-mouse : $(kernel-amiga-m68k-mouse_MODULE) $(kernel-amiga-m68k-mouse_LINKLIB) $(kernel-amiga-m68k-mouse_RELLINKLIB) +ifeq (M,M) +kernel-amiga-m68k-mouse-kobj : $(kernel-amiga-m68k-mouse_KOBJ) $(kernel-amiga-m68k-mouse_LINKLIB) $(kernel-amiga-m68k-mouse_RELLINKLIB) +kernel-amiga-m68k-mouse-kobj-quick : $(kernel-amiga-m68k-mouse_KOBJ) $(kernel-amiga-m68k-mouse_LINKLIB) $(kernel-amiga-m68k-mouse_RELLINKLIB) +endif +ifeq (M,M) +kernel-amiga-m68k-mouse-linklib : $(kernel-amiga-m68k-mouse_LINKLIB) $(kernel-amiga-m68k-mouse_RELLINKLIB) +endif + +kernel-amiga-m68k-mouse_OBJS := $(addsuffix .o,$(kernel-amiga-m68k-mouse_STARTFILES)) $(kernel-amiga-m68k-mouse_ARCHOBJS) \ + $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(kernel-amiga-m68k-mouse_C_NARCHFILES:=.o) $(kernel-amiga-m68k-mouse_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-amiga-m68k-mouse_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (amigamouse,con) + kernel-amiga-m68k-mouse_ERR := $(notdir $(kernel-amiga-m68k-mouse_MODULE)).err +else + kernel-amiga-m68k-mouse_ERR := amigamouse.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-amiga-m68k-mouse_DEFNAME)_LDFLAGS) $(kernel-amiga-m68k-mouse_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-amiga-m68k-mouse_LIBS) $($(kernel-amiga-m68k-mouse_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-amiga-m68k-mouse_MODULE) : LIB_NAMES := $(kernel-amiga-m68k-mouse_LIBS) $($(kernel-amiga-m68k-mouse_DEFNAME)_LIBS) +$(kernel-amiga-m68k-mouse_MODULE) : OBJS := $(kernel-amiga-m68k-mouse_STARTOBJS) $(kernel-amiga-m68k-mouse_OBJS) $(USER_OBJS) +$(kernel-amiga-m68k-mouse_MODULE) : ENDTAG := $(kernel-amiga-m68k-mouse_ENDOBJS) +$(kernel-amiga-m68k-mouse_MODULE) : ERR := $(kernel-amiga-m68k-mouse_ERR) +$(kernel-amiga-m68k-mouse_MODULE) : OBJDIR := $(kernel-amiga-m68k-mouse_OBJDIR) +$(kernel-amiga-m68k-mouse_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-amiga-m68k-mouse_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-amiga-m68k-mouse_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-amiga-m68k-mouse_MODULE) : $(kernel-amiga-m68k-mouse_STARTOBJS) $(kernel-amiga-m68k-mouse_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-mouse_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-amiga-m68k-mouse_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-amiga-m68k-mouse_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-amiga-m68k-mouse_LC_LINKLIBNAME := $(shell echo $(kernel-amiga-m68k-mouse_LINKLIBNAME) | tr A-Z a-z) +kernel-amiga-m68k-mouse_LC_MODNAME := $(shell echo amigamouse | tr A-Z a-z) +ifneq ($(kernel-amiga-m68k-mouse_LINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(HOST_AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : $(kernel-amiga-m68k-mouse_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-mouse_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-mouse_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-mouse_LC_MODNAME),$(kernel-amiga-m68k-mouse_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-mouse_LIBDIR)/libamigamouse$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/libamigamouse$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-mouse_LIBDIR)/libamigamouse$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(HOST_AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/libamigamouse$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-mouse_LIBDIR)/libamigamouse$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/libamigamouse$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-mouse_LIBDIR)/libamigamouse$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : $(kernel-amiga-m68k-mouse_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-mouse_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-mouse_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-mouse_LINKLIB),) +$(kernel-amiga-m68k-mouse_LINKLIB) : | $(kernel-amiga-m68k-mouse_LIBDIR) +else +$(kernel-amiga-m68k-mouse_LINKLIB) :: $(kernel-amiga-m68k-mouse_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-mouse_LIBDIR) + +endif + +ifneq ($(kernel-amiga-m68k-mouse_RELLINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(HOST_AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_LINKLIBNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : $(kernel-amiga-m68k-mouse_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-mouse_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-mouse_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-mouse_LC_MODNAME),$(kernel-amiga-m68k-mouse_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_DEFNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_DEFNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_DEFNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(HOST_AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_DEFNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_DEFNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_DEFNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : kernel-amiga-m68k-mouse_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-mouse_LIBDIR)/lib$(kernel-amiga-m68k-mouse_DEFNAME)_rel$(kernel-amiga-m68k-mouse_LIBSUFFIX).a : $(kernel-amiga-m68k-mouse_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-mouse_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-mouse_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-mouse_RELLINKLIB),) +$(kernel-amiga-m68k-mouse_RELLINKLIB) : | $(kernel-amiga-m68k-mouse_LIBDIR) +else +$(kernel-amiga-m68k-mouse_RELLINKLIB) :: $(kernel-amiga-m68k-mouse_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-mouse_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-amiga-m68k-mouse_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-amiga-m68k-mouse_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-amiga-m68k-mouse_SYMBOLS := $(kernel-amiga-m68k-mouse_KBASE) + +kernel-amiga-m68k-mouse_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-amiga-m68k-mouse_KOBJ_LIBS := $(filter-out $(kernel-amiga-m68k-mouse_KLIB),$(kernel-amiga-m68k-mouse_LIBS)) $(kernel-amiga-m68k-mouse_KAUTOLIB) +$(kernel-amiga-m68k-mouse_KOBJ) : LINKLIBS:=$(kernel-amiga-m68k-mouse_KOBJ_LIBS) $($(kernel-amiga-m68k-mouse_DEFNAME)_LIBS) +$(kernel-amiga-m68k-mouse_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-amiga-m68k-mouse_SYMBOLS)) +$(kernel-amiga-m68k-mouse_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-amiga-m68k-mouse_KOBJ) : $(kernel-amiga-m68k-mouse_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-mouse_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-amiga-m68k-mouse_DEPS := $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/,$(notdir $(kernel-amiga-m68k-mouse_CCFILES:=.d) $(kernel-amiga-m68k-mouse_TARGETCCFILES:=.d) $(kernel-amiga-m68k-mouse_CXXFILES:=.d))) $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-mouse_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-amiga-m68k-mouse_DEPS),) + ifneq (kernel-amiga-m68k-mouse kernel-amiga-m68k-mouse-quick kernel-amiga-m68k-mouse-kobj kernel-amiga-m68k-mouse-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-amiga-m68k-mouse kernel-amiga-m68k-mouse-quick kernel-amiga-m68k-mouse-kobj kernel-amiga-m68k-mouse-kobj-quick),) + -include $(kernel-amiga-m68k-mouse_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-amiga-m68k-mouse_DEPS) + endif + endif +endif + +$(kernel-amiga-m68k-mouse_OBJS) $(kernel-amiga-m68k-mouse_DEPS) : | $(kernel-amiga-m68k-mouse_OBJDIR)/linklib + +ifneq ($(kernel-amiga-m68k-mouse_OBJS) $(kernel-amiga-m68k-mouse_DEPS) $(kernel-amiga-m68k-mouse_MODULE) $(kernel-amiga-m68k-mouse_KOBJ),) +$(kernel-amiga-m68k-mouse_OBJS) $(kernel-amiga-m68k-mouse_DEPS) $(kernel-amiga-m68k-mouse_MODULE) $(kernel-amiga-m68k-mouse_KOBJ) : | $(kernel-amiga-m68k-mouse_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-mouse_MODDIR) $(KOBJSDIR) +else +$(kernel-amiga-m68k-mouse_OBJS) $(kernel-amiga-m68k-mouse_DEPS) $(kernel-amiga-m68k-mouse_MODULE) $(kernel-amiga-m68k-mouse_KOBJ) :: $(kernel-amiga-m68k-mouse_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-mouse_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-mouse_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-mouse_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-amiga-m68k-mouse kernel-amiga-m68k-mouse-includes kernel-amiga-m68k-mouse-quick kernel-amiga-m68k-mouse-kobj kernel-amiga-m68k-mouse-kobj-quick),) # Only for this target these deps are wanted + +kernel-amiga-m68k-mouse_DFILE_DEPS := $(kernel-amiga-m68k-mouse_LIBDEFSINC) $(kernel-amiga-m68k-mouse_DEFLIBDEFSINC) \ + $(addprefix $(kernel-amiga-m68k-mouse_INCDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) +$(kernel-amiga-m68k-mouse_DEPS) : $(kernel-amiga-m68k-mouse_DFILE_DEPS) +endif + +kernel-amiga-m68k-mouse_TOCLEAN := $(kernel-amiga-m68k-mouse_OBJS) $(kernel-amiga-m68k-mouse_DEPS) \ + $(kernel-amiga-m68k-mouse_MODULE) $(kernel-amiga-m68k-mouse_LINKLIB) $(kernel-amiga-m68k-mouse_KOBJ) \ + $(kernel-amiga-m68k-mouse_OBJDIR)/Makefile.amigamousehidd \ + $(addprefix $(kernel-amiga-m68k-mouse_OBJDIR)/include/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-mouse_INCDIR)/,$($(kernel-amiga-m68k-mouse_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_geninc $(kernel-amiga-m68k-mouse_OBJDIR)/amigamouse_incs \ + $(addsuffix .c,$(kernel-amiga-m68k-mouse_LINKLIBFILES)) $(kernel-amiga-m68k-mouse_LINKLIBOBJS) $(kernel-amiga-m68k-mouse_LIBDEFSINC) \ + $(kernel-amiga-m68k-mouse_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-amiga-m68k-mouse_STARTFILES) $(kernel-amiga-m68k-mouse_ENDFILES)) \ + $(kernel-amiga-m68k-mouse_ENDOBJS) +kernel-amiga-m68k-mouse-clean : FILES := $(kernel-amiga-m68k-mouse_TOCLEAN) +kernel-amiga-m68k-mouse-clean :: + $(Q)$(ECHO) "Cleaning up for module amigamouse" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-amiga-m68k-mouse_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/p96gfx/mmakefile b/arch/m68k-amiga/hidd/p96gfx/mmakefile new file mode 100644 index 00000000000..84143e3fdb7 --- /dev/null +++ b/arch/m68k-amiga/hidd/p96gfx/mmakefile @@ -0,0 +1,1665 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := \ + -D__OOP_NOATTRBASES__ \ + -D__OOP_NOMETHODBASES__ \ + -D__OOP_NOLIBBASE__ \ + -D__GRAPHICS_NOLIBBASE__ \ + -D__UTILITY_NOLIBBASE__ \ + -D__GRAPHICS_NOHIDDBASE__ +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-amiga-m68k-p96gfx +#MM kernel-amiga-m68k-p96gfx-quick +#MM kernel-amiga-m68k-p96gfx-makefile +#MM kernel-amiga-m68k-p96gfx-clean + +# ABI targets: +#MM- includes-all : kernel-amiga-m68k-p96gfx-includes +#MM- linklibs-p96gfx: kernel-amiga-m68k-p96gfx-linklib +#MM- linklibs-p96gfx_rel : kernel-amiga-m68k-p96gfx-linklib +#MM- includes-p96gfx: kernel-amiga-m68k-p96gfx-includes +#MM- includes-p96gfx_rel : kernel-amiga-m68k-p96gfx-includes +#MM- kernel-amiga-m68k-p96gfx : kernel-amiga-m68k-p96gfx-includes core-linklibs linklibs- +#MM kernel-amiga-m68k-p96gfx-linklib : kernel-amiga-m68k-p96gfx-includes includes- +#MM- kernel-amiga-m68k-p96gfx-quick : kernel-amiga-m68k-p96gfx-includes-quick +#MM kernel-amiga-m68k-p96gfx-includes : kernel-amiga-m68k-p96gfx-makefile kernel-amiga-m68k-p96gfx-includes-dirs \ +#MM includes-generate-deps kernel-amiga-m68k-p96gfx-fd +#MM kernel-amiga-m68k-p96gfx-includes-quick +#MM kernel-amiga-m68k-p96gfx-includes-dirs +#MM kernel-amiga-m68k-p96gfx-fd + +# Library targets +#MM kernel-amiga-m68k-p96gfx-kobj : core-linklibs linklibs- +#MM kernel-amiga-m68k-p96gfx-kobj-quick : + +# Library with ABI targets: +#MM kernel-amiga-m68k-p96gfx-kobj : kernel-amiga-m68k-p96gfx-includes core-linklibs linklibs- +#MM kernel-amiga-m68k-p96gfx-kobj-quick : kernel-amiga-m68k-p96gfx-includes-quick + +# All MetaMake targets defined by this macro +kernel-amiga-m68k-p96gfx_ALLTARGETS := kernel-amiga-m68k-p96gfx kernel-amiga-m68k-p96gfx-quick kernel-amiga-m68k-p96gfx-clean + +ifeq (M,M) +kernel-amiga-m68k-p96gfx_ALLTARGETS += kernel-amiga-m68k-p96gfx-kobj kernel-amiga-m68k-p96gfx-kobj-quick +endif + +ifeq (M,M) +kernel-amiga-m68k-p96gfx_ALLTARGETS += kernel-amiga-m68k-p96gfx-includes \ + kernel-amiga-m68k-p96gfx-includes-quick kernel-amiga-m68k-p96gfx-includes-dirs \ + kernel-amiga-m68k-p96gfx-linklib kernel-amiga-m68k-p96gfx-fd +endif + +.PHONY : $(kernel-amiga-m68k-p96gfx_ALLTARGETS) kernel-amiga-m68k-p96gfx-makefile + +ifeq (p96gfx,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-amiga-m68k-p96gfx_DEFNAME := p96gfx_ +else + kernel-amiga-m68k-p96gfx_DEFNAME := p96gfx +endif +kernel-amiga-m68k-p96gfx_DEFLINKLIBNAME := $(kernel-amiga-m68k-p96gfx_DEFNAME) +ifneq (,) + kernel-amiga-m68k-p96gfx_LINKLIBNAME := +else + kernel-amiga-m68k-p96gfx_LINKLIBNAME = $(kernel-amiga-m68k-p96gfx_DEFLINKLIBNAME) +endif +kernel-amiga-m68k-p96gfx_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-amiga-m68k-p96gfx_DEFCPPFLAGS += -I +endif +kernel-amiga-m68k-p96gfx_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-amiga-m68k-p96gfx_DFLAGS := +else + kernel-amiga-m68k-p96gfx_DFLAGS = $(kernel-amiga-m68k-p96gfx_DEFDFLAGS) +endif +kernel-amiga-m68k-p96gfx_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-amiga-m68k-p96gfx_DXXFLAGS := +else + kernel-amiga-m68k-p96gfx_DXXFLAGS = $(kernel-amiga-m68k-p96gfx_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-p96gfx_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-p96gfx_DEFDFLAGS)) +kernel-amiga-m68k-p96gfx_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-amiga-m68k-p96gfx_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-p96gfx_FUNCINSTR := yes +kernel-amiga-m68k-p96gfx_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-p96gfx_DEFDFLAGS)) +kernel-amiga-m68k-p96gfx_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-p96gfx_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-amiga-m68k-p96gfx_OBJDIR := +else +kernel-amiga-m68k-p96gfx_OBJDIR := $(OBJDIR)/$(kernel-amiga-m68k-p96gfx_DEFNAME) +endif +ifneq (,) +kernel-amiga-m68k-p96gfx_OBJDIR := $(kernel-amiga-m68k-p96gfx_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-amiga-m68k-p96gfx-makefile := $(kernel-amiga-m68k-p96gfx_OBJDIR)/Makefile.$(kernel-amiga-m68k-p96gfx_DEFNAME)hidd +kernel-amiga-m68k-p96gfx-genmakefile : $(kernel-amiga-m68k-p96gfx-makefile) + + +kernel-amiga-m68k-p96gfx-genmakefile_OPTS := +ifneq (,) + kernel-amiga-m68k-p96gfx-genmakefile_OPTS += -f + kernel-amiga-m68k-p96gfx-genmakefile_MODNAME := p96gfx_ +else + kernel-amiga-m68k-p96gfx-genmakefile_MODNAME := p96gfx +endif +kernel-amiga-m68k-p96gfx-genmakefile_TARGET := Makefile.$(kernel-amiga-m68k-p96gfx-genmakefile_MODNAME)hidd +kernel-amiga-m68k-p96gfx-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-p96gfx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-p96gfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-p96gfx-genmakefile_OPTS += -c + kernel-amiga-m68k-p96gfx-genmakefile_DEPS += + endif +else + kernel-amiga-m68k-p96gfx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/p96gfx.conf + kernel-amiga-m68k-p96gfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/p96gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-p96gfx-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-p96gfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-p96gfx-genmakefile_OPTS += -o + kernel-amiga-m68k-p96gfx-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-p96gfx-genmakefile_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-p96gfx_OBJDIR),) + kernel-amiga-m68k-p96gfx-genmakefile_OPTS += -d $(kernel-amiga-m68k-p96gfx_OBJDIR) + kernel-amiga-m68k-p96gfx-genmakefile_TARGET := $(kernel-amiga-m68k-p96gfx_OBJDIR)/$(kernel-amiga-m68k-p96gfx-genmakefile_TARGET) +endif + +$(kernel-amiga-m68k-p96gfx-genmakefile_TARGET) : OPTS := $(kernel-amiga-m68k-p96gfx-genmakefile_OPTS) +$(kernel-amiga-m68k-p96gfx-genmakefile_TARGET) : MODNAME := p96gfx +$(kernel-amiga-m68k-p96gfx-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-amiga-m68k-p96gfx-genmakefile_TARGET) : $(kernel-amiga-m68k-p96gfx-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-amiga-m68k-p96gfx-makefile),) +$(kernel-amiga-m68k-p96gfx-makefile) : | $(kernel-amiga-m68k-p96gfx_OBJDIR) +else +$(kernel-amiga-m68k-p96gfx-makefile) :: $(kernel-amiga-m68k-p96gfx_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-p96gfx_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-amiga-m68k-p96gfx_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-amiga-m68k-p96gfx-makefile) + +kernel-amiga-m68k-p96gfx_DEFMODDIR := $($(kernel-amiga-m68k-p96gfx_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-amiga-m68k-p96gfx_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-amiga-m68k-p96gfx_DEFMODDIR) +endif +ifneq (,) + kernel-amiga-m68k-p96gfx_MODDIR := +else + kernel-amiga-m68k-p96gfx_MODDIR := $(kernel-amiga-m68k-p96gfx_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-amiga-m68k-p96gfx_INCDIR := +else +kernel-amiga-m68k-p96gfx_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-amiga-m68k-p96gfx_LIBDEFSINC := $(kernel-amiga-m68k-p96gfx_OBJDIR)/include/$(kernel-amiga-m68k-p96gfx_DEFNAME)_libdefs.h +kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC := $(kernel-amiga-m68k-p96gfx_OBJDIR)/include/$(kernel-amiga-m68k-p96gfx_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-amiga-m68k-p96gfx-includes-quick : kernel-amiga-m68k-p96gfx-includes +kernel-amiga-m68k-p96gfx-includes : $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-p96gfx_INCDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-p96gfx_LIBDEFSINC) $(kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC) + +ifneq ($($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-amiga-m68k-p96gfx-includes_MODNAME := p96gfx_ +else + kernel-amiga-m68k-p96gfx-includes_MODNAME := p96gfx +endif + +ifneq ($($(kernel-amiga-m68k-p96gfx-includes_MODNAME)_INCLUDES),) + +kernel-amiga-m68k-p96gfx-includes_TARGETS := $($(kernel-amiga-m68k-p96gfx-includes_MODNAME)_INCLUDES) + +kernel-amiga-m68k-p96gfx-includes_DEPS := $(GENMODULE) +kernel-amiga-m68k-p96gfx-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-p96gfx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-p96gfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-p96gfx-includes_OPTS += -c + kernel-amiga-m68k-p96gfx-includes_DEPS += + endif +else + kernel-amiga-m68k-p96gfx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/p96gfx.conf + kernel-amiga-m68k-p96gfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/p96gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-p96gfx-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-p96gfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-p96gfx-includes_OPTS += -o + kernel-amiga-m68k-p96gfx-includes_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-p96gfx-includes_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-p96gfx_OBJDIR)/include,) + kernel-amiga-m68k-p96gfx-includes_OPTS += -d $(kernel-amiga-m68k-p96gfx_OBJDIR)/include + kernel-amiga-m68k-p96gfx-includes_TARGETS := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/include/,$(kernel-amiga-m68k-p96gfx-includes_TARGETS)) + kernel-amiga-m68k-p96gfx-includes_GENINCFLAG=$(kernel-amiga-m68k-p96gfx_OBJDIR)/include/.p96gfx.hidd-includes +else + kernel-amiga-m68k-p96gfx-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.p96gfx.hidd-includes +endif + +$(kernel-amiga-m68k-p96gfx-includes_TARGETS) : $(kernel-amiga-m68k-p96gfx-includes_DEPS) $(kernel-amiga-m68k-p96gfx-includes_GENINCFLAG) + +$(kernel-amiga-m68k-p96gfx-includes_GENINCFLAG) : OPTS := $(kernel-amiga-m68k-p96gfx-includes_OPTS) +$(kernel-amiga-m68k-p96gfx-includes_GENINCFLAG) : MODNAME := p96gfx +$(kernel-amiga-m68k-p96gfx-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-amiga-m68k-p96gfx-includes_GENINCFLAG) : $(kernel-amiga-m68k-p96gfx-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-amiga-m68k-p96gfx_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_geninc + +$(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_geninc : COPYSRCDIR := $(kernel-amiga-m68k-p96gfx_OBJDIR)/include +$(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_geninc : TGTDIR := $(GENINCDIR) +$(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_geninc : FILES := $($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_geninc : $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/include/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-amiga-m68k-p96gfx_OBJDIR)/include + +$(addprefix $(kernel-amiga-m68k-p96gfx_INCDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) : | $(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_incs + +$(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_incs : COPYSRCDIR := $(kernel-amiga-m68k-p96gfx_OBJDIR)/include +$(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_incs : TGTDIR := $(kernel-amiga-m68k-p96gfx_INCDIR) +$(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_incs : FILES := $($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES) +$(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_incs : $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/include/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-amiga-m68k-p96gfx_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)))) + +TMPp96gfx_INCDIRS := \ + $(kernel-amiga-m68k-p96gfx_OBJDIR)/include $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/include/,$(kernel-amiga-m68k-p96gfx_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-amiga-m68k-p96gfx_INCDIRS)) \ + $(kernel-amiga-m68k-p96gfx_INCDIR) $(addprefix $(kernel-amiga-m68k-p96gfx_INCDIR)/,$(kernel-amiga-m68k-p96gfx_INCDIRS)) + +ifneq (kernel-amiga-m68k-p96gfx-includes-dirs,) +kernel-amiga-m68k-p96gfx-includes-dirs : | $(TMPp96gfx_INCDIRS) +else +kernel-amiga-m68k-p96gfx-includes-dirs :: $(TMPp96gfx_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPp96gfx_INCDIRS) + + +endif + +endif + + +kernel-amiga-m68k-p96gfx-genlibdefs_OPTS := +ifneq (,) + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -f + kernel-amiga-m68k-p96gfx-genlibdefs_MODNAME := p96gfx_ +else + kernel-amiga-m68k-p96gfx-genlibdefs_MODNAME := p96gfx +endif +kernel-amiga-m68k-p96gfx-genlibdefs_TARGET := $(kernel-amiga-m68k-p96gfx-genlibdefs_MODNAME)_libdefs.h +kernel-amiga-m68k-p96gfx-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-p96gfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -c + kernel-amiga-m68k-p96gfx-genlibdefs_DEPS += + endif +else + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/p96gfx.conf + kernel-amiga-m68k-p96gfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/p96gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-p96gfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -o + kernel-amiga-m68k-p96gfx-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-p96gfx_OBJDIR)/include,) + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -d $(kernel-amiga-m68k-p96gfx_OBJDIR)/include + kernel-amiga-m68k-p96gfx-genlibdefs_TARGET := $(kernel-amiga-m68k-p96gfx_OBJDIR)/include/$(kernel-amiga-m68k-p96gfx-genlibdefs_TARGET) +endif +ifneq (,) + kernel-amiga-m68k-p96gfx-genlibdefs_OPTS += -v +endif + +$(kernel-amiga-m68k-p96gfx-genlibdefs_TARGET) : OPTS := $(kernel-amiga-m68k-p96gfx-genlibdefs_OPTS) +$(kernel-amiga-m68k-p96gfx-genlibdefs_TARGET) : MODNAME := p96gfx +$(kernel-amiga-m68k-p96gfx-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-amiga-m68k-p96gfx-genlibdefs_TARGET) : $(kernel-amiga-m68k-p96gfx-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC) : FILENAME := $(kernel-amiga-m68k-p96gfx_LIBDEFSINC) +$(kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC) : $(kernel-amiga-m68k-p96gfx_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-amiga-m68k-p96gfx_LIBDEFSINC) $(kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC) : | $(kernel-amiga-m68k-p96gfx_OBJDIR)/include + +ifneq (kernel-amiga-m68k-p96gfx-includes-dirs,) +kernel-amiga-m68k-p96gfx-includes-dirs : | $(kernel-amiga-m68k-p96gfx_OBJDIR)/include +else +kernel-amiga-m68k-p96gfx-includes-dirs :: $(kernel-amiga-m68k-p96gfx_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-p96gfx_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-amiga-m68k-p96gfx-genmodfiles_OPTS := +ifneq (,) + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -f + kernel-amiga-m68k-p96gfx-genmodfiles_MODNAME := p96gfx_ +else + kernel-amiga-m68k-p96gfx-genmodfiles_MODNAME := p96gfx +endif +kernel-amiga-m68k-p96gfx-genmodfiles_GENTARGETS := $($(kernel-amiga-m68k-p96gfx-genmodfiles_MODNAME)_STARTFILES) $($(kernel-amiga-m68k-p96gfx-genmodfiles_MODNAME)_ENDFILES) +kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETS := $($(kernel-amiga-m68k-p96gfx-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-p96gfx-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-amiga-m68k-p96gfx-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-p96gfx-genmodfiles_GENTARGETS)) +kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-amiga-m68k-p96gfx-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-amiga-m68k-p96gfx-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-amiga-m68k-p96gfx-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-p96gfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -c + kernel-amiga-m68k-p96gfx-genmodfiles_DEPS += + endif +else + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/p96gfx.conf + kernel-amiga-m68k-p96gfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/p96gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-amiga-m68k-p96gfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -o + kernel-amiga-m68k-p96gfx-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-p96gfx_OBJDIR),) + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -d $(kernel-amiga-m68k-p96gfx_OBJDIR) + kernel-amiga-m68k-p96gfx-genmodfiles_TARGETDIR := $(shell echo $(kernel-amiga-m68k-p96gfx_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-p96gfx-genmodfiles_GENTARGETS := $(addprefix $(kernel-amiga-m68k-p96gfx-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-p96gfx-genmodfiles_GENTARGETS)) + kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG=$(kernel-amiga-m68k-p96gfx-genmodfiles_TARGETDIR)/.p96gfx.hidd-genfiles +else + kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.p96gfx.hidd-genfiles +endif +ifneq ($(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib,) + kernel-amiga-m68k-p96gfx-genmodfiles_OPTS += -l $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib + kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETDIR)/,$(kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETS)) + kernel-amiga-m68k-p96gfx-genmodfiles_TARGETDIRS += $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib +else +ifneq ($(kernel-amiga-m68k-p96gfx_OBJDIR),) + kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETS := $(addprefix $(kernel-amiga-m68k-p96gfx-genmodfiles_TARGETDIR)/,$(kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-amiga-m68k-p96gfx-genmodfiles_TARGETS := $(kernel-amiga-m68k-p96gfx-genmodfiles_GENTARGETS) $(kernel-amiga-m68k-p96gfx-genmodfiles_STUBTARGETS) +ifneq ($(kernel-amiga-m68k-p96gfx-genmodfiles_TARGETDIRS),) +$(kernel-amiga-m68k-p96gfx-genmodfiles_TARGETS) : | $(kernel-amiga-m68k-p96gfx-genmodfiles_TARGETDIRS) +endif + +$(kernel-amiga-m68k-p96gfx-genmodfiles_TARGETS) : $(kernel-amiga-m68k-p96gfx-genmodfiles_DEPS) $(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG) + +$(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-amiga-m68k-p96gfx-genmodfiles_OPTS) +$(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG) : MODNAME := p96gfx +$(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-p96gfx-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG) : $(kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC) $(kernel-amiga-m68k-p96gfx-makefile) + + +ifneq ($(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG),) +$(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG) : | $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib +else +$(kernel-amiga-m68k-p96gfx-genmodfiles_GENFILEFLAG) :: $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-amiga-m68k-p96gfx_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-amiga-m68k-p96gfx_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-amiga-m68k-p96gfx-fd : $(kernel-amiga-m68k-p96gfx_FDDIR)/p96gfx_lib.fd + + +TMP_TARGET := p96gfx_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/p96gfx.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/p96gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-amiga-m68k-p96gfx_FDDIR),) + TMP_OPTS += -d $(kernel-amiga-m68k-p96gfx_FDDIR) + TMP_TARGET := $(kernel-amiga-m68k-p96gfx_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := p96gfx +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-amiga-m68k-p96gfx_FDDIR)/p96gfx_lib.fd : | $(kernel-amiga-m68k-p96gfx_FDDIR) + + +ifneq (kernel-amiga-m68k-p96gfx-fd-setup,) +kernel-amiga-m68k-p96gfx-fd-setup : | $(kernel-amiga-m68k-p96gfx_FDDIR) +else +kernel-amiga-m68k-p96gfx-fd-setup :: $(kernel-amiga-m68k-p96gfx_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-p96gfx_FDDIR) + +endif + +## Compilation +## +kernel-amiga-m68k-p96gfx_FILES := p96gfx_startup p96gfx_hiddclass p96gfx_bitmapclass p96gfx_card p96gfx_rtg +kernel-amiga-m68k-p96gfx_OBJCFILES := +kernel-amiga-m68k-p96gfx_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-amiga-m68k-p96gfx_LIBFILES := +kernel-amiga-m68k-p96gfx_LIBS := + +kernel-amiga-m68k-p96gfx_FDIRS := $(sort $(dir $(kernel-amiga-m68k-p96gfx_FILES))) + +kernel-amiga-m68k-p96gfx_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-amiga-m68k-p96gfx_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-amiga-m68k-p96gfx_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-amiga-m68k-p96gfx_FILTERARCH = $(filter-out $(call kernel-amiga-m68k-p96gfx_MATCHARCH,$(1),$(2)),$(2)) +kernel-amiga-m68k-p96gfx_STARTFILES := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_STARTFILES)) +kernel-amiga-m68k-p96gfx_ENDFILES := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_ENDFILES)) + +kernel-amiga-m68k-p96gfx_ARCHOBJS := $(wildcard $(kernel-amiga-m68k-p96gfx_OBJDIR)/arch/*.o) +kernel-amiga-m68k-p96gfx_LIBARCHOBJS := $(wildcard $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/arch/*.o) +kernel-amiga-m68k-p96gfx_ARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-p96gfx_ARCHOBJS))) +kernel-amiga-m68k-p96gfx_LIBARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-p96gfx_LIBARCHOBJS))) +kernel-amiga-m68k-p96gfx_C_NARCHFILES := $(call kernel-amiga-m68k-p96gfx_FILTERARCH,$(kernel-amiga-m68k-p96gfx_ARCHFILES),$(kernel-amiga-m68k-p96gfx_FILES)) +kernel-amiga-m68k-p96gfx_CXX_NARCHFILES := $(call kernel-amiga-m68k-p96gfx_FILTERARCH,$(kernel-amiga-m68k-p96gfx_ARCHFILES),$(kernel-amiga-m68k-p96gfx_CXXFILES)) +kernel-amiga-m68k-p96gfx_OBJC_NARCHFILES := $(call kernel-amiga-m68k-p96gfx_FILTERARCH,$(kernel-amiga-m68k-p96gfx_ARCHFILES),$(kernel-amiga-m68k-p96gfx_OBJCFILES)) +kernel-amiga-m68k-p96gfx_NLIBARCHFILES := $(call kernel-amiga-m68k-p96gfx_FILTERARCH,$(kernel-amiga-m68k-p96gfx_LIBARCHFILES),$(kernel-amiga-m68k-p96gfx_LIBFILES)) +kernel-amiga-m68k-p96gfx_ARCHNLIBFILES := $(call kernel-amiga-m68k-p96gfx_FILTERARCH,$(kernel-amiga-m68k-p96gfx_LIBFILES),$(kernel-amiga-m68k-p96gfx_LIBARCHFILES)) + +kernel-amiga-m68k-p96gfx_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-amiga-m68k-p96gfx_OBJDIR)/include -include $(kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC)) +ifneq (,) +kernel-amiga-m68k-p96gfx_CPPFLAGS += -I +endif +kernel-amiga-m68k-p96gfx_LINKLIBCPPFLAGS := $(kernel-amiga-m68k-p96gfx_CPPFLAGS) +kernel-amiga-m68k-p96gfx_CPPFLAGS += $(strip $($(kernel-amiga-m68k-p96gfx_DEFNAME)_CPPFLAGS)) +kernel-amiga-m68k-p96gfx_LINKLIBCPPFLAGS += $(strip $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-amiga-m68k-p96gfx_CFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_CFLAGS)) +kernel-amiga-m68k-p96gfx_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LINKLIBCFLAGS)) +kernel-amiga-m68k-p96gfx_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-p96gfx_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-amiga-m68k-p96gfx_CFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_LTOFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +kernel-amiga-m68k-p96gfx_LINKLIBCFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_LTOFLAGS) $(kernel-amiga-m68k-p96gfx_LINKLIBCFLAGS)) +kernel-amiga-m68k-p96gfx_CXXFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_LTOFLAGS) $(kernel-amiga-m68k-p96gfx_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-p96gfx_SUBSTNULL := +kernel-amiga-m68k-p96gfx_SUBSTSPACE := $(kernel-amiga-m68k-p96gfx_SUBSTNULL) # +kernel-amiga-m68k-p96gfx_SUBSTCOMMA := , +kernel-amiga-m68k-p96gfx_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-amiga-m68k-p96gfx_SUBSTSPACE),$(kernel-amiga-m68k-p96gfx_SUBSTCOMMA),$(strip $($(kernel-amiga-m68k-p96gfx_DEFNAME)_STARTFILES)))) +kernel-amiga-m68k-p96gfx_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-amiga-m68k-p96gfx_CFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_INSTRFUNCFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +kernel-amiga-m68k-p96gfx_CXXFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_INSTRFUNCFLAGS) $(kernel-amiga-m68k-p96gfx_CXXFLAGS)) +kernel-amiga-m68k-p96gfx_LIBS += $(kernel-amiga-m68k-p96gfx_INSTRFUNCLIBS) +endif +endif +kernel-amiga-m68k-p96gfx_DFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_DFLAGS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_DFLAGS)) +kernel-amiga-m68k-p96gfx_LINKLIBDFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_DFLAGS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LINKLIBDFLAGS)) +kernel-amiga-m68k-p96gfx_DXXFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_DXXFLAGS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-amiga-m68k-p96gfx_LIBSUFFIX := +else + kernel-amiga-m68k-p96gfx_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-amiga-m68k-p96gfx_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-amiga-m68k-p96gfx_LIBDIR := +endif + +ifeq (M,M) +kernel-amiga-m68k-p96gfx_LINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_LINKLIBFILES)) +kernel-amiga-m68k-p96gfx_LINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LINKLIBFILES) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LINKLIBAFILES) $(kernel-amiga-m68k-p96gfx_ARCHNLIBFILES)),) + kernel-amiga-m68k-p96gfx_LINKLIB := +else + kernel-amiga-m68k-p96gfx_LINKLIB := $(kernel-amiga-m68k-p96gfx_LIBDIR)/libp96gfx$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a + ifneq (p96gfx,$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)) + kernel-amiga-m68k-p96gfx_LINKLIB += $(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-p96gfx_LINKLIBFILES := $(kernel-amiga-m68k-p96gfx_LINKLIBCFILES) $(kernel-amiga-m68k-p96gfx_LINKLIBAFILES) + +kernel-amiga-m68k-p96gfx_RELLINKLIBCFILES := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_RELLINKLIBFILES)) +kernel-amiga-m68k-p96gfx_RELLINKLIBAFILES := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-amiga-m68k-p96gfx_DEFNAME)_RELLINKLIBFILES) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_RELLINKLIBAFILES) $(kernel-amiga-m68k-p96gfx_ARCHNLIBFILES)),) + kernel-amiga-m68k-p96gfx_RELLINKLIB := +else + kernel-amiga-m68k-p96gfx_RELLINKLIB := $(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_DEFNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a + ifneq (p96gfx,$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)) + kernel-amiga-m68k-p96gfx_RELLINKLIB += $(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a + endif +endif +kernel-amiga-m68k-p96gfx_RELLINKLIBFILES := $(kernel-amiga-m68k-p96gfx_RELLINKLIBCFILES) $(kernel-amiga-m68k-p96gfx_RELLINKLIBAFILES) +endif + +kernel-amiga-m68k-p96gfx_ENDOBJS := $(addsuffix .o,$(kernel-amiga-m68k-p96gfx_ENDFILES)) +kernel-amiga-m68k-p96gfx_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-p96gfx_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-p96gfx_ARCHNLIBFILES))) $(kernel-amiga-m68k-p96gfx_LINKLIBFILES)) \ + +kernel-amiga-m68k-p96gfx_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-p96gfx_NLIBARCHFILES))) $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/arch/,$(notdir $(kernel-amiga-m68k-p96gfx_ARCHNLIBFILES))) $(kernel-amiga-m68k-p96gfx_RELLINKLIBFILES)) \ + +$(kernel-amiga-m68k-p96gfx_LINKLIBFILES) $(kernel-amiga-m68k-p96gfx_RELLINKLIBFILES) : | $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib +$(kernel-amiga-m68k-p96gfx_LINKLIBOBJS) $(kernel-amiga-m68k-p96gfx_RELLINKLIBOBJS) : | $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib + +kernel-amiga-m68k-p96gfx_CCFILES := $(kernel-amiga-m68k-p96gfx_C_NARCHFILES) +kernel-amiga-m68k-p96gfx_TARGETCCFILES := $(strip $(kernel-amiga-m68k-p96gfx_STARTFILES) $(kernel-amiga-m68k-p96gfx_ENDFILES)) +kernel-amiga-m68k-p96gfx_LINKLIBCCFILES := $(strip $(kernel-amiga-m68k-p96gfx_NLIBARCHFILES) $(kernel-amiga-m68k-p96gfx_LINKLIBCFILES) $(kernel-amiga-m68k-p96gfx_RELLINKLIBCFILES)) +kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES := $(strip $(kernel-amiga-m68k-p96gfx_LINKLIBCFILES) $(kernel-amiga-m68k-p96gfx_RELLINKLIBCFILES)) + + +kernel-amiga-m68k-p96gfx_CXXABSBASENAMES := $(foreach kernel-amiga-m68k-p96gfx_CXXBASE,$(kernel-amiga-m68k-p96gfx_CXX_NARCHFILES),$(if $(filter /%,$(kernel-amiga-m68k-p96gfx_CXXBASE)),$(kernel-amiga-m68k-p96gfx_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-amiga-m68k-p96gfx_CXXBASE)))) + +ifneq ($(kernel-amiga-m68k-p96gfx_CXXABSBASENAMES),) + +kernel-amiga-m68k-p96gfx_CXXBASENAMES := $(basename $(kernel-amiga-m68k-p96gfx_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-amiga-m68k-p96gfx_MCXX_FILES := $(strip $(foreach kernel-amiga-m68k-p96gfx_CXXBASE,$(kernel-amiga-m68k-p96gfx_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-amiga-m68k-p96gfx_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-amiga-m68k-p96gfx_EXT),$(kernel-amiga-m68k-p96gfx_CXXBASE))))))) + +ifeq (,) +kernel-amiga-m68k-p96gfx_MCXX_SRCWILDCARD := % +else +kernel-amiga-m68k-p96gfx_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR),) + kernel-amiga-m68k-p96gfx_CXXTARGETS := $(notdir $(kernel-amiga-m68k-p96gfx_CXXBASENAMES:=.o)) + kernel-amiga-m68k-p96gfx_CXXDTARGETS := $(notdir $(kernel-amiga-m68k-p96gfx_CXXBASENAMES:=.d)) + kernel-amiga-m68k-p96gfx_MCXX_WILDCARD := % +else + kernel-amiga-m68k-p96gfx_CXXTARGETS := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(kernel-amiga-m68k-p96gfx_CXXBASENAMES:=.o))) + kernel-amiga-m68k-p96gfx_CXXDTARGETS := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(kernel-amiga-m68k-p96gfx_CXXBASENAMES:=.d))) + kernel-amiga-m68k-p96gfx_MCXX_WILDCARD := $(kernel-amiga-m68k-p96gfx_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-amiga-m68k-p96gfx_CXXTARGETS) $(kernel-amiga-m68k-p96gfx_CXXDTARGETS) : | $(kernel-amiga-m68k-p96gfx_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS := $(kernel-amiga-m68k-p96gfx_CPPFLAGS) +kernel-amiga-m68k-p96gfx_CXXFLAGS := $(kernel-amiga-m68k-p96gfx_CXXFLAGS) +ifeq ($(kernel-amiga-m68k-p96gfx_DXXFLAGS),) + kernel-amiga-m68k-p96gfx_DXXFLAGS := $(kernel-amiga-m68k-p96gfx_CXXFLAGS) +else + kernel-amiga-m68k-p96gfx_DXXFLAGS := $(kernel-amiga-m68k-p96gfx_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-amiga-m68k-p96gfx_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-amiga-m68k-p96gfx_CXXCMD:=$(HOST_CXX) + kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-p96gfx_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-p96gfx_CXXFLAGS)) + kernel-amiga-m68k-p96gfx_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-p96gfx_DXXFLAGS)) + kernel-amiga-m68k-p96gfx_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-amiga-m68k-p96gfx_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-p96gfx_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-amiga-m68k-p96gfx_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-p96gfx_CXXFLAGS := $(strip $(kernel-amiga-m68k-p96gfx_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-amiga-m68k-p96gfx_DXXFLAGS := $(kernel-amiga-m68k-p96gfx_DXXFLAGS) + kernel-amiga-m68k-p96gfx_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-amiga-m68k-p96gfx_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-p96gfx_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-p96gfx_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-p96gfx_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-p96gfx_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-p96gfx_CXXFLAGS)) + kernel-amiga-m68k-p96gfx_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-p96gfx_DXXFLAGS)) + kernel-amiga-m68k-p96gfx_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-amiga-m68k-p96gfx_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-amiga-m68k-p96gfx_CXXCMD) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) . $(kernel-amiga-m68k-p96gfx_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-p96gfx_CXXFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-amiga-m68k-p96gfx_CXXCMD) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) . $(kernel-amiga-m68k-p96gfx_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-p96gfx_CXXFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-amiga-m68k-p96gfx_CXXCMD) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_CXXIQUOTE) . $(kernel-amiga-m68k-p96gfx_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-p96gfx_CXXFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-amiga-m68k-p96gfx_CXXCMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-p96gfx_DXXFLAGS) $(kernel-amiga-m68k-p96gfx_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR),) + $(foreach kernel-amiga-m68k-p96gfx_CXXFILE,$(kernel-amiga-m68k-p96gfx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-amiga-m68k-p96gfx_CXXFILE))),$(kernel-amiga-m68k-p96gfx_CXXFILE)))) +else + $(foreach kernel-amiga-m68k-p96gfx_CXXFILE,$(kernel-amiga-m68k-p96gfx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(basename $(kernel-amiga-m68k-p96gfx_CXXFILE)))),$(kernel-amiga-m68k-p96gfx_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-amiga-m68k-p96gfx_OBJC_NARCHFILES),) + +ifeq (,) +kernel-amiga-m68k-p96gfx_MOBJC_SRCWILDCARD := % +else +kernel-amiga-m68k-p96gfx_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR),) + kernel-amiga-m68k-p96gfx_MOBJC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-p96gfx_OBJC_NARCHFILES)) + kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-p96gfx_OBJC_NARCHFILES)) + kernel-amiga-m68k-p96gfx_MOBJC_WILDCARD := % +else + kernel-amiga-m68k-p96gfx_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(kernel-amiga-m68k-p96gfx_OBJC_NARCHFILES))) + kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(kernel-amiga-m68k-p96gfx_OBJC_NARCHFILES))) + kernel-amiga-m68k-p96gfx_MOBJC_WILDCARD := $(kernel-amiga-m68k-p96gfx_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-amiga-m68k-p96gfx_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-amiga-m68k-p96gfx_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-p96gfx_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-p96gfx_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-amiga-m68k-p96gfx_MOBJC_DIRS := $(foreach dir, $(kernel-amiga-m68k-p96gfx_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-p96gfx_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-amiga-m68k-p96gfx_MOBJC_DIRS),) + kernel-amiga-m68k-p96gfx_MOBJC_DIRS := $(shell echo $(kernel-amiga-m68k-p96gfx_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-amiga-m68k-p96gfx_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-amiga-m68k-p96gfx_CC := $(TARGET_CC) +else + kernel-amiga-m68k-p96gfx_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS := $(kernel-amiga-m68k-p96gfx_CPPFLAGS) +kernel-amiga-m68k-p96gfx_OBJCFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +kernel-amiga-m68k-p96gfx_OBJCFLAGS := $(kernel-amiga-m68k-p96gfx_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-amiga-m68k-p96gfx_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-amiga-m68k-p96gfx_OBJCFLAGS))) +ifeq ($(kernel-amiga-m68k-p96gfx_DFLAGS),) + kernel-amiga-m68k-p96gfx_OBJCDFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +else + kernel-amiga-m68k-p96gfx_OBJCDFLAGS := $(kernel-amiga-m68k-p96gfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(kernel-amiga-m68k-p96gfx_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-p96gfx_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-amiga-m68k-p96gfx_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_OBJCFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_OBJCDFLAGS:=$(kernel-amiga-m68k-p96gfx_OBJCDFLAGS) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-amiga-m68k-p96gfx_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_OBJCFLAGS)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_OBJCDFLAGS)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(HOST_IQUOTE) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-p96gfx_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_OBJCFLAGS)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_OBJCDFLAGS)) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) $(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS) +$(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-p96gfx_OBJCFLAGS) +$(kernel-amiga-m68k-p96gfx_MOBJC_TARGETS) : $(kernel-amiga-m68k-p96gfx_MOBJC_WILDCARD).o : $(kernel-amiga-m68k-p96gfx_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-p96gfx_MOBJC_DTARGETS) : $(kernel-amiga-m68k-p96gfx_MOBJC_WILDCARD).d : $(kernel-amiga-m68k-p96gfx_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-p96gfx_OBJCDFLAGS) $(kernel-amiga-m68k-p96gfx_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR),) +kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-p96gfx_CCFILES)) +kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-p96gfx_CCFILES)) +kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(kernel-amiga-m68k-p96gfx_CCFILES)))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(kernel-amiga-m68k-p96gfx_CCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(kernel-amiga-m68k-p96gfx_CCFILES))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(kernel-amiga-m68k-p96gfx_CCFILES))) +else + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-p96gfx_CCFILES)))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-p96gfx_CCFILES)))) +endif +endif +kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD := $(kernel-amiga-m68k-p96gfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-p96gfx_CCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-p96gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-p96gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-p96gfx_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-p96gfx_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-p96gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-p96gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-p96gfx_MC_DIRS),) + kernel-amiga-m68k-p96gfx_MC_DIRS := $(shell echo $(kernel-amiga-m68k-p96gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-p96gfx_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-p96gfx_MC_CPPFLAGS := $(kernel-amiga-m68k-p96gfx_CPPFLAGS) +kernel-amiga-m68k-p96gfx_CFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +ifeq ($(kernel-amiga-m68k-p96gfx_DFLAGS),) + kernel-amiga-m68k-p96gfx_DFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +else + kernel-amiga-m68k-p96gfx_DFLAGS := $(kernel-amiga-m68k-p96gfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(kernel-amiga-m68k-p96gfx_DFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_DFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_DFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : $(kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : $(kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-p96gfx_DFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR),) +kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-p96gfx_TARGETCCFILES)) +kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-p96gfx_TARGETCCFILES)) +kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(kernel-amiga-m68k-p96gfx_TARGETCCFILES)))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(kernel-amiga-m68k-p96gfx_TARGETCCFILES)))) +else +ifeq (,) + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(kernel-amiga-m68k-p96gfx_TARGETCCFILES))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(kernel-amiga-m68k-p96gfx_TARGETCCFILES))) +else + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-p96gfx_TARGETCCFILES)))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-p96gfx_TARGETCCFILES)))) +endif +endif +kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD := $(kernel-amiga-m68k-p96gfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-p96gfx_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-p96gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-p96gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-p96gfx_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-p96gfx_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-p96gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-p96gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-p96gfx_MC_DIRS),) + kernel-amiga-m68k-p96gfx_MC_DIRS := $(shell echo $(kernel-amiga-m68k-p96gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-p96gfx_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-p96gfx_MC_CPPFLAGS := $(kernel-amiga-m68k-p96gfx_CPPFLAGS) -D__AROS__ +kernel-amiga-m68k-p96gfx_CFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +ifeq ($(kernel-amiga-m68k-p96gfx_DFLAGS),) + kernel-amiga-m68k-p96gfx_DFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +else + kernel-amiga-m68k-p96gfx_DFLAGS := $(kernel-amiga-m68k-p96gfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(kernel-amiga-m68k-p96gfx_DFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_DFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_DFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : $(kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : $(kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-p96gfx_DFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib,) +kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-p96gfx_NLIBARCHFILES)) +kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-p96gfx_NLIBARCHFILES)) +kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-p96gfx_NLIBARCHFILES)))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-p96gfx_NLIBARCHFILES)))) +else +ifeq (,) + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(kernel-amiga-m68k-p96gfx_NLIBARCHFILES))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(kernel-amiga-m68k-p96gfx_NLIBARCHFILES))) +else + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-p96gfx_NLIBARCHFILES)))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-amiga-m68k-p96gfx_NLIBARCHFILES)))) +endif +endif +kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD := $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-p96gfx_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-p96gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-p96gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-p96gfx_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-p96gfx_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-p96gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-p96gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-p96gfx_MC_DIRS),) + kernel-amiga-m68k-p96gfx_MC_DIRS := $(shell echo $(kernel-amiga-m68k-p96gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-p96gfx_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-p96gfx_MC_CPPFLAGS := $(kernel-amiga-m68k-p96gfx_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-p96gfx_CFLAGS := $(kernel-amiga-m68k-p96gfx_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-p96gfx_LINKLIBDFLAGS),) + kernel-amiga-m68k-p96gfx_DFLAGS := $(kernel-amiga-m68k-p96gfx_LINKLIBCFLAGS) +else + kernel-amiga-m68k-p96gfx_DFLAGS := $(kernel-amiga-m68k-p96gfx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(kernel-amiga-m68k-p96gfx_DFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_DFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_DFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : $(kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : $(kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-p96gfx_DFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib,) +kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD := $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib,) +kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES)) +kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES)) +kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib,) + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES))) +else + kernel-amiga-m68k-p96gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES)))) + kernel-amiga-m68k-p96gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(patsubst $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/%,%,$(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES)))) +endif +endif +kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD := $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-p96gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-p96gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-p96gfx_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-p96gfx_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-p96gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-p96gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-p96gfx_MC_DIRS),) + kernel-amiga-m68k-p96gfx_MC_DIRS := $(shell echo $(kernel-amiga-m68k-p96gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-p96gfx_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-p96gfx_MC_CPPFLAGS := $(kernel-amiga-m68k-p96gfx_LINKLIBCPPFLAGS) -D__AROS__ +kernel-amiga-m68k-p96gfx_CFLAGS := $(kernel-amiga-m68k-p96gfx_LINKLIBCFLAGS) +ifeq ($(kernel-amiga-m68k-p96gfx_LINKLIBDFLAGS),) + kernel-amiga-m68k-p96gfx_DFLAGS := $(kernel-amiga-m68k-p96gfx_LINKLIBCFLAGS) +else + kernel-amiga-m68k-p96gfx_DFLAGS := $(kernel-amiga-m68k-p96gfx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(kernel-amiga-m68k-p96gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(kernel-amiga-m68k-p96gfx_DFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-p96gfx_DFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-p96gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-p96gfx_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-p96gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) $(kernel-amiga-m68k-p96gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_CFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-p96gfx_DFLAGS)) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) $(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : kernel-amiga-m68k-p96gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-p96gfx_CFLAGS) +$(kernel-amiga-m68k-p96gfx_MC_TARGETS) : $(kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(dir $<) $(kernel-amiga-m68k-p96gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-p96gfx_IQUOTE) . $(kernel-amiga-m68k-p96gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-p96gfx_MC_DTARGETS) : $(kernel-amiga-m68k-p96gfx_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-p96gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-p96gfx_DFLAGS) $(kernel-amiga-m68k-p96gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-amiga-m68k-p96gfx_LINKLIBAFILES),) + +ifeq ($(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib,) +kernel-amiga-m68k-p96gfx-MA_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-p96gfx_LINKLIBAFILES) $(kernel-amiga-m68k-p96gfx_RELLINKLIBAFILES)) +kernel-amiga-m68k-p96gfx-MA_WILDCARD := % +else +kernel-amiga-m68k-p96gfx-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-p96gfx_LINKLIBAFILES) $(kernel-amiga-m68k-p96gfx_RELLINKLIBAFILES)))) +kernel-amiga-m68k-p96gfx-MA_WILDCARD := $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-amiga-m68k-p96gfx-MA_TARGETS) : | $(addsuffix .S,$(kernel-amiga-m68k-p96gfx_LINKLIBAFILES) $(kernel-amiga-m68k-p96gfx_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-p96gfx-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-p96gfx-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-p96gfx_LINKLIBAFILES) $(kernel-amiga-m68k-p96gfx_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-p96gfx-MA_DIRS := $(foreach dir, $(kernel-amiga-m68k-p96gfx-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-p96gfx-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-p96gfx-MA_DIRS),) + kernel-amiga-m68k-p96gfx-MA_DIRS := $(shell echo $(kernel-amiga-m68k-p96gfx-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-amiga-m68k-p96gfx-MA_DIRS) +endif + +endif + +kernel-amiga-m68k-p96gfx-MA_ASSEMBLER ?= $(kernel-amiga-m68k-p96gfx_ASSEMBLER) + +$(kernel-amiga-m68k-p96gfx-MA_TARGETS) : kernel-amiga-m68k-p96gfx-MA_CMD:= $(kernel-amiga-m68k-p96gfx-MA_ASSEMBLER) + +$(kernel-amiga-m68k-p96gfx-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-amiga-m68k-p96gfx-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-amiga-m68k-p96gfx-MA_TARGETS) : $(kernel-amiga-m68k-p96gfx-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-amiga-m68k-p96gfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-amiga-m68k-p96gfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-amiga-m68k-p96gfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-amiga-m68k-p96gfx_SUFFIX := hidd +else +kernel-amiga-m68k-p96gfx_SUFFIX := +endif + +ifeq (target,target) +kernel-amiga-m68k-p96gfx_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-amiga-m68k-p96gfx_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-amiga-m68k-p96gfx_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-amiga-m68k-p96gfx_SUFFIX),handler) +kernel-amiga-m68k-p96gfx_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-p96gfx_MODDIR)/$(kernel-amiga-m68k-p96gfx_DEFNAME)-$(kernel-amiga-m68k-p96gfx_SUFFIX) +else +kernel-amiga-m68k-p96gfx_MODULE := $(AROSDIR)/$(kernel-amiga-m68k-p96gfx_MODDIR)/$(kernel-amiga-m68k-p96gfx_DEFNAME).$(kernel-amiga-m68k-p96gfx_SUFFIX) +endif +kernel-amiga-m68k-p96gfx_KOBJ := $(KOBJSDIR)/$(kernel-amiga-m68k-p96gfx_DEFNAME)_$(kernel-amiga-m68k-p96gfx_SUFFIX).o +else +kernel-amiga-m68k-p96gfx_MODULE := +kernel-amiga-m68k-p96gfx_KOBJ := +endif + +kernel-amiga-m68k-p96gfx-quick : kernel-amiga-m68k-p96gfx +kernel-amiga-m68k-p96gfx : $(kernel-amiga-m68k-p96gfx_MODULE) $(kernel-amiga-m68k-p96gfx_LINKLIB) $(kernel-amiga-m68k-p96gfx_RELLINKLIB) +ifeq (M,M) +kernel-amiga-m68k-p96gfx-kobj : $(kernel-amiga-m68k-p96gfx_KOBJ) $(kernel-amiga-m68k-p96gfx_LINKLIB) $(kernel-amiga-m68k-p96gfx_RELLINKLIB) +kernel-amiga-m68k-p96gfx-kobj-quick : $(kernel-amiga-m68k-p96gfx_KOBJ) $(kernel-amiga-m68k-p96gfx_LINKLIB) $(kernel-amiga-m68k-p96gfx_RELLINKLIB) +endif +ifeq (M,M) +kernel-amiga-m68k-p96gfx-linklib : $(kernel-amiga-m68k-p96gfx_LINKLIB) $(kernel-amiga-m68k-p96gfx_RELLINKLIB) +endif + +kernel-amiga-m68k-p96gfx_OBJS := $(addsuffix .o,$(kernel-amiga-m68k-p96gfx_STARTFILES)) $(kernel-amiga-m68k-p96gfx_ARCHOBJS) \ + $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(kernel-amiga-m68k-p96gfx_C_NARCHFILES:=.o) $(kernel-amiga-m68k-p96gfx_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-amiga-m68k-p96gfx_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (p96gfx,con) + kernel-amiga-m68k-p96gfx_ERR := $(notdir $(kernel-amiga-m68k-p96gfx_MODULE)).err +else + kernel-amiga-m68k-p96gfx_ERR := p96gfx.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LDFLAGS) $(kernel-amiga-m68k-p96gfx_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-amiga-m68k-p96gfx_LIBS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-amiga-m68k-p96gfx_MODULE) : LIB_NAMES := $(kernel-amiga-m68k-p96gfx_LIBS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LIBS) +$(kernel-amiga-m68k-p96gfx_MODULE) : OBJS := $(kernel-amiga-m68k-p96gfx_STARTOBJS) $(kernel-amiga-m68k-p96gfx_OBJS) $(USER_OBJS) +$(kernel-amiga-m68k-p96gfx_MODULE) : ENDTAG := $(kernel-amiga-m68k-p96gfx_ENDOBJS) +$(kernel-amiga-m68k-p96gfx_MODULE) : ERR := $(kernel-amiga-m68k-p96gfx_ERR) +$(kernel-amiga-m68k-p96gfx_MODULE) : OBJDIR := $(kernel-amiga-m68k-p96gfx_OBJDIR) +$(kernel-amiga-m68k-p96gfx_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-amiga-m68k-p96gfx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-amiga-m68k-p96gfx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-amiga-m68k-p96gfx_MODULE) : $(kernel-amiga-m68k-p96gfx_STARTOBJS) $(kernel-amiga-m68k-p96gfx_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-p96gfx_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-amiga-m68k-p96gfx_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-amiga-m68k-p96gfx_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-amiga-m68k-p96gfx_LC_LINKLIBNAME := $(shell echo $(kernel-amiga-m68k-p96gfx_LINKLIBNAME) | tr A-Z a-z) +kernel-amiga-m68k-p96gfx_LC_MODNAME := $(shell echo p96gfx | tr A-Z a-z) +ifneq ($(kernel-amiga-m68k-p96gfx_LINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(HOST_AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : $(kernel-amiga-m68k-p96gfx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-p96gfx_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-p96gfx_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-p96gfx_LC_MODNAME),$(kernel-amiga-m68k-p96gfx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/libp96gfx$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/libp96gfx$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/libp96gfx$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(HOST_AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/libp96gfx$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/libp96gfx$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/libp96gfx$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-p96gfx_LIBDIR)/libp96gfx$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : $(kernel-amiga-m68k-p96gfx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-p96gfx_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-p96gfx_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-p96gfx_LINKLIB),) +$(kernel-amiga-m68k-p96gfx_LINKLIB) : | $(kernel-amiga-m68k-p96gfx_LIBDIR) +else +$(kernel-amiga-m68k-p96gfx_LINKLIB) :: $(kernel-amiga-m68k-p96gfx_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-p96gfx_LIBDIR) + +endif + +ifneq ($(kernel-amiga-m68k-p96gfx_RELLINKLIB),) + +ifeq (target,target) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(HOST_AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_LINKLIBNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : $(kernel-amiga-m68k-p96gfx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-p96gfx_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-p96gfx_RANLIB) $@ +ifneq ($(kernel-amiga-m68k-p96gfx_LC_MODNAME),$(kernel-amiga-m68k-p96gfx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_DEFNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_DEFNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_DEFNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(HOST_AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_DEFNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_DEFNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_AR:=$(KERNEL_AR) +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_DEFNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : kernel-amiga-m68k-p96gfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-amiga-m68k-p96gfx_LIBDIR)/lib$(kernel-amiga-m68k-p96gfx_DEFNAME)_rel$(kernel-amiga-m68k-p96gfx_LIBSUFFIX).a : $(kernel-amiga-m68k-p96gfx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-amiga-m68k-p96gfx_AR) $@ $^ + $(Q)$(kernel-amiga-m68k-p96gfx_RANLIB) $@ +endif + + +ifneq ($(kernel-amiga-m68k-p96gfx_RELLINKLIB),) +$(kernel-amiga-m68k-p96gfx_RELLINKLIB) : | $(kernel-amiga-m68k-p96gfx_LIBDIR) +else +$(kernel-amiga-m68k-p96gfx_RELLINKLIB) :: $(kernel-amiga-m68k-p96gfx_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-p96gfx_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-amiga-m68k-p96gfx_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-amiga-m68k-p96gfx_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-amiga-m68k-p96gfx_SYMBOLS := $(kernel-amiga-m68k-p96gfx_KBASE) + +kernel-amiga-m68k-p96gfx_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-amiga-m68k-p96gfx_KOBJ_LIBS := $(filter-out $(kernel-amiga-m68k-p96gfx_KLIB),$(kernel-amiga-m68k-p96gfx_LIBS)) $(kernel-amiga-m68k-p96gfx_KAUTOLIB) +$(kernel-amiga-m68k-p96gfx_KOBJ) : LINKLIBS:=$(kernel-amiga-m68k-p96gfx_KOBJ_LIBS) $($(kernel-amiga-m68k-p96gfx_DEFNAME)_LIBS) +$(kernel-amiga-m68k-p96gfx_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-amiga-m68k-p96gfx_SYMBOLS)) +$(kernel-amiga-m68k-p96gfx_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-amiga-m68k-p96gfx_KOBJ) : $(kernel-amiga-m68k-p96gfx_OBJS) $(USER_OBJS) $(kernel-amiga-m68k-p96gfx_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-amiga-m68k-p96gfx_DEPS := $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/,$(notdir $(kernel-amiga-m68k-p96gfx_CCFILES:=.d) $(kernel-amiga-m68k-p96gfx_TARGETCCFILES:=.d) $(kernel-amiga-m68k-p96gfx_CXXFILES:=.d))) $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib/,$(notdir $(kernel-amiga-m68k-p96gfx_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-amiga-m68k-p96gfx_DEPS),) + ifneq (kernel-amiga-m68k-p96gfx kernel-amiga-m68k-p96gfx-quick kernel-amiga-m68k-p96gfx-kobj kernel-amiga-m68k-p96gfx-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-amiga-m68k-p96gfx kernel-amiga-m68k-p96gfx-quick kernel-amiga-m68k-p96gfx-kobj kernel-amiga-m68k-p96gfx-kobj-quick),) + -include $(kernel-amiga-m68k-p96gfx_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-amiga-m68k-p96gfx_DEPS) + endif + endif +endif + +$(kernel-amiga-m68k-p96gfx_OBJS) $(kernel-amiga-m68k-p96gfx_DEPS) : | $(kernel-amiga-m68k-p96gfx_OBJDIR)/linklib + +ifneq ($(kernel-amiga-m68k-p96gfx_OBJS) $(kernel-amiga-m68k-p96gfx_DEPS) $(kernel-amiga-m68k-p96gfx_MODULE) $(kernel-amiga-m68k-p96gfx_KOBJ),) +$(kernel-amiga-m68k-p96gfx_OBJS) $(kernel-amiga-m68k-p96gfx_DEPS) $(kernel-amiga-m68k-p96gfx_MODULE) $(kernel-amiga-m68k-p96gfx_KOBJ) : | $(kernel-amiga-m68k-p96gfx_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-p96gfx_MODDIR) $(KOBJSDIR) +else +$(kernel-amiga-m68k-p96gfx_OBJS) $(kernel-amiga-m68k-p96gfx_DEPS) $(kernel-amiga-m68k-p96gfx_MODULE) $(kernel-amiga-m68k-p96gfx_KOBJ) :: $(kernel-amiga-m68k-p96gfx_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-p96gfx_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-amiga-m68k-p96gfx_OBJDIR) $(AROSDIR)/$(kernel-amiga-m68k-p96gfx_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-amiga-m68k-p96gfx kernel-amiga-m68k-p96gfx-includes kernel-amiga-m68k-p96gfx-quick kernel-amiga-m68k-p96gfx-kobj kernel-amiga-m68k-p96gfx-kobj-quick),) # Only for this target these deps are wanted + +kernel-amiga-m68k-p96gfx_DFILE_DEPS := $(kernel-amiga-m68k-p96gfx_LIBDEFSINC) $(kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC) \ + $(addprefix $(kernel-amiga-m68k-p96gfx_INCDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) +$(kernel-amiga-m68k-p96gfx_DEPS) : $(kernel-amiga-m68k-p96gfx_DFILE_DEPS) +endif + +kernel-amiga-m68k-p96gfx_TOCLEAN := $(kernel-amiga-m68k-p96gfx_OBJS) $(kernel-amiga-m68k-p96gfx_DEPS) \ + $(kernel-amiga-m68k-p96gfx_MODULE) $(kernel-amiga-m68k-p96gfx_LINKLIB) $(kernel-amiga-m68k-p96gfx_KOBJ) \ + $(kernel-amiga-m68k-p96gfx_OBJDIR)/Makefile.p96gfxhidd \ + $(addprefix $(kernel-amiga-m68k-p96gfx_OBJDIR)/include/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-amiga-m68k-p96gfx_INCDIR)/,$($(kernel-amiga-m68k-p96gfx_DEFNAME)_INCLUDES)) \ + $(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_geninc $(kernel-amiga-m68k-p96gfx_OBJDIR)/p96gfx_incs \ + $(addsuffix .c,$(kernel-amiga-m68k-p96gfx_LINKLIBFILES)) $(kernel-amiga-m68k-p96gfx_LINKLIBOBJS) $(kernel-amiga-m68k-p96gfx_LIBDEFSINC) \ + $(kernel-amiga-m68k-p96gfx_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-amiga-m68k-p96gfx_STARTFILES) $(kernel-amiga-m68k-p96gfx_ENDFILES)) \ + $(kernel-amiga-m68k-p96gfx_ENDOBJS) +kernel-amiga-m68k-p96gfx-clean : FILES := $(kernel-amiga-m68k-p96gfx_TOCLEAN) +kernel-amiga-m68k-p96gfx-clean :: + $(Q)$(ECHO) "Cleaning up for module p96gfx" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-amiga-m68k-p96gfx_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/parallel/mmakefile b/arch/m68k-amiga/hidd/parallel/mmakefile new file mode 100644 index 00000000000..8e4367fee04 --- /dev/null +++ b/arch/m68k-amiga/hidd/parallel/mmakefile @@ -0,0 +1,1663 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := ParallelClass ParallelUnitClass + +#MM- workbench-devs-amiga-m68k: amiga-m68k-hidd-parallel + +#USER_CPPLFAGS := -DDEBUG=1 +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM amiga-m68k-hidd-parallel +#MM amiga-m68k-hidd-parallel-quick +#MM amiga-m68k-hidd-parallel-makefile +#MM amiga-m68k-hidd-parallel-clean + +# ABI targets: +#MM- includes-all : amiga-m68k-hidd-parallel-includes +#MM- linklibs-parallel: amiga-m68k-hidd-parallel-linklib +#MM- linklibs-parallel_rel : amiga-m68k-hidd-parallel-linklib +#MM- includes-parallel: amiga-m68k-hidd-parallel-includes +#MM- includes-parallel_rel : amiga-m68k-hidd-parallel-includes +#MM- amiga-m68k-hidd-parallel : amiga-m68k-hidd-parallel-includes core-linklibs linklibs-hiddstubs +#MM amiga-m68k-hidd-parallel-linklib : amiga-m68k-hidd-parallel-includes includes-hiddstubs +#MM- amiga-m68k-hidd-parallel-quick : amiga-m68k-hidd-parallel-includes-quick +#MM amiga-m68k-hidd-parallel-includes : amiga-m68k-hidd-parallel-makefile amiga-m68k-hidd-parallel-includes-dirs \ +#MM includes-generate-deps amiga-m68k-hidd-parallel-fd +#MM amiga-m68k-hidd-parallel-includes-quick +#MM amiga-m68k-hidd-parallel-includes-dirs +#MM amiga-m68k-hidd-parallel-fd + +# Library targets +#MM amiga-m68k-hidd-parallel-kobj : core-linklibs linklibs-hiddstubs +#MM amiga-m68k-hidd-parallel-kobj-quick : + +# Library with ABI targets: +#MM amiga-m68k-hidd-parallel-kobj : amiga-m68k-hidd-parallel-includes core-linklibs linklibs-hiddstubs +#MM amiga-m68k-hidd-parallel-kobj-quick : amiga-m68k-hidd-parallel-includes-quick + +# All MetaMake targets defined by this macro +amiga-m68k-hidd-parallel_ALLTARGETS := amiga-m68k-hidd-parallel amiga-m68k-hidd-parallel-quick amiga-m68k-hidd-parallel-clean + +ifeq (M,M) +amiga-m68k-hidd-parallel_ALLTARGETS += amiga-m68k-hidd-parallel-kobj amiga-m68k-hidd-parallel-kobj-quick +endif + +ifeq (M,M) +amiga-m68k-hidd-parallel_ALLTARGETS += amiga-m68k-hidd-parallel-includes \ + amiga-m68k-hidd-parallel-includes-quick amiga-m68k-hidd-parallel-includes-dirs \ + amiga-m68k-hidd-parallel-linklib amiga-m68k-hidd-parallel-fd +endif + +.PHONY : $(amiga-m68k-hidd-parallel_ALLTARGETS) amiga-m68k-hidd-parallel-makefile + +ifeq (parallel,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + amiga-m68k-hidd-parallel_DEFNAME := parallel_ +else + amiga-m68k-hidd-parallel_DEFNAME := parallel +endif +amiga-m68k-hidd-parallel_DEFLINKLIBNAME := $(amiga-m68k-hidd-parallel_DEFNAME) +ifneq (,) + amiga-m68k-hidd-parallel_LINKLIBNAME := +else + amiga-m68k-hidd-parallel_LINKLIBNAME = $(amiga-m68k-hidd-parallel_DEFLINKLIBNAME) +endif +amiga-m68k-hidd-parallel_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + amiga-m68k-hidd-parallel_DEFCPPFLAGS += -I +endif +amiga-m68k-hidd-parallel_DEFDFLAGS := $(CFLAGS) +ifneq (,) + amiga-m68k-hidd-parallel_DFLAGS := +else + amiga-m68k-hidd-parallel_DFLAGS = $(amiga-m68k-hidd-parallel_DEFDFLAGS) +endif +amiga-m68k-hidd-parallel_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + amiga-m68k-hidd-parallel_DXXFLAGS := +else + amiga-m68k-hidd-parallel_DXXFLAGS = $(amiga-m68k-hidd-parallel_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +amiga-m68k-hidd-parallel_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(amiga-m68k-hidd-parallel_DEFDFLAGS)) +amiga-m68k-hidd-parallel_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(amiga-m68k-hidd-parallel_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +amiga-m68k-hidd-parallel_FUNCINSTR := yes +amiga-m68k-hidd-parallel_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(amiga-m68k-hidd-parallel_DEFDFLAGS)) +amiga-m68k-hidd-parallel_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(amiga-m68k-hidd-parallel_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +amiga-m68k-hidd-parallel_OBJDIR := +else +amiga-m68k-hidd-parallel_OBJDIR := $(OBJDIR)/$(amiga-m68k-hidd-parallel_DEFNAME) +endif +ifneq (,) +amiga-m68k-hidd-parallel_OBJDIR := $(amiga-m68k-hidd-parallel_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +amiga-m68k-hidd-parallel-makefile := $(amiga-m68k-hidd-parallel_OBJDIR)/Makefile.$(amiga-m68k-hidd-parallel_DEFNAME)hidd +amiga-m68k-hidd-parallel-genmakefile : $(amiga-m68k-hidd-parallel-makefile) + + +amiga-m68k-hidd-parallel-genmakefile_OPTS := +ifneq (,) + amiga-m68k-hidd-parallel-genmakefile_OPTS += -f + amiga-m68k-hidd-parallel-genmakefile_MODNAME := parallel_ +else + amiga-m68k-hidd-parallel-genmakefile_MODNAME := parallel +endif +amiga-m68k-hidd-parallel-genmakefile_TARGET := Makefile.$(amiga-m68k-hidd-parallel-genmakefile_MODNAME)hidd +amiga-m68k-hidd-parallel-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + amiga-m68k-hidd-parallel-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + amiga-m68k-hidd-parallel-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + amiga-m68k-hidd-parallel-genmakefile_OPTS += -c + amiga-m68k-hidd-parallel-genmakefile_DEPS += + endif +else + amiga-m68k-hidd-parallel-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/parallel.conf + amiga-m68k-hidd-parallel-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/parallel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + amiga-m68k-hidd-parallel-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + amiga-m68k-hidd-parallel-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + amiga-m68k-hidd-parallel-genmakefile_OPTS += -o + amiga-m68k-hidd-parallel-genmakefile_DEPS += + endif +endif +ifneq (,) + amiga-m68k-hidd-parallel-genmakefile_OPTS += -s +endif +ifneq ($(amiga-m68k-hidd-parallel_OBJDIR),) + amiga-m68k-hidd-parallel-genmakefile_OPTS += -d $(amiga-m68k-hidd-parallel_OBJDIR) + amiga-m68k-hidd-parallel-genmakefile_TARGET := $(amiga-m68k-hidd-parallel_OBJDIR)/$(amiga-m68k-hidd-parallel-genmakefile_TARGET) +endif + +$(amiga-m68k-hidd-parallel-genmakefile_TARGET) : OPTS := $(amiga-m68k-hidd-parallel-genmakefile_OPTS) +$(amiga-m68k-hidd-parallel-genmakefile_TARGET) : MODNAME := parallel +$(amiga-m68k-hidd-parallel-genmakefile_TARGET) : MODTYPE := hidd +$(amiga-m68k-hidd-parallel-genmakefile_TARGET) : $(amiga-m68k-hidd-parallel-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(amiga-m68k-hidd-parallel-makefile),) +$(amiga-m68k-hidd-parallel-makefile) : | $(amiga-m68k-hidd-parallel_OBJDIR) +else +$(amiga-m68k-hidd-parallel-makefile) :: $(amiga-m68k-hidd-parallel_OBJDIR) +endif + +GLOB_MKDIRS += $(amiga-m68k-hidd-parallel_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(amiga-m68k-hidd-parallel_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(amiga-m68k-hidd-parallel-makefile) + +amiga-m68k-hidd-parallel_DEFMODDIR := $($(amiga-m68k-hidd-parallel_DEFNAME)_MODDIR) +ifeq (no,yes) +amiga-m68k-hidd-parallel_DEFMODDIR := $(AROS_DIR_ARCH)/$(amiga-m68k-hidd-parallel_DEFMODDIR) +endif +ifneq (,) + amiga-m68k-hidd-parallel_MODDIR := +else + amiga-m68k-hidd-parallel_MODDIR := $(amiga-m68k-hidd-parallel_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +amiga-m68k-hidd-parallel_INCDIR := +else +amiga-m68k-hidd-parallel_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +amiga-m68k-hidd-parallel_LIBDEFSINC := $(amiga-m68k-hidd-parallel_OBJDIR)/include/$(amiga-m68k-hidd-parallel_DEFNAME)_libdefs.h +amiga-m68k-hidd-parallel_DEFLIBDEFSINC := $(amiga-m68k-hidd-parallel_OBJDIR)/include/$(amiga-m68k-hidd-parallel_DEFNAME)_deflibdefs.h + +ifeq (M,M) +amiga-m68k-hidd-parallel-includes-quick : amiga-m68k-hidd-parallel-includes +amiga-m68k-hidd-parallel-includes : $(addprefix $(GENINCDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) \ + $(addprefix $(amiga-m68k-hidd-parallel_INCDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) \ + $(amiga-m68k-hidd-parallel_LIBDEFSINC) $(amiga-m68k-hidd-parallel_DEFLIBDEFSINC) + +ifneq ($($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES),) + +ifneq (,) + amiga-m68k-hidd-parallel-includes_MODNAME := parallel_ +else + amiga-m68k-hidd-parallel-includes_MODNAME := parallel +endif + +ifneq ($($(amiga-m68k-hidd-parallel-includes_MODNAME)_INCLUDES),) + +amiga-m68k-hidd-parallel-includes_TARGETS := $($(amiga-m68k-hidd-parallel-includes_MODNAME)_INCLUDES) + +amiga-m68k-hidd-parallel-includes_DEPS := $(GENMODULE) +amiga-m68k-hidd-parallel-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + amiga-m68k-hidd-parallel-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + amiga-m68k-hidd-parallel-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + amiga-m68k-hidd-parallel-includes_OPTS += -c + amiga-m68k-hidd-parallel-includes_DEPS += + endif +else + amiga-m68k-hidd-parallel-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/parallel.conf + amiga-m68k-hidd-parallel-includes_DEPS += $(SRCDIR)/$(CURDIR)/parallel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + amiga-m68k-hidd-parallel-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + amiga-m68k-hidd-parallel-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + amiga-m68k-hidd-parallel-includes_OPTS += -o + amiga-m68k-hidd-parallel-includes_DEPS += + endif +endif +ifneq (,) + amiga-m68k-hidd-parallel-includes_OPTS += -s +endif +ifneq ($(amiga-m68k-hidd-parallel_OBJDIR)/include,) + amiga-m68k-hidd-parallel-includes_OPTS += -d $(amiga-m68k-hidd-parallel_OBJDIR)/include + amiga-m68k-hidd-parallel-includes_TARGETS := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/include/,$(amiga-m68k-hidd-parallel-includes_TARGETS)) + amiga-m68k-hidd-parallel-includes_GENINCFLAG=$(amiga-m68k-hidd-parallel_OBJDIR)/include/.parallel.hidd-includes +else + amiga-m68k-hidd-parallel-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.parallel.hidd-includes +endif + +$(amiga-m68k-hidd-parallel-includes_TARGETS) : $(amiga-m68k-hidd-parallel-includes_DEPS) $(amiga-m68k-hidd-parallel-includes_GENINCFLAG) + +$(amiga-m68k-hidd-parallel-includes_GENINCFLAG) : OPTS := $(amiga-m68k-hidd-parallel-includes_OPTS) +$(amiga-m68k-hidd-parallel-includes_GENINCFLAG) : MODNAME := parallel +$(amiga-m68k-hidd-parallel-includes_GENINCFLAG) : MODTYPE := hidd +$(amiga-m68k-hidd-parallel-includes_GENINCFLAG) : $(amiga-m68k-hidd-parallel-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(amiga-m68k-hidd-parallel_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) : | $(amiga-m68k-hidd-parallel_OBJDIR)/parallel_geninc + +$(amiga-m68k-hidd-parallel_OBJDIR)/parallel_geninc : COPYSRCDIR := $(amiga-m68k-hidd-parallel_OBJDIR)/include +$(amiga-m68k-hidd-parallel_OBJDIR)/parallel_geninc : TGTDIR := $(GENINCDIR) +$(amiga-m68k-hidd-parallel_OBJDIR)/parallel_geninc : FILES := $($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES) +$(amiga-m68k-hidd-parallel_OBJDIR)/parallel_geninc : $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/include/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(amiga-m68k-hidd-parallel_OBJDIR)/include + +$(addprefix $(amiga-m68k-hidd-parallel_INCDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) : | $(amiga-m68k-hidd-parallel_OBJDIR)/parallel_incs + +$(amiga-m68k-hidd-parallel_OBJDIR)/parallel_incs : COPYSRCDIR := $(amiga-m68k-hidd-parallel_OBJDIR)/include +$(amiga-m68k-hidd-parallel_OBJDIR)/parallel_incs : TGTDIR := $(amiga-m68k-hidd-parallel_INCDIR) +$(amiga-m68k-hidd-parallel_OBJDIR)/parallel_incs : FILES := $($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES) +$(amiga-m68k-hidd-parallel_OBJDIR)/parallel_incs : $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/include/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +amiga-m68k-hidd-parallel_INCDIRS := $(filter-out ./,$(sort $(dir $($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)))) + +TMPparallel_INCDIRS := \ + $(amiga-m68k-hidd-parallel_OBJDIR)/include $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/include/,$(amiga-m68k-hidd-parallel_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(amiga-m68k-hidd-parallel_INCDIRS)) \ + $(amiga-m68k-hidd-parallel_INCDIR) $(addprefix $(amiga-m68k-hidd-parallel_INCDIR)/,$(amiga-m68k-hidd-parallel_INCDIRS)) + +ifneq (amiga-m68k-hidd-parallel-includes-dirs,) +amiga-m68k-hidd-parallel-includes-dirs : | $(TMPparallel_INCDIRS) +else +amiga-m68k-hidd-parallel-includes-dirs :: $(TMPparallel_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPparallel_INCDIRS) + + +endif + +endif + + +amiga-m68k-hidd-parallel-genlibdefs_OPTS := +ifneq (,) + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -f + amiga-m68k-hidd-parallel-genlibdefs_MODNAME := parallel_ +else + amiga-m68k-hidd-parallel-genlibdefs_MODNAME := parallel +endif +amiga-m68k-hidd-parallel-genlibdefs_TARGET := $(amiga-m68k-hidd-parallel-genlibdefs_MODNAME)_libdefs.h +amiga-m68k-hidd-parallel-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + amiga-m68k-hidd-parallel-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -c + amiga-m68k-hidd-parallel-genlibdefs_DEPS += + endif +else + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/parallel.conf + amiga-m68k-hidd-parallel-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/parallel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + amiga-m68k-hidd-parallel-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -o + amiga-m68k-hidd-parallel-genlibdefs_DEPS += + endif +endif +ifneq (,) + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -s +endif +ifneq ($(amiga-m68k-hidd-parallel_OBJDIR)/include,) + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -d $(amiga-m68k-hidd-parallel_OBJDIR)/include + amiga-m68k-hidd-parallel-genlibdefs_TARGET := $(amiga-m68k-hidd-parallel_OBJDIR)/include/$(amiga-m68k-hidd-parallel-genlibdefs_TARGET) +endif +ifneq (,) + amiga-m68k-hidd-parallel-genlibdefs_OPTS += -v +endif + +$(amiga-m68k-hidd-parallel-genlibdefs_TARGET) : OPTS := $(amiga-m68k-hidd-parallel-genlibdefs_OPTS) +$(amiga-m68k-hidd-parallel-genlibdefs_TARGET) : MODNAME := parallel +$(amiga-m68k-hidd-parallel-genlibdefs_TARGET) : MODTYPE := hidd +$(amiga-m68k-hidd-parallel-genlibdefs_TARGET) : $(amiga-m68k-hidd-parallel-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(amiga-m68k-hidd-parallel_DEFLIBDEFSINC) : FILENAME := $(amiga-m68k-hidd-parallel_LIBDEFSINC) +$(amiga-m68k-hidd-parallel_DEFLIBDEFSINC) : $(amiga-m68k-hidd-parallel_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(amiga-m68k-hidd-parallel_LIBDEFSINC) $(amiga-m68k-hidd-parallel_DEFLIBDEFSINC) : | $(amiga-m68k-hidd-parallel_OBJDIR)/include + +ifneq (amiga-m68k-hidd-parallel-includes-dirs,) +amiga-m68k-hidd-parallel-includes-dirs : | $(amiga-m68k-hidd-parallel_OBJDIR)/include +else +amiga-m68k-hidd-parallel-includes-dirs :: $(amiga-m68k-hidd-parallel_OBJDIR)/include +endif + +GLOB_MKDIRS += $(amiga-m68k-hidd-parallel_OBJDIR)/include + + +## Extra genmodule src files generation +## + +amiga-m68k-hidd-parallel-genmodfiles_OPTS := +ifneq (,) + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -f + amiga-m68k-hidd-parallel-genmodfiles_MODNAME := parallel_ +else + amiga-m68k-hidd-parallel-genmodfiles_MODNAME := parallel +endif +amiga-m68k-hidd-parallel-genmodfiles_GENTARGETS := $($(amiga-m68k-hidd-parallel-genmodfiles_MODNAME)_STARTFILES) $($(amiga-m68k-hidd-parallel-genmodfiles_MODNAME)_ENDFILES) +amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETS := $($(amiga-m68k-hidd-parallel-genmodfiles_MODNAME)_LINKLIBFILES) $($(amiga-m68k-hidd-parallel-genmodfiles_MODNAME)_RELLINKLIBFILES) +amiga-m68k-hidd-parallel-genmodfiles_GENTARGETS := $(addsuffix .c,$(amiga-m68k-hidd-parallel-genmodfiles_GENTARGETS)) +amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETS := $(addsuffix .c,$(amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(amiga-m68k-hidd-parallel-genmodfiles_MODNAME)_LINKLIBAFILES) $($(amiga-m68k-hidd-parallel-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +amiga-m68k-hidd-parallel-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + amiga-m68k-hidd-parallel-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -c + amiga-m68k-hidd-parallel-genmodfiles_DEPS += + endif +else + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/parallel.conf + amiga-m68k-hidd-parallel-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/parallel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + amiga-m68k-hidd-parallel-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -o + amiga-m68k-hidd-parallel-genmodfiles_DEPS += + endif +endif +ifneq (,) + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -s +endif +ifneq ($(amiga-m68k-hidd-parallel_OBJDIR),) + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -d $(amiga-m68k-hidd-parallel_OBJDIR) + amiga-m68k-hidd-parallel-genmodfiles_TARGETDIR := $(shell echo $(amiga-m68k-hidd-parallel_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + amiga-m68k-hidd-parallel-genmodfiles_GENTARGETS := $(addprefix $(amiga-m68k-hidd-parallel-genmodfiles_TARGETDIR)/,$(amiga-m68k-hidd-parallel-genmodfiles_GENTARGETS)) + amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG=$(amiga-m68k-hidd-parallel-genmodfiles_TARGETDIR)/.parallel.hidd-genfiles +else + amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.parallel.hidd-genfiles +endif +ifneq ($(amiga-m68k-hidd-parallel_OBJDIR)/linklib,) + amiga-m68k-hidd-parallel-genmodfiles_OPTS += -l $(amiga-m68k-hidd-parallel_OBJDIR)/linklib + amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETDIR := $(shell echo $(amiga-m68k-hidd-parallel_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETS := $(addprefix $(amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETDIR)/,$(amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETS)) + amiga-m68k-hidd-parallel-genmodfiles_TARGETDIRS += $(amiga-m68k-hidd-parallel_OBJDIR)/linklib +else +ifneq ($(amiga-m68k-hidd-parallel_OBJDIR),) + amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETS := $(addprefix $(amiga-m68k-hidd-parallel-genmodfiles_TARGETDIR)/,$(amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETS)) +endif +endif + +amiga-m68k-hidd-parallel-genmodfiles_TARGETS := $(amiga-m68k-hidd-parallel-genmodfiles_GENTARGETS) $(amiga-m68k-hidd-parallel-genmodfiles_STUBTARGETS) +ifneq ($(amiga-m68k-hidd-parallel-genmodfiles_TARGETDIRS),) +$(amiga-m68k-hidd-parallel-genmodfiles_TARGETS) : | $(amiga-m68k-hidd-parallel-genmodfiles_TARGETDIRS) +endif + +$(amiga-m68k-hidd-parallel-genmodfiles_TARGETS) : $(amiga-m68k-hidd-parallel-genmodfiles_DEPS) $(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG) + +$(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG) : OPTS := $(amiga-m68k-hidd-parallel-genmodfiles_OPTS) +$(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG) : MODNAME := parallel +$(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG) : $(amiga-m68k-hidd-parallel-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG) : $(amiga-m68k-hidd-parallel_DEFLIBDEFSINC) $(amiga-m68k-hidd-parallel-makefile) + + +ifneq ($(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG),) +$(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG) : | $(amiga-m68k-hidd-parallel_OBJDIR)/linklib +else +$(amiga-m68k-hidd-parallel-genmodfiles_GENFILEFLAG) :: $(amiga-m68k-hidd-parallel_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(amiga-m68k-hidd-parallel_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +amiga-m68k-hidd-parallel_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +amiga-m68k-hidd-parallel_FDDIR := /../$(AROS_DIR_FD) +endif +amiga-m68k-hidd-parallel-fd : $(amiga-m68k-hidd-parallel_FDDIR)/parallel_lib.fd + + +TMP_TARGET := parallel_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/parallel.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/parallel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(amiga-m68k-hidd-parallel_FDDIR),) + TMP_OPTS += -d $(amiga-m68k-hidd-parallel_FDDIR) + TMP_TARGET := $(amiga-m68k-hidd-parallel_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := parallel +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(amiga-m68k-hidd-parallel_FDDIR)/parallel_lib.fd : | $(amiga-m68k-hidd-parallel_FDDIR) + + +ifneq (amiga-m68k-hidd-parallel-fd-setup,) +amiga-m68k-hidd-parallel-fd-setup : | $(amiga-m68k-hidd-parallel_FDDIR) +else +amiga-m68k-hidd-parallel-fd-setup :: $(amiga-m68k-hidd-parallel_FDDIR) +endif + +GLOB_MKDIRS += $(amiga-m68k-hidd-parallel_FDDIR) + +endif + +## Compilation +## +amiga-m68k-hidd-parallel_FILES := $(FILES) +amiga-m68k-hidd-parallel_OBJCFILES := +amiga-m68k-hidd-parallel_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +amiga-m68k-hidd-parallel_LIBFILES := +amiga-m68k-hidd-parallel_LIBS := hiddstubs + +amiga-m68k-hidd-parallel_FDIRS := $(sort $(dir $(amiga-m68k-hidd-parallel_FILES))) + +amiga-m68k-hidd-parallel_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +amiga-m68k-hidd-parallel_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call amiga-m68k-hidd-parallel_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +amiga-m68k-hidd-parallel_FILTERARCH = $(filter-out $(call amiga-m68k-hidd-parallel_MATCHARCH,$(1),$(2)),$(2)) +amiga-m68k-hidd-parallel_STARTFILES := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_STARTFILES)) +amiga-m68k-hidd-parallel_ENDFILES := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_ENDFILES)) + +amiga-m68k-hidd-parallel_ARCHOBJS := $(wildcard $(amiga-m68k-hidd-parallel_OBJDIR)/arch/*.o) +amiga-m68k-hidd-parallel_LIBARCHOBJS := $(wildcard $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/arch/*.o) +amiga-m68k-hidd-parallel_ARCHFILES := $(basename $(notdir $(amiga-m68k-hidd-parallel_ARCHOBJS))) +amiga-m68k-hidd-parallel_LIBARCHFILES := $(basename $(notdir $(amiga-m68k-hidd-parallel_LIBARCHOBJS))) +amiga-m68k-hidd-parallel_C_NARCHFILES := $(call amiga-m68k-hidd-parallel_FILTERARCH,$(amiga-m68k-hidd-parallel_ARCHFILES),$(amiga-m68k-hidd-parallel_FILES)) +amiga-m68k-hidd-parallel_CXX_NARCHFILES := $(call amiga-m68k-hidd-parallel_FILTERARCH,$(amiga-m68k-hidd-parallel_ARCHFILES),$(amiga-m68k-hidd-parallel_CXXFILES)) +amiga-m68k-hidd-parallel_OBJC_NARCHFILES := $(call amiga-m68k-hidd-parallel_FILTERARCH,$(amiga-m68k-hidd-parallel_ARCHFILES),$(amiga-m68k-hidd-parallel_OBJCFILES)) +amiga-m68k-hidd-parallel_NLIBARCHFILES := $(call amiga-m68k-hidd-parallel_FILTERARCH,$(amiga-m68k-hidd-parallel_LIBARCHFILES),$(amiga-m68k-hidd-parallel_LIBFILES)) +amiga-m68k-hidd-parallel_ARCHNLIBFILES := $(call amiga-m68k-hidd-parallel_FILTERARCH,$(amiga-m68k-hidd-parallel_LIBFILES),$(amiga-m68k-hidd-parallel_LIBARCHFILES)) + +amiga-m68k-hidd-parallel_CPPFLAGS := $(strip $(CPPFLAGS) -I$(amiga-m68k-hidd-parallel_OBJDIR)/include -include $(amiga-m68k-hidd-parallel_DEFLIBDEFSINC)) +ifneq (,) +amiga-m68k-hidd-parallel_CPPFLAGS += -I +endif +amiga-m68k-hidd-parallel_LINKLIBCPPFLAGS := $(amiga-m68k-hidd-parallel_CPPFLAGS) +amiga-m68k-hidd-parallel_CPPFLAGS += $(strip $($(amiga-m68k-hidd-parallel_DEFNAME)_CPPFLAGS)) +amiga-m68k-hidd-parallel_LINKLIBCPPFLAGS += $(strip $($(amiga-m68k-hidd-parallel_DEFNAME)_LINKLIBCPPFLAGS)) +amiga-m68k-hidd-parallel_CFLAGS := $(strip $(CFLAGS) $($(amiga-m68k-hidd-parallel_DEFNAME)_CFLAGS)) +amiga-m68k-hidd-parallel_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(amiga-m68k-hidd-parallel_DEFNAME)_LINKLIBCFLAGS)) +amiga-m68k-hidd-parallel_CXXFLAGS := $(strip $(CXXFLAGS) $($(amiga-m68k-hidd-parallel_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +amiga-m68k-hidd-parallel_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +amiga-m68k-hidd-parallel_CFLAGS := $(strip $(amiga-m68k-hidd-parallel_LTOFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +amiga-m68k-hidd-parallel_LINKLIBCFLAGS := $(strip $(amiga-m68k-hidd-parallel_LTOFLAGS) $(amiga-m68k-hidd-parallel_LINKLIBCFLAGS)) +amiga-m68k-hidd-parallel_CXXFLAGS := $(strip $(amiga-m68k-hidd-parallel_LTOFLAGS) $(amiga-m68k-hidd-parallel_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +amiga-m68k-hidd-parallel_SUBSTNULL := +amiga-m68k-hidd-parallel_SUBSTSPACE := $(amiga-m68k-hidd-parallel_SUBSTNULL) # +amiga-m68k-hidd-parallel_SUBSTCOMMA := , +amiga-m68k-hidd-parallel_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(amiga-m68k-hidd-parallel_SUBSTSPACE),$(amiga-m68k-hidd-parallel_SUBSTCOMMA),$(strip $($(amiga-m68k-hidd-parallel_DEFNAME)_STARTFILES)))) +amiga-m68k-hidd-parallel_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +amiga-m68k-hidd-parallel_CFLAGS := $(strip $(amiga-m68k-hidd-parallel_INSTRFUNCFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +amiga-m68k-hidd-parallel_CXXFLAGS := $(strip $(amiga-m68k-hidd-parallel_INSTRFUNCFLAGS) $(amiga-m68k-hidd-parallel_CXXFLAGS)) +amiga-m68k-hidd-parallel_LIBS += $(amiga-m68k-hidd-parallel_INSTRFUNCLIBS) +endif +endif +amiga-m68k-hidd-parallel_DFLAGS := $(strip $(amiga-m68k-hidd-parallel_DFLAGS) $($(amiga-m68k-hidd-parallel_DEFNAME)_DFLAGS)) +amiga-m68k-hidd-parallel_LINKLIBDFLAGS := $(strip $(amiga-m68k-hidd-parallel_DFLAGS) $($(amiga-m68k-hidd-parallel_DEFNAME)_LINKLIBDFLAGS)) +amiga-m68k-hidd-parallel_DXXFLAGS := $(strip $(amiga-m68k-hidd-parallel_DXXFLAGS) $($(amiga-m68k-hidd-parallel_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + amiga-m68k-hidd-parallel_LIBSUFFIX := +else + amiga-m68k-hidd-parallel_LIBSUFFIX := .hidd +endif + +ifeq (,) +amiga-m68k-hidd-parallel_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +amiga-m68k-hidd-parallel_LIBDIR := +endif + +ifeq (M,M) +amiga-m68k-hidd-parallel_LINKLIBCFILES := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$($(amiga-m68k-hidd-parallel_DEFNAME)_LINKLIBFILES)) +amiga-m68k-hidd-parallel_LINKLIBAFILES := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$($(amiga-m68k-hidd-parallel_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(amiga-m68k-hidd-parallel_DEFNAME)_LINKLIBFILES) $($(amiga-m68k-hidd-parallel_DEFNAME)_LINKLIBAFILES) $(amiga-m68k-hidd-parallel_ARCHNLIBFILES)),) + amiga-m68k-hidd-parallel_LINKLIB := +else + amiga-m68k-hidd-parallel_LINKLIB := $(amiga-m68k-hidd-parallel_LIBDIR)/libparallel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a + ifneq (parallel,$(amiga-m68k-hidd-parallel_LINKLIBNAME)) + amiga-m68k-hidd-parallel_LINKLIB += $(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)$(amiga-m68k-hidd-parallel_LIBSUFFIX).a + endif +endif +amiga-m68k-hidd-parallel_LINKLIBFILES := $(amiga-m68k-hidd-parallel_LINKLIBCFILES) $(amiga-m68k-hidd-parallel_LINKLIBAFILES) + +amiga-m68k-hidd-parallel_RELLINKLIBCFILES := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$($(amiga-m68k-hidd-parallel_DEFNAME)_RELLINKLIBFILES)) +amiga-m68k-hidd-parallel_RELLINKLIBAFILES := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$($(amiga-m68k-hidd-parallel_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(amiga-m68k-hidd-parallel_DEFNAME)_RELLINKLIBFILES) $($(amiga-m68k-hidd-parallel_DEFNAME)_RELLINKLIBAFILES) $(amiga-m68k-hidd-parallel_ARCHNLIBFILES)),) + amiga-m68k-hidd-parallel_RELLINKLIB := +else + amiga-m68k-hidd-parallel_RELLINKLIB := $(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_DEFNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a + ifneq (parallel,$(amiga-m68k-hidd-parallel_LINKLIBNAME)) + amiga-m68k-hidd-parallel_RELLINKLIB += $(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a + endif +endif +amiga-m68k-hidd-parallel_RELLINKLIBFILES := $(amiga-m68k-hidd-parallel_RELLINKLIBCFILES) $(amiga-m68k-hidd-parallel_RELLINKLIBAFILES) +endif + +amiga-m68k-hidd-parallel_ENDOBJS := $(addsuffix .o,$(amiga-m68k-hidd-parallel_ENDFILES)) +amiga-m68k-hidd-parallel_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(notdir $(amiga-m68k-hidd-parallel_NLIBARCHFILES))) $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/arch/,$(notdir $(amiga-m68k-hidd-parallel_ARCHNLIBFILES))) $(amiga-m68k-hidd-parallel_LINKLIBFILES)) \ + +amiga-m68k-hidd-parallel_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(notdir $(amiga-m68k-hidd-parallel_NLIBARCHFILES))) $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/arch/,$(notdir $(amiga-m68k-hidd-parallel_ARCHNLIBFILES))) $(amiga-m68k-hidd-parallel_RELLINKLIBFILES)) \ + +$(amiga-m68k-hidd-parallel_LINKLIBFILES) $(amiga-m68k-hidd-parallel_RELLINKLIBFILES) : | $(amiga-m68k-hidd-parallel_OBJDIR)/linklib +$(amiga-m68k-hidd-parallel_LINKLIBOBJS) $(amiga-m68k-hidd-parallel_RELLINKLIBOBJS) : | $(amiga-m68k-hidd-parallel_OBJDIR)/linklib + +amiga-m68k-hidd-parallel_CCFILES := $(amiga-m68k-hidd-parallel_C_NARCHFILES) +amiga-m68k-hidd-parallel_TARGETCCFILES := $(strip $(amiga-m68k-hidd-parallel_STARTFILES) $(amiga-m68k-hidd-parallel_ENDFILES)) +amiga-m68k-hidd-parallel_LINKLIBCCFILES := $(strip $(amiga-m68k-hidd-parallel_NLIBARCHFILES) $(amiga-m68k-hidd-parallel_LINKLIBCFILES) $(amiga-m68k-hidd-parallel_RELLINKLIBCFILES)) +amiga-m68k-hidd-parallel_LINKLIBCCGENFILES := $(strip $(amiga-m68k-hidd-parallel_LINKLIBCFILES) $(amiga-m68k-hidd-parallel_RELLINKLIBCFILES)) + + +amiga-m68k-hidd-parallel_CXXABSBASENAMES := $(foreach amiga-m68k-hidd-parallel_CXXBASE,$(amiga-m68k-hidd-parallel_CXX_NARCHFILES),$(if $(filter /%,$(amiga-m68k-hidd-parallel_CXXBASE)),$(amiga-m68k-hidd-parallel_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(amiga-m68k-hidd-parallel_CXXBASE)))) + +ifneq ($(amiga-m68k-hidd-parallel_CXXABSBASENAMES),) + +amiga-m68k-hidd-parallel_CXXBASENAMES := $(basename $(amiga-m68k-hidd-parallel_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +amiga-m68k-hidd-parallel_MCXX_FILES := $(strip $(foreach amiga-m68k-hidd-parallel_CXXBASE,$(amiga-m68k-hidd-parallel_CXXABSBASENAMES), $(firstword $(wildcard $(foreach amiga-m68k-hidd-parallel_EXT, $(AROS_CXXEXTS),$(addsuffix .$(amiga-m68k-hidd-parallel_EXT),$(amiga-m68k-hidd-parallel_CXXBASE))))))) + +ifeq (,) +amiga-m68k-hidd-parallel_MCXX_SRCWILDCARD := % +else +amiga-m68k-hidd-parallel_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR),) + amiga-m68k-hidd-parallel_CXXTARGETS := $(notdir $(amiga-m68k-hidd-parallel_CXXBASENAMES:=.o)) + amiga-m68k-hidd-parallel_CXXDTARGETS := $(notdir $(amiga-m68k-hidd-parallel_CXXBASENAMES:=.d)) + amiga-m68k-hidd-parallel_MCXX_WILDCARD := % +else + amiga-m68k-hidd-parallel_CXXTARGETS := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(amiga-m68k-hidd-parallel_CXXBASENAMES:=.o))) + amiga-m68k-hidd-parallel_CXXDTARGETS := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(amiga-m68k-hidd-parallel_CXXBASENAMES:=.d))) + amiga-m68k-hidd-parallel_MCXX_WILDCARD := $(amiga-m68k-hidd-parallel_OBJDIR)/% + + # Be sure that all source files are generated + $(amiga-m68k-hidd-parallel_CXXTARGETS) $(amiga-m68k-hidd-parallel_CXXDTARGETS) : | $(amiga-m68k-hidd-parallel_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +amiga-m68k-hidd-parallel_MCXX_CPPFLAGS := $(amiga-m68k-hidd-parallel_CPPFLAGS) +amiga-m68k-hidd-parallel_CXXFLAGS := $(amiga-m68k-hidd-parallel_CXXFLAGS) +ifeq ($(amiga-m68k-hidd-parallel_DXXFLAGS),) + amiga-m68k-hidd-parallel_DXXFLAGS := $(amiga-m68k-hidd-parallel_CXXFLAGS) +else + amiga-m68k-hidd-parallel_DXXFLAGS := $(amiga-m68k-hidd-parallel_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + amiga-m68k-hidd-parallel_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + amiga-m68k-hidd-parallel_STRIP ?= $(HOST_STRIP) + amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + amiga-m68k-hidd-parallel_CXXCMD:=$(HOST_CXX) + amiga-m68k-hidd-parallel_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(amiga-m68k-hidd-parallel_MCXX_CPPFLAGS) $(amiga-m68k-hidd-parallel_MCXX_EXTRA_CPPFLAGS)) + amiga-m68k-hidd-parallel_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(amiga-m68k-hidd-parallel_CXXFLAGS)) + amiga-m68k-hidd-parallel_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(amiga-m68k-hidd-parallel_DXXFLAGS)) + amiga-m68k-hidd-parallel_CXXIQUOTE:=$(HOST_IQUOTE) + amiga-m68k-hidd-parallel_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + amiga-m68k-hidd-parallel_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + amiga-m68k-hidd-parallel_STRIP ?= $(TARGET_STRIP) + amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + amiga-m68k-hidd-parallel_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + amiga-m68k-hidd-parallel_MCXX_CPPFLAGS := $(strip $(amiga-m68k-hidd-parallel_MCXX_CPPFLAGS) $(amiga-m68k-hidd-parallel_MCXX_EXTRA_CPPFLAGS)) + amiga-m68k-hidd-parallel_CXXFLAGS := $(strip $(amiga-m68k-hidd-parallel_CXXFLAGS) $(SAFETY_CFLAGS)) + amiga-m68k-hidd-parallel_DXXFLAGS := $(amiga-m68k-hidd-parallel_DXXFLAGS) + amiga-m68k-hidd-parallel_CXXIQUOTE:=$(CFLAGS_IQUOTE) + amiga-m68k-hidd-parallel_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + amiga-m68k-hidd-parallel_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + amiga-m68k-hidd-parallel_STRIP ?= $(ECHO) >/dev/null + amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + amiga-m68k-hidd-parallel_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + amiga-m68k-hidd-parallel_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(amiga-m68k-hidd-parallel_MCXX_CPPFLAGS) $(amiga-m68k-hidd-parallel_MCXX_EXTRA_CPPFLAGS)) + amiga-m68k-hidd-parallel_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(amiga-m68k-hidd-parallel_CXXFLAGS)) + amiga-m68k-hidd-parallel_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(amiga-m68k-hidd-parallel_DXXFLAGS)) + amiga-m68k-hidd-parallel_CXXIQUOTE:=$(KERNEL_IQUOTE) + amiga-m68k-hidd-parallel_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(amiga-m68k-hidd-parallel_CXXCMD) $(amiga-m68k-hidd-parallel_CXXIQUOTE) $(dir $(2)) $(amiga-m68k-hidd-parallel_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_CXXIQUOTE) . $(amiga-m68k-hidd-parallel_CXXIQUOTE_END) $(strip $(amiga-m68k-hidd-parallel_CXXFLAGS) $(amiga-m68k-hidd-parallel_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(amiga-m68k-hidd-parallel_CXXCMD) $(amiga-m68k-hidd-parallel_CXXIQUOTE) $(dir $(2)) $(amiga-m68k-hidd-parallel_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_CXXIQUOTE) . $(amiga-m68k-hidd-parallel_CXXIQUOTE_END) $(strip $(amiga-m68k-hidd-parallel_CXXFLAGS) $(amiga-m68k-hidd-parallel_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(amiga-m68k-hidd-parallel_CXXCMD) $(amiga-m68k-hidd-parallel_CXXIQUOTE) $(dir $(2)) $(amiga-m68k-hidd-parallel_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_CXXIQUOTE) . $(amiga-m68k-hidd-parallel_CXXIQUOTE_END) $(strip $(amiga-m68k-hidd-parallel_CXXFLAGS) $(amiga-m68k-hidd-parallel_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(amiga-m68k-hidd-parallel_CXXCMD)" $(MKDEPEND) $(strip $(amiga-m68k-hidd-parallel_DXXFLAGS) $(amiga-m68k-hidd-parallel_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR),) + $(foreach amiga-m68k-hidd-parallel_CXXFILE,$(amiga-m68k-hidd-parallel_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(amiga-m68k-hidd-parallel_CXXFILE))),$(amiga-m68k-hidd-parallel_CXXFILE)))) +else + $(foreach amiga-m68k-hidd-parallel_CXXFILE,$(amiga-m68k-hidd-parallel_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(basename $(amiga-m68k-hidd-parallel_CXXFILE)))),$(amiga-m68k-hidd-parallel_CXXFILE)))) +endif + +endif + + +ifneq ($(amiga-m68k-hidd-parallel_OBJC_NARCHFILES),) + +ifeq (,) +amiga-m68k-hidd-parallel_MOBJC_SRCWILDCARD := % +else +amiga-m68k-hidd-parallel_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR),) + amiga-m68k-hidd-parallel_MOBJC_TARGETS := $(addsuffix .o,$(amiga-m68k-hidd-parallel_OBJC_NARCHFILES)) + amiga-m68k-hidd-parallel_MOBJC_DTARGETS := $(addsuffix .d,$(amiga-m68k-hidd-parallel_OBJC_NARCHFILES)) + amiga-m68k-hidd-parallel_MOBJC_WILDCARD := % +else + amiga-m68k-hidd-parallel_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(amiga-m68k-hidd-parallel_OBJC_NARCHFILES))) + amiga-m68k-hidd-parallel_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(amiga-m68k-hidd-parallel_OBJC_NARCHFILES))) + amiga-m68k-hidd-parallel_MOBJC_WILDCARD := $(amiga-m68k-hidd-parallel_OBJDIR)/% + + # Be sure that all .m files are generated + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : | $(addsuffix .m,$(amiga-m68k-hidd-parallel_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + amiga-m68k-hidd-parallel_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + amiga-m68k-hidd-parallel_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(amiga-m68k-hidd-parallel_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + amiga-m68k-hidd-parallel_MOBJC_DIRS := $(foreach dir, $(amiga-m68k-hidd-parallel_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(amiga-m68k-hidd-parallel_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(amiga-m68k-hidd-parallel_MOBJC_DIRS),) + amiga-m68k-hidd-parallel_MOBJC_DIRS := $(shell echo $(amiga-m68k-hidd-parallel_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(amiga-m68k-hidd-parallel_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + amiga-m68k-hidd-parallel_CC := $(TARGET_CC) +else + amiga-m68k-hidd-parallel_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS := $(amiga-m68k-hidd-parallel_CPPFLAGS) +amiga-m68k-hidd-parallel_OBJCFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +amiga-m68k-hidd-parallel_OBJCFLAGS := $(amiga-m68k-hidd-parallel_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +amiga-m68k-hidd-parallel_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(amiga-m68k-hidd-parallel_OBJCFLAGS))) +ifeq ($(amiga-m68k-hidd-parallel_DFLAGS),) + amiga-m68k-hidd-parallel_OBJCDFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +else + amiga-m68k-hidd-parallel_OBJCDFLAGS := $(amiga-m68k-hidd-parallel_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + amiga-m68k-hidd-parallel_LINK ?= $(strip $(amiga-m68k-hidd-parallel_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + amiga-m68k-hidd-parallel_STRIP ?= $(TARGET_STRIP) + amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : CMD:=$(strip $(amiga-m68k-hidd-parallel_CC) $(TARGET_SYSROOT)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS:=$(strip $(amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MOBJC_EXTRA_CPPFLAGS)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_OBJCFLAGS:=$(strip $(amiga-m68k-hidd-parallel_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_OBJCDFLAGS:=$(amiga-m68k-hidd-parallel_OBJCDFLAGS) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(CFLAGS_IQUOTE) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + amiga-m68k-hidd-parallel_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + amiga-m68k-hidd-parallel_STRIP ?= $(HOST_STRIP) + amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MOBJC_EXTRA_CPPFLAGS)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_OBJCFLAGS)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_OBJCDFLAGS)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(HOST_IQUOTE) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + amiga-m68k-hidd-parallel_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + amiga-m68k-hidd-parallel_STRIP ?= $(ECHO) >/dev/null + amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MOBJC_EXTRA_CPPFLAGS)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_OBJCFLAGS)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_OBJCDFLAGS)) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(KERNEL_IQUOTE) + $(amiga-m68k-hidd-parallel_MOBJC_TARGETS) $(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(amiga-m68k-hidd-parallel_MOBJC_TARGETS) : CPPFLAGS := $(amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS) +$(amiga-m68k-hidd-parallel_MOBJC_TARGETS) : CFLAGS := $(amiga-m68k-hidd-parallel_OBJCFLAGS) +$(amiga-m68k-hidd-parallel_MOBJC_TARGETS) : $(amiga-m68k-hidd-parallel_MOBJC_WILDCARD).o : $(amiga-m68k-hidd-parallel_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(amiga-m68k-hidd-parallel_MOBJC_DTARGETS) : $(amiga-m68k-hidd-parallel_MOBJC_WILDCARD).d : $(amiga-m68k-hidd-parallel_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(amiga-m68k-hidd-parallel_OBJCDFLAGS) $(amiga-m68k-hidd-parallel_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +amiga-m68k-hidd-parallel_MC_SRCWILDCARD := % +else +amiga-m68k-hidd-parallel_MC_SRCWILDCARD := /% +endif + +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR),) +amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(amiga-m68k-hidd-parallel_CCFILES)) +amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(amiga-m68k-hidd-parallel_CCFILES)) +amiga-m68k-hidd-parallel_MC_TGTWILDCARD := % +else +ifeq (no,no) + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(amiga-m68k-hidd-parallel_CCFILES)))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(amiga-m68k-hidd-parallel_CCFILES)))) +else +ifeq (,) + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(amiga-m68k-hidd-parallel_CCFILES))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(amiga-m68k-hidd-parallel_CCFILES))) +else + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(patsubst /%,%,$(amiga-m68k-hidd-parallel_CCFILES)))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(patsubst /%,%,$(amiga-m68k-hidd-parallel_CCFILES)))) +endif +endif +amiga-m68k-hidd-parallel_MC_TGTWILDCARD := $(amiga-m68k-hidd-parallel_OBJDIR)/% + +# Be sure that all .c files are generated +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : | $(addsuffix .c,$(amiga-m68k-hidd-parallel_CCFILES)) + +# Be sure that all .c files are found +amiga-m68k-hidd-parallel_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +amiga-m68k-hidd-parallel_MC_BASEDIRS := $(shell echo $(sort $(dir $(amiga-m68k-hidd-parallel_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +amiga-m68k-hidd-parallel_MC_DIRS := $(foreach dir, $(amiga-m68k-hidd-parallel_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(amiga-m68k-hidd-parallel_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(amiga-m68k-hidd-parallel_MC_DIRS),) + amiga-m68k-hidd-parallel_MC_DIRS := $(shell echo $(amiga-m68k-hidd-parallel_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(amiga-m68k-hidd-parallel_MC_DIRS) +endif + +endif + +amiga-m68k-hidd-parallel_MC_CPPFLAGS := $(amiga-m68k-hidd-parallel_CPPFLAGS) +amiga-m68k-hidd-parallel_CFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +ifeq ($(amiga-m68k-hidd-parallel_DFLAGS),) + amiga-m68k-hidd-parallel_DFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +else + amiga-m68k-hidd-parallel_DFLAGS := $(amiga-m68k-hidd-parallel_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(TARGET_STRIP) +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(amiga-m68k-hidd-parallel_CFLAGS) $(SAFETY_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(amiga-m68k-hidd-parallel_DFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(CFLAGS_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(HOST_STRIP) +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(HOST_CC) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_DFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(HOST_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(ECHO) >/dev/null +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_DFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(KERNEL_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(amiga-m68k-hidd-parallel_MC_TARGETS) : CPPFLAGS := $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) : CFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) : $(amiga-m68k-hidd-parallel_MC_TGTWILDCARD).o : $(amiga-m68k-hidd-parallel_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(amiga-m68k-hidd-parallel_MC_DTARGETS) : $(amiga-m68k-hidd-parallel_MC_TGTWILDCARD).d : $(amiga-m68k-hidd-parallel_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(amiga-m68k-hidd-parallel_DFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +amiga-m68k-hidd-parallel_MC_SRCWILDCARD := % +else +amiga-m68k-hidd-parallel_MC_SRCWILDCARD := /% +endif + +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR),) +amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(amiga-m68k-hidd-parallel_TARGETCCFILES)) +amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(amiga-m68k-hidd-parallel_TARGETCCFILES)) +amiga-m68k-hidd-parallel_MC_TGTWILDCARD := % +else +ifeq (no,no) + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(amiga-m68k-hidd-parallel_TARGETCCFILES)))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(amiga-m68k-hidd-parallel_TARGETCCFILES)))) +else +ifeq (,) + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(amiga-m68k-hidd-parallel_TARGETCCFILES))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(amiga-m68k-hidd-parallel_TARGETCCFILES))) +else + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(patsubst /%,%,$(amiga-m68k-hidd-parallel_TARGETCCFILES)))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(patsubst /%,%,$(amiga-m68k-hidd-parallel_TARGETCCFILES)))) +endif +endif +amiga-m68k-hidd-parallel_MC_TGTWILDCARD := $(amiga-m68k-hidd-parallel_OBJDIR)/% + +# Be sure that all .c files are generated +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : | $(addsuffix .c,$(amiga-m68k-hidd-parallel_TARGETCCFILES)) + +# Be sure that all .c files are found +amiga-m68k-hidd-parallel_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +amiga-m68k-hidd-parallel_MC_BASEDIRS := $(shell echo $(sort $(dir $(amiga-m68k-hidd-parallel_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +amiga-m68k-hidd-parallel_MC_DIRS := $(foreach dir, $(amiga-m68k-hidd-parallel_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(amiga-m68k-hidd-parallel_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(amiga-m68k-hidd-parallel_MC_DIRS),) + amiga-m68k-hidd-parallel_MC_DIRS := $(shell echo $(amiga-m68k-hidd-parallel_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(amiga-m68k-hidd-parallel_MC_DIRS) +endif + +endif + +amiga-m68k-hidd-parallel_MC_CPPFLAGS := $(amiga-m68k-hidd-parallel_CPPFLAGS) -D__AROS__ +amiga-m68k-hidd-parallel_CFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +ifeq ($(amiga-m68k-hidd-parallel_DFLAGS),) + amiga-m68k-hidd-parallel_DFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +else + amiga-m68k-hidd-parallel_DFLAGS := $(amiga-m68k-hidd-parallel_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(TARGET_STRIP) +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(amiga-m68k-hidd-parallel_CFLAGS) $(SAFETY_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(amiga-m68k-hidd-parallel_DFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(CFLAGS_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(HOST_STRIP) +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(HOST_CC) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_DFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(HOST_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(ECHO) >/dev/null +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_DFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(KERNEL_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(amiga-m68k-hidd-parallel_MC_TARGETS) : CPPFLAGS := $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) : CFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) : $(amiga-m68k-hidd-parallel_MC_TGTWILDCARD).o : $(amiga-m68k-hidd-parallel_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(amiga-m68k-hidd-parallel_MC_DTARGETS) : $(amiga-m68k-hidd-parallel_MC_TGTWILDCARD).d : $(amiga-m68k-hidd-parallel_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(amiga-m68k-hidd-parallel_DFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +amiga-m68k-hidd-parallel_MC_SRCWILDCARD := % +else +amiga-m68k-hidd-parallel_MC_SRCWILDCARD := /% +endif + +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR)/linklib,) +amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(amiga-m68k-hidd-parallel_NLIBARCHFILES)) +amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(amiga-m68k-hidd-parallel_NLIBARCHFILES)) +amiga-m68k-hidd-parallel_MC_TGTWILDCARD := % +else +ifeq (no,no) + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(notdir $(amiga-m68k-hidd-parallel_NLIBARCHFILES)))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(notdir $(amiga-m68k-hidd-parallel_NLIBARCHFILES)))) +else +ifeq (,) + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(amiga-m68k-hidd-parallel_NLIBARCHFILES))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(amiga-m68k-hidd-parallel_NLIBARCHFILES))) +else + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(patsubst /%,%,$(amiga-m68k-hidd-parallel_NLIBARCHFILES)))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(patsubst /%,%,$(amiga-m68k-hidd-parallel_NLIBARCHFILES)))) +endif +endif +amiga-m68k-hidd-parallel_MC_TGTWILDCARD := $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : | $(addsuffix .c,$(amiga-m68k-hidd-parallel_NLIBARCHFILES)) + +# Be sure that all .c files are found +amiga-m68k-hidd-parallel_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +amiga-m68k-hidd-parallel_MC_BASEDIRS := $(shell echo $(sort $(dir $(amiga-m68k-hidd-parallel_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +amiga-m68k-hidd-parallel_MC_DIRS := $(foreach dir, $(amiga-m68k-hidd-parallel_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(amiga-m68k-hidd-parallel_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(amiga-m68k-hidd-parallel_MC_DIRS),) + amiga-m68k-hidd-parallel_MC_DIRS := $(shell echo $(amiga-m68k-hidd-parallel_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(amiga-m68k-hidd-parallel_MC_DIRS) +endif + +endif + +amiga-m68k-hidd-parallel_MC_CPPFLAGS := $(amiga-m68k-hidd-parallel_LINKLIBCPPFLAGS) -D__AROS__ +amiga-m68k-hidd-parallel_CFLAGS := $(amiga-m68k-hidd-parallel_LINKLIBCFLAGS) +ifeq ($(amiga-m68k-hidd-parallel_LINKLIBDFLAGS),) + amiga-m68k-hidd-parallel_DFLAGS := $(amiga-m68k-hidd-parallel_LINKLIBCFLAGS) +else + amiga-m68k-hidd-parallel_DFLAGS := $(amiga-m68k-hidd-parallel_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(TARGET_STRIP) +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(amiga-m68k-hidd-parallel_CFLAGS) $(SAFETY_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(amiga-m68k-hidd-parallel_DFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(CFLAGS_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(HOST_STRIP) +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(HOST_CC) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_DFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(HOST_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(ECHO) >/dev/null +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_DFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(KERNEL_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(amiga-m68k-hidd-parallel_MC_TARGETS) : CPPFLAGS := $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) : CFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) : $(amiga-m68k-hidd-parallel_MC_TGTWILDCARD).o : $(amiga-m68k-hidd-parallel_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(amiga-m68k-hidd-parallel_MC_DTARGETS) : $(amiga-m68k-hidd-parallel_MC_TGTWILDCARD).d : $(amiga-m68k-hidd-parallel_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(amiga-m68k-hidd-parallel_DFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR)/linklib,) +amiga-m68k-hidd-parallel_MC_SRCWILDCARD := % +else +amiga-m68k-hidd-parallel_MC_SRCWILDCARD := $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/% +endif + +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR)/linklib,) +amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES)) +amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES)) +amiga-m68k-hidd-parallel_MC_TGTWILDCARD := % +else +ifeq (no,no) + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(notdir $(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES)))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(notdir $(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES)))) +else +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR)/linklib,) + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES))) +else + amiga-m68k-hidd-parallel_MC_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(patsubst $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/%,%,$(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES)))) + amiga-m68k-hidd-parallel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(patsubst $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/%,%,$(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES)))) +endif +endif +amiga-m68k-hidd-parallel_MC_TGTWILDCARD := $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : | $(addsuffix .c,$(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +amiga-m68k-hidd-parallel_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +amiga-m68k-hidd-parallel_MC_BASEDIRS := $(shell echo $(sort $(dir $(amiga-m68k-hidd-parallel_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +amiga-m68k-hidd-parallel_MC_DIRS := $(foreach dir, $(amiga-m68k-hidd-parallel_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(amiga-m68k-hidd-parallel_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(amiga-m68k-hidd-parallel_MC_DIRS),) + amiga-m68k-hidd-parallel_MC_DIRS := $(shell echo $(amiga-m68k-hidd-parallel_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(amiga-m68k-hidd-parallel_MC_DIRS) +endif + +endif + +amiga-m68k-hidd-parallel_MC_CPPFLAGS := $(amiga-m68k-hidd-parallel_LINKLIBCPPFLAGS) -D__AROS__ +amiga-m68k-hidd-parallel_CFLAGS := $(amiga-m68k-hidd-parallel_LINKLIBCFLAGS) +ifeq ($(amiga-m68k-hidd-parallel_LINKLIBDFLAGS),) + amiga-m68k-hidd-parallel_DFLAGS := $(amiga-m68k-hidd-parallel_LINKLIBCFLAGS) +else + amiga-m68k-hidd-parallel_DFLAGS := $(amiga-m68k-hidd-parallel_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(TARGET_STRIP) +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(amiga-m68k-hidd-parallel_CFLAGS) $(SAFETY_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(amiga-m68k-hidd-parallel_DFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(CFLAGS_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(HOST_STRIP) +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(HOST_CC) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(strip $(HOST_CFLAGS) $(amiga-m68k-hidd-parallel_DFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(HOST_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +amiga-m68k-hidd-parallel_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +amiga-m68k-hidd-parallel_STRIP ?= $(ECHO) >/dev/null +amiga-m68k-hidd-parallel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) $(amiga-m68k-hidd-parallel_MC_EXTRA_CPPFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_CFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(amiga-m68k-hidd-parallel_DFLAGS)) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE:=$(KERNEL_IQUOTE) +$(amiga-m68k-hidd-parallel_MC_TARGETS) $(amiga-m68k-hidd-parallel_MC_DTARGETS) : amiga-m68k-hidd-parallel_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(amiga-m68k-hidd-parallel_MC_TARGETS) : CPPFLAGS := $(amiga-m68k-hidd-parallel_MC_CPPFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) : CFLAGS := $(amiga-m68k-hidd-parallel_CFLAGS) +$(amiga-m68k-hidd-parallel_MC_TARGETS) : $(amiga-m68k-hidd-parallel_MC_TGTWILDCARD).o : $(amiga-m68k-hidd-parallel_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(amiga-m68k-hidd-parallel_IQUOTE) $(dir $<) $(amiga-m68k-hidd-parallel_IQUOTE) $(SRCDIR)/$(CURDIR) $(amiga-m68k-hidd-parallel_IQUOTE) . $(amiga-m68k-hidd-parallel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(amiga-m68k-hidd-parallel_MC_DTARGETS) : $(amiga-m68k-hidd-parallel_MC_TGTWILDCARD).d : $(amiga-m68k-hidd-parallel_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(amiga-m68k-hidd-parallel_DFLAGS) $(amiga-m68k-hidd-parallel_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(amiga-m68k-hidd-parallel_LINKLIBAFILES),) + +ifeq ($(amiga-m68k-hidd-parallel_OBJDIR)/linklib,) +amiga-m68k-hidd-parallel-MA_TARGETS := $(addsuffix .o,$(amiga-m68k-hidd-parallel_LINKLIBAFILES) $(amiga-m68k-hidd-parallel_RELLINKLIBAFILES)) +amiga-m68k-hidd-parallel-MA_WILDCARD := % +else +amiga-m68k-hidd-parallel-MA_TARGETS := $(addsuffix .o,$(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(notdir $(amiga-m68k-hidd-parallel_LINKLIBAFILES) $(amiga-m68k-hidd-parallel_RELLINKLIBAFILES)))) +amiga-m68k-hidd-parallel-MA_WILDCARD := $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(amiga-m68k-hidd-parallel-MA_TARGETS) : | $(addsuffix .S,$(amiga-m68k-hidd-parallel_LINKLIBAFILES) $(amiga-m68k-hidd-parallel_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +amiga-m68k-hidd-parallel-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +amiga-m68k-hidd-parallel-MA_BASEDIRS := $(shell echo $(sort $(dir $(amiga-m68k-hidd-parallel_LINKLIBAFILES) $(amiga-m68k-hidd-parallel_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +amiga-m68k-hidd-parallel-MA_DIRS := $(foreach dir, $(amiga-m68k-hidd-parallel-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(amiga-m68k-hidd-parallel-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(amiga-m68k-hidd-parallel-MA_DIRS),) + amiga-m68k-hidd-parallel-MA_DIRS := $(shell echo $(amiga-m68k-hidd-parallel-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(amiga-m68k-hidd-parallel-MA_DIRS) +endif + +endif + +amiga-m68k-hidd-parallel-MA_ASSEMBLER ?= $(amiga-m68k-hidd-parallel_ASSEMBLER) + +$(amiga-m68k-hidd-parallel-MA_TARGETS) : amiga-m68k-hidd-parallel-MA_CMD:= $(amiga-m68k-hidd-parallel-MA_ASSEMBLER) + +$(amiga-m68k-hidd-parallel-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(amiga-m68k-hidd-parallel-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(amiga-m68k-hidd-parallel-MA_TARGETS) : $(amiga-m68k-hidd-parallel-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(amiga-m68k-hidd-parallel-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(amiga-m68k-hidd-parallel-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(amiga-m68k-hidd-parallel-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +amiga-m68k-hidd-parallel_SUFFIX := hidd +else +amiga-m68k-hidd-parallel_SUFFIX := +endif + +ifeq (target,target) +amiga-m68k-hidd-parallel_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +amiga-m68k-hidd-parallel_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +amiga-m68k-hidd-parallel_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(amiga-m68k-hidd-parallel_SUFFIX),handler) +amiga-m68k-hidd-parallel_MODULE := $(AROSDIR)/$(amiga-m68k-hidd-parallel_MODDIR)/$(amiga-m68k-hidd-parallel_DEFNAME)-$(amiga-m68k-hidd-parallel_SUFFIX) +else +amiga-m68k-hidd-parallel_MODULE := $(AROSDIR)/$(amiga-m68k-hidd-parallel_MODDIR)/$(amiga-m68k-hidd-parallel_DEFNAME).$(amiga-m68k-hidd-parallel_SUFFIX) +endif +amiga-m68k-hidd-parallel_KOBJ := $(KOBJSDIR)/$(amiga-m68k-hidd-parallel_DEFNAME)_$(amiga-m68k-hidd-parallel_SUFFIX).o +else +amiga-m68k-hidd-parallel_MODULE := +amiga-m68k-hidd-parallel_KOBJ := +endif + +amiga-m68k-hidd-parallel-quick : amiga-m68k-hidd-parallel +amiga-m68k-hidd-parallel : $(amiga-m68k-hidd-parallel_MODULE) $(amiga-m68k-hidd-parallel_LINKLIB) $(amiga-m68k-hidd-parallel_RELLINKLIB) +ifeq (M,M) +amiga-m68k-hidd-parallel-kobj : $(amiga-m68k-hidd-parallel_KOBJ) $(amiga-m68k-hidd-parallel_LINKLIB) $(amiga-m68k-hidd-parallel_RELLINKLIB) +amiga-m68k-hidd-parallel-kobj-quick : $(amiga-m68k-hidd-parallel_KOBJ) $(amiga-m68k-hidd-parallel_LINKLIB) $(amiga-m68k-hidd-parallel_RELLINKLIB) +endif +ifeq (M,M) +amiga-m68k-hidd-parallel-linklib : $(amiga-m68k-hidd-parallel_LINKLIB) $(amiga-m68k-hidd-parallel_RELLINKLIB) +endif + +amiga-m68k-hidd-parallel_OBJS := $(addsuffix .o,$(amiga-m68k-hidd-parallel_STARTFILES)) $(amiga-m68k-hidd-parallel_ARCHOBJS) \ + $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(amiga-m68k-hidd-parallel_C_NARCHFILES:=.o) $(amiga-m68k-hidd-parallel_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +amiga-m68k-hidd-parallel_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (parallel,con) + amiga-m68k-hidd-parallel_ERR := $(notdir $(amiga-m68k-hidd-parallel_MODULE)).err +else + amiga-m68k-hidd-parallel_ERR := parallel.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(amiga-m68k-hidd-parallel_DEFNAME)_LDFLAGS) $(amiga-m68k-hidd-parallel_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(amiga-m68k-hidd-parallel_LIBS) $($(amiga-m68k-hidd-parallel_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(amiga-m68k-hidd-parallel_MODULE) : LIB_NAMES := $(amiga-m68k-hidd-parallel_LIBS) $($(amiga-m68k-hidd-parallel_DEFNAME)_LIBS) +$(amiga-m68k-hidd-parallel_MODULE) : OBJS := $(amiga-m68k-hidd-parallel_STARTOBJS) $(amiga-m68k-hidd-parallel_OBJS) $(USER_OBJS) +$(amiga-m68k-hidd-parallel_MODULE) : ENDTAG := $(amiga-m68k-hidd-parallel_ENDOBJS) +$(amiga-m68k-hidd-parallel_MODULE) : ERR := $(amiga-m68k-hidd-parallel_ERR) +$(amiga-m68k-hidd-parallel_MODULE) : OBJDIR := $(amiga-m68k-hidd-parallel_OBJDIR) +$(amiga-m68k-hidd-parallel_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(amiga-m68k-hidd-parallel_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(amiga-m68k-hidd-parallel_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(amiga-m68k-hidd-parallel_MODULE) : $(amiga-m68k-hidd-parallel_STARTOBJS) $(amiga-m68k-hidd-parallel_OBJS) $(USER_OBJS) $(amiga-m68k-hidd-parallel_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(amiga-m68k-hidd-parallel_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(amiga-m68k-hidd-parallel_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +amiga-m68k-hidd-parallel_LC_LINKLIBNAME := $(shell echo $(amiga-m68k-hidd-parallel_LINKLIBNAME) | tr A-Z a-z) +amiga-m68k-hidd-parallel_LC_MODNAME := $(shell echo parallel | tr A-Z a-z) +ifneq ($(amiga-m68k-hidd-parallel_LINKLIB),) + +ifeq (target,target) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(HOST_AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(KERNEL_AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(KERNEL_RANLIB) +endif + +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : $(amiga-m68k-hidd-parallel_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(amiga-m68k-hidd-parallel_AR) $@ $^ + $(Q)$(amiga-m68k-hidd-parallel_RANLIB) $@ +ifneq ($(amiga-m68k-hidd-parallel_LC_MODNAME),$(amiga-m68k-hidd-parallel_LC_LINKLIBNAME)) + +ifeq (target,target) +$(amiga-m68k-hidd-parallel_LIBDIR)/libparallel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/libparallel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(amiga-m68k-hidd-parallel_LIBDIR)/libparallel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(HOST_AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/libparallel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(amiga-m68k-hidd-parallel_LIBDIR)/libparallel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(KERNEL_AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/libparallel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(KERNEL_RANLIB) +endif + +$(amiga-m68k-hidd-parallel_LIBDIR)/libparallel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : $(amiga-m68k-hidd-parallel_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(amiga-m68k-hidd-parallel_AR) $@ $^ + $(Q)$(amiga-m68k-hidd-parallel_RANLIB) $@ +endif + + +ifneq ($(amiga-m68k-hidd-parallel_LINKLIB),) +$(amiga-m68k-hidd-parallel_LINKLIB) : | $(amiga-m68k-hidd-parallel_LIBDIR) +else +$(amiga-m68k-hidd-parallel_LINKLIB) :: $(amiga-m68k-hidd-parallel_LIBDIR) +endif + +GLOB_MKDIRS += $(amiga-m68k-hidd-parallel_LIBDIR) + +endif + +ifneq ($(amiga-m68k-hidd-parallel_RELLINKLIB),) + +ifeq (target,target) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(HOST_AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(KERNEL_AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(KERNEL_RANLIB) +endif + +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_LINKLIBNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : $(amiga-m68k-hidd-parallel_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(amiga-m68k-hidd-parallel_AR) $@ $^ + $(Q)$(amiga-m68k-hidd-parallel_RANLIB) $@ +ifneq ($(amiga-m68k-hidd-parallel_LC_MODNAME),$(amiga-m68k-hidd-parallel_LC_LINKLIBNAME)) + +ifeq (target,target) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_DEFNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_DEFNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_DEFNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(HOST_AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_DEFNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_DEFNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_AR:=$(KERNEL_AR) +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_DEFNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : amiga-m68k-hidd-parallel_RANLIB:=$(KERNEL_RANLIB) +endif + +$(amiga-m68k-hidd-parallel_LIBDIR)/lib$(amiga-m68k-hidd-parallel_DEFNAME)_rel$(amiga-m68k-hidd-parallel_LIBSUFFIX).a : $(amiga-m68k-hidd-parallel_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(amiga-m68k-hidd-parallel_AR) $@ $^ + $(Q)$(amiga-m68k-hidd-parallel_RANLIB) $@ +endif + + +ifneq ($(amiga-m68k-hidd-parallel_RELLINKLIB),) +$(amiga-m68k-hidd-parallel_RELLINKLIB) : | $(amiga-m68k-hidd-parallel_LIBDIR) +else +$(amiga-m68k-hidd-parallel_RELLINKLIB) :: $(amiga-m68k-hidd-parallel_LIBDIR) +endif + +GLOB_MKDIRS += $(amiga-m68k-hidd-parallel_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +amiga-m68k-hidd-parallel_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +amiga-m68k-hidd-parallel_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +amiga-m68k-hidd-parallel_SYMBOLS := $(amiga-m68k-hidd-parallel_KBASE) + +amiga-m68k-hidd-parallel_KLIB := hiddstubs amiga arossupport autoinit libinit +amiga-m68k-hidd-parallel_KOBJ_LIBS := $(filter-out $(amiga-m68k-hidd-parallel_KLIB),$(amiga-m68k-hidd-parallel_LIBS)) $(amiga-m68k-hidd-parallel_KAUTOLIB) +$(amiga-m68k-hidd-parallel_KOBJ) : LINKLIBS:=$(amiga-m68k-hidd-parallel_KOBJ_LIBS) $($(amiga-m68k-hidd-parallel_DEFNAME)_LIBS) +$(amiga-m68k-hidd-parallel_KOBJ) : FILTBASES:=$(addprefix -L ,$(amiga-m68k-hidd-parallel_SYMBOLS)) +$(amiga-m68k-hidd-parallel_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(amiga-m68k-hidd-parallel_KOBJ) : $(amiga-m68k-hidd-parallel_OBJS) $(USER_OBJS) $(amiga-m68k-hidd-parallel_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +amiga-m68k-hidd-parallel_DEPS := $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/,$(notdir $(amiga-m68k-hidd-parallel_CCFILES:=.d) $(amiga-m68k-hidd-parallel_TARGETCCFILES:=.d) $(amiga-m68k-hidd-parallel_CXXFILES:=.d))) $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/linklib/,$(notdir $(amiga-m68k-hidd-parallel_LINKLIBCCFILES:=.d))) + +ifneq ($(amiga-m68k-hidd-parallel_DEPS),) + ifneq (amiga-m68k-hidd-parallel amiga-m68k-hidd-parallel-quick amiga-m68k-hidd-parallel-kobj amiga-m68k-hidd-parallel-kobj-quick,) + ifneq ($(findstring $(TARGET),amiga-m68k-hidd-parallel amiga-m68k-hidd-parallel-quick amiga-m68k-hidd-parallel-kobj amiga-m68k-hidd-parallel-kobj-quick),) + -include $(amiga-m68k-hidd-parallel_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(amiga-m68k-hidd-parallel_DEPS) + endif + endif +endif + +$(amiga-m68k-hidd-parallel_OBJS) $(amiga-m68k-hidd-parallel_DEPS) : | $(amiga-m68k-hidd-parallel_OBJDIR)/linklib + +ifneq ($(amiga-m68k-hidd-parallel_OBJS) $(amiga-m68k-hidd-parallel_DEPS) $(amiga-m68k-hidd-parallel_MODULE) $(amiga-m68k-hidd-parallel_KOBJ),) +$(amiga-m68k-hidd-parallel_OBJS) $(amiga-m68k-hidd-parallel_DEPS) $(amiga-m68k-hidd-parallel_MODULE) $(amiga-m68k-hidd-parallel_KOBJ) : | $(amiga-m68k-hidd-parallel_OBJDIR) $(AROSDIR)/$(amiga-m68k-hidd-parallel_MODDIR) $(KOBJSDIR) +else +$(amiga-m68k-hidd-parallel_OBJS) $(amiga-m68k-hidd-parallel_DEPS) $(amiga-m68k-hidd-parallel_MODULE) $(amiga-m68k-hidd-parallel_KOBJ) :: $(amiga-m68k-hidd-parallel_OBJDIR) $(AROSDIR)/$(amiga-m68k-hidd-parallel_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(amiga-m68k-hidd-parallel_OBJDIR) $(AROSDIR)/$(amiga-m68k-hidd-parallel_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),amiga-m68k-hidd-parallel amiga-m68k-hidd-parallel-includes amiga-m68k-hidd-parallel-quick amiga-m68k-hidd-parallel-kobj amiga-m68k-hidd-parallel-kobj-quick),) # Only for this target these deps are wanted + +amiga-m68k-hidd-parallel_DFILE_DEPS := $(amiga-m68k-hidd-parallel_LIBDEFSINC) $(amiga-m68k-hidd-parallel_DEFLIBDEFSINC) \ + $(addprefix $(amiga-m68k-hidd-parallel_INCDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) +$(amiga-m68k-hidd-parallel_DEPS) : $(amiga-m68k-hidd-parallel_DFILE_DEPS) +endif + +amiga-m68k-hidd-parallel_TOCLEAN := $(amiga-m68k-hidd-parallel_OBJS) $(amiga-m68k-hidd-parallel_DEPS) \ + $(amiga-m68k-hidd-parallel_MODULE) $(amiga-m68k-hidd-parallel_LINKLIB) $(amiga-m68k-hidd-parallel_KOBJ) \ + $(amiga-m68k-hidd-parallel_OBJDIR)/Makefile.parallelhidd \ + $(addprefix $(amiga-m68k-hidd-parallel_OBJDIR)/include/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) \ + $(addprefix $(amiga-m68k-hidd-parallel_INCDIR)/,$($(amiga-m68k-hidd-parallel_DEFNAME)_INCLUDES)) \ + $(amiga-m68k-hidd-parallel_OBJDIR)/parallel_geninc $(amiga-m68k-hidd-parallel_OBJDIR)/parallel_incs \ + $(addsuffix .c,$(amiga-m68k-hidd-parallel_LINKLIBFILES)) $(amiga-m68k-hidd-parallel_LINKLIBOBJS) $(amiga-m68k-hidd-parallel_LIBDEFSINC) \ + $(amiga-m68k-hidd-parallel_DEFLIBDEFSINC) $(addsuffix .c,$(amiga-m68k-hidd-parallel_STARTFILES) $(amiga-m68k-hidd-parallel_ENDFILES)) \ + $(amiga-m68k-hidd-parallel_ENDOBJS) +amiga-m68k-hidd-parallel-clean : FILES := $(amiga-m68k-hidd-parallel_TOCLEAN) +amiga-m68k-hidd-parallel-clean :: + $(Q)$(ECHO) "Cleaning up for module parallel" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(amiga-m68k-hidd-parallel_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/sagagfx/mmakefile b/arch/m68k-amiga/hidd/sagagfx/mmakefile new file mode 100644 index 00000000000..a595b989793 --- /dev/null +++ b/arch/m68k-amiga/hidd/sagagfx/mmakefile @@ -0,0 +1,1670 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM hidd-m68k-sagagfx : kernel-hidd-gfx-includes devs-monitors-wrapper + +USER_LDFLAGS := -static + +SAGA_HIDD_SOURCES := \ + sagagfx_init \ + sagagfx_hw \ + sagagfx_hw_v4 \ + sagagfx_hw_v2 \ + sagagfx_hiddclass \ + sagagfx_onbitmap + +# USER_CFLAGS += -m68020 + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM hidd-m68k-sagagfx +#MM hidd-m68k-sagagfx-quick +#MM hidd-m68k-sagagfx-makefile +#MM hidd-m68k-sagagfx-clean + +# ABI targets: +#MM- includes-all : hidd-m68k-sagagfx-includes +#MM- linklibs-sagagfx: hidd-m68k-sagagfx-linklib +#MM- linklibs-sagagfx_rel : hidd-m68k-sagagfx-linklib +#MM- includes-sagagfx: hidd-m68k-sagagfx-includes +#MM- includes-sagagfx_rel : hidd-m68k-sagagfx-includes +#MM- hidd-m68k-sagagfx : hidd-m68k-sagagfx-includes core-linklibs linklibs- +#MM hidd-m68k-sagagfx-linklib : hidd-m68k-sagagfx-includes includes- +#MM- hidd-m68k-sagagfx-quick : hidd-m68k-sagagfx-includes-quick +#MM hidd-m68k-sagagfx-includes : hidd-m68k-sagagfx-makefile hidd-m68k-sagagfx-includes-dirs \ +#MM includes-generate-deps hidd-m68k-sagagfx-fd +#MM hidd-m68k-sagagfx-includes-quick +#MM hidd-m68k-sagagfx-includes-dirs +#MM hidd-m68k-sagagfx-fd + +# Library targets +#MM hidd-m68k-sagagfx-kobj : core-linklibs linklibs- +#MM hidd-m68k-sagagfx-kobj-quick : + +# Library with ABI targets: +#MM hidd-m68k-sagagfx-kobj : hidd-m68k-sagagfx-includes core-linklibs linklibs- +#MM hidd-m68k-sagagfx-kobj-quick : hidd-m68k-sagagfx-includes-quick + +# All MetaMake targets defined by this macro +hidd-m68k-sagagfx_ALLTARGETS := hidd-m68k-sagagfx hidd-m68k-sagagfx-quick hidd-m68k-sagagfx-clean + +ifeq (M,M) +hidd-m68k-sagagfx_ALLTARGETS += hidd-m68k-sagagfx-kobj hidd-m68k-sagagfx-kobj-quick +endif + +ifeq (M,M) +hidd-m68k-sagagfx_ALLTARGETS += hidd-m68k-sagagfx-includes \ + hidd-m68k-sagagfx-includes-quick hidd-m68k-sagagfx-includes-dirs \ + hidd-m68k-sagagfx-linklib hidd-m68k-sagagfx-fd +endif + +.PHONY : $(hidd-m68k-sagagfx_ALLTARGETS) hidd-m68k-sagagfx-makefile + +ifeq (sagagfx,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + hidd-m68k-sagagfx_DEFNAME := sagagfx_ +else + hidd-m68k-sagagfx_DEFNAME := sagagfx +endif +hidd-m68k-sagagfx_DEFLINKLIBNAME := $(hidd-m68k-sagagfx_DEFNAME) +ifneq (,) + hidd-m68k-sagagfx_LINKLIBNAME := +else + hidd-m68k-sagagfx_LINKLIBNAME = $(hidd-m68k-sagagfx_DEFLINKLIBNAME) +endif +hidd-m68k-sagagfx_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + hidd-m68k-sagagfx_DEFCPPFLAGS += -I +endif +hidd-m68k-sagagfx_DEFDFLAGS := $(CFLAGS) +ifneq (,) + hidd-m68k-sagagfx_DFLAGS := +else + hidd-m68k-sagagfx_DFLAGS = $(hidd-m68k-sagagfx_DEFDFLAGS) +endif +hidd-m68k-sagagfx_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + hidd-m68k-sagagfx_DXXFLAGS := +else + hidd-m68k-sagagfx_DXXFLAGS = $(hidd-m68k-sagagfx_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +hidd-m68k-sagagfx_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(hidd-m68k-sagagfx_DEFDFLAGS)) +hidd-m68k-sagagfx_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(hidd-m68k-sagagfx_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +hidd-m68k-sagagfx_FUNCINSTR := yes +hidd-m68k-sagagfx_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(hidd-m68k-sagagfx_DEFDFLAGS)) +hidd-m68k-sagagfx_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(hidd-m68k-sagagfx_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +hidd-m68k-sagagfx_OBJDIR := +else +hidd-m68k-sagagfx_OBJDIR := $(OBJDIR)/$(hidd-m68k-sagagfx_DEFNAME) +endif +ifneq (,) +hidd-m68k-sagagfx_OBJDIR := $(hidd-m68k-sagagfx_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +hidd-m68k-sagagfx-makefile := $(hidd-m68k-sagagfx_OBJDIR)/Makefile.$(hidd-m68k-sagagfx_DEFNAME)hidd +hidd-m68k-sagagfx-genmakefile : $(hidd-m68k-sagagfx-makefile) + + +hidd-m68k-sagagfx-genmakefile_OPTS := +ifneq (,) + hidd-m68k-sagagfx-genmakefile_OPTS += -f + hidd-m68k-sagagfx-genmakefile_MODNAME := sagagfx_ +else + hidd-m68k-sagagfx-genmakefile_MODNAME := sagagfx +endif +hidd-m68k-sagagfx-genmakefile_TARGET := Makefile.$(hidd-m68k-sagagfx-genmakefile_MODNAME)hidd +hidd-m68k-sagagfx-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + hidd-m68k-sagagfx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + hidd-m68k-sagagfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-m68k-sagagfx-genmakefile_OPTS += -c + hidd-m68k-sagagfx-genmakefile_DEPS += + endif +else + hidd-m68k-sagagfx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/sagagfx.conf + hidd-m68k-sagagfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/sagagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + hidd-m68k-sagagfx-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + hidd-m68k-sagagfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-m68k-sagagfx-genmakefile_OPTS += -o + hidd-m68k-sagagfx-genmakefile_DEPS += + endif +endif +ifneq (,) + hidd-m68k-sagagfx-genmakefile_OPTS += -s +endif +ifneq ($(hidd-m68k-sagagfx_OBJDIR),) + hidd-m68k-sagagfx-genmakefile_OPTS += -d $(hidd-m68k-sagagfx_OBJDIR) + hidd-m68k-sagagfx-genmakefile_TARGET := $(hidd-m68k-sagagfx_OBJDIR)/$(hidd-m68k-sagagfx-genmakefile_TARGET) +endif + +$(hidd-m68k-sagagfx-genmakefile_TARGET) : OPTS := $(hidd-m68k-sagagfx-genmakefile_OPTS) +$(hidd-m68k-sagagfx-genmakefile_TARGET) : MODNAME := sagagfx +$(hidd-m68k-sagagfx-genmakefile_TARGET) : MODTYPE := hidd +$(hidd-m68k-sagagfx-genmakefile_TARGET) : $(hidd-m68k-sagagfx-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(hidd-m68k-sagagfx-makefile),) +$(hidd-m68k-sagagfx-makefile) : | $(hidd-m68k-sagagfx_OBJDIR) +else +$(hidd-m68k-sagagfx-makefile) :: $(hidd-m68k-sagagfx_OBJDIR) +endif + +GLOB_MKDIRS += $(hidd-m68k-sagagfx_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(hidd-m68k-sagagfx_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(hidd-m68k-sagagfx-makefile) + +hidd-m68k-sagagfx_DEFMODDIR := $($(hidd-m68k-sagagfx_DEFNAME)_MODDIR) +ifeq (no,yes) +hidd-m68k-sagagfx_DEFMODDIR := $(AROS_DIR_ARCH)/$(hidd-m68k-sagagfx_DEFMODDIR) +endif +ifneq (,) + hidd-m68k-sagagfx_MODDIR := +else + hidd-m68k-sagagfx_MODDIR := $(hidd-m68k-sagagfx_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +hidd-m68k-sagagfx_INCDIR := +else +hidd-m68k-sagagfx_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +hidd-m68k-sagagfx_LIBDEFSINC := $(hidd-m68k-sagagfx_OBJDIR)/include/$(hidd-m68k-sagagfx_DEFNAME)_libdefs.h +hidd-m68k-sagagfx_DEFLIBDEFSINC := $(hidd-m68k-sagagfx_OBJDIR)/include/$(hidd-m68k-sagagfx_DEFNAME)_deflibdefs.h + +ifeq (M,M) +hidd-m68k-sagagfx-includes-quick : hidd-m68k-sagagfx-includes +hidd-m68k-sagagfx-includes : $(addprefix $(GENINCDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(hidd-m68k-sagagfx_INCDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) \ + $(hidd-m68k-sagagfx_LIBDEFSINC) $(hidd-m68k-sagagfx_DEFLIBDEFSINC) + +ifneq ($($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES),) + +ifneq (,) + hidd-m68k-sagagfx-includes_MODNAME := sagagfx_ +else + hidd-m68k-sagagfx-includes_MODNAME := sagagfx +endif + +ifneq ($($(hidd-m68k-sagagfx-includes_MODNAME)_INCLUDES),) + +hidd-m68k-sagagfx-includes_TARGETS := $($(hidd-m68k-sagagfx-includes_MODNAME)_INCLUDES) + +hidd-m68k-sagagfx-includes_DEPS := $(GENMODULE) +hidd-m68k-sagagfx-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + hidd-m68k-sagagfx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + hidd-m68k-sagagfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-m68k-sagagfx-includes_OPTS += -c + hidd-m68k-sagagfx-includes_DEPS += + endif +else + hidd-m68k-sagagfx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/sagagfx.conf + hidd-m68k-sagagfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/sagagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + hidd-m68k-sagagfx-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + hidd-m68k-sagagfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-m68k-sagagfx-includes_OPTS += -o + hidd-m68k-sagagfx-includes_DEPS += + endif +endif +ifneq (,) + hidd-m68k-sagagfx-includes_OPTS += -s +endif +ifneq ($(hidd-m68k-sagagfx_OBJDIR)/include,) + hidd-m68k-sagagfx-includes_OPTS += -d $(hidd-m68k-sagagfx_OBJDIR)/include + hidd-m68k-sagagfx-includes_TARGETS := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/include/,$(hidd-m68k-sagagfx-includes_TARGETS)) + hidd-m68k-sagagfx-includes_GENINCFLAG=$(hidd-m68k-sagagfx_OBJDIR)/include/.sagagfx.hidd-includes +else + hidd-m68k-sagagfx-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.sagagfx.hidd-includes +endif + +$(hidd-m68k-sagagfx-includes_TARGETS) : $(hidd-m68k-sagagfx-includes_DEPS) $(hidd-m68k-sagagfx-includes_GENINCFLAG) + +$(hidd-m68k-sagagfx-includes_GENINCFLAG) : OPTS := $(hidd-m68k-sagagfx-includes_OPTS) +$(hidd-m68k-sagagfx-includes_GENINCFLAG) : MODNAME := sagagfx +$(hidd-m68k-sagagfx-includes_GENINCFLAG) : MODTYPE := hidd +$(hidd-m68k-sagagfx-includes_GENINCFLAG) : $(hidd-m68k-sagagfx-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(hidd-m68k-sagagfx_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) : | $(hidd-m68k-sagagfx_OBJDIR)/sagagfx_geninc + +$(hidd-m68k-sagagfx_OBJDIR)/sagagfx_geninc : COPYSRCDIR := $(hidd-m68k-sagagfx_OBJDIR)/include +$(hidd-m68k-sagagfx_OBJDIR)/sagagfx_geninc : TGTDIR := $(GENINCDIR) +$(hidd-m68k-sagagfx_OBJDIR)/sagagfx_geninc : FILES := $($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES) +$(hidd-m68k-sagagfx_OBJDIR)/sagagfx_geninc : $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/include/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(hidd-m68k-sagagfx_OBJDIR)/include + +$(addprefix $(hidd-m68k-sagagfx_INCDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) : | $(hidd-m68k-sagagfx_OBJDIR)/sagagfx_incs + +$(hidd-m68k-sagagfx_OBJDIR)/sagagfx_incs : COPYSRCDIR := $(hidd-m68k-sagagfx_OBJDIR)/include +$(hidd-m68k-sagagfx_OBJDIR)/sagagfx_incs : TGTDIR := $(hidd-m68k-sagagfx_INCDIR) +$(hidd-m68k-sagagfx_OBJDIR)/sagagfx_incs : FILES := $($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES) +$(hidd-m68k-sagagfx_OBJDIR)/sagagfx_incs : $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/include/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +hidd-m68k-sagagfx_INCDIRS := $(filter-out ./,$(sort $(dir $($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)))) + +TMPsagagfx_INCDIRS := \ + $(hidd-m68k-sagagfx_OBJDIR)/include $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/include/,$(hidd-m68k-sagagfx_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(hidd-m68k-sagagfx_INCDIRS)) \ + $(hidd-m68k-sagagfx_INCDIR) $(addprefix $(hidd-m68k-sagagfx_INCDIR)/,$(hidd-m68k-sagagfx_INCDIRS)) + +ifneq (hidd-m68k-sagagfx-includes-dirs,) +hidd-m68k-sagagfx-includes-dirs : | $(TMPsagagfx_INCDIRS) +else +hidd-m68k-sagagfx-includes-dirs :: $(TMPsagagfx_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPsagagfx_INCDIRS) + + +endif + +endif + + +hidd-m68k-sagagfx-genlibdefs_OPTS := +ifneq (,) + hidd-m68k-sagagfx-genlibdefs_OPTS += -f + hidd-m68k-sagagfx-genlibdefs_MODNAME := sagagfx_ +else + hidd-m68k-sagagfx-genlibdefs_MODNAME := sagagfx +endif +hidd-m68k-sagagfx-genlibdefs_TARGET := $(hidd-m68k-sagagfx-genlibdefs_MODNAME)_libdefs.h +hidd-m68k-sagagfx-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + hidd-m68k-sagagfx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + hidd-m68k-sagagfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-m68k-sagagfx-genlibdefs_OPTS += -c + hidd-m68k-sagagfx-genlibdefs_DEPS += + endif +else + hidd-m68k-sagagfx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/sagagfx.conf + hidd-m68k-sagagfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/sagagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + hidd-m68k-sagagfx-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + hidd-m68k-sagagfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-m68k-sagagfx-genlibdefs_OPTS += -o + hidd-m68k-sagagfx-genlibdefs_DEPS += + endif +endif +ifneq (,) + hidd-m68k-sagagfx-genlibdefs_OPTS += -s +endif +ifneq ($(hidd-m68k-sagagfx_OBJDIR)/include,) + hidd-m68k-sagagfx-genlibdefs_OPTS += -d $(hidd-m68k-sagagfx_OBJDIR)/include + hidd-m68k-sagagfx-genlibdefs_TARGET := $(hidd-m68k-sagagfx_OBJDIR)/include/$(hidd-m68k-sagagfx-genlibdefs_TARGET) +endif +ifneq (,) + hidd-m68k-sagagfx-genlibdefs_OPTS += -v +endif + +$(hidd-m68k-sagagfx-genlibdefs_TARGET) : OPTS := $(hidd-m68k-sagagfx-genlibdefs_OPTS) +$(hidd-m68k-sagagfx-genlibdefs_TARGET) : MODNAME := sagagfx +$(hidd-m68k-sagagfx-genlibdefs_TARGET) : MODTYPE := hidd +$(hidd-m68k-sagagfx-genlibdefs_TARGET) : $(hidd-m68k-sagagfx-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(hidd-m68k-sagagfx_DEFLIBDEFSINC) : FILENAME := $(hidd-m68k-sagagfx_LIBDEFSINC) +$(hidd-m68k-sagagfx_DEFLIBDEFSINC) : $(hidd-m68k-sagagfx_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(hidd-m68k-sagagfx_LIBDEFSINC) $(hidd-m68k-sagagfx_DEFLIBDEFSINC) : | $(hidd-m68k-sagagfx_OBJDIR)/include + +ifneq (hidd-m68k-sagagfx-includes-dirs,) +hidd-m68k-sagagfx-includes-dirs : | $(hidd-m68k-sagagfx_OBJDIR)/include +else +hidd-m68k-sagagfx-includes-dirs :: $(hidd-m68k-sagagfx_OBJDIR)/include +endif + +GLOB_MKDIRS += $(hidd-m68k-sagagfx_OBJDIR)/include + + +## Extra genmodule src files generation +## + +hidd-m68k-sagagfx-genmodfiles_OPTS := +ifneq (,) + hidd-m68k-sagagfx-genmodfiles_OPTS += -f + hidd-m68k-sagagfx-genmodfiles_MODNAME := sagagfx_ +else + hidd-m68k-sagagfx-genmodfiles_MODNAME := sagagfx +endif +hidd-m68k-sagagfx-genmodfiles_GENTARGETS := $($(hidd-m68k-sagagfx-genmodfiles_MODNAME)_STARTFILES) $($(hidd-m68k-sagagfx-genmodfiles_MODNAME)_ENDFILES) +hidd-m68k-sagagfx-genmodfiles_STUBTARGETS := $($(hidd-m68k-sagagfx-genmodfiles_MODNAME)_LINKLIBFILES) $($(hidd-m68k-sagagfx-genmodfiles_MODNAME)_RELLINKLIBFILES) +hidd-m68k-sagagfx-genmodfiles_GENTARGETS := $(addsuffix .c,$(hidd-m68k-sagagfx-genmodfiles_GENTARGETS)) +hidd-m68k-sagagfx-genmodfiles_STUBTARGETS := $(addsuffix .c,$(hidd-m68k-sagagfx-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(hidd-m68k-sagagfx-genmodfiles_MODNAME)_LINKLIBAFILES) $($(hidd-m68k-sagagfx-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +hidd-m68k-sagagfx-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + hidd-m68k-sagagfx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + hidd-m68k-sagagfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-m68k-sagagfx-genmodfiles_OPTS += -c + hidd-m68k-sagagfx-genmodfiles_DEPS += + endif +else + hidd-m68k-sagagfx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/sagagfx.conf + hidd-m68k-sagagfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/sagagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + hidd-m68k-sagagfx-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + hidd-m68k-sagagfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-m68k-sagagfx-genmodfiles_OPTS += -o + hidd-m68k-sagagfx-genmodfiles_DEPS += + endif +endif +ifneq (,) + hidd-m68k-sagagfx-genmodfiles_OPTS += -s +endif +ifneq ($(hidd-m68k-sagagfx_OBJDIR),) + hidd-m68k-sagagfx-genmodfiles_OPTS += -d $(hidd-m68k-sagagfx_OBJDIR) + hidd-m68k-sagagfx-genmodfiles_TARGETDIR := $(shell echo $(hidd-m68k-sagagfx_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + hidd-m68k-sagagfx-genmodfiles_GENTARGETS := $(addprefix $(hidd-m68k-sagagfx-genmodfiles_TARGETDIR)/,$(hidd-m68k-sagagfx-genmodfiles_GENTARGETS)) + hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG=$(hidd-m68k-sagagfx-genmodfiles_TARGETDIR)/.sagagfx.hidd-genfiles +else + hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.sagagfx.hidd-genfiles +endif +ifneq ($(hidd-m68k-sagagfx_OBJDIR)/linklib,) + hidd-m68k-sagagfx-genmodfiles_OPTS += -l $(hidd-m68k-sagagfx_OBJDIR)/linklib + hidd-m68k-sagagfx-genmodfiles_STUBTARGETDIR := $(shell echo $(hidd-m68k-sagagfx_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + hidd-m68k-sagagfx-genmodfiles_STUBTARGETS := $(addprefix $(hidd-m68k-sagagfx-genmodfiles_STUBTARGETDIR)/,$(hidd-m68k-sagagfx-genmodfiles_STUBTARGETS)) + hidd-m68k-sagagfx-genmodfiles_TARGETDIRS += $(hidd-m68k-sagagfx_OBJDIR)/linklib +else +ifneq ($(hidd-m68k-sagagfx_OBJDIR),) + hidd-m68k-sagagfx-genmodfiles_STUBTARGETS := $(addprefix $(hidd-m68k-sagagfx-genmodfiles_TARGETDIR)/,$(hidd-m68k-sagagfx-genmodfiles_STUBTARGETS)) +endif +endif + +hidd-m68k-sagagfx-genmodfiles_TARGETS := $(hidd-m68k-sagagfx-genmodfiles_GENTARGETS) $(hidd-m68k-sagagfx-genmodfiles_STUBTARGETS) +ifneq ($(hidd-m68k-sagagfx-genmodfiles_TARGETDIRS),) +$(hidd-m68k-sagagfx-genmodfiles_TARGETS) : | $(hidd-m68k-sagagfx-genmodfiles_TARGETDIRS) +endif + +$(hidd-m68k-sagagfx-genmodfiles_TARGETS) : $(hidd-m68k-sagagfx-genmodfiles_DEPS) $(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG) + +$(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG) : OPTS := $(hidd-m68k-sagagfx-genmodfiles_OPTS) +$(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG) : MODNAME := sagagfx +$(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG) : $(hidd-m68k-sagagfx-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG) : $(hidd-m68k-sagagfx_DEFLIBDEFSINC) $(hidd-m68k-sagagfx-makefile) + + +ifneq ($(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG),) +$(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG) : | $(hidd-m68k-sagagfx_OBJDIR)/linklib +else +$(hidd-m68k-sagagfx-genmodfiles_GENFILEFLAG) :: $(hidd-m68k-sagagfx_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(hidd-m68k-sagagfx_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +hidd-m68k-sagagfx_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +hidd-m68k-sagagfx_FDDIR := /../$(AROS_DIR_FD) +endif +hidd-m68k-sagagfx-fd : $(hidd-m68k-sagagfx_FDDIR)/sagagfx_lib.fd + + +TMP_TARGET := sagagfx_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/sagagfx.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/sagagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(hidd-m68k-sagagfx_FDDIR),) + TMP_OPTS += -d $(hidd-m68k-sagagfx_FDDIR) + TMP_TARGET := $(hidd-m68k-sagagfx_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := sagagfx +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(hidd-m68k-sagagfx_FDDIR)/sagagfx_lib.fd : | $(hidd-m68k-sagagfx_FDDIR) + + +ifneq (hidd-m68k-sagagfx-fd-setup,) +hidd-m68k-sagagfx-fd-setup : | $(hidd-m68k-sagagfx_FDDIR) +else +hidd-m68k-sagagfx-fd-setup :: $(hidd-m68k-sagagfx_FDDIR) +endif + +GLOB_MKDIRS += $(hidd-m68k-sagagfx_FDDIR) + +endif + +## Compilation +## +hidd-m68k-sagagfx_FILES := $(SAGA_HIDD_SOURCES) +hidd-m68k-sagagfx_OBJCFILES := +hidd-m68k-sagagfx_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +hidd-m68k-sagagfx_LIBFILES := +hidd-m68k-sagagfx_LIBS := + +hidd-m68k-sagagfx_FDIRS := $(sort $(dir $(hidd-m68k-sagagfx_FILES))) + +hidd-m68k-sagagfx_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +hidd-m68k-sagagfx_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call hidd-m68k-sagagfx_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +hidd-m68k-sagagfx_FILTERARCH = $(filter-out $(call hidd-m68k-sagagfx_MATCHARCH,$(1),$(2)),$(2)) +hidd-m68k-sagagfx_STARTFILES := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_STARTFILES)) +hidd-m68k-sagagfx_ENDFILES := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_ENDFILES)) + +hidd-m68k-sagagfx_ARCHOBJS := $(wildcard $(hidd-m68k-sagagfx_OBJDIR)/arch/*.o) +hidd-m68k-sagagfx_LIBARCHOBJS := $(wildcard $(hidd-m68k-sagagfx_OBJDIR)/linklib/arch/*.o) +hidd-m68k-sagagfx_ARCHFILES := $(basename $(notdir $(hidd-m68k-sagagfx_ARCHOBJS))) +hidd-m68k-sagagfx_LIBARCHFILES := $(basename $(notdir $(hidd-m68k-sagagfx_LIBARCHOBJS))) +hidd-m68k-sagagfx_C_NARCHFILES := $(call hidd-m68k-sagagfx_FILTERARCH,$(hidd-m68k-sagagfx_ARCHFILES),$(hidd-m68k-sagagfx_FILES)) +hidd-m68k-sagagfx_CXX_NARCHFILES := $(call hidd-m68k-sagagfx_FILTERARCH,$(hidd-m68k-sagagfx_ARCHFILES),$(hidd-m68k-sagagfx_CXXFILES)) +hidd-m68k-sagagfx_OBJC_NARCHFILES := $(call hidd-m68k-sagagfx_FILTERARCH,$(hidd-m68k-sagagfx_ARCHFILES),$(hidd-m68k-sagagfx_OBJCFILES)) +hidd-m68k-sagagfx_NLIBARCHFILES := $(call hidd-m68k-sagagfx_FILTERARCH,$(hidd-m68k-sagagfx_LIBARCHFILES),$(hidd-m68k-sagagfx_LIBFILES)) +hidd-m68k-sagagfx_ARCHNLIBFILES := $(call hidd-m68k-sagagfx_FILTERARCH,$(hidd-m68k-sagagfx_LIBFILES),$(hidd-m68k-sagagfx_LIBARCHFILES)) + +hidd-m68k-sagagfx_CPPFLAGS := $(strip $(CPPFLAGS) -I$(hidd-m68k-sagagfx_OBJDIR)/include -include $(hidd-m68k-sagagfx_DEFLIBDEFSINC)) +ifneq (,) +hidd-m68k-sagagfx_CPPFLAGS += -I +endif +hidd-m68k-sagagfx_LINKLIBCPPFLAGS := $(hidd-m68k-sagagfx_CPPFLAGS) +hidd-m68k-sagagfx_CPPFLAGS += $(strip $($(hidd-m68k-sagagfx_DEFNAME)_CPPFLAGS)) +hidd-m68k-sagagfx_LINKLIBCPPFLAGS += $(strip $($(hidd-m68k-sagagfx_DEFNAME)_LINKLIBCPPFLAGS)) +hidd-m68k-sagagfx_CFLAGS := $(strip $(CFLAGS) $($(hidd-m68k-sagagfx_DEFNAME)_CFLAGS)) +hidd-m68k-sagagfx_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(hidd-m68k-sagagfx_DEFNAME)_LINKLIBCFLAGS)) +hidd-m68k-sagagfx_CXXFLAGS := $(strip $(CXXFLAGS) $($(hidd-m68k-sagagfx_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +hidd-m68k-sagagfx_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +hidd-m68k-sagagfx_CFLAGS := $(strip $(hidd-m68k-sagagfx_LTOFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +hidd-m68k-sagagfx_LINKLIBCFLAGS := $(strip $(hidd-m68k-sagagfx_LTOFLAGS) $(hidd-m68k-sagagfx_LINKLIBCFLAGS)) +hidd-m68k-sagagfx_CXXFLAGS := $(strip $(hidd-m68k-sagagfx_LTOFLAGS) $(hidd-m68k-sagagfx_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +hidd-m68k-sagagfx_SUBSTNULL := +hidd-m68k-sagagfx_SUBSTSPACE := $(hidd-m68k-sagagfx_SUBSTNULL) # +hidd-m68k-sagagfx_SUBSTCOMMA := , +hidd-m68k-sagagfx_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(hidd-m68k-sagagfx_SUBSTSPACE),$(hidd-m68k-sagagfx_SUBSTCOMMA),$(strip $($(hidd-m68k-sagagfx_DEFNAME)_STARTFILES)))) +hidd-m68k-sagagfx_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +hidd-m68k-sagagfx_CFLAGS := $(strip $(hidd-m68k-sagagfx_INSTRFUNCFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +hidd-m68k-sagagfx_CXXFLAGS := $(strip $(hidd-m68k-sagagfx_INSTRFUNCFLAGS) $(hidd-m68k-sagagfx_CXXFLAGS)) +hidd-m68k-sagagfx_LIBS += $(hidd-m68k-sagagfx_INSTRFUNCLIBS) +endif +endif +hidd-m68k-sagagfx_DFLAGS := $(strip $(hidd-m68k-sagagfx_DFLAGS) $($(hidd-m68k-sagagfx_DEFNAME)_DFLAGS)) +hidd-m68k-sagagfx_LINKLIBDFLAGS := $(strip $(hidd-m68k-sagagfx_DFLAGS) $($(hidd-m68k-sagagfx_DEFNAME)_LINKLIBDFLAGS)) +hidd-m68k-sagagfx_DXXFLAGS := $(strip $(hidd-m68k-sagagfx_DXXFLAGS) $($(hidd-m68k-sagagfx_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + hidd-m68k-sagagfx_LIBSUFFIX := +else + hidd-m68k-sagagfx_LIBSUFFIX := .hidd +endif + +ifeq (,) +hidd-m68k-sagagfx_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +hidd-m68k-sagagfx_LIBDIR := +endif + +ifeq (M,M) +hidd-m68k-sagagfx_LINKLIBCFILES := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$($(hidd-m68k-sagagfx_DEFNAME)_LINKLIBFILES)) +hidd-m68k-sagagfx_LINKLIBAFILES := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$($(hidd-m68k-sagagfx_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(hidd-m68k-sagagfx_DEFNAME)_LINKLIBFILES) $($(hidd-m68k-sagagfx_DEFNAME)_LINKLIBAFILES) $(hidd-m68k-sagagfx_ARCHNLIBFILES)),) + hidd-m68k-sagagfx_LINKLIB := +else + hidd-m68k-sagagfx_LINKLIB := $(hidd-m68k-sagagfx_LIBDIR)/libsagagfx$(hidd-m68k-sagagfx_LIBSUFFIX).a + ifneq (sagagfx,$(hidd-m68k-sagagfx_LINKLIBNAME)) + hidd-m68k-sagagfx_LINKLIB += $(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)$(hidd-m68k-sagagfx_LIBSUFFIX).a + endif +endif +hidd-m68k-sagagfx_LINKLIBFILES := $(hidd-m68k-sagagfx_LINKLIBCFILES) $(hidd-m68k-sagagfx_LINKLIBAFILES) + +hidd-m68k-sagagfx_RELLINKLIBCFILES := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$($(hidd-m68k-sagagfx_DEFNAME)_RELLINKLIBFILES)) +hidd-m68k-sagagfx_RELLINKLIBAFILES := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$($(hidd-m68k-sagagfx_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(hidd-m68k-sagagfx_DEFNAME)_RELLINKLIBFILES) $($(hidd-m68k-sagagfx_DEFNAME)_RELLINKLIBAFILES) $(hidd-m68k-sagagfx_ARCHNLIBFILES)),) + hidd-m68k-sagagfx_RELLINKLIB := +else + hidd-m68k-sagagfx_RELLINKLIB := $(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_DEFNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a + ifneq (sagagfx,$(hidd-m68k-sagagfx_LINKLIBNAME)) + hidd-m68k-sagagfx_RELLINKLIB += $(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a + endif +endif +hidd-m68k-sagagfx_RELLINKLIBFILES := $(hidd-m68k-sagagfx_RELLINKLIBCFILES) $(hidd-m68k-sagagfx_RELLINKLIBAFILES) +endif + +hidd-m68k-sagagfx_ENDOBJS := $(addsuffix .o,$(hidd-m68k-sagagfx_ENDFILES)) +hidd-m68k-sagagfx_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(notdir $(hidd-m68k-sagagfx_NLIBARCHFILES))) $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/arch/,$(notdir $(hidd-m68k-sagagfx_ARCHNLIBFILES))) $(hidd-m68k-sagagfx_LINKLIBFILES)) \ + +hidd-m68k-sagagfx_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(notdir $(hidd-m68k-sagagfx_NLIBARCHFILES))) $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/arch/,$(notdir $(hidd-m68k-sagagfx_ARCHNLIBFILES))) $(hidd-m68k-sagagfx_RELLINKLIBFILES)) \ + +$(hidd-m68k-sagagfx_LINKLIBFILES) $(hidd-m68k-sagagfx_RELLINKLIBFILES) : | $(hidd-m68k-sagagfx_OBJDIR)/linklib +$(hidd-m68k-sagagfx_LINKLIBOBJS) $(hidd-m68k-sagagfx_RELLINKLIBOBJS) : | $(hidd-m68k-sagagfx_OBJDIR)/linklib + +hidd-m68k-sagagfx_CCFILES := $(hidd-m68k-sagagfx_C_NARCHFILES) +hidd-m68k-sagagfx_TARGETCCFILES := $(strip $(hidd-m68k-sagagfx_STARTFILES) $(hidd-m68k-sagagfx_ENDFILES)) +hidd-m68k-sagagfx_LINKLIBCCFILES := $(strip $(hidd-m68k-sagagfx_NLIBARCHFILES) $(hidd-m68k-sagagfx_LINKLIBCFILES) $(hidd-m68k-sagagfx_RELLINKLIBCFILES)) +hidd-m68k-sagagfx_LINKLIBCCGENFILES := $(strip $(hidd-m68k-sagagfx_LINKLIBCFILES) $(hidd-m68k-sagagfx_RELLINKLIBCFILES)) + + +hidd-m68k-sagagfx_CXXABSBASENAMES := $(foreach hidd-m68k-sagagfx_CXXBASE,$(hidd-m68k-sagagfx_CXX_NARCHFILES),$(if $(filter /%,$(hidd-m68k-sagagfx_CXXBASE)),$(hidd-m68k-sagagfx_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(hidd-m68k-sagagfx_CXXBASE)))) + +ifneq ($(hidd-m68k-sagagfx_CXXABSBASENAMES),) + +hidd-m68k-sagagfx_CXXBASENAMES := $(basename $(hidd-m68k-sagagfx_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +hidd-m68k-sagagfx_MCXX_FILES := $(strip $(foreach hidd-m68k-sagagfx_CXXBASE,$(hidd-m68k-sagagfx_CXXABSBASENAMES), $(firstword $(wildcard $(foreach hidd-m68k-sagagfx_EXT, $(AROS_CXXEXTS),$(addsuffix .$(hidd-m68k-sagagfx_EXT),$(hidd-m68k-sagagfx_CXXBASE))))))) + +ifeq (,) +hidd-m68k-sagagfx_MCXX_SRCWILDCARD := % +else +hidd-m68k-sagagfx_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(hidd-m68k-sagagfx_OBJDIR),) + hidd-m68k-sagagfx_CXXTARGETS := $(notdir $(hidd-m68k-sagagfx_CXXBASENAMES:=.o)) + hidd-m68k-sagagfx_CXXDTARGETS := $(notdir $(hidd-m68k-sagagfx_CXXBASENAMES:=.d)) + hidd-m68k-sagagfx_MCXX_WILDCARD := % +else + hidd-m68k-sagagfx_CXXTARGETS := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(hidd-m68k-sagagfx_CXXBASENAMES:=.o))) + hidd-m68k-sagagfx_CXXDTARGETS := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(hidd-m68k-sagagfx_CXXBASENAMES:=.d))) + hidd-m68k-sagagfx_MCXX_WILDCARD := $(hidd-m68k-sagagfx_OBJDIR)/% + + # Be sure that all source files are generated + $(hidd-m68k-sagagfx_CXXTARGETS) $(hidd-m68k-sagagfx_CXXDTARGETS) : | $(hidd-m68k-sagagfx_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +hidd-m68k-sagagfx_MCXX_CPPFLAGS := $(hidd-m68k-sagagfx_CPPFLAGS) +hidd-m68k-sagagfx_CXXFLAGS := $(hidd-m68k-sagagfx_CXXFLAGS) +ifeq ($(hidd-m68k-sagagfx_DXXFLAGS),) + hidd-m68k-sagagfx_DXXFLAGS := $(hidd-m68k-sagagfx_CXXFLAGS) +else + hidd-m68k-sagagfx_DXXFLAGS := $(hidd-m68k-sagagfx_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + hidd-m68k-sagagfx_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + hidd-m68k-sagagfx_STRIP ?= $(HOST_STRIP) + hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + hidd-m68k-sagagfx_CXXCMD:=$(HOST_CXX) + hidd-m68k-sagagfx_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(hidd-m68k-sagagfx_MCXX_CPPFLAGS) $(hidd-m68k-sagagfx_MCXX_EXTRA_CPPFLAGS)) + hidd-m68k-sagagfx_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(hidd-m68k-sagagfx_CXXFLAGS)) + hidd-m68k-sagagfx_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(hidd-m68k-sagagfx_DXXFLAGS)) + hidd-m68k-sagagfx_CXXIQUOTE:=$(HOST_IQUOTE) + hidd-m68k-sagagfx_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + hidd-m68k-sagagfx_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + hidd-m68k-sagagfx_STRIP ?= $(TARGET_STRIP) + hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + hidd-m68k-sagagfx_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + hidd-m68k-sagagfx_MCXX_CPPFLAGS := $(strip $(hidd-m68k-sagagfx_MCXX_CPPFLAGS) $(hidd-m68k-sagagfx_MCXX_EXTRA_CPPFLAGS)) + hidd-m68k-sagagfx_CXXFLAGS := $(strip $(hidd-m68k-sagagfx_CXXFLAGS) $(SAFETY_CFLAGS)) + hidd-m68k-sagagfx_DXXFLAGS := $(hidd-m68k-sagagfx_DXXFLAGS) + hidd-m68k-sagagfx_CXXIQUOTE:=$(CFLAGS_IQUOTE) + hidd-m68k-sagagfx_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + hidd-m68k-sagagfx_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + hidd-m68k-sagagfx_STRIP ?= $(ECHO) >/dev/null + hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + hidd-m68k-sagagfx_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + hidd-m68k-sagagfx_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(hidd-m68k-sagagfx_MCXX_CPPFLAGS) $(hidd-m68k-sagagfx_MCXX_EXTRA_CPPFLAGS)) + hidd-m68k-sagagfx_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(hidd-m68k-sagagfx_CXXFLAGS)) + hidd-m68k-sagagfx_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(hidd-m68k-sagagfx_DXXFLAGS)) + hidd-m68k-sagagfx_CXXIQUOTE:=$(KERNEL_IQUOTE) + hidd-m68k-sagagfx_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(hidd-m68k-sagagfx_CXXCMD) $(hidd-m68k-sagagfx_CXXIQUOTE) $(dir $(2)) $(hidd-m68k-sagagfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_CXXIQUOTE) . $(hidd-m68k-sagagfx_CXXIQUOTE_END) $(strip $(hidd-m68k-sagagfx_CXXFLAGS) $(hidd-m68k-sagagfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(hidd-m68k-sagagfx_CXXCMD) $(hidd-m68k-sagagfx_CXXIQUOTE) $(dir $(2)) $(hidd-m68k-sagagfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_CXXIQUOTE) . $(hidd-m68k-sagagfx_CXXIQUOTE_END) $(strip $(hidd-m68k-sagagfx_CXXFLAGS) $(hidd-m68k-sagagfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(hidd-m68k-sagagfx_CXXCMD) $(hidd-m68k-sagagfx_CXXIQUOTE) $(dir $(2)) $(hidd-m68k-sagagfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_CXXIQUOTE) . $(hidd-m68k-sagagfx_CXXIQUOTE_END) $(strip $(hidd-m68k-sagagfx_CXXFLAGS) $(hidd-m68k-sagagfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(hidd-m68k-sagagfx_CXXCMD)" $(MKDEPEND) $(strip $(hidd-m68k-sagagfx_DXXFLAGS) $(hidd-m68k-sagagfx_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(hidd-m68k-sagagfx_OBJDIR),) + $(foreach hidd-m68k-sagagfx_CXXFILE,$(hidd-m68k-sagagfx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(hidd-m68k-sagagfx_CXXFILE))),$(hidd-m68k-sagagfx_CXXFILE)))) +else + $(foreach hidd-m68k-sagagfx_CXXFILE,$(hidd-m68k-sagagfx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(basename $(hidd-m68k-sagagfx_CXXFILE)))),$(hidd-m68k-sagagfx_CXXFILE)))) +endif + +endif + + +ifneq ($(hidd-m68k-sagagfx_OBJC_NARCHFILES),) + +ifeq (,) +hidd-m68k-sagagfx_MOBJC_SRCWILDCARD := % +else +hidd-m68k-sagagfx_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(hidd-m68k-sagagfx_OBJDIR),) + hidd-m68k-sagagfx_MOBJC_TARGETS := $(addsuffix .o,$(hidd-m68k-sagagfx_OBJC_NARCHFILES)) + hidd-m68k-sagagfx_MOBJC_DTARGETS := $(addsuffix .d,$(hidd-m68k-sagagfx_OBJC_NARCHFILES)) + hidd-m68k-sagagfx_MOBJC_WILDCARD := % +else + hidd-m68k-sagagfx_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(hidd-m68k-sagagfx_OBJC_NARCHFILES))) + hidd-m68k-sagagfx_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(hidd-m68k-sagagfx_OBJC_NARCHFILES))) + hidd-m68k-sagagfx_MOBJC_WILDCARD := $(hidd-m68k-sagagfx_OBJDIR)/% + + # Be sure that all .m files are generated + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : | $(addsuffix .m,$(hidd-m68k-sagagfx_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + hidd-m68k-sagagfx_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + hidd-m68k-sagagfx_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-m68k-sagagfx_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + hidd-m68k-sagagfx_MOBJC_DIRS := $(foreach dir, $(hidd-m68k-sagagfx_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-m68k-sagagfx_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(hidd-m68k-sagagfx_MOBJC_DIRS),) + hidd-m68k-sagagfx_MOBJC_DIRS := $(shell echo $(hidd-m68k-sagagfx_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(hidd-m68k-sagagfx_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + hidd-m68k-sagagfx_CC := $(TARGET_CC) +else + hidd-m68k-sagagfx_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +hidd-m68k-sagagfx_MOBJC_CPPFLAGS := $(hidd-m68k-sagagfx_CPPFLAGS) +hidd-m68k-sagagfx_OBJCFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +hidd-m68k-sagagfx_OBJCFLAGS := $(hidd-m68k-sagagfx_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +hidd-m68k-sagagfx_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(hidd-m68k-sagagfx_OBJCFLAGS))) +ifeq ($(hidd-m68k-sagagfx_DFLAGS),) + hidd-m68k-sagagfx_OBJCDFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +else + hidd-m68k-sagagfx_OBJCDFLAGS := $(hidd-m68k-sagagfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + hidd-m68k-sagagfx_LINK ?= $(strip $(hidd-m68k-sagagfx_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + hidd-m68k-sagagfx_STRIP ?= $(TARGET_STRIP) + hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : CMD:=$(strip $(hidd-m68k-sagagfx_CC) $(TARGET_SYSROOT)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_MOBJC_CPPFLAGS:=$(strip $(hidd-m68k-sagagfx_MOBJC_CPPFLAGS) $(hidd-m68k-sagagfx_MOBJC_EXTRA_CPPFLAGS)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_OBJCFLAGS:=$(strip $(hidd-m68k-sagagfx_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_OBJCDFLAGS:=$(hidd-m68k-sagagfx_OBJCDFLAGS) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(CFLAGS_IQUOTE) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + hidd-m68k-sagagfx_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + hidd-m68k-sagagfx_STRIP ?= $(HOST_STRIP) + hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(hidd-m68k-sagagfx_MOBJC_CPPFLAGS) $(hidd-m68k-sagagfx_MOBJC_EXTRA_CPPFLAGS)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_OBJCFLAGS)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_OBJCDFLAGS)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(HOST_IQUOTE) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + hidd-m68k-sagagfx_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + hidd-m68k-sagagfx_STRIP ?= $(ECHO) >/dev/null + hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(hidd-m68k-sagagfx_MOBJC_CPPFLAGS) $(hidd-m68k-sagagfx_MOBJC_EXTRA_CPPFLAGS)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_OBJCFLAGS)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_OBJCDFLAGS)) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(KERNEL_IQUOTE) + $(hidd-m68k-sagagfx_MOBJC_TARGETS) $(hidd-m68k-sagagfx_MOBJC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-m68k-sagagfx_MOBJC_TARGETS) : CPPFLAGS := $(hidd-m68k-sagagfx_MOBJC_CPPFLAGS) +$(hidd-m68k-sagagfx_MOBJC_TARGETS) : CFLAGS := $(hidd-m68k-sagagfx_OBJCFLAGS) +$(hidd-m68k-sagagfx_MOBJC_TARGETS) : $(hidd-m68k-sagagfx_MOBJC_WILDCARD).o : $(hidd-m68k-sagagfx_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-m68k-sagagfx_MOBJC_DTARGETS) : $(hidd-m68k-sagagfx_MOBJC_WILDCARD).d : $(hidd-m68k-sagagfx_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-m68k-sagagfx_OBJCDFLAGS) $(hidd-m68k-sagagfx_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +hidd-m68k-sagagfx_MC_SRCWILDCARD := % +else +hidd-m68k-sagagfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(hidd-m68k-sagagfx_OBJDIR),) +hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(hidd-m68k-sagagfx_CCFILES)) +hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(hidd-m68k-sagagfx_CCFILES)) +hidd-m68k-sagagfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(hidd-m68k-sagagfx_CCFILES)))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(hidd-m68k-sagagfx_CCFILES)))) +else +ifeq (,) + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(hidd-m68k-sagagfx_CCFILES))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(hidd-m68k-sagagfx_CCFILES))) +else + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(patsubst /%,%,$(hidd-m68k-sagagfx_CCFILES)))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(patsubst /%,%,$(hidd-m68k-sagagfx_CCFILES)))) +endif +endif +hidd-m68k-sagagfx_MC_TGTWILDCARD := $(hidd-m68k-sagagfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : | $(addsuffix .c,$(hidd-m68k-sagagfx_CCFILES)) + +# Be sure that all .c files are found +hidd-m68k-sagagfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-m68k-sagagfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-m68k-sagagfx_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-m68k-sagagfx_MC_DIRS := $(foreach dir, $(hidd-m68k-sagagfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-m68k-sagagfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-m68k-sagagfx_MC_DIRS),) + hidd-m68k-sagagfx_MC_DIRS := $(shell echo $(hidd-m68k-sagagfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(hidd-m68k-sagagfx_MC_DIRS) +endif + +endif + +hidd-m68k-sagagfx_MC_CPPFLAGS := $(hidd-m68k-sagagfx_CPPFLAGS) +hidd-m68k-sagagfx_CFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +ifeq ($(hidd-m68k-sagagfx_DFLAGS),) + hidd-m68k-sagagfx_DFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +else + hidd-m68k-sagagfx_DFLAGS := $(hidd-m68k-sagagfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +hidd-m68k-sagagfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(TARGET_STRIP) +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(hidd-m68k-sagagfx_CFLAGS) $(SAFETY_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(hidd-m68k-sagagfx_DFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +hidd-m68k-sagagfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(HOST_STRIP) +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_DFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(HOST_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +hidd-m68k-sagagfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(ECHO) >/dev/null +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_DFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(KERNEL_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-m68k-sagagfx_MC_TARGETS) : CPPFLAGS := $(hidd-m68k-sagagfx_MC_CPPFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) : CFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) : $(hidd-m68k-sagagfx_MC_TGTWILDCARD).o : $(hidd-m68k-sagagfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-m68k-sagagfx_MC_DTARGETS) : $(hidd-m68k-sagagfx_MC_TGTWILDCARD).d : $(hidd-m68k-sagagfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-m68k-sagagfx_DFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +hidd-m68k-sagagfx_MC_SRCWILDCARD := % +else +hidd-m68k-sagagfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(hidd-m68k-sagagfx_OBJDIR),) +hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(hidd-m68k-sagagfx_TARGETCCFILES)) +hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(hidd-m68k-sagagfx_TARGETCCFILES)) +hidd-m68k-sagagfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(hidd-m68k-sagagfx_TARGETCCFILES)))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(hidd-m68k-sagagfx_TARGETCCFILES)))) +else +ifeq (,) + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(hidd-m68k-sagagfx_TARGETCCFILES))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(hidd-m68k-sagagfx_TARGETCCFILES))) +else + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(patsubst /%,%,$(hidd-m68k-sagagfx_TARGETCCFILES)))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(patsubst /%,%,$(hidd-m68k-sagagfx_TARGETCCFILES)))) +endif +endif +hidd-m68k-sagagfx_MC_TGTWILDCARD := $(hidd-m68k-sagagfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : | $(addsuffix .c,$(hidd-m68k-sagagfx_TARGETCCFILES)) + +# Be sure that all .c files are found +hidd-m68k-sagagfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-m68k-sagagfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-m68k-sagagfx_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-m68k-sagagfx_MC_DIRS := $(foreach dir, $(hidd-m68k-sagagfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-m68k-sagagfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-m68k-sagagfx_MC_DIRS),) + hidd-m68k-sagagfx_MC_DIRS := $(shell echo $(hidd-m68k-sagagfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(hidd-m68k-sagagfx_MC_DIRS) +endif + +endif + +hidd-m68k-sagagfx_MC_CPPFLAGS := $(hidd-m68k-sagagfx_CPPFLAGS) -D__AROS__ +hidd-m68k-sagagfx_CFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +ifeq ($(hidd-m68k-sagagfx_DFLAGS),) + hidd-m68k-sagagfx_DFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +else + hidd-m68k-sagagfx_DFLAGS := $(hidd-m68k-sagagfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +hidd-m68k-sagagfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(TARGET_STRIP) +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(hidd-m68k-sagagfx_CFLAGS) $(SAFETY_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(hidd-m68k-sagagfx_DFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +hidd-m68k-sagagfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(HOST_STRIP) +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_DFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(HOST_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +hidd-m68k-sagagfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(ECHO) >/dev/null +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_DFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(KERNEL_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-m68k-sagagfx_MC_TARGETS) : CPPFLAGS := $(hidd-m68k-sagagfx_MC_CPPFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) : CFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) : $(hidd-m68k-sagagfx_MC_TGTWILDCARD).o : $(hidd-m68k-sagagfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-m68k-sagagfx_MC_DTARGETS) : $(hidd-m68k-sagagfx_MC_TGTWILDCARD).d : $(hidd-m68k-sagagfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-m68k-sagagfx_DFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +hidd-m68k-sagagfx_MC_SRCWILDCARD := % +else +hidd-m68k-sagagfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(hidd-m68k-sagagfx_OBJDIR)/linklib,) +hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(hidd-m68k-sagagfx_NLIBARCHFILES)) +hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(hidd-m68k-sagagfx_NLIBARCHFILES)) +hidd-m68k-sagagfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(notdir $(hidd-m68k-sagagfx_NLIBARCHFILES)))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(notdir $(hidd-m68k-sagagfx_NLIBARCHFILES)))) +else +ifeq (,) + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(hidd-m68k-sagagfx_NLIBARCHFILES))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(hidd-m68k-sagagfx_NLIBARCHFILES))) +else + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(patsubst /%,%,$(hidd-m68k-sagagfx_NLIBARCHFILES)))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(patsubst /%,%,$(hidd-m68k-sagagfx_NLIBARCHFILES)))) +endif +endif +hidd-m68k-sagagfx_MC_TGTWILDCARD := $(hidd-m68k-sagagfx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : | $(addsuffix .c,$(hidd-m68k-sagagfx_NLIBARCHFILES)) + +# Be sure that all .c files are found +hidd-m68k-sagagfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-m68k-sagagfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-m68k-sagagfx_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-m68k-sagagfx_MC_DIRS := $(foreach dir, $(hidd-m68k-sagagfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-m68k-sagagfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-m68k-sagagfx_MC_DIRS),) + hidd-m68k-sagagfx_MC_DIRS := $(shell echo $(hidd-m68k-sagagfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(hidd-m68k-sagagfx_MC_DIRS) +endif + +endif + +hidd-m68k-sagagfx_MC_CPPFLAGS := $(hidd-m68k-sagagfx_LINKLIBCPPFLAGS) -D__AROS__ +hidd-m68k-sagagfx_CFLAGS := $(hidd-m68k-sagagfx_LINKLIBCFLAGS) +ifeq ($(hidd-m68k-sagagfx_LINKLIBDFLAGS),) + hidd-m68k-sagagfx_DFLAGS := $(hidd-m68k-sagagfx_LINKLIBCFLAGS) +else + hidd-m68k-sagagfx_DFLAGS := $(hidd-m68k-sagagfx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +hidd-m68k-sagagfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(TARGET_STRIP) +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(hidd-m68k-sagagfx_CFLAGS) $(SAFETY_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(hidd-m68k-sagagfx_DFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +hidd-m68k-sagagfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(HOST_STRIP) +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_DFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(HOST_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +hidd-m68k-sagagfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(ECHO) >/dev/null +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_DFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(KERNEL_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-m68k-sagagfx_MC_TARGETS) : CPPFLAGS := $(hidd-m68k-sagagfx_MC_CPPFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) : CFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) : $(hidd-m68k-sagagfx_MC_TGTWILDCARD).o : $(hidd-m68k-sagagfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-m68k-sagagfx_MC_DTARGETS) : $(hidd-m68k-sagagfx_MC_TGTWILDCARD).d : $(hidd-m68k-sagagfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-m68k-sagagfx_DFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(hidd-m68k-sagagfx_OBJDIR)/linklib,) +hidd-m68k-sagagfx_MC_SRCWILDCARD := % +else +hidd-m68k-sagagfx_MC_SRCWILDCARD := $(hidd-m68k-sagagfx_OBJDIR)/linklib/% +endif + +ifeq ($(hidd-m68k-sagagfx_OBJDIR)/linklib,) +hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(hidd-m68k-sagagfx_LINKLIBCCGENFILES)) +hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(hidd-m68k-sagagfx_LINKLIBCCGENFILES)) +hidd-m68k-sagagfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(notdir $(hidd-m68k-sagagfx_LINKLIBCCGENFILES)))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(notdir $(hidd-m68k-sagagfx_LINKLIBCCGENFILES)))) +else +ifeq ($(hidd-m68k-sagagfx_OBJDIR)/linklib,) + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(hidd-m68k-sagagfx_LINKLIBCCGENFILES))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(hidd-m68k-sagagfx_LINKLIBCCGENFILES))) +else + hidd-m68k-sagagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(patsubst $(hidd-m68k-sagagfx_OBJDIR)/linklib/%,%,$(hidd-m68k-sagagfx_LINKLIBCCGENFILES)))) + hidd-m68k-sagagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(patsubst $(hidd-m68k-sagagfx_OBJDIR)/linklib/%,%,$(hidd-m68k-sagagfx_LINKLIBCCGENFILES)))) +endif +endif +hidd-m68k-sagagfx_MC_TGTWILDCARD := $(hidd-m68k-sagagfx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : | $(addsuffix .c,$(hidd-m68k-sagagfx_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +hidd-m68k-sagagfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-m68k-sagagfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-m68k-sagagfx_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-m68k-sagagfx_MC_DIRS := $(foreach dir, $(hidd-m68k-sagagfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-m68k-sagagfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-m68k-sagagfx_MC_DIRS),) + hidd-m68k-sagagfx_MC_DIRS := $(shell echo $(hidd-m68k-sagagfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(hidd-m68k-sagagfx_MC_DIRS) +endif + +endif + +hidd-m68k-sagagfx_MC_CPPFLAGS := $(hidd-m68k-sagagfx_LINKLIBCPPFLAGS) -D__AROS__ +hidd-m68k-sagagfx_CFLAGS := $(hidd-m68k-sagagfx_LINKLIBCFLAGS) +ifeq ($(hidd-m68k-sagagfx_LINKLIBDFLAGS),) + hidd-m68k-sagagfx_DFLAGS := $(hidd-m68k-sagagfx_LINKLIBCFLAGS) +else + hidd-m68k-sagagfx_DFLAGS := $(hidd-m68k-sagagfx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +hidd-m68k-sagagfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(TARGET_STRIP) +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(hidd-m68k-sagagfx_CFLAGS) $(SAFETY_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(hidd-m68k-sagagfx_DFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +hidd-m68k-sagagfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(HOST_STRIP) +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-m68k-sagagfx_DFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(HOST_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +hidd-m68k-sagagfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +hidd-m68k-sagagfx_STRIP ?= $(ECHO) >/dev/null +hidd-m68k-sagagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS) $(hidd-m68k-sagagfx_MC_EXTRA_CPPFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_CFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-m68k-sagagfx_DFLAGS)) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE:=$(KERNEL_IQUOTE) +$(hidd-m68k-sagagfx_MC_TARGETS) $(hidd-m68k-sagagfx_MC_DTARGETS) : hidd-m68k-sagagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-m68k-sagagfx_MC_TARGETS) : CPPFLAGS := $(hidd-m68k-sagagfx_MC_CPPFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) : CFLAGS := $(hidd-m68k-sagagfx_CFLAGS) +$(hidd-m68k-sagagfx_MC_TARGETS) : $(hidd-m68k-sagagfx_MC_TGTWILDCARD).o : $(hidd-m68k-sagagfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-m68k-sagagfx_IQUOTE) $(dir $<) $(hidd-m68k-sagagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-m68k-sagagfx_IQUOTE) . $(hidd-m68k-sagagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-m68k-sagagfx_MC_DTARGETS) : $(hidd-m68k-sagagfx_MC_TGTWILDCARD).d : $(hidd-m68k-sagagfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-m68k-sagagfx_DFLAGS) $(hidd-m68k-sagagfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(hidd-m68k-sagagfx_LINKLIBAFILES),) + +ifeq ($(hidd-m68k-sagagfx_OBJDIR)/linklib,) +hidd-m68k-sagagfx-MA_TARGETS := $(addsuffix .o,$(hidd-m68k-sagagfx_LINKLIBAFILES) $(hidd-m68k-sagagfx_RELLINKLIBAFILES)) +hidd-m68k-sagagfx-MA_WILDCARD := % +else +hidd-m68k-sagagfx-MA_TARGETS := $(addsuffix .o,$(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(notdir $(hidd-m68k-sagagfx_LINKLIBAFILES) $(hidd-m68k-sagagfx_RELLINKLIBAFILES)))) +hidd-m68k-sagagfx-MA_WILDCARD := $(hidd-m68k-sagagfx_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(hidd-m68k-sagagfx-MA_TARGETS) : | $(addsuffix .S,$(hidd-m68k-sagagfx_LINKLIBAFILES) $(hidd-m68k-sagagfx_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +hidd-m68k-sagagfx-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-m68k-sagagfx-MA_BASEDIRS := $(shell echo $(sort $(dir $(hidd-m68k-sagagfx_LINKLIBAFILES) $(hidd-m68k-sagagfx_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-m68k-sagagfx-MA_DIRS := $(foreach dir, $(hidd-m68k-sagagfx-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-m68k-sagagfx-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-m68k-sagagfx-MA_DIRS),) + hidd-m68k-sagagfx-MA_DIRS := $(shell echo $(hidd-m68k-sagagfx-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(hidd-m68k-sagagfx-MA_DIRS) +endif + +endif + +hidd-m68k-sagagfx-MA_ASSEMBLER ?= $(hidd-m68k-sagagfx_ASSEMBLER) + +$(hidd-m68k-sagagfx-MA_TARGETS) : hidd-m68k-sagagfx-MA_CMD:= $(hidd-m68k-sagagfx-MA_ASSEMBLER) + +$(hidd-m68k-sagagfx-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(hidd-m68k-sagagfx-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(hidd-m68k-sagagfx-MA_TARGETS) : $(hidd-m68k-sagagfx-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(hidd-m68k-sagagfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(hidd-m68k-sagagfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(hidd-m68k-sagagfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +hidd-m68k-sagagfx_SUFFIX := hidd +else +hidd-m68k-sagagfx_SUFFIX := +endif + +ifeq (target,target) +hidd-m68k-sagagfx_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +hidd-m68k-sagagfx_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +hidd-m68k-sagagfx_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(hidd-m68k-sagagfx_SUFFIX),handler) +hidd-m68k-sagagfx_MODULE := $(AROSDIR)/$(hidd-m68k-sagagfx_MODDIR)/$(hidd-m68k-sagagfx_DEFNAME)-$(hidd-m68k-sagagfx_SUFFIX) +else +hidd-m68k-sagagfx_MODULE := $(AROSDIR)/$(hidd-m68k-sagagfx_MODDIR)/$(hidd-m68k-sagagfx_DEFNAME).$(hidd-m68k-sagagfx_SUFFIX) +endif +hidd-m68k-sagagfx_KOBJ := $(KOBJSDIR)/$(hidd-m68k-sagagfx_DEFNAME)_$(hidd-m68k-sagagfx_SUFFIX).o +else +hidd-m68k-sagagfx_MODULE := +hidd-m68k-sagagfx_KOBJ := +endif + +hidd-m68k-sagagfx-quick : hidd-m68k-sagagfx +hidd-m68k-sagagfx : $(hidd-m68k-sagagfx_MODULE) $(hidd-m68k-sagagfx_LINKLIB) $(hidd-m68k-sagagfx_RELLINKLIB) +ifeq (M,M) +hidd-m68k-sagagfx-kobj : $(hidd-m68k-sagagfx_KOBJ) $(hidd-m68k-sagagfx_LINKLIB) $(hidd-m68k-sagagfx_RELLINKLIB) +hidd-m68k-sagagfx-kobj-quick : $(hidd-m68k-sagagfx_KOBJ) $(hidd-m68k-sagagfx_LINKLIB) $(hidd-m68k-sagagfx_RELLINKLIB) +endif +ifeq (M,M) +hidd-m68k-sagagfx-linklib : $(hidd-m68k-sagagfx_LINKLIB) $(hidd-m68k-sagagfx_RELLINKLIB) +endif + +hidd-m68k-sagagfx_OBJS := $(addsuffix .o,$(hidd-m68k-sagagfx_STARTFILES)) $(hidd-m68k-sagagfx_ARCHOBJS) \ + $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(hidd-m68k-sagagfx_C_NARCHFILES:=.o) $(hidd-m68k-sagagfx_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +hidd-m68k-sagagfx_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (sagagfx,con) + hidd-m68k-sagagfx_ERR := $(notdir $(hidd-m68k-sagagfx_MODULE)).err +else + hidd-m68k-sagagfx_ERR := sagagfx.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(hidd-m68k-sagagfx_DEFNAME)_LDFLAGS) $(hidd-m68k-sagagfx_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(hidd-m68k-sagagfx_LIBS) $($(hidd-m68k-sagagfx_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(hidd-m68k-sagagfx_MODULE) : LIB_NAMES := $(hidd-m68k-sagagfx_LIBS) $($(hidd-m68k-sagagfx_DEFNAME)_LIBS) +$(hidd-m68k-sagagfx_MODULE) : OBJS := $(hidd-m68k-sagagfx_STARTOBJS) $(hidd-m68k-sagagfx_OBJS) $(USER_OBJS) +$(hidd-m68k-sagagfx_MODULE) : ENDTAG := $(hidd-m68k-sagagfx_ENDOBJS) +$(hidd-m68k-sagagfx_MODULE) : ERR := $(hidd-m68k-sagagfx_ERR) +$(hidd-m68k-sagagfx_MODULE) : OBJDIR := $(hidd-m68k-sagagfx_OBJDIR) +$(hidd-m68k-sagagfx_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(hidd-m68k-sagagfx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(hidd-m68k-sagagfx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(hidd-m68k-sagagfx_MODULE) : $(hidd-m68k-sagagfx_STARTOBJS) $(hidd-m68k-sagagfx_OBJS) $(USER_OBJS) $(hidd-m68k-sagagfx_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(hidd-m68k-sagagfx_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(hidd-m68k-sagagfx_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +hidd-m68k-sagagfx_LC_LINKLIBNAME := $(shell echo $(hidd-m68k-sagagfx_LINKLIBNAME) | tr A-Z a-z) +hidd-m68k-sagagfx_LC_MODNAME := $(shell echo sagagfx | tr A-Z a-z) +ifneq ($(hidd-m68k-sagagfx_LINKLIB),) + +ifeq (target,target) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(HOST_AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(KERNEL_AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)$(hidd-m68k-sagagfx_LIBSUFFIX).a : $(hidd-m68k-sagagfx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(hidd-m68k-sagagfx_AR) $@ $^ + $(Q)$(hidd-m68k-sagagfx_RANLIB) $@ +ifneq ($(hidd-m68k-sagagfx_LC_MODNAME),$(hidd-m68k-sagagfx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(hidd-m68k-sagagfx_LIBDIR)/libsagagfx$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(AR) +$(hidd-m68k-sagagfx_LIBDIR)/libsagagfx$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(hidd-m68k-sagagfx_LIBDIR)/libsagagfx$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(HOST_AR) +$(hidd-m68k-sagagfx_LIBDIR)/libsagagfx$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(hidd-m68k-sagagfx_LIBDIR)/libsagagfx$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(KERNEL_AR) +$(hidd-m68k-sagagfx_LIBDIR)/libsagagfx$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(hidd-m68k-sagagfx_LIBDIR)/libsagagfx$(hidd-m68k-sagagfx_LIBSUFFIX).a : $(hidd-m68k-sagagfx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(hidd-m68k-sagagfx_AR) $@ $^ + $(Q)$(hidd-m68k-sagagfx_RANLIB) $@ +endif + + +ifneq ($(hidd-m68k-sagagfx_LINKLIB),) +$(hidd-m68k-sagagfx_LINKLIB) : | $(hidd-m68k-sagagfx_LIBDIR) +else +$(hidd-m68k-sagagfx_LINKLIB) :: $(hidd-m68k-sagagfx_LIBDIR) +endif + +GLOB_MKDIRS += $(hidd-m68k-sagagfx_LIBDIR) + +endif + +ifneq ($(hidd-m68k-sagagfx_RELLINKLIB),) + +ifeq (target,target) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(HOST_AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(KERNEL_AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_LINKLIBNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : $(hidd-m68k-sagagfx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(hidd-m68k-sagagfx_AR) $@ $^ + $(Q)$(hidd-m68k-sagagfx_RANLIB) $@ +ifneq ($(hidd-m68k-sagagfx_LC_MODNAME),$(hidd-m68k-sagagfx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_DEFNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_DEFNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_DEFNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(HOST_AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_DEFNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_DEFNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_AR:=$(KERNEL_AR) +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_DEFNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : hidd-m68k-sagagfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(hidd-m68k-sagagfx_LIBDIR)/lib$(hidd-m68k-sagagfx_DEFNAME)_rel$(hidd-m68k-sagagfx_LIBSUFFIX).a : $(hidd-m68k-sagagfx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(hidd-m68k-sagagfx_AR) $@ $^ + $(Q)$(hidd-m68k-sagagfx_RANLIB) $@ +endif + + +ifneq ($(hidd-m68k-sagagfx_RELLINKLIB),) +$(hidd-m68k-sagagfx_RELLINKLIB) : | $(hidd-m68k-sagagfx_LIBDIR) +else +$(hidd-m68k-sagagfx_RELLINKLIB) :: $(hidd-m68k-sagagfx_LIBDIR) +endif + +GLOB_MKDIRS += $(hidd-m68k-sagagfx_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +hidd-m68k-sagagfx_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +hidd-m68k-sagagfx_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +hidd-m68k-sagagfx_SYMBOLS := $(hidd-m68k-sagagfx_KBASE) + +hidd-m68k-sagagfx_KLIB := hiddstubs amiga arossupport autoinit libinit +hidd-m68k-sagagfx_KOBJ_LIBS := $(filter-out $(hidd-m68k-sagagfx_KLIB),$(hidd-m68k-sagagfx_LIBS)) $(hidd-m68k-sagagfx_KAUTOLIB) +$(hidd-m68k-sagagfx_KOBJ) : LINKLIBS:=$(hidd-m68k-sagagfx_KOBJ_LIBS) $($(hidd-m68k-sagagfx_DEFNAME)_LIBS) +$(hidd-m68k-sagagfx_KOBJ) : FILTBASES:=$(addprefix -L ,$(hidd-m68k-sagagfx_SYMBOLS)) +$(hidd-m68k-sagagfx_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(hidd-m68k-sagagfx_KOBJ) : $(hidd-m68k-sagagfx_OBJS) $(USER_OBJS) $(hidd-m68k-sagagfx_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +hidd-m68k-sagagfx_DEPS := $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/,$(notdir $(hidd-m68k-sagagfx_CCFILES:=.d) $(hidd-m68k-sagagfx_TARGETCCFILES:=.d) $(hidd-m68k-sagagfx_CXXFILES:=.d))) $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/linklib/,$(notdir $(hidd-m68k-sagagfx_LINKLIBCCFILES:=.d))) + +ifneq ($(hidd-m68k-sagagfx_DEPS),) + ifneq (hidd-m68k-sagagfx hidd-m68k-sagagfx-quick hidd-m68k-sagagfx-kobj hidd-m68k-sagagfx-kobj-quick,) + ifneq ($(findstring $(TARGET),hidd-m68k-sagagfx hidd-m68k-sagagfx-quick hidd-m68k-sagagfx-kobj hidd-m68k-sagagfx-kobj-quick),) + -include $(hidd-m68k-sagagfx_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(hidd-m68k-sagagfx_DEPS) + endif + endif +endif + +$(hidd-m68k-sagagfx_OBJS) $(hidd-m68k-sagagfx_DEPS) : | $(hidd-m68k-sagagfx_OBJDIR)/linklib + +ifneq ($(hidd-m68k-sagagfx_OBJS) $(hidd-m68k-sagagfx_DEPS) $(hidd-m68k-sagagfx_MODULE) $(hidd-m68k-sagagfx_KOBJ),) +$(hidd-m68k-sagagfx_OBJS) $(hidd-m68k-sagagfx_DEPS) $(hidd-m68k-sagagfx_MODULE) $(hidd-m68k-sagagfx_KOBJ) : | $(hidd-m68k-sagagfx_OBJDIR) $(AROSDIR)/$(hidd-m68k-sagagfx_MODDIR) $(KOBJSDIR) +else +$(hidd-m68k-sagagfx_OBJS) $(hidd-m68k-sagagfx_DEPS) $(hidd-m68k-sagagfx_MODULE) $(hidd-m68k-sagagfx_KOBJ) :: $(hidd-m68k-sagagfx_OBJDIR) $(AROSDIR)/$(hidd-m68k-sagagfx_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(hidd-m68k-sagagfx_OBJDIR) $(AROSDIR)/$(hidd-m68k-sagagfx_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),hidd-m68k-sagagfx hidd-m68k-sagagfx-includes hidd-m68k-sagagfx-quick hidd-m68k-sagagfx-kobj hidd-m68k-sagagfx-kobj-quick),) # Only for this target these deps are wanted + +hidd-m68k-sagagfx_DFILE_DEPS := $(hidd-m68k-sagagfx_LIBDEFSINC) $(hidd-m68k-sagagfx_DEFLIBDEFSINC) \ + $(addprefix $(hidd-m68k-sagagfx_INCDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) +$(hidd-m68k-sagagfx_DEPS) : $(hidd-m68k-sagagfx_DFILE_DEPS) +endif + +hidd-m68k-sagagfx_TOCLEAN := $(hidd-m68k-sagagfx_OBJS) $(hidd-m68k-sagagfx_DEPS) \ + $(hidd-m68k-sagagfx_MODULE) $(hidd-m68k-sagagfx_LINKLIB) $(hidd-m68k-sagagfx_KOBJ) \ + $(hidd-m68k-sagagfx_OBJDIR)/Makefile.sagagfxhidd \ + $(addprefix $(hidd-m68k-sagagfx_OBJDIR)/include/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(hidd-m68k-sagagfx_INCDIR)/,$($(hidd-m68k-sagagfx_DEFNAME)_INCLUDES)) \ + $(hidd-m68k-sagagfx_OBJDIR)/sagagfx_geninc $(hidd-m68k-sagagfx_OBJDIR)/sagagfx_incs \ + $(addsuffix .c,$(hidd-m68k-sagagfx_LINKLIBFILES)) $(hidd-m68k-sagagfx_LINKLIBOBJS) $(hidd-m68k-sagagfx_LIBDEFSINC) \ + $(hidd-m68k-sagagfx_DEFLIBDEFSINC) $(addsuffix .c,$(hidd-m68k-sagagfx_STARTFILES) $(hidd-m68k-sagagfx_ENDFILES)) \ + $(hidd-m68k-sagagfx_ENDOBJS) +hidd-m68k-sagagfx-clean : FILES := $(hidd-m68k-sagagfx_TOCLEAN) +hidd-m68k-sagagfx-clean :: + $(Q)$(ECHO) "Cleaning up for module sagagfx" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(hidd-m68k-sagagfx_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/hidd/sagagfx/sagagfx_hiddclass.c b/arch/m68k-amiga/hidd/sagagfx/sagagfx_hiddclass.c index 4a86de1e079..c546724b791 100644 --- a/arch/m68k-amiga/hidd/sagagfx/sagagfx_hiddclass.c +++ b/arch/m68k-amiga/hidd/sagagfx/sagagfx_hiddclass.c @@ -178,6 +178,25 @@ OOP_Object *METHOD(SAGAGfx, Root, New) { aHidd_PixFmt_BitMapType, vHidd_BitMapType_Chunky }, /* 15 */ { TAG_DONE, 0UL } }; + + const struct TagItem pftags_15bpp[] = + { + { aHidd_PixFmt_RedShift, 17 }, /* 0 */ + { aHidd_PixFmt_GreenShift, 22 }, /* 1 */ + { aHidd_PixFmt_BlueShift, 27 }, /* 2 */ + { aHidd_PixFmt_AlphaShift, 0 }, /* 3 */ + { aHidd_PixFmt_RedMask, 0x00007c00 }, /* 4 */ + { aHidd_PixFmt_GreenMask, 0x000003e0 }, /* 5 */ + { aHidd_PixFmt_BlueMask, 0x0000001f }, /* 6 */ + { aHidd_PixFmt_AlphaMask, 0x00000000 }, /* 7 */ + { aHidd_PixFmt_ColorModel, vHidd_ColorModel_TrueColor }, /* 8 */ + { aHidd_PixFmt_Depth, 15 }, /* 9 */ + { aHidd_PixFmt_BytesPerPixel, 2 }, /* 10 */ + { aHidd_PixFmt_BitsPerPixel, 15 }, /* 11 */ + { aHidd_PixFmt_StdPixFmt, vHidd_StdPixFmt_RGB15 }, /* 12 */ + { aHidd_PixFmt_BitMapType, vHidd_BitMapType_Chunky }, /* 15 */ + { TAG_DONE, 0UL } + }; const struct TagItem pftags_8bpp[] = { @@ -205,6 +224,7 @@ OOP_Object *METHOD(SAGAGfx, Root, New) { aHidd_Gfx_PixFmtTags, (IPTR)pftags_32bpp }, { aHidd_Gfx_PixFmtTags, (IPTR)pftags_24bpp }, { aHidd_Gfx_PixFmtTags, (IPTR)pftags_16bpp }, + { aHidd_Gfx_PixFmtTags, (IPTR)pftags_15bpp }, { aHidd_Gfx_PixFmtTags, (IPTR)pftags_8bpp }, { TAG_MORE, (IPTR)syncs }, diff --git a/arch/m68k-amiga/include/mmakefile b/arch/m68k-amiga/include/mmakefile new file mode 100644 index 00000000000..199e196105a --- /dev/null +++ b/arch/m68k-amiga/include/mmakefile @@ -0,0 +1,73 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +INCLUDE_FILES := $(call WILDCARD, *.[hi] aros/*.[hi] aros/m68k/*.[hi] asm/*.[hi] exec/*.[hi]) + +#MM- includes-copy-amiga-m68k : includes-common-m68k + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy-amiga-m68k : $(BD_INCL_FILES) + +.PHONY: includes-copy-amiga-m68k + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +#MM- kernel-exec-includes-amiga-m68k : includes-copy-amiga-m68k + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/kernel/amiga_irq.c b/arch/m68k-amiga/kernel/amiga_irq.c index 801111acb93..d810f65d420 100644 --- a/arch/m68k-amiga/kernel/amiga_irq.c +++ b/arch/m68k-amiga/kernel/amiga_irq.c @@ -165,7 +165,14 @@ static inline UWORD custom_r(ULONG reg) " jsr " #handler "\n" \ " tst.w %d0\n" \ " beq 0f\n" \ - " jmp Exec_6_ExitIntr\n" \ + /* Leave through the ExitIntr() vector, the way Kickstart's \ + * level handlers do: SysBase is pushed above the saved \ + * registers and ExitIntr() pops it. A program that \ + * SetFunction()s ExitIntr() is then called on every \ + * interrupt exit, with the stack it expects. */ \ + " move.l (4).w,%a6\n" \ + " move.l %a6,%sp@-\n" \ + " jmp %a6@(-36)\n" \ "0:\n" \ " movem.l %sp@+,%d0/%d1/%a0/%a1/%a5/%a6\n" \ " rte\n" \ diff --git a/arch/m68k-amiga/kernel/mmakefile b/arch/m68k-amiga/kernel/mmakefile new file mode 100644 index 00000000000..18016687aff --- /dev/null +++ b/arch/m68k-amiga/kernel/mmakefile @@ -0,0 +1,278 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + cause \ + cli \ + sti \ + kernel_debug \ + kernel_timer \ + maygetchar \ + amiga_irq \ + getbootinfo \ + kernel_globals \ + obtaininput \ + releaseinput \ + romsupport + +AFILES= + +USER_INCLUDES := $(PRIV_KERNEL_INCLUDES) $(PRIV_EXEC_INCLUDES) \ + -I$(GENINCDIR) -I$(AROS_DEVELOPER)/include +USER_CPPFLAGS := -DPARANOIA_STACK + +USER_AFLAGS := $(PRIV_KERNEL_INCLUDES) $(PRIV_EXEC_INCLUDES) \ + -I$(GENINCDIR) -I$(AROS_DEVELOPER)/include + + +ifeq ($(FILES) $(AFILES),) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-kernel-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-kernel : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH)-$(CPU) \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH) \ +#MM kernel-kernel-$(FAMILY) \ +#MM kernel-kernel-$(CPU) +#MM- kernel-kernel-linklib : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH)-$(CPU) \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH) \ +#MM kernel-kernel-$(FAMILY) \ +#MM kernel-kernel-$(CPU) +#MM- kernel-kernel-kobj : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH)-$(CPU) \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-kernel-$(ARCH) \ +#MM kernel-kernel-$(FAMILY) \ +#MM kernel-kernel-$(CPU) +#MM- kernel-kernel-kobj-quick : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-kernel-$(ARCH)-$(CPU)-quick \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-kernel-$(ARCH)-quick \ +#MM kernel-kernel-$(FAMILY)-quick \ +#MM kernel-kernel-$(CPU)-quick +#MM- kernel-kernel-quick : \ +#MM kernel-kernel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-kernel-$(ARCH)-$(CPU)-quick \ +#MM kernel-kernel-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-kernel-$(ARCH)-quick \ +#MM kernel-kernel-$(FAMILY)-quick \ +#MM kernel-kernel-$(CPU)-quick + +#MM kernel-kernel-m68k : kernel-kernel-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (kernel,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/kernel/kernel +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/kernel +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(AFILES)))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (kernel,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/kernel_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-kernel-m68k-quick) + BD_TARGET := kernel-kernel-m68k-quick +else + BD_TARGET := kernel-kernel-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(AFILES))) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-kernel-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-kernel-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring kernel,host kernel target),) + $(error unknown compiler kernel) +endif + +ifneq (kernel,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (kernel,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (kernel,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (kernel,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/lowlevel/mmakefile b/arch/m68k-amiga/lowlevel/mmakefile new file mode 100644 index 00000000000..255b1091508 --- /dev/null +++ b/arch/m68k-amiga/lowlevel/mmakefile @@ -0,0 +1,269 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg +include $(SRCDIR)/$(CURDIR)/make.opts + +FILES := \ + addtimerint \ + readjoyport \ + remtimerint \ + setjoyportattrsa \ + starttimerint \ + stoptimerint \ + lowlevel_amiga + +USER_INCLUDES += -I$(SRCDIR)/workbench/libs/lowlevel -I$(SRCDIR)/$(CURDIR)/../cia + +#MM- workbench-libs-lowlevel-amiga-m68k: kernel-potgo-includes + + +ifeq ($(FILES) ,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),workbench-libs-lowlevel-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- workbench-libs-lowlevel : \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU) \ +#MM workbench-libs-lowlevel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-lowlevel-$(ARCH) \ +#MM workbench-libs-lowlevel-$(FAMILY) \ +#MM workbench-libs-lowlevel-$(CPU) +#MM- workbench-libs-lowlevel-linklib : \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU) \ +#MM workbench-libs-lowlevel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-lowlevel-$(ARCH) \ +#MM workbench-libs-lowlevel-$(FAMILY) \ +#MM workbench-libs-lowlevel-$(CPU) +#MM- workbench-libs-lowlevel-kobj : \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU) \ +#MM workbench-libs-lowlevel-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM workbench-libs-lowlevel-$(ARCH) \ +#MM workbench-libs-lowlevel-$(FAMILY) \ +#MM workbench-libs-lowlevel-$(CPU) +#MM- workbench-libs-lowlevel-kobj-quick : \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-lowlevel-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-lowlevel-$(ARCH)-quick \ +#MM workbench-libs-lowlevel-$(FAMILY)-quick \ +#MM workbench-libs-lowlevel-$(CPU)-quick +#MM- workbench-libs-lowlevel-quick : \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-lowlevel-$(ARCH)-$(CPU)-quick \ +#MM workbench-libs-lowlevel-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM workbench-libs-lowlevel-$(ARCH)-quick \ +#MM workbench-libs-lowlevel-$(FAMILY)-quick \ +#MM workbench-libs-lowlevel-$(CPU)-quick + +#MM workbench-libs-lowlevel-amiga-m68k : workbench-libs-lowlevel-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (lowlevel,) + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/lowlevel/lowlevel +else + BD_OBJROOT$(BDID) := $(GENDIR)/workbench/libs/lowlevel +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (lowlevel,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/lowlevel_deflibdefs.h +endif + +ifeq ($(TARGET),workbench-libs-lowlevel-amiga-m68k-quick) + BD_TARGET := workbench-libs-lowlevel-amiga-m68k-quick +else + BD_TARGET := workbench-libs-lowlevel-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +workbench-libs-lowlevel-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +workbench-libs-lowlevel-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (lowlevel,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/mmakefile b/arch/m68k-amiga/mmakefile new file mode 100644 index 00000000000..c6eedaa6414 --- /dev/null +++ b/arch/m68k-amiga/mmakefile @@ -0,0 +1,31 @@ +# +# Rules to create AROS for amiga-m68k +# + +include $(SRCDIR)/config/aros.cfg + +#MM- boot-distfiles-amiga-m68k : bootdisk +#MM- boot-distfiles-quick-amiga-m68k : bootdisk-quick +#MM- distfiles-amiga-m68k : bootiso +#MM- distfiles-quick-amiga-m68k : bootiso-quick + +#MM- AROS-amiga-m68k : kernel-amiga-m68k software-amiga-m68k + +#MM- software-amiga-m68k : general-setup binary-amiga-m68k \ +#MM workbench-amiga-m68k demos + +#MM- workbench-amiga-m68k : workbench-complete workbench + +#MM- AROS-complete-amiga-m68k : AROS-amiga-m68k + +#MM- includes-amiga-m68k : includes-common-i386 includes-copy-amiga-m68k includes-copy + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/potgo/mmakefile b/arch/m68k-amiga/potgo/mmakefile new file mode 100644 index 00000000000..e22ef09800e --- /dev/null +++ b/arch/m68k-amiga/potgo/mmakefile @@ -0,0 +1,1660 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM kernel-potgo : includes kernel-potgo-$(ARCH)-$(CPU) + +FUNCTIONS := allocpotbits freepotbits writepotgo + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-potgo +#MM kernel-potgo-quick +#MM kernel-potgo-makefile +#MM kernel-potgo-clean + +# ABI targets: +#MM- includes-all : kernel-potgo-includes +#MM- linklibs-potgo: kernel-potgo-linklib +#MM- linklibs-potgo_rel : kernel-potgo-linklib +#MM- includes-potgo: kernel-potgo-includes +#MM- includes-potgo_rel : kernel-potgo-includes +#MM- kernel-potgo : kernel-potgo-includes core-linklibs linklibs- +#MM kernel-potgo-linklib : kernel-potgo-includes includes- +#MM- kernel-potgo-quick : kernel-potgo-includes-quick +#MM kernel-potgo-includes : kernel-potgo-makefile kernel-potgo-includes-dirs \ +#MM includes-generate-deps kernel-potgo-fd +#MM kernel-potgo-includes-quick +#MM kernel-potgo-includes-dirs +#MM kernel-potgo-fd + +# Library targets +#MM kernel-potgo-kobj : core-linklibs linklibs- +#MM kernel-potgo-kobj-quick : + +# Library with ABI targets: +#MM kernel-potgo-kobj : kernel-potgo-includes core-linklibs linklibs- +#MM kernel-potgo-kobj-quick : kernel-potgo-includes-quick + +# All MetaMake targets defined by this macro +kernel-potgo_ALLTARGETS := kernel-potgo kernel-potgo-quick kernel-potgo-clean + +ifeq (M,M) +kernel-potgo_ALLTARGETS += kernel-potgo-kobj kernel-potgo-kobj-quick +endif + +ifeq (M,M) +kernel-potgo_ALLTARGETS += kernel-potgo-includes \ + kernel-potgo-includes-quick kernel-potgo-includes-dirs \ + kernel-potgo-linklib kernel-potgo-fd +endif + +.PHONY : $(kernel-potgo_ALLTARGETS) kernel-potgo-makefile + +ifeq (potgo,) +$(error using %build_module: modname may not be empty) +endif +ifeq (resource,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-potgo_DEFNAME := potgo_ +else + kernel-potgo_DEFNAME := potgo +endif +kernel-potgo_DEFLINKLIBNAME := $(kernel-potgo_DEFNAME) +ifneq (,) + kernel-potgo_LINKLIBNAME := +else + kernel-potgo_LINKLIBNAME = $(kernel-potgo_DEFLINKLIBNAME) +endif +kernel-potgo_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-potgo_DEFCPPFLAGS += -I +endif +kernel-potgo_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-potgo_DFLAGS := +else + kernel-potgo_DFLAGS = $(kernel-potgo_DEFDFLAGS) +endif +kernel-potgo_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-potgo_DXXFLAGS := +else + kernel-potgo_DXXFLAGS = $(kernel-potgo_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-potgo_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-potgo_DEFDFLAGS)) +kernel-potgo_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-potgo_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-potgo_FUNCINSTR := yes +kernel-potgo_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-potgo_DEFDFLAGS)) +kernel-potgo_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-potgo_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-potgo_OBJDIR := +else +kernel-potgo_OBJDIR := $(OBJDIR)/$(kernel-potgo_DEFNAME) +endif +ifneq (,) +kernel-potgo_OBJDIR := $(kernel-potgo_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-potgo-makefile := $(kernel-potgo_OBJDIR)/Makefile.$(kernel-potgo_DEFNAME)resource +kernel-potgo-genmakefile : $(kernel-potgo-makefile) + + +kernel-potgo-genmakefile_OPTS := +ifneq (,) + kernel-potgo-genmakefile_OPTS += -f + kernel-potgo-genmakefile_MODNAME := potgo_ +else + kernel-potgo-genmakefile_MODNAME := potgo +endif +kernel-potgo-genmakefile_TARGET := Makefile.$(kernel-potgo-genmakefile_MODNAME)resource +kernel-potgo-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-potgo-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-potgo-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-potgo-genmakefile_OPTS += -c + kernel-potgo-genmakefile_DEPS += + endif +else + kernel-potgo-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/potgo.conf + kernel-potgo-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/potgo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-potgo-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-potgo-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-potgo-genmakefile_OPTS += -o + kernel-potgo-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-potgo-genmakefile_OPTS += -s +endif +ifneq ($(kernel-potgo_OBJDIR),) + kernel-potgo-genmakefile_OPTS += -d $(kernel-potgo_OBJDIR) + kernel-potgo-genmakefile_TARGET := $(kernel-potgo_OBJDIR)/$(kernel-potgo-genmakefile_TARGET) +endif + +$(kernel-potgo-genmakefile_TARGET) : OPTS := $(kernel-potgo-genmakefile_OPTS) +$(kernel-potgo-genmakefile_TARGET) : MODNAME := potgo +$(kernel-potgo-genmakefile_TARGET) : MODTYPE := resource +$(kernel-potgo-genmakefile_TARGET) : $(kernel-potgo-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-potgo-makefile),) +$(kernel-potgo-makefile) : | $(kernel-potgo_OBJDIR) +else +$(kernel-potgo-makefile) :: $(kernel-potgo_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-potgo_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-potgo_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-potgo-makefile) + +kernel-potgo_DEFMODDIR := $($(kernel-potgo_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-potgo_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-potgo_DEFMODDIR) +endif +ifneq (,) + kernel-potgo_MODDIR := +else + kernel-potgo_MODDIR := $(kernel-potgo_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-potgo_INCDIR := +else +kernel-potgo_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-potgo_LIBDEFSINC := $(kernel-potgo_OBJDIR)/include/$(kernel-potgo_DEFNAME)_libdefs.h +kernel-potgo_DEFLIBDEFSINC := $(kernel-potgo_OBJDIR)/include/$(kernel-potgo_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-potgo-includes-quick : kernel-potgo-includes +kernel-potgo-includes : $(addprefix $(GENINCDIR)/,$($(kernel-potgo_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-potgo_INCDIR)/,$($(kernel-potgo_DEFNAME)_INCLUDES)) \ + $(kernel-potgo_LIBDEFSINC) $(kernel-potgo_DEFLIBDEFSINC) + +ifneq ($($(kernel-potgo_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-potgo-includes_MODNAME := potgo_ +else + kernel-potgo-includes_MODNAME := potgo +endif + +ifneq ($($(kernel-potgo-includes_MODNAME)_INCLUDES),) + +kernel-potgo-includes_TARGETS := $($(kernel-potgo-includes_MODNAME)_INCLUDES) + +kernel-potgo-includes_DEPS := $(GENMODULE) +kernel-potgo-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-potgo-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-potgo-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-potgo-includes_OPTS += -c + kernel-potgo-includes_DEPS += + endif +else + kernel-potgo-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/potgo.conf + kernel-potgo-includes_DEPS += $(SRCDIR)/$(CURDIR)/potgo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-potgo-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-potgo-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-potgo-includes_OPTS += -o + kernel-potgo-includes_DEPS += + endif +endif +ifneq (,) + kernel-potgo-includes_OPTS += -s +endif +ifneq ($(kernel-potgo_OBJDIR)/include,) + kernel-potgo-includes_OPTS += -d $(kernel-potgo_OBJDIR)/include + kernel-potgo-includes_TARGETS := $(addprefix $(kernel-potgo_OBJDIR)/include/,$(kernel-potgo-includes_TARGETS)) + kernel-potgo-includes_GENINCFLAG=$(kernel-potgo_OBJDIR)/include/.potgo.resource-includes +else + kernel-potgo-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.potgo.resource-includes +endif + +$(kernel-potgo-includes_TARGETS) : $(kernel-potgo-includes_DEPS) $(kernel-potgo-includes_GENINCFLAG) + +$(kernel-potgo-includes_GENINCFLAG) : OPTS := $(kernel-potgo-includes_OPTS) +$(kernel-potgo-includes_GENINCFLAG) : MODNAME := potgo +$(kernel-potgo-includes_GENINCFLAG) : MODTYPE := resource +$(kernel-potgo-includes_GENINCFLAG) : $(kernel-potgo-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-potgo_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-potgo_DEFNAME)_INCLUDES)) : | $(kernel-potgo_OBJDIR)/potgo_geninc + +$(kernel-potgo_OBJDIR)/potgo_geninc : COPYSRCDIR := $(kernel-potgo_OBJDIR)/include +$(kernel-potgo_OBJDIR)/potgo_geninc : TGTDIR := $(GENINCDIR) +$(kernel-potgo_OBJDIR)/potgo_geninc : FILES := $($(kernel-potgo_DEFNAME)_INCLUDES) +$(kernel-potgo_OBJDIR)/potgo_geninc : $(addprefix $(kernel-potgo_OBJDIR)/include/,$($(kernel-potgo_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-potgo_OBJDIR)/include + +$(addprefix $(kernel-potgo_INCDIR)/,$($(kernel-potgo_DEFNAME)_INCLUDES)) : | $(kernel-potgo_OBJDIR)/potgo_incs + +$(kernel-potgo_OBJDIR)/potgo_incs : COPYSRCDIR := $(kernel-potgo_OBJDIR)/include +$(kernel-potgo_OBJDIR)/potgo_incs : TGTDIR := $(kernel-potgo_INCDIR) +$(kernel-potgo_OBJDIR)/potgo_incs : FILES := $($(kernel-potgo_DEFNAME)_INCLUDES) +$(kernel-potgo_OBJDIR)/potgo_incs : $(addprefix $(kernel-potgo_OBJDIR)/include/,$($(kernel-potgo_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-potgo_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-potgo_DEFNAME)_INCLUDES)))) + +TMPpotgo_INCDIRS := \ + $(kernel-potgo_OBJDIR)/include $(addprefix $(kernel-potgo_OBJDIR)/include/,$(kernel-potgo_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-potgo_INCDIRS)) \ + $(kernel-potgo_INCDIR) $(addprefix $(kernel-potgo_INCDIR)/,$(kernel-potgo_INCDIRS)) + +ifneq (kernel-potgo-includes-dirs,) +kernel-potgo-includes-dirs : | $(TMPpotgo_INCDIRS) +else +kernel-potgo-includes-dirs :: $(TMPpotgo_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPpotgo_INCDIRS) + + +endif + +endif + + +kernel-potgo-genlibdefs_OPTS := +ifneq (,) + kernel-potgo-genlibdefs_OPTS += -f + kernel-potgo-genlibdefs_MODNAME := potgo_ +else + kernel-potgo-genlibdefs_MODNAME := potgo +endif +kernel-potgo-genlibdefs_TARGET := $(kernel-potgo-genlibdefs_MODNAME)_libdefs.h +kernel-potgo-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-potgo-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-potgo-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-potgo-genlibdefs_OPTS += -c + kernel-potgo-genlibdefs_DEPS += + endif +else + kernel-potgo-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/potgo.conf + kernel-potgo-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/potgo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-potgo-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-potgo-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-potgo-genlibdefs_OPTS += -o + kernel-potgo-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-potgo-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-potgo_OBJDIR)/include,) + kernel-potgo-genlibdefs_OPTS += -d $(kernel-potgo_OBJDIR)/include + kernel-potgo-genlibdefs_TARGET := $(kernel-potgo_OBJDIR)/include/$(kernel-potgo-genlibdefs_TARGET) +endif +ifneq (,) + kernel-potgo-genlibdefs_OPTS += -v +endif + +$(kernel-potgo-genlibdefs_TARGET) : OPTS := $(kernel-potgo-genlibdefs_OPTS) +$(kernel-potgo-genlibdefs_TARGET) : MODNAME := potgo +$(kernel-potgo-genlibdefs_TARGET) : MODTYPE := resource +$(kernel-potgo-genlibdefs_TARGET) : $(kernel-potgo-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-potgo_DEFLIBDEFSINC) : FILENAME := $(kernel-potgo_LIBDEFSINC) +$(kernel-potgo_DEFLIBDEFSINC) : $(kernel-potgo_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-potgo_LIBDEFSINC) $(kernel-potgo_DEFLIBDEFSINC) : | $(kernel-potgo_OBJDIR)/include + +ifneq (kernel-potgo-includes-dirs,) +kernel-potgo-includes-dirs : | $(kernel-potgo_OBJDIR)/include +else +kernel-potgo-includes-dirs :: $(kernel-potgo_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-potgo_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-potgo-genmodfiles_OPTS := +ifneq (,) + kernel-potgo-genmodfiles_OPTS += -f + kernel-potgo-genmodfiles_MODNAME := potgo_ +else + kernel-potgo-genmodfiles_MODNAME := potgo +endif +kernel-potgo-genmodfiles_GENTARGETS := $($(kernel-potgo-genmodfiles_MODNAME)_STARTFILES) $($(kernel-potgo-genmodfiles_MODNAME)_ENDFILES) +kernel-potgo-genmodfiles_STUBTARGETS := $($(kernel-potgo-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-potgo-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-potgo-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-potgo-genmodfiles_GENTARGETS)) +kernel-potgo-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-potgo-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-potgo-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-potgo-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-potgo-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-potgo-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-potgo-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-potgo-genmodfiles_OPTS += -c + kernel-potgo-genmodfiles_DEPS += + endif +else + kernel-potgo-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/potgo.conf + kernel-potgo-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/potgo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-potgo-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-potgo-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-potgo-genmodfiles_OPTS += -o + kernel-potgo-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-potgo-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-potgo_OBJDIR),) + kernel-potgo-genmodfiles_OPTS += -d $(kernel-potgo_OBJDIR) + kernel-potgo-genmodfiles_TARGETDIR := $(shell echo $(kernel-potgo_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-potgo-genmodfiles_GENTARGETS := $(addprefix $(kernel-potgo-genmodfiles_TARGETDIR)/,$(kernel-potgo-genmodfiles_GENTARGETS)) + kernel-potgo-genmodfiles_GENFILEFLAG=$(kernel-potgo-genmodfiles_TARGETDIR)/.potgo.resource-genfiles +else + kernel-potgo-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.potgo.resource-genfiles +endif +ifneq ($(kernel-potgo_OBJDIR)/linklib,) + kernel-potgo-genmodfiles_OPTS += -l $(kernel-potgo_OBJDIR)/linklib + kernel-potgo-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-potgo_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-potgo-genmodfiles_STUBTARGETS := $(addprefix $(kernel-potgo-genmodfiles_STUBTARGETDIR)/,$(kernel-potgo-genmodfiles_STUBTARGETS)) + kernel-potgo-genmodfiles_TARGETDIRS += $(kernel-potgo_OBJDIR)/linklib +else +ifneq ($(kernel-potgo_OBJDIR),) + kernel-potgo-genmodfiles_STUBTARGETS := $(addprefix $(kernel-potgo-genmodfiles_TARGETDIR)/,$(kernel-potgo-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-potgo-genmodfiles_TARGETS := $(kernel-potgo-genmodfiles_GENTARGETS) $(kernel-potgo-genmodfiles_STUBTARGETS) +ifneq ($(kernel-potgo-genmodfiles_TARGETDIRS),) +$(kernel-potgo-genmodfiles_TARGETS) : | $(kernel-potgo-genmodfiles_TARGETDIRS) +endif + +$(kernel-potgo-genmodfiles_TARGETS) : $(kernel-potgo-genmodfiles_DEPS) $(kernel-potgo-genmodfiles_GENFILEFLAG) + +$(kernel-potgo-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-potgo-genmodfiles_OPTS) +$(kernel-potgo-genmodfiles_GENFILEFLAG) : MODNAME := potgo +$(kernel-potgo-genmodfiles_GENFILEFLAG) : MODTYPE := resource +$(kernel-potgo-genmodfiles_GENFILEFLAG) : $(kernel-potgo-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-potgo-genmodfiles_GENFILEFLAG) : $(kernel-potgo_DEFLIBDEFSINC) $(kernel-potgo-makefile) + + +ifneq ($(kernel-potgo-genmodfiles_GENFILEFLAG),) +$(kernel-potgo-genmodfiles_GENFILEFLAG) : | $(kernel-potgo_OBJDIR)/linklib +else +$(kernel-potgo-genmodfiles_GENFILEFLAG) :: $(kernel-potgo_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-potgo_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-potgo_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-potgo_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-potgo-fd : $(kernel-potgo_FDDIR)/potgo_lib.fd + + +TMP_TARGET := potgo_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/potgo.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/potgo.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-potgo_FDDIR),) + TMP_OPTS += -d $(kernel-potgo_FDDIR) + TMP_TARGET := $(kernel-potgo_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := potgo +$(TMP_TARGET) : MODTYPE := resource +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-potgo_FDDIR)/potgo_lib.fd : | $(kernel-potgo_FDDIR) + + +ifneq (kernel-potgo-fd-setup,) +kernel-potgo-fd-setup : | $(kernel-potgo_FDDIR) +else +kernel-potgo-fd-setup :: $(kernel-potgo_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-potgo_FDDIR) + +endif + +## Compilation +## +kernel-potgo_FILES := $(FUNCTIONS) +kernel-potgo_OBJCFILES := +kernel-potgo_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-potgo_LIBFILES := +kernel-potgo_LIBS := + +kernel-potgo_FDIRS := $(sort $(dir $(kernel-potgo_FILES))) + +kernel-potgo_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-potgo_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-potgo_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-potgo_FILTERARCH = $(filter-out $(call kernel-potgo_MATCHARCH,$(1),$(2)),$(2)) +kernel-potgo_STARTFILES := $(addprefix $(kernel-potgo_OBJDIR)/,$($(kernel-potgo_DEFNAME)_STARTFILES)) +kernel-potgo_ENDFILES := $(addprefix $(kernel-potgo_OBJDIR)/,$($(kernel-potgo_DEFNAME)_ENDFILES)) + +kernel-potgo_ARCHOBJS := $(wildcard $(kernel-potgo_OBJDIR)/arch/*.o) +kernel-potgo_LIBARCHOBJS := $(wildcard $(kernel-potgo_OBJDIR)/linklib/arch/*.o) +kernel-potgo_ARCHFILES := $(basename $(notdir $(kernel-potgo_ARCHOBJS))) +kernel-potgo_LIBARCHFILES := $(basename $(notdir $(kernel-potgo_LIBARCHOBJS))) +kernel-potgo_C_NARCHFILES := $(call kernel-potgo_FILTERARCH,$(kernel-potgo_ARCHFILES),$(kernel-potgo_FILES)) +kernel-potgo_CXX_NARCHFILES := $(call kernel-potgo_FILTERARCH,$(kernel-potgo_ARCHFILES),$(kernel-potgo_CXXFILES)) +kernel-potgo_OBJC_NARCHFILES := $(call kernel-potgo_FILTERARCH,$(kernel-potgo_ARCHFILES),$(kernel-potgo_OBJCFILES)) +kernel-potgo_NLIBARCHFILES := $(call kernel-potgo_FILTERARCH,$(kernel-potgo_LIBARCHFILES),$(kernel-potgo_LIBFILES)) +kernel-potgo_ARCHNLIBFILES := $(call kernel-potgo_FILTERARCH,$(kernel-potgo_LIBFILES),$(kernel-potgo_LIBARCHFILES)) + +kernel-potgo_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-potgo_OBJDIR)/include -include $(kernel-potgo_DEFLIBDEFSINC)) +ifneq (,) +kernel-potgo_CPPFLAGS += -I +endif +kernel-potgo_LINKLIBCPPFLAGS := $(kernel-potgo_CPPFLAGS) +kernel-potgo_CPPFLAGS += $(strip $($(kernel-potgo_DEFNAME)_CPPFLAGS)) +kernel-potgo_LINKLIBCPPFLAGS += $(strip $($(kernel-potgo_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-potgo_CFLAGS := $(strip $(CFLAGS) $($(kernel-potgo_DEFNAME)_CFLAGS)) +kernel-potgo_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-potgo_DEFNAME)_LINKLIBCFLAGS)) +kernel-potgo_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-potgo_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-potgo_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-potgo_CFLAGS := $(strip $(kernel-potgo_LTOFLAGS) $(kernel-potgo_CFLAGS)) +kernel-potgo_LINKLIBCFLAGS := $(strip $(kernel-potgo_LTOFLAGS) $(kernel-potgo_LINKLIBCFLAGS)) +kernel-potgo_CXXFLAGS := $(strip $(kernel-potgo_LTOFLAGS) $(kernel-potgo_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-potgo_SUBSTNULL := +kernel-potgo_SUBSTSPACE := $(kernel-potgo_SUBSTNULL) # +kernel-potgo_SUBSTCOMMA := , +kernel-potgo_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-potgo_SUBSTSPACE),$(kernel-potgo_SUBSTCOMMA),$(strip $($(kernel-potgo_DEFNAME)_STARTFILES)))) +kernel-potgo_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-potgo_CFLAGS := $(strip $(kernel-potgo_INSTRFUNCFLAGS) $(kernel-potgo_CFLAGS)) +kernel-potgo_CXXFLAGS := $(strip $(kernel-potgo_INSTRFUNCFLAGS) $(kernel-potgo_CXXFLAGS)) +kernel-potgo_LIBS += $(kernel-potgo_INSTRFUNCLIBS) +endif +endif +kernel-potgo_DFLAGS := $(strip $(kernel-potgo_DFLAGS) $($(kernel-potgo_DEFNAME)_DFLAGS)) +kernel-potgo_LINKLIBDFLAGS := $(strip $(kernel-potgo_DFLAGS) $($(kernel-potgo_DEFNAME)_LINKLIBDFLAGS)) +kernel-potgo_DXXFLAGS := $(strip $(kernel-potgo_DXXFLAGS) $($(kernel-potgo_DEFNAME)_DXXFLAGS)) + +ifeq (resource,library) + kernel-potgo_LIBSUFFIX := +else + kernel-potgo_LIBSUFFIX := .resource +endif + +ifeq (,) +kernel-potgo_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-potgo_LIBDIR := +endif + +ifeq (M,M) +kernel-potgo_LINKLIBCFILES := $(addprefix $(kernel-potgo_OBJDIR)/linklib/,$($(kernel-potgo_DEFNAME)_LINKLIBFILES)) +kernel-potgo_LINKLIBAFILES := $(addprefix $(kernel-potgo_OBJDIR)/linklib/,$($(kernel-potgo_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-potgo_DEFNAME)_LINKLIBFILES) $($(kernel-potgo_DEFNAME)_LINKLIBAFILES) $(kernel-potgo_ARCHNLIBFILES)),) + kernel-potgo_LINKLIB := +else + kernel-potgo_LINKLIB := $(kernel-potgo_LIBDIR)/libpotgo$(kernel-potgo_LIBSUFFIX).a + ifneq (potgo,$(kernel-potgo_LINKLIBNAME)) + kernel-potgo_LINKLIB += $(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)$(kernel-potgo_LIBSUFFIX).a + endif +endif +kernel-potgo_LINKLIBFILES := $(kernel-potgo_LINKLIBCFILES) $(kernel-potgo_LINKLIBAFILES) + +kernel-potgo_RELLINKLIBCFILES := $(addprefix $(kernel-potgo_OBJDIR)/linklib/,$($(kernel-potgo_DEFNAME)_RELLINKLIBFILES)) +kernel-potgo_RELLINKLIBAFILES := $(addprefix $(kernel-potgo_OBJDIR)/linklib/,$($(kernel-potgo_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-potgo_DEFNAME)_RELLINKLIBFILES) $($(kernel-potgo_DEFNAME)_RELLINKLIBAFILES) $(kernel-potgo_ARCHNLIBFILES)),) + kernel-potgo_RELLINKLIB := +else + kernel-potgo_RELLINKLIB := $(kernel-potgo_LIBDIR)/lib$(kernel-potgo_DEFNAME)_rel$(kernel-potgo_LIBSUFFIX).a + ifneq (potgo,$(kernel-potgo_LINKLIBNAME)) + kernel-potgo_RELLINKLIB += $(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)_rel$(kernel-potgo_LIBSUFFIX).a + endif +endif +kernel-potgo_RELLINKLIBFILES := $(kernel-potgo_RELLINKLIBCFILES) $(kernel-potgo_RELLINKLIBAFILES) +endif + +kernel-potgo_ENDOBJS := $(addsuffix .o,$(kernel-potgo_ENDFILES)) +kernel-potgo_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(notdir $(kernel-potgo_NLIBARCHFILES))) $(addprefix $(kernel-potgo_OBJDIR)/linklib/arch/,$(notdir $(kernel-potgo_ARCHNLIBFILES))) $(kernel-potgo_LINKLIBFILES)) \ + +kernel-potgo_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(notdir $(kernel-potgo_NLIBARCHFILES))) $(addprefix $(kernel-potgo_OBJDIR)/linklib/arch/,$(notdir $(kernel-potgo_ARCHNLIBFILES))) $(kernel-potgo_RELLINKLIBFILES)) \ + +$(kernel-potgo_LINKLIBFILES) $(kernel-potgo_RELLINKLIBFILES) : | $(kernel-potgo_OBJDIR)/linklib +$(kernel-potgo_LINKLIBOBJS) $(kernel-potgo_RELLINKLIBOBJS) : | $(kernel-potgo_OBJDIR)/linklib + +kernel-potgo_CCFILES := $(kernel-potgo_C_NARCHFILES) +kernel-potgo_TARGETCCFILES := $(strip $(kernel-potgo_STARTFILES) $(kernel-potgo_ENDFILES)) +kernel-potgo_LINKLIBCCFILES := $(strip $(kernel-potgo_NLIBARCHFILES) $(kernel-potgo_LINKLIBCFILES) $(kernel-potgo_RELLINKLIBCFILES)) +kernel-potgo_LINKLIBCCGENFILES := $(strip $(kernel-potgo_LINKLIBCFILES) $(kernel-potgo_RELLINKLIBCFILES)) + + +kernel-potgo_CXXABSBASENAMES := $(foreach kernel-potgo_CXXBASE,$(kernel-potgo_CXX_NARCHFILES),$(if $(filter /%,$(kernel-potgo_CXXBASE)),$(kernel-potgo_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-potgo_CXXBASE)))) + +ifneq ($(kernel-potgo_CXXABSBASENAMES),) + +kernel-potgo_CXXBASENAMES := $(basename $(kernel-potgo_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-potgo_MCXX_FILES := $(strip $(foreach kernel-potgo_CXXBASE,$(kernel-potgo_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-potgo_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-potgo_EXT),$(kernel-potgo_CXXBASE))))))) + +ifeq (,) +kernel-potgo_MCXX_SRCWILDCARD := % +else +kernel-potgo_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-potgo_OBJDIR),) + kernel-potgo_CXXTARGETS := $(notdir $(kernel-potgo_CXXBASENAMES:=.o)) + kernel-potgo_CXXDTARGETS := $(notdir $(kernel-potgo_CXXBASENAMES:=.d)) + kernel-potgo_MCXX_WILDCARD := % +else + kernel-potgo_CXXTARGETS := $(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(kernel-potgo_CXXBASENAMES:=.o))) + kernel-potgo_CXXDTARGETS := $(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(kernel-potgo_CXXBASENAMES:=.d))) + kernel-potgo_MCXX_WILDCARD := $(kernel-potgo_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-potgo_CXXTARGETS) $(kernel-potgo_CXXDTARGETS) : | $(kernel-potgo_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-potgo_MCXX_CPPFLAGS := $(kernel-potgo_CPPFLAGS) +kernel-potgo_CXXFLAGS := $(kernel-potgo_CXXFLAGS) +ifeq ($(kernel-potgo_DXXFLAGS),) + kernel-potgo_DXXFLAGS := $(kernel-potgo_CXXFLAGS) +else + kernel-potgo_DXXFLAGS := $(kernel-potgo_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-potgo_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-potgo_STRIP ?= $(HOST_STRIP) + kernel-potgo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-potgo_CXXCMD:=$(HOST_CXX) + kernel-potgo_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-potgo_MCXX_CPPFLAGS) $(kernel-potgo_MCXX_EXTRA_CPPFLAGS)) + kernel-potgo_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-potgo_CXXFLAGS)) + kernel-potgo_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-potgo_DXXFLAGS)) + kernel-potgo_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-potgo_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-potgo_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-potgo_STRIP ?= $(TARGET_STRIP) + kernel-potgo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-potgo_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-potgo_MCXX_CPPFLAGS := $(strip $(kernel-potgo_MCXX_CPPFLAGS) $(kernel-potgo_MCXX_EXTRA_CPPFLAGS)) + kernel-potgo_CXXFLAGS := $(strip $(kernel-potgo_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-potgo_DXXFLAGS := $(kernel-potgo_DXXFLAGS) + kernel-potgo_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-potgo_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-potgo_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-potgo_STRIP ?= $(ECHO) >/dev/null + kernel-potgo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-potgo_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-potgo_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-potgo_MCXX_CPPFLAGS) $(kernel-potgo_MCXX_EXTRA_CPPFLAGS)) + kernel-potgo_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-potgo_CXXFLAGS)) + kernel-potgo_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-potgo_DXXFLAGS)) + kernel-potgo_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-potgo_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-potgo_CXXCMD) $(kernel-potgo_CXXIQUOTE) $(dir $(2)) $(kernel-potgo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_CXXIQUOTE) . $(kernel-potgo_CXXIQUOTE_END) $(strip $(kernel-potgo_CXXFLAGS) $(kernel-potgo_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-potgo_CXXCMD) $(kernel-potgo_CXXIQUOTE) $(dir $(2)) $(kernel-potgo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_CXXIQUOTE) . $(kernel-potgo_CXXIQUOTE_END) $(strip $(kernel-potgo_CXXFLAGS) $(kernel-potgo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-potgo_CXXCMD) $(kernel-potgo_CXXIQUOTE) $(dir $(2)) $(kernel-potgo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_CXXIQUOTE) . $(kernel-potgo_CXXIQUOTE_END) $(strip $(kernel-potgo_CXXFLAGS) $(kernel-potgo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-potgo_CXXCMD)" $(MKDEPEND) $(strip $(kernel-potgo_DXXFLAGS) $(kernel-potgo_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-potgo_OBJDIR),) + $(foreach kernel-potgo_CXXFILE,$(kernel-potgo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-potgo_CXXFILE))),$(kernel-potgo_CXXFILE)))) +else + $(foreach kernel-potgo_CXXFILE,$(kernel-potgo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(basename $(kernel-potgo_CXXFILE)))),$(kernel-potgo_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-potgo_OBJC_NARCHFILES),) + +ifeq (,) +kernel-potgo_MOBJC_SRCWILDCARD := % +else +kernel-potgo_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-potgo_OBJDIR),) + kernel-potgo_MOBJC_TARGETS := $(addsuffix .o,$(kernel-potgo_OBJC_NARCHFILES)) + kernel-potgo_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-potgo_OBJC_NARCHFILES)) + kernel-potgo_MOBJC_WILDCARD := % +else + kernel-potgo_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/,$(kernel-potgo_OBJC_NARCHFILES))) + kernel-potgo_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/,$(kernel-potgo_OBJC_NARCHFILES))) + kernel-potgo_MOBJC_WILDCARD := $(kernel-potgo_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-potgo_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-potgo_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-potgo_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-potgo_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-potgo_MOBJC_DIRS := $(foreach dir, $(kernel-potgo_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-potgo_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-potgo_MOBJC_DIRS),) + kernel-potgo_MOBJC_DIRS := $(shell echo $(kernel-potgo_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-potgo_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-potgo_CC := $(TARGET_CC) +else + kernel-potgo_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-potgo_MOBJC_CPPFLAGS := $(kernel-potgo_CPPFLAGS) +kernel-potgo_OBJCFLAGS := $(kernel-potgo_CFLAGS) +kernel-potgo_OBJCFLAGS := $(kernel-potgo_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-potgo_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-potgo_OBJCFLAGS))) +ifeq ($(kernel-potgo_DFLAGS),) + kernel-potgo_OBJCDFLAGS := $(kernel-potgo_CFLAGS) +else + kernel-potgo_OBJCDFLAGS := $(kernel-potgo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-potgo_LINK ?= $(strip $(kernel-potgo_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-potgo_STRIP ?= $(TARGET_STRIP) + kernel-potgo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-potgo_CC) $(TARGET_SYSROOT)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_MOBJC_CPPFLAGS:=$(strip $(kernel-potgo_MOBJC_CPPFLAGS) $(kernel-potgo_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_OBJCFLAGS:=$(strip $(kernel-potgo_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_OBJCDFLAGS:=$(kernel-potgo_OBJCDFLAGS) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-potgo_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-potgo_STRIP ?= $(HOST_STRIP) + kernel-potgo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-potgo_MOBJC_CPPFLAGS) $(kernel-potgo_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_OBJCFLAGS)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_OBJCDFLAGS)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_IQUOTE:=$(HOST_IQUOTE) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-potgo_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-potgo_STRIP ?= $(ECHO) >/dev/null + kernel-potgo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-potgo_MOBJC_CPPFLAGS) $(kernel-potgo_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_OBJCFLAGS)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_OBJCDFLAGS)) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-potgo_MOBJC_TARGETS) $(kernel-potgo_MOBJC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-potgo_MOBJC_TARGETS) : CPPFLAGS := $(kernel-potgo_MOBJC_CPPFLAGS) +$(kernel-potgo_MOBJC_TARGETS) : CFLAGS := $(kernel-potgo_OBJCFLAGS) +$(kernel-potgo_MOBJC_TARGETS) : $(kernel-potgo_MOBJC_WILDCARD).o : $(kernel-potgo_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-potgo_MOBJC_DTARGETS) : $(kernel-potgo_MOBJC_WILDCARD).d : $(kernel-potgo_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-potgo_OBJCDFLAGS) $(kernel-potgo_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-potgo_MC_SRCWILDCARD := % +else +kernel-potgo_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-potgo_OBJDIR),) +kernel-potgo_MC_TARGETS := $(addsuffix .o,$(kernel-potgo_CCFILES)) +kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(kernel-potgo_CCFILES)) +kernel-potgo_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(kernel-potgo_CCFILES)))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(kernel-potgo_CCFILES)))) +else +ifeq (,) + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/,$(kernel-potgo_CCFILES))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/,$(kernel-potgo_CCFILES))) +else + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/,$(patsubst /%,%,$(kernel-potgo_CCFILES)))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/,$(patsubst /%,%,$(kernel-potgo_CCFILES)))) +endif +endif +kernel-potgo_MC_TGTWILDCARD := $(kernel-potgo_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : | $(addsuffix .c,$(kernel-potgo_CCFILES)) + +# Be sure that all .c files are found +kernel-potgo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-potgo_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-potgo_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-potgo_MC_DIRS := $(foreach dir, $(kernel-potgo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-potgo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-potgo_MC_DIRS),) + kernel-potgo_MC_DIRS := $(shell echo $(kernel-potgo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-potgo_MC_DIRS) +endif + +endif + +kernel-potgo_MC_CPPFLAGS := $(kernel-potgo_CPPFLAGS) +kernel-potgo_CFLAGS := $(kernel-potgo_CFLAGS) +ifeq ($(kernel-potgo_DFLAGS),) + kernel-potgo_DFLAGS := $(kernel-potgo_CFLAGS) +else + kernel-potgo_DFLAGS := $(kernel-potgo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-potgo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-potgo_STRIP ?= $(TARGET_STRIP) +kernel-potgo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(kernel-potgo_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(kernel-potgo_DFLAGS) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-potgo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-potgo_STRIP ?= $(HOST_STRIP) +kernel-potgo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_DFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(HOST_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-potgo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-potgo_STRIP ?= $(ECHO) >/dev/null +kernel-potgo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_DFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-potgo_MC_TARGETS) : CPPFLAGS := $(kernel-potgo_MC_CPPFLAGS) +$(kernel-potgo_MC_TARGETS) : CFLAGS := $(kernel-potgo_CFLAGS) +$(kernel-potgo_MC_TARGETS) : $(kernel-potgo_MC_TGTWILDCARD).o : $(kernel-potgo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-potgo_MC_DTARGETS) : $(kernel-potgo_MC_TGTWILDCARD).d : $(kernel-potgo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-potgo_DFLAGS) $(kernel-potgo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-potgo_MC_SRCWILDCARD := % +else +kernel-potgo_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-potgo_OBJDIR),) +kernel-potgo_MC_TARGETS := $(addsuffix .o,$(kernel-potgo_TARGETCCFILES)) +kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(kernel-potgo_TARGETCCFILES)) +kernel-potgo_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(kernel-potgo_TARGETCCFILES)))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(kernel-potgo_TARGETCCFILES)))) +else +ifeq (,) + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/,$(kernel-potgo_TARGETCCFILES))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/,$(kernel-potgo_TARGETCCFILES))) +else + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/,$(patsubst /%,%,$(kernel-potgo_TARGETCCFILES)))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/,$(patsubst /%,%,$(kernel-potgo_TARGETCCFILES)))) +endif +endif +kernel-potgo_MC_TGTWILDCARD := $(kernel-potgo_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : | $(addsuffix .c,$(kernel-potgo_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-potgo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-potgo_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-potgo_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-potgo_MC_DIRS := $(foreach dir, $(kernel-potgo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-potgo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-potgo_MC_DIRS),) + kernel-potgo_MC_DIRS := $(shell echo $(kernel-potgo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-potgo_MC_DIRS) +endif + +endif + +kernel-potgo_MC_CPPFLAGS := $(kernel-potgo_CPPFLAGS) -D__AROS__ +kernel-potgo_CFLAGS := $(kernel-potgo_CFLAGS) +ifeq ($(kernel-potgo_DFLAGS),) + kernel-potgo_DFLAGS := $(kernel-potgo_CFLAGS) +else + kernel-potgo_DFLAGS := $(kernel-potgo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-potgo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-potgo_STRIP ?= $(TARGET_STRIP) +kernel-potgo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(kernel-potgo_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(kernel-potgo_DFLAGS) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-potgo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-potgo_STRIP ?= $(HOST_STRIP) +kernel-potgo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_DFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(HOST_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-potgo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-potgo_STRIP ?= $(ECHO) >/dev/null +kernel-potgo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_DFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-potgo_MC_TARGETS) : CPPFLAGS := $(kernel-potgo_MC_CPPFLAGS) +$(kernel-potgo_MC_TARGETS) : CFLAGS := $(kernel-potgo_CFLAGS) +$(kernel-potgo_MC_TARGETS) : $(kernel-potgo_MC_TGTWILDCARD).o : $(kernel-potgo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-potgo_MC_DTARGETS) : $(kernel-potgo_MC_TGTWILDCARD).d : $(kernel-potgo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-potgo_DFLAGS) $(kernel-potgo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-potgo_MC_SRCWILDCARD := % +else +kernel-potgo_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-potgo_OBJDIR)/linklib,) +kernel-potgo_MC_TARGETS := $(addsuffix .o,$(kernel-potgo_NLIBARCHFILES)) +kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(kernel-potgo_NLIBARCHFILES)) +kernel-potgo_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(notdir $(kernel-potgo_NLIBARCHFILES)))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(notdir $(kernel-potgo_NLIBARCHFILES)))) +else +ifeq (,) + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(kernel-potgo_NLIBARCHFILES))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(kernel-potgo_NLIBARCHFILES))) +else + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-potgo_NLIBARCHFILES)))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-potgo_NLIBARCHFILES)))) +endif +endif +kernel-potgo_MC_TGTWILDCARD := $(kernel-potgo_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : | $(addsuffix .c,$(kernel-potgo_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-potgo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-potgo_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-potgo_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-potgo_MC_DIRS := $(foreach dir, $(kernel-potgo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-potgo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-potgo_MC_DIRS),) + kernel-potgo_MC_DIRS := $(shell echo $(kernel-potgo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-potgo_MC_DIRS) +endif + +endif + +kernel-potgo_MC_CPPFLAGS := $(kernel-potgo_LINKLIBCPPFLAGS) -D__AROS__ +kernel-potgo_CFLAGS := $(kernel-potgo_LINKLIBCFLAGS) +ifeq ($(kernel-potgo_LINKLIBDFLAGS),) + kernel-potgo_DFLAGS := $(kernel-potgo_LINKLIBCFLAGS) +else + kernel-potgo_DFLAGS := $(kernel-potgo_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-potgo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-potgo_STRIP ?= $(TARGET_STRIP) +kernel-potgo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(kernel-potgo_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(kernel-potgo_DFLAGS) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-potgo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-potgo_STRIP ?= $(HOST_STRIP) +kernel-potgo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_DFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(HOST_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-potgo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-potgo_STRIP ?= $(ECHO) >/dev/null +kernel-potgo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_DFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-potgo_MC_TARGETS) : CPPFLAGS := $(kernel-potgo_MC_CPPFLAGS) +$(kernel-potgo_MC_TARGETS) : CFLAGS := $(kernel-potgo_CFLAGS) +$(kernel-potgo_MC_TARGETS) : $(kernel-potgo_MC_TGTWILDCARD).o : $(kernel-potgo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-potgo_MC_DTARGETS) : $(kernel-potgo_MC_TGTWILDCARD).d : $(kernel-potgo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-potgo_DFLAGS) $(kernel-potgo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-potgo_OBJDIR)/linklib,) +kernel-potgo_MC_SRCWILDCARD := % +else +kernel-potgo_MC_SRCWILDCARD := $(kernel-potgo_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-potgo_OBJDIR)/linklib,) +kernel-potgo_MC_TARGETS := $(addsuffix .o,$(kernel-potgo_LINKLIBCCGENFILES)) +kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(kernel-potgo_LINKLIBCCGENFILES)) +kernel-potgo_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(notdir $(kernel-potgo_LINKLIBCCGENFILES)))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(notdir $(kernel-potgo_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-potgo_OBJDIR)/linklib,) + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(kernel-potgo_LINKLIBCCGENFILES))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(kernel-potgo_LINKLIBCCGENFILES))) +else + kernel-potgo_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(patsubst $(kernel-potgo_OBJDIR)/linklib/%,%,$(kernel-potgo_LINKLIBCCGENFILES)))) + kernel-potgo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(patsubst $(kernel-potgo_OBJDIR)/linklib/%,%,$(kernel-potgo_LINKLIBCCGENFILES)))) +endif +endif +kernel-potgo_MC_TGTWILDCARD := $(kernel-potgo_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : | $(addsuffix .c,$(kernel-potgo_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-potgo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-potgo_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-potgo_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-potgo_MC_DIRS := $(foreach dir, $(kernel-potgo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-potgo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-potgo_MC_DIRS),) + kernel-potgo_MC_DIRS := $(shell echo $(kernel-potgo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-potgo_MC_DIRS) +endif + +endif + +kernel-potgo_MC_CPPFLAGS := $(kernel-potgo_LINKLIBCPPFLAGS) -D__AROS__ +kernel-potgo_CFLAGS := $(kernel-potgo_LINKLIBCFLAGS) +ifeq ($(kernel-potgo_LINKLIBDFLAGS),) + kernel-potgo_DFLAGS := $(kernel-potgo_LINKLIBCFLAGS) +else + kernel-potgo_DFLAGS := $(kernel-potgo_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-potgo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-potgo_STRIP ?= $(TARGET_STRIP) +kernel-potgo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(kernel-potgo_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(kernel-potgo_DFLAGS) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-potgo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-potgo_STRIP ?= $(HOST_STRIP) +kernel-potgo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-potgo_DFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(HOST_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-potgo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-potgo_STRIP ?= $(ECHO) >/dev/null +kernel-potgo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-potgo_MC_CPPFLAGS) $(kernel-potgo_MC_EXTRA_CPPFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_CFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-potgo_DFLAGS)) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-potgo_MC_TARGETS) $(kernel-potgo_MC_DTARGETS) : kernel-potgo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-potgo_MC_TARGETS) : CPPFLAGS := $(kernel-potgo_MC_CPPFLAGS) +$(kernel-potgo_MC_TARGETS) : CFLAGS := $(kernel-potgo_CFLAGS) +$(kernel-potgo_MC_TARGETS) : $(kernel-potgo_MC_TGTWILDCARD).o : $(kernel-potgo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-potgo_IQUOTE) $(dir $<) $(kernel-potgo_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-potgo_IQUOTE) . $(kernel-potgo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-potgo_MC_DTARGETS) : $(kernel-potgo_MC_TGTWILDCARD).d : $(kernel-potgo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-potgo_DFLAGS) $(kernel-potgo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-potgo_LINKLIBAFILES),) + +ifeq ($(kernel-potgo_OBJDIR)/linklib,) +kernel-potgo-MA_TARGETS := $(addsuffix .o,$(kernel-potgo_LINKLIBAFILES) $(kernel-potgo_RELLINKLIBAFILES)) +kernel-potgo-MA_WILDCARD := % +else +kernel-potgo-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(notdir $(kernel-potgo_LINKLIBAFILES) $(kernel-potgo_RELLINKLIBAFILES)))) +kernel-potgo-MA_WILDCARD := $(kernel-potgo_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-potgo-MA_TARGETS) : | $(addsuffix .S,$(kernel-potgo_LINKLIBAFILES) $(kernel-potgo_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-potgo-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-potgo-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-potgo_LINKLIBAFILES) $(kernel-potgo_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-potgo-MA_DIRS := $(foreach dir, $(kernel-potgo-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-potgo-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-potgo-MA_DIRS),) + kernel-potgo-MA_DIRS := $(shell echo $(kernel-potgo-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-potgo-MA_DIRS) +endif + +endif + +kernel-potgo-MA_ASSEMBLER ?= $(kernel-potgo_ASSEMBLER) + +$(kernel-potgo-MA_TARGETS) : kernel-potgo-MA_CMD:= $(kernel-potgo-MA_ASSEMBLER) + +$(kernel-potgo-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-potgo-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-potgo-MA_TARGETS) : $(kernel-potgo-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-potgo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-potgo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-potgo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-potgo_SUFFIX := resource +else +kernel-potgo_SUFFIX := +endif + +ifeq (target,target) +kernel-potgo_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-potgo_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-potgo_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-potgo_SUFFIX),handler) +kernel-potgo_MODULE := $(AROSDIR)/$(kernel-potgo_MODDIR)/$(kernel-potgo_DEFNAME)-$(kernel-potgo_SUFFIX) +else +kernel-potgo_MODULE := $(AROSDIR)/$(kernel-potgo_MODDIR)/$(kernel-potgo_DEFNAME).$(kernel-potgo_SUFFIX) +endif +kernel-potgo_KOBJ := $(KOBJSDIR)/$(kernel-potgo_DEFNAME)_$(kernel-potgo_SUFFIX).o +else +kernel-potgo_MODULE := +kernel-potgo_KOBJ := +endif + +kernel-potgo-quick : kernel-potgo +kernel-potgo : $(kernel-potgo_MODULE) $(kernel-potgo_LINKLIB) $(kernel-potgo_RELLINKLIB) +ifeq (M,M) +kernel-potgo-kobj : $(kernel-potgo_KOBJ) $(kernel-potgo_LINKLIB) $(kernel-potgo_RELLINKLIB) +kernel-potgo-kobj-quick : $(kernel-potgo_KOBJ) $(kernel-potgo_LINKLIB) $(kernel-potgo_RELLINKLIB) +endif +ifeq (M,M) +kernel-potgo-linklib : $(kernel-potgo_LINKLIB) $(kernel-potgo_RELLINKLIB) +endif + +kernel-potgo_OBJS := $(addsuffix .o,$(kernel-potgo_STARTFILES)) $(kernel-potgo_ARCHOBJS) \ + $(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(kernel-potgo_C_NARCHFILES:=.o) $(kernel-potgo_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (resource,handler) +kernel-potgo_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (potgo,con) + kernel-potgo_ERR := $(notdir $(kernel-potgo_MODULE)).err +else + kernel-potgo_ERR := potgo.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-potgo_DEFNAME)_LDFLAGS) $(kernel-potgo_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-potgo_LIBS) $($(kernel-potgo_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-potgo_MODULE) : LIB_NAMES := $(kernel-potgo_LIBS) $($(kernel-potgo_DEFNAME)_LIBS) +$(kernel-potgo_MODULE) : OBJS := $(kernel-potgo_STARTOBJS) $(kernel-potgo_OBJS) $(USER_OBJS) +$(kernel-potgo_MODULE) : ENDTAG := $(kernel-potgo_ENDOBJS) +$(kernel-potgo_MODULE) : ERR := $(kernel-potgo_ERR) +$(kernel-potgo_MODULE) : OBJDIR := $(kernel-potgo_OBJDIR) +$(kernel-potgo_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-potgo_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-potgo_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-potgo_MODULE) : $(kernel-potgo_STARTOBJS) $(kernel-potgo_OBJS) $(USER_OBJS) $(kernel-potgo_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-potgo_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-potgo_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-potgo_LC_LINKLIBNAME := $(shell echo $(kernel-potgo_LINKLIBNAME) | tr A-Z a-z) +kernel-potgo_LC_MODNAME := $(shell echo potgo | tr A-Z a-z) +ifneq ($(kernel-potgo_LINKLIB),) + +ifeq (target,target) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(HOST_AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(KERNEL_AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)$(kernel-potgo_LIBSUFFIX).a : $(kernel-potgo_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-potgo_AR) $@ $^ + $(Q)$(kernel-potgo_RANLIB) $@ +ifneq ($(kernel-potgo_LC_MODNAME),$(kernel-potgo_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-potgo_LIBDIR)/libpotgo$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(AR) +$(kernel-potgo_LIBDIR)/libpotgo$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-potgo_LIBDIR)/libpotgo$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(HOST_AR) +$(kernel-potgo_LIBDIR)/libpotgo$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-potgo_LIBDIR)/libpotgo$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(KERNEL_AR) +$(kernel-potgo_LIBDIR)/libpotgo$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-potgo_LIBDIR)/libpotgo$(kernel-potgo_LIBSUFFIX).a : $(kernel-potgo_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-potgo_AR) $@ $^ + $(Q)$(kernel-potgo_RANLIB) $@ +endif + + +ifneq ($(kernel-potgo_LINKLIB),) +$(kernel-potgo_LINKLIB) : | $(kernel-potgo_LIBDIR) +else +$(kernel-potgo_LINKLIB) :: $(kernel-potgo_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-potgo_LIBDIR) + +endif + +ifneq ($(kernel-potgo_RELLINKLIB),) + +ifeq (target,target) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(HOST_AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(KERNEL_AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_LINKLIBNAME)_rel$(kernel-potgo_LIBSUFFIX).a : $(kernel-potgo_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-potgo_AR) $@ $^ + $(Q)$(kernel-potgo_RANLIB) $@ +ifneq ($(kernel-potgo_LC_MODNAME),$(kernel-potgo_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_DEFNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_DEFNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_DEFNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(HOST_AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_DEFNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_DEFNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_AR:=$(KERNEL_AR) +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_DEFNAME)_rel$(kernel-potgo_LIBSUFFIX).a : kernel-potgo_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-potgo_LIBDIR)/lib$(kernel-potgo_DEFNAME)_rel$(kernel-potgo_LIBSUFFIX).a : $(kernel-potgo_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-potgo_AR) $@ $^ + $(Q)$(kernel-potgo_RANLIB) $@ +endif + + +ifneq ($(kernel-potgo_RELLINKLIB),) +$(kernel-potgo_RELLINKLIB) : | $(kernel-potgo_LIBDIR) +else +$(kernel-potgo_RELLINKLIB) :: $(kernel-potgo_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-potgo_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-potgo_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-potgo_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-potgo_SYMBOLS := $(kernel-potgo_KBASE) + +kernel-potgo_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-potgo_KOBJ_LIBS := $(filter-out $(kernel-potgo_KLIB),$(kernel-potgo_LIBS)) $(kernel-potgo_KAUTOLIB) +$(kernel-potgo_KOBJ) : LINKLIBS:=$(kernel-potgo_KOBJ_LIBS) $($(kernel-potgo_DEFNAME)_LIBS) +$(kernel-potgo_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-potgo_SYMBOLS)) +$(kernel-potgo_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-potgo_KOBJ) : $(kernel-potgo_OBJS) $(USER_OBJS) $(kernel-potgo_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-potgo_DEPS := $(addprefix $(kernel-potgo_OBJDIR)/,$(notdir $(kernel-potgo_CCFILES:=.d) $(kernel-potgo_TARGETCCFILES:=.d) $(kernel-potgo_CXXFILES:=.d))) $(addprefix $(kernel-potgo_OBJDIR)/linklib/,$(notdir $(kernel-potgo_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-potgo_DEPS),) + ifneq (kernel-potgo kernel-potgo-quick kernel-potgo-kobj kernel-potgo-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-potgo kernel-potgo-quick kernel-potgo-kobj kernel-potgo-kobj-quick),) + -include $(kernel-potgo_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-potgo_DEPS) + endif + endif +endif + +$(kernel-potgo_OBJS) $(kernel-potgo_DEPS) : | $(kernel-potgo_OBJDIR)/linklib + +ifneq ($(kernel-potgo_OBJS) $(kernel-potgo_DEPS) $(kernel-potgo_MODULE) $(kernel-potgo_KOBJ),) +$(kernel-potgo_OBJS) $(kernel-potgo_DEPS) $(kernel-potgo_MODULE) $(kernel-potgo_KOBJ) : | $(kernel-potgo_OBJDIR) $(AROSDIR)/$(kernel-potgo_MODDIR) $(KOBJSDIR) +else +$(kernel-potgo_OBJS) $(kernel-potgo_DEPS) $(kernel-potgo_MODULE) $(kernel-potgo_KOBJ) :: $(kernel-potgo_OBJDIR) $(AROSDIR)/$(kernel-potgo_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-potgo_OBJDIR) $(AROSDIR)/$(kernel-potgo_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-potgo kernel-potgo-includes kernel-potgo-quick kernel-potgo-kobj kernel-potgo-kobj-quick),) # Only for this target these deps are wanted + +kernel-potgo_DFILE_DEPS := $(kernel-potgo_LIBDEFSINC) $(kernel-potgo_DEFLIBDEFSINC) \ + $(addprefix $(kernel-potgo_INCDIR)/,$($(kernel-potgo_DEFNAME)_INCLUDES)) +$(kernel-potgo_DEPS) : $(kernel-potgo_DFILE_DEPS) +endif + +kernel-potgo_TOCLEAN := $(kernel-potgo_OBJS) $(kernel-potgo_DEPS) \ + $(kernel-potgo_MODULE) $(kernel-potgo_LINKLIB) $(kernel-potgo_KOBJ) \ + $(kernel-potgo_OBJDIR)/Makefile.potgoresource \ + $(addprefix $(kernel-potgo_OBJDIR)/include/,$($(kernel-potgo_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-potgo_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-potgo_INCDIR)/,$($(kernel-potgo_DEFNAME)_INCLUDES)) \ + $(kernel-potgo_OBJDIR)/potgo_geninc $(kernel-potgo_OBJDIR)/potgo_incs \ + $(addsuffix .c,$(kernel-potgo_LINKLIBFILES)) $(kernel-potgo_LINKLIBOBJS) $(kernel-potgo_LIBDEFSINC) \ + $(kernel-potgo_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-potgo_STARTFILES) $(kernel-potgo_ENDFILES)) \ + $(kernel-potgo_ENDOBJS) +kernel-potgo-clean : FILES := $(kernel-potgo_TOCLEAN) +kernel-potgo-clean :: + $(Q)$(ECHO) "Cleaning up for module potgo" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-potgo_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/romboot/mmakefile b/arch/m68k-amiga/romboot/mmakefile new file mode 100644 index 00000000000..98590ac3a1c --- /dev/null +++ b/arch/m68k-amiga/romboot/mmakefile @@ -0,0 +1,565 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -DADATE="\"$(shell date '+%d.%m.%Y')\"" + + +# Define metamake targets and their dependencies +#MM kernel-romboot : core-linklibs includes-generate-deps +#MM kernel-romboot-kobj : core-linklibs includes-generate-deps +#MM kernel-romboot-kobj-quick +#MM kernel-romboot-quick +#MM kernel-romboot-clean + +kernel-romboot_ALLTARGETS := kernel-romboot kernel-romboot-clean kernel-romboot-quick kernel-romboot-kobj + +.PHONY : $(kernel-romboot_ALLTARGETS) + +ifeq (romboot,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (hook,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +kernel-romboot_DEFLINKLIBNAME := romboot +kernel-romboot_CFLAGS := $(CFLAGS) +kernel-romboot_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-romboot_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(kernel-romboot_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-romboot_FUNCINSTR := yes +kernel-romboot_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-romboot_CFLAGS)) +endif +endif +ifneq (,) + kernel-romboot_DFLAGS := +else + kernel-romboot_DFLAGS := $(kernel-romboot_CFLAGS) +endif +kernel-romboot_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +kernel-romboot_MODDIR := +ifeq ($(kernel-romboot_MODDIR),) + ifeq (hook,library) + kernel-romboot_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (hook,gadget) + kernel-romboot_MODDIR := $(AROS_GADGETS) + endif + ifeq (hook,datatype) + kernel-romboot_MODDIR := $(AROS_DATATYPES) + endif + ifeq (hook,handler) + kernel-romboot_MODDIR := $(AROS_FS) + endif + ifeq (hook,device) + kernel-romboot_MODDIR := $(AROS_DEVS) + endif + ifeq (hook,resource) + kernel-romboot_MODDIR := $(AROS_RESOURCES) + endif + ifeq (hook,hook) + kernel-romboot_MODDIR := $(AROS_RESOURCES) + endif + ifeq (hook,mui) + kernel-romboot_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (hook,mcc) + kernel-romboot_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (hook,mcp) + kernel-romboot_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (hook,usbclass) + kernel-romboot_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (hook,hidd) + kernel-romboot_MODDIR := $(AROS_DRIVERS) + endif + ifeq (hook,printer) + kernel-romboot_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(kernel-romboot_MODDIR),) + $(error Don't know where to put the file for modtype hook. Specify moduledir=) +endif + +kernel-romboot_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +kernel-romboot_ARCHFILES := $(basename $(notdir $(kernel-romboot_ARCHOBJS))) +kernel-romboot_C_NARCHFILES := $(filter-out $(kernel-romboot_ARCHFILES),romboot resident_end) +kernel-romboot_CXX_NARCHFILES := $(filter-out $(kernel-romboot_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +kernel-romboot_OBJC_NARCHFILES := $(filter-out $(kernel-romboot_ARCHFILES),) + + +kernel-romboot_CXXABSBASENAMES := $(foreach kernel-romboot_CXXBASE,$(kernel-romboot_CXX_NARCHFILES),$(if $(filter /%,$(kernel-romboot_CXXBASE)),$(kernel-romboot_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-romboot_CXXBASE)))) + +ifneq ($(kernel-romboot_CXXABSBASENAMES),) + +kernel-romboot_CXXBASENAMES := $(basename $(kernel-romboot_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-romboot_MCXX_FILES := $(strip $(foreach kernel-romboot_CXXBASE,$(kernel-romboot_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-romboot_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-romboot_EXT),$(kernel-romboot_CXXBASE))))))) + +ifeq (,) +kernel-romboot_MCXX_SRCWILDCARD := % +else +kernel-romboot_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + kernel-romboot_CXXTARGETS := $(notdir $(kernel-romboot_CXXBASENAMES:=.o)) + kernel-romboot_CXXDTARGETS := $(notdir $(kernel-romboot_CXXBASENAMES:=.d)) + kernel-romboot_MCXX_WILDCARD := % +else + kernel-romboot_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(kernel-romboot_CXXBASENAMES:=.o))) + kernel-romboot_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(kernel-romboot_CXXBASENAMES:=.d))) + kernel-romboot_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-romboot_CXXTARGETS) $(kernel-romboot_CXXDTARGETS) : | $(kernel-romboot_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-romboot_MCXX_CPPFLAGS := $(CPPFLAGS) +kernel-romboot_CXXFLAGS := $(kernel-romboot_CXXFLAGS) +ifeq ($(kernel-romboot_DXXFLAGS),) + kernel-romboot_DXXFLAGS := $(kernel-romboot_CXXFLAGS) +else + kernel-romboot_DXXFLAGS := $(kernel-romboot_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-romboot_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-romboot_STRIP ?= $(HOST_STRIP) + kernel-romboot_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-romboot_CXXCMD:=$(HOST_CXX) + kernel-romboot_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-romboot_MCXX_CPPFLAGS) $(kernel-romboot_MCXX_EXTRA_CPPFLAGS)) + kernel-romboot_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-romboot_CXXFLAGS)) + kernel-romboot_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-romboot_DXXFLAGS)) + kernel-romboot_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-romboot_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-romboot_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-romboot_STRIP ?= $(TARGET_STRIP) + kernel-romboot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-romboot_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-romboot_MCXX_CPPFLAGS := $(strip $(kernel-romboot_MCXX_CPPFLAGS) $(kernel-romboot_MCXX_EXTRA_CPPFLAGS)) + kernel-romboot_CXXFLAGS := $(strip $(kernel-romboot_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-romboot_DXXFLAGS := $(kernel-romboot_DXXFLAGS) + kernel-romboot_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-romboot_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-romboot_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-romboot_STRIP ?= $(ECHO) >/dev/null + kernel-romboot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-romboot_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-romboot_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-romboot_MCXX_CPPFLAGS) $(kernel-romboot_MCXX_EXTRA_CPPFLAGS)) + kernel-romboot_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-romboot_CXXFLAGS)) + kernel-romboot_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-romboot_DXXFLAGS)) + kernel-romboot_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-romboot_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-romboot_CXXCMD) $(kernel-romboot_CXXIQUOTE) $(dir $(2)) $(kernel-romboot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_CXXIQUOTE) . $(kernel-romboot_CXXIQUOTE_END) $(strip $(kernel-romboot_CXXFLAGS) $(kernel-romboot_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-romboot_CXXCMD) $(kernel-romboot_CXXIQUOTE) $(dir $(2)) $(kernel-romboot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_CXXIQUOTE) . $(kernel-romboot_CXXIQUOTE_END) $(strip $(kernel-romboot_CXXFLAGS) $(kernel-romboot_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-romboot_CXXCMD) $(kernel-romboot_CXXIQUOTE) $(dir $(2)) $(kernel-romboot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_CXXIQUOTE) . $(kernel-romboot_CXXIQUOTE_END) $(strip $(kernel-romboot_CXXFLAGS) $(kernel-romboot_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-romboot_CXXCMD)" $(MKDEPEND) $(strip $(kernel-romboot_DXXFLAGS) $(kernel-romboot_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach kernel-romboot_CXXFILE,$(kernel-romboot_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-romboot_CXXFILE))),$(kernel-romboot_CXXFILE)))) +else + $(foreach kernel-romboot_CXXFILE,$(kernel-romboot_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(kernel-romboot_CXXFILE)))),$(kernel-romboot_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-romboot_OBJC_NARCHFILES),) + +ifeq (,) +kernel-romboot_MOBJC_SRCWILDCARD := % +else +kernel-romboot_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + kernel-romboot_MOBJC_TARGETS := $(addsuffix .o,$(kernel-romboot_OBJC_NARCHFILES)) + kernel-romboot_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-romboot_OBJC_NARCHFILES)) + kernel-romboot_MOBJC_WILDCARD := % +else + kernel-romboot_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(kernel-romboot_OBJC_NARCHFILES))) + kernel-romboot_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(kernel-romboot_OBJC_NARCHFILES))) + kernel-romboot_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-romboot_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-romboot_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-romboot_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-romboot_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-romboot_MOBJC_DIRS := $(foreach dir, $(kernel-romboot_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-romboot_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-romboot_MOBJC_DIRS),) + kernel-romboot_MOBJC_DIRS := $(shell echo $(kernel-romboot_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-romboot_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-romboot_CC := $(TARGET_CC) +else + kernel-romboot_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-romboot_MOBJC_CPPFLAGS := $(CPPFLAGS) +kernel-romboot_OBJCFLAGS := $(kernel-romboot_CFLAGS) +kernel-romboot_OBJCFLAGS := $(kernel-romboot_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-romboot_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-romboot_OBJCFLAGS))) +ifeq ($(kernel-romboot_DFLAGS),) + kernel-romboot_OBJCDFLAGS := $(kernel-romboot_CFLAGS) +else + kernel-romboot_OBJCDFLAGS := $(kernel-romboot_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-romboot_LINK ?= $(strip $(kernel-romboot_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-romboot_STRIP ?= $(TARGET_STRIP) + kernel-romboot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-romboot_CC) $(TARGET_SYSROOT)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_MOBJC_CPPFLAGS:=$(strip $(kernel-romboot_MOBJC_CPPFLAGS) $(kernel-romboot_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_OBJCFLAGS:=$(strip $(kernel-romboot_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_OBJCDFLAGS:=$(kernel-romboot_OBJCDFLAGS) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-romboot_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-romboot_STRIP ?= $(HOST_STRIP) + kernel-romboot_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-romboot_MOBJC_CPPFLAGS) $(kernel-romboot_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-romboot_OBJCFLAGS)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-romboot_OBJCDFLAGS)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_IQUOTE:=$(HOST_IQUOTE) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-romboot_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-romboot_STRIP ?= $(ECHO) >/dev/null + kernel-romboot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-romboot_MOBJC_CPPFLAGS) $(kernel-romboot_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-romboot_OBJCFLAGS)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-romboot_OBJCDFLAGS)) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-romboot_MOBJC_TARGETS) $(kernel-romboot_MOBJC_DTARGETS) : kernel-romboot_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-romboot_MOBJC_TARGETS) : CPPFLAGS := $(kernel-romboot_MOBJC_CPPFLAGS) +$(kernel-romboot_MOBJC_TARGETS) : CFLAGS := $(kernel-romboot_OBJCFLAGS) +$(kernel-romboot_MOBJC_TARGETS) : $(kernel-romboot_MOBJC_WILDCARD).o : $(kernel-romboot_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-romboot_IQUOTE) $(dir $<) $(kernel-romboot_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_IQUOTE) . $(kernel-romboot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-romboot_IQUOTE) $(dir $<) $(kernel-romboot_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_IQUOTE) . $(kernel-romboot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-romboot_IQUOTE) $(dir $<) $(kernel-romboot_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_IQUOTE) . $(kernel-romboot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-romboot_MOBJC_DTARGETS) : $(kernel-romboot_MOBJC_WILDCARD).d : $(kernel-romboot_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-romboot_OBJCDFLAGS) $(kernel-romboot_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-romboot_MC_SRCWILDCARD := % +else +kernel-romboot_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +kernel-romboot_MC_TARGETS := $(addsuffix .o,$(kernel-romboot_C_NARCHFILES)) +kernel-romboot_MC_DTARGETS := $(addsuffix .d,$(kernel-romboot_C_NARCHFILES)) +kernel-romboot_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-romboot_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(kernel-romboot_C_NARCHFILES)))) + kernel-romboot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(kernel-romboot_C_NARCHFILES)))) +else +ifeq (,) + kernel-romboot_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(kernel-romboot_C_NARCHFILES))) + kernel-romboot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(kernel-romboot_C_NARCHFILES))) +else + kernel-romboot_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(kernel-romboot_C_NARCHFILES)))) + kernel-romboot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(kernel-romboot_C_NARCHFILES)))) +endif +endif +kernel-romboot_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : | $(addsuffix .c,$(kernel-romboot_C_NARCHFILES)) + +# Be sure that all .c files are found +kernel-romboot_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-romboot_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-romboot_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-romboot_MC_DIRS := $(foreach dir, $(kernel-romboot_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-romboot_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-romboot_MC_DIRS),) + kernel-romboot_MC_DIRS := $(shell echo $(kernel-romboot_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-romboot_MC_DIRS) +endif + +endif + +kernel-romboot_MC_CPPFLAGS := $(CPPFLAGS) +kernel-romboot_CFLAGS := $(kernel-romboot_CFLAGS) +ifeq ($(kernel-romboot_DFLAGS),) + kernel-romboot_DFLAGS := $(kernel-romboot_CFLAGS) +else + kernel-romboot_DFLAGS := $(kernel-romboot_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-romboot_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-romboot_STRIP ?= $(TARGET_STRIP) +kernel-romboot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_MC_CPPFLAGS:=$(strip $(kernel-romboot_MC_CPPFLAGS) $(kernel-romboot_MC_EXTRA_CPPFLAGS)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_CFLAGS:=$(strip $(kernel-romboot_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_DFLAGS:=$(kernel-romboot_DFLAGS) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-romboot_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-romboot_STRIP ?= $(HOST_STRIP) +kernel-romboot_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-romboot_MC_CPPFLAGS) $(kernel-romboot_MC_EXTRA_CPPFLAGS)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-romboot_CFLAGS)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-romboot_DFLAGS)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_IQUOTE:=$(HOST_IQUOTE) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-romboot_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-romboot_STRIP ?= $(ECHO) >/dev/null +kernel-romboot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-romboot_MC_CPPFLAGS) $(kernel-romboot_MC_EXTRA_CPPFLAGS)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-romboot_CFLAGS)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-romboot_DFLAGS)) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-romboot_MC_TARGETS) $(kernel-romboot_MC_DTARGETS) : kernel-romboot_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-romboot_MC_TARGETS) : CPPFLAGS := $(kernel-romboot_MC_CPPFLAGS) +$(kernel-romboot_MC_TARGETS) : CFLAGS := $(kernel-romboot_CFLAGS) +$(kernel-romboot_MC_TARGETS) : $(kernel-romboot_MC_TGTWILDCARD).o : $(kernel-romboot_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-romboot_IQUOTE) $(dir $<) $(kernel-romboot_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_IQUOTE) . $(kernel-romboot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-romboot_IQUOTE) $(dir $<) $(kernel-romboot_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_IQUOTE) . $(kernel-romboot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-romboot_IQUOTE) $(dir $<) $(kernel-romboot_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-romboot_IQUOTE) . $(kernel-romboot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-romboot_MC_DTARGETS) : $(kernel-romboot_MC_TGTWILDCARD).d : $(kernel-romboot_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-romboot_DFLAGS) $(kernel-romboot_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (hook,handler) +kernel-romboot_MODULE := $(kernel-romboot_MODDIR)/romboot-hook +else +ifeq (hook,printer) +kernel-romboot_MODULE := $(kernel-romboot_MODDIR)/romboot +else +kernel-romboot_MODULE := $(kernel-romboot_MODDIR)/romboot.hook +endif +endif +kernel-romboot_KOBJ := $(KOBJSDIR)/romboot_hook.o + +kernel-romboot-quick : kernel-romboot +kernel-romboot-kobj-quick : $(kernel-romboot_KOBJ) +kernel-romboot : $(kernel-romboot_MODULE) +kernel-romboot-kobj : $(kernel-romboot_KOBJ) + +# The module is linked from all the compiled .o files +kernel-romboot_OBJS := $(kernel-romboot_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(kernel-romboot_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (romboot,con) + kernel-romboot_ERR := $(notdir $(kernel-romboot_MODULE)).err +else + kernel-romboot_ERR := romboot.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(romboot_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(romboot_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-romboot_MODULE) : LIB_NAMES := $(romboot_LIBS) +$(kernel-romboot_MODULE) : OBJS := $(kernel-romboot_OBJS) +$(kernel-romboot_MODULE) : ENDTAG := +$(kernel-romboot_MODULE) : ERR := $(kernel-romboot_ERR) +$(kernel-romboot_MODULE) : OBJDIR := $(OBJDIR) +$(kernel-romboot_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-romboot_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-romboot_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-romboot_MODULE) : $(kernel-romboot_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +kernel-romboot_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-romboot_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-romboot_SYMBOLS := $(kernel-romboot_KBASE) + +kernel-romboot_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-romboot_KOBJ_LIBS := $(filter-out $(kernel-romboot_KLIB),) $(kernel-romboot_KAUTOLIB) +$(kernel-romboot_KOBJ) : LINKLIBS:=$(kernel-romboot_KOBJ_LIBS) +$(kernel-romboot_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-romboot_SYMBOLS)) +$(kernel-romboot_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(kernel-romboot_KOBJ) : $(kernel-romboot_OBJS) $(kernel-romboot_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +kernel-romboot_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,romboot resident_end)) +ifneq ($(kernel-romboot_DEPS),) + ifneq (kernel-romboot kernel-romboot-quick kernel-romboot-kobj,) + ifneq ($(findstring $(TARGET),kernel-romboot kernel-romboot-quick kernel-romboot-kobj),) + -include $(kernel-romboot_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-romboot_DEPS) + endif + endif +endif + + +ifneq ($(kernel-romboot_OBJS) $(kernel-romboot_DEPS) $(kernel-romboot_MODULE) $(kernel-romboot_KOBJ),) +$(kernel-romboot_OBJS) $(kernel-romboot_DEPS) $(kernel-romboot_MODULE) $(kernel-romboot_KOBJ) : | $(OBJDIR) $(kernel-romboot_MODDIR) $(KOBJSDIR) +else +$(kernel-romboot_OBJS) $(kernel-romboot_DEPS) $(kernel-romboot_MODULE) $(kernel-romboot_KOBJ) :: $(OBJDIR) $(kernel-romboot_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(kernel-romboot_MODDIR) $(KOBJSDIR) + + +kernel-romboot-clean : FILES := $(kernel-romboot_OBJS) $(kernel-romboot_MODULE) $(kernel-romboot_KOBJ) $(kernel-romboot_DEPS) +kernel-romboot-clean :: + $(Q)$(ECHO) "Cleaning up for module romboot" + $(Q)$(RM) $(FILES) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/setpatch/mmakefile b/arch/m68k-amiga/setpatch/mmakefile new file mode 100644 index 00000000000..a7b5d96b148 --- /dev/null +++ b/arch/m68k-amiga/setpatch/mmakefile @@ -0,0 +1,1658 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := setpatch_init addpatch rempatch findpatch + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-setpatch +#MM kernel-setpatch-quick +#MM kernel-setpatch-makefile +#MM kernel-setpatch-clean + +# ABI targets: +#MM- includes-all : kernel-setpatch-includes +#MM- linklibs-setpatch: kernel-setpatch-linklib +#MM- linklibs-setpatch_rel : kernel-setpatch-linklib +#MM- includes-setpatch: kernel-setpatch-includes +#MM- includes-setpatch_rel : kernel-setpatch-includes +#MM- kernel-setpatch : kernel-setpatch-includes core-linklibs linklibs- +#MM kernel-setpatch-linklib : kernel-setpatch-includes includes- +#MM- kernel-setpatch-quick : kernel-setpatch-includes-quick +#MM kernel-setpatch-includes : kernel-setpatch-makefile kernel-setpatch-includes-dirs \ +#MM includes-generate-deps kernel-setpatch-fd +#MM kernel-setpatch-includes-quick +#MM kernel-setpatch-includes-dirs +#MM kernel-setpatch-fd + +# Library targets +#MM kernel-setpatch-kobj : core-linklibs linklibs- +#MM kernel-setpatch-kobj-quick : + +# Library with ABI targets: +#MM kernel-setpatch-kobj : kernel-setpatch-includes core-linklibs linklibs- +#MM kernel-setpatch-kobj-quick : kernel-setpatch-includes-quick + +# All MetaMake targets defined by this macro +kernel-setpatch_ALLTARGETS := kernel-setpatch kernel-setpatch-quick kernel-setpatch-clean + +ifeq (M,M) +kernel-setpatch_ALLTARGETS += kernel-setpatch-kobj kernel-setpatch-kobj-quick +endif + +ifeq (M,M) +kernel-setpatch_ALLTARGETS += kernel-setpatch-includes \ + kernel-setpatch-includes-quick kernel-setpatch-includes-dirs \ + kernel-setpatch-linklib kernel-setpatch-fd +endif + +.PHONY : $(kernel-setpatch_ALLTARGETS) kernel-setpatch-makefile + +ifeq (setpatch,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-setpatch_DEFNAME := setpatch_ +else + kernel-setpatch_DEFNAME := setpatch +endif +kernel-setpatch_DEFLINKLIBNAME := $(kernel-setpatch_DEFNAME) +ifneq (,) + kernel-setpatch_LINKLIBNAME := +else + kernel-setpatch_LINKLIBNAME = $(kernel-setpatch_DEFLINKLIBNAME) +endif +kernel-setpatch_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-setpatch_DEFCPPFLAGS += -I +endif +kernel-setpatch_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-setpatch_DFLAGS := +else + kernel-setpatch_DFLAGS = $(kernel-setpatch_DEFDFLAGS) +endif +kernel-setpatch_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-setpatch_DXXFLAGS := +else + kernel-setpatch_DXXFLAGS = $(kernel-setpatch_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-setpatch_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-setpatch_DEFDFLAGS)) +kernel-setpatch_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-setpatch_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-setpatch_FUNCINSTR := yes +kernel-setpatch_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-setpatch_DEFDFLAGS)) +kernel-setpatch_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-setpatch_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-setpatch_OBJDIR := +else +kernel-setpatch_OBJDIR := $(OBJDIR)/$(kernel-setpatch_DEFNAME) +endif +ifneq (,) +kernel-setpatch_OBJDIR := $(kernel-setpatch_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-setpatch-makefile := $(kernel-setpatch_OBJDIR)/Makefile.$(kernel-setpatch_DEFNAME)library +kernel-setpatch-genmakefile : $(kernel-setpatch-makefile) + + +kernel-setpatch-genmakefile_OPTS := +ifneq (,) + kernel-setpatch-genmakefile_OPTS += -f + kernel-setpatch-genmakefile_MODNAME := setpatch_ +else + kernel-setpatch-genmakefile_MODNAME := setpatch +endif +kernel-setpatch-genmakefile_TARGET := Makefile.$(kernel-setpatch-genmakefile_MODNAME)library +kernel-setpatch-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-setpatch-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-setpatch-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-setpatch-genmakefile_OPTS += -c + kernel-setpatch-genmakefile_DEPS += + endif +else + kernel-setpatch-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/setpatch.conf + kernel-setpatch-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/setpatch.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-setpatch-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-setpatch-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-setpatch-genmakefile_OPTS += -o + kernel-setpatch-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-setpatch-genmakefile_OPTS += -s +endif +ifneq ($(kernel-setpatch_OBJDIR),) + kernel-setpatch-genmakefile_OPTS += -d $(kernel-setpatch_OBJDIR) + kernel-setpatch-genmakefile_TARGET := $(kernel-setpatch_OBJDIR)/$(kernel-setpatch-genmakefile_TARGET) +endif + +$(kernel-setpatch-genmakefile_TARGET) : OPTS := $(kernel-setpatch-genmakefile_OPTS) +$(kernel-setpatch-genmakefile_TARGET) : MODNAME := setpatch +$(kernel-setpatch-genmakefile_TARGET) : MODTYPE := library +$(kernel-setpatch-genmakefile_TARGET) : $(kernel-setpatch-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-setpatch-makefile),) +$(kernel-setpatch-makefile) : | $(kernel-setpatch_OBJDIR) +else +$(kernel-setpatch-makefile) :: $(kernel-setpatch_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-setpatch_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-setpatch_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-setpatch-makefile) + +kernel-setpatch_DEFMODDIR := $($(kernel-setpatch_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-setpatch_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-setpatch_DEFMODDIR) +endif +ifneq (,) + kernel-setpatch_MODDIR := +else + kernel-setpatch_MODDIR := $(kernel-setpatch_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-setpatch_INCDIR := +else +kernel-setpatch_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-setpatch_LIBDEFSINC := $(kernel-setpatch_OBJDIR)/include/$(kernel-setpatch_DEFNAME)_libdefs.h +kernel-setpatch_DEFLIBDEFSINC := $(kernel-setpatch_OBJDIR)/include/$(kernel-setpatch_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-setpatch-includes-quick : kernel-setpatch-includes +kernel-setpatch-includes : $(addprefix $(GENINCDIR)/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-setpatch_INCDIR)/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) \ + $(kernel-setpatch_LIBDEFSINC) $(kernel-setpatch_DEFLIBDEFSINC) + +ifneq ($($(kernel-setpatch_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-setpatch-includes_MODNAME := setpatch_ +else + kernel-setpatch-includes_MODNAME := setpatch +endif + +ifneq ($($(kernel-setpatch-includes_MODNAME)_INCLUDES),) + +kernel-setpatch-includes_TARGETS := $($(kernel-setpatch-includes_MODNAME)_INCLUDES) + +kernel-setpatch-includes_DEPS := $(GENMODULE) +kernel-setpatch-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-setpatch-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-setpatch-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-setpatch-includes_OPTS += -c + kernel-setpatch-includes_DEPS += + endif +else + kernel-setpatch-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/setpatch.conf + kernel-setpatch-includes_DEPS += $(SRCDIR)/$(CURDIR)/setpatch.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-setpatch-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-setpatch-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-setpatch-includes_OPTS += -o + kernel-setpatch-includes_DEPS += + endif +endif +ifneq (,) + kernel-setpatch-includes_OPTS += -s +endif +ifneq ($(kernel-setpatch_OBJDIR)/include,) + kernel-setpatch-includes_OPTS += -d $(kernel-setpatch_OBJDIR)/include + kernel-setpatch-includes_TARGETS := $(addprefix $(kernel-setpatch_OBJDIR)/include/,$(kernel-setpatch-includes_TARGETS)) + kernel-setpatch-includes_GENINCFLAG=$(kernel-setpatch_OBJDIR)/include/.setpatch.library-includes +else + kernel-setpatch-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.setpatch.library-includes +endif + +$(kernel-setpatch-includes_TARGETS) : $(kernel-setpatch-includes_DEPS) $(kernel-setpatch-includes_GENINCFLAG) + +$(kernel-setpatch-includes_GENINCFLAG) : OPTS := $(kernel-setpatch-includes_OPTS) +$(kernel-setpatch-includes_GENINCFLAG) : MODNAME := setpatch +$(kernel-setpatch-includes_GENINCFLAG) : MODTYPE := library +$(kernel-setpatch-includes_GENINCFLAG) : $(kernel-setpatch-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-setpatch_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) : | $(kernel-setpatch_OBJDIR)/setpatch_geninc + +$(kernel-setpatch_OBJDIR)/setpatch_geninc : COPYSRCDIR := $(kernel-setpatch_OBJDIR)/include +$(kernel-setpatch_OBJDIR)/setpatch_geninc : TGTDIR := $(GENINCDIR) +$(kernel-setpatch_OBJDIR)/setpatch_geninc : FILES := $($(kernel-setpatch_DEFNAME)_INCLUDES) +$(kernel-setpatch_OBJDIR)/setpatch_geninc : $(addprefix $(kernel-setpatch_OBJDIR)/include/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-setpatch_OBJDIR)/include + +$(addprefix $(kernel-setpatch_INCDIR)/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) : | $(kernel-setpatch_OBJDIR)/setpatch_incs + +$(kernel-setpatch_OBJDIR)/setpatch_incs : COPYSRCDIR := $(kernel-setpatch_OBJDIR)/include +$(kernel-setpatch_OBJDIR)/setpatch_incs : TGTDIR := $(kernel-setpatch_INCDIR) +$(kernel-setpatch_OBJDIR)/setpatch_incs : FILES := $($(kernel-setpatch_DEFNAME)_INCLUDES) +$(kernel-setpatch_OBJDIR)/setpatch_incs : $(addprefix $(kernel-setpatch_OBJDIR)/include/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-setpatch_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-setpatch_DEFNAME)_INCLUDES)))) + +TMPsetpatch_INCDIRS := \ + $(kernel-setpatch_OBJDIR)/include $(addprefix $(kernel-setpatch_OBJDIR)/include/,$(kernel-setpatch_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-setpatch_INCDIRS)) \ + $(kernel-setpatch_INCDIR) $(addprefix $(kernel-setpatch_INCDIR)/,$(kernel-setpatch_INCDIRS)) + +ifneq (kernel-setpatch-includes-dirs,) +kernel-setpatch-includes-dirs : | $(TMPsetpatch_INCDIRS) +else +kernel-setpatch-includes-dirs :: $(TMPsetpatch_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPsetpatch_INCDIRS) + + +endif + +endif + + +kernel-setpatch-genlibdefs_OPTS := +ifneq (,) + kernel-setpatch-genlibdefs_OPTS += -f + kernel-setpatch-genlibdefs_MODNAME := setpatch_ +else + kernel-setpatch-genlibdefs_MODNAME := setpatch +endif +kernel-setpatch-genlibdefs_TARGET := $(kernel-setpatch-genlibdefs_MODNAME)_libdefs.h +kernel-setpatch-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-setpatch-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-setpatch-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-setpatch-genlibdefs_OPTS += -c + kernel-setpatch-genlibdefs_DEPS += + endif +else + kernel-setpatch-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/setpatch.conf + kernel-setpatch-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/setpatch.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-setpatch-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-setpatch-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-setpatch-genlibdefs_OPTS += -o + kernel-setpatch-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-setpatch-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-setpatch_OBJDIR)/include,) + kernel-setpatch-genlibdefs_OPTS += -d $(kernel-setpatch_OBJDIR)/include + kernel-setpatch-genlibdefs_TARGET := $(kernel-setpatch_OBJDIR)/include/$(kernel-setpatch-genlibdefs_TARGET) +endif +ifneq (,) + kernel-setpatch-genlibdefs_OPTS += -v +endif + +$(kernel-setpatch-genlibdefs_TARGET) : OPTS := $(kernel-setpatch-genlibdefs_OPTS) +$(kernel-setpatch-genlibdefs_TARGET) : MODNAME := setpatch +$(kernel-setpatch-genlibdefs_TARGET) : MODTYPE := library +$(kernel-setpatch-genlibdefs_TARGET) : $(kernel-setpatch-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-setpatch_DEFLIBDEFSINC) : FILENAME := $(kernel-setpatch_LIBDEFSINC) +$(kernel-setpatch_DEFLIBDEFSINC) : $(kernel-setpatch_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-setpatch_LIBDEFSINC) $(kernel-setpatch_DEFLIBDEFSINC) : | $(kernel-setpatch_OBJDIR)/include + +ifneq (kernel-setpatch-includes-dirs,) +kernel-setpatch-includes-dirs : | $(kernel-setpatch_OBJDIR)/include +else +kernel-setpatch-includes-dirs :: $(kernel-setpatch_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-setpatch_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-setpatch-genmodfiles_OPTS := +ifneq (,) + kernel-setpatch-genmodfiles_OPTS += -f + kernel-setpatch-genmodfiles_MODNAME := setpatch_ +else + kernel-setpatch-genmodfiles_MODNAME := setpatch +endif +kernel-setpatch-genmodfiles_GENTARGETS := $($(kernel-setpatch-genmodfiles_MODNAME)_STARTFILES) $($(kernel-setpatch-genmodfiles_MODNAME)_ENDFILES) +kernel-setpatch-genmodfiles_STUBTARGETS := $($(kernel-setpatch-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-setpatch-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-setpatch-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-setpatch-genmodfiles_GENTARGETS)) +kernel-setpatch-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-setpatch-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-setpatch-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-setpatch-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-setpatch-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-setpatch-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-setpatch-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-setpatch-genmodfiles_OPTS += -c + kernel-setpatch-genmodfiles_DEPS += + endif +else + kernel-setpatch-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/setpatch.conf + kernel-setpatch-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/setpatch.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-setpatch-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-setpatch-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-setpatch-genmodfiles_OPTS += -o + kernel-setpatch-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-setpatch-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-setpatch_OBJDIR),) + kernel-setpatch-genmodfiles_OPTS += -d $(kernel-setpatch_OBJDIR) + kernel-setpatch-genmodfiles_TARGETDIR := $(shell echo $(kernel-setpatch_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-setpatch-genmodfiles_GENTARGETS := $(addprefix $(kernel-setpatch-genmodfiles_TARGETDIR)/,$(kernel-setpatch-genmodfiles_GENTARGETS)) + kernel-setpatch-genmodfiles_GENFILEFLAG=$(kernel-setpatch-genmodfiles_TARGETDIR)/.setpatch.library-genfiles +else + kernel-setpatch-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.setpatch.library-genfiles +endif +ifneq ($(kernel-setpatch_OBJDIR)/linklib,) + kernel-setpatch-genmodfiles_OPTS += -l $(kernel-setpatch_OBJDIR)/linklib + kernel-setpatch-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-setpatch_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-setpatch-genmodfiles_STUBTARGETS := $(addprefix $(kernel-setpatch-genmodfiles_STUBTARGETDIR)/,$(kernel-setpatch-genmodfiles_STUBTARGETS)) + kernel-setpatch-genmodfiles_TARGETDIRS += $(kernel-setpatch_OBJDIR)/linklib +else +ifneq ($(kernel-setpatch_OBJDIR),) + kernel-setpatch-genmodfiles_STUBTARGETS := $(addprefix $(kernel-setpatch-genmodfiles_TARGETDIR)/,$(kernel-setpatch-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-setpatch-genmodfiles_TARGETS := $(kernel-setpatch-genmodfiles_GENTARGETS) $(kernel-setpatch-genmodfiles_STUBTARGETS) +ifneq ($(kernel-setpatch-genmodfiles_TARGETDIRS),) +$(kernel-setpatch-genmodfiles_TARGETS) : | $(kernel-setpatch-genmodfiles_TARGETDIRS) +endif + +$(kernel-setpatch-genmodfiles_TARGETS) : $(kernel-setpatch-genmodfiles_DEPS) $(kernel-setpatch-genmodfiles_GENFILEFLAG) + +$(kernel-setpatch-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-setpatch-genmodfiles_OPTS) +$(kernel-setpatch-genmodfiles_GENFILEFLAG) : MODNAME := setpatch +$(kernel-setpatch-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(kernel-setpatch-genmodfiles_GENFILEFLAG) : $(kernel-setpatch-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-setpatch-genmodfiles_GENFILEFLAG) : $(kernel-setpatch_DEFLIBDEFSINC) $(kernel-setpatch-makefile) + + +ifneq ($(kernel-setpatch-genmodfiles_GENFILEFLAG),) +$(kernel-setpatch-genmodfiles_GENFILEFLAG) : | $(kernel-setpatch_OBJDIR)/linklib +else +$(kernel-setpatch-genmodfiles_GENFILEFLAG) :: $(kernel-setpatch_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-setpatch_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-setpatch_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-setpatch_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-setpatch-fd : $(kernel-setpatch_FDDIR)/setpatch_lib.fd + + +TMP_TARGET := setpatch_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/setpatch.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/setpatch.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-setpatch_FDDIR),) + TMP_OPTS += -d $(kernel-setpatch_FDDIR) + TMP_TARGET := $(kernel-setpatch_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := setpatch +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-setpatch_FDDIR)/setpatch_lib.fd : | $(kernel-setpatch_FDDIR) + + +ifneq (kernel-setpatch-fd-setup,) +kernel-setpatch-fd-setup : | $(kernel-setpatch_FDDIR) +else +kernel-setpatch-fd-setup :: $(kernel-setpatch_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-setpatch_FDDIR) + +endif + +## Compilation +## +kernel-setpatch_FILES := $(FILES) +kernel-setpatch_OBJCFILES := +kernel-setpatch_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-setpatch_LIBFILES := +kernel-setpatch_LIBS := + +kernel-setpatch_FDIRS := $(sort $(dir $(kernel-setpatch_FILES))) + +kernel-setpatch_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-setpatch_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-setpatch_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-setpatch_FILTERARCH = $(filter-out $(call kernel-setpatch_MATCHARCH,$(1),$(2)),$(2)) +kernel-setpatch_STARTFILES := $(addprefix $(kernel-setpatch_OBJDIR)/,$($(kernel-setpatch_DEFNAME)_STARTFILES)) +kernel-setpatch_ENDFILES := $(addprefix $(kernel-setpatch_OBJDIR)/,$($(kernel-setpatch_DEFNAME)_ENDFILES)) + +kernel-setpatch_ARCHOBJS := $(wildcard $(kernel-setpatch_OBJDIR)/arch/*.o) +kernel-setpatch_LIBARCHOBJS := $(wildcard $(kernel-setpatch_OBJDIR)/linklib/arch/*.o) +kernel-setpatch_ARCHFILES := $(basename $(notdir $(kernel-setpatch_ARCHOBJS))) +kernel-setpatch_LIBARCHFILES := $(basename $(notdir $(kernel-setpatch_LIBARCHOBJS))) +kernel-setpatch_C_NARCHFILES := $(call kernel-setpatch_FILTERARCH,$(kernel-setpatch_ARCHFILES),$(kernel-setpatch_FILES)) +kernel-setpatch_CXX_NARCHFILES := $(call kernel-setpatch_FILTERARCH,$(kernel-setpatch_ARCHFILES),$(kernel-setpatch_CXXFILES)) +kernel-setpatch_OBJC_NARCHFILES := $(call kernel-setpatch_FILTERARCH,$(kernel-setpatch_ARCHFILES),$(kernel-setpatch_OBJCFILES)) +kernel-setpatch_NLIBARCHFILES := $(call kernel-setpatch_FILTERARCH,$(kernel-setpatch_LIBARCHFILES),$(kernel-setpatch_LIBFILES)) +kernel-setpatch_ARCHNLIBFILES := $(call kernel-setpatch_FILTERARCH,$(kernel-setpatch_LIBFILES),$(kernel-setpatch_LIBARCHFILES)) + +kernel-setpatch_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-setpatch_OBJDIR)/include -include $(kernel-setpatch_DEFLIBDEFSINC)) +ifneq (,) +kernel-setpatch_CPPFLAGS += -I +endif +kernel-setpatch_LINKLIBCPPFLAGS := $(kernel-setpatch_CPPFLAGS) +kernel-setpatch_CPPFLAGS += $(strip $($(kernel-setpatch_DEFNAME)_CPPFLAGS)) +kernel-setpatch_LINKLIBCPPFLAGS += $(strip $($(kernel-setpatch_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-setpatch_CFLAGS := $(strip $(CFLAGS) $($(kernel-setpatch_DEFNAME)_CFLAGS)) +kernel-setpatch_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-setpatch_DEFNAME)_LINKLIBCFLAGS)) +kernel-setpatch_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-setpatch_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-setpatch_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-setpatch_CFLAGS := $(strip $(kernel-setpatch_LTOFLAGS) $(kernel-setpatch_CFLAGS)) +kernel-setpatch_LINKLIBCFLAGS := $(strip $(kernel-setpatch_LTOFLAGS) $(kernel-setpatch_LINKLIBCFLAGS)) +kernel-setpatch_CXXFLAGS := $(strip $(kernel-setpatch_LTOFLAGS) $(kernel-setpatch_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-setpatch_SUBSTNULL := +kernel-setpatch_SUBSTSPACE := $(kernel-setpatch_SUBSTNULL) # +kernel-setpatch_SUBSTCOMMA := , +kernel-setpatch_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-setpatch_SUBSTSPACE),$(kernel-setpatch_SUBSTCOMMA),$(strip $($(kernel-setpatch_DEFNAME)_STARTFILES)))) +kernel-setpatch_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-setpatch_CFLAGS := $(strip $(kernel-setpatch_INSTRFUNCFLAGS) $(kernel-setpatch_CFLAGS)) +kernel-setpatch_CXXFLAGS := $(strip $(kernel-setpatch_INSTRFUNCFLAGS) $(kernel-setpatch_CXXFLAGS)) +kernel-setpatch_LIBS += $(kernel-setpatch_INSTRFUNCLIBS) +endif +endif +kernel-setpatch_DFLAGS := $(strip $(kernel-setpatch_DFLAGS) $($(kernel-setpatch_DEFNAME)_DFLAGS)) +kernel-setpatch_LINKLIBDFLAGS := $(strip $(kernel-setpatch_DFLAGS) $($(kernel-setpatch_DEFNAME)_LINKLIBDFLAGS)) +kernel-setpatch_DXXFLAGS := $(strip $(kernel-setpatch_DXXFLAGS) $($(kernel-setpatch_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + kernel-setpatch_LIBSUFFIX := +else + kernel-setpatch_LIBSUFFIX := .library +endif + +ifeq (,) +kernel-setpatch_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-setpatch_LIBDIR := +endif + +ifeq (M,M) +kernel-setpatch_LINKLIBCFILES := $(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$($(kernel-setpatch_DEFNAME)_LINKLIBFILES)) +kernel-setpatch_LINKLIBAFILES := $(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$($(kernel-setpatch_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-setpatch_DEFNAME)_LINKLIBFILES) $($(kernel-setpatch_DEFNAME)_LINKLIBAFILES) $(kernel-setpatch_ARCHNLIBFILES)),) + kernel-setpatch_LINKLIB := +else + kernel-setpatch_LINKLIB := $(kernel-setpatch_LIBDIR)/libsetpatch$(kernel-setpatch_LIBSUFFIX).a + ifneq (setpatch,$(kernel-setpatch_LINKLIBNAME)) + kernel-setpatch_LINKLIB += $(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)$(kernel-setpatch_LIBSUFFIX).a + endif +endif +kernel-setpatch_LINKLIBFILES := $(kernel-setpatch_LINKLIBCFILES) $(kernel-setpatch_LINKLIBAFILES) + +kernel-setpatch_RELLINKLIBCFILES := $(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$($(kernel-setpatch_DEFNAME)_RELLINKLIBFILES)) +kernel-setpatch_RELLINKLIBAFILES := $(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$($(kernel-setpatch_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-setpatch_DEFNAME)_RELLINKLIBFILES) $($(kernel-setpatch_DEFNAME)_RELLINKLIBAFILES) $(kernel-setpatch_ARCHNLIBFILES)),) + kernel-setpatch_RELLINKLIB := +else + kernel-setpatch_RELLINKLIB := $(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_DEFNAME)_rel$(kernel-setpatch_LIBSUFFIX).a + ifneq (setpatch,$(kernel-setpatch_LINKLIBNAME)) + kernel-setpatch_RELLINKLIB += $(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)_rel$(kernel-setpatch_LIBSUFFIX).a + endif +endif +kernel-setpatch_RELLINKLIBFILES := $(kernel-setpatch_RELLINKLIBCFILES) $(kernel-setpatch_RELLINKLIBAFILES) +endif + +kernel-setpatch_ENDOBJS := $(addsuffix .o,$(kernel-setpatch_ENDFILES)) +kernel-setpatch_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(notdir $(kernel-setpatch_NLIBARCHFILES))) $(addprefix $(kernel-setpatch_OBJDIR)/linklib/arch/,$(notdir $(kernel-setpatch_ARCHNLIBFILES))) $(kernel-setpatch_LINKLIBFILES)) \ + +kernel-setpatch_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(notdir $(kernel-setpatch_NLIBARCHFILES))) $(addprefix $(kernel-setpatch_OBJDIR)/linklib/arch/,$(notdir $(kernel-setpatch_ARCHNLIBFILES))) $(kernel-setpatch_RELLINKLIBFILES)) \ + +$(kernel-setpatch_LINKLIBFILES) $(kernel-setpatch_RELLINKLIBFILES) : | $(kernel-setpatch_OBJDIR)/linklib +$(kernel-setpatch_LINKLIBOBJS) $(kernel-setpatch_RELLINKLIBOBJS) : | $(kernel-setpatch_OBJDIR)/linklib + +kernel-setpatch_CCFILES := $(kernel-setpatch_C_NARCHFILES) +kernel-setpatch_TARGETCCFILES := $(strip $(kernel-setpatch_STARTFILES) $(kernel-setpatch_ENDFILES)) +kernel-setpatch_LINKLIBCCFILES := $(strip $(kernel-setpatch_NLIBARCHFILES) $(kernel-setpatch_LINKLIBCFILES) $(kernel-setpatch_RELLINKLIBCFILES)) +kernel-setpatch_LINKLIBCCGENFILES := $(strip $(kernel-setpatch_LINKLIBCFILES) $(kernel-setpatch_RELLINKLIBCFILES)) + + +kernel-setpatch_CXXABSBASENAMES := $(foreach kernel-setpatch_CXXBASE,$(kernel-setpatch_CXX_NARCHFILES),$(if $(filter /%,$(kernel-setpatch_CXXBASE)),$(kernel-setpatch_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-setpatch_CXXBASE)))) + +ifneq ($(kernel-setpatch_CXXABSBASENAMES),) + +kernel-setpatch_CXXBASENAMES := $(basename $(kernel-setpatch_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-setpatch_MCXX_FILES := $(strip $(foreach kernel-setpatch_CXXBASE,$(kernel-setpatch_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-setpatch_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-setpatch_EXT),$(kernel-setpatch_CXXBASE))))))) + +ifeq (,) +kernel-setpatch_MCXX_SRCWILDCARD := % +else +kernel-setpatch_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-setpatch_OBJDIR),) + kernel-setpatch_CXXTARGETS := $(notdir $(kernel-setpatch_CXXBASENAMES:=.o)) + kernel-setpatch_CXXDTARGETS := $(notdir $(kernel-setpatch_CXXBASENAMES:=.d)) + kernel-setpatch_MCXX_WILDCARD := % +else + kernel-setpatch_CXXTARGETS := $(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(kernel-setpatch_CXXBASENAMES:=.o))) + kernel-setpatch_CXXDTARGETS := $(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(kernel-setpatch_CXXBASENAMES:=.d))) + kernel-setpatch_MCXX_WILDCARD := $(kernel-setpatch_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-setpatch_CXXTARGETS) $(kernel-setpatch_CXXDTARGETS) : | $(kernel-setpatch_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-setpatch_MCXX_CPPFLAGS := $(kernel-setpatch_CPPFLAGS) +kernel-setpatch_CXXFLAGS := $(kernel-setpatch_CXXFLAGS) +ifeq ($(kernel-setpatch_DXXFLAGS),) + kernel-setpatch_DXXFLAGS := $(kernel-setpatch_CXXFLAGS) +else + kernel-setpatch_DXXFLAGS := $(kernel-setpatch_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-setpatch_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-setpatch_STRIP ?= $(HOST_STRIP) + kernel-setpatch_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-setpatch_CXXCMD:=$(HOST_CXX) + kernel-setpatch_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-setpatch_MCXX_CPPFLAGS) $(kernel-setpatch_MCXX_EXTRA_CPPFLAGS)) + kernel-setpatch_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-setpatch_CXXFLAGS)) + kernel-setpatch_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-setpatch_DXXFLAGS)) + kernel-setpatch_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-setpatch_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-setpatch_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-setpatch_STRIP ?= $(TARGET_STRIP) + kernel-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-setpatch_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-setpatch_MCXX_CPPFLAGS := $(strip $(kernel-setpatch_MCXX_CPPFLAGS) $(kernel-setpatch_MCXX_EXTRA_CPPFLAGS)) + kernel-setpatch_CXXFLAGS := $(strip $(kernel-setpatch_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-setpatch_DXXFLAGS := $(kernel-setpatch_DXXFLAGS) + kernel-setpatch_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-setpatch_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-setpatch_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-setpatch_STRIP ?= $(ECHO) >/dev/null + kernel-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-setpatch_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-setpatch_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-setpatch_MCXX_CPPFLAGS) $(kernel-setpatch_MCXX_EXTRA_CPPFLAGS)) + kernel-setpatch_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-setpatch_CXXFLAGS)) + kernel-setpatch_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-setpatch_DXXFLAGS)) + kernel-setpatch_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-setpatch_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-setpatch_CXXCMD) $(kernel-setpatch_CXXIQUOTE) $(dir $(2)) $(kernel-setpatch_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_CXXIQUOTE) . $(kernel-setpatch_CXXIQUOTE_END) $(strip $(kernel-setpatch_CXXFLAGS) $(kernel-setpatch_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-setpatch_CXXCMD) $(kernel-setpatch_CXXIQUOTE) $(dir $(2)) $(kernel-setpatch_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_CXXIQUOTE) . $(kernel-setpatch_CXXIQUOTE_END) $(strip $(kernel-setpatch_CXXFLAGS) $(kernel-setpatch_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-setpatch_CXXCMD) $(kernel-setpatch_CXXIQUOTE) $(dir $(2)) $(kernel-setpatch_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_CXXIQUOTE) . $(kernel-setpatch_CXXIQUOTE_END) $(strip $(kernel-setpatch_CXXFLAGS) $(kernel-setpatch_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-setpatch_CXXCMD)" $(MKDEPEND) $(strip $(kernel-setpatch_DXXFLAGS) $(kernel-setpatch_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-setpatch_OBJDIR),) + $(foreach kernel-setpatch_CXXFILE,$(kernel-setpatch_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-setpatch_CXXFILE))),$(kernel-setpatch_CXXFILE)))) +else + $(foreach kernel-setpatch_CXXFILE,$(kernel-setpatch_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(basename $(kernel-setpatch_CXXFILE)))),$(kernel-setpatch_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-setpatch_OBJC_NARCHFILES),) + +ifeq (,) +kernel-setpatch_MOBJC_SRCWILDCARD := % +else +kernel-setpatch_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-setpatch_OBJDIR),) + kernel-setpatch_MOBJC_TARGETS := $(addsuffix .o,$(kernel-setpatch_OBJC_NARCHFILES)) + kernel-setpatch_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-setpatch_OBJC_NARCHFILES)) + kernel-setpatch_MOBJC_WILDCARD := % +else + kernel-setpatch_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/,$(kernel-setpatch_OBJC_NARCHFILES))) + kernel-setpatch_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/,$(kernel-setpatch_OBJC_NARCHFILES))) + kernel-setpatch_MOBJC_WILDCARD := $(kernel-setpatch_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-setpatch_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-setpatch_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-setpatch_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-setpatch_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-setpatch_MOBJC_DIRS := $(foreach dir, $(kernel-setpatch_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-setpatch_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-setpatch_MOBJC_DIRS),) + kernel-setpatch_MOBJC_DIRS := $(shell echo $(kernel-setpatch_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-setpatch_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-setpatch_CC := $(TARGET_CC) +else + kernel-setpatch_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-setpatch_MOBJC_CPPFLAGS := $(kernel-setpatch_CPPFLAGS) +kernel-setpatch_OBJCFLAGS := $(kernel-setpatch_CFLAGS) +kernel-setpatch_OBJCFLAGS := $(kernel-setpatch_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-setpatch_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-setpatch_OBJCFLAGS))) +ifeq ($(kernel-setpatch_DFLAGS),) + kernel-setpatch_OBJCDFLAGS := $(kernel-setpatch_CFLAGS) +else + kernel-setpatch_OBJCDFLAGS := $(kernel-setpatch_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-setpatch_LINK ?= $(strip $(kernel-setpatch_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-setpatch_STRIP ?= $(TARGET_STRIP) + kernel-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-setpatch_CC) $(TARGET_SYSROOT)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_MOBJC_CPPFLAGS:=$(strip $(kernel-setpatch_MOBJC_CPPFLAGS) $(kernel-setpatch_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_OBJCFLAGS:=$(strip $(kernel-setpatch_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_OBJCDFLAGS:=$(kernel-setpatch_OBJCDFLAGS) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-setpatch_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-setpatch_STRIP ?= $(HOST_STRIP) + kernel-setpatch_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-setpatch_MOBJC_CPPFLAGS) $(kernel-setpatch_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_OBJCFLAGS)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_OBJCDFLAGS)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_IQUOTE:=$(HOST_IQUOTE) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-setpatch_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-setpatch_STRIP ?= $(ECHO) >/dev/null + kernel-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-setpatch_MOBJC_CPPFLAGS) $(kernel-setpatch_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_OBJCFLAGS)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_OBJCDFLAGS)) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-setpatch_MOBJC_TARGETS) $(kernel-setpatch_MOBJC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-setpatch_MOBJC_TARGETS) : CPPFLAGS := $(kernel-setpatch_MOBJC_CPPFLAGS) +$(kernel-setpatch_MOBJC_TARGETS) : CFLAGS := $(kernel-setpatch_OBJCFLAGS) +$(kernel-setpatch_MOBJC_TARGETS) : $(kernel-setpatch_MOBJC_WILDCARD).o : $(kernel-setpatch_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-setpatch_MOBJC_DTARGETS) : $(kernel-setpatch_MOBJC_WILDCARD).d : $(kernel-setpatch_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-setpatch_OBJCDFLAGS) $(kernel-setpatch_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-setpatch_MC_SRCWILDCARD := % +else +kernel-setpatch_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-setpatch_OBJDIR),) +kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(kernel-setpatch_CCFILES)) +kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(kernel-setpatch_CCFILES)) +kernel-setpatch_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(kernel-setpatch_CCFILES)))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(kernel-setpatch_CCFILES)))) +else +ifeq (,) + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/,$(kernel-setpatch_CCFILES))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/,$(kernel-setpatch_CCFILES))) +else + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/,$(patsubst /%,%,$(kernel-setpatch_CCFILES)))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/,$(patsubst /%,%,$(kernel-setpatch_CCFILES)))) +endif +endif +kernel-setpatch_MC_TGTWILDCARD := $(kernel-setpatch_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : | $(addsuffix .c,$(kernel-setpatch_CCFILES)) + +# Be sure that all .c files are found +kernel-setpatch_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-setpatch_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-setpatch_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-setpatch_MC_DIRS := $(foreach dir, $(kernel-setpatch_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-setpatch_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-setpatch_MC_DIRS),) + kernel-setpatch_MC_DIRS := $(shell echo $(kernel-setpatch_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-setpatch_MC_DIRS) +endif + +endif + +kernel-setpatch_MC_CPPFLAGS := $(kernel-setpatch_CPPFLAGS) +kernel-setpatch_CFLAGS := $(kernel-setpatch_CFLAGS) +ifeq ($(kernel-setpatch_DFLAGS),) + kernel-setpatch_DFLAGS := $(kernel-setpatch_CFLAGS) +else + kernel-setpatch_DFLAGS := $(kernel-setpatch_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-setpatch_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-setpatch_STRIP ?= $(TARGET_STRIP) +kernel-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(kernel-setpatch_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(kernel-setpatch_DFLAGS) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-setpatch_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-setpatch_STRIP ?= $(HOST_STRIP) +kernel-setpatch_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_DFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(HOST_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-setpatch_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-setpatch_STRIP ?= $(ECHO) >/dev/null +kernel-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_DFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-setpatch_MC_TARGETS) : CPPFLAGS := $(kernel-setpatch_MC_CPPFLAGS) +$(kernel-setpatch_MC_TARGETS) : CFLAGS := $(kernel-setpatch_CFLAGS) +$(kernel-setpatch_MC_TARGETS) : $(kernel-setpatch_MC_TGTWILDCARD).o : $(kernel-setpatch_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-setpatch_MC_DTARGETS) : $(kernel-setpatch_MC_TGTWILDCARD).d : $(kernel-setpatch_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-setpatch_DFLAGS) $(kernel-setpatch_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-setpatch_MC_SRCWILDCARD := % +else +kernel-setpatch_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-setpatch_OBJDIR),) +kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(kernel-setpatch_TARGETCCFILES)) +kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(kernel-setpatch_TARGETCCFILES)) +kernel-setpatch_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(kernel-setpatch_TARGETCCFILES)))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(kernel-setpatch_TARGETCCFILES)))) +else +ifeq (,) + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/,$(kernel-setpatch_TARGETCCFILES))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/,$(kernel-setpatch_TARGETCCFILES))) +else + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/,$(patsubst /%,%,$(kernel-setpatch_TARGETCCFILES)))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/,$(patsubst /%,%,$(kernel-setpatch_TARGETCCFILES)))) +endif +endif +kernel-setpatch_MC_TGTWILDCARD := $(kernel-setpatch_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : | $(addsuffix .c,$(kernel-setpatch_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-setpatch_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-setpatch_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-setpatch_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-setpatch_MC_DIRS := $(foreach dir, $(kernel-setpatch_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-setpatch_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-setpatch_MC_DIRS),) + kernel-setpatch_MC_DIRS := $(shell echo $(kernel-setpatch_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-setpatch_MC_DIRS) +endif + +endif + +kernel-setpatch_MC_CPPFLAGS := $(kernel-setpatch_CPPFLAGS) -D__AROS__ +kernel-setpatch_CFLAGS := $(kernel-setpatch_CFLAGS) +ifeq ($(kernel-setpatch_DFLAGS),) + kernel-setpatch_DFLAGS := $(kernel-setpatch_CFLAGS) +else + kernel-setpatch_DFLAGS := $(kernel-setpatch_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-setpatch_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-setpatch_STRIP ?= $(TARGET_STRIP) +kernel-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(kernel-setpatch_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(kernel-setpatch_DFLAGS) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-setpatch_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-setpatch_STRIP ?= $(HOST_STRIP) +kernel-setpatch_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_DFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(HOST_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-setpatch_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-setpatch_STRIP ?= $(ECHO) >/dev/null +kernel-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_DFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-setpatch_MC_TARGETS) : CPPFLAGS := $(kernel-setpatch_MC_CPPFLAGS) +$(kernel-setpatch_MC_TARGETS) : CFLAGS := $(kernel-setpatch_CFLAGS) +$(kernel-setpatch_MC_TARGETS) : $(kernel-setpatch_MC_TGTWILDCARD).o : $(kernel-setpatch_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-setpatch_MC_DTARGETS) : $(kernel-setpatch_MC_TGTWILDCARD).d : $(kernel-setpatch_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-setpatch_DFLAGS) $(kernel-setpatch_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-setpatch_MC_SRCWILDCARD := % +else +kernel-setpatch_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-setpatch_OBJDIR)/linklib,) +kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(kernel-setpatch_NLIBARCHFILES)) +kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(kernel-setpatch_NLIBARCHFILES)) +kernel-setpatch_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(notdir $(kernel-setpatch_NLIBARCHFILES)))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(notdir $(kernel-setpatch_NLIBARCHFILES)))) +else +ifeq (,) + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(kernel-setpatch_NLIBARCHFILES))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(kernel-setpatch_NLIBARCHFILES))) +else + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-setpatch_NLIBARCHFILES)))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-setpatch_NLIBARCHFILES)))) +endif +endif +kernel-setpatch_MC_TGTWILDCARD := $(kernel-setpatch_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : | $(addsuffix .c,$(kernel-setpatch_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-setpatch_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-setpatch_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-setpatch_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-setpatch_MC_DIRS := $(foreach dir, $(kernel-setpatch_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-setpatch_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-setpatch_MC_DIRS),) + kernel-setpatch_MC_DIRS := $(shell echo $(kernel-setpatch_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-setpatch_MC_DIRS) +endif + +endif + +kernel-setpatch_MC_CPPFLAGS := $(kernel-setpatch_LINKLIBCPPFLAGS) -D__AROS__ +kernel-setpatch_CFLAGS := $(kernel-setpatch_LINKLIBCFLAGS) +ifeq ($(kernel-setpatch_LINKLIBDFLAGS),) + kernel-setpatch_DFLAGS := $(kernel-setpatch_LINKLIBCFLAGS) +else + kernel-setpatch_DFLAGS := $(kernel-setpatch_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-setpatch_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-setpatch_STRIP ?= $(TARGET_STRIP) +kernel-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(kernel-setpatch_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(kernel-setpatch_DFLAGS) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-setpatch_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-setpatch_STRIP ?= $(HOST_STRIP) +kernel-setpatch_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_DFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(HOST_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-setpatch_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-setpatch_STRIP ?= $(ECHO) >/dev/null +kernel-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_DFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-setpatch_MC_TARGETS) : CPPFLAGS := $(kernel-setpatch_MC_CPPFLAGS) +$(kernel-setpatch_MC_TARGETS) : CFLAGS := $(kernel-setpatch_CFLAGS) +$(kernel-setpatch_MC_TARGETS) : $(kernel-setpatch_MC_TGTWILDCARD).o : $(kernel-setpatch_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-setpatch_MC_DTARGETS) : $(kernel-setpatch_MC_TGTWILDCARD).d : $(kernel-setpatch_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-setpatch_DFLAGS) $(kernel-setpatch_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-setpatch_OBJDIR)/linklib,) +kernel-setpatch_MC_SRCWILDCARD := % +else +kernel-setpatch_MC_SRCWILDCARD := $(kernel-setpatch_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-setpatch_OBJDIR)/linklib,) +kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(kernel-setpatch_LINKLIBCCGENFILES)) +kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(kernel-setpatch_LINKLIBCCGENFILES)) +kernel-setpatch_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(notdir $(kernel-setpatch_LINKLIBCCGENFILES)))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(notdir $(kernel-setpatch_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-setpatch_OBJDIR)/linklib,) + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(kernel-setpatch_LINKLIBCCGENFILES))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(kernel-setpatch_LINKLIBCCGENFILES))) +else + kernel-setpatch_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(patsubst $(kernel-setpatch_OBJDIR)/linklib/%,%,$(kernel-setpatch_LINKLIBCCGENFILES)))) + kernel-setpatch_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(patsubst $(kernel-setpatch_OBJDIR)/linklib/%,%,$(kernel-setpatch_LINKLIBCCGENFILES)))) +endif +endif +kernel-setpatch_MC_TGTWILDCARD := $(kernel-setpatch_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : | $(addsuffix .c,$(kernel-setpatch_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-setpatch_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-setpatch_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-setpatch_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-setpatch_MC_DIRS := $(foreach dir, $(kernel-setpatch_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-setpatch_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-setpatch_MC_DIRS),) + kernel-setpatch_MC_DIRS := $(shell echo $(kernel-setpatch_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-setpatch_MC_DIRS) +endif + +endif + +kernel-setpatch_MC_CPPFLAGS := $(kernel-setpatch_LINKLIBCPPFLAGS) -D__AROS__ +kernel-setpatch_CFLAGS := $(kernel-setpatch_LINKLIBCFLAGS) +ifeq ($(kernel-setpatch_LINKLIBDFLAGS),) + kernel-setpatch_DFLAGS := $(kernel-setpatch_LINKLIBCFLAGS) +else + kernel-setpatch_DFLAGS := $(kernel-setpatch_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-setpatch_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-setpatch_STRIP ?= $(TARGET_STRIP) +kernel-setpatch_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(kernel-setpatch_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(kernel-setpatch_DFLAGS) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-setpatch_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-setpatch_STRIP ?= $(HOST_STRIP) +kernel-setpatch_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-setpatch_DFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(HOST_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-setpatch_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-setpatch_STRIP ?= $(ECHO) >/dev/null +kernel-setpatch_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-setpatch_MC_CPPFLAGS) $(kernel-setpatch_MC_EXTRA_CPPFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_CFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-setpatch_DFLAGS)) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-setpatch_MC_TARGETS) $(kernel-setpatch_MC_DTARGETS) : kernel-setpatch_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-setpatch_MC_TARGETS) : CPPFLAGS := $(kernel-setpatch_MC_CPPFLAGS) +$(kernel-setpatch_MC_TARGETS) : CFLAGS := $(kernel-setpatch_CFLAGS) +$(kernel-setpatch_MC_TARGETS) : $(kernel-setpatch_MC_TGTWILDCARD).o : $(kernel-setpatch_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-setpatch_IQUOTE) $(dir $<) $(kernel-setpatch_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-setpatch_IQUOTE) . $(kernel-setpatch_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-setpatch_MC_DTARGETS) : $(kernel-setpatch_MC_TGTWILDCARD).d : $(kernel-setpatch_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-setpatch_DFLAGS) $(kernel-setpatch_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-setpatch_LINKLIBAFILES),) + +ifeq ($(kernel-setpatch_OBJDIR)/linklib,) +kernel-setpatch-MA_TARGETS := $(addsuffix .o,$(kernel-setpatch_LINKLIBAFILES) $(kernel-setpatch_RELLINKLIBAFILES)) +kernel-setpatch-MA_WILDCARD := % +else +kernel-setpatch-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(notdir $(kernel-setpatch_LINKLIBAFILES) $(kernel-setpatch_RELLINKLIBAFILES)))) +kernel-setpatch-MA_WILDCARD := $(kernel-setpatch_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-setpatch-MA_TARGETS) : | $(addsuffix .S,$(kernel-setpatch_LINKLIBAFILES) $(kernel-setpatch_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-setpatch-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-setpatch-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-setpatch_LINKLIBAFILES) $(kernel-setpatch_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-setpatch-MA_DIRS := $(foreach dir, $(kernel-setpatch-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-setpatch-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-setpatch-MA_DIRS),) + kernel-setpatch-MA_DIRS := $(shell echo $(kernel-setpatch-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-setpatch-MA_DIRS) +endif + +endif + +kernel-setpatch-MA_ASSEMBLER ?= $(kernel-setpatch_ASSEMBLER) + +$(kernel-setpatch-MA_TARGETS) : kernel-setpatch-MA_CMD:= $(kernel-setpatch-MA_ASSEMBLER) + +$(kernel-setpatch-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-setpatch-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-setpatch-MA_TARGETS) : $(kernel-setpatch-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-setpatch-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-setpatch-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-setpatch-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-setpatch_SUFFIX := library +else +kernel-setpatch_SUFFIX := +endif + +ifeq (target,target) +kernel-setpatch_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-setpatch_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-setpatch_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-setpatch_SUFFIX),handler) +kernel-setpatch_MODULE := $(AROSDIR)/$(kernel-setpatch_MODDIR)/$(kernel-setpatch_DEFNAME)-$(kernel-setpatch_SUFFIX) +else +kernel-setpatch_MODULE := $(AROSDIR)/$(kernel-setpatch_MODDIR)/$(kernel-setpatch_DEFNAME).$(kernel-setpatch_SUFFIX) +endif +kernel-setpatch_KOBJ := $(KOBJSDIR)/$(kernel-setpatch_DEFNAME)_$(kernel-setpatch_SUFFIX).o +else +kernel-setpatch_MODULE := +kernel-setpatch_KOBJ := +endif + +kernel-setpatch-quick : kernel-setpatch +kernel-setpatch : $(kernel-setpatch_MODULE) $(kernel-setpatch_LINKLIB) $(kernel-setpatch_RELLINKLIB) +ifeq (M,M) +kernel-setpatch-kobj : $(kernel-setpatch_KOBJ) $(kernel-setpatch_LINKLIB) $(kernel-setpatch_RELLINKLIB) +kernel-setpatch-kobj-quick : $(kernel-setpatch_KOBJ) $(kernel-setpatch_LINKLIB) $(kernel-setpatch_RELLINKLIB) +endif +ifeq (M,M) +kernel-setpatch-linklib : $(kernel-setpatch_LINKLIB) $(kernel-setpatch_RELLINKLIB) +endif + +kernel-setpatch_OBJS := $(addsuffix .o,$(kernel-setpatch_STARTFILES)) $(kernel-setpatch_ARCHOBJS) \ + $(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(kernel-setpatch_C_NARCHFILES:=.o) $(kernel-setpatch_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +kernel-setpatch_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (setpatch,con) + kernel-setpatch_ERR := $(notdir $(kernel-setpatch_MODULE)).err +else + kernel-setpatch_ERR := setpatch.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-setpatch_DEFNAME)_LDFLAGS) $(kernel-setpatch_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-setpatch_LIBS) $($(kernel-setpatch_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-setpatch_MODULE) : LIB_NAMES := $(kernel-setpatch_LIBS) $($(kernel-setpatch_DEFNAME)_LIBS) +$(kernel-setpatch_MODULE) : OBJS := $(kernel-setpatch_STARTOBJS) $(kernel-setpatch_OBJS) $(USER_OBJS) +$(kernel-setpatch_MODULE) : ENDTAG := $(kernel-setpatch_ENDOBJS) +$(kernel-setpatch_MODULE) : ERR := $(kernel-setpatch_ERR) +$(kernel-setpatch_MODULE) : OBJDIR := $(kernel-setpatch_OBJDIR) +$(kernel-setpatch_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-setpatch_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-setpatch_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-setpatch_MODULE) : $(kernel-setpatch_STARTOBJS) $(kernel-setpatch_OBJS) $(USER_OBJS) $(kernel-setpatch_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-setpatch_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-setpatch_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-setpatch_LC_LINKLIBNAME := $(shell echo $(kernel-setpatch_LINKLIBNAME) | tr A-Z a-z) +kernel-setpatch_LC_MODNAME := $(shell echo setpatch | tr A-Z a-z) +ifneq ($(kernel-setpatch_LINKLIB),) + +ifeq (target,target) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(HOST_AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(KERNEL_AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)$(kernel-setpatch_LIBSUFFIX).a : $(kernel-setpatch_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-setpatch_AR) $@ $^ + $(Q)$(kernel-setpatch_RANLIB) $@ +ifneq ($(kernel-setpatch_LC_MODNAME),$(kernel-setpatch_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-setpatch_LIBDIR)/libsetpatch$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(AR) +$(kernel-setpatch_LIBDIR)/libsetpatch$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-setpatch_LIBDIR)/libsetpatch$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(HOST_AR) +$(kernel-setpatch_LIBDIR)/libsetpatch$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-setpatch_LIBDIR)/libsetpatch$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(KERNEL_AR) +$(kernel-setpatch_LIBDIR)/libsetpatch$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-setpatch_LIBDIR)/libsetpatch$(kernel-setpatch_LIBSUFFIX).a : $(kernel-setpatch_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-setpatch_AR) $@ $^ + $(Q)$(kernel-setpatch_RANLIB) $@ +endif + + +ifneq ($(kernel-setpatch_LINKLIB),) +$(kernel-setpatch_LINKLIB) : | $(kernel-setpatch_LIBDIR) +else +$(kernel-setpatch_LINKLIB) :: $(kernel-setpatch_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-setpatch_LIBDIR) + +endif + +ifneq ($(kernel-setpatch_RELLINKLIB),) + +ifeq (target,target) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(HOST_AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(KERNEL_AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_LINKLIBNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : $(kernel-setpatch_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-setpatch_AR) $@ $^ + $(Q)$(kernel-setpatch_RANLIB) $@ +ifneq ($(kernel-setpatch_LC_MODNAME),$(kernel-setpatch_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_DEFNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_DEFNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_DEFNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(HOST_AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_DEFNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_DEFNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_AR:=$(KERNEL_AR) +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_DEFNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : kernel-setpatch_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-setpatch_LIBDIR)/lib$(kernel-setpatch_DEFNAME)_rel$(kernel-setpatch_LIBSUFFIX).a : $(kernel-setpatch_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-setpatch_AR) $@ $^ + $(Q)$(kernel-setpatch_RANLIB) $@ +endif + + +ifneq ($(kernel-setpatch_RELLINKLIB),) +$(kernel-setpatch_RELLINKLIB) : | $(kernel-setpatch_LIBDIR) +else +$(kernel-setpatch_RELLINKLIB) :: $(kernel-setpatch_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-setpatch_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-setpatch_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-setpatch_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-setpatch_SYMBOLS := $(kernel-setpatch_KBASE) + +kernel-setpatch_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-setpatch_KOBJ_LIBS := $(filter-out $(kernel-setpatch_KLIB),$(kernel-setpatch_LIBS)) $(kernel-setpatch_KAUTOLIB) +$(kernel-setpatch_KOBJ) : LINKLIBS:=$(kernel-setpatch_KOBJ_LIBS) $($(kernel-setpatch_DEFNAME)_LIBS) +$(kernel-setpatch_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-setpatch_SYMBOLS)) +$(kernel-setpatch_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-setpatch_KOBJ) : $(kernel-setpatch_OBJS) $(USER_OBJS) $(kernel-setpatch_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-setpatch_DEPS := $(addprefix $(kernel-setpatch_OBJDIR)/,$(notdir $(kernel-setpatch_CCFILES:=.d) $(kernel-setpatch_TARGETCCFILES:=.d) $(kernel-setpatch_CXXFILES:=.d))) $(addprefix $(kernel-setpatch_OBJDIR)/linklib/,$(notdir $(kernel-setpatch_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-setpatch_DEPS),) + ifneq (kernel-setpatch kernel-setpatch-quick kernel-setpatch-kobj kernel-setpatch-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-setpatch kernel-setpatch-quick kernel-setpatch-kobj kernel-setpatch-kobj-quick),) + -include $(kernel-setpatch_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-setpatch_DEPS) + endif + endif +endif + +$(kernel-setpatch_OBJS) $(kernel-setpatch_DEPS) : | $(kernel-setpatch_OBJDIR)/linklib + +ifneq ($(kernel-setpatch_OBJS) $(kernel-setpatch_DEPS) $(kernel-setpatch_MODULE) $(kernel-setpatch_KOBJ),) +$(kernel-setpatch_OBJS) $(kernel-setpatch_DEPS) $(kernel-setpatch_MODULE) $(kernel-setpatch_KOBJ) : | $(kernel-setpatch_OBJDIR) $(AROSDIR)/$(kernel-setpatch_MODDIR) $(KOBJSDIR) +else +$(kernel-setpatch_OBJS) $(kernel-setpatch_DEPS) $(kernel-setpatch_MODULE) $(kernel-setpatch_KOBJ) :: $(kernel-setpatch_OBJDIR) $(AROSDIR)/$(kernel-setpatch_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-setpatch_OBJDIR) $(AROSDIR)/$(kernel-setpatch_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-setpatch kernel-setpatch-includes kernel-setpatch-quick kernel-setpatch-kobj kernel-setpatch-kobj-quick),) # Only for this target these deps are wanted + +kernel-setpatch_DFILE_DEPS := $(kernel-setpatch_LIBDEFSINC) $(kernel-setpatch_DEFLIBDEFSINC) \ + $(addprefix $(kernel-setpatch_INCDIR)/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) +$(kernel-setpatch_DEPS) : $(kernel-setpatch_DFILE_DEPS) +endif + +kernel-setpatch_TOCLEAN := $(kernel-setpatch_OBJS) $(kernel-setpatch_DEPS) \ + $(kernel-setpatch_MODULE) $(kernel-setpatch_LINKLIB) $(kernel-setpatch_KOBJ) \ + $(kernel-setpatch_OBJDIR)/Makefile.setpatchlibrary \ + $(addprefix $(kernel-setpatch_OBJDIR)/include/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-setpatch_INCDIR)/,$($(kernel-setpatch_DEFNAME)_INCLUDES)) \ + $(kernel-setpatch_OBJDIR)/setpatch_geninc $(kernel-setpatch_OBJDIR)/setpatch_incs \ + $(addsuffix .c,$(kernel-setpatch_LINKLIBFILES)) $(kernel-setpatch_LINKLIBOBJS) $(kernel-setpatch_LIBDEFSINC) \ + $(kernel-setpatch_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-setpatch_STARTFILES) $(kernel-setpatch_ENDFILES)) \ + $(kernel-setpatch_ENDOBJS) +kernel-setpatch-clean : FILES := $(kernel-setpatch_TOCLEAN) +kernel-setpatch-clean :: + $(Q)$(ECHO) "Cleaning up for module setpatch" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-setpatch_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/timer/mmakefile b/arch/m68k-amiga/timer/mmakefile new file mode 100644 index 00000000000..c041fb25a38 --- /dev/null +++ b/arch/m68k-amiga/timer/mmakefile @@ -0,0 +1,260 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := timer_init abortio beginio readeclock lowlevel getsystime getuptime common_init ticks initcustom + +USER_INCLUDES := -I$(SRCDIR)/arch/$(CPU)-$(ARCH)/timer \ + -I$(SRCDIR)/rom/timer + + +ifeq ($(FILES) ,) + $(error no files or asmfiles given) +endif + +ifneq (,) + $(error cxx support is TODO) +endif + +BDID := $(BDID)_ +ifneq ($(filter $(TARGET),kernel-timer-amiga-m68k),) + BDTARGETID := $(BDID) +endif + +#MM- kernel-timer : \ +#MM kernel-timer-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-timer-$(ARCH)-$(CPU) \ +#MM kernel-timer-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-timer-$(ARCH) \ +#MM kernel-timer-$(FAMILY) \ +#MM kernel-timer-$(CPU) +#MM- kernel-timer-linklib : \ +#MM kernel-timer-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-timer-$(ARCH)-$(CPU) \ +#MM kernel-timer-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-timer-$(ARCH) \ +#MM kernel-timer-$(FAMILY) \ +#MM kernel-timer-$(CPU) +#MM- kernel-timer-kobj : \ +#MM kernel-timer-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT) \ +#MM kernel-timer-$(ARCH)-$(CPU) \ +#MM kernel-timer-$(ARCH)-$(AROS_TARGET_VARIANT) \ +#MM kernel-timer-$(ARCH) \ +#MM kernel-timer-$(FAMILY) \ +#MM kernel-timer-$(CPU) +#MM- kernel-timer-kobj-quick : \ +#MM kernel-timer-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-timer-$(ARCH)-$(CPU)-quick \ +#MM kernel-timer-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-timer-$(ARCH)-quick \ +#MM kernel-timer-$(FAMILY)-quick \ +#MM kernel-timer-$(CPU)-quick +#MM- kernel-timer-quick : \ +#MM kernel-timer-$(ARCH)-$(CPU)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-timer-$(ARCH)-$(CPU)-quick \ +#MM kernel-timer-$(ARCH)-$(AROS_TARGET_VARIANT)-quick \ +#MM kernel-timer-$(ARCH)-quick \ +#MM kernel-timer-$(FAMILY)-quick \ +#MM kernel-timer-$(CPU)-quick + +#MM kernel-timer-amiga-m68k : kernel-timer-includes + +ifneq (,) + BD_OBJROOT$(BDID) := +else +ifneq (timer,) + BD_OBJROOT$(BDID) := $(GENDIR)/rom/timer/timer +else + BD_OBJROOT$(BDID) := $(GENDIR)/rom/timer +endif +endif +BD_OBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/arch +BD_LIBOBJDIR$(BDID) := $(BD_OBJROOT$(BDID))/linklib/arch +BD_FILEOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) +BD_LINKLIBARCHOBJS$(BDID) := $(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir )) +BD_ASMOBJS$(BDID) := $(addsuffix .o,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir ))) +BD_OBJS$(BDID) := $(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) $(BD_ASMOBJS$(BDID)) +BD_DEPS$(BDID) := $(addsuffix .d,$(addprefix $(BD_OBJDIR$(BDID))/,$(notdir $(FILES)))) $(addsuffix .d,$(addprefix $(BD_LIBOBJDIR$(BDID))/,$(notdir ))) + +ifneq (timer,) +BD_DEFLIBDEFSINC$(BDID) := -include $(BD_OBJROOT$(BDID))/include/timer_deflibdefs.h +endif + +ifeq ($(TARGET),kernel-timer-amiga-m68k-quick) + BD_TARGET := kernel-timer-amiga-m68k-quick +else + BD_TARGET := kernel-timer-amiga-m68k +endif + +ifeq ($(TARGET),$(BD_TARGET)) +TMP_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir $(FILES))) +vpath %.c $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.s $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +vpath %.S $(addprefix $(TMP_SRCDIR)/$(CURDIR)/,$(dir )) +endif + + +ifneq ($(BD_OBJS$(BDID)),) +$(BD_OBJS$(BDID)) : | $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +else +$(BD_OBJS$(BDID)) :: $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) +endif + +GLOB_MKDIRS += $(BD_OBJDIR$(BDID)) $(BD_LIBOBJDIR$(BDID)) + + +#MM +kernel-timer-amiga-m68k :: $(BD_OBJS$(BDID)) + +#MM +kernel-timer-amiga-m68k-quick :: $(BD_OBJS$(BDID)) + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif + +ifneq (timer,) +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) -I$(BD_OBJROOT$(BDID)) $(BD_DEFLIBDEFSINC$(BDID))) +else +$(BD_FILEOBJS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +endif + +ifeq (target,target) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(TMP_CPPFLAGS) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(CFLAGS) $(SAFETY_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(SAFETY_CFLAGS)) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(HOST_CC) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CPPFLAGS:=$(strip $(KERNEL_CPPFLAGS) $(TMP_CPPFLAGS)) +ifeq ("","") +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +else +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_CFLAGS:=$(strip ) +endif +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(BD_FILEOBJS$(BDID)) $(BD_DEPS$(BDID)) $(BD_LINKLIBOBJS$(BDID)) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TMP_CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(TMP_CFLAGS) $(TMP_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifeq (,) +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(strip $(CPPFLAGS) $(BD_DEFLIBDEFSINC$(BDID))) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +else +$(BD_DEPS$(BDID)) : TMP_CPPFLAGS:=$(CPPFLAGS) +$(BD_DEPS$(BDID)) : TMP_DFLAGS:= +endif +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_LIBOBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(BD_OBJDIR$(BDID))/%.d : $(SRCDIR)/$(CURDIR)/%.c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TMP_CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ +endif + +$(BD_ASMOBJS$(BDID)) : CPPFLAGS:=$(CPPFLAGS) +$(BD_ASMOBJS$(BDID)) : AFLAGS:=$(AFLAGS) + +ifeq ($(TARGET),$(BD_TARGET)) +$(BD_OBJDIR$(BDID))/%.o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +$(BD_OBJDIR$(BDID))/%.o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(strip $(CC) $(TARGET_SYSROOT)) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +ifneq ($(BD_DEPS$(BDID)),) + ifneq ($(BD_TARGET),) + ifneq ($(findstring $(TARGET),$(BD_TARGET)),) + -include $(BD_DEPS$(BDID)) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(BD_DEPS$(BDID)) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/vampire_resource/mmakefile b/arch/m68k-amiga/vampire_resource/mmakefile new file mode 100644 index 00000000000..5b691c1c06c --- /dev/null +++ b/arch/m68k-amiga/vampire_resource/mmakefile @@ -0,0 +1,18 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM +kernel-vampire-amiga-m68k: $(KOBJSDIR)/vampire_resource.ko + +$(KOBJSDIR)/%.ko: $(SRCDIR)/$(CURDIR)/%.ko + @$(CP) $< $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/m68k-amiga/wb.tag/mmakefile b/arch/m68k-amiga/wb.tag/mmakefile new file mode 100644 index 00000000000..706f5fb2fdc --- /dev/null +++ b/arch/m68k-amiga/wb.tag/mmakefile @@ -0,0 +1,565 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -DADATE="\"$(shell date '+%d.%m.%Y')\"" + + +# Define metamake targets and their dependencies +#MM kernel-amiga-m68k-wbtag : core-linklibs includes-generate-deps +#MM kernel-amiga-m68k-wbtag-kobj : core-linklibs includes-generate-deps +#MM kernel-amiga-m68k-wbtag-kobj-quick +#MM kernel-amiga-m68k-wbtag-quick +#MM kernel-amiga-m68k-wbtag-clean + +kernel-amiga-m68k-wbtag_ALLTARGETS := kernel-amiga-m68k-wbtag kernel-amiga-m68k-wbtag-clean kernel-amiga-m68k-wbtag-quick kernel-amiga-m68k-wbtag-kobj + +.PHONY : $(kernel-amiga-m68k-wbtag_ALLTARGETS) + +ifeq (wbtag,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (resource,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +kernel-amiga-m68k-wbtag_DEFLINKLIBNAME := wbtag +kernel-amiga-m68k-wbtag_CFLAGS := $(CFLAGS) +kernel-amiga-m68k-wbtag_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-amiga-m68k-wbtag_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(kernel-amiga-m68k-wbtag_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-amiga-m68k-wbtag_FUNCINSTR := yes +kernel-amiga-m68k-wbtag_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-amiga-m68k-wbtag_CFLAGS)) +endif +endif +ifneq (,) + kernel-amiga-m68k-wbtag_DFLAGS := +else + kernel-amiga-m68k-wbtag_DFLAGS := $(kernel-amiga-m68k-wbtag_CFLAGS) +endif +kernel-amiga-m68k-wbtag_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +kernel-amiga-m68k-wbtag_MODDIR := +ifeq ($(kernel-amiga-m68k-wbtag_MODDIR),) + ifeq (resource,library) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (resource,gadget) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_GADGETS) + endif + ifeq (resource,datatype) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_DATATYPES) + endif + ifeq (resource,handler) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_FS) + endif + ifeq (resource,device) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_DEVS) + endif + ifeq (resource,resource) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_RESOURCES) + endif + ifeq (resource,hook) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_RESOURCES) + endif + ifeq (resource,mui) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (resource,mcc) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (resource,mcp) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (resource,usbclass) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (resource,hidd) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_DRIVERS) + endif + ifeq (resource,printer) + kernel-amiga-m68k-wbtag_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(kernel-amiga-m68k-wbtag_MODDIR),) + $(error Don't know where to put the file for modtype resource. Specify moduledir=) +endif + +kernel-amiga-m68k-wbtag_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +kernel-amiga-m68k-wbtag_ARCHFILES := $(basename $(notdir $(kernel-amiga-m68k-wbtag_ARCHOBJS))) +kernel-amiga-m68k-wbtag_C_NARCHFILES := $(filter-out $(kernel-amiga-m68k-wbtag_ARCHFILES),wbtag resident_end) +kernel-amiga-m68k-wbtag_CXX_NARCHFILES := $(filter-out $(kernel-amiga-m68k-wbtag_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +kernel-amiga-m68k-wbtag_OBJC_NARCHFILES := $(filter-out $(kernel-amiga-m68k-wbtag_ARCHFILES),) + + +kernel-amiga-m68k-wbtag_CXXABSBASENAMES := $(foreach kernel-amiga-m68k-wbtag_CXXBASE,$(kernel-amiga-m68k-wbtag_CXX_NARCHFILES),$(if $(filter /%,$(kernel-amiga-m68k-wbtag_CXXBASE)),$(kernel-amiga-m68k-wbtag_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-amiga-m68k-wbtag_CXXBASE)))) + +ifneq ($(kernel-amiga-m68k-wbtag_CXXABSBASENAMES),) + +kernel-amiga-m68k-wbtag_CXXBASENAMES := $(basename $(kernel-amiga-m68k-wbtag_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-amiga-m68k-wbtag_MCXX_FILES := $(strip $(foreach kernel-amiga-m68k-wbtag_CXXBASE,$(kernel-amiga-m68k-wbtag_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-amiga-m68k-wbtag_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-amiga-m68k-wbtag_EXT),$(kernel-amiga-m68k-wbtag_CXXBASE))))))) + +ifeq (,) +kernel-amiga-m68k-wbtag_MCXX_SRCWILDCARD := % +else +kernel-amiga-m68k-wbtag_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + kernel-amiga-m68k-wbtag_CXXTARGETS := $(notdir $(kernel-amiga-m68k-wbtag_CXXBASENAMES:=.o)) + kernel-amiga-m68k-wbtag_CXXDTARGETS := $(notdir $(kernel-amiga-m68k-wbtag_CXXBASENAMES:=.d)) + kernel-amiga-m68k-wbtag_MCXX_WILDCARD := % +else + kernel-amiga-m68k-wbtag_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(kernel-amiga-m68k-wbtag_CXXBASENAMES:=.o))) + kernel-amiga-m68k-wbtag_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(kernel-amiga-m68k-wbtag_CXXBASENAMES:=.d))) + kernel-amiga-m68k-wbtag_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-amiga-m68k-wbtag_CXXTARGETS) $(kernel-amiga-m68k-wbtag_CXXDTARGETS) : | $(kernel-amiga-m68k-wbtag_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS := $(CPPFLAGS) +kernel-amiga-m68k-wbtag_CXXFLAGS := $(kernel-amiga-m68k-wbtag_CXXFLAGS) +ifeq ($(kernel-amiga-m68k-wbtag_DXXFLAGS),) + kernel-amiga-m68k-wbtag_DXXFLAGS := $(kernel-amiga-m68k-wbtag_CXXFLAGS) +else + kernel-amiga-m68k-wbtag_DXXFLAGS := $(kernel-amiga-m68k-wbtag_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-amiga-m68k-wbtag_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-amiga-m68k-wbtag_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-amiga-m68k-wbtag_CXXCMD:=$(HOST_CXX) + kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-wbtag_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-wbtag_CXXFLAGS)) + kernel-amiga-m68k-wbtag_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-amiga-m68k-wbtag_DXXFLAGS)) + kernel-amiga-m68k-wbtag_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-amiga-m68k-wbtag_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-amiga-m68k-wbtag_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-wbtag_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-amiga-m68k-wbtag_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS := $(strip $(kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-wbtag_CXXFLAGS := $(strip $(kernel-amiga-m68k-wbtag_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-amiga-m68k-wbtag_DXXFLAGS := $(kernel-amiga-m68k-wbtag_DXXFLAGS) + kernel-amiga-m68k-wbtag_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-amiga-m68k-wbtag_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-amiga-m68k-wbtag_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-wbtag_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-wbtag_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-amiga-m68k-wbtag_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_EXTRA_CPPFLAGS)) + kernel-amiga-m68k-wbtag_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-wbtag_CXXFLAGS)) + kernel-amiga-m68k-wbtag_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-amiga-m68k-wbtag_DXXFLAGS)) + kernel-amiga-m68k-wbtag_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-amiga-m68k-wbtag_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-amiga-m68k-wbtag_CXXCMD) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) . $(kernel-amiga-m68k-wbtag_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-wbtag_CXXFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-amiga-m68k-wbtag_CXXCMD) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) . $(kernel-amiga-m68k-wbtag_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-wbtag_CXXFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-amiga-m68k-wbtag_CXXCMD) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) $(dir $(2)) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_CXXIQUOTE) . $(kernel-amiga-m68k-wbtag_CXXIQUOTE_END) $(strip $(kernel-amiga-m68k-wbtag_CXXFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-amiga-m68k-wbtag_CXXCMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-wbtag_DXXFLAGS) $(kernel-amiga-m68k-wbtag_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach kernel-amiga-m68k-wbtag_CXXFILE,$(kernel-amiga-m68k-wbtag_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-amiga-m68k-wbtag_CXXFILE))),$(kernel-amiga-m68k-wbtag_CXXFILE)))) +else + $(foreach kernel-amiga-m68k-wbtag_CXXFILE,$(kernel-amiga-m68k-wbtag_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(kernel-amiga-m68k-wbtag_CXXFILE)))),$(kernel-amiga-m68k-wbtag_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-amiga-m68k-wbtag_OBJC_NARCHFILES),) + +ifeq (,) +kernel-amiga-m68k-wbtag_MOBJC_SRCWILDCARD := % +else +kernel-amiga-m68k-wbtag_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + kernel-amiga-m68k-wbtag_MOBJC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-wbtag_OBJC_NARCHFILES)) + kernel-amiga-m68k-wbtag_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-wbtag_OBJC_NARCHFILES)) + kernel-amiga-m68k-wbtag_MOBJC_WILDCARD := % +else + kernel-amiga-m68k-wbtag_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(kernel-amiga-m68k-wbtag_OBJC_NARCHFILES))) + kernel-amiga-m68k-wbtag_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(kernel-amiga-m68k-wbtag_OBJC_NARCHFILES))) + kernel-amiga-m68k-wbtag_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-amiga-m68k-wbtag_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-amiga-m68k-wbtag_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-amiga-m68k-wbtag_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-wbtag_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-amiga-m68k-wbtag_MOBJC_DIRS := $(foreach dir, $(kernel-amiga-m68k-wbtag_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-wbtag_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-amiga-m68k-wbtag_MOBJC_DIRS),) + kernel-amiga-m68k-wbtag_MOBJC_DIRS := $(shell echo $(kernel-amiga-m68k-wbtag_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-amiga-m68k-wbtag_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-amiga-m68k-wbtag_CC := $(TARGET_CC) +else + kernel-amiga-m68k-wbtag_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS := $(CPPFLAGS) +kernel-amiga-m68k-wbtag_OBJCFLAGS := $(kernel-amiga-m68k-wbtag_CFLAGS) +kernel-amiga-m68k-wbtag_OBJCFLAGS := $(kernel-amiga-m68k-wbtag_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-amiga-m68k-wbtag_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-amiga-m68k-wbtag_OBJCFLAGS))) +ifeq ($(kernel-amiga-m68k-wbtag_DFLAGS),) + kernel-amiga-m68k-wbtag_OBJCDFLAGS := $(kernel-amiga-m68k-wbtag_CFLAGS) +else + kernel-amiga-m68k-wbtag_OBJCDFLAGS := $(kernel-amiga-m68k-wbtag_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-amiga-m68k-wbtag_LINK ?= $(strip $(kernel-amiga-m68k-wbtag_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-amiga-m68k-wbtag_STRIP ?= $(TARGET_STRIP) + kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-amiga-m68k-wbtag_CC) $(TARGET_SYSROOT)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_OBJCFLAGS:=$(strip $(kernel-amiga-m68k-wbtag_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_OBJCDFLAGS:=$(kernel-amiga-m68k-wbtag_OBJCDFLAGS) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-amiga-m68k-wbtag_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-amiga-m68k-wbtag_STRIP ?= $(HOST_STRIP) + kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-wbtag_OBJCFLAGS)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-wbtag_OBJCDFLAGS)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE:=$(HOST_IQUOTE) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-amiga-m68k-wbtag_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-amiga-m68k-wbtag_STRIP ?= $(ECHO) >/dev/null + kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-wbtag_OBJCFLAGS)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-wbtag_OBJCDFLAGS)) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) $(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS) +$(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-wbtag_OBJCFLAGS) +$(kernel-amiga-m68k-wbtag_MOBJC_TARGETS) : $(kernel-amiga-m68k-wbtag_MOBJC_WILDCARD).o : $(kernel-amiga-m68k-wbtag_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-wbtag_IQUOTE) $(dir $<) $(kernel-amiga-m68k-wbtag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_IQUOTE) . $(kernel-amiga-m68k-wbtag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-wbtag_IQUOTE) $(dir $<) $(kernel-amiga-m68k-wbtag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_IQUOTE) . $(kernel-amiga-m68k-wbtag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-wbtag_IQUOTE) $(dir $<) $(kernel-amiga-m68k-wbtag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_IQUOTE) . $(kernel-amiga-m68k-wbtag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-wbtag_MOBJC_DTARGETS) : $(kernel-amiga-m68k-wbtag_MOBJC_WILDCARD).d : $(kernel-amiga-m68k-wbtag_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-wbtag_OBJCDFLAGS) $(kernel-amiga-m68k-wbtag_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-amiga-m68k-wbtag_MC_SRCWILDCARD := % +else +kernel-amiga-m68k-wbtag_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +kernel-amiga-m68k-wbtag_MC_TARGETS := $(addsuffix .o,$(kernel-amiga-m68k-wbtag_C_NARCHFILES)) +kernel-amiga-m68k-wbtag_MC_DTARGETS := $(addsuffix .d,$(kernel-amiga-m68k-wbtag_C_NARCHFILES)) +kernel-amiga-m68k-wbtag_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-amiga-m68k-wbtag_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(kernel-amiga-m68k-wbtag_C_NARCHFILES)))) + kernel-amiga-m68k-wbtag_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(kernel-amiga-m68k-wbtag_C_NARCHFILES)))) +else +ifeq (,) + kernel-amiga-m68k-wbtag_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(kernel-amiga-m68k-wbtag_C_NARCHFILES))) + kernel-amiga-m68k-wbtag_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(kernel-amiga-m68k-wbtag_C_NARCHFILES))) +else + kernel-amiga-m68k-wbtag_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-wbtag_C_NARCHFILES)))) + kernel-amiga-m68k-wbtag_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(kernel-amiga-m68k-wbtag_C_NARCHFILES)))) +endif +endif +kernel-amiga-m68k-wbtag_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : | $(addsuffix .c,$(kernel-amiga-m68k-wbtag_C_NARCHFILES)) + +# Be sure that all .c files are found +kernel-amiga-m68k-wbtag_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-amiga-m68k-wbtag_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-amiga-m68k-wbtag_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-amiga-m68k-wbtag_MC_DIRS := $(foreach dir, $(kernel-amiga-m68k-wbtag_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-amiga-m68k-wbtag_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-amiga-m68k-wbtag_MC_DIRS),) + kernel-amiga-m68k-wbtag_MC_DIRS := $(shell echo $(kernel-amiga-m68k-wbtag_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-amiga-m68k-wbtag_MC_DIRS) +endif + +endif + +kernel-amiga-m68k-wbtag_MC_CPPFLAGS := $(CPPFLAGS) +kernel-amiga-m68k-wbtag_CFLAGS := $(kernel-amiga-m68k-wbtag_CFLAGS) +ifeq ($(kernel-amiga-m68k-wbtag_DFLAGS),) + kernel-amiga-m68k-wbtag_DFLAGS := $(kernel-amiga-m68k-wbtag_CFLAGS) +else + kernel-amiga-m68k-wbtag_DFLAGS := $(kernel-amiga-m68k-wbtag_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-amiga-m68k-wbtag_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-amiga-m68k-wbtag_STRIP ?= $(TARGET_STRIP) +kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_MC_CPPFLAGS:=$(strip $(kernel-amiga-m68k-wbtag_MC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_CFLAGS:=$(strip $(kernel-amiga-m68k-wbtag_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_DFLAGS:=$(kernel-amiga-m68k-wbtag_DFLAGS) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-amiga-m68k-wbtag_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-amiga-m68k-wbtag_STRIP ?= $(HOST_STRIP) +kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-wbtag_CFLAGS)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-amiga-m68k-wbtag_DFLAGS)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE:=$(HOST_IQUOTE) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-amiga-m68k-wbtag_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-amiga-m68k-wbtag_STRIP ?= $(ECHO) >/dev/null +kernel-amiga-m68k-wbtag_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MC_CPPFLAGS) $(kernel-amiga-m68k-wbtag_MC_EXTRA_CPPFLAGS)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-wbtag_CFLAGS)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-amiga-m68k-wbtag_DFLAGS)) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) $(kernel-amiga-m68k-wbtag_MC_DTARGETS) : kernel-amiga-m68k-wbtag_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-amiga-m68k-wbtag_MC_TARGETS) : CPPFLAGS := $(kernel-amiga-m68k-wbtag_MC_CPPFLAGS) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) : CFLAGS := $(kernel-amiga-m68k-wbtag_CFLAGS) +$(kernel-amiga-m68k-wbtag_MC_TARGETS) : $(kernel-amiga-m68k-wbtag_MC_TGTWILDCARD).o : $(kernel-amiga-m68k-wbtag_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-amiga-m68k-wbtag_IQUOTE) $(dir $<) $(kernel-amiga-m68k-wbtag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_IQUOTE) . $(kernel-amiga-m68k-wbtag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-amiga-m68k-wbtag_IQUOTE) $(dir $<) $(kernel-amiga-m68k-wbtag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_IQUOTE) . $(kernel-amiga-m68k-wbtag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-amiga-m68k-wbtag_IQUOTE) $(dir $<) $(kernel-amiga-m68k-wbtag_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-amiga-m68k-wbtag_IQUOTE) . $(kernel-amiga-m68k-wbtag_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-amiga-m68k-wbtag_MC_DTARGETS) : $(kernel-amiga-m68k-wbtag_MC_TGTWILDCARD).d : $(kernel-amiga-m68k-wbtag_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-amiga-m68k-wbtag_DFLAGS) $(kernel-amiga-m68k-wbtag_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (resource,handler) +kernel-amiga-m68k-wbtag_MODULE := $(kernel-amiga-m68k-wbtag_MODDIR)/wbtag-resource +else +ifeq (resource,printer) +kernel-amiga-m68k-wbtag_MODULE := $(kernel-amiga-m68k-wbtag_MODDIR)/wbtag +else +kernel-amiga-m68k-wbtag_MODULE := $(kernel-amiga-m68k-wbtag_MODDIR)/wbtag.resource +endif +endif +kernel-amiga-m68k-wbtag_KOBJ := $(KOBJSDIR)/wbtag_resource.o + +kernel-amiga-m68k-wbtag-quick : kernel-amiga-m68k-wbtag +kernel-amiga-m68k-wbtag-kobj-quick : $(kernel-amiga-m68k-wbtag_KOBJ) +kernel-amiga-m68k-wbtag : $(kernel-amiga-m68k-wbtag_MODULE) +kernel-amiga-m68k-wbtag-kobj : $(kernel-amiga-m68k-wbtag_KOBJ) + +# The module is linked from all the compiled .o files +kernel-amiga-m68k-wbtag_OBJS := $(kernel-amiga-m68k-wbtag_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(kernel-amiga-m68k-wbtag_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (wbtag,con) + kernel-amiga-m68k-wbtag_ERR := $(notdir $(kernel-amiga-m68k-wbtag_MODULE)).err +else + kernel-amiga-m68k-wbtag_ERR := wbtag.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(wbtag_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(wbtag_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-amiga-m68k-wbtag_MODULE) : LIB_NAMES := $(wbtag_LIBS) +$(kernel-amiga-m68k-wbtag_MODULE) : OBJS := $(kernel-amiga-m68k-wbtag_OBJS) +$(kernel-amiga-m68k-wbtag_MODULE) : ENDTAG := +$(kernel-amiga-m68k-wbtag_MODULE) : ERR := $(kernel-amiga-m68k-wbtag_ERR) +$(kernel-amiga-m68k-wbtag_MODULE) : OBJDIR := $(OBJDIR) +$(kernel-amiga-m68k-wbtag_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-amiga-m68k-wbtag_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-amiga-m68k-wbtag_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-amiga-m68k-wbtag_MODULE) : $(kernel-amiga-m68k-wbtag_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +kernel-amiga-m68k-wbtag_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-amiga-m68k-wbtag_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-amiga-m68k-wbtag_SYMBOLS := $(kernel-amiga-m68k-wbtag_KBASE) + +kernel-amiga-m68k-wbtag_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-amiga-m68k-wbtag_KOBJ_LIBS := $(filter-out $(kernel-amiga-m68k-wbtag_KLIB),) $(kernel-amiga-m68k-wbtag_KAUTOLIB) +$(kernel-amiga-m68k-wbtag_KOBJ) : LINKLIBS:=$(kernel-amiga-m68k-wbtag_KOBJ_LIBS) +$(kernel-amiga-m68k-wbtag_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-amiga-m68k-wbtag_SYMBOLS)) +$(kernel-amiga-m68k-wbtag_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(kernel-amiga-m68k-wbtag_KOBJ) : $(kernel-amiga-m68k-wbtag_OBJS) $(kernel-amiga-m68k-wbtag_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +kernel-amiga-m68k-wbtag_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,wbtag resident_end)) +ifneq ($(kernel-amiga-m68k-wbtag_DEPS),) + ifneq (kernel-amiga-m68k-wbtag kernel-amiga-m68k-wbtag-quick kernel-amiga-m68k-wbtag-kobj,) + ifneq ($(findstring $(TARGET),kernel-amiga-m68k-wbtag kernel-amiga-m68k-wbtag-quick kernel-amiga-m68k-wbtag-kobj),) + -include $(kernel-amiga-m68k-wbtag_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-amiga-m68k-wbtag_DEPS) + endif + endif +endif + + +ifneq ($(kernel-amiga-m68k-wbtag_OBJS) $(kernel-amiga-m68k-wbtag_DEPS) $(kernel-amiga-m68k-wbtag_MODULE) $(kernel-amiga-m68k-wbtag_KOBJ),) +$(kernel-amiga-m68k-wbtag_OBJS) $(kernel-amiga-m68k-wbtag_DEPS) $(kernel-amiga-m68k-wbtag_MODULE) $(kernel-amiga-m68k-wbtag_KOBJ) : | $(OBJDIR) $(kernel-amiga-m68k-wbtag_MODDIR) $(KOBJSDIR) +else +$(kernel-amiga-m68k-wbtag_OBJS) $(kernel-amiga-m68k-wbtag_DEPS) $(kernel-amiga-m68k-wbtag_MODULE) $(kernel-amiga-m68k-wbtag_KOBJ) :: $(OBJDIR) $(kernel-amiga-m68k-wbtag_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(kernel-amiga-m68k-wbtag_MODDIR) $(KOBJSDIR) + + +kernel-amiga-m68k-wbtag-clean : FILES := $(kernel-amiga-m68k-wbtag_OBJS) $(kernel-amiga-m68k-wbtag_MODULE) $(kernel-amiga-m68k-wbtag_KOBJ) $(kernel-amiga-m68k-wbtag_DEPS) +kernel-amiga-m68k-wbtag-clean :: + $(Q)$(ECHO) "Cleaning up for module wbtag" + $(Q)$(RM) $(FILES) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/arch/mmakefile b/arch/mmakefile new file mode 100644 index 00000000000..82f8372ad61 --- /dev/null +++ b/arch/mmakefile @@ -0,0 +1,18 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- boot-distfiles : boot-distfiles-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) +#MM- boot-distfiles-quick : boot-distfiles-quick-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) + +#MM- distfiles : distfiles-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) +#MM- distfiles-quick : distfiles-quick-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/compiler/include/asm.c b/compiler/include/asm.c index 410e127dba6..af11b0d7141 100644 --- a/compiler/include/asm.c +++ b/compiler/include/asm.c @@ -1,6 +1,5 @@ /* - Copyright © 1995-2017, The AROS Development Team. All rights reserved. - $Id$ + Copyright (C) 1995-2026, The AROS Development Team. All rights reserved. */ #include @@ -53,6 +52,7 @@ int main(void) { DEFINE(SMPPrivate5 , offsetof (struct ExecBase, SMPPrivate5)); #endif DEFINE(TaskReady , offsetof (struct ExecBase, TaskReady)); + DEFINE(TaskWait , offsetof (struct ExecBase, TaskWait)); #if !defined(__AROSEXEC_SMP__) DEFINE(ThisTask , offsetof (struct ExecBase, ThisTask)); #else @@ -61,6 +61,7 @@ int main(void) { DEFINE(SysFlags , offsetof (struct ExecBase, SysFlags)); DEFINE(IdleCount , offsetof (struct ExecBase, IdleCount)); DEFINE(DispCount , offsetof (struct ExecBase, DispCount)); + DEFINE(LaunchPoint , offsetof (struct ExecBase, ex_LaunchPoint)); #if !defined(__AROSEXEC_SMP__) DEFINE(Quantum , offsetof (struct ExecBase, Quantum)); DEFINE(Elapsed , offsetof (struct ExecBase, Elapsed)); @@ -76,6 +77,7 @@ int main(void) { DEFINE(tc_ExceptCode , offsetof (struct Task, tc_ExceptCode)); DEFINE(tc_ExceptData , offsetof (struct Task, tc_ExceptData)); DEFINE(tc_SigExcept , offsetof (struct Task, tc_SigExcept)); + DEFINE(tc_SigWait , offsetof (struct Task, tc_SigWait)); DEFINE(tc_SigRecvd , offsetof (struct Task, tc_SigRecvd)); DEFINE(tc_Launch , offsetof (struct Task, tc_Launch)); DEFINE(tc_Switch , offsetof (struct Task, tc_Switch)); @@ -83,10 +85,20 @@ int main(void) { DEFINE(tc_SPLower , offsetof (struct Task, tc_SPLower)); DEFINE(tc_SPUpper , offsetof (struct Task, tc_SPUpper)); DEFINE(tc_IDNestCnt , offsetof (struct Task, tc_IDNestCnt)); + DEFINE(tc_TDNestCnt , offsetof (struct Task, tc_TDNestCnt)); DEFINE(tc_ETask , offsetof (struct Task, tc_UnionETask.tc_ETask)); asm volatile("\n.asciz \"/* struct ETask */\"" ::); - DEFINE(et_TaskStorage, offsetof (struct ETask, et_TaskStorage)); + DEFINE(et_Reserved, offsetof (struct ETask, et_Reserved)); + DEFINE(et_RegFrame, offsetof (struct ETask, et_RegFrame)); + +#ifdef __mc68000 + asm volatile("\n.asciz \"/* m68k ExceptionContext */\"" ::); + DEFINE(ec_D, offsetof (struct ExceptionContext, d)); + DEFINE(ec_A, offsetof (struct ExceptionContext, a)); + DEFINE(ec_SR, offsetof (struct ExceptionContext, sr)); + DEFINE(ec_PC, offsetof (struct ExceptionContext, pc)); +#endif asm volatile("\n.asciz \"/* struct Process */\"" ::); DEFINE(pr_CES , offsetof (struct Process, pr_CES)); @@ -98,6 +110,7 @@ int main(void) { DEFINE(pr_FileSystemTask, offsetof (struct Process, pr_FileSystemTask)); DEFINE(pr_MsgPort , offsetof (struct Process, pr_MsgPort)); DEFINE(pr_Result2 , offsetof (struct Process, pr_Result2)); + DEFINE(pr_GlobVec , offsetof (struct Process, pr_GlobVec)); DEFINE(pr_ReturnAddr , offsetof (struct Process, pr_ReturnAddr)); DEFINE(pr_SegList , offsetof (struct Process, pr_SegList)); DEFINE(pr_WindowPtr , offsetof (struct Process, pr_WindowPtr)); @@ -155,13 +168,16 @@ int main(void) { asm volatile("\n.asciz \"/* Task Flags */\"" ::); DEFINE(TS_RUN , TS_RUN); DEFINE(TS_READY , TS_READY); + DEFINE(TS_WAIT , TS_WAIT); DEFINE(TF_STACKCHK , TF_STACKCHK); DEFINE(TF_EXCEPT , TF_EXCEPT); DEFINE(TF_SWITCH , TF_SWITCH); DEFINE(TF_LAUNCH , TF_LAUNCH); + DEFINE(TF_DISPATCH_SPECIAL, TF_LAUNCH | TF_EXCEPT); asm volatile("\n.asciz \"/* Exec Flags */\"" ::); DEFINE(AFF_FPU , AFF_FPU); + DEFINE(SFF_QuantumClear, (UWORD)~SFF_QuantumOver); asm volatile("\n.asciz \"/* Exec functions */\"" ::); DEFINE(Supervisor , FuncOffset (5)); diff --git a/compiler/include/exec/execbase.inc b/compiler/include/exec/execbase.inc index 88904fcf592..515153cc1e7 100644 --- a/compiler/include/exec/execbase.inc +++ b/compiler/include/exec/execbase.inc @@ -2,7 +2,7 @@ #define EXEC_EXECBASE_H /* - Copyright © 1995-2011, The AROS Development Team. All rights reserved. + Copyright � 1995-2026, The AROS Development Team. All rights reserved. $Id$ Desc: structure of exec.library @@ -146,12 +146,10 @@ struct ExecBase #define AFB_MMU AFB_PRIVATEB #define AFF_MMU AFF_PRIVATEB -/* SysFlags. Private and AROS-specific. */ -#define SFF_SoftInt (1L<<5) /* There is a software interrupt pending */ -#define SFF_QuantumOver (1L<<13) /* Task's time slice is over */ - -/* AttnResched. AmigaOS(tm)-compatible, but private. */ -#define ARF_AttnSwitch (1L<<7) /* Delayed task switch pending */ +/* SysFlags. Private; the bits are where Kickstart keeps them. */ +#define SFF_SoftInt (1L<<13) /* There is a software interrupt pending */ +#define SFF_QuantumOver (1L<<14) /* Task's time slice is over */ +#define SFF_AttnSwitch (1L<<15) /* Delayed task switch pending */ /* Cache */ #define CACRF_EnableI (1L<<0) diff --git a/compiler/instrfunc/mmakefile b/compiler/instrfunc/mmakefile new file mode 100644 index 00000000000..5d2dfb68741 --- /dev/null +++ b/compiler/instrfunc/mmakefile @@ -0,0 +1,534 @@ +# $Id$ +# + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + profile_func_enter \ + profile_func_exit + +#MM- core-linklibs : linklibs-instrfunc +#MM- linklibs: linklibs-instrfunc +#MM linklibs-instrfunc : includes includes-copy + +NOWARN_FLAGS := $(NOWARN_FRAME_ADDRESS) +USER_CFLAGS := $(NOWARN_FLAGS) + + +# assign and generate the local variables used in this macro +linklibs-instrfunc_LIBNAME := instrfunc +linklibs-instrfunc_LINKLIB := $(AROS_LIB)/libinstrfunc.a + +linklibs-instrfunc_FILES ?= $(FILES) +linklibs-instrfunc_ASMFILES := +linklibs-instrfunc_OBJCFILES := +linklibs-instrfunc_CXXFILES := + +linklibs-instrfunc_OBJDIR ?= $(GENDIR)/$(CURDIR) +linklibs-instrfunc_ARCHOBJS := $(wildcard $(linklibs-instrfunc_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-instrfunc_ARCHFILES := $(basename $(notdir $(linklibs-instrfunc_ARCHOBJS))) +else + linklibs-instrfunc_ARCHFILES := $(basename $(patsubst $(linklibs-instrfunc_OBJDIR)/%,%,$(linklibs-instrfunc_ARCHOBJS))) +endif +linklibs-instrfunc_C_NARCHFILES := $(filter-out $(linklibs-instrfunc_ARCHFILES),$(linklibs-instrfunc_FILES)) +linklibs-instrfunc_C_FILES ?= $(linklibs-instrfunc_C_NARCHFILES) +linklibs-instrfunc_CXX_NARCHFILES := $(filter-out $(linklibs-instrfunc_ARCHFILES),$(linklibs-instrfunc_CXXFILES)) +linklibs-instrfunc_CXX_FILES ?= $(linklibs-instrfunc_CXX_NARCHFILES) +linklibs-instrfunc_OBJC_NARCHFILES := $(filter-out $(linklibs-instrfunc_ARCHFILES),$(linklibs-instrfunc_OBJCFILES)) +linklibs-instrfunc_OBJC_FILES ?= $(linklibs-instrfunc_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-instrfunc_OBJ_FILES ?= $(addprefix $(linklibs-instrfunc_OBJDIR)/,$(notdir $(linklibs-instrfunc_C_NARCHFILES:=.o) $(linklibs-instrfunc_CXX_NARCHFILES:=.o) $(linklibs-instrfunc_ASMFILES:=.o) $(linklibs-instrfunc_OBJC_NARCHFILES:=.o))) +else + linklibs-instrfunc_OBJ_FILES ?= $(addprefix $(linklibs-instrfunc_OBJDIR)/,$(linklibs-instrfunc_C_NARCHFILES:=.o) $(linklibs-instrfunc_CXX_NARCHFILES:=.o) $(linklibs-instrfunc_ASMFILES:=.o) $(linklibs-instrfunc_OBJC_NARCHFILES:=.o)) +endif +linklibs-instrfunc_OBJS ?= $(linklibs-instrfunc_ARCHOBJS) $(linklibs-instrfunc_OBJ_FILES) +linklibs-instrfunc_DEPS := $(patsubst %.o,%.d,$(linklibs-instrfunc_OBJS)) + +linklibs-instrfunc_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-instrfunc_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-instrfunc_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-instrfunc_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-instrfunc_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-instrfunc_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-instrfunc_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-instrfunc_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-instrfunc_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-instrfunc_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-instrfunc_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-instrfunc_CFLAGS)) + linklibs-instrfunc_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-instrfunc_CXXFLAGS)) +endif +endif +linklibs-instrfunc_AFLAGS := $(AFLAGS) +linklibs-instrfunc_DFLAGS := +ifneq (,) + linklibs-instrfunc_DFLAGS := +else + linklibs-instrfunc_DFLAGS := $(linklibs-instrfunc_CFLAGS) +endif +linklibs-instrfunc_DXXFLAGS := +ifneq (,) + linklibs-instrfunc_DXXFLAGS := +else + linklibs-instrfunc_DXXFLAGS := $(linklibs-instrfunc_CXXFLAGS) +endif + +.PHONY : linklibs-instrfunc linklibs-instrfunc-clean linklibs-instrfunc-quick + +#MM +linklibs-instrfunc-quick : linklibs-instrfunc + +#MM linklibs-instrfunc : includes-generate-deps +linklibs-instrfunc : $(linklibs-instrfunc_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-instrfunc linklibs-instrfunc-quick),) + + +linklibs-instrfunc_CXXABSBASENAMES := $(foreach linklibs-instrfunc_CXXBASE,$(linklibs-instrfunc_CXX_FILES),$(if $(filter /%,$(linklibs-instrfunc_CXXBASE)),$(linklibs-instrfunc_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-instrfunc_CXXBASE)))) + +ifneq ($(linklibs-instrfunc_CXXABSBASENAMES),) + +linklibs-instrfunc_CXXBASENAMES := $(basename $(linklibs-instrfunc_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-instrfunc_MCXX_FILES := $(strip $(foreach linklibs-instrfunc_CXXBASE,$(linklibs-instrfunc_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-instrfunc_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-instrfunc_EXT),$(linklibs-instrfunc_CXXBASE))))))) + +ifeq (,) +linklibs-instrfunc_MCXX_SRCWILDCARD := % +else +linklibs-instrfunc_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-instrfunc_OBJDIR),) + linklibs-instrfunc_CXXTARGETS := $(notdir $(linklibs-instrfunc_CXXBASENAMES:=.o)) + linklibs-instrfunc_CXXDTARGETS := $(notdir $(linklibs-instrfunc_CXXBASENAMES:=.d)) + linklibs-instrfunc_MCXX_WILDCARD := % +else + linklibs-instrfunc_CXXTARGETS := $(addprefix $(linklibs-instrfunc_OBJDIR)/,$(notdir $(linklibs-instrfunc_CXXBASENAMES:=.o))) + linklibs-instrfunc_CXXDTARGETS := $(addprefix $(linklibs-instrfunc_OBJDIR)/,$(notdir $(linklibs-instrfunc_CXXBASENAMES:=.d))) + linklibs-instrfunc_MCXX_WILDCARD := $(linklibs-instrfunc_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-instrfunc_CXXTARGETS) $(linklibs-instrfunc_CXXDTARGETS) : | $(linklibs-instrfunc_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-instrfunc_MCXX_CPPFLAGS := $(linklibs-instrfunc_CPPFLAGS) +linklibs-instrfunc_CXXFLAGS := $(linklibs-instrfunc_CXXFLAGS) +ifeq ($(linklibs-instrfunc_DXXFLAGS),) + linklibs-instrfunc_DXXFLAGS := $(linklibs-instrfunc_CXXFLAGS) +else + linklibs-instrfunc_DXXFLAGS := $(linklibs-instrfunc_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-instrfunc_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-instrfunc_STRIP ?= $(HOST_STRIP) + linklibs-instrfunc_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-instrfunc_CXXCMD:=$(HOST_CXX) + linklibs-instrfunc_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-instrfunc_MCXX_CPPFLAGS) $(linklibs-instrfunc_MCXX_EXTRA_CPPFLAGS)) + linklibs-instrfunc_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-instrfunc_CXXFLAGS)) + linklibs-instrfunc_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-instrfunc_DXXFLAGS)) + linklibs-instrfunc_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-instrfunc_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-instrfunc_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-instrfunc_STRIP ?= $(TARGET_STRIP) + linklibs-instrfunc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-instrfunc_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-instrfunc_MCXX_CPPFLAGS := $(strip $(linklibs-instrfunc_MCXX_CPPFLAGS) $(linklibs-instrfunc_MCXX_EXTRA_CPPFLAGS)) + linklibs-instrfunc_CXXFLAGS := $(strip $(linklibs-instrfunc_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-instrfunc_DXXFLAGS := $(linklibs-instrfunc_DXXFLAGS) + linklibs-instrfunc_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-instrfunc_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-instrfunc_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-instrfunc_STRIP ?= $(ECHO) >/dev/null + linklibs-instrfunc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-instrfunc_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-instrfunc_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-instrfunc_MCXX_CPPFLAGS) $(linklibs-instrfunc_MCXX_EXTRA_CPPFLAGS)) + linklibs-instrfunc_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-instrfunc_CXXFLAGS)) + linklibs-instrfunc_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-instrfunc_DXXFLAGS)) + linklibs-instrfunc_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-instrfunc_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-instrfunc_CXXCMD) $(linklibs-instrfunc_CXXIQUOTE) $(dir $(2)) $(linklibs-instrfunc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_CXXIQUOTE) . $(linklibs-instrfunc_CXXIQUOTE_END) $(strip $(linklibs-instrfunc_CXXFLAGS) $(linklibs-instrfunc_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-instrfunc_CXXCMD) $(linklibs-instrfunc_CXXIQUOTE) $(dir $(2)) $(linklibs-instrfunc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_CXXIQUOTE) . $(linklibs-instrfunc_CXXIQUOTE_END) $(strip $(linklibs-instrfunc_CXXFLAGS) $(linklibs-instrfunc_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-instrfunc_CXXCMD) $(linklibs-instrfunc_CXXIQUOTE) $(dir $(2)) $(linklibs-instrfunc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_CXXIQUOTE) . $(linklibs-instrfunc_CXXIQUOTE_END) $(strip $(linklibs-instrfunc_CXXFLAGS) $(linklibs-instrfunc_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-instrfunc_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-instrfunc_DXXFLAGS) $(linklibs-instrfunc_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-instrfunc_OBJDIR),) + $(foreach linklibs-instrfunc_CXXFILE,$(linklibs-instrfunc_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-instrfunc_CXXFILE))),$(linklibs-instrfunc_CXXFILE)))) +else + $(foreach linklibs-instrfunc_CXXFILE,$(linklibs-instrfunc_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(notdir $(basename $(linklibs-instrfunc_CXXFILE)))),$(linklibs-instrfunc_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-instrfunc_OBJC_FILES),) + +ifeq (,) +linklibs-instrfunc_MOBJC_SRCWILDCARD := % +else +linklibs-instrfunc_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-instrfunc_OBJDIR),) + linklibs-instrfunc_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-instrfunc_OBJC_FILES)) + linklibs-instrfunc_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-instrfunc_OBJC_FILES)) + linklibs-instrfunc_MOBJC_WILDCARD := % +else + linklibs-instrfunc_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(linklibs-instrfunc_OBJC_FILES))) + linklibs-instrfunc_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(linklibs-instrfunc_OBJC_FILES))) + linklibs-instrfunc_MOBJC_WILDCARD := $(linklibs-instrfunc_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-instrfunc_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-instrfunc_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-instrfunc_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-instrfunc_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-instrfunc_MOBJC_DIRS := $(foreach dir, $(linklibs-instrfunc_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-instrfunc_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-instrfunc_MOBJC_DIRS),) + linklibs-instrfunc_MOBJC_DIRS := $(shell echo $(linklibs-instrfunc_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-instrfunc_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-instrfunc_CC := $(TARGET_CC) +else + linklibs-instrfunc_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-instrfunc_MOBJC_CPPFLAGS := $(linklibs-instrfunc_CPPFLAGS) +linklibs-instrfunc_OBJCFLAGS := $(linklibs-instrfunc_CFLAGS) +linklibs-instrfunc_OBJCFLAGS := $(linklibs-instrfunc_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-instrfunc_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-instrfunc_OBJCFLAGS))) +ifeq ($(linklibs-instrfunc_DFLAGS),) + linklibs-instrfunc_OBJCDFLAGS := $(linklibs-instrfunc_CFLAGS) +else + linklibs-instrfunc_OBJCDFLAGS := $(linklibs-instrfunc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-instrfunc_LINK ?= $(strip $(linklibs-instrfunc_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-instrfunc_STRIP ?= $(TARGET_STRIP) + linklibs-instrfunc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-instrfunc_CC) $(TARGET_SYSROOT)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_MOBJC_CPPFLAGS:=$(strip $(linklibs-instrfunc_MOBJC_CPPFLAGS) $(linklibs-instrfunc_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_OBJCFLAGS:=$(strip $(linklibs-instrfunc_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_OBJCDFLAGS:=$(linklibs-instrfunc_OBJCDFLAGS) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-instrfunc_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-instrfunc_STRIP ?= $(HOST_STRIP) + linklibs-instrfunc_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-instrfunc_MOBJC_CPPFLAGS) $(linklibs-instrfunc_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-instrfunc_OBJCFLAGS)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-instrfunc_OBJCDFLAGS)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-instrfunc_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-instrfunc_STRIP ?= $(ECHO) >/dev/null + linklibs-instrfunc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-instrfunc_MOBJC_CPPFLAGS) $(linklibs-instrfunc_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-instrfunc_OBJCFLAGS)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-instrfunc_OBJCDFLAGS)) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-instrfunc_MOBJC_TARGETS) $(linklibs-instrfunc_MOBJC_DTARGETS) : linklibs-instrfunc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-instrfunc_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-instrfunc_MOBJC_CPPFLAGS) +$(linklibs-instrfunc_MOBJC_TARGETS) : CFLAGS := $(linklibs-instrfunc_OBJCFLAGS) +$(linklibs-instrfunc_MOBJC_TARGETS) : $(linklibs-instrfunc_MOBJC_WILDCARD).o : $(linklibs-instrfunc_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-instrfunc_IQUOTE) $(dir $<) $(linklibs-instrfunc_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_IQUOTE) . $(linklibs-instrfunc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-instrfunc_IQUOTE) $(dir $<) $(linklibs-instrfunc_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_IQUOTE) . $(linklibs-instrfunc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-instrfunc_IQUOTE) $(dir $<) $(linklibs-instrfunc_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_IQUOTE) . $(linklibs-instrfunc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-instrfunc_MOBJC_DTARGETS) : $(linklibs-instrfunc_MOBJC_WILDCARD).d : $(linklibs-instrfunc_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-instrfunc_OBJCDFLAGS) $(linklibs-instrfunc_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-instrfunc_MC_SRCWILDCARD := % +else +linklibs-instrfunc_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-instrfunc_OBJDIR),) +linklibs-instrfunc_MC_TARGETS := $(addsuffix .o,$(linklibs-instrfunc_C_FILES)) +linklibs-instrfunc_MC_DTARGETS := $(addsuffix .d,$(linklibs-instrfunc_C_FILES)) +linklibs-instrfunc_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-instrfunc_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(notdir $(linklibs-instrfunc_C_FILES)))) + linklibs-instrfunc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(notdir $(linklibs-instrfunc_C_FILES)))) +else +ifeq (,) + linklibs-instrfunc_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(linklibs-instrfunc_C_FILES))) + linklibs-instrfunc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(linklibs-instrfunc_C_FILES))) +else + linklibs-instrfunc_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(patsubst /%,%,$(linklibs-instrfunc_C_FILES)))) + linklibs-instrfunc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(patsubst /%,%,$(linklibs-instrfunc_C_FILES)))) +endif +endif +linklibs-instrfunc_MC_TGTWILDCARD := $(linklibs-instrfunc_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-instrfunc_C_FILES)) + +# Be sure that all .c files are found +linklibs-instrfunc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-instrfunc_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-instrfunc_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-instrfunc_MC_DIRS := $(foreach dir, $(linklibs-instrfunc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-instrfunc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-instrfunc_MC_DIRS),) + linklibs-instrfunc_MC_DIRS := $(shell echo $(linklibs-instrfunc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-instrfunc_MC_DIRS) +endif + +endif + +linklibs-instrfunc_MC_CPPFLAGS := $(linklibs-instrfunc_CPPFLAGS) +linklibs-instrfunc_CFLAGS := $(linklibs-instrfunc_CFLAGS) +ifeq ($(linklibs-instrfunc_DFLAGS),) + linklibs-instrfunc_DFLAGS := $(linklibs-instrfunc_CFLAGS) +else + linklibs-instrfunc_DFLAGS := $(linklibs-instrfunc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-instrfunc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-instrfunc_STRIP ?= $(TARGET_STRIP) +linklibs-instrfunc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_MC_CPPFLAGS:=$(strip $(linklibs-instrfunc_MC_CPPFLAGS) $(linklibs-instrfunc_MC_EXTRA_CPPFLAGS)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_CFLAGS:=$(strip $(linklibs-instrfunc_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_DFLAGS:=$(linklibs-instrfunc_DFLAGS) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-instrfunc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-instrfunc_STRIP ?= $(HOST_STRIP) +linklibs-instrfunc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-instrfunc_MC_CPPFLAGS) $(linklibs-instrfunc_MC_EXTRA_CPPFLAGS)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-instrfunc_CFLAGS)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-instrfunc_DFLAGS)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-instrfunc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-instrfunc_STRIP ?= $(ECHO) >/dev/null +linklibs-instrfunc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-instrfunc_MC_CPPFLAGS) $(linklibs-instrfunc_MC_EXTRA_CPPFLAGS)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-instrfunc_CFLAGS)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-instrfunc_DFLAGS)) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-instrfunc_MC_TARGETS) $(linklibs-instrfunc_MC_DTARGETS) : linklibs-instrfunc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-instrfunc_MC_TARGETS) : CPPFLAGS := $(linklibs-instrfunc_MC_CPPFLAGS) +$(linklibs-instrfunc_MC_TARGETS) : CFLAGS := $(linklibs-instrfunc_CFLAGS) +$(linklibs-instrfunc_MC_TARGETS) : $(linklibs-instrfunc_MC_TGTWILDCARD).o : $(linklibs-instrfunc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-instrfunc_IQUOTE) $(dir $<) $(linklibs-instrfunc_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_IQUOTE) . $(linklibs-instrfunc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-instrfunc_IQUOTE) $(dir $<) $(linklibs-instrfunc_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_IQUOTE) . $(linklibs-instrfunc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-instrfunc_IQUOTE) $(dir $<) $(linklibs-instrfunc_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-instrfunc_IQUOTE) . $(linklibs-instrfunc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-instrfunc_MC_DTARGETS) : $(linklibs-instrfunc_MC_TGTWILDCARD).d : $(linklibs-instrfunc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-instrfunc_DFLAGS) $(linklibs-instrfunc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-instrfunc_OBJDIR),) +linklibs-instrfunc-MA_TARGETS := $(addsuffix .o,$(linklibs-instrfunc_ASMFILES)) +linklibs-instrfunc-MA_WILDCARD := % +else +linklibs-instrfunc-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-instrfunc_OBJDIR)/,$(notdir $(linklibs-instrfunc_ASMFILES)))) +linklibs-instrfunc-MA_WILDCARD := $(linklibs-instrfunc_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-instrfunc-MA_TARGETS) : | $(addsuffix .s,$(linklibs-instrfunc_ASMFILES)) + +# Be sure that all .c files are found +linklibs-instrfunc-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-instrfunc-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-instrfunc_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-instrfunc-MA_DIRS := $(foreach dir, $(linklibs-instrfunc-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-instrfunc-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-instrfunc-MA_DIRS),) + linklibs-instrfunc-MA_DIRS := $(shell echo $(linklibs-instrfunc-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-instrfunc-MA_DIRS) +endif + +endif + +linklibs-instrfunc-MA_ASSEMBLER ?= $(linklibs-instrfunc_ASSEMBLER) + +$(linklibs-instrfunc-MA_TARGETS) : linklibs-instrfunc-MA_CMD:= $(linklibs-instrfunc-MA_ASSEMBLER) + +$(linklibs-instrfunc-MA_TARGETS) : CPPFLAGS := $(linklibs-instrfunc_CPPFLAGS) +$(linklibs-instrfunc-MA_TARGETS) : AFLAGS := $(linklibs-instrfunc_AFLAGS) +$(linklibs-instrfunc-MA_TARGETS) : $(linklibs-instrfunc-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-instrfunc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-instrfunc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-instrfunc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libinstrfunc.a : linklibs-instrfunc_AR:=$(AR) +$(AROS_LIB)/libinstrfunc.a : linklibs-instrfunc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libinstrfunc.a : linklibs-instrfunc_AR:=$(HOST_AR) +$(AROS_LIB)/libinstrfunc.a : linklibs-instrfunc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libinstrfunc.a : linklibs-instrfunc_AR:=$(KERNEL_AR) +$(AROS_LIB)/libinstrfunc.a : linklibs-instrfunc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libinstrfunc.a : $(linklibs-instrfunc_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-instrfunc_AR) $@ $^ + $(Q)$(linklibs-instrfunc_RANLIB) $@ +endif + +ifneq ($(linklibs-instrfunc_DEPS),) + ifneq (linklibs-instrfunc linklibs-instrfunc-quick,) + ifneq ($(findstring $(TARGET),linklibs-instrfunc linklibs-instrfunc-quick),) + -include $(linklibs-instrfunc_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-instrfunc_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-instrfunc_OBJS) $(linklibs-instrfunc_DEPS) $(linklibs-instrfunc_LINKLIB),) +$(linklibs-instrfunc_OBJS) $(linklibs-instrfunc_DEPS) $(linklibs-instrfunc_LINKLIB) : | $(linklibs-instrfunc_OBJDIR) $(AROS_LIB) +else +$(linklibs-instrfunc_OBJS) $(linklibs-instrfunc_DEPS) $(linklibs-instrfunc_LINKLIB) :: $(linklibs-instrfunc_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(linklibs-instrfunc_OBJDIR) $(AROS_LIB) + + +linklibs-instrfunc-clean : FILES := $(linklibs-instrfunc_OBJS) $(linklibs-instrfunc_LINKLIB) $(linklibs-instrfunc_DEPS) +#MM +linklibs-instrfunc-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-instrfunc" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/compiler/mmakefile b/compiler/mmakefile new file mode 100644 index 00000000000..5e70d41f6fb --- /dev/null +++ b/compiler/mmakefile @@ -0,0 +1,40 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- AROS : compiler-setup + +#MM- compiler : includes linklibs + +#MM- includes : includes-$(AROS_TARGET_CPU) \ +#MM includes-$(AROS_TARGET_ARCH) \ +#MM includes-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) \ +#MM includes-$(AROS_TARGET_ARCH)-$(AROS_TARGET_VARIANT) \ +#MM includes-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)-$(AROS_TARGET_VARIANT) + +#MM- linklibs : linklibs-$(AROS_TARGET_CPU) \ +#MM linklibs-$(AROS_TARGET_ARCH) \ +#MM linklibs-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) \ +#MM linklibs-$(AROS_TARGET_ARCH)-$(AROS_TARGET_VARIANT) \ +#MM linklibs-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)-$(AROS_TARGET_VARIANT) + + +#MM compiler-setup : + +ifneq (compiler-setup,) +compiler-setup : | $(AROS_INCLUDES) $(AROS_LIB) $(AROS_DEVELOPER)/bin $(AROS_DEVELOPER)/etc +else +compiler-setup :: $(AROS_INCLUDES) $(AROS_LIB) $(AROS_DEVELOPER)/bin $(AROS_DEVELOPER)/etc +endif + +GLOB_MKDIRS += $(AROS_INCLUDES) $(AROS_LIB) $(AROS_DEVELOPER)/bin $(AROS_DEVELOPER)/etc + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/compiler/posixc/include/mmakefile b/compiler/posixc/include/mmakefile new file mode 100644 index 00000000000..25a33db8110 --- /dev/null +++ b/compiler/posixc/include/mmakefile @@ -0,0 +1,71 @@ +include $(SRCDIR)/config/aros.cfg + +INCLUDES := $(call WILDCARD, aros/*.h aros/posixc/*.h aros/posixc/sys/*.h aros/types/*.h \ + libraries/*.h \ +) + +#MM- linklibs-clib-includes : linklibs-posixc-includes-files +#MM- includes-copy : linklibs-posixc-includes-files + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +linklibs-posixc-includes-files : $(BD_INCL_FILES) + +.PHONY: linklibs-posixc-includes-files + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/compiler/posixc/mmakefile b/compiler/posixc/mmakefile new file mode 100644 index 00000000000..a0bc0ecc71b --- /dev/null +++ b/compiler/posixc/mmakefile @@ -0,0 +1,1912 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- AROS : compiler-posixc + +POSIXC := \ + __env \ + __exec \ + __fdesc \ + __fopen \ + __fseeko \ + __ftello \ + __posixc_assert \ + __posixc_environ \ + __posixc_init \ + __posixc_nixmain \ + __posixc_timer \ + __stdio \ + __get_default_file \ + __rand48 \ + __stat \ + __usergrp \ + __upath \ + __vfork \ + access \ + alphasort \ + alphasort64 \ + basename \ + cfgetispeed \ + cfgetospeed \ + cfsetispeed \ + cfsetospeed \ + chdir \ + chmod \ + chown \ + clearerr \ + clock_gettime \ + close \ + closedir \ + creat \ + creat64 \ + dirfd \ + dirname \ + drand48 \ + dup \ + dup2 \ + endgrent \ + endpwent \ + erand48 \ + execl \ + execlp \ + execv \ + execve \ + execvp \ + fchdir \ + fchmod \ + fchown \ + fclose \ + fcntl \ + fdopen \ + feof \ + ferror \ + fflush \ + fgetc \ + fgetpos \ + fgetpos64 \ + fgets \ + fileno \ + flock \ + flockfile \ + fopen \ + fopen64 \ + fprintf \ + fputc \ + fputs \ + fread \ + freopen \ + fscanf \ + fseek \ + fseeko \ + fseeko64 \ + fsetpos \ + fsetpos64 \ + fstat \ + fstat64 \ + fsync \ + ftell \ + ftello \ + ftello64 \ + ftruncate \ + funlockfile \ + fwrite \ + getc_unlocked \ + getchar \ + getcwd \ + getegid \ + geteuid \ + getenv \ + getfsstat \ + getgid \ + getgrent \ + getgrgid \ + getgrnam \ + getgroups \ + getloadavg \ + getlogin \ + getpass \ + getpgid \ + getpgrp \ + getpid \ + getppid \ + getpwent \ + getpwnam \ + getpwuid \ + getrlimit \ + gets \ + gettimeofday \ + getuid \ + ioctl \ + isatty \ + jrand48 \ + kill \ + lcong48 \ + link \ + lrand48 \ + lseek \ + lseek64 \ + lstat \ + lstat64 \ + mkdir \ + mknod \ + mkstemp \ + mktemp \ + mrand48 \ + nanosleep \ + nrand48 \ + open \ + opendir \ + pathconf \ + pclose \ + perror \ + pipe \ + popen \ + posix_memalign \ + printf \ + putchar \ + putenv \ + puts \ + random \ + read \ + readdir \ + readdir64 \ + readlink \ + realpath \ + regex/regerror \ + regex/regexec \ + regex/regcomp \ + regex/regfree \ + remove \ + rename \ + rewind \ + rewinddir \ + rmdir \ + scandir \ + scandir64 \ + scanf \ + seed48 \ + seekdir \ + setbuf \ + setegid \ + setenv \ + seteuid \ + setgid \ + setgrent \ + setpwent \ + setrlimit \ + setsid \ + setuid \ + setvbuf \ + sigaction \ + sigaddset \ + sigdelset \ + sigemptyset \ + sigfillset \ + sigismember \ + siglongjmp \ + sigpending \ + sigprocmask \ + sigsetjmp \ + sigsuspend \ + sleep \ + srand48 \ + stat \ + stat64 \ + statfs \ + strerror \ + strptime \ + swab \ + symlink \ + sync \ + sysconf \ + system \ + tcgetattr \ + tcgetpgrp \ + tcsetattr \ + telldir \ + tempnam \ + times \ + tmpfile \ + tmpnam \ + truncate \ + ttyname \ + umask \ + uname \ + ungetc \ + unsetenv \ + updatestdio \ + usleep \ + utime \ + utimes \ + vfprintf \ + vfscanf \ + vprintf \ + vscanf \ + wait \ + waitpid \ + write + +# The following files don't have source code here but have a CPU +# specific version in arch directory hierarchy +POSIXC_ARCH := \ + vfork \ + vfork_longjmp + +POSIXC_LINKLIB := \ + ftime \ + gcvt \ + getopt \ + getopt_long \ + posixc_environ \ + setlinebuf + +# Both in linklib and shared library +POSIXC_COMMON := \ + __posixc_stdstreams + +#MM- core-linklibs : linklibs-posixc + +NOWARN_FLAGS := $(NOWARN_NONNULL_COMPARE) +USER_CFLAGS += $(NOWARN_FLAGS) $(CFLAGS_MERGE_CONSTANTS) + +USER_CPPFLAGS := \ + -D__TIMER_NOLIBBASE__ \ + -D_BSD_SOURCE \ + -D_XOPEN_SOURCE=700 \ + -D_LARGEFILE64_SOURCE + +USER_LDFLAGS := -noposixc + +POSIXC_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/posixc/,$(notdir $(POSIXC_COMMON)))) + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM compiler-posixc +#MM compiler-posixc-quick +#MM compiler-posixc-makefile +#MM compiler-posixc-clean + +# ABI targets: +#MM- includes-all : compiler-posixc-includes +#MM- linklibs-posixc: compiler-posixc-linklib +#MM- linklibs-posixc_rel : compiler-posixc-linklib +#MM- includes-posixc: compiler-posixc-includes +#MM- includes-posixc_rel : compiler-posixc-includes +#MM- compiler-posixc : compiler-posixc-includes core-linklibs linklibs-stdc_rel linklibs-stdcio_rel +#MM compiler-posixc-linklib : compiler-posixc-includes includes-stdc_rel includes-stdcio_rel +#MM- compiler-posixc-quick : compiler-posixc-includes-quick +#MM compiler-posixc-includes : compiler-posixc-makefile compiler-posixc-includes-dirs \ +#MM includes-generate-deps compiler-posixc-fd +#MM compiler-posixc-includes-quick +#MM compiler-posixc-includes-dirs +#MM compiler-posixc-fd + +# Library targets +#MM compiler-posixc-kobj : core-linklibs linklibs-stdc_rel linklibs-stdcio_rel +#MM compiler-posixc-kobj-quick : + +# Library with ABI targets: +#MM compiler-posixc-kobj : compiler-posixc-includes core-linklibs linklibs-stdc_rel linklibs-stdcio_rel +#MM compiler-posixc-kobj-quick : compiler-posixc-includes-quick + +# All MetaMake targets defined by this macro +compiler-posixc_ALLTARGETS := compiler-posixc compiler-posixc-quick compiler-posixc-clean + +ifeq (M,M) +compiler-posixc_ALLTARGETS += compiler-posixc-kobj compiler-posixc-kobj-quick +endif + +ifeq (M,M) +compiler-posixc_ALLTARGETS += compiler-posixc-includes \ + compiler-posixc-includes-quick compiler-posixc-includes-dirs \ + compiler-posixc-linklib compiler-posixc-fd +endif + +.PHONY : $(compiler-posixc_ALLTARGETS) compiler-posixc-makefile + +ifeq (posixc,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + compiler-posixc_DEFNAME := posixc_ +else + compiler-posixc_DEFNAME := posixc +endif +compiler-posixc_DEFLINKLIBNAME := $(compiler-posixc_DEFNAME) +ifneq (,) + compiler-posixc_LINKLIBNAME := +else + compiler-posixc_LINKLIBNAME = $(compiler-posixc_DEFLINKLIBNAME) +endif +compiler-posixc_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + compiler-posixc_DEFCPPFLAGS += -I +endif +compiler-posixc_DEFDFLAGS := $(CFLAGS) +ifneq (,) + compiler-posixc_DFLAGS := +else + compiler-posixc_DFLAGS = $(compiler-posixc_DEFDFLAGS) +endif +compiler-posixc_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + compiler-posixc_DXXFLAGS := +else + compiler-posixc_DXXFLAGS = $(compiler-posixc_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +compiler-posixc_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(compiler-posixc_DEFDFLAGS)) +compiler-posixc_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(compiler-posixc_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +compiler-posixc_FUNCINSTR := yes +compiler-posixc_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(compiler-posixc_DEFDFLAGS)) +compiler-posixc_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(compiler-posixc_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +compiler-posixc_OBJDIR := +else +compiler-posixc_OBJDIR := $(OBJDIR)/$(compiler-posixc_DEFNAME) +endif +ifneq (,) +compiler-posixc_OBJDIR := $(compiler-posixc_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +compiler-posixc-makefile := $(compiler-posixc_OBJDIR)/Makefile.$(compiler-posixc_DEFNAME)library +compiler-posixc-genmakefile : $(compiler-posixc-makefile) + + +compiler-posixc-genmakefile_OPTS := +ifneq (,) + compiler-posixc-genmakefile_OPTS += -f + compiler-posixc-genmakefile_MODNAME := posixc_ +else + compiler-posixc-genmakefile_MODNAME := posixc +endif +compiler-posixc-genmakefile_TARGET := Makefile.$(compiler-posixc-genmakefile_MODNAME)library +compiler-posixc-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-posixc-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-posixc-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-posixc-genmakefile_OPTS += -c + compiler-posixc-genmakefile_DEPS += + endif +else + compiler-posixc-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/posixc.conf + compiler-posixc-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/posixc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-posixc-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-posixc-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-posixc-genmakefile_OPTS += -o + compiler-posixc-genmakefile_DEPS += + endif +endif +ifneq (,) + compiler-posixc-genmakefile_OPTS += -s +endif +ifneq ($(compiler-posixc_OBJDIR),) + compiler-posixc-genmakefile_OPTS += -d $(compiler-posixc_OBJDIR) + compiler-posixc-genmakefile_TARGET := $(compiler-posixc_OBJDIR)/$(compiler-posixc-genmakefile_TARGET) +endif + +$(compiler-posixc-genmakefile_TARGET) : OPTS := $(compiler-posixc-genmakefile_OPTS) +$(compiler-posixc-genmakefile_TARGET) : MODNAME := posixc +$(compiler-posixc-genmakefile_TARGET) : MODTYPE := library +$(compiler-posixc-genmakefile_TARGET) : $(compiler-posixc-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(compiler-posixc-makefile),) +$(compiler-posixc-makefile) : | $(compiler-posixc_OBJDIR) +else +$(compiler-posixc-makefile) :: $(compiler-posixc_OBJDIR) +endif + +GLOB_MKDIRS += $(compiler-posixc_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(compiler-posixc_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(compiler-posixc-makefile) + +compiler-posixc_DEFMODDIR := $($(compiler-posixc_DEFNAME)_MODDIR) +ifeq (no,yes) +compiler-posixc_DEFMODDIR := $(AROS_DIR_ARCH)/$(compiler-posixc_DEFMODDIR) +endif +ifneq (,) + compiler-posixc_MODDIR := +else + compiler-posixc_MODDIR := $(compiler-posixc_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +compiler-posixc_INCDIR := +else +compiler-posixc_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +compiler-posixc_LIBDEFSINC := $(compiler-posixc_OBJDIR)/include/$(compiler-posixc_DEFNAME)_libdefs.h +compiler-posixc_DEFLIBDEFSINC := $(compiler-posixc_OBJDIR)/include/$(compiler-posixc_DEFNAME)_deflibdefs.h + +ifeq (M,M) +compiler-posixc-includes-quick : compiler-posixc-includes +compiler-posixc-includes : $(addprefix $(GENINCDIR)/,$($(compiler-posixc_DEFNAME)_INCLUDES)) \ + $(addprefix $(compiler-posixc_INCDIR)/,$($(compiler-posixc_DEFNAME)_INCLUDES)) \ + $(compiler-posixc_LIBDEFSINC) $(compiler-posixc_DEFLIBDEFSINC) + +ifneq ($($(compiler-posixc_DEFNAME)_INCLUDES),) + +ifneq (,) + compiler-posixc-includes_MODNAME := posixc_ +else + compiler-posixc-includes_MODNAME := posixc +endif + +ifneq ($($(compiler-posixc-includes_MODNAME)_INCLUDES),) + +compiler-posixc-includes_TARGETS := $($(compiler-posixc-includes_MODNAME)_INCLUDES) + +compiler-posixc-includes_DEPS := $(GENMODULE) +compiler-posixc-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + compiler-posixc-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-posixc-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-posixc-includes_OPTS += -c + compiler-posixc-includes_DEPS += + endif +else + compiler-posixc-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/posixc.conf + compiler-posixc-includes_DEPS += $(SRCDIR)/$(CURDIR)/posixc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-posixc-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-posixc-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-posixc-includes_OPTS += -o + compiler-posixc-includes_DEPS += + endif +endif +ifneq (,) + compiler-posixc-includes_OPTS += -s +endif +ifneq ($(compiler-posixc_OBJDIR)/include,) + compiler-posixc-includes_OPTS += -d $(compiler-posixc_OBJDIR)/include + compiler-posixc-includes_TARGETS := $(addprefix $(compiler-posixc_OBJDIR)/include/,$(compiler-posixc-includes_TARGETS)) + compiler-posixc-includes_GENINCFLAG=$(compiler-posixc_OBJDIR)/include/.posixc.library-includes +else + compiler-posixc-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.posixc.library-includes +endif + +$(compiler-posixc-includes_TARGETS) : $(compiler-posixc-includes_DEPS) $(compiler-posixc-includes_GENINCFLAG) + +$(compiler-posixc-includes_GENINCFLAG) : OPTS := $(compiler-posixc-includes_OPTS) +$(compiler-posixc-includes_GENINCFLAG) : MODNAME := posixc +$(compiler-posixc-includes_GENINCFLAG) : MODTYPE := library +$(compiler-posixc-includes_GENINCFLAG) : $(compiler-posixc-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(compiler-posixc_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(compiler-posixc_DEFNAME)_INCLUDES)) : | $(compiler-posixc_OBJDIR)/posixc_geninc + +$(compiler-posixc_OBJDIR)/posixc_geninc : COPYSRCDIR := $(compiler-posixc_OBJDIR)/include +$(compiler-posixc_OBJDIR)/posixc_geninc : TGTDIR := $(GENINCDIR) +$(compiler-posixc_OBJDIR)/posixc_geninc : FILES := $($(compiler-posixc_DEFNAME)_INCLUDES) +$(compiler-posixc_OBJDIR)/posixc_geninc : $(addprefix $(compiler-posixc_OBJDIR)/include/,$($(compiler-posixc_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(compiler-posixc_OBJDIR)/include + +$(addprefix $(compiler-posixc_INCDIR)/,$($(compiler-posixc_DEFNAME)_INCLUDES)) : | $(compiler-posixc_OBJDIR)/posixc_incs + +$(compiler-posixc_OBJDIR)/posixc_incs : COPYSRCDIR := $(compiler-posixc_OBJDIR)/include +$(compiler-posixc_OBJDIR)/posixc_incs : TGTDIR := $(compiler-posixc_INCDIR) +$(compiler-posixc_OBJDIR)/posixc_incs : FILES := $($(compiler-posixc_DEFNAME)_INCLUDES) +$(compiler-posixc_OBJDIR)/posixc_incs : $(addprefix $(compiler-posixc_OBJDIR)/include/,$($(compiler-posixc_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +compiler-posixc_INCDIRS := $(filter-out ./,$(sort $(dir $($(compiler-posixc_DEFNAME)_INCLUDES)))) + +TMPposixc_INCDIRS := \ + $(compiler-posixc_OBJDIR)/include $(addprefix $(compiler-posixc_OBJDIR)/include/,$(compiler-posixc_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(compiler-posixc_INCDIRS)) \ + $(compiler-posixc_INCDIR) $(addprefix $(compiler-posixc_INCDIR)/,$(compiler-posixc_INCDIRS)) + +ifneq (compiler-posixc-includes-dirs,) +compiler-posixc-includes-dirs : | $(TMPposixc_INCDIRS) +else +compiler-posixc-includes-dirs :: $(TMPposixc_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPposixc_INCDIRS) + + +endif + +endif + + +compiler-posixc-genlibdefs_OPTS := +ifneq (,) + compiler-posixc-genlibdefs_OPTS += -f + compiler-posixc-genlibdefs_MODNAME := posixc_ +else + compiler-posixc-genlibdefs_MODNAME := posixc +endif +compiler-posixc-genlibdefs_TARGET := $(compiler-posixc-genlibdefs_MODNAME)_libdefs.h +compiler-posixc-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-posixc-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-posixc-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-posixc-genlibdefs_OPTS += -c + compiler-posixc-genlibdefs_DEPS += + endif +else + compiler-posixc-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/posixc.conf + compiler-posixc-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/posixc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-posixc-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-posixc-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-posixc-genlibdefs_OPTS += -o + compiler-posixc-genlibdefs_DEPS += + endif +endif +ifneq (,) + compiler-posixc-genlibdefs_OPTS += -s +endif +ifneq ($(compiler-posixc_OBJDIR)/include,) + compiler-posixc-genlibdefs_OPTS += -d $(compiler-posixc_OBJDIR)/include + compiler-posixc-genlibdefs_TARGET := $(compiler-posixc_OBJDIR)/include/$(compiler-posixc-genlibdefs_TARGET) +endif +ifneq (,) + compiler-posixc-genlibdefs_OPTS += -v +endif + +$(compiler-posixc-genlibdefs_TARGET) : OPTS := $(compiler-posixc-genlibdefs_OPTS) +$(compiler-posixc-genlibdefs_TARGET) : MODNAME := posixc +$(compiler-posixc-genlibdefs_TARGET) : MODTYPE := library +$(compiler-posixc-genlibdefs_TARGET) : $(compiler-posixc-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(compiler-posixc_DEFLIBDEFSINC) : FILENAME := $(compiler-posixc_LIBDEFSINC) +$(compiler-posixc_DEFLIBDEFSINC) : $(compiler-posixc_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(compiler-posixc_LIBDEFSINC) $(compiler-posixc_DEFLIBDEFSINC) : | $(compiler-posixc_OBJDIR)/include + +ifneq (compiler-posixc-includes-dirs,) +compiler-posixc-includes-dirs : | $(compiler-posixc_OBJDIR)/include +else +compiler-posixc-includes-dirs :: $(compiler-posixc_OBJDIR)/include +endif + +GLOB_MKDIRS += $(compiler-posixc_OBJDIR)/include + + +## Extra genmodule src files generation +## + +compiler-posixc-genmodfiles_OPTS := +ifneq (,) + compiler-posixc-genmodfiles_OPTS += -f + compiler-posixc-genmodfiles_MODNAME := posixc_ +else + compiler-posixc-genmodfiles_MODNAME := posixc +endif +compiler-posixc-genmodfiles_GENTARGETS := $($(compiler-posixc-genmodfiles_MODNAME)_STARTFILES) $($(compiler-posixc-genmodfiles_MODNAME)_ENDFILES) +compiler-posixc-genmodfiles_STUBTARGETS := $($(compiler-posixc-genmodfiles_MODNAME)_LINKLIBFILES) $($(compiler-posixc-genmodfiles_MODNAME)_RELLINKLIBFILES) +compiler-posixc-genmodfiles_GENTARGETS := $(addsuffix .c,$(compiler-posixc-genmodfiles_GENTARGETS)) +compiler-posixc-genmodfiles_STUBTARGETS := $(addsuffix .c,$(compiler-posixc-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(compiler-posixc-genmodfiles_MODNAME)_LINKLIBAFILES) $($(compiler-posixc-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +compiler-posixc-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-posixc-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-posixc-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-posixc-genmodfiles_OPTS += -c + compiler-posixc-genmodfiles_DEPS += + endif +else + compiler-posixc-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/posixc.conf + compiler-posixc-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/posixc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-posixc-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-posixc-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-posixc-genmodfiles_OPTS += -o + compiler-posixc-genmodfiles_DEPS += + endif +endif +ifneq (,) + compiler-posixc-genmodfiles_OPTS += -s +endif +ifneq ($(compiler-posixc_OBJDIR),) + compiler-posixc-genmodfiles_OPTS += -d $(compiler-posixc_OBJDIR) + compiler-posixc-genmodfiles_TARGETDIR := $(shell echo $(compiler-posixc_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + compiler-posixc-genmodfiles_GENTARGETS := $(addprefix $(compiler-posixc-genmodfiles_TARGETDIR)/,$(compiler-posixc-genmodfiles_GENTARGETS)) + compiler-posixc-genmodfiles_GENFILEFLAG=$(compiler-posixc-genmodfiles_TARGETDIR)/.posixc.library-genfiles +else + compiler-posixc-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.posixc.library-genfiles +endif +ifneq ($(compiler-posixc_OBJDIR)/linklib,) + compiler-posixc-genmodfiles_OPTS += -l $(compiler-posixc_OBJDIR)/linklib + compiler-posixc-genmodfiles_STUBTARGETDIR := $(shell echo $(compiler-posixc_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + compiler-posixc-genmodfiles_STUBTARGETS := $(addprefix $(compiler-posixc-genmodfiles_STUBTARGETDIR)/,$(compiler-posixc-genmodfiles_STUBTARGETS)) + compiler-posixc-genmodfiles_TARGETDIRS += $(compiler-posixc_OBJDIR)/linklib +else +ifneq ($(compiler-posixc_OBJDIR),) + compiler-posixc-genmodfiles_STUBTARGETS := $(addprefix $(compiler-posixc-genmodfiles_TARGETDIR)/,$(compiler-posixc-genmodfiles_STUBTARGETS)) +endif +endif + +compiler-posixc-genmodfiles_TARGETS := $(compiler-posixc-genmodfiles_GENTARGETS) $(compiler-posixc-genmodfiles_STUBTARGETS) +ifneq ($(compiler-posixc-genmodfiles_TARGETDIRS),) +$(compiler-posixc-genmodfiles_TARGETS) : | $(compiler-posixc-genmodfiles_TARGETDIRS) +endif + +$(compiler-posixc-genmodfiles_TARGETS) : $(compiler-posixc-genmodfiles_DEPS) $(compiler-posixc-genmodfiles_GENFILEFLAG) + +$(compiler-posixc-genmodfiles_GENFILEFLAG) : OPTS := $(compiler-posixc-genmodfiles_OPTS) +$(compiler-posixc-genmodfiles_GENFILEFLAG) : MODNAME := posixc +$(compiler-posixc-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(compiler-posixc-genmodfiles_GENFILEFLAG) : $(compiler-posixc-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(compiler-posixc-genmodfiles_GENFILEFLAG) : $(compiler-posixc_DEFLIBDEFSINC) $(compiler-posixc-makefile) + + +ifneq ($(compiler-posixc-genmodfiles_GENFILEFLAG),) +$(compiler-posixc-genmodfiles_GENFILEFLAG) : | $(compiler-posixc_OBJDIR)/linklib +else +$(compiler-posixc-genmodfiles_GENFILEFLAG) :: $(compiler-posixc_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(compiler-posixc_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +compiler-posixc_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +compiler-posixc_FDDIR := /../$(AROS_DIR_FD) +endif +compiler-posixc-fd : $(compiler-posixc_FDDIR)/posixc_lib.fd + + +TMP_TARGET := posixc_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/posixc.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/posixc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(compiler-posixc_FDDIR),) + TMP_OPTS += -d $(compiler-posixc_FDDIR) + TMP_TARGET := $(compiler-posixc_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := posixc +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(compiler-posixc_FDDIR)/posixc_lib.fd : | $(compiler-posixc_FDDIR) + + +ifneq (compiler-posixc-fd-setup,) +compiler-posixc-fd-setup : | $(compiler-posixc_FDDIR) +else +compiler-posixc-fd-setup :: $(compiler-posixc_FDDIR) +endif + +GLOB_MKDIRS += $(compiler-posixc_FDDIR) + +endif + +## Compilation +## +compiler-posixc_FILES := $(POSIXC) $(POSIXC_COMMON) $(POSIXC_ARCH) +compiler-posixc_OBJCFILES := +compiler-posixc_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +compiler-posixc_LIBFILES := $(POSIXC_LINKLIB) +compiler-posixc_LIBS := stdc_rel stdcio_rel + +compiler-posixc_FDIRS := $(sort $(dir $(compiler-posixc_FILES))) + +compiler-posixc_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +compiler-posixc_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call compiler-posixc_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +compiler-posixc_FILTERARCH = $(filter-out $(call compiler-posixc_MATCHARCH,$(1),$(2)),$(2)) +compiler-posixc_STARTFILES := $(addprefix $(compiler-posixc_OBJDIR)/,$($(compiler-posixc_DEFNAME)_STARTFILES)) +compiler-posixc_ENDFILES := $(addprefix $(compiler-posixc_OBJDIR)/,$($(compiler-posixc_DEFNAME)_ENDFILES)) + +compiler-posixc_ARCHOBJS := $(wildcard $(compiler-posixc_OBJDIR)/arch/*.o) +compiler-posixc_LIBARCHOBJS := $(wildcard $(compiler-posixc_OBJDIR)/linklib/arch/*.o) +compiler-posixc_ARCHFILES := $(basename $(notdir $(compiler-posixc_ARCHOBJS))) +compiler-posixc_LIBARCHFILES := $(basename $(notdir $(compiler-posixc_LIBARCHOBJS))) +compiler-posixc_C_NARCHFILES := $(call compiler-posixc_FILTERARCH,$(compiler-posixc_ARCHFILES),$(compiler-posixc_FILES)) +compiler-posixc_CXX_NARCHFILES := $(call compiler-posixc_FILTERARCH,$(compiler-posixc_ARCHFILES),$(compiler-posixc_CXXFILES)) +compiler-posixc_OBJC_NARCHFILES := $(call compiler-posixc_FILTERARCH,$(compiler-posixc_ARCHFILES),$(compiler-posixc_OBJCFILES)) +compiler-posixc_NLIBARCHFILES := $(call compiler-posixc_FILTERARCH,$(compiler-posixc_LIBARCHFILES),$(compiler-posixc_LIBFILES)) +compiler-posixc_ARCHNLIBFILES := $(call compiler-posixc_FILTERARCH,$(compiler-posixc_LIBFILES),$(compiler-posixc_LIBARCHFILES)) + +compiler-posixc_CPPFLAGS := $(strip $(CPPFLAGS) -I$(compiler-posixc_OBJDIR)/include -include $(compiler-posixc_DEFLIBDEFSINC)) +ifneq (,) +compiler-posixc_CPPFLAGS += -I +endif +compiler-posixc_LINKLIBCPPFLAGS := $(compiler-posixc_CPPFLAGS) +compiler-posixc_CPPFLAGS += $(strip $($(compiler-posixc_DEFNAME)_CPPFLAGS)) +compiler-posixc_LINKLIBCPPFLAGS += $(strip $($(compiler-posixc_DEFNAME)_LINKLIBCPPFLAGS)) +compiler-posixc_CFLAGS := $(strip $(CFLAGS) $($(compiler-posixc_DEFNAME)_CFLAGS)) +compiler-posixc_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(compiler-posixc_DEFNAME)_LINKLIBCFLAGS)) +compiler-posixc_CXXFLAGS := $(strip $(CXXFLAGS) $($(compiler-posixc_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +compiler-posixc_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +compiler-posixc_CFLAGS := $(strip $(compiler-posixc_LTOFLAGS) $(compiler-posixc_CFLAGS)) +compiler-posixc_LINKLIBCFLAGS := $(strip $(compiler-posixc_LTOFLAGS) $(compiler-posixc_LINKLIBCFLAGS)) +compiler-posixc_CXXFLAGS := $(strip $(compiler-posixc_LTOFLAGS) $(compiler-posixc_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +compiler-posixc_SUBSTNULL := +compiler-posixc_SUBSTSPACE := $(compiler-posixc_SUBSTNULL) # +compiler-posixc_SUBSTCOMMA := , +compiler-posixc_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(compiler-posixc_SUBSTSPACE),$(compiler-posixc_SUBSTCOMMA),$(strip $($(compiler-posixc_DEFNAME)_STARTFILES)))) +compiler-posixc_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +compiler-posixc_CFLAGS := $(strip $(compiler-posixc_INSTRFUNCFLAGS) $(compiler-posixc_CFLAGS)) +compiler-posixc_CXXFLAGS := $(strip $(compiler-posixc_INSTRFUNCFLAGS) $(compiler-posixc_CXXFLAGS)) +compiler-posixc_LIBS += $(compiler-posixc_INSTRFUNCLIBS) +endif +endif +compiler-posixc_DFLAGS := $(strip $(compiler-posixc_DFLAGS) $($(compiler-posixc_DEFNAME)_DFLAGS)) +compiler-posixc_LINKLIBDFLAGS := $(strip $(compiler-posixc_DFLAGS) $($(compiler-posixc_DEFNAME)_LINKLIBDFLAGS)) +compiler-posixc_DXXFLAGS := $(strip $(compiler-posixc_DXXFLAGS) $($(compiler-posixc_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + compiler-posixc_LIBSUFFIX := +else + compiler-posixc_LIBSUFFIX := .library +endif + +ifeq (,) +compiler-posixc_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +compiler-posixc_LIBDIR := +endif + +ifeq (M,M) +compiler-posixc_LINKLIBCFILES := $(addprefix $(compiler-posixc_OBJDIR)/linklib/,$($(compiler-posixc_DEFNAME)_LINKLIBFILES)) +compiler-posixc_LINKLIBAFILES := $(addprefix $(compiler-posixc_OBJDIR)/linklib/,$($(compiler-posixc_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(compiler-posixc_DEFNAME)_LINKLIBFILES) $($(compiler-posixc_DEFNAME)_LINKLIBAFILES) $(POSIXC_LINKLIB) $(compiler-posixc_ARCHNLIBFILES)),) + compiler-posixc_LINKLIB := +else + compiler-posixc_LINKLIB := $(compiler-posixc_LIBDIR)/libposixc$(compiler-posixc_LIBSUFFIX).a + ifneq (posixc,$(compiler-posixc_LINKLIBNAME)) + compiler-posixc_LINKLIB += $(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)$(compiler-posixc_LIBSUFFIX).a + endif +endif +compiler-posixc_LINKLIBFILES := $(compiler-posixc_LINKLIBCFILES) $(compiler-posixc_LINKLIBAFILES) + +compiler-posixc_RELLINKLIBCFILES := $(addprefix $(compiler-posixc_OBJDIR)/linklib/,$($(compiler-posixc_DEFNAME)_RELLINKLIBFILES)) +compiler-posixc_RELLINKLIBAFILES := $(addprefix $(compiler-posixc_OBJDIR)/linklib/,$($(compiler-posixc_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(compiler-posixc_DEFNAME)_RELLINKLIBFILES) $($(compiler-posixc_DEFNAME)_RELLINKLIBAFILES) $(POSIXC_LINKLIB) $(compiler-posixc_ARCHNLIBFILES)),) + compiler-posixc_RELLINKLIB := +else + compiler-posixc_RELLINKLIB := $(compiler-posixc_LIBDIR)/lib$(compiler-posixc_DEFNAME)_rel$(compiler-posixc_LIBSUFFIX).a + ifneq (posixc,$(compiler-posixc_LINKLIBNAME)) + compiler-posixc_RELLINKLIB += $(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)_rel$(compiler-posixc_LIBSUFFIX).a + endif +endif +compiler-posixc_RELLINKLIBFILES := $(compiler-posixc_RELLINKLIBCFILES) $(compiler-posixc_RELLINKLIBAFILES) +endif + +compiler-posixc_ENDOBJS := $(addsuffix .o,$(compiler-posixc_ENDFILES)) +compiler-posixc_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(notdir $(compiler-posixc_NLIBARCHFILES))) $(addprefix $(compiler-posixc_OBJDIR)/linklib/arch/,$(notdir $(compiler-posixc_ARCHNLIBFILES))) $(compiler-posixc_LINKLIBFILES)) \ + $(POSIXC_LINKOBJS) +compiler-posixc_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(notdir $(compiler-posixc_NLIBARCHFILES))) $(addprefix $(compiler-posixc_OBJDIR)/linklib/arch/,$(notdir $(compiler-posixc_ARCHNLIBFILES))) $(compiler-posixc_RELLINKLIBFILES)) \ + $(POSIXC_LINKOBJS) +$(compiler-posixc_LINKLIBFILES) $(compiler-posixc_RELLINKLIBFILES) : | $(compiler-posixc_OBJDIR)/linklib +$(compiler-posixc_LINKLIBOBJS) $(compiler-posixc_RELLINKLIBOBJS) : | $(compiler-posixc_OBJDIR)/linklib + +compiler-posixc_CCFILES := $(compiler-posixc_C_NARCHFILES) +compiler-posixc_TARGETCCFILES := $(strip $(compiler-posixc_STARTFILES) $(compiler-posixc_ENDFILES)) +compiler-posixc_LINKLIBCCFILES := $(strip $(compiler-posixc_NLIBARCHFILES) $(compiler-posixc_LINKLIBCFILES) $(compiler-posixc_RELLINKLIBCFILES)) +compiler-posixc_LINKLIBCCGENFILES := $(strip $(compiler-posixc_LINKLIBCFILES) $(compiler-posixc_RELLINKLIBCFILES)) + + +compiler-posixc_CXXABSBASENAMES := $(foreach compiler-posixc_CXXBASE,$(compiler-posixc_CXX_NARCHFILES),$(if $(filter /%,$(compiler-posixc_CXXBASE)),$(compiler-posixc_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(compiler-posixc_CXXBASE)))) + +ifneq ($(compiler-posixc_CXXABSBASENAMES),) + +compiler-posixc_CXXBASENAMES := $(basename $(compiler-posixc_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +compiler-posixc_MCXX_FILES := $(strip $(foreach compiler-posixc_CXXBASE,$(compiler-posixc_CXXABSBASENAMES), $(firstword $(wildcard $(foreach compiler-posixc_EXT, $(AROS_CXXEXTS),$(addsuffix .$(compiler-posixc_EXT),$(compiler-posixc_CXXBASE))))))) + +ifeq (,) +compiler-posixc_MCXX_SRCWILDCARD := % +else +compiler-posixc_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(compiler-posixc_OBJDIR),) + compiler-posixc_CXXTARGETS := $(notdir $(compiler-posixc_CXXBASENAMES:=.o)) + compiler-posixc_CXXDTARGETS := $(notdir $(compiler-posixc_CXXBASENAMES:=.d)) + compiler-posixc_MCXX_WILDCARD := % +else + compiler-posixc_CXXTARGETS := $(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(compiler-posixc_CXXBASENAMES:=.o))) + compiler-posixc_CXXDTARGETS := $(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(compiler-posixc_CXXBASENAMES:=.d))) + compiler-posixc_MCXX_WILDCARD := $(compiler-posixc_OBJDIR)/% + + # Be sure that all source files are generated + $(compiler-posixc_CXXTARGETS) $(compiler-posixc_CXXDTARGETS) : | $(compiler-posixc_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +compiler-posixc_MCXX_CPPFLAGS := $(compiler-posixc_CPPFLAGS) +compiler-posixc_CXXFLAGS := $(compiler-posixc_CXXFLAGS) +ifeq ($(compiler-posixc_DXXFLAGS),) + compiler-posixc_DXXFLAGS := $(compiler-posixc_CXXFLAGS) +else + compiler-posixc_DXXFLAGS := $(compiler-posixc_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + compiler-posixc_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + compiler-posixc_STRIP ?= $(HOST_STRIP) + compiler-posixc_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + compiler-posixc_CXXCMD:=$(HOST_CXX) + compiler-posixc_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(compiler-posixc_MCXX_CPPFLAGS) $(compiler-posixc_MCXX_EXTRA_CPPFLAGS)) + compiler-posixc_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(compiler-posixc_CXXFLAGS)) + compiler-posixc_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(compiler-posixc_DXXFLAGS)) + compiler-posixc_CXXIQUOTE:=$(HOST_IQUOTE) + compiler-posixc_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + compiler-posixc_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + compiler-posixc_STRIP ?= $(TARGET_STRIP) + compiler-posixc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + compiler-posixc_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + compiler-posixc_MCXX_CPPFLAGS := $(strip $(compiler-posixc_MCXX_CPPFLAGS) $(compiler-posixc_MCXX_EXTRA_CPPFLAGS)) + compiler-posixc_CXXFLAGS := $(strip $(compiler-posixc_CXXFLAGS) $(SAFETY_CFLAGS)) + compiler-posixc_DXXFLAGS := $(compiler-posixc_DXXFLAGS) + compiler-posixc_CXXIQUOTE:=$(CFLAGS_IQUOTE) + compiler-posixc_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + compiler-posixc_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + compiler-posixc_STRIP ?= $(ECHO) >/dev/null + compiler-posixc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + compiler-posixc_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + compiler-posixc_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(compiler-posixc_MCXX_CPPFLAGS) $(compiler-posixc_MCXX_EXTRA_CPPFLAGS)) + compiler-posixc_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(compiler-posixc_CXXFLAGS)) + compiler-posixc_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(compiler-posixc_DXXFLAGS)) + compiler-posixc_CXXIQUOTE:=$(KERNEL_IQUOTE) + compiler-posixc_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(compiler-posixc_CXXCMD) $(compiler-posixc_CXXIQUOTE) $(dir $(2)) $(compiler-posixc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_CXXIQUOTE) . $(compiler-posixc_CXXIQUOTE_END) $(strip $(compiler-posixc_CXXFLAGS) $(compiler-posixc_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(compiler-posixc_CXXCMD) $(compiler-posixc_CXXIQUOTE) $(dir $(2)) $(compiler-posixc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_CXXIQUOTE) . $(compiler-posixc_CXXIQUOTE_END) $(strip $(compiler-posixc_CXXFLAGS) $(compiler-posixc_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(compiler-posixc_CXXCMD) $(compiler-posixc_CXXIQUOTE) $(dir $(2)) $(compiler-posixc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_CXXIQUOTE) . $(compiler-posixc_CXXIQUOTE_END) $(strip $(compiler-posixc_CXXFLAGS) $(compiler-posixc_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(compiler-posixc_CXXCMD)" $(MKDEPEND) $(strip $(compiler-posixc_DXXFLAGS) $(compiler-posixc_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(compiler-posixc_OBJDIR),) + $(foreach compiler-posixc_CXXFILE,$(compiler-posixc_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(compiler-posixc_CXXFILE))),$(compiler-posixc_CXXFILE)))) +else + $(foreach compiler-posixc_CXXFILE,$(compiler-posixc_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(basename $(compiler-posixc_CXXFILE)))),$(compiler-posixc_CXXFILE)))) +endif + +endif + + +ifneq ($(compiler-posixc_OBJC_NARCHFILES),) + +ifeq (,) +compiler-posixc_MOBJC_SRCWILDCARD := % +else +compiler-posixc_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-posixc_OBJDIR),) + compiler-posixc_MOBJC_TARGETS := $(addsuffix .o,$(compiler-posixc_OBJC_NARCHFILES)) + compiler-posixc_MOBJC_DTARGETS := $(addsuffix .d,$(compiler-posixc_OBJC_NARCHFILES)) + compiler-posixc_MOBJC_WILDCARD := % +else + compiler-posixc_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/,$(compiler-posixc_OBJC_NARCHFILES))) + compiler-posixc_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/,$(compiler-posixc_OBJC_NARCHFILES))) + compiler-posixc_MOBJC_WILDCARD := $(compiler-posixc_OBJDIR)/% + + # Be sure that all .m files are generated + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : | $(addsuffix .m,$(compiler-posixc_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + compiler-posixc_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + compiler-posixc_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-posixc_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + compiler-posixc_MOBJC_DIRS := $(foreach dir, $(compiler-posixc_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-posixc_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(compiler-posixc_MOBJC_DIRS),) + compiler-posixc_MOBJC_DIRS := $(shell echo $(compiler-posixc_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(compiler-posixc_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + compiler-posixc_CC := $(TARGET_CC) +else + compiler-posixc_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +compiler-posixc_MOBJC_CPPFLAGS := $(compiler-posixc_CPPFLAGS) +compiler-posixc_OBJCFLAGS := $(compiler-posixc_CFLAGS) +compiler-posixc_OBJCFLAGS := $(compiler-posixc_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +compiler-posixc_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(compiler-posixc_OBJCFLAGS))) +ifeq ($(compiler-posixc_DFLAGS),) + compiler-posixc_OBJCDFLAGS := $(compiler-posixc_CFLAGS) +else + compiler-posixc_OBJCDFLAGS := $(compiler-posixc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + compiler-posixc_LINK ?= $(strip $(compiler-posixc_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + compiler-posixc_STRIP ?= $(TARGET_STRIP) + compiler-posixc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : CMD:=$(strip $(compiler-posixc_CC) $(TARGET_SYSROOT)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_MOBJC_CPPFLAGS:=$(strip $(compiler-posixc_MOBJC_CPPFLAGS) $(compiler-posixc_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_OBJCFLAGS:=$(strip $(compiler-posixc_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_OBJCDFLAGS:=$(compiler-posixc_OBJCDFLAGS) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_IQUOTE:=$(CFLAGS_IQUOTE) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + compiler-posixc_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + compiler-posixc_STRIP ?= $(HOST_STRIP) + compiler-posixc_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(compiler-posixc_MOBJC_CPPFLAGS) $(compiler-posixc_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_OBJCFLAGS)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_OBJCDFLAGS)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_IQUOTE:=$(HOST_IQUOTE) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + compiler-posixc_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + compiler-posixc_STRIP ?= $(ECHO) >/dev/null + compiler-posixc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(compiler-posixc_MOBJC_CPPFLAGS) $(compiler-posixc_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_OBJCFLAGS)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_OBJCDFLAGS)) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_IQUOTE:=$(KERNEL_IQUOTE) + $(compiler-posixc_MOBJC_TARGETS) $(compiler-posixc_MOBJC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-posixc_MOBJC_TARGETS) : CPPFLAGS := $(compiler-posixc_MOBJC_CPPFLAGS) +$(compiler-posixc_MOBJC_TARGETS) : CFLAGS := $(compiler-posixc_OBJCFLAGS) +$(compiler-posixc_MOBJC_TARGETS) : $(compiler-posixc_MOBJC_WILDCARD).o : $(compiler-posixc_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-posixc_MOBJC_DTARGETS) : $(compiler-posixc_MOBJC_WILDCARD).d : $(compiler-posixc_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-posixc_OBJCDFLAGS) $(compiler-posixc_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +compiler-posixc_MC_SRCWILDCARD := % +else +compiler-posixc_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-posixc_OBJDIR),) +compiler-posixc_MC_TARGETS := $(addsuffix .o,$(compiler-posixc_CCFILES)) +compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(compiler-posixc_CCFILES)) +compiler-posixc_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(compiler-posixc_CCFILES)))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(compiler-posixc_CCFILES)))) +else +ifeq (,) + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/,$(compiler-posixc_CCFILES))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/,$(compiler-posixc_CCFILES))) +else + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/,$(patsubst /%,%,$(compiler-posixc_CCFILES)))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/,$(patsubst /%,%,$(compiler-posixc_CCFILES)))) +endif +endif +compiler-posixc_MC_TGTWILDCARD := $(compiler-posixc_OBJDIR)/% + +# Be sure that all .c files are generated +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : | $(addsuffix .c,$(compiler-posixc_CCFILES)) + +# Be sure that all .c files are found +compiler-posixc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-posixc_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-posixc_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-posixc_MC_DIRS := $(foreach dir, $(compiler-posixc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-posixc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-posixc_MC_DIRS),) + compiler-posixc_MC_DIRS := $(shell echo $(compiler-posixc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-posixc_MC_DIRS) +endif + +endif + +compiler-posixc_MC_CPPFLAGS := $(compiler-posixc_CPPFLAGS) +compiler-posixc_CFLAGS := $(compiler-posixc_CFLAGS) +ifeq ($(compiler-posixc_DFLAGS),) + compiler-posixc_DFLAGS := $(compiler-posixc_CFLAGS) +else + compiler-posixc_DFLAGS := $(compiler-posixc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-posixc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-posixc_STRIP ?= $(TARGET_STRIP) +compiler-posixc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(compiler-posixc_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(compiler-posixc_DFLAGS) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-posixc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-posixc_STRIP ?= $(HOST_STRIP) +compiler-posixc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_DFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(HOST_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-posixc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-posixc_STRIP ?= $(ECHO) >/dev/null +compiler-posixc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_DFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-posixc_MC_TARGETS) : CPPFLAGS := $(compiler-posixc_MC_CPPFLAGS) +$(compiler-posixc_MC_TARGETS) : CFLAGS := $(compiler-posixc_CFLAGS) +$(compiler-posixc_MC_TARGETS) : $(compiler-posixc_MC_TGTWILDCARD).o : $(compiler-posixc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-posixc_MC_DTARGETS) : $(compiler-posixc_MC_TGTWILDCARD).d : $(compiler-posixc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-posixc_DFLAGS) $(compiler-posixc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +compiler-posixc_MC_SRCWILDCARD := % +else +compiler-posixc_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-posixc_OBJDIR),) +compiler-posixc_MC_TARGETS := $(addsuffix .o,$(compiler-posixc_TARGETCCFILES)) +compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(compiler-posixc_TARGETCCFILES)) +compiler-posixc_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(compiler-posixc_TARGETCCFILES)))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(compiler-posixc_TARGETCCFILES)))) +else +ifeq (,) + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/,$(compiler-posixc_TARGETCCFILES))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/,$(compiler-posixc_TARGETCCFILES))) +else + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/,$(patsubst /%,%,$(compiler-posixc_TARGETCCFILES)))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/,$(patsubst /%,%,$(compiler-posixc_TARGETCCFILES)))) +endif +endif +compiler-posixc_MC_TGTWILDCARD := $(compiler-posixc_OBJDIR)/% + +# Be sure that all .c files are generated +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : | $(addsuffix .c,$(compiler-posixc_TARGETCCFILES)) + +# Be sure that all .c files are found +compiler-posixc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-posixc_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-posixc_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-posixc_MC_DIRS := $(foreach dir, $(compiler-posixc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-posixc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-posixc_MC_DIRS),) + compiler-posixc_MC_DIRS := $(shell echo $(compiler-posixc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-posixc_MC_DIRS) +endif + +endif + +compiler-posixc_MC_CPPFLAGS := $(compiler-posixc_CPPFLAGS) -D__AROS__ +compiler-posixc_CFLAGS := $(compiler-posixc_CFLAGS) +ifeq ($(compiler-posixc_DFLAGS),) + compiler-posixc_DFLAGS := $(compiler-posixc_CFLAGS) +else + compiler-posixc_DFLAGS := $(compiler-posixc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-posixc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-posixc_STRIP ?= $(TARGET_STRIP) +compiler-posixc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(compiler-posixc_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(compiler-posixc_DFLAGS) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-posixc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-posixc_STRIP ?= $(HOST_STRIP) +compiler-posixc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_DFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(HOST_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-posixc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-posixc_STRIP ?= $(ECHO) >/dev/null +compiler-posixc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_DFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-posixc_MC_TARGETS) : CPPFLAGS := $(compiler-posixc_MC_CPPFLAGS) +$(compiler-posixc_MC_TARGETS) : CFLAGS := $(compiler-posixc_CFLAGS) +$(compiler-posixc_MC_TARGETS) : $(compiler-posixc_MC_TGTWILDCARD).o : $(compiler-posixc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-posixc_MC_DTARGETS) : $(compiler-posixc_MC_TGTWILDCARD).d : $(compiler-posixc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-posixc_DFLAGS) $(compiler-posixc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +compiler-posixc_MC_SRCWILDCARD := % +else +compiler-posixc_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-posixc_OBJDIR)/linklib,) +compiler-posixc_MC_TARGETS := $(addsuffix .o,$(compiler-posixc_NLIBARCHFILES)) +compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(compiler-posixc_NLIBARCHFILES)) +compiler-posixc_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(notdir $(compiler-posixc_NLIBARCHFILES)))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(notdir $(compiler-posixc_NLIBARCHFILES)))) +else +ifeq (,) + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(compiler-posixc_NLIBARCHFILES))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(compiler-posixc_NLIBARCHFILES))) +else + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(patsubst /%,%,$(compiler-posixc_NLIBARCHFILES)))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(patsubst /%,%,$(compiler-posixc_NLIBARCHFILES)))) +endif +endif +compiler-posixc_MC_TGTWILDCARD := $(compiler-posixc_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : | $(addsuffix .c,$(compiler-posixc_NLIBARCHFILES)) + +# Be sure that all .c files are found +compiler-posixc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-posixc_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-posixc_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-posixc_MC_DIRS := $(foreach dir, $(compiler-posixc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-posixc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-posixc_MC_DIRS),) + compiler-posixc_MC_DIRS := $(shell echo $(compiler-posixc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-posixc_MC_DIRS) +endif + +endif + +compiler-posixc_MC_CPPFLAGS := $(compiler-posixc_LINKLIBCPPFLAGS) -D__AROS__ +compiler-posixc_CFLAGS := $(compiler-posixc_LINKLIBCFLAGS) +ifeq ($(compiler-posixc_LINKLIBDFLAGS),) + compiler-posixc_DFLAGS := $(compiler-posixc_LINKLIBCFLAGS) +else + compiler-posixc_DFLAGS := $(compiler-posixc_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-posixc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-posixc_STRIP ?= $(TARGET_STRIP) +compiler-posixc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(compiler-posixc_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(compiler-posixc_DFLAGS) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-posixc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-posixc_STRIP ?= $(HOST_STRIP) +compiler-posixc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_DFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(HOST_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-posixc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-posixc_STRIP ?= $(ECHO) >/dev/null +compiler-posixc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_DFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-posixc_MC_TARGETS) : CPPFLAGS := $(compiler-posixc_MC_CPPFLAGS) +$(compiler-posixc_MC_TARGETS) : CFLAGS := $(compiler-posixc_CFLAGS) +$(compiler-posixc_MC_TARGETS) : $(compiler-posixc_MC_TGTWILDCARD).o : $(compiler-posixc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-posixc_MC_DTARGETS) : $(compiler-posixc_MC_TGTWILDCARD).d : $(compiler-posixc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-posixc_DFLAGS) $(compiler-posixc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(compiler-posixc_OBJDIR)/linklib,) +compiler-posixc_MC_SRCWILDCARD := % +else +compiler-posixc_MC_SRCWILDCARD := $(compiler-posixc_OBJDIR)/linklib/% +endif + +ifeq ($(compiler-posixc_OBJDIR)/linklib,) +compiler-posixc_MC_TARGETS := $(addsuffix .o,$(compiler-posixc_LINKLIBCCGENFILES)) +compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(compiler-posixc_LINKLIBCCGENFILES)) +compiler-posixc_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(notdir $(compiler-posixc_LINKLIBCCGENFILES)))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(notdir $(compiler-posixc_LINKLIBCCGENFILES)))) +else +ifeq ($(compiler-posixc_OBJDIR)/linklib,) + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(compiler-posixc_LINKLIBCCGENFILES))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(compiler-posixc_LINKLIBCCGENFILES))) +else + compiler-posixc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(patsubst $(compiler-posixc_OBJDIR)/linklib/%,%,$(compiler-posixc_LINKLIBCCGENFILES)))) + compiler-posixc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(patsubst $(compiler-posixc_OBJDIR)/linklib/%,%,$(compiler-posixc_LINKLIBCCGENFILES)))) +endif +endif +compiler-posixc_MC_TGTWILDCARD := $(compiler-posixc_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : | $(addsuffix .c,$(compiler-posixc_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +compiler-posixc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-posixc_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-posixc_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-posixc_MC_DIRS := $(foreach dir, $(compiler-posixc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-posixc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-posixc_MC_DIRS),) + compiler-posixc_MC_DIRS := $(shell echo $(compiler-posixc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-posixc_MC_DIRS) +endif + +endif + +compiler-posixc_MC_CPPFLAGS := $(compiler-posixc_LINKLIBCPPFLAGS) -D__AROS__ +compiler-posixc_CFLAGS := $(compiler-posixc_LINKLIBCFLAGS) +ifeq ($(compiler-posixc_LINKLIBDFLAGS),) + compiler-posixc_DFLAGS := $(compiler-posixc_LINKLIBCFLAGS) +else + compiler-posixc_DFLAGS := $(compiler-posixc_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-posixc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-posixc_STRIP ?= $(TARGET_STRIP) +compiler-posixc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(compiler-posixc_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(compiler-posixc_DFLAGS) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-posixc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-posixc_STRIP ?= $(HOST_STRIP) +compiler-posixc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-posixc_DFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(HOST_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-posixc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-posixc_STRIP ?= $(ECHO) >/dev/null +compiler-posixc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-posixc_MC_CPPFLAGS) $(compiler-posixc_MC_EXTRA_CPPFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_CFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-posixc_DFLAGS)) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-posixc_MC_TARGETS) $(compiler-posixc_MC_DTARGETS) : compiler-posixc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-posixc_MC_TARGETS) : CPPFLAGS := $(compiler-posixc_MC_CPPFLAGS) +$(compiler-posixc_MC_TARGETS) : CFLAGS := $(compiler-posixc_CFLAGS) +$(compiler-posixc_MC_TARGETS) : $(compiler-posixc_MC_TGTWILDCARD).o : $(compiler-posixc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-posixc_IQUOTE) $(dir $<) $(compiler-posixc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-posixc_IQUOTE) . $(compiler-posixc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-posixc_MC_DTARGETS) : $(compiler-posixc_MC_TGTWILDCARD).d : $(compiler-posixc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-posixc_DFLAGS) $(compiler-posixc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(compiler-posixc_LINKLIBAFILES),) + +ifeq ($(compiler-posixc_OBJDIR)/linklib,) +compiler-posixc-MA_TARGETS := $(addsuffix .o,$(compiler-posixc_LINKLIBAFILES) $(compiler-posixc_RELLINKLIBAFILES)) +compiler-posixc-MA_WILDCARD := % +else +compiler-posixc-MA_TARGETS := $(addsuffix .o,$(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(notdir $(compiler-posixc_LINKLIBAFILES) $(compiler-posixc_RELLINKLIBAFILES)))) +compiler-posixc-MA_WILDCARD := $(compiler-posixc_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(compiler-posixc-MA_TARGETS) : | $(addsuffix .S,$(compiler-posixc_LINKLIBAFILES) $(compiler-posixc_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +compiler-posixc-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-posixc-MA_BASEDIRS := $(shell echo $(sort $(dir $(compiler-posixc_LINKLIBAFILES) $(compiler-posixc_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-posixc-MA_DIRS := $(foreach dir, $(compiler-posixc-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-posixc-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-posixc-MA_DIRS),) + compiler-posixc-MA_DIRS := $(shell echo $(compiler-posixc-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(compiler-posixc-MA_DIRS) +endif + +endif + +compiler-posixc-MA_ASSEMBLER ?= $(compiler-posixc_ASSEMBLER) + +$(compiler-posixc-MA_TARGETS) : compiler-posixc-MA_CMD:= $(compiler-posixc-MA_ASSEMBLER) + +$(compiler-posixc-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(compiler-posixc-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(compiler-posixc-MA_TARGETS) : $(compiler-posixc-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(compiler-posixc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(compiler-posixc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(compiler-posixc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +compiler-posixc_SUFFIX := library +else +compiler-posixc_SUFFIX := +endif + +ifeq (target,target) +compiler-posixc_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +compiler-posixc_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +compiler-posixc_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(compiler-posixc_SUFFIX),handler) +compiler-posixc_MODULE := $(AROSDIR)/$(compiler-posixc_MODDIR)/$(compiler-posixc_DEFNAME)-$(compiler-posixc_SUFFIX) +else +compiler-posixc_MODULE := $(AROSDIR)/$(compiler-posixc_MODDIR)/$(compiler-posixc_DEFNAME).$(compiler-posixc_SUFFIX) +endif +compiler-posixc_KOBJ := $(KOBJSDIR)/$(compiler-posixc_DEFNAME)_$(compiler-posixc_SUFFIX).o +else +compiler-posixc_MODULE := +compiler-posixc_KOBJ := +endif + +compiler-posixc-quick : compiler-posixc +compiler-posixc : $(compiler-posixc_MODULE) $(compiler-posixc_LINKLIB) $(compiler-posixc_RELLINKLIB) +ifeq (M,M) +compiler-posixc-kobj : $(compiler-posixc_KOBJ) $(compiler-posixc_LINKLIB) $(compiler-posixc_RELLINKLIB) +compiler-posixc-kobj-quick : $(compiler-posixc_KOBJ) $(compiler-posixc_LINKLIB) $(compiler-posixc_RELLINKLIB) +endif +ifeq (M,M) +compiler-posixc-linklib : $(compiler-posixc_LINKLIB) $(compiler-posixc_RELLINKLIB) +endif + +compiler-posixc_OBJS := $(addsuffix .o,$(compiler-posixc_STARTFILES)) $(compiler-posixc_ARCHOBJS) \ + $(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(compiler-posixc_C_NARCHFILES:=.o) $(compiler-posixc_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +compiler-posixc_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (posixc,con) + compiler-posixc_ERR := $(notdir $(compiler-posixc_MODULE)).err +else + compiler-posixc_ERR := posixc.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(compiler-posixc_DEFNAME)_LDFLAGS) $(compiler-posixc_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(compiler-posixc_LIBS) $($(compiler-posixc_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(compiler-posixc_MODULE) : LIB_NAMES := $(compiler-posixc_LIBS) $($(compiler-posixc_DEFNAME)_LIBS) +$(compiler-posixc_MODULE) : OBJS := $(compiler-posixc_STARTOBJS) $(compiler-posixc_OBJS) $(USER_OBJS) +$(compiler-posixc_MODULE) : ENDTAG := $(compiler-posixc_ENDOBJS) +$(compiler-posixc_MODULE) : ERR := $(compiler-posixc_ERR) +$(compiler-posixc_MODULE) : OBJDIR := $(compiler-posixc_OBJDIR) +$(compiler-posixc_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(compiler-posixc_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(compiler-posixc_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(compiler-posixc_MODULE) : $(compiler-posixc_STARTOBJS) $(compiler-posixc_OBJS) $(USER_OBJS) $(compiler-posixc_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(compiler-posixc_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(compiler-posixc_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +compiler-posixc_LC_LINKLIBNAME := $(shell echo $(compiler-posixc_LINKLIBNAME) | tr A-Z a-z) +compiler-posixc_LC_MODNAME := $(shell echo posixc | tr A-Z a-z) +ifneq ($(compiler-posixc_LINKLIB),) + +ifeq (target,target) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(HOST_AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(KERNEL_AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)$(compiler-posixc_LIBSUFFIX).a : $(compiler-posixc_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-posixc_AR) $@ $^ + $(Q)$(compiler-posixc_RANLIB) $@ +ifneq ($(compiler-posixc_LC_MODNAME),$(compiler-posixc_LC_LINKLIBNAME)) + +ifeq (target,target) +$(compiler-posixc_LIBDIR)/libposixc$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(AR) +$(compiler-posixc_LIBDIR)/libposixc$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-posixc_LIBDIR)/libposixc$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(HOST_AR) +$(compiler-posixc_LIBDIR)/libposixc$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-posixc_LIBDIR)/libposixc$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(KERNEL_AR) +$(compiler-posixc_LIBDIR)/libposixc$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-posixc_LIBDIR)/libposixc$(compiler-posixc_LIBSUFFIX).a : $(compiler-posixc_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-posixc_AR) $@ $^ + $(Q)$(compiler-posixc_RANLIB) $@ +endif + + +ifneq ($(compiler-posixc_LINKLIB),) +$(compiler-posixc_LINKLIB) : | $(compiler-posixc_LIBDIR) +else +$(compiler-posixc_LINKLIB) :: $(compiler-posixc_LIBDIR) +endif + +GLOB_MKDIRS += $(compiler-posixc_LIBDIR) + +endif + +ifneq ($(compiler-posixc_RELLINKLIB),) + +ifeq (target,target) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(HOST_AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(KERNEL_AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_LINKLIBNAME)_rel$(compiler-posixc_LIBSUFFIX).a : $(compiler-posixc_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-posixc_AR) $@ $^ + $(Q)$(compiler-posixc_RANLIB) $@ +ifneq ($(compiler-posixc_LC_MODNAME),$(compiler-posixc_LC_LINKLIBNAME)) + +ifeq (target,target) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_DEFNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_DEFNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_DEFNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(HOST_AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_DEFNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_DEFNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_AR:=$(KERNEL_AR) +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_DEFNAME)_rel$(compiler-posixc_LIBSUFFIX).a : compiler-posixc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-posixc_LIBDIR)/lib$(compiler-posixc_DEFNAME)_rel$(compiler-posixc_LIBSUFFIX).a : $(compiler-posixc_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-posixc_AR) $@ $^ + $(Q)$(compiler-posixc_RANLIB) $@ +endif + + +ifneq ($(compiler-posixc_RELLINKLIB),) +$(compiler-posixc_RELLINKLIB) : | $(compiler-posixc_LIBDIR) +else +$(compiler-posixc_RELLINKLIB) :: $(compiler-posixc_LIBDIR) +endif + +GLOB_MKDIRS += $(compiler-posixc_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +compiler-posixc_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +compiler-posixc_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +compiler-posixc_SYMBOLS := $(compiler-posixc_KBASE) + +compiler-posixc_KLIB := hiddstubs amiga arossupport autoinit libinit +compiler-posixc_KOBJ_LIBS := $(filter-out $(compiler-posixc_KLIB),$(compiler-posixc_LIBS)) $(compiler-posixc_KAUTOLIB) +$(compiler-posixc_KOBJ) : LINKLIBS:=$(compiler-posixc_KOBJ_LIBS) $($(compiler-posixc_DEFNAME)_LIBS) +$(compiler-posixc_KOBJ) : FILTBASES:=$(addprefix -L ,$(compiler-posixc_SYMBOLS)) +$(compiler-posixc_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(compiler-posixc_KOBJ) : $(compiler-posixc_OBJS) $(USER_OBJS) $(compiler-posixc_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +compiler-posixc_DEPS := $(addprefix $(compiler-posixc_OBJDIR)/,$(notdir $(compiler-posixc_CCFILES:=.d) $(compiler-posixc_TARGETCCFILES:=.d) $(compiler-posixc_CXXFILES:=.d))) $(addprefix $(compiler-posixc_OBJDIR)/linklib/,$(notdir $(compiler-posixc_LINKLIBCCFILES:=.d))) + +ifneq ($(compiler-posixc_DEPS),) + ifneq (compiler-posixc compiler-posixc-quick compiler-posixc-kobj compiler-posixc-kobj-quick,) + ifneq ($(findstring $(TARGET),compiler-posixc compiler-posixc-quick compiler-posixc-kobj compiler-posixc-kobj-quick),) + -include $(compiler-posixc_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(compiler-posixc_DEPS) + endif + endif +endif + +$(compiler-posixc_OBJS) $(compiler-posixc_DEPS) : | $(compiler-posixc_OBJDIR)/linklib + +ifneq ($(compiler-posixc_OBJS) $(compiler-posixc_DEPS) $(compiler-posixc_MODULE) $(compiler-posixc_KOBJ),) +$(compiler-posixc_OBJS) $(compiler-posixc_DEPS) $(compiler-posixc_MODULE) $(compiler-posixc_KOBJ) : | $(compiler-posixc_OBJDIR) $(AROSDIR)/$(compiler-posixc_MODDIR) $(KOBJSDIR) +else +$(compiler-posixc_OBJS) $(compiler-posixc_DEPS) $(compiler-posixc_MODULE) $(compiler-posixc_KOBJ) :: $(compiler-posixc_OBJDIR) $(AROSDIR)/$(compiler-posixc_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(compiler-posixc_OBJDIR) $(AROSDIR)/$(compiler-posixc_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),compiler-posixc compiler-posixc-includes compiler-posixc-quick compiler-posixc-kobj compiler-posixc-kobj-quick),) # Only for this target these deps are wanted + +compiler-posixc_DFILE_DEPS := $(compiler-posixc_LIBDEFSINC) $(compiler-posixc_DEFLIBDEFSINC) \ + $(addprefix $(compiler-posixc_INCDIR)/,$($(compiler-posixc_DEFNAME)_INCLUDES)) +$(compiler-posixc_DEPS) : $(compiler-posixc_DFILE_DEPS) +endif + +compiler-posixc_TOCLEAN := $(compiler-posixc_OBJS) $(compiler-posixc_DEPS) \ + $(compiler-posixc_MODULE) $(compiler-posixc_LINKLIB) $(compiler-posixc_KOBJ) \ + $(compiler-posixc_OBJDIR)/Makefile.posixclibrary \ + $(addprefix $(compiler-posixc_OBJDIR)/include/,$($(compiler-posixc_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(compiler-posixc_DEFNAME)_INCLUDES)) \ + $(addprefix $(compiler-posixc_INCDIR)/,$($(compiler-posixc_DEFNAME)_INCLUDES)) \ + $(compiler-posixc_OBJDIR)/posixc_geninc $(compiler-posixc_OBJDIR)/posixc_incs \ + $(addsuffix .c,$(compiler-posixc_LINKLIBFILES)) $(compiler-posixc_LINKLIBOBJS) $(compiler-posixc_LIBDEFSINC) \ + $(compiler-posixc_DEFLIBDEFSINC) $(addsuffix .c,$(compiler-posixc_STARTFILES) $(compiler-posixc_ENDFILES)) \ + $(compiler-posixc_ENDOBJS) +compiler-posixc-clean : FILES := $(compiler-posixc_TOCLEAN) +compiler-posixc-clean :: + $(Q)$(ECHO) "Cleaning up for module posixc" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(compiler-posixc_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/compiler/pthread/mmakefile b/compiler/pthread/mmakefile new file mode 100644 index 00000000000..8e4e6883726 --- /dev/null +++ b/compiler/pthread/mmakefile @@ -0,0 +1,622 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- core-linklibs : linklibs-pthread +#MM linklibs-pthreads : includes + +#MM- includes-copy : pthread-includes-copy +#MM- compiler-includes : pthread-includes-copy + +USER_CFLAGS := -D_XOPEN_SOURCE=600 + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir pthread.h sched.h semaphore.h)) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir pthread.h sched.h semaphore.h)) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,pthread.h sched.h semaphore.h) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir pthread.h sched.h semaphore.h)) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir pthread.h sched.h semaphore.h)) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,pthread.h sched.h semaphore.h) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +pthread-includes-copy : $(BD_INCL_FILES) + +.PHONY: pthread-includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +LINKLIBFILES := pthread sched semaphore +LIBRARYFILES := + +PTHREADFUNCS := \ + pthread_create \ + pthread_cancel \ + pthread_equal \ + pthread_join \ + pthread_self \ + pthread_suspend_np \ + pthread_continue_np \ + pthread_setcancelstate \ + pthread_setcanceltype \ + pthread_attr_destroy \ + pthread_attr_init \ + pthread_attr_setstacksize \ + pthread_cond_destroy \ + pthread_cond_init \ + pthread_cond_signal \ + pthread_cond_timedwait \ + pthread_mutex_init \ + pthread_mutex_destroy \ + pthread_mutex_lock \ + pthread_mutex_unlock \ + pthread_mutexattr_destroy \ + pthread_mutexattr_init \ + pthread_mutexattr_settype \ + pthread_exit \ + pthread_getspecific \ + pthread_setspecific \ + pthread_key_create \ + pthread_cond_broadcast \ + pthread_cond_wait \ + pthread_mutex_trylock + +#%build_module mmake=compiler-pthread \ +# modname=pthread modtype=library \ +# files="$(LIBRARYFILES) $(PTHREADFUNCS)" \ +# linklibfiles=$(LINKLIBFILES) + + +# assign and generate the local variables used in this macro +linklibs-pthread_LIBNAME := pthread +linklibs-pthread_LINKLIB := $(AROS_LIB)/libpthread.a + +linklibs-pthread_FILES ?= $(LINKLIBFILES) $(PTHREADFUNCS) +linklibs-pthread_ASMFILES := +linklibs-pthread_OBJCFILES := +linklibs-pthread_CXXFILES := + +linklibs-pthread_OBJDIR ?= $(GENDIR)/$(CURDIR) +linklibs-pthread_ARCHOBJS := $(wildcard $(linklibs-pthread_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-pthread_ARCHFILES := $(basename $(notdir $(linklibs-pthread_ARCHOBJS))) +else + linklibs-pthread_ARCHFILES := $(basename $(patsubst $(linklibs-pthread_OBJDIR)/%,%,$(linklibs-pthread_ARCHOBJS))) +endif +linklibs-pthread_C_NARCHFILES := $(filter-out $(linklibs-pthread_ARCHFILES),$(linklibs-pthread_FILES)) +linklibs-pthread_C_FILES ?= $(linklibs-pthread_C_NARCHFILES) +linklibs-pthread_CXX_NARCHFILES := $(filter-out $(linklibs-pthread_ARCHFILES),$(linklibs-pthread_CXXFILES)) +linklibs-pthread_CXX_FILES ?= $(linklibs-pthread_CXX_NARCHFILES) +linklibs-pthread_OBJC_NARCHFILES := $(filter-out $(linklibs-pthread_ARCHFILES),$(linklibs-pthread_OBJCFILES)) +linklibs-pthread_OBJC_FILES ?= $(linklibs-pthread_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-pthread_OBJ_FILES ?= $(addprefix $(linklibs-pthread_OBJDIR)/,$(notdir $(linklibs-pthread_C_NARCHFILES:=.o) $(linklibs-pthread_CXX_NARCHFILES:=.o) $(linklibs-pthread_ASMFILES:=.o) $(linklibs-pthread_OBJC_NARCHFILES:=.o))) +else + linklibs-pthread_OBJ_FILES ?= $(addprefix $(linklibs-pthread_OBJDIR)/,$(linklibs-pthread_C_NARCHFILES:=.o) $(linklibs-pthread_CXX_NARCHFILES:=.o) $(linklibs-pthread_ASMFILES:=.o) $(linklibs-pthread_OBJC_NARCHFILES:=.o)) +endif +linklibs-pthread_OBJS ?= $(linklibs-pthread_ARCHOBJS) $(linklibs-pthread_OBJ_FILES) +linklibs-pthread_DEPS := $(patsubst %.o,%.d,$(linklibs-pthread_OBJS)) + +linklibs-pthread_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-pthread_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-pthread_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-pthread_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-pthread_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-pthread_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-pthread_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-pthread_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-pthread_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-pthread_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-pthread_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-pthread_CFLAGS)) + linklibs-pthread_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-pthread_CXXFLAGS)) +endif +endif +linklibs-pthread_AFLAGS := $(AFLAGS) +linklibs-pthread_DFLAGS := +ifneq (,) + linklibs-pthread_DFLAGS := +else + linklibs-pthread_DFLAGS := $(linklibs-pthread_CFLAGS) +endif +linklibs-pthread_DXXFLAGS := +ifneq (,) + linklibs-pthread_DXXFLAGS := +else + linklibs-pthread_DXXFLAGS := $(linklibs-pthread_CXXFLAGS) +endif + +.PHONY : linklibs-pthread linklibs-pthread-clean linklibs-pthread-quick + +#MM +linklibs-pthread-quick : linklibs-pthread + +#MM linklibs-pthread : includes-generate-deps +linklibs-pthread : $(linklibs-pthread_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-pthread linklibs-pthread-quick),) + + +linklibs-pthread_CXXABSBASENAMES := $(foreach linklibs-pthread_CXXBASE,$(linklibs-pthread_CXX_FILES),$(if $(filter /%,$(linklibs-pthread_CXXBASE)),$(linklibs-pthread_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-pthread_CXXBASE)))) + +ifneq ($(linklibs-pthread_CXXABSBASENAMES),) + +linklibs-pthread_CXXBASENAMES := $(basename $(linklibs-pthread_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-pthread_MCXX_FILES := $(strip $(foreach linklibs-pthread_CXXBASE,$(linklibs-pthread_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-pthread_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-pthread_EXT),$(linklibs-pthread_CXXBASE))))))) + +ifeq (,) +linklibs-pthread_MCXX_SRCWILDCARD := % +else +linklibs-pthread_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-pthread_OBJDIR),) + linklibs-pthread_CXXTARGETS := $(notdir $(linklibs-pthread_CXXBASENAMES:=.o)) + linklibs-pthread_CXXDTARGETS := $(notdir $(linklibs-pthread_CXXBASENAMES:=.d)) + linklibs-pthread_MCXX_WILDCARD := % +else + linklibs-pthread_CXXTARGETS := $(addprefix $(linklibs-pthread_OBJDIR)/,$(notdir $(linklibs-pthread_CXXBASENAMES:=.o))) + linklibs-pthread_CXXDTARGETS := $(addprefix $(linklibs-pthread_OBJDIR)/,$(notdir $(linklibs-pthread_CXXBASENAMES:=.d))) + linklibs-pthread_MCXX_WILDCARD := $(linklibs-pthread_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-pthread_CXXTARGETS) $(linklibs-pthread_CXXDTARGETS) : | $(linklibs-pthread_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-pthread_MCXX_CPPFLAGS := $(linklibs-pthread_CPPFLAGS) +linklibs-pthread_CXXFLAGS := $(linklibs-pthread_CXXFLAGS) +ifeq ($(linklibs-pthread_DXXFLAGS),) + linklibs-pthread_DXXFLAGS := $(linklibs-pthread_CXXFLAGS) +else + linklibs-pthread_DXXFLAGS := $(linklibs-pthread_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-pthread_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-pthread_STRIP ?= $(HOST_STRIP) + linklibs-pthread_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-pthread_CXXCMD:=$(HOST_CXX) + linklibs-pthread_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-pthread_MCXX_CPPFLAGS) $(linklibs-pthread_MCXX_EXTRA_CPPFLAGS)) + linklibs-pthread_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-pthread_CXXFLAGS)) + linklibs-pthread_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-pthread_DXXFLAGS)) + linklibs-pthread_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-pthread_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-pthread_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-pthread_STRIP ?= $(TARGET_STRIP) + linklibs-pthread_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-pthread_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-pthread_MCXX_CPPFLAGS := $(strip $(linklibs-pthread_MCXX_CPPFLAGS) $(linklibs-pthread_MCXX_EXTRA_CPPFLAGS)) + linklibs-pthread_CXXFLAGS := $(strip $(linklibs-pthread_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-pthread_DXXFLAGS := $(linklibs-pthread_DXXFLAGS) + linklibs-pthread_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-pthread_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-pthread_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-pthread_STRIP ?= $(ECHO) >/dev/null + linklibs-pthread_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-pthread_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-pthread_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-pthread_MCXX_CPPFLAGS) $(linklibs-pthread_MCXX_EXTRA_CPPFLAGS)) + linklibs-pthread_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-pthread_CXXFLAGS)) + linklibs-pthread_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-pthread_DXXFLAGS)) + linklibs-pthread_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-pthread_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-pthread_CXXCMD) $(linklibs-pthread_CXXIQUOTE) $(dir $(2)) $(linklibs-pthread_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_CXXIQUOTE) . $(linklibs-pthread_CXXIQUOTE_END) $(strip $(linklibs-pthread_CXXFLAGS) $(linklibs-pthread_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-pthread_CXXCMD) $(linklibs-pthread_CXXIQUOTE) $(dir $(2)) $(linklibs-pthread_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_CXXIQUOTE) . $(linklibs-pthread_CXXIQUOTE_END) $(strip $(linklibs-pthread_CXXFLAGS) $(linklibs-pthread_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-pthread_CXXCMD) $(linklibs-pthread_CXXIQUOTE) $(dir $(2)) $(linklibs-pthread_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_CXXIQUOTE) . $(linklibs-pthread_CXXIQUOTE_END) $(strip $(linklibs-pthread_CXXFLAGS) $(linklibs-pthread_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-pthread_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-pthread_DXXFLAGS) $(linklibs-pthread_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-pthread_OBJDIR),) + $(foreach linklibs-pthread_CXXFILE,$(linklibs-pthread_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-pthread_CXXFILE))),$(linklibs-pthread_CXXFILE)))) +else + $(foreach linklibs-pthread_CXXFILE,$(linklibs-pthread_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-pthread_OBJDIR)/,$(notdir $(basename $(linklibs-pthread_CXXFILE)))),$(linklibs-pthread_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-pthread_OBJC_FILES),) + +ifeq (,) +linklibs-pthread_MOBJC_SRCWILDCARD := % +else +linklibs-pthread_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-pthread_OBJDIR),) + linklibs-pthread_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-pthread_OBJC_FILES)) + linklibs-pthread_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-pthread_OBJC_FILES)) + linklibs-pthread_MOBJC_WILDCARD := % +else + linklibs-pthread_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-pthread_OBJDIR)/,$(linklibs-pthread_OBJC_FILES))) + linklibs-pthread_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-pthread_OBJDIR)/,$(linklibs-pthread_OBJC_FILES))) + linklibs-pthread_MOBJC_WILDCARD := $(linklibs-pthread_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-pthread_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-pthread_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-pthread_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-pthread_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-pthread_MOBJC_DIRS := $(foreach dir, $(linklibs-pthread_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-pthread_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-pthread_MOBJC_DIRS),) + linklibs-pthread_MOBJC_DIRS := $(shell echo $(linklibs-pthread_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-pthread_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-pthread_CC := $(TARGET_CC) +else + linklibs-pthread_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-pthread_MOBJC_CPPFLAGS := $(linklibs-pthread_CPPFLAGS) +linklibs-pthread_OBJCFLAGS := $(linklibs-pthread_CFLAGS) +linklibs-pthread_OBJCFLAGS := $(linklibs-pthread_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-pthread_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-pthread_OBJCFLAGS))) +ifeq ($(linklibs-pthread_DFLAGS),) + linklibs-pthread_OBJCDFLAGS := $(linklibs-pthread_CFLAGS) +else + linklibs-pthread_OBJCDFLAGS := $(linklibs-pthread_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-pthread_LINK ?= $(strip $(linklibs-pthread_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-pthread_STRIP ?= $(TARGET_STRIP) + linklibs-pthread_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-pthread_CC) $(TARGET_SYSROOT)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_MOBJC_CPPFLAGS:=$(strip $(linklibs-pthread_MOBJC_CPPFLAGS) $(linklibs-pthread_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_OBJCFLAGS:=$(strip $(linklibs-pthread_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_OBJCDFLAGS:=$(linklibs-pthread_OBJCDFLAGS) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-pthread_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-pthread_STRIP ?= $(HOST_STRIP) + linklibs-pthread_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-pthread_MOBJC_CPPFLAGS) $(linklibs-pthread_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-pthread_OBJCFLAGS)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-pthread_OBJCDFLAGS)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-pthread_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-pthread_STRIP ?= $(ECHO) >/dev/null + linklibs-pthread_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-pthread_MOBJC_CPPFLAGS) $(linklibs-pthread_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-pthread_OBJCFLAGS)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-pthread_OBJCDFLAGS)) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-pthread_MOBJC_TARGETS) $(linklibs-pthread_MOBJC_DTARGETS) : linklibs-pthread_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-pthread_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-pthread_MOBJC_CPPFLAGS) +$(linklibs-pthread_MOBJC_TARGETS) : CFLAGS := $(linklibs-pthread_OBJCFLAGS) +$(linklibs-pthread_MOBJC_TARGETS) : $(linklibs-pthread_MOBJC_WILDCARD).o : $(linklibs-pthread_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-pthread_IQUOTE) $(dir $<) $(linklibs-pthread_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_IQUOTE) . $(linklibs-pthread_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-pthread_IQUOTE) $(dir $<) $(linklibs-pthread_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_IQUOTE) . $(linklibs-pthread_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-pthread_IQUOTE) $(dir $<) $(linklibs-pthread_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_IQUOTE) . $(linklibs-pthread_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-pthread_MOBJC_DTARGETS) : $(linklibs-pthread_MOBJC_WILDCARD).d : $(linklibs-pthread_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-pthread_OBJCDFLAGS) $(linklibs-pthread_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-pthread_MC_SRCWILDCARD := % +else +linklibs-pthread_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-pthread_OBJDIR),) +linklibs-pthread_MC_TARGETS := $(addsuffix .o,$(linklibs-pthread_C_FILES)) +linklibs-pthread_MC_DTARGETS := $(addsuffix .d,$(linklibs-pthread_C_FILES)) +linklibs-pthread_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-pthread_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-pthread_OBJDIR)/,$(notdir $(linklibs-pthread_C_FILES)))) + linklibs-pthread_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-pthread_OBJDIR)/,$(notdir $(linklibs-pthread_C_FILES)))) +else +ifeq (,) + linklibs-pthread_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-pthread_OBJDIR)/,$(linklibs-pthread_C_FILES))) + linklibs-pthread_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-pthread_OBJDIR)/,$(linklibs-pthread_C_FILES))) +else + linklibs-pthread_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-pthread_OBJDIR)/,$(patsubst /%,%,$(linklibs-pthread_C_FILES)))) + linklibs-pthread_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-pthread_OBJDIR)/,$(patsubst /%,%,$(linklibs-pthread_C_FILES)))) +endif +endif +linklibs-pthread_MC_TGTWILDCARD := $(linklibs-pthread_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-pthread_C_FILES)) + +# Be sure that all .c files are found +linklibs-pthread_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-pthread_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-pthread_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-pthread_MC_DIRS := $(foreach dir, $(linklibs-pthread_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-pthread_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-pthread_MC_DIRS),) + linklibs-pthread_MC_DIRS := $(shell echo $(linklibs-pthread_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-pthread_MC_DIRS) +endif + +endif + +linklibs-pthread_MC_CPPFLAGS := $(linklibs-pthread_CPPFLAGS) +linklibs-pthread_CFLAGS := $(linklibs-pthread_CFLAGS) +ifeq ($(linklibs-pthread_DFLAGS),) + linklibs-pthread_DFLAGS := $(linklibs-pthread_CFLAGS) +else + linklibs-pthread_DFLAGS := $(linklibs-pthread_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-pthread_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-pthread_STRIP ?= $(TARGET_STRIP) +linklibs-pthread_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_MC_CPPFLAGS:=$(strip $(linklibs-pthread_MC_CPPFLAGS) $(linklibs-pthread_MC_EXTRA_CPPFLAGS)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_CFLAGS:=$(strip $(linklibs-pthread_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_DFLAGS:=$(linklibs-pthread_DFLAGS) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-pthread_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-pthread_STRIP ?= $(HOST_STRIP) +linklibs-pthread_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-pthread_MC_CPPFLAGS) $(linklibs-pthread_MC_EXTRA_CPPFLAGS)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-pthread_CFLAGS)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-pthread_DFLAGS)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-pthread_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-pthread_STRIP ?= $(ECHO) >/dev/null +linklibs-pthread_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-pthread_MC_CPPFLAGS) $(linklibs-pthread_MC_EXTRA_CPPFLAGS)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-pthread_CFLAGS)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-pthread_DFLAGS)) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-pthread_MC_TARGETS) $(linklibs-pthread_MC_DTARGETS) : linklibs-pthread_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-pthread_MC_TARGETS) : CPPFLAGS := $(linklibs-pthread_MC_CPPFLAGS) +$(linklibs-pthread_MC_TARGETS) : CFLAGS := $(linklibs-pthread_CFLAGS) +$(linklibs-pthread_MC_TARGETS) : $(linklibs-pthread_MC_TGTWILDCARD).o : $(linklibs-pthread_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-pthread_IQUOTE) $(dir $<) $(linklibs-pthread_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_IQUOTE) . $(linklibs-pthread_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-pthread_IQUOTE) $(dir $<) $(linklibs-pthread_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_IQUOTE) . $(linklibs-pthread_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-pthread_IQUOTE) $(dir $<) $(linklibs-pthread_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-pthread_IQUOTE) . $(linklibs-pthread_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-pthread_MC_DTARGETS) : $(linklibs-pthread_MC_TGTWILDCARD).d : $(linklibs-pthread_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-pthread_DFLAGS) $(linklibs-pthread_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-pthread_OBJDIR),) +linklibs-pthread-MA_TARGETS := $(addsuffix .o,$(linklibs-pthread_ASMFILES)) +linklibs-pthread-MA_WILDCARD := % +else +linklibs-pthread-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-pthread_OBJDIR)/,$(notdir $(linklibs-pthread_ASMFILES)))) +linklibs-pthread-MA_WILDCARD := $(linklibs-pthread_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-pthread-MA_TARGETS) : | $(addsuffix .s,$(linklibs-pthread_ASMFILES)) + +# Be sure that all .c files are found +linklibs-pthread-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-pthread-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-pthread_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-pthread-MA_DIRS := $(foreach dir, $(linklibs-pthread-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-pthread-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-pthread-MA_DIRS),) + linklibs-pthread-MA_DIRS := $(shell echo $(linklibs-pthread-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-pthread-MA_DIRS) +endif + +endif + +linklibs-pthread-MA_ASSEMBLER ?= $(linklibs-pthread_ASSEMBLER) + +$(linklibs-pthread-MA_TARGETS) : linklibs-pthread-MA_CMD:= $(linklibs-pthread-MA_ASSEMBLER) + +$(linklibs-pthread-MA_TARGETS) : CPPFLAGS := $(linklibs-pthread_CPPFLAGS) +$(linklibs-pthread-MA_TARGETS) : AFLAGS := $(linklibs-pthread_AFLAGS) +$(linklibs-pthread-MA_TARGETS) : $(linklibs-pthread-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-pthread-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-pthread-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-pthread-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libpthread.a : linklibs-pthread_AR:=$(AR) +$(AROS_LIB)/libpthread.a : linklibs-pthread_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libpthread.a : linklibs-pthread_AR:=$(HOST_AR) +$(AROS_LIB)/libpthread.a : linklibs-pthread_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libpthread.a : linklibs-pthread_AR:=$(KERNEL_AR) +$(AROS_LIB)/libpthread.a : linklibs-pthread_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libpthread.a : $(linklibs-pthread_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-pthread_AR) $@ $^ + $(Q)$(linklibs-pthread_RANLIB) $@ +endif + +ifneq ($(linklibs-pthread_DEPS),) + ifneq (linklibs-pthread linklibs-pthread-quick,) + ifneq ($(findstring $(TARGET),linklibs-pthread linklibs-pthread-quick),) + -include $(linklibs-pthread_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-pthread_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-pthread_OBJS) $(linklibs-pthread_DEPS) $(linklibs-pthread_LINKLIB),) +$(linklibs-pthread_OBJS) $(linklibs-pthread_DEPS) $(linklibs-pthread_LINKLIB) : | $(linklibs-pthread_OBJDIR) $(AROS_LIB) +else +$(linklibs-pthread_OBJS) $(linklibs-pthread_DEPS) $(linklibs-pthread_LINKLIB) :: $(linklibs-pthread_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(linklibs-pthread_OBJDIR) $(AROS_LIB) + + +linklibs-pthread-clean : FILES := $(linklibs-pthread_OBJS) $(linklibs-pthread_LINKLIB) $(linklibs-pthread_DEPS) +#MM +linklibs-pthread-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-pthread" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/compiler/stdc/include/mmakefile b/compiler/stdc/include/mmakefile new file mode 100644 index 00000000000..f0a64a7d490 --- /dev/null +++ b/compiler/stdc/include/mmakefile @@ -0,0 +1,69 @@ +include $(SRCDIR)/config/aros.cfg + +INCLUDES := $(call WILDCARD, aros/stdc/*.h aros/types/*.h libraries/*.h) + +#MM- compiler-stdc-includes : compiler-stdc-includes-extra +#MM- includes-copy : compiler-stdc-includes-extra + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +compiler-stdc-includes-extra : $(BD_INCL_FILES) + +.PHONY: compiler-stdc-includes-extra + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/compiler/stdc/mmakefile b/compiler/stdc/mmakefile new file mode 100644 index 00000000000..dcef16ab2d3 --- /dev/null +++ b/compiler/stdc/mmakefile @@ -0,0 +1,5965 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- AROS : compiler-stdc compiler-stdcio + +FMTPRINTFDIR := $(SRCDIR)/compiler/fmtprintf +USER_INCLUDES += -I$(SRCDIR)/$(CURDIR)/math -iquote $(FMTPRINTFDIR) + +STDC_MATH := \ + math/bsdsrc/b_exp \ + math/bsdsrc/b_log \ + math/bsdsrc/b_tgamma \ + math/e_acos \ + math/e_acosf \ + math/e_acosh \ + math/e_acoshf \ + math/e_asin \ + math/e_asinf \ + math/e_atan2 \ + math/e_atan2f \ + math/e_atanh \ + math/e_atanhf \ + math/e_cosh \ + math/e_coshf \ + math/e_exp \ + math/e_expf \ + math/e_fmod \ + math/e_fmodf \ + math/e_gamma \ + math/e_gammaf \ + math/e_gamma_r \ + math/e_gammaf_r \ + math/e_hypot \ + math/e_hypotf \ + math/e_j0 \ + math/e_j0f \ + math/e_j1 \ + math/e_j1f \ + math/e_jn \ + math/e_jnf \ + math/e_lgamma \ + math/e_lgammaf \ + math/e_lgamma_r \ + math/e_lgammaf_r \ + math/e_log \ + math/e_logf \ + math/e_log2 \ + math/e_log2f \ + math/e_log10 \ + math/e_log10f \ + math/e_pow \ + math/e_powf \ + math/e_rem_pio2 \ + math/e_rem_pio2f \ + math/e_remainder \ + math/e_remainderf \ + math/e_scalb \ + math/e_scalbf \ + math/e_sinh \ + math/e_sinhf \ + math/e_sqrt \ + math/e_sqrtf \ + math/k_cos \ + math/k_cosf \ + math/k_exp \ + math/k_expf \ + math/k_rem_pio2 \ + math/k_rem_pio2f \ + math/k_sin \ + math/k_sinf \ + math/k_tan \ + math/k_tanf \ + math/s_nan \ + math/s_asinh \ + math/s_asinhf \ + math/s_atan \ + math/s_atanf \ + math/s_cacos \ + math/s_cacosf \ + math/s_cacosh \ + math/s_cacoshf \ + math/s_carg \ + math/s_cargf \ + math/s_casin \ + math/s_casinf \ + math/s_casinh \ + math/s_casinhf \ + math/s_catan \ + math/s_catanf \ + math/s_catanh \ + math/s_catanhf \ + math/s_cbrt \ + math/s_cbrtf \ + math/s_ccos \ + math/s_ccosf \ + math/s_ccosh \ + math/s_ccoshf \ + math/s_ceil \ + math/s_ceilf \ + math/s_cexp \ + math/s_cexpf \ + math/s_cimag \ + math/s_cimagf \ + math/s_conj \ + math/s_conjf \ + math/s_clog \ + math/s_clogf \ + math/s_cpow \ + math/s_cpowf \ + math/s_cproj \ + math/s_cprojf \ + math/s_creal \ + math/s_crealf \ + math/s_csinh \ + math/s_csinhf \ + math/s_csin \ + math/s_csqrt \ + math/s_csqrtf \ + math/s_ctan \ + math/s_ctanf \ + math/s_ctanh \ + math/s_ctanhf \ + math/s_copysign \ + math/s_copysignf \ + math/s_cos \ + math/s_cosf \ + math/s_erf \ + math/s_erff \ + math/s_exp2 \ + math/s_exp2f \ + math/s_expm1 \ + math/s_expm1f \ + math/s_fabs \ + math/s_fabsf \ + math/s_fdim \ + math/s_floor \ + math/s_floorf \ + math/s_fpclassify \ + math/s_fma \ + math/s_fmaf \ + math/s_fmax \ + math/s_fmaxf \ + math/s_fmaxl \ + math/s_fmin \ + math/s_fminf \ + math/s_fminl \ + math/s_frexp \ + math/s_frexpf \ + math/s_ilogb \ + math/s_ilogbf \ + math/s_isfinite \ + math/s_isinf \ + math/s_isnan \ + math/s_isnormal \ + math/s_log1p \ + math/s_log1pf \ + math/s_logb \ + math/s_logbf \ + math/s_modf \ + math/s_modff \ + math/s_nearbyint \ + math/s_nextafter \ + math/s_nextafterf \ + math/s_nexttowardf \ + math/s_remquo \ + math/s_remquof \ + math/s_rint \ + math/s_rintf \ + math/s_lrint \ + math/s_lrintf \ + math/s_llrint \ + math/s_llrintf \ + math/s_round \ + math/s_roundf \ + math/s_lround \ + math/s_lroundf \ + math/s_llround \ + math/s_llroundf \ + math/s_scalbln \ + math/s_scalbn \ + math/s_scalbnf \ + math/s_signbit \ + math/s_significand \ + math/s_significandf \ + math/s_sin \ + math/s_sincos \ + math/s_sincosf \ + math/s_sinf \ + math/s_tan \ + math/s_tanf \ + math/s_tanh \ + math/s_tanhf \ + math/s_tgammaf \ + math/s_trunc \ + math/s_truncf + +STDC_SCABS_MATH := \ + math/s_cabs \ + math/s_cabsf + +STDC_WCABS_MATH := \ + math/w_cabs \ + math/w_cabsf + +STDC_LONGDB_MATH := \ + math/e_acosl \ + math/e_asinl \ + math/e_atan2l \ + math/e_fmodl \ + math/e_hypotl \ + math/e_lgammal \ + math/e_remainderl \ + math/e_sqrtl \ + math/polevll \ + math/s_atanl \ + math/s_cacoshl \ + math/s_cacosl \ + math/s_cargl \ + math/s_casinhl \ + math/s_casinl \ + math/s_catanhl \ + math/s_catanl \ + math/s_cbrtl \ + math/s_ccoshl \ + math/s_ccosl \ + math/s_ceill \ + math/s_cexpl \ + math/s_cimagl \ + math/s_clogl \ + math/s_conjl \ + math/s_copysignl \ + math/s_cosl \ + math/s_cpowl \ + math/s_cprojl \ + math/s_creall \ + math/s_csinhl \ + math/s_csinl \ + math/s_csqrtl \ + math/s_ctanhl \ + math/s_ctanl \ + math/s_fabsl \ + math/s_floorl \ + math/s_fmal \ + math/s_frexpl \ + math/s_ilogbl \ + math/s_llrintl \ + math/s_llroundl \ + math/s_lrintl \ + math/s_lroundl \ + math/s_logbl \ + math/s_modfl \ + math/s_nextafterl \ + math/s_nexttoward \ + math/s_remquol \ + math/s_rintl \ + math/s_roundl \ + math/s_scalbnl \ + math/s_sincosl \ + math/s_sinl \ + math/s_tanl \ + math/s_truncl + +# Support files for 80bit and 128bit precision long double. + +STDC_LONGDB80_MATH := \ + math/ld80/e_acoshl \ + math/ld80/e_atanhl \ + math/ld80/e_coshl \ + math/ld80/e_expl \ + math/ld80/e_lgammal_r \ + math/ld80/e_log2l \ + math/ld80/e_log10l \ + math/ld80/e_logl \ + math/ld80/e_powl \ + math/ld80/e_sinhl \ + math/ld80/e_tgammal \ + math/ld80/invtrig \ + math/ld80/k_cosl \ + math/ld80/k_sinl \ + math/ld80/k_tanl \ + math/ld80/s_asinhl \ + math/ld80/s_erfl \ + math/ld80/s_exp2l \ + math/ld80/s_expm1l \ + math/ld80/s_log1pl \ + math/ld80/s_nanl \ + math/ld80/s_tanhl + +STDC_LONGDB128_MATH := \ + math/ld128/e_acoshl \ + math/ld128/e_atanhl \ + math/ld128/e_coshl \ + math/ld128/e_expl \ + math/ld128/e_lgammal_r \ + math/ld128/e_log2l \ + math/ld128/e_log10l \ + math/ld128/e_logl \ + math/ld128/e_powl \ + math/ld128/e_sinhl \ + math/ld128/e_tgammal \ + math/ld128/invtrig \ + math/ld128/k_cosl \ + math/ld128/k_sinl \ + math/ld128/k_tanl \ + math/ld128/s_asinhl \ + math/ld128/s_erfl \ + math/ld128/s_exp2l \ + math/ld128/s_expm1l \ + math/ld128/s_log1pl \ + math/ld128/s_nanl \ + math/ld128/s_tanhl + +# +# Add 80bit long double support on x86, x64 and m68k +# +ifneq ($(filter $(AROS_TARGET_CPU),i386 x86_64 m68k),) +STDC_MATH += $(STDC_LONGDB_MATH) +STDC_MATH += $(STDC_LONGDB80_MATH) +USER_INCLUDES += -I$(SRCDIR)/$(CURDIR)/math/ld80 +STDC_SCABS_MATH += math/s_cabsl +STDC_WCABS_MATH += math/w_cabsl +else +# +# Add 128bit long double support for aarch64 +# +ifneq ($(filter $(AROS_TARGET_CPU),aarch64),) +STDC_MATH += $(STDC_LONGDB_MATH) +STDC_MATH += $(STDC_LONGDB128_MATH) +USER_INCLUDES += -I$(SRCDIR)/$(CURDIR)/math/ld128 +STDC_SCABS_MATH += math/s_cabsl +STDC_WCABS_MATH += math/w_cabsl +else +# +# We either don't know what long double format is required +# or the platform doesn't support it, so alias the double versions +# of necessary functions. +# These architectures should have +# LDBL_MANT_DIG == DBL_MANT_DIG (53) in float.h +# +endif +endif + +STDC_MATH += $(STDC_WCABS_MATH) + +STDC := \ + __ctype \ + __exitfunc \ + __optionallibs \ + __signal \ + __stdc_assert \ + __stdc_gmtoffset \ + __stdc_ioerr2errno \ + __stdc_startup \ + __stdc_fpuprivate \ + __vcformat \ + __vcscan \ + _exit \ + abort \ + abs labs llabs \ + asctime asctime_r \ + atexit \ + atof \ + atoi \ + atol \ + atoll \ + bsearch \ + calloc \ + clock \ + ctime ctime_r \ + difftime \ + div ldiv lldiv \ + exit \ + fenv _fenv \ + free \ + getc \ + gmtime gmtime_r \ + imaxabs \ + imaxdiv \ + localeconv \ + localtime localtime_r \ + longjmp \ + malloc \ + malloc_align \ + $(STDC_MATH) \ + mblen \ + memchr \ + memcmp \ + memcpy \ + memmove \ + memset \ + mktime \ + on_exit \ + putc \ + qsort \ + raise \ + rand \ + realloc \ + realloc_nocopy \ + setjmp \ + setlocale \ + signal \ + snprintf \ + sprintf \ + sscanf \ + stccpy \ + stcd_l \ + stch_l \ + stcl_d \ + stcl_h \ + stcl_o \ + stco_l \ + stcu_d \ + stpblk \ + stpcpy \ + stpsym \ + strcasecmp \ + strcat \ + strchr \ + strcmp \ + strcoll \ + strcpy \ + strcspn \ + strdup \ + strerror \ + strftime \ + strlcat \ + strlcpy \ + strlen \ + strnlen \ + strlwr \ + strncasecmp \ + strncat \ + strncmp \ + strncpy \ + strndup \ + strpbrk \ + strrchr \ + strrev \ + strsep \ + strspn \ + strstr \ + strtod \ + strtof \ + strtoimax \ + strtok \ + strtok_r \ + strtol \ + strtold \ + strtoll \ + strtoul \ + strtoull \ + strtoumax \ + strupr \ + strxfrm \ + time \ + vsnprintf \ + vsprintf \ + vsscanf + +STDC_LINKLIB := \ + __ctype_linklib \ + strcasestr + +# The common files will be put both in the shared and in the static link lib +STDC_COMMON := \ + __stdc_geterrnoptr \ + __stdc_getsigngamptr \ + __stdc_mb_cur_max \ + math/infinity + +STDCIO := \ + __stdcio_assert \ + __stdcio_init \ + __stdio \ + clearerr \ + fclose \ + feof \ + ferror \ + fflush \ + fgetc \ + fgetpos \ + fgets \ + fopen \ + fprintf \ + fputc \ + fputs \ + fread \ + freopen \ + fscanf \ + fseek \ + fsetpos \ + ftell \ + fwrite \ + getchar \ + getenv \ + gets \ + printf \ + putchar \ + puts \ + remove \ + rename \ + rewind \ + scanf \ + setbuf \ + setvbuf \ + system \ + tmpfile \ + tmpnam \ + ungetc \ + vfprintf \ + vfscanf \ + vprintf \ + vscanf + +# The common files will be put both in the shared and in the static link lib +STDCIO_COMMON := \ + __stdcio_stdstreams + +#MM- core-linklibs : linklibs-stdc linklibs-stdcio linklibs-libm + +STDC_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/stdc/,$(notdir $(STDC_COMMON)))) + +# Ugh. These are for the math routines, which have a number of +# lint issues, that should be fixed. +NOWARN_FLAGS := $(NOWARN_NONNULL_COMPARE) $(NOWARN_UNUSED_VARIABLE) \ + $(NOWARN_PARENTHESES) $(NOWARN_UNINITIALIZED) + +USER_CFLAGS := $(NOWARN_FLAGS) -noposixc $(CFLAGS_NO_BUILTIN) +USER_LDFLAGS := -nostdc -noposixc +USER_CPPFLAGS := -Dlint '-D__FBSDID(x)=' + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM compiler-stdc +#MM compiler-stdc-quick +#MM compiler-stdc-makefile +#MM compiler-stdc-clean + +# ABI targets: +#MM- includes-all : compiler-stdc-includes +#MM- linklibs-stdc: compiler-stdc-linklib +#MM- linklibs-stdc_rel : compiler-stdc-linklib +#MM- includes-stdc: compiler-stdc-includes +#MM- includes-stdc_rel : compiler-stdc-includes +#MM- compiler-stdc : compiler-stdc-includes core-linklibs linklibs- +#MM compiler-stdc-linklib : compiler-stdc-includes includes- +#MM- compiler-stdc-quick : compiler-stdc-includes-quick +#MM compiler-stdc-includes : compiler-stdc-makefile compiler-stdc-includes-dirs \ +#MM includes-generate-deps compiler-stdc-fd +#MM compiler-stdc-includes-quick +#MM compiler-stdc-includes-dirs +#MM compiler-stdc-fd + +# Library targets +#MM compiler-stdc-kobj : core-linklibs linklibs- +#MM compiler-stdc-kobj-quick : + +# Library with ABI targets: +#MM compiler-stdc-kobj : compiler-stdc-includes core-linklibs linklibs- +#MM compiler-stdc-kobj-quick : compiler-stdc-includes-quick + +# All MetaMake targets defined by this macro +compiler-stdc_ALLTARGETS := compiler-stdc compiler-stdc-quick compiler-stdc-clean + +ifeq (M,M) +compiler-stdc_ALLTARGETS += compiler-stdc-kobj compiler-stdc-kobj-quick +endif + +ifeq (M,M) +compiler-stdc_ALLTARGETS += compiler-stdc-includes \ + compiler-stdc-includes-quick compiler-stdc-includes-dirs \ + compiler-stdc-linklib compiler-stdc-fd +endif + +.PHONY : $(compiler-stdc_ALLTARGETS) compiler-stdc-makefile + +ifeq (stdc,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + compiler-stdc_DEFNAME := stdc_ +else + compiler-stdc_DEFNAME := stdc +endif +compiler-stdc_DEFLINKLIBNAME := $(compiler-stdc_DEFNAME) +ifneq (,) + compiler-stdc_LINKLIBNAME := +else + compiler-stdc_LINKLIBNAME = $(compiler-stdc_DEFLINKLIBNAME) +endif +compiler-stdc_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + compiler-stdc_DEFCPPFLAGS += -I +endif +compiler-stdc_DEFDFLAGS := $(CFLAGS) +ifneq (,) + compiler-stdc_DFLAGS := +else + compiler-stdc_DFLAGS = $(compiler-stdc_DEFDFLAGS) +endif +compiler-stdc_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + compiler-stdc_DXXFLAGS := +else + compiler-stdc_DXXFLAGS = $(compiler-stdc_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +compiler-stdc_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(compiler-stdc_DEFDFLAGS)) +compiler-stdc_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(compiler-stdc_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +compiler-stdc_FUNCINSTR := yes +compiler-stdc_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(compiler-stdc_DEFDFLAGS)) +compiler-stdc_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(compiler-stdc_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +compiler-stdc_OBJDIR := +else +compiler-stdc_OBJDIR := $(OBJDIR)/$(compiler-stdc_DEFNAME) +endif +ifneq (,) +compiler-stdc_OBJDIR := $(compiler-stdc_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +compiler-stdc-makefile := $(compiler-stdc_OBJDIR)/Makefile.$(compiler-stdc_DEFNAME)library +compiler-stdc-genmakefile : $(compiler-stdc-makefile) + + +compiler-stdc-genmakefile_OPTS := +ifneq (,) + compiler-stdc-genmakefile_OPTS += -f + compiler-stdc-genmakefile_MODNAME := stdc_ +else + compiler-stdc-genmakefile_MODNAME := stdc +endif +compiler-stdc-genmakefile_TARGET := Makefile.$(compiler-stdc-genmakefile_MODNAME)library +compiler-stdc-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-stdc-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-stdc-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdc-genmakefile_OPTS += -c + compiler-stdc-genmakefile_DEPS += + endif +else + compiler-stdc-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/stdc.conf + compiler-stdc-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/stdc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-stdc-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-stdc-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdc-genmakefile_OPTS += -o + compiler-stdc-genmakefile_DEPS += + endif +endif +ifneq (,) + compiler-stdc-genmakefile_OPTS += -s +endif +ifneq ($(compiler-stdc_OBJDIR),) + compiler-stdc-genmakefile_OPTS += -d $(compiler-stdc_OBJDIR) + compiler-stdc-genmakefile_TARGET := $(compiler-stdc_OBJDIR)/$(compiler-stdc-genmakefile_TARGET) +endif + +$(compiler-stdc-genmakefile_TARGET) : OPTS := $(compiler-stdc-genmakefile_OPTS) +$(compiler-stdc-genmakefile_TARGET) : MODNAME := stdc +$(compiler-stdc-genmakefile_TARGET) : MODTYPE := library +$(compiler-stdc-genmakefile_TARGET) : $(compiler-stdc-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(compiler-stdc-makefile),) +$(compiler-stdc-makefile) : | $(compiler-stdc_OBJDIR) +else +$(compiler-stdc-makefile) :: $(compiler-stdc_OBJDIR) +endif + +GLOB_MKDIRS += $(compiler-stdc_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(compiler-stdc_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(compiler-stdc-makefile) + +compiler-stdc_DEFMODDIR := $($(compiler-stdc_DEFNAME)_MODDIR) +ifeq (no,yes) +compiler-stdc_DEFMODDIR := $(AROS_DIR_ARCH)/$(compiler-stdc_DEFMODDIR) +endif +ifneq (,) + compiler-stdc_MODDIR := +else + compiler-stdc_MODDIR := $(compiler-stdc_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +compiler-stdc_INCDIR := +else +compiler-stdc_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +compiler-stdc_LIBDEFSINC := $(compiler-stdc_OBJDIR)/include/$(compiler-stdc_DEFNAME)_libdefs.h +compiler-stdc_DEFLIBDEFSINC := $(compiler-stdc_OBJDIR)/include/$(compiler-stdc_DEFNAME)_deflibdefs.h + +ifeq (M,M) +compiler-stdc-includes-quick : compiler-stdc-includes +compiler-stdc-includes : $(addprefix $(GENINCDIR)/,$($(compiler-stdc_DEFNAME)_INCLUDES)) \ + $(addprefix $(compiler-stdc_INCDIR)/,$($(compiler-stdc_DEFNAME)_INCLUDES)) \ + $(compiler-stdc_LIBDEFSINC) $(compiler-stdc_DEFLIBDEFSINC) + +ifneq ($($(compiler-stdc_DEFNAME)_INCLUDES),) + +ifneq (,) + compiler-stdc-includes_MODNAME := stdc_ +else + compiler-stdc-includes_MODNAME := stdc +endif + +ifneq ($($(compiler-stdc-includes_MODNAME)_INCLUDES),) + +compiler-stdc-includes_TARGETS := $($(compiler-stdc-includes_MODNAME)_INCLUDES) + +compiler-stdc-includes_DEPS := $(GENMODULE) +compiler-stdc-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + compiler-stdc-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-stdc-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdc-includes_OPTS += -c + compiler-stdc-includes_DEPS += + endif +else + compiler-stdc-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/stdc.conf + compiler-stdc-includes_DEPS += $(SRCDIR)/$(CURDIR)/stdc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-stdc-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-stdc-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdc-includes_OPTS += -o + compiler-stdc-includes_DEPS += + endif +endif +ifneq (,) + compiler-stdc-includes_OPTS += -s +endif +ifneq ($(compiler-stdc_OBJDIR)/include,) + compiler-stdc-includes_OPTS += -d $(compiler-stdc_OBJDIR)/include + compiler-stdc-includes_TARGETS := $(addprefix $(compiler-stdc_OBJDIR)/include/,$(compiler-stdc-includes_TARGETS)) + compiler-stdc-includes_GENINCFLAG=$(compiler-stdc_OBJDIR)/include/.stdc.library-includes +else + compiler-stdc-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.stdc.library-includes +endif + +$(compiler-stdc-includes_TARGETS) : $(compiler-stdc-includes_DEPS) $(compiler-stdc-includes_GENINCFLAG) + +$(compiler-stdc-includes_GENINCFLAG) : OPTS := $(compiler-stdc-includes_OPTS) +$(compiler-stdc-includes_GENINCFLAG) : MODNAME := stdc +$(compiler-stdc-includes_GENINCFLAG) : MODTYPE := library +$(compiler-stdc-includes_GENINCFLAG) : $(compiler-stdc-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(compiler-stdc_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(compiler-stdc_DEFNAME)_INCLUDES)) : | $(compiler-stdc_OBJDIR)/stdc_geninc + +$(compiler-stdc_OBJDIR)/stdc_geninc : COPYSRCDIR := $(compiler-stdc_OBJDIR)/include +$(compiler-stdc_OBJDIR)/stdc_geninc : TGTDIR := $(GENINCDIR) +$(compiler-stdc_OBJDIR)/stdc_geninc : FILES := $($(compiler-stdc_DEFNAME)_INCLUDES) +$(compiler-stdc_OBJDIR)/stdc_geninc : $(addprefix $(compiler-stdc_OBJDIR)/include/,$($(compiler-stdc_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(compiler-stdc_OBJDIR)/include + +$(addprefix $(compiler-stdc_INCDIR)/,$($(compiler-stdc_DEFNAME)_INCLUDES)) : | $(compiler-stdc_OBJDIR)/stdc_incs + +$(compiler-stdc_OBJDIR)/stdc_incs : COPYSRCDIR := $(compiler-stdc_OBJDIR)/include +$(compiler-stdc_OBJDIR)/stdc_incs : TGTDIR := $(compiler-stdc_INCDIR) +$(compiler-stdc_OBJDIR)/stdc_incs : FILES := $($(compiler-stdc_DEFNAME)_INCLUDES) +$(compiler-stdc_OBJDIR)/stdc_incs : $(addprefix $(compiler-stdc_OBJDIR)/include/,$($(compiler-stdc_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +compiler-stdc_INCDIRS := $(filter-out ./,$(sort $(dir $($(compiler-stdc_DEFNAME)_INCLUDES)))) + +TMPstdc_INCDIRS := \ + $(compiler-stdc_OBJDIR)/include $(addprefix $(compiler-stdc_OBJDIR)/include/,$(compiler-stdc_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(compiler-stdc_INCDIRS)) \ + $(compiler-stdc_INCDIR) $(addprefix $(compiler-stdc_INCDIR)/,$(compiler-stdc_INCDIRS)) + +ifneq (compiler-stdc-includes-dirs,) +compiler-stdc-includes-dirs : | $(TMPstdc_INCDIRS) +else +compiler-stdc-includes-dirs :: $(TMPstdc_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPstdc_INCDIRS) + + +endif + +endif + + +compiler-stdc-genlibdefs_OPTS := +ifneq (,) + compiler-stdc-genlibdefs_OPTS += -f + compiler-stdc-genlibdefs_MODNAME := stdc_ +else + compiler-stdc-genlibdefs_MODNAME := stdc +endif +compiler-stdc-genlibdefs_TARGET := $(compiler-stdc-genlibdefs_MODNAME)_libdefs.h +compiler-stdc-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-stdc-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-stdc-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdc-genlibdefs_OPTS += -c + compiler-stdc-genlibdefs_DEPS += + endif +else + compiler-stdc-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/stdc.conf + compiler-stdc-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/stdc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-stdc-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-stdc-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdc-genlibdefs_OPTS += -o + compiler-stdc-genlibdefs_DEPS += + endif +endif +ifneq (,) + compiler-stdc-genlibdefs_OPTS += -s +endif +ifneq ($(compiler-stdc_OBJDIR)/include,) + compiler-stdc-genlibdefs_OPTS += -d $(compiler-stdc_OBJDIR)/include + compiler-stdc-genlibdefs_TARGET := $(compiler-stdc_OBJDIR)/include/$(compiler-stdc-genlibdefs_TARGET) +endif +ifneq (,) + compiler-stdc-genlibdefs_OPTS += -v +endif + +$(compiler-stdc-genlibdefs_TARGET) : OPTS := $(compiler-stdc-genlibdefs_OPTS) +$(compiler-stdc-genlibdefs_TARGET) : MODNAME := stdc +$(compiler-stdc-genlibdefs_TARGET) : MODTYPE := library +$(compiler-stdc-genlibdefs_TARGET) : $(compiler-stdc-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(compiler-stdc_DEFLIBDEFSINC) : FILENAME := $(compiler-stdc_LIBDEFSINC) +$(compiler-stdc_DEFLIBDEFSINC) : $(compiler-stdc_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(compiler-stdc_LIBDEFSINC) $(compiler-stdc_DEFLIBDEFSINC) : | $(compiler-stdc_OBJDIR)/include + +ifneq (compiler-stdc-includes-dirs,) +compiler-stdc-includes-dirs : | $(compiler-stdc_OBJDIR)/include +else +compiler-stdc-includes-dirs :: $(compiler-stdc_OBJDIR)/include +endif + +GLOB_MKDIRS += $(compiler-stdc_OBJDIR)/include + + +## Extra genmodule src files generation +## + +compiler-stdc-genmodfiles_OPTS := +ifneq (,) + compiler-stdc-genmodfiles_OPTS += -f + compiler-stdc-genmodfiles_MODNAME := stdc_ +else + compiler-stdc-genmodfiles_MODNAME := stdc +endif +compiler-stdc-genmodfiles_GENTARGETS := $($(compiler-stdc-genmodfiles_MODNAME)_STARTFILES) $($(compiler-stdc-genmodfiles_MODNAME)_ENDFILES) +compiler-stdc-genmodfiles_STUBTARGETS := $($(compiler-stdc-genmodfiles_MODNAME)_LINKLIBFILES) $($(compiler-stdc-genmodfiles_MODNAME)_RELLINKLIBFILES) +compiler-stdc-genmodfiles_GENTARGETS := $(addsuffix .c,$(compiler-stdc-genmodfiles_GENTARGETS)) +compiler-stdc-genmodfiles_STUBTARGETS := $(addsuffix .c,$(compiler-stdc-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(compiler-stdc-genmodfiles_MODNAME)_LINKLIBAFILES) $($(compiler-stdc-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +compiler-stdc-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-stdc-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-stdc-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdc-genmodfiles_OPTS += -c + compiler-stdc-genmodfiles_DEPS += + endif +else + compiler-stdc-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/stdc.conf + compiler-stdc-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/stdc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-stdc-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-stdc-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdc-genmodfiles_OPTS += -o + compiler-stdc-genmodfiles_DEPS += + endif +endif +ifneq (,) + compiler-stdc-genmodfiles_OPTS += -s +endif +ifneq ($(compiler-stdc_OBJDIR),) + compiler-stdc-genmodfiles_OPTS += -d $(compiler-stdc_OBJDIR) + compiler-stdc-genmodfiles_TARGETDIR := $(shell echo $(compiler-stdc_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + compiler-stdc-genmodfiles_GENTARGETS := $(addprefix $(compiler-stdc-genmodfiles_TARGETDIR)/,$(compiler-stdc-genmodfiles_GENTARGETS)) + compiler-stdc-genmodfiles_GENFILEFLAG=$(compiler-stdc-genmodfiles_TARGETDIR)/.stdc.library-genfiles +else + compiler-stdc-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.stdc.library-genfiles +endif +ifneq ($(compiler-stdc_OBJDIR)/linklib,) + compiler-stdc-genmodfiles_OPTS += -l $(compiler-stdc_OBJDIR)/linklib + compiler-stdc-genmodfiles_STUBTARGETDIR := $(shell echo $(compiler-stdc_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + compiler-stdc-genmodfiles_STUBTARGETS := $(addprefix $(compiler-stdc-genmodfiles_STUBTARGETDIR)/,$(compiler-stdc-genmodfiles_STUBTARGETS)) + compiler-stdc-genmodfiles_TARGETDIRS += $(compiler-stdc_OBJDIR)/linklib +else +ifneq ($(compiler-stdc_OBJDIR),) + compiler-stdc-genmodfiles_STUBTARGETS := $(addprefix $(compiler-stdc-genmodfiles_TARGETDIR)/,$(compiler-stdc-genmodfiles_STUBTARGETS)) +endif +endif + +compiler-stdc-genmodfiles_TARGETS := $(compiler-stdc-genmodfiles_GENTARGETS) $(compiler-stdc-genmodfiles_STUBTARGETS) +ifneq ($(compiler-stdc-genmodfiles_TARGETDIRS),) +$(compiler-stdc-genmodfiles_TARGETS) : | $(compiler-stdc-genmodfiles_TARGETDIRS) +endif + +$(compiler-stdc-genmodfiles_TARGETS) : $(compiler-stdc-genmodfiles_DEPS) $(compiler-stdc-genmodfiles_GENFILEFLAG) + +$(compiler-stdc-genmodfiles_GENFILEFLAG) : OPTS := $(compiler-stdc-genmodfiles_OPTS) +$(compiler-stdc-genmodfiles_GENFILEFLAG) : MODNAME := stdc +$(compiler-stdc-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(compiler-stdc-genmodfiles_GENFILEFLAG) : $(compiler-stdc-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(compiler-stdc-genmodfiles_GENFILEFLAG) : $(compiler-stdc_DEFLIBDEFSINC) $(compiler-stdc-makefile) + + +ifneq ($(compiler-stdc-genmodfiles_GENFILEFLAG),) +$(compiler-stdc-genmodfiles_GENFILEFLAG) : | $(compiler-stdc_OBJDIR)/linklib +else +$(compiler-stdc-genmodfiles_GENFILEFLAG) :: $(compiler-stdc_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(compiler-stdc_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +compiler-stdc_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +compiler-stdc_FDDIR := /../$(AROS_DIR_FD) +endif +compiler-stdc-fd : $(compiler-stdc_FDDIR)/stdc_lib.fd + + +TMP_TARGET := stdc_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/stdc.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/stdc.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(compiler-stdc_FDDIR),) + TMP_OPTS += -d $(compiler-stdc_FDDIR) + TMP_TARGET := $(compiler-stdc_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := stdc +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(compiler-stdc_FDDIR)/stdc_lib.fd : | $(compiler-stdc_FDDIR) + + +ifneq (compiler-stdc-fd-setup,) +compiler-stdc-fd-setup : | $(compiler-stdc_FDDIR) +else +compiler-stdc-fd-setup :: $(compiler-stdc_FDDIR) +endif + +GLOB_MKDIRS += $(compiler-stdc_FDDIR) + +endif + +## Compilation +## +compiler-stdc_FILES := $(STDC) $(STDC_COMMON) +compiler-stdc_OBJCFILES := +compiler-stdc_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +compiler-stdc_LIBFILES := $(STDC_LINKLIB) +compiler-stdc_LIBS := + +compiler-stdc_FDIRS := $(sort $(dir $(compiler-stdc_FILES))) + +compiler-stdc_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +compiler-stdc_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call compiler-stdc_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +compiler-stdc_FILTERARCH = $(filter-out $(call compiler-stdc_MATCHARCH,$(1),$(2)),$(2)) +compiler-stdc_STARTFILES := $(addprefix $(compiler-stdc_OBJDIR)/,$($(compiler-stdc_DEFNAME)_STARTFILES)) +compiler-stdc_ENDFILES := $(addprefix $(compiler-stdc_OBJDIR)/,$($(compiler-stdc_DEFNAME)_ENDFILES)) + +compiler-stdc_ARCHOBJS := $(wildcard $(compiler-stdc_OBJDIR)/arch/*.o) +compiler-stdc_LIBARCHOBJS := $(wildcard $(compiler-stdc_OBJDIR)/linklib/arch/*.o) +compiler-stdc_ARCHFILES := $(basename $(notdir $(compiler-stdc_ARCHOBJS))) +compiler-stdc_LIBARCHFILES := $(basename $(notdir $(compiler-stdc_LIBARCHOBJS))) +compiler-stdc_C_NARCHFILES := $(call compiler-stdc_FILTERARCH,$(compiler-stdc_ARCHFILES),$(compiler-stdc_FILES)) +compiler-stdc_CXX_NARCHFILES := $(call compiler-stdc_FILTERARCH,$(compiler-stdc_ARCHFILES),$(compiler-stdc_CXXFILES)) +compiler-stdc_OBJC_NARCHFILES := $(call compiler-stdc_FILTERARCH,$(compiler-stdc_ARCHFILES),$(compiler-stdc_OBJCFILES)) +compiler-stdc_NLIBARCHFILES := $(call compiler-stdc_FILTERARCH,$(compiler-stdc_LIBARCHFILES),$(compiler-stdc_LIBFILES)) +compiler-stdc_ARCHNLIBFILES := $(call compiler-stdc_FILTERARCH,$(compiler-stdc_LIBFILES),$(compiler-stdc_LIBARCHFILES)) + +compiler-stdc_CPPFLAGS := $(strip $(CPPFLAGS) -I$(compiler-stdc_OBJDIR)/include -include $(compiler-stdc_DEFLIBDEFSINC)) +ifneq (,) +compiler-stdc_CPPFLAGS += -I +endif +compiler-stdc_LINKLIBCPPFLAGS := $(compiler-stdc_CPPFLAGS) +compiler-stdc_CPPFLAGS += $(strip $($(compiler-stdc_DEFNAME)_CPPFLAGS)) +compiler-stdc_LINKLIBCPPFLAGS += $(strip $($(compiler-stdc_DEFNAME)_LINKLIBCPPFLAGS)) +compiler-stdc_CFLAGS := $(strip $(CFLAGS) $($(compiler-stdc_DEFNAME)_CFLAGS)) +compiler-stdc_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(compiler-stdc_DEFNAME)_LINKLIBCFLAGS)) +compiler-stdc_CXXFLAGS := $(strip $(CXXFLAGS) $($(compiler-stdc_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +compiler-stdc_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +compiler-stdc_CFLAGS := $(strip $(compiler-stdc_LTOFLAGS) $(compiler-stdc_CFLAGS)) +compiler-stdc_LINKLIBCFLAGS := $(strip $(compiler-stdc_LTOFLAGS) $(compiler-stdc_LINKLIBCFLAGS)) +compiler-stdc_CXXFLAGS := $(strip $(compiler-stdc_LTOFLAGS) $(compiler-stdc_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +compiler-stdc_SUBSTNULL := +compiler-stdc_SUBSTSPACE := $(compiler-stdc_SUBSTNULL) # +compiler-stdc_SUBSTCOMMA := , +compiler-stdc_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(compiler-stdc_SUBSTSPACE),$(compiler-stdc_SUBSTCOMMA),$(strip $($(compiler-stdc_DEFNAME)_STARTFILES)))) +compiler-stdc_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +compiler-stdc_CFLAGS := $(strip $(compiler-stdc_INSTRFUNCFLAGS) $(compiler-stdc_CFLAGS)) +compiler-stdc_CXXFLAGS := $(strip $(compiler-stdc_INSTRFUNCFLAGS) $(compiler-stdc_CXXFLAGS)) +compiler-stdc_LIBS += $(compiler-stdc_INSTRFUNCLIBS) +endif +endif +compiler-stdc_DFLAGS := $(strip $(compiler-stdc_DFLAGS) $($(compiler-stdc_DEFNAME)_DFLAGS)) +compiler-stdc_LINKLIBDFLAGS := $(strip $(compiler-stdc_DFLAGS) $($(compiler-stdc_DEFNAME)_LINKLIBDFLAGS)) +compiler-stdc_DXXFLAGS := $(strip $(compiler-stdc_DXXFLAGS) $($(compiler-stdc_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + compiler-stdc_LIBSUFFIX := +else + compiler-stdc_LIBSUFFIX := .library +endif + +ifeq (,) +compiler-stdc_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +compiler-stdc_LIBDIR := +endif + +ifeq (M,M) +compiler-stdc_LINKLIBCFILES := $(addprefix $(compiler-stdc_OBJDIR)/linklib/,$($(compiler-stdc_DEFNAME)_LINKLIBFILES)) +compiler-stdc_LINKLIBAFILES := $(addprefix $(compiler-stdc_OBJDIR)/linklib/,$($(compiler-stdc_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(compiler-stdc_DEFNAME)_LINKLIBFILES) $($(compiler-stdc_DEFNAME)_LINKLIBAFILES) $(STDC_LINKLIB) $(compiler-stdc_ARCHNLIBFILES)),) + compiler-stdc_LINKLIB := +else + compiler-stdc_LINKLIB := $(compiler-stdc_LIBDIR)/libstdc$(compiler-stdc_LIBSUFFIX).a + ifneq (stdc,$(compiler-stdc_LINKLIBNAME)) + compiler-stdc_LINKLIB += $(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)$(compiler-stdc_LIBSUFFIX).a + endif +endif +compiler-stdc_LINKLIBFILES := $(compiler-stdc_LINKLIBCFILES) $(compiler-stdc_LINKLIBAFILES) + +compiler-stdc_RELLINKLIBCFILES := $(addprefix $(compiler-stdc_OBJDIR)/linklib/,$($(compiler-stdc_DEFNAME)_RELLINKLIBFILES)) +compiler-stdc_RELLINKLIBAFILES := $(addprefix $(compiler-stdc_OBJDIR)/linklib/,$($(compiler-stdc_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(compiler-stdc_DEFNAME)_RELLINKLIBFILES) $($(compiler-stdc_DEFNAME)_RELLINKLIBAFILES) $(STDC_LINKLIB) $(compiler-stdc_ARCHNLIBFILES)),) + compiler-stdc_RELLINKLIB := +else + compiler-stdc_RELLINKLIB := $(compiler-stdc_LIBDIR)/lib$(compiler-stdc_DEFNAME)_rel$(compiler-stdc_LIBSUFFIX).a + ifneq (stdc,$(compiler-stdc_LINKLIBNAME)) + compiler-stdc_RELLINKLIB += $(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)_rel$(compiler-stdc_LIBSUFFIX).a + endif +endif +compiler-stdc_RELLINKLIBFILES := $(compiler-stdc_RELLINKLIBCFILES) $(compiler-stdc_RELLINKLIBAFILES) +endif + +compiler-stdc_ENDOBJS := $(addsuffix .o,$(compiler-stdc_ENDFILES)) +compiler-stdc_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(notdir $(compiler-stdc_NLIBARCHFILES))) $(addprefix $(compiler-stdc_OBJDIR)/linklib/arch/,$(notdir $(compiler-stdc_ARCHNLIBFILES))) $(compiler-stdc_LINKLIBFILES)) \ + $(STDC_LINKOBJS) +compiler-stdc_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(notdir $(compiler-stdc_NLIBARCHFILES))) $(addprefix $(compiler-stdc_OBJDIR)/linklib/arch/,$(notdir $(compiler-stdc_ARCHNLIBFILES))) $(compiler-stdc_RELLINKLIBFILES)) \ + $(STDC_LINKOBJS) +$(compiler-stdc_LINKLIBFILES) $(compiler-stdc_RELLINKLIBFILES) : | $(compiler-stdc_OBJDIR)/linklib +$(compiler-stdc_LINKLIBOBJS) $(compiler-stdc_RELLINKLIBOBJS) : | $(compiler-stdc_OBJDIR)/linklib + +compiler-stdc_CCFILES := $(compiler-stdc_C_NARCHFILES) +compiler-stdc_TARGETCCFILES := $(strip $(compiler-stdc_STARTFILES) $(compiler-stdc_ENDFILES)) +compiler-stdc_LINKLIBCCFILES := $(strip $(compiler-stdc_NLIBARCHFILES) $(compiler-stdc_LINKLIBCFILES) $(compiler-stdc_RELLINKLIBCFILES)) +compiler-stdc_LINKLIBCCGENFILES := $(strip $(compiler-stdc_LINKLIBCFILES) $(compiler-stdc_RELLINKLIBCFILES)) + + +compiler-stdc_CXXABSBASENAMES := $(foreach compiler-stdc_CXXBASE,$(compiler-stdc_CXX_NARCHFILES),$(if $(filter /%,$(compiler-stdc_CXXBASE)),$(compiler-stdc_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(compiler-stdc_CXXBASE)))) + +ifneq ($(compiler-stdc_CXXABSBASENAMES),) + +compiler-stdc_CXXBASENAMES := $(basename $(compiler-stdc_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +compiler-stdc_MCXX_FILES := $(strip $(foreach compiler-stdc_CXXBASE,$(compiler-stdc_CXXABSBASENAMES), $(firstword $(wildcard $(foreach compiler-stdc_EXT, $(AROS_CXXEXTS),$(addsuffix .$(compiler-stdc_EXT),$(compiler-stdc_CXXBASE))))))) + +ifeq (,) +compiler-stdc_MCXX_SRCWILDCARD := % +else +compiler-stdc_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdc_OBJDIR),) + compiler-stdc_CXXTARGETS := $(notdir $(compiler-stdc_CXXBASENAMES:=.o)) + compiler-stdc_CXXDTARGETS := $(notdir $(compiler-stdc_CXXBASENAMES:=.d)) + compiler-stdc_MCXX_WILDCARD := % +else + compiler-stdc_CXXTARGETS := $(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(compiler-stdc_CXXBASENAMES:=.o))) + compiler-stdc_CXXDTARGETS := $(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(compiler-stdc_CXXBASENAMES:=.d))) + compiler-stdc_MCXX_WILDCARD := $(compiler-stdc_OBJDIR)/% + + # Be sure that all source files are generated + $(compiler-stdc_CXXTARGETS) $(compiler-stdc_CXXDTARGETS) : | $(compiler-stdc_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +compiler-stdc_MCXX_CPPFLAGS := $(compiler-stdc_CPPFLAGS) +compiler-stdc_CXXFLAGS := $(compiler-stdc_CXXFLAGS) +ifeq ($(compiler-stdc_DXXFLAGS),) + compiler-stdc_DXXFLAGS := $(compiler-stdc_CXXFLAGS) +else + compiler-stdc_DXXFLAGS := $(compiler-stdc_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + compiler-stdc_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + compiler-stdc_STRIP ?= $(HOST_STRIP) + compiler-stdc_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + compiler-stdc_CXXCMD:=$(HOST_CXX) + compiler-stdc_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(compiler-stdc_MCXX_CPPFLAGS) $(compiler-stdc_MCXX_EXTRA_CPPFLAGS)) + compiler-stdc_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(compiler-stdc_CXXFLAGS)) + compiler-stdc_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(compiler-stdc_DXXFLAGS)) + compiler-stdc_CXXIQUOTE:=$(HOST_IQUOTE) + compiler-stdc_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + compiler-stdc_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + compiler-stdc_STRIP ?= $(TARGET_STRIP) + compiler-stdc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + compiler-stdc_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + compiler-stdc_MCXX_CPPFLAGS := $(strip $(compiler-stdc_MCXX_CPPFLAGS) $(compiler-stdc_MCXX_EXTRA_CPPFLAGS)) + compiler-stdc_CXXFLAGS := $(strip $(compiler-stdc_CXXFLAGS) $(SAFETY_CFLAGS)) + compiler-stdc_DXXFLAGS := $(compiler-stdc_DXXFLAGS) + compiler-stdc_CXXIQUOTE:=$(CFLAGS_IQUOTE) + compiler-stdc_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + compiler-stdc_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + compiler-stdc_STRIP ?= $(ECHO) >/dev/null + compiler-stdc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + compiler-stdc_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + compiler-stdc_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(compiler-stdc_MCXX_CPPFLAGS) $(compiler-stdc_MCXX_EXTRA_CPPFLAGS)) + compiler-stdc_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(compiler-stdc_CXXFLAGS)) + compiler-stdc_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(compiler-stdc_DXXFLAGS)) + compiler-stdc_CXXIQUOTE:=$(KERNEL_IQUOTE) + compiler-stdc_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(compiler-stdc_CXXCMD) $(compiler-stdc_CXXIQUOTE) $(dir $(2)) $(compiler-stdc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_CXXIQUOTE) . $(compiler-stdc_CXXIQUOTE_END) $(strip $(compiler-stdc_CXXFLAGS) $(compiler-stdc_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(compiler-stdc_CXXCMD) $(compiler-stdc_CXXIQUOTE) $(dir $(2)) $(compiler-stdc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_CXXIQUOTE) . $(compiler-stdc_CXXIQUOTE_END) $(strip $(compiler-stdc_CXXFLAGS) $(compiler-stdc_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(compiler-stdc_CXXCMD) $(compiler-stdc_CXXIQUOTE) $(dir $(2)) $(compiler-stdc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_CXXIQUOTE) . $(compiler-stdc_CXXIQUOTE_END) $(strip $(compiler-stdc_CXXFLAGS) $(compiler-stdc_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(compiler-stdc_CXXCMD)" $(MKDEPEND) $(strip $(compiler-stdc_DXXFLAGS) $(compiler-stdc_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(compiler-stdc_OBJDIR),) + $(foreach compiler-stdc_CXXFILE,$(compiler-stdc_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(compiler-stdc_CXXFILE))),$(compiler-stdc_CXXFILE)))) +else + $(foreach compiler-stdc_CXXFILE,$(compiler-stdc_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(basename $(compiler-stdc_CXXFILE)))),$(compiler-stdc_CXXFILE)))) +endif + +endif + + +ifneq ($(compiler-stdc_OBJC_NARCHFILES),) + +ifeq (,) +compiler-stdc_MOBJC_SRCWILDCARD := % +else +compiler-stdc_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdc_OBJDIR),) + compiler-stdc_MOBJC_TARGETS := $(addsuffix .o,$(compiler-stdc_OBJC_NARCHFILES)) + compiler-stdc_MOBJC_DTARGETS := $(addsuffix .d,$(compiler-stdc_OBJC_NARCHFILES)) + compiler-stdc_MOBJC_WILDCARD := % +else + compiler-stdc_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/,$(compiler-stdc_OBJC_NARCHFILES))) + compiler-stdc_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/,$(compiler-stdc_OBJC_NARCHFILES))) + compiler-stdc_MOBJC_WILDCARD := $(compiler-stdc_OBJDIR)/% + + # Be sure that all .m files are generated + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : | $(addsuffix .m,$(compiler-stdc_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + compiler-stdc_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + compiler-stdc_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdc_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + compiler-stdc_MOBJC_DIRS := $(foreach dir, $(compiler-stdc_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdc_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(compiler-stdc_MOBJC_DIRS),) + compiler-stdc_MOBJC_DIRS := $(shell echo $(compiler-stdc_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(compiler-stdc_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + compiler-stdc_CC := $(TARGET_CC) +else + compiler-stdc_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +compiler-stdc_MOBJC_CPPFLAGS := $(compiler-stdc_CPPFLAGS) +compiler-stdc_OBJCFLAGS := $(compiler-stdc_CFLAGS) +compiler-stdc_OBJCFLAGS := $(compiler-stdc_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +compiler-stdc_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(compiler-stdc_OBJCFLAGS))) +ifeq ($(compiler-stdc_DFLAGS),) + compiler-stdc_OBJCDFLAGS := $(compiler-stdc_CFLAGS) +else + compiler-stdc_OBJCDFLAGS := $(compiler-stdc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + compiler-stdc_LINK ?= $(strip $(compiler-stdc_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + compiler-stdc_STRIP ?= $(TARGET_STRIP) + compiler-stdc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : CMD:=$(strip $(compiler-stdc_CC) $(TARGET_SYSROOT)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_MOBJC_CPPFLAGS:=$(strip $(compiler-stdc_MOBJC_CPPFLAGS) $(compiler-stdc_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_OBJCFLAGS:=$(strip $(compiler-stdc_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_OBJCDFLAGS:=$(compiler-stdc_OBJCDFLAGS) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_IQUOTE:=$(CFLAGS_IQUOTE) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + compiler-stdc_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + compiler-stdc_STRIP ?= $(HOST_STRIP) + compiler-stdc_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(compiler-stdc_MOBJC_CPPFLAGS) $(compiler-stdc_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_OBJCFLAGS)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_OBJCDFLAGS)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_IQUOTE:=$(HOST_IQUOTE) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + compiler-stdc_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + compiler-stdc_STRIP ?= $(ECHO) >/dev/null + compiler-stdc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(compiler-stdc_MOBJC_CPPFLAGS) $(compiler-stdc_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_OBJCFLAGS)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_OBJCDFLAGS)) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_IQUOTE:=$(KERNEL_IQUOTE) + $(compiler-stdc_MOBJC_TARGETS) $(compiler-stdc_MOBJC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdc_MOBJC_TARGETS) : CPPFLAGS := $(compiler-stdc_MOBJC_CPPFLAGS) +$(compiler-stdc_MOBJC_TARGETS) : CFLAGS := $(compiler-stdc_OBJCFLAGS) +$(compiler-stdc_MOBJC_TARGETS) : $(compiler-stdc_MOBJC_WILDCARD).o : $(compiler-stdc_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdc_MOBJC_DTARGETS) : $(compiler-stdc_MOBJC_WILDCARD).d : $(compiler-stdc_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdc_OBJCDFLAGS) $(compiler-stdc_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +compiler-stdc_MC_SRCWILDCARD := % +else +compiler-stdc_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdc_OBJDIR),) +compiler-stdc_MC_TARGETS := $(addsuffix .o,$(compiler-stdc_CCFILES)) +compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(compiler-stdc_CCFILES)) +compiler-stdc_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(compiler-stdc_CCFILES)))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(compiler-stdc_CCFILES)))) +else +ifeq (,) + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/,$(compiler-stdc_CCFILES))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/,$(compiler-stdc_CCFILES))) +else + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/,$(patsubst /%,%,$(compiler-stdc_CCFILES)))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/,$(patsubst /%,%,$(compiler-stdc_CCFILES)))) +endif +endif +compiler-stdc_MC_TGTWILDCARD := $(compiler-stdc_OBJDIR)/% + +# Be sure that all .c files are generated +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : | $(addsuffix .c,$(compiler-stdc_CCFILES)) + +# Be sure that all .c files are found +compiler-stdc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdc_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdc_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdc_MC_DIRS := $(foreach dir, $(compiler-stdc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdc_MC_DIRS),) + compiler-stdc_MC_DIRS := $(shell echo $(compiler-stdc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-stdc_MC_DIRS) +endif + +endif + +compiler-stdc_MC_CPPFLAGS := $(compiler-stdc_CPPFLAGS) +compiler-stdc_CFLAGS := $(compiler-stdc_CFLAGS) +ifeq ($(compiler-stdc_DFLAGS),) + compiler-stdc_DFLAGS := $(compiler-stdc_CFLAGS) +else + compiler-stdc_DFLAGS := $(compiler-stdc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-stdc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-stdc_STRIP ?= $(TARGET_STRIP) +compiler-stdc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(compiler-stdc_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(compiler-stdc_DFLAGS) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-stdc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-stdc_STRIP ?= $(HOST_STRIP) +compiler-stdc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_DFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(HOST_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-stdc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-stdc_STRIP ?= $(ECHO) >/dev/null +compiler-stdc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_DFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdc_MC_TARGETS) : CPPFLAGS := $(compiler-stdc_MC_CPPFLAGS) +$(compiler-stdc_MC_TARGETS) : CFLAGS := $(compiler-stdc_CFLAGS) +$(compiler-stdc_MC_TARGETS) : $(compiler-stdc_MC_TGTWILDCARD).o : $(compiler-stdc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdc_MC_DTARGETS) : $(compiler-stdc_MC_TGTWILDCARD).d : $(compiler-stdc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdc_DFLAGS) $(compiler-stdc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +compiler-stdc_MC_SRCWILDCARD := % +else +compiler-stdc_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdc_OBJDIR),) +compiler-stdc_MC_TARGETS := $(addsuffix .o,$(compiler-stdc_TARGETCCFILES)) +compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(compiler-stdc_TARGETCCFILES)) +compiler-stdc_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(compiler-stdc_TARGETCCFILES)))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(compiler-stdc_TARGETCCFILES)))) +else +ifeq (,) + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/,$(compiler-stdc_TARGETCCFILES))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/,$(compiler-stdc_TARGETCCFILES))) +else + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/,$(patsubst /%,%,$(compiler-stdc_TARGETCCFILES)))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/,$(patsubst /%,%,$(compiler-stdc_TARGETCCFILES)))) +endif +endif +compiler-stdc_MC_TGTWILDCARD := $(compiler-stdc_OBJDIR)/% + +# Be sure that all .c files are generated +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : | $(addsuffix .c,$(compiler-stdc_TARGETCCFILES)) + +# Be sure that all .c files are found +compiler-stdc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdc_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdc_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdc_MC_DIRS := $(foreach dir, $(compiler-stdc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdc_MC_DIRS),) + compiler-stdc_MC_DIRS := $(shell echo $(compiler-stdc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-stdc_MC_DIRS) +endif + +endif + +compiler-stdc_MC_CPPFLAGS := $(compiler-stdc_CPPFLAGS) -D__AROS__ +compiler-stdc_CFLAGS := $(compiler-stdc_CFLAGS) +ifeq ($(compiler-stdc_DFLAGS),) + compiler-stdc_DFLAGS := $(compiler-stdc_CFLAGS) +else + compiler-stdc_DFLAGS := $(compiler-stdc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-stdc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-stdc_STRIP ?= $(TARGET_STRIP) +compiler-stdc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(compiler-stdc_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(compiler-stdc_DFLAGS) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-stdc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-stdc_STRIP ?= $(HOST_STRIP) +compiler-stdc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_DFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(HOST_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-stdc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-stdc_STRIP ?= $(ECHO) >/dev/null +compiler-stdc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_DFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdc_MC_TARGETS) : CPPFLAGS := $(compiler-stdc_MC_CPPFLAGS) +$(compiler-stdc_MC_TARGETS) : CFLAGS := $(compiler-stdc_CFLAGS) +$(compiler-stdc_MC_TARGETS) : $(compiler-stdc_MC_TGTWILDCARD).o : $(compiler-stdc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdc_MC_DTARGETS) : $(compiler-stdc_MC_TGTWILDCARD).d : $(compiler-stdc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdc_DFLAGS) $(compiler-stdc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +compiler-stdc_MC_SRCWILDCARD := % +else +compiler-stdc_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdc_OBJDIR)/linklib,) +compiler-stdc_MC_TARGETS := $(addsuffix .o,$(compiler-stdc_NLIBARCHFILES)) +compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(compiler-stdc_NLIBARCHFILES)) +compiler-stdc_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(notdir $(compiler-stdc_NLIBARCHFILES)))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(notdir $(compiler-stdc_NLIBARCHFILES)))) +else +ifeq (,) + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(compiler-stdc_NLIBARCHFILES))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(compiler-stdc_NLIBARCHFILES))) +else + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(patsubst /%,%,$(compiler-stdc_NLIBARCHFILES)))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(patsubst /%,%,$(compiler-stdc_NLIBARCHFILES)))) +endif +endif +compiler-stdc_MC_TGTWILDCARD := $(compiler-stdc_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : | $(addsuffix .c,$(compiler-stdc_NLIBARCHFILES)) + +# Be sure that all .c files are found +compiler-stdc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdc_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdc_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdc_MC_DIRS := $(foreach dir, $(compiler-stdc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdc_MC_DIRS),) + compiler-stdc_MC_DIRS := $(shell echo $(compiler-stdc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-stdc_MC_DIRS) +endif + +endif + +compiler-stdc_MC_CPPFLAGS := $(compiler-stdc_LINKLIBCPPFLAGS) -D__AROS__ +compiler-stdc_CFLAGS := $(compiler-stdc_LINKLIBCFLAGS) +ifeq ($(compiler-stdc_LINKLIBDFLAGS),) + compiler-stdc_DFLAGS := $(compiler-stdc_LINKLIBCFLAGS) +else + compiler-stdc_DFLAGS := $(compiler-stdc_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-stdc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-stdc_STRIP ?= $(TARGET_STRIP) +compiler-stdc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(compiler-stdc_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(compiler-stdc_DFLAGS) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-stdc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-stdc_STRIP ?= $(HOST_STRIP) +compiler-stdc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_DFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(HOST_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-stdc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-stdc_STRIP ?= $(ECHO) >/dev/null +compiler-stdc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_DFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdc_MC_TARGETS) : CPPFLAGS := $(compiler-stdc_MC_CPPFLAGS) +$(compiler-stdc_MC_TARGETS) : CFLAGS := $(compiler-stdc_CFLAGS) +$(compiler-stdc_MC_TARGETS) : $(compiler-stdc_MC_TGTWILDCARD).o : $(compiler-stdc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdc_MC_DTARGETS) : $(compiler-stdc_MC_TGTWILDCARD).d : $(compiler-stdc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdc_DFLAGS) $(compiler-stdc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(compiler-stdc_OBJDIR)/linklib,) +compiler-stdc_MC_SRCWILDCARD := % +else +compiler-stdc_MC_SRCWILDCARD := $(compiler-stdc_OBJDIR)/linklib/% +endif + +ifeq ($(compiler-stdc_OBJDIR)/linklib,) +compiler-stdc_MC_TARGETS := $(addsuffix .o,$(compiler-stdc_LINKLIBCCGENFILES)) +compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(compiler-stdc_LINKLIBCCGENFILES)) +compiler-stdc_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(notdir $(compiler-stdc_LINKLIBCCGENFILES)))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(notdir $(compiler-stdc_LINKLIBCCGENFILES)))) +else +ifeq ($(compiler-stdc_OBJDIR)/linklib,) + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(compiler-stdc_LINKLIBCCGENFILES))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(compiler-stdc_LINKLIBCCGENFILES))) +else + compiler-stdc_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(patsubst $(compiler-stdc_OBJDIR)/linklib/%,%,$(compiler-stdc_LINKLIBCCGENFILES)))) + compiler-stdc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(patsubst $(compiler-stdc_OBJDIR)/linklib/%,%,$(compiler-stdc_LINKLIBCCGENFILES)))) +endif +endif +compiler-stdc_MC_TGTWILDCARD := $(compiler-stdc_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : | $(addsuffix .c,$(compiler-stdc_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +compiler-stdc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdc_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdc_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdc_MC_DIRS := $(foreach dir, $(compiler-stdc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdc_MC_DIRS),) + compiler-stdc_MC_DIRS := $(shell echo $(compiler-stdc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-stdc_MC_DIRS) +endif + +endif + +compiler-stdc_MC_CPPFLAGS := $(compiler-stdc_LINKLIBCPPFLAGS) -D__AROS__ +compiler-stdc_CFLAGS := $(compiler-stdc_LINKLIBCFLAGS) +ifeq ($(compiler-stdc_LINKLIBDFLAGS),) + compiler-stdc_DFLAGS := $(compiler-stdc_LINKLIBCFLAGS) +else + compiler-stdc_DFLAGS := $(compiler-stdc_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-stdc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-stdc_STRIP ?= $(TARGET_STRIP) +compiler-stdc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(compiler-stdc_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(compiler-stdc_DFLAGS) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-stdc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-stdc_STRIP ?= $(HOST_STRIP) +compiler-stdc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdc_DFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(HOST_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-stdc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-stdc_STRIP ?= $(ECHO) >/dev/null +compiler-stdc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-stdc_MC_CPPFLAGS) $(compiler-stdc_MC_EXTRA_CPPFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_CFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdc_DFLAGS)) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-stdc_MC_TARGETS) $(compiler-stdc_MC_DTARGETS) : compiler-stdc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdc_MC_TARGETS) : CPPFLAGS := $(compiler-stdc_MC_CPPFLAGS) +$(compiler-stdc_MC_TARGETS) : CFLAGS := $(compiler-stdc_CFLAGS) +$(compiler-stdc_MC_TARGETS) : $(compiler-stdc_MC_TGTWILDCARD).o : $(compiler-stdc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdc_IQUOTE) $(dir $<) $(compiler-stdc_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdc_IQUOTE) . $(compiler-stdc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdc_MC_DTARGETS) : $(compiler-stdc_MC_TGTWILDCARD).d : $(compiler-stdc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdc_DFLAGS) $(compiler-stdc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(compiler-stdc_LINKLIBAFILES),) + +ifeq ($(compiler-stdc_OBJDIR)/linklib,) +compiler-stdc-MA_TARGETS := $(addsuffix .o,$(compiler-stdc_LINKLIBAFILES) $(compiler-stdc_RELLINKLIBAFILES)) +compiler-stdc-MA_WILDCARD := % +else +compiler-stdc-MA_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(notdir $(compiler-stdc_LINKLIBAFILES) $(compiler-stdc_RELLINKLIBAFILES)))) +compiler-stdc-MA_WILDCARD := $(compiler-stdc_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(compiler-stdc-MA_TARGETS) : | $(addsuffix .S,$(compiler-stdc_LINKLIBAFILES) $(compiler-stdc_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +compiler-stdc-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdc-MA_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdc_LINKLIBAFILES) $(compiler-stdc_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdc-MA_DIRS := $(foreach dir, $(compiler-stdc-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdc-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdc-MA_DIRS),) + compiler-stdc-MA_DIRS := $(shell echo $(compiler-stdc-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(compiler-stdc-MA_DIRS) +endif + +endif + +compiler-stdc-MA_ASSEMBLER ?= $(compiler-stdc_ASSEMBLER) + +$(compiler-stdc-MA_TARGETS) : compiler-stdc-MA_CMD:= $(compiler-stdc-MA_ASSEMBLER) + +$(compiler-stdc-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(compiler-stdc-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(compiler-stdc-MA_TARGETS) : $(compiler-stdc-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(compiler-stdc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(compiler-stdc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(compiler-stdc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +compiler-stdc_SUFFIX := library +else +compiler-stdc_SUFFIX := +endif + +ifeq (target,target) +compiler-stdc_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +compiler-stdc_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +compiler-stdc_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(compiler-stdc_SUFFIX),handler) +compiler-stdc_MODULE := $(AROSDIR)/$(compiler-stdc_MODDIR)/$(compiler-stdc_DEFNAME)-$(compiler-stdc_SUFFIX) +else +compiler-stdc_MODULE := $(AROSDIR)/$(compiler-stdc_MODDIR)/$(compiler-stdc_DEFNAME).$(compiler-stdc_SUFFIX) +endif +compiler-stdc_KOBJ := $(KOBJSDIR)/$(compiler-stdc_DEFNAME)_$(compiler-stdc_SUFFIX).o +else +compiler-stdc_MODULE := +compiler-stdc_KOBJ := +endif + +compiler-stdc-quick : compiler-stdc +compiler-stdc : $(compiler-stdc_MODULE) $(compiler-stdc_LINKLIB) $(compiler-stdc_RELLINKLIB) +ifeq (M,M) +compiler-stdc-kobj : $(compiler-stdc_KOBJ) $(compiler-stdc_LINKLIB) $(compiler-stdc_RELLINKLIB) +compiler-stdc-kobj-quick : $(compiler-stdc_KOBJ) $(compiler-stdc_LINKLIB) $(compiler-stdc_RELLINKLIB) +endif +ifeq (M,M) +compiler-stdc-linklib : $(compiler-stdc_LINKLIB) $(compiler-stdc_RELLINKLIB) +endif + +compiler-stdc_OBJS := $(addsuffix .o,$(compiler-stdc_STARTFILES)) $(compiler-stdc_ARCHOBJS) \ + $(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(compiler-stdc_C_NARCHFILES:=.o) $(compiler-stdc_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +compiler-stdc_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (stdc,con) + compiler-stdc_ERR := $(notdir $(compiler-stdc_MODULE)).err +else + compiler-stdc_ERR := stdc.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(compiler-stdc_DEFNAME)_LDFLAGS) $(compiler-stdc_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(compiler-stdc_LIBS) $($(compiler-stdc_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(compiler-stdc_MODULE) : LIB_NAMES := $(compiler-stdc_LIBS) $($(compiler-stdc_DEFNAME)_LIBS) +$(compiler-stdc_MODULE) : OBJS := $(compiler-stdc_STARTOBJS) $(compiler-stdc_OBJS) $(USER_OBJS) +$(compiler-stdc_MODULE) : ENDTAG := $(compiler-stdc_ENDOBJS) +$(compiler-stdc_MODULE) : ERR := $(compiler-stdc_ERR) +$(compiler-stdc_MODULE) : OBJDIR := $(compiler-stdc_OBJDIR) +$(compiler-stdc_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(compiler-stdc_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(compiler-stdc_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(compiler-stdc_MODULE) : $(compiler-stdc_STARTOBJS) $(compiler-stdc_OBJS) $(USER_OBJS) $(compiler-stdc_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(compiler-stdc_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(compiler-stdc_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +compiler-stdc_LC_LINKLIBNAME := $(shell echo $(compiler-stdc_LINKLIBNAME) | tr A-Z a-z) +compiler-stdc_LC_MODNAME := $(shell echo stdc | tr A-Z a-z) +ifneq ($(compiler-stdc_LINKLIB),) + +ifeq (target,target) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(HOST_AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(KERNEL_AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)$(compiler-stdc_LIBSUFFIX).a : $(compiler-stdc_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-stdc_AR) $@ $^ + $(Q)$(compiler-stdc_RANLIB) $@ +ifneq ($(compiler-stdc_LC_MODNAME),$(compiler-stdc_LC_LINKLIBNAME)) + +ifeq (target,target) +$(compiler-stdc_LIBDIR)/libstdc$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(AR) +$(compiler-stdc_LIBDIR)/libstdc$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-stdc_LIBDIR)/libstdc$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(HOST_AR) +$(compiler-stdc_LIBDIR)/libstdc$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-stdc_LIBDIR)/libstdc$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(KERNEL_AR) +$(compiler-stdc_LIBDIR)/libstdc$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-stdc_LIBDIR)/libstdc$(compiler-stdc_LIBSUFFIX).a : $(compiler-stdc_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-stdc_AR) $@ $^ + $(Q)$(compiler-stdc_RANLIB) $@ +endif + + +ifneq ($(compiler-stdc_LINKLIB),) +$(compiler-stdc_LINKLIB) : | $(compiler-stdc_LIBDIR) +else +$(compiler-stdc_LINKLIB) :: $(compiler-stdc_LIBDIR) +endif + +GLOB_MKDIRS += $(compiler-stdc_LIBDIR) + +endif + +ifneq ($(compiler-stdc_RELLINKLIB),) + +ifeq (target,target) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(HOST_AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(KERNEL_AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_LINKLIBNAME)_rel$(compiler-stdc_LIBSUFFIX).a : $(compiler-stdc_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-stdc_AR) $@ $^ + $(Q)$(compiler-stdc_RANLIB) $@ +ifneq ($(compiler-stdc_LC_MODNAME),$(compiler-stdc_LC_LINKLIBNAME)) + +ifeq (target,target) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_DEFNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_DEFNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_DEFNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(HOST_AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_DEFNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_DEFNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_AR:=$(KERNEL_AR) +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_DEFNAME)_rel$(compiler-stdc_LIBSUFFIX).a : compiler-stdc_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-stdc_LIBDIR)/lib$(compiler-stdc_DEFNAME)_rel$(compiler-stdc_LIBSUFFIX).a : $(compiler-stdc_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-stdc_AR) $@ $^ + $(Q)$(compiler-stdc_RANLIB) $@ +endif + + +ifneq ($(compiler-stdc_RELLINKLIB),) +$(compiler-stdc_RELLINKLIB) : | $(compiler-stdc_LIBDIR) +else +$(compiler-stdc_RELLINKLIB) :: $(compiler-stdc_LIBDIR) +endif + +GLOB_MKDIRS += $(compiler-stdc_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +compiler-stdc_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +compiler-stdc_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +compiler-stdc_SYMBOLS := $(compiler-stdc_KBASE) + +compiler-stdc_KLIB := hiddstubs amiga arossupport autoinit libinit +compiler-stdc_KOBJ_LIBS := $(filter-out $(compiler-stdc_KLIB),$(compiler-stdc_LIBS)) $(compiler-stdc_KAUTOLIB) +$(compiler-stdc_KOBJ) : LINKLIBS:=$(compiler-stdc_KOBJ_LIBS) $($(compiler-stdc_DEFNAME)_LIBS) +$(compiler-stdc_KOBJ) : FILTBASES:=$(addprefix -L ,$(compiler-stdc_SYMBOLS)) +$(compiler-stdc_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(compiler-stdc_KOBJ) : $(compiler-stdc_OBJS) $(USER_OBJS) $(compiler-stdc_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +compiler-stdc_DEPS := $(addprefix $(compiler-stdc_OBJDIR)/,$(notdir $(compiler-stdc_CCFILES:=.d) $(compiler-stdc_TARGETCCFILES:=.d) $(compiler-stdc_CXXFILES:=.d))) $(addprefix $(compiler-stdc_OBJDIR)/linklib/,$(notdir $(compiler-stdc_LINKLIBCCFILES:=.d))) + +ifneq ($(compiler-stdc_DEPS),) + ifneq (compiler-stdc compiler-stdc-quick compiler-stdc-kobj compiler-stdc-kobj-quick,) + ifneq ($(findstring $(TARGET),compiler-stdc compiler-stdc-quick compiler-stdc-kobj compiler-stdc-kobj-quick),) + -include $(compiler-stdc_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(compiler-stdc_DEPS) + endif + endif +endif + +$(compiler-stdc_OBJS) $(compiler-stdc_DEPS) : | $(compiler-stdc_OBJDIR)/linklib + +ifneq ($(compiler-stdc_OBJS) $(compiler-stdc_DEPS) $(compiler-stdc_MODULE) $(compiler-stdc_KOBJ),) +$(compiler-stdc_OBJS) $(compiler-stdc_DEPS) $(compiler-stdc_MODULE) $(compiler-stdc_KOBJ) : | $(compiler-stdc_OBJDIR) $(AROSDIR)/$(compiler-stdc_MODDIR) $(KOBJSDIR) +else +$(compiler-stdc_OBJS) $(compiler-stdc_DEPS) $(compiler-stdc_MODULE) $(compiler-stdc_KOBJ) :: $(compiler-stdc_OBJDIR) $(AROSDIR)/$(compiler-stdc_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(compiler-stdc_OBJDIR) $(AROSDIR)/$(compiler-stdc_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),compiler-stdc compiler-stdc-includes compiler-stdc-quick compiler-stdc-kobj compiler-stdc-kobj-quick),) # Only for this target these deps are wanted + +compiler-stdc_DFILE_DEPS := $(compiler-stdc_LIBDEFSINC) $(compiler-stdc_DEFLIBDEFSINC) \ + $(addprefix $(compiler-stdc_INCDIR)/,$($(compiler-stdc_DEFNAME)_INCLUDES)) +$(compiler-stdc_DEPS) : $(compiler-stdc_DFILE_DEPS) +endif + +compiler-stdc_TOCLEAN := $(compiler-stdc_OBJS) $(compiler-stdc_DEPS) \ + $(compiler-stdc_MODULE) $(compiler-stdc_LINKLIB) $(compiler-stdc_KOBJ) \ + $(compiler-stdc_OBJDIR)/Makefile.stdclibrary \ + $(addprefix $(compiler-stdc_OBJDIR)/include/,$($(compiler-stdc_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(compiler-stdc_DEFNAME)_INCLUDES)) \ + $(addprefix $(compiler-stdc_INCDIR)/,$($(compiler-stdc_DEFNAME)_INCLUDES)) \ + $(compiler-stdc_OBJDIR)/stdc_geninc $(compiler-stdc_OBJDIR)/stdc_incs \ + $(addsuffix .c,$(compiler-stdc_LINKLIBFILES)) $(compiler-stdc_LINKLIBOBJS) $(compiler-stdc_LIBDEFSINC) \ + $(compiler-stdc_DEFLIBDEFSINC) $(addsuffix .c,$(compiler-stdc_STARTFILES) $(compiler-stdc_ENDFILES)) \ + $(compiler-stdc_ENDOBJS) +compiler-stdc-clean : FILES := $(compiler-stdc_TOCLEAN) +compiler-stdc-clean :: + $(Q)$(ECHO) "Cleaning up for module stdc" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(compiler-stdc_ALLTARGETS) + + +STDCIO_LINKOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/$(CURDIR)/stdcio/,$(notdir $(STDCIO_COMMON)))) + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM compiler-stdcio +#MM compiler-stdcio-quick +#MM compiler-stdcio-makefile +#MM compiler-stdcio-clean + +# ABI targets: +#MM- includes-all : compiler-stdcio-includes +#MM- linklibs-stdcio: compiler-stdcio-linklib +#MM- linklibs-stdcio_rel : compiler-stdcio-linklib +#MM- includes-stdcio: compiler-stdcio-includes +#MM- includes-stdcio_rel : compiler-stdcio-includes +#MM- compiler-stdcio : compiler-stdcio-includes core-linklibs linklibs-stdc_rel +#MM compiler-stdcio-linklib : compiler-stdcio-includes includes-stdc_rel +#MM- compiler-stdcio-quick : compiler-stdcio-includes-quick +#MM compiler-stdcio-includes : compiler-stdcio-makefile compiler-stdcio-includes-dirs \ +#MM includes-generate-deps compiler-stdcio-fd +#MM compiler-stdcio-includes-quick +#MM compiler-stdcio-includes-dirs +#MM compiler-stdcio-fd + +# Library targets +#MM compiler-stdcio-kobj : core-linklibs linklibs-stdc_rel +#MM compiler-stdcio-kobj-quick : + +# Library with ABI targets: +#MM compiler-stdcio-kobj : compiler-stdcio-includes core-linklibs linklibs-stdc_rel +#MM compiler-stdcio-kobj-quick : compiler-stdcio-includes-quick + +# All MetaMake targets defined by this macro +compiler-stdcio_ALLTARGETS := compiler-stdcio compiler-stdcio-quick compiler-stdcio-clean + +ifeq (M,M) +compiler-stdcio_ALLTARGETS += compiler-stdcio-kobj compiler-stdcio-kobj-quick +endif + +ifeq (M,M) +compiler-stdcio_ALLTARGETS += compiler-stdcio-includes \ + compiler-stdcio-includes-quick compiler-stdcio-includes-dirs \ + compiler-stdcio-linklib compiler-stdcio-fd +endif + +.PHONY : $(compiler-stdcio_ALLTARGETS) compiler-stdcio-makefile + +ifeq (stdcio,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + compiler-stdcio_DEFNAME := stdcio_ +else + compiler-stdcio_DEFNAME := stdcio +endif +compiler-stdcio_DEFLINKLIBNAME := $(compiler-stdcio_DEFNAME) +ifneq (,) + compiler-stdcio_LINKLIBNAME := +else + compiler-stdcio_LINKLIBNAME = $(compiler-stdcio_DEFLINKLIBNAME) +endif +compiler-stdcio_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + compiler-stdcio_DEFCPPFLAGS += -I +endif +compiler-stdcio_DEFDFLAGS := $(CFLAGS) +ifneq (,) + compiler-stdcio_DFLAGS := +else + compiler-stdcio_DFLAGS = $(compiler-stdcio_DEFDFLAGS) +endif +compiler-stdcio_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + compiler-stdcio_DXXFLAGS := +else + compiler-stdcio_DXXFLAGS = $(compiler-stdcio_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +compiler-stdcio_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(compiler-stdcio_DEFDFLAGS)) +compiler-stdcio_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(compiler-stdcio_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +compiler-stdcio_FUNCINSTR := yes +compiler-stdcio_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(compiler-stdcio_DEFDFLAGS)) +compiler-stdcio_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(compiler-stdcio_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +compiler-stdcio_OBJDIR := +else +compiler-stdcio_OBJDIR := $(OBJDIR)/$(compiler-stdcio_DEFNAME) +endif +ifneq (,) +compiler-stdcio_OBJDIR := $(compiler-stdcio_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +compiler-stdcio-makefile := $(compiler-stdcio_OBJDIR)/Makefile.$(compiler-stdcio_DEFNAME)library +compiler-stdcio-genmakefile : $(compiler-stdcio-makefile) + + +compiler-stdcio-genmakefile_OPTS := +ifneq (,) + compiler-stdcio-genmakefile_OPTS += -f + compiler-stdcio-genmakefile_MODNAME := stdcio_ +else + compiler-stdcio-genmakefile_MODNAME := stdcio +endif +compiler-stdcio-genmakefile_TARGET := Makefile.$(compiler-stdcio-genmakefile_MODNAME)library +compiler-stdcio-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-stdcio-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-stdcio-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdcio-genmakefile_OPTS += -c + compiler-stdcio-genmakefile_DEPS += + endif +else + compiler-stdcio-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/stdcio.conf + compiler-stdcio-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/stdcio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-stdcio-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-stdcio-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdcio-genmakefile_OPTS += -o + compiler-stdcio-genmakefile_DEPS += + endif +endif +ifneq (,) + compiler-stdcio-genmakefile_OPTS += -s +endif +ifneq ($(compiler-stdcio_OBJDIR),) + compiler-stdcio-genmakefile_OPTS += -d $(compiler-stdcio_OBJDIR) + compiler-stdcio-genmakefile_TARGET := $(compiler-stdcio_OBJDIR)/$(compiler-stdcio-genmakefile_TARGET) +endif + +$(compiler-stdcio-genmakefile_TARGET) : OPTS := $(compiler-stdcio-genmakefile_OPTS) +$(compiler-stdcio-genmakefile_TARGET) : MODNAME := stdcio +$(compiler-stdcio-genmakefile_TARGET) : MODTYPE := library +$(compiler-stdcio-genmakefile_TARGET) : $(compiler-stdcio-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(compiler-stdcio-makefile),) +$(compiler-stdcio-makefile) : | $(compiler-stdcio_OBJDIR) +else +$(compiler-stdcio-makefile) :: $(compiler-stdcio_OBJDIR) +endif + +GLOB_MKDIRS += $(compiler-stdcio_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(compiler-stdcio_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(compiler-stdcio-makefile) + +compiler-stdcio_DEFMODDIR := $($(compiler-stdcio_DEFNAME)_MODDIR) +ifeq (no,yes) +compiler-stdcio_DEFMODDIR := $(AROS_DIR_ARCH)/$(compiler-stdcio_DEFMODDIR) +endif +ifneq (,) + compiler-stdcio_MODDIR := +else + compiler-stdcio_MODDIR := $(compiler-stdcio_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +compiler-stdcio_INCDIR := +else +compiler-stdcio_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +compiler-stdcio_LIBDEFSINC := $(compiler-stdcio_OBJDIR)/include/$(compiler-stdcio_DEFNAME)_libdefs.h +compiler-stdcio_DEFLIBDEFSINC := $(compiler-stdcio_OBJDIR)/include/$(compiler-stdcio_DEFNAME)_deflibdefs.h + +ifeq (M,M) +compiler-stdcio-includes-quick : compiler-stdcio-includes +compiler-stdcio-includes : $(addprefix $(GENINCDIR)/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) \ + $(addprefix $(compiler-stdcio_INCDIR)/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) \ + $(compiler-stdcio_LIBDEFSINC) $(compiler-stdcio_DEFLIBDEFSINC) + +ifneq ($($(compiler-stdcio_DEFNAME)_INCLUDES),) + +ifneq (,) + compiler-stdcio-includes_MODNAME := stdcio_ +else + compiler-stdcio-includes_MODNAME := stdcio +endif + +ifneq ($($(compiler-stdcio-includes_MODNAME)_INCLUDES),) + +compiler-stdcio-includes_TARGETS := $($(compiler-stdcio-includes_MODNAME)_INCLUDES) + +compiler-stdcio-includes_DEPS := $(GENMODULE) +compiler-stdcio-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + compiler-stdcio-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-stdcio-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdcio-includes_OPTS += -c + compiler-stdcio-includes_DEPS += + endif +else + compiler-stdcio-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/stdcio.conf + compiler-stdcio-includes_DEPS += $(SRCDIR)/$(CURDIR)/stdcio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-stdcio-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-stdcio-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdcio-includes_OPTS += -o + compiler-stdcio-includes_DEPS += + endif +endif +ifneq (,) + compiler-stdcio-includes_OPTS += -s +endif +ifneq ($(compiler-stdcio_OBJDIR)/include,) + compiler-stdcio-includes_OPTS += -d $(compiler-stdcio_OBJDIR)/include + compiler-stdcio-includes_TARGETS := $(addprefix $(compiler-stdcio_OBJDIR)/include/,$(compiler-stdcio-includes_TARGETS)) + compiler-stdcio-includes_GENINCFLAG=$(compiler-stdcio_OBJDIR)/include/.stdcio.library-includes +else + compiler-stdcio-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.stdcio.library-includes +endif + +$(compiler-stdcio-includes_TARGETS) : $(compiler-stdcio-includes_DEPS) $(compiler-stdcio-includes_GENINCFLAG) + +$(compiler-stdcio-includes_GENINCFLAG) : OPTS := $(compiler-stdcio-includes_OPTS) +$(compiler-stdcio-includes_GENINCFLAG) : MODNAME := stdcio +$(compiler-stdcio-includes_GENINCFLAG) : MODTYPE := library +$(compiler-stdcio-includes_GENINCFLAG) : $(compiler-stdcio-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(compiler-stdcio_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) : | $(compiler-stdcio_OBJDIR)/stdcio_geninc + +$(compiler-stdcio_OBJDIR)/stdcio_geninc : COPYSRCDIR := $(compiler-stdcio_OBJDIR)/include +$(compiler-stdcio_OBJDIR)/stdcio_geninc : TGTDIR := $(GENINCDIR) +$(compiler-stdcio_OBJDIR)/stdcio_geninc : FILES := $($(compiler-stdcio_DEFNAME)_INCLUDES) +$(compiler-stdcio_OBJDIR)/stdcio_geninc : $(addprefix $(compiler-stdcio_OBJDIR)/include/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(compiler-stdcio_OBJDIR)/include + +$(addprefix $(compiler-stdcio_INCDIR)/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) : | $(compiler-stdcio_OBJDIR)/stdcio_incs + +$(compiler-stdcio_OBJDIR)/stdcio_incs : COPYSRCDIR := $(compiler-stdcio_OBJDIR)/include +$(compiler-stdcio_OBJDIR)/stdcio_incs : TGTDIR := $(compiler-stdcio_INCDIR) +$(compiler-stdcio_OBJDIR)/stdcio_incs : FILES := $($(compiler-stdcio_DEFNAME)_INCLUDES) +$(compiler-stdcio_OBJDIR)/stdcio_incs : $(addprefix $(compiler-stdcio_OBJDIR)/include/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +compiler-stdcio_INCDIRS := $(filter-out ./,$(sort $(dir $($(compiler-stdcio_DEFNAME)_INCLUDES)))) + +TMPstdcio_INCDIRS := \ + $(compiler-stdcio_OBJDIR)/include $(addprefix $(compiler-stdcio_OBJDIR)/include/,$(compiler-stdcio_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(compiler-stdcio_INCDIRS)) \ + $(compiler-stdcio_INCDIR) $(addprefix $(compiler-stdcio_INCDIR)/,$(compiler-stdcio_INCDIRS)) + +ifneq (compiler-stdcio-includes-dirs,) +compiler-stdcio-includes-dirs : | $(TMPstdcio_INCDIRS) +else +compiler-stdcio-includes-dirs :: $(TMPstdcio_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPstdcio_INCDIRS) + + +endif + +endif + + +compiler-stdcio-genlibdefs_OPTS := +ifneq (,) + compiler-stdcio-genlibdefs_OPTS += -f + compiler-stdcio-genlibdefs_MODNAME := stdcio_ +else + compiler-stdcio-genlibdefs_MODNAME := stdcio +endif +compiler-stdcio-genlibdefs_TARGET := $(compiler-stdcio-genlibdefs_MODNAME)_libdefs.h +compiler-stdcio-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-stdcio-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-stdcio-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdcio-genlibdefs_OPTS += -c + compiler-stdcio-genlibdefs_DEPS += + endif +else + compiler-stdcio-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/stdcio.conf + compiler-stdcio-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/stdcio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-stdcio-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-stdcio-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdcio-genlibdefs_OPTS += -o + compiler-stdcio-genlibdefs_DEPS += + endif +endif +ifneq (,) + compiler-stdcio-genlibdefs_OPTS += -s +endif +ifneq ($(compiler-stdcio_OBJDIR)/include,) + compiler-stdcio-genlibdefs_OPTS += -d $(compiler-stdcio_OBJDIR)/include + compiler-stdcio-genlibdefs_TARGET := $(compiler-stdcio_OBJDIR)/include/$(compiler-stdcio-genlibdefs_TARGET) +endif +ifneq (,) + compiler-stdcio-genlibdefs_OPTS += -v +endif + +$(compiler-stdcio-genlibdefs_TARGET) : OPTS := $(compiler-stdcio-genlibdefs_OPTS) +$(compiler-stdcio-genlibdefs_TARGET) : MODNAME := stdcio +$(compiler-stdcio-genlibdefs_TARGET) : MODTYPE := library +$(compiler-stdcio-genlibdefs_TARGET) : $(compiler-stdcio-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(compiler-stdcio_DEFLIBDEFSINC) : FILENAME := $(compiler-stdcio_LIBDEFSINC) +$(compiler-stdcio_DEFLIBDEFSINC) : $(compiler-stdcio_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(compiler-stdcio_LIBDEFSINC) $(compiler-stdcio_DEFLIBDEFSINC) : | $(compiler-stdcio_OBJDIR)/include + +ifneq (compiler-stdcio-includes-dirs,) +compiler-stdcio-includes-dirs : | $(compiler-stdcio_OBJDIR)/include +else +compiler-stdcio-includes-dirs :: $(compiler-stdcio_OBJDIR)/include +endif + +GLOB_MKDIRS += $(compiler-stdcio_OBJDIR)/include + + +## Extra genmodule src files generation +## + +compiler-stdcio-genmodfiles_OPTS := +ifneq (,) + compiler-stdcio-genmodfiles_OPTS += -f + compiler-stdcio-genmodfiles_MODNAME := stdcio_ +else + compiler-stdcio-genmodfiles_MODNAME := stdcio +endif +compiler-stdcio-genmodfiles_GENTARGETS := $($(compiler-stdcio-genmodfiles_MODNAME)_STARTFILES) $($(compiler-stdcio-genmodfiles_MODNAME)_ENDFILES) +compiler-stdcio-genmodfiles_STUBTARGETS := $($(compiler-stdcio-genmodfiles_MODNAME)_LINKLIBFILES) $($(compiler-stdcio-genmodfiles_MODNAME)_RELLINKLIBFILES) +compiler-stdcio-genmodfiles_GENTARGETS := $(addsuffix .c,$(compiler-stdcio-genmodfiles_GENTARGETS)) +compiler-stdcio-genmodfiles_STUBTARGETS := $(addsuffix .c,$(compiler-stdcio-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(compiler-stdcio-genmodfiles_MODNAME)_LINKLIBAFILES) $($(compiler-stdcio-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +compiler-stdcio-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + compiler-stdcio-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + compiler-stdcio-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdcio-genmodfiles_OPTS += -c + compiler-stdcio-genmodfiles_DEPS += + endif +else + compiler-stdcio-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/stdcio.conf + compiler-stdcio-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/stdcio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + compiler-stdcio-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + compiler-stdcio-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + compiler-stdcio-genmodfiles_OPTS += -o + compiler-stdcio-genmodfiles_DEPS += + endif +endif +ifneq (,) + compiler-stdcio-genmodfiles_OPTS += -s +endif +ifneq ($(compiler-stdcio_OBJDIR),) + compiler-stdcio-genmodfiles_OPTS += -d $(compiler-stdcio_OBJDIR) + compiler-stdcio-genmodfiles_TARGETDIR := $(shell echo $(compiler-stdcio_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + compiler-stdcio-genmodfiles_GENTARGETS := $(addprefix $(compiler-stdcio-genmodfiles_TARGETDIR)/,$(compiler-stdcio-genmodfiles_GENTARGETS)) + compiler-stdcio-genmodfiles_GENFILEFLAG=$(compiler-stdcio-genmodfiles_TARGETDIR)/.stdcio.library-genfiles +else + compiler-stdcio-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.stdcio.library-genfiles +endif +ifneq ($(compiler-stdcio_OBJDIR)/linklib,) + compiler-stdcio-genmodfiles_OPTS += -l $(compiler-stdcio_OBJDIR)/linklib + compiler-stdcio-genmodfiles_STUBTARGETDIR := $(shell echo $(compiler-stdcio_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + compiler-stdcio-genmodfiles_STUBTARGETS := $(addprefix $(compiler-stdcio-genmodfiles_STUBTARGETDIR)/,$(compiler-stdcio-genmodfiles_STUBTARGETS)) + compiler-stdcio-genmodfiles_TARGETDIRS += $(compiler-stdcio_OBJDIR)/linklib +else +ifneq ($(compiler-stdcio_OBJDIR),) + compiler-stdcio-genmodfiles_STUBTARGETS := $(addprefix $(compiler-stdcio-genmodfiles_TARGETDIR)/,$(compiler-stdcio-genmodfiles_STUBTARGETS)) +endif +endif + +compiler-stdcio-genmodfiles_TARGETS := $(compiler-stdcio-genmodfiles_GENTARGETS) $(compiler-stdcio-genmodfiles_STUBTARGETS) +ifneq ($(compiler-stdcio-genmodfiles_TARGETDIRS),) +$(compiler-stdcio-genmodfiles_TARGETS) : | $(compiler-stdcio-genmodfiles_TARGETDIRS) +endif + +$(compiler-stdcio-genmodfiles_TARGETS) : $(compiler-stdcio-genmodfiles_DEPS) $(compiler-stdcio-genmodfiles_GENFILEFLAG) + +$(compiler-stdcio-genmodfiles_GENFILEFLAG) : OPTS := $(compiler-stdcio-genmodfiles_OPTS) +$(compiler-stdcio-genmodfiles_GENFILEFLAG) : MODNAME := stdcio +$(compiler-stdcio-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(compiler-stdcio-genmodfiles_GENFILEFLAG) : $(compiler-stdcio-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(compiler-stdcio-genmodfiles_GENFILEFLAG) : $(compiler-stdcio_DEFLIBDEFSINC) $(compiler-stdcio-makefile) + + +ifneq ($(compiler-stdcio-genmodfiles_GENFILEFLAG),) +$(compiler-stdcio-genmodfiles_GENFILEFLAG) : | $(compiler-stdcio_OBJDIR)/linklib +else +$(compiler-stdcio-genmodfiles_GENFILEFLAG) :: $(compiler-stdcio_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(compiler-stdcio_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +compiler-stdcio_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +compiler-stdcio_FDDIR := /../$(AROS_DIR_FD) +endif +compiler-stdcio-fd : $(compiler-stdcio_FDDIR)/stdcio_lib.fd + + +TMP_TARGET := stdcio_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/stdcio.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/stdcio.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(compiler-stdcio_FDDIR),) + TMP_OPTS += -d $(compiler-stdcio_FDDIR) + TMP_TARGET := $(compiler-stdcio_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := stdcio +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(compiler-stdcio_FDDIR)/stdcio_lib.fd : | $(compiler-stdcio_FDDIR) + + +ifneq (compiler-stdcio-fd-setup,) +compiler-stdcio-fd-setup : | $(compiler-stdcio_FDDIR) +else +compiler-stdcio-fd-setup :: $(compiler-stdcio_FDDIR) +endif + +GLOB_MKDIRS += $(compiler-stdcio_FDDIR) + +endif + +## Compilation +## +compiler-stdcio_FILES := $(STDCIO) $(STDCIO_COMMON) +compiler-stdcio_OBJCFILES := +compiler-stdcio_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +compiler-stdcio_LIBFILES := +compiler-stdcio_LIBS := stdc_rel + +compiler-stdcio_FDIRS := $(sort $(dir $(compiler-stdcio_FILES))) + +compiler-stdcio_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +compiler-stdcio_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call compiler-stdcio_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +compiler-stdcio_FILTERARCH = $(filter-out $(call compiler-stdcio_MATCHARCH,$(1),$(2)),$(2)) +compiler-stdcio_STARTFILES := $(addprefix $(compiler-stdcio_OBJDIR)/,$($(compiler-stdcio_DEFNAME)_STARTFILES)) +compiler-stdcio_ENDFILES := $(addprefix $(compiler-stdcio_OBJDIR)/,$($(compiler-stdcio_DEFNAME)_ENDFILES)) + +compiler-stdcio_ARCHOBJS := $(wildcard $(compiler-stdcio_OBJDIR)/arch/*.o) +compiler-stdcio_LIBARCHOBJS := $(wildcard $(compiler-stdcio_OBJDIR)/linklib/arch/*.o) +compiler-stdcio_ARCHFILES := $(basename $(notdir $(compiler-stdcio_ARCHOBJS))) +compiler-stdcio_LIBARCHFILES := $(basename $(notdir $(compiler-stdcio_LIBARCHOBJS))) +compiler-stdcio_C_NARCHFILES := $(call compiler-stdcio_FILTERARCH,$(compiler-stdcio_ARCHFILES),$(compiler-stdcio_FILES)) +compiler-stdcio_CXX_NARCHFILES := $(call compiler-stdcio_FILTERARCH,$(compiler-stdcio_ARCHFILES),$(compiler-stdcio_CXXFILES)) +compiler-stdcio_OBJC_NARCHFILES := $(call compiler-stdcio_FILTERARCH,$(compiler-stdcio_ARCHFILES),$(compiler-stdcio_OBJCFILES)) +compiler-stdcio_NLIBARCHFILES := $(call compiler-stdcio_FILTERARCH,$(compiler-stdcio_LIBARCHFILES),$(compiler-stdcio_LIBFILES)) +compiler-stdcio_ARCHNLIBFILES := $(call compiler-stdcio_FILTERARCH,$(compiler-stdcio_LIBFILES),$(compiler-stdcio_LIBARCHFILES)) + +compiler-stdcio_CPPFLAGS := $(strip $(CPPFLAGS) -I$(compiler-stdcio_OBJDIR)/include -include $(compiler-stdcio_DEFLIBDEFSINC)) +ifneq (,) +compiler-stdcio_CPPFLAGS += -I +endif +compiler-stdcio_LINKLIBCPPFLAGS := $(compiler-stdcio_CPPFLAGS) +compiler-stdcio_CPPFLAGS += $(strip $($(compiler-stdcio_DEFNAME)_CPPFLAGS)) +compiler-stdcio_LINKLIBCPPFLAGS += $(strip $($(compiler-stdcio_DEFNAME)_LINKLIBCPPFLAGS)) +compiler-stdcio_CFLAGS := $(strip $(CFLAGS) $($(compiler-stdcio_DEFNAME)_CFLAGS)) +compiler-stdcio_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(compiler-stdcio_DEFNAME)_LINKLIBCFLAGS)) +compiler-stdcio_CXXFLAGS := $(strip $(CXXFLAGS) $($(compiler-stdcio_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +compiler-stdcio_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +compiler-stdcio_CFLAGS := $(strip $(compiler-stdcio_LTOFLAGS) $(compiler-stdcio_CFLAGS)) +compiler-stdcio_LINKLIBCFLAGS := $(strip $(compiler-stdcio_LTOFLAGS) $(compiler-stdcio_LINKLIBCFLAGS)) +compiler-stdcio_CXXFLAGS := $(strip $(compiler-stdcio_LTOFLAGS) $(compiler-stdcio_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +compiler-stdcio_SUBSTNULL := +compiler-stdcio_SUBSTSPACE := $(compiler-stdcio_SUBSTNULL) # +compiler-stdcio_SUBSTCOMMA := , +compiler-stdcio_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(compiler-stdcio_SUBSTSPACE),$(compiler-stdcio_SUBSTCOMMA),$(strip $($(compiler-stdcio_DEFNAME)_STARTFILES)))) +compiler-stdcio_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +compiler-stdcio_CFLAGS := $(strip $(compiler-stdcio_INSTRFUNCFLAGS) $(compiler-stdcio_CFLAGS)) +compiler-stdcio_CXXFLAGS := $(strip $(compiler-stdcio_INSTRFUNCFLAGS) $(compiler-stdcio_CXXFLAGS)) +compiler-stdcio_LIBS += $(compiler-stdcio_INSTRFUNCLIBS) +endif +endif +compiler-stdcio_DFLAGS := $(strip $(compiler-stdcio_DFLAGS) $($(compiler-stdcio_DEFNAME)_DFLAGS)) +compiler-stdcio_LINKLIBDFLAGS := $(strip $(compiler-stdcio_DFLAGS) $($(compiler-stdcio_DEFNAME)_LINKLIBDFLAGS)) +compiler-stdcio_DXXFLAGS := $(strip $(compiler-stdcio_DXXFLAGS) $($(compiler-stdcio_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + compiler-stdcio_LIBSUFFIX := +else + compiler-stdcio_LIBSUFFIX := .library +endif + +ifeq (,) +compiler-stdcio_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +compiler-stdcio_LIBDIR := +endif + +ifeq (M,M) +compiler-stdcio_LINKLIBCFILES := $(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$($(compiler-stdcio_DEFNAME)_LINKLIBFILES)) +compiler-stdcio_LINKLIBAFILES := $(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$($(compiler-stdcio_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(compiler-stdcio_DEFNAME)_LINKLIBFILES) $($(compiler-stdcio_DEFNAME)_LINKLIBAFILES) $(compiler-stdcio_ARCHNLIBFILES)),) + compiler-stdcio_LINKLIB := +else + compiler-stdcio_LINKLIB := $(compiler-stdcio_LIBDIR)/libstdcio$(compiler-stdcio_LIBSUFFIX).a + ifneq (stdcio,$(compiler-stdcio_LINKLIBNAME)) + compiler-stdcio_LINKLIB += $(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)$(compiler-stdcio_LIBSUFFIX).a + endif +endif +compiler-stdcio_LINKLIBFILES := $(compiler-stdcio_LINKLIBCFILES) $(compiler-stdcio_LINKLIBAFILES) + +compiler-stdcio_RELLINKLIBCFILES := $(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$($(compiler-stdcio_DEFNAME)_RELLINKLIBFILES)) +compiler-stdcio_RELLINKLIBAFILES := $(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$($(compiler-stdcio_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(compiler-stdcio_DEFNAME)_RELLINKLIBFILES) $($(compiler-stdcio_DEFNAME)_RELLINKLIBAFILES) $(compiler-stdcio_ARCHNLIBFILES)),) + compiler-stdcio_RELLINKLIB := +else + compiler-stdcio_RELLINKLIB := $(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_DEFNAME)_rel$(compiler-stdcio_LIBSUFFIX).a + ifneq (stdcio,$(compiler-stdcio_LINKLIBNAME)) + compiler-stdcio_RELLINKLIB += $(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)_rel$(compiler-stdcio_LIBSUFFIX).a + endif +endif +compiler-stdcio_RELLINKLIBFILES := $(compiler-stdcio_RELLINKLIBCFILES) $(compiler-stdcio_RELLINKLIBAFILES) +endif + +compiler-stdcio_ENDOBJS := $(addsuffix .o,$(compiler-stdcio_ENDFILES)) +compiler-stdcio_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(notdir $(compiler-stdcio_NLIBARCHFILES))) $(addprefix $(compiler-stdcio_OBJDIR)/linklib/arch/,$(notdir $(compiler-stdcio_ARCHNLIBFILES))) $(compiler-stdcio_LINKLIBFILES)) \ + $(STDCIO_LINKOBJS) +compiler-stdcio_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(notdir $(compiler-stdcio_NLIBARCHFILES))) $(addprefix $(compiler-stdcio_OBJDIR)/linklib/arch/,$(notdir $(compiler-stdcio_ARCHNLIBFILES))) $(compiler-stdcio_RELLINKLIBFILES)) \ + $(STDCIO_LINKOBJS) +$(compiler-stdcio_LINKLIBFILES) $(compiler-stdcio_RELLINKLIBFILES) : | $(compiler-stdcio_OBJDIR)/linklib +$(compiler-stdcio_LINKLIBOBJS) $(compiler-stdcio_RELLINKLIBOBJS) : | $(compiler-stdcio_OBJDIR)/linklib + +compiler-stdcio_CCFILES := $(compiler-stdcio_C_NARCHFILES) +compiler-stdcio_TARGETCCFILES := $(strip $(compiler-stdcio_STARTFILES) $(compiler-stdcio_ENDFILES)) +compiler-stdcio_LINKLIBCCFILES := $(strip $(compiler-stdcio_NLIBARCHFILES) $(compiler-stdcio_LINKLIBCFILES) $(compiler-stdcio_RELLINKLIBCFILES)) +compiler-stdcio_LINKLIBCCGENFILES := $(strip $(compiler-stdcio_LINKLIBCFILES) $(compiler-stdcio_RELLINKLIBCFILES)) + + +compiler-stdcio_CXXABSBASENAMES := $(foreach compiler-stdcio_CXXBASE,$(compiler-stdcio_CXX_NARCHFILES),$(if $(filter /%,$(compiler-stdcio_CXXBASE)),$(compiler-stdcio_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(compiler-stdcio_CXXBASE)))) + +ifneq ($(compiler-stdcio_CXXABSBASENAMES),) + +compiler-stdcio_CXXBASENAMES := $(basename $(compiler-stdcio_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +compiler-stdcio_MCXX_FILES := $(strip $(foreach compiler-stdcio_CXXBASE,$(compiler-stdcio_CXXABSBASENAMES), $(firstword $(wildcard $(foreach compiler-stdcio_EXT, $(AROS_CXXEXTS),$(addsuffix .$(compiler-stdcio_EXT),$(compiler-stdcio_CXXBASE))))))) + +ifeq (,) +compiler-stdcio_MCXX_SRCWILDCARD := % +else +compiler-stdcio_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdcio_OBJDIR),) + compiler-stdcio_CXXTARGETS := $(notdir $(compiler-stdcio_CXXBASENAMES:=.o)) + compiler-stdcio_CXXDTARGETS := $(notdir $(compiler-stdcio_CXXBASENAMES:=.d)) + compiler-stdcio_MCXX_WILDCARD := % +else + compiler-stdcio_CXXTARGETS := $(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(compiler-stdcio_CXXBASENAMES:=.o))) + compiler-stdcio_CXXDTARGETS := $(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(compiler-stdcio_CXXBASENAMES:=.d))) + compiler-stdcio_MCXX_WILDCARD := $(compiler-stdcio_OBJDIR)/% + + # Be sure that all source files are generated + $(compiler-stdcio_CXXTARGETS) $(compiler-stdcio_CXXDTARGETS) : | $(compiler-stdcio_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +compiler-stdcio_MCXX_CPPFLAGS := $(compiler-stdcio_CPPFLAGS) +compiler-stdcio_CXXFLAGS := $(compiler-stdcio_CXXFLAGS) +ifeq ($(compiler-stdcio_DXXFLAGS),) + compiler-stdcio_DXXFLAGS := $(compiler-stdcio_CXXFLAGS) +else + compiler-stdcio_DXXFLAGS := $(compiler-stdcio_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + compiler-stdcio_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + compiler-stdcio_STRIP ?= $(HOST_STRIP) + compiler-stdcio_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + compiler-stdcio_CXXCMD:=$(HOST_CXX) + compiler-stdcio_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(compiler-stdcio_MCXX_CPPFLAGS) $(compiler-stdcio_MCXX_EXTRA_CPPFLAGS)) + compiler-stdcio_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(compiler-stdcio_CXXFLAGS)) + compiler-stdcio_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(compiler-stdcio_DXXFLAGS)) + compiler-stdcio_CXXIQUOTE:=$(HOST_IQUOTE) + compiler-stdcio_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + compiler-stdcio_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + compiler-stdcio_STRIP ?= $(TARGET_STRIP) + compiler-stdcio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + compiler-stdcio_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + compiler-stdcio_MCXX_CPPFLAGS := $(strip $(compiler-stdcio_MCXX_CPPFLAGS) $(compiler-stdcio_MCXX_EXTRA_CPPFLAGS)) + compiler-stdcio_CXXFLAGS := $(strip $(compiler-stdcio_CXXFLAGS) $(SAFETY_CFLAGS)) + compiler-stdcio_DXXFLAGS := $(compiler-stdcio_DXXFLAGS) + compiler-stdcio_CXXIQUOTE:=$(CFLAGS_IQUOTE) + compiler-stdcio_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + compiler-stdcio_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + compiler-stdcio_STRIP ?= $(ECHO) >/dev/null + compiler-stdcio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + compiler-stdcio_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + compiler-stdcio_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(compiler-stdcio_MCXX_CPPFLAGS) $(compiler-stdcio_MCXX_EXTRA_CPPFLAGS)) + compiler-stdcio_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(compiler-stdcio_CXXFLAGS)) + compiler-stdcio_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(compiler-stdcio_DXXFLAGS)) + compiler-stdcio_CXXIQUOTE:=$(KERNEL_IQUOTE) + compiler-stdcio_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(compiler-stdcio_CXXCMD) $(compiler-stdcio_CXXIQUOTE) $(dir $(2)) $(compiler-stdcio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_CXXIQUOTE) . $(compiler-stdcio_CXXIQUOTE_END) $(strip $(compiler-stdcio_CXXFLAGS) $(compiler-stdcio_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(compiler-stdcio_CXXCMD) $(compiler-stdcio_CXXIQUOTE) $(dir $(2)) $(compiler-stdcio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_CXXIQUOTE) . $(compiler-stdcio_CXXIQUOTE_END) $(strip $(compiler-stdcio_CXXFLAGS) $(compiler-stdcio_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(compiler-stdcio_CXXCMD) $(compiler-stdcio_CXXIQUOTE) $(dir $(2)) $(compiler-stdcio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_CXXIQUOTE) . $(compiler-stdcio_CXXIQUOTE_END) $(strip $(compiler-stdcio_CXXFLAGS) $(compiler-stdcio_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(compiler-stdcio_CXXCMD)" $(MKDEPEND) $(strip $(compiler-stdcio_DXXFLAGS) $(compiler-stdcio_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(compiler-stdcio_OBJDIR),) + $(foreach compiler-stdcio_CXXFILE,$(compiler-stdcio_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(compiler-stdcio_CXXFILE))),$(compiler-stdcio_CXXFILE)))) +else + $(foreach compiler-stdcio_CXXFILE,$(compiler-stdcio_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(basename $(compiler-stdcio_CXXFILE)))),$(compiler-stdcio_CXXFILE)))) +endif + +endif + + +ifneq ($(compiler-stdcio_OBJC_NARCHFILES),) + +ifeq (,) +compiler-stdcio_MOBJC_SRCWILDCARD := % +else +compiler-stdcio_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdcio_OBJDIR),) + compiler-stdcio_MOBJC_TARGETS := $(addsuffix .o,$(compiler-stdcio_OBJC_NARCHFILES)) + compiler-stdcio_MOBJC_DTARGETS := $(addsuffix .d,$(compiler-stdcio_OBJC_NARCHFILES)) + compiler-stdcio_MOBJC_WILDCARD := % +else + compiler-stdcio_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/,$(compiler-stdcio_OBJC_NARCHFILES))) + compiler-stdcio_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/,$(compiler-stdcio_OBJC_NARCHFILES))) + compiler-stdcio_MOBJC_WILDCARD := $(compiler-stdcio_OBJDIR)/% + + # Be sure that all .m files are generated + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : | $(addsuffix .m,$(compiler-stdcio_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + compiler-stdcio_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + compiler-stdcio_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdcio_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + compiler-stdcio_MOBJC_DIRS := $(foreach dir, $(compiler-stdcio_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdcio_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(compiler-stdcio_MOBJC_DIRS),) + compiler-stdcio_MOBJC_DIRS := $(shell echo $(compiler-stdcio_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(compiler-stdcio_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + compiler-stdcio_CC := $(TARGET_CC) +else + compiler-stdcio_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +compiler-stdcio_MOBJC_CPPFLAGS := $(compiler-stdcio_CPPFLAGS) +compiler-stdcio_OBJCFLAGS := $(compiler-stdcio_CFLAGS) +compiler-stdcio_OBJCFLAGS := $(compiler-stdcio_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +compiler-stdcio_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(compiler-stdcio_OBJCFLAGS))) +ifeq ($(compiler-stdcio_DFLAGS),) + compiler-stdcio_OBJCDFLAGS := $(compiler-stdcio_CFLAGS) +else + compiler-stdcio_OBJCDFLAGS := $(compiler-stdcio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + compiler-stdcio_LINK ?= $(strip $(compiler-stdcio_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + compiler-stdcio_STRIP ?= $(TARGET_STRIP) + compiler-stdcio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : CMD:=$(strip $(compiler-stdcio_CC) $(TARGET_SYSROOT)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_MOBJC_CPPFLAGS:=$(strip $(compiler-stdcio_MOBJC_CPPFLAGS) $(compiler-stdcio_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_OBJCFLAGS:=$(strip $(compiler-stdcio_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_OBJCDFLAGS:=$(compiler-stdcio_OBJCDFLAGS) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_IQUOTE:=$(CFLAGS_IQUOTE) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + compiler-stdcio_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + compiler-stdcio_STRIP ?= $(HOST_STRIP) + compiler-stdcio_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(compiler-stdcio_MOBJC_CPPFLAGS) $(compiler-stdcio_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_OBJCFLAGS)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_OBJCDFLAGS)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_IQUOTE:=$(HOST_IQUOTE) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + compiler-stdcio_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + compiler-stdcio_STRIP ?= $(ECHO) >/dev/null + compiler-stdcio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(compiler-stdcio_MOBJC_CPPFLAGS) $(compiler-stdcio_MOBJC_EXTRA_CPPFLAGS)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_OBJCFLAGS)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_OBJCDFLAGS)) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_IQUOTE:=$(KERNEL_IQUOTE) + $(compiler-stdcio_MOBJC_TARGETS) $(compiler-stdcio_MOBJC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdcio_MOBJC_TARGETS) : CPPFLAGS := $(compiler-stdcio_MOBJC_CPPFLAGS) +$(compiler-stdcio_MOBJC_TARGETS) : CFLAGS := $(compiler-stdcio_OBJCFLAGS) +$(compiler-stdcio_MOBJC_TARGETS) : $(compiler-stdcio_MOBJC_WILDCARD).o : $(compiler-stdcio_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdcio_MOBJC_DTARGETS) : $(compiler-stdcio_MOBJC_WILDCARD).d : $(compiler-stdcio_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdcio_OBJCDFLAGS) $(compiler-stdcio_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +compiler-stdcio_MC_SRCWILDCARD := % +else +compiler-stdcio_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdcio_OBJDIR),) +compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(compiler-stdcio_CCFILES)) +compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(compiler-stdcio_CCFILES)) +compiler-stdcio_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(compiler-stdcio_CCFILES)))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(compiler-stdcio_CCFILES)))) +else +ifeq (,) + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/,$(compiler-stdcio_CCFILES))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/,$(compiler-stdcio_CCFILES))) +else + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/,$(patsubst /%,%,$(compiler-stdcio_CCFILES)))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/,$(patsubst /%,%,$(compiler-stdcio_CCFILES)))) +endif +endif +compiler-stdcio_MC_TGTWILDCARD := $(compiler-stdcio_OBJDIR)/% + +# Be sure that all .c files are generated +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : | $(addsuffix .c,$(compiler-stdcio_CCFILES)) + +# Be sure that all .c files are found +compiler-stdcio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdcio_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdcio_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdcio_MC_DIRS := $(foreach dir, $(compiler-stdcio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdcio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdcio_MC_DIRS),) + compiler-stdcio_MC_DIRS := $(shell echo $(compiler-stdcio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-stdcio_MC_DIRS) +endif + +endif + +compiler-stdcio_MC_CPPFLAGS := $(compiler-stdcio_CPPFLAGS) +compiler-stdcio_CFLAGS := $(compiler-stdcio_CFLAGS) +ifeq ($(compiler-stdcio_DFLAGS),) + compiler-stdcio_DFLAGS := $(compiler-stdcio_CFLAGS) +else + compiler-stdcio_DFLAGS := $(compiler-stdcio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-stdcio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-stdcio_STRIP ?= $(TARGET_STRIP) +compiler-stdcio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(compiler-stdcio_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(compiler-stdcio_DFLAGS) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-stdcio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-stdcio_STRIP ?= $(HOST_STRIP) +compiler-stdcio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_DFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(HOST_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-stdcio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-stdcio_STRIP ?= $(ECHO) >/dev/null +compiler-stdcio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_DFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdcio_MC_TARGETS) : CPPFLAGS := $(compiler-stdcio_MC_CPPFLAGS) +$(compiler-stdcio_MC_TARGETS) : CFLAGS := $(compiler-stdcio_CFLAGS) +$(compiler-stdcio_MC_TARGETS) : $(compiler-stdcio_MC_TGTWILDCARD).o : $(compiler-stdcio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdcio_MC_DTARGETS) : $(compiler-stdcio_MC_TGTWILDCARD).d : $(compiler-stdcio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdcio_DFLAGS) $(compiler-stdcio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +compiler-stdcio_MC_SRCWILDCARD := % +else +compiler-stdcio_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdcio_OBJDIR),) +compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(compiler-stdcio_TARGETCCFILES)) +compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(compiler-stdcio_TARGETCCFILES)) +compiler-stdcio_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(compiler-stdcio_TARGETCCFILES)))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(compiler-stdcio_TARGETCCFILES)))) +else +ifeq (,) + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/,$(compiler-stdcio_TARGETCCFILES))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/,$(compiler-stdcio_TARGETCCFILES))) +else + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/,$(patsubst /%,%,$(compiler-stdcio_TARGETCCFILES)))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/,$(patsubst /%,%,$(compiler-stdcio_TARGETCCFILES)))) +endif +endif +compiler-stdcio_MC_TGTWILDCARD := $(compiler-stdcio_OBJDIR)/% + +# Be sure that all .c files are generated +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : | $(addsuffix .c,$(compiler-stdcio_TARGETCCFILES)) + +# Be sure that all .c files are found +compiler-stdcio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdcio_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdcio_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdcio_MC_DIRS := $(foreach dir, $(compiler-stdcio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdcio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdcio_MC_DIRS),) + compiler-stdcio_MC_DIRS := $(shell echo $(compiler-stdcio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-stdcio_MC_DIRS) +endif + +endif + +compiler-stdcio_MC_CPPFLAGS := $(compiler-stdcio_CPPFLAGS) -D__AROS__ +compiler-stdcio_CFLAGS := $(compiler-stdcio_CFLAGS) +ifeq ($(compiler-stdcio_DFLAGS),) + compiler-stdcio_DFLAGS := $(compiler-stdcio_CFLAGS) +else + compiler-stdcio_DFLAGS := $(compiler-stdcio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-stdcio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-stdcio_STRIP ?= $(TARGET_STRIP) +compiler-stdcio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(compiler-stdcio_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(compiler-stdcio_DFLAGS) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-stdcio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-stdcio_STRIP ?= $(HOST_STRIP) +compiler-stdcio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_DFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(HOST_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-stdcio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-stdcio_STRIP ?= $(ECHO) >/dev/null +compiler-stdcio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_DFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdcio_MC_TARGETS) : CPPFLAGS := $(compiler-stdcio_MC_CPPFLAGS) +$(compiler-stdcio_MC_TARGETS) : CFLAGS := $(compiler-stdcio_CFLAGS) +$(compiler-stdcio_MC_TARGETS) : $(compiler-stdcio_MC_TGTWILDCARD).o : $(compiler-stdcio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdcio_MC_DTARGETS) : $(compiler-stdcio_MC_TGTWILDCARD).d : $(compiler-stdcio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdcio_DFLAGS) $(compiler-stdcio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +compiler-stdcio_MC_SRCWILDCARD := % +else +compiler-stdcio_MC_SRCWILDCARD := /% +endif + +ifeq ($(compiler-stdcio_OBJDIR)/linklib,) +compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(compiler-stdcio_NLIBARCHFILES)) +compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(compiler-stdcio_NLIBARCHFILES)) +compiler-stdcio_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(notdir $(compiler-stdcio_NLIBARCHFILES)))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(notdir $(compiler-stdcio_NLIBARCHFILES)))) +else +ifeq (,) + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(compiler-stdcio_NLIBARCHFILES))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(compiler-stdcio_NLIBARCHFILES))) +else + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(patsubst /%,%,$(compiler-stdcio_NLIBARCHFILES)))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(patsubst /%,%,$(compiler-stdcio_NLIBARCHFILES)))) +endif +endif +compiler-stdcio_MC_TGTWILDCARD := $(compiler-stdcio_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : | $(addsuffix .c,$(compiler-stdcio_NLIBARCHFILES)) + +# Be sure that all .c files are found +compiler-stdcio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdcio_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdcio_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdcio_MC_DIRS := $(foreach dir, $(compiler-stdcio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdcio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdcio_MC_DIRS),) + compiler-stdcio_MC_DIRS := $(shell echo $(compiler-stdcio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-stdcio_MC_DIRS) +endif + +endif + +compiler-stdcio_MC_CPPFLAGS := $(compiler-stdcio_LINKLIBCPPFLAGS) -D__AROS__ +compiler-stdcio_CFLAGS := $(compiler-stdcio_LINKLIBCFLAGS) +ifeq ($(compiler-stdcio_LINKLIBDFLAGS),) + compiler-stdcio_DFLAGS := $(compiler-stdcio_LINKLIBCFLAGS) +else + compiler-stdcio_DFLAGS := $(compiler-stdcio_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-stdcio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-stdcio_STRIP ?= $(TARGET_STRIP) +compiler-stdcio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(compiler-stdcio_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(compiler-stdcio_DFLAGS) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-stdcio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-stdcio_STRIP ?= $(HOST_STRIP) +compiler-stdcio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_DFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(HOST_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-stdcio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-stdcio_STRIP ?= $(ECHO) >/dev/null +compiler-stdcio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_DFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdcio_MC_TARGETS) : CPPFLAGS := $(compiler-stdcio_MC_CPPFLAGS) +$(compiler-stdcio_MC_TARGETS) : CFLAGS := $(compiler-stdcio_CFLAGS) +$(compiler-stdcio_MC_TARGETS) : $(compiler-stdcio_MC_TGTWILDCARD).o : $(compiler-stdcio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdcio_MC_DTARGETS) : $(compiler-stdcio_MC_TGTWILDCARD).d : $(compiler-stdcio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdcio_DFLAGS) $(compiler-stdcio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(compiler-stdcio_OBJDIR)/linklib,) +compiler-stdcio_MC_SRCWILDCARD := % +else +compiler-stdcio_MC_SRCWILDCARD := $(compiler-stdcio_OBJDIR)/linklib/% +endif + +ifeq ($(compiler-stdcio_OBJDIR)/linklib,) +compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(compiler-stdcio_LINKLIBCCGENFILES)) +compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(compiler-stdcio_LINKLIBCCGENFILES)) +compiler-stdcio_MC_TGTWILDCARD := % +else +ifeq (no,no) + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(notdir $(compiler-stdcio_LINKLIBCCGENFILES)))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(notdir $(compiler-stdcio_LINKLIBCCGENFILES)))) +else +ifeq ($(compiler-stdcio_OBJDIR)/linklib,) + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(compiler-stdcio_LINKLIBCCGENFILES))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(compiler-stdcio_LINKLIBCCGENFILES))) +else + compiler-stdcio_MC_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(patsubst $(compiler-stdcio_OBJDIR)/linklib/%,%,$(compiler-stdcio_LINKLIBCCGENFILES)))) + compiler-stdcio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(patsubst $(compiler-stdcio_OBJDIR)/linklib/%,%,$(compiler-stdcio_LINKLIBCCGENFILES)))) +endif +endif +compiler-stdcio_MC_TGTWILDCARD := $(compiler-stdcio_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : | $(addsuffix .c,$(compiler-stdcio_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +compiler-stdcio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdcio_MC_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdcio_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdcio_MC_DIRS := $(foreach dir, $(compiler-stdcio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdcio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdcio_MC_DIRS),) + compiler-stdcio_MC_DIRS := $(shell echo $(compiler-stdcio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(compiler-stdcio_MC_DIRS) +endif + +endif + +compiler-stdcio_MC_CPPFLAGS := $(compiler-stdcio_LINKLIBCPPFLAGS) -D__AROS__ +compiler-stdcio_CFLAGS := $(compiler-stdcio_LINKLIBCFLAGS) +ifeq ($(compiler-stdcio_LINKLIBDFLAGS),) + compiler-stdcio_DFLAGS := $(compiler-stdcio_LINKLIBCFLAGS) +else + compiler-stdcio_DFLAGS := $(compiler-stdcio_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +compiler-stdcio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +compiler-stdcio_STRIP ?= $(TARGET_STRIP) +compiler-stdcio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(compiler-stdcio_CFLAGS) $(SAFETY_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(compiler-stdcio_DFLAGS) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(CFLAGS_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +compiler-stdcio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +compiler-stdcio_STRIP ?= $(HOST_STRIP) +compiler-stdcio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(strip $(HOST_CFLAGS) $(compiler-stdcio_DFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(HOST_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +compiler-stdcio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +compiler-stdcio_STRIP ?= $(ECHO) >/dev/null +compiler-stdcio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(compiler-stdcio_MC_CPPFLAGS) $(compiler-stdcio_MC_EXTRA_CPPFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_CFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(compiler-stdcio_DFLAGS)) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE:=$(KERNEL_IQUOTE) +$(compiler-stdcio_MC_TARGETS) $(compiler-stdcio_MC_DTARGETS) : compiler-stdcio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(compiler-stdcio_MC_TARGETS) : CPPFLAGS := $(compiler-stdcio_MC_CPPFLAGS) +$(compiler-stdcio_MC_TARGETS) : CFLAGS := $(compiler-stdcio_CFLAGS) +$(compiler-stdcio_MC_TARGETS) : $(compiler-stdcio_MC_TGTWILDCARD).o : $(compiler-stdcio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(compiler-stdcio_IQUOTE) $(dir $<) $(compiler-stdcio_IQUOTE) $(SRCDIR)/$(CURDIR) $(compiler-stdcio_IQUOTE) . $(compiler-stdcio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(compiler-stdcio_MC_DTARGETS) : $(compiler-stdcio_MC_TGTWILDCARD).d : $(compiler-stdcio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(compiler-stdcio_DFLAGS) $(compiler-stdcio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(compiler-stdcio_LINKLIBAFILES),) + +ifeq ($(compiler-stdcio_OBJDIR)/linklib,) +compiler-stdcio-MA_TARGETS := $(addsuffix .o,$(compiler-stdcio_LINKLIBAFILES) $(compiler-stdcio_RELLINKLIBAFILES)) +compiler-stdcio-MA_WILDCARD := % +else +compiler-stdcio-MA_TARGETS := $(addsuffix .o,$(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(notdir $(compiler-stdcio_LINKLIBAFILES) $(compiler-stdcio_RELLINKLIBAFILES)))) +compiler-stdcio-MA_WILDCARD := $(compiler-stdcio_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(compiler-stdcio-MA_TARGETS) : | $(addsuffix .S,$(compiler-stdcio_LINKLIBAFILES) $(compiler-stdcio_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +compiler-stdcio-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +compiler-stdcio-MA_BASEDIRS := $(shell echo $(sort $(dir $(compiler-stdcio_LINKLIBAFILES) $(compiler-stdcio_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +compiler-stdcio-MA_DIRS := $(foreach dir, $(compiler-stdcio-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(compiler-stdcio-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(compiler-stdcio-MA_DIRS),) + compiler-stdcio-MA_DIRS := $(shell echo $(compiler-stdcio-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(compiler-stdcio-MA_DIRS) +endif + +endif + +compiler-stdcio-MA_ASSEMBLER ?= $(compiler-stdcio_ASSEMBLER) + +$(compiler-stdcio-MA_TARGETS) : compiler-stdcio-MA_CMD:= $(compiler-stdcio-MA_ASSEMBLER) + +$(compiler-stdcio-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(compiler-stdcio-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(compiler-stdcio-MA_TARGETS) : $(compiler-stdcio-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(compiler-stdcio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(compiler-stdcio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(compiler-stdcio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +compiler-stdcio_SUFFIX := library +else +compiler-stdcio_SUFFIX := +endif + +ifeq (target,target) +compiler-stdcio_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +compiler-stdcio_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +compiler-stdcio_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(compiler-stdcio_SUFFIX),handler) +compiler-stdcio_MODULE := $(AROSDIR)/$(compiler-stdcio_MODDIR)/$(compiler-stdcio_DEFNAME)-$(compiler-stdcio_SUFFIX) +else +compiler-stdcio_MODULE := $(AROSDIR)/$(compiler-stdcio_MODDIR)/$(compiler-stdcio_DEFNAME).$(compiler-stdcio_SUFFIX) +endif +compiler-stdcio_KOBJ := $(KOBJSDIR)/$(compiler-stdcio_DEFNAME)_$(compiler-stdcio_SUFFIX).o +else +compiler-stdcio_MODULE := +compiler-stdcio_KOBJ := +endif + +compiler-stdcio-quick : compiler-stdcio +compiler-stdcio : $(compiler-stdcio_MODULE) $(compiler-stdcio_LINKLIB) $(compiler-stdcio_RELLINKLIB) +ifeq (M,M) +compiler-stdcio-kobj : $(compiler-stdcio_KOBJ) $(compiler-stdcio_LINKLIB) $(compiler-stdcio_RELLINKLIB) +compiler-stdcio-kobj-quick : $(compiler-stdcio_KOBJ) $(compiler-stdcio_LINKLIB) $(compiler-stdcio_RELLINKLIB) +endif +ifeq (M,M) +compiler-stdcio-linklib : $(compiler-stdcio_LINKLIB) $(compiler-stdcio_RELLINKLIB) +endif + +compiler-stdcio_OBJS := $(addsuffix .o,$(compiler-stdcio_STARTFILES)) $(compiler-stdcio_ARCHOBJS) \ + $(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(compiler-stdcio_C_NARCHFILES:=.o) $(compiler-stdcio_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +compiler-stdcio_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (stdcio,con) + compiler-stdcio_ERR := $(notdir $(compiler-stdcio_MODULE)).err +else + compiler-stdcio_ERR := stdcio.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(compiler-stdcio_DEFNAME)_LDFLAGS) $(compiler-stdcio_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(compiler-stdcio_LIBS) $($(compiler-stdcio_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(compiler-stdcio_MODULE) : LIB_NAMES := $(compiler-stdcio_LIBS) $($(compiler-stdcio_DEFNAME)_LIBS) +$(compiler-stdcio_MODULE) : OBJS := $(compiler-stdcio_STARTOBJS) $(compiler-stdcio_OBJS) $(USER_OBJS) +$(compiler-stdcio_MODULE) : ENDTAG := $(compiler-stdcio_ENDOBJS) +$(compiler-stdcio_MODULE) : ERR := $(compiler-stdcio_ERR) +$(compiler-stdcio_MODULE) : OBJDIR := $(compiler-stdcio_OBJDIR) +$(compiler-stdcio_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(compiler-stdcio_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(compiler-stdcio_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(compiler-stdcio_MODULE) : $(compiler-stdcio_STARTOBJS) $(compiler-stdcio_OBJS) $(USER_OBJS) $(compiler-stdcio_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(compiler-stdcio_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(compiler-stdcio_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +compiler-stdcio_LC_LINKLIBNAME := $(shell echo $(compiler-stdcio_LINKLIBNAME) | tr A-Z a-z) +compiler-stdcio_LC_MODNAME := $(shell echo stdcio | tr A-Z a-z) +ifneq ($(compiler-stdcio_LINKLIB),) + +ifeq (target,target) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(HOST_AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(KERNEL_AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)$(compiler-stdcio_LIBSUFFIX).a : $(compiler-stdcio_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-stdcio_AR) $@ $^ + $(Q)$(compiler-stdcio_RANLIB) $@ +ifneq ($(compiler-stdcio_LC_MODNAME),$(compiler-stdcio_LC_LINKLIBNAME)) + +ifeq (target,target) +$(compiler-stdcio_LIBDIR)/libstdcio$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(AR) +$(compiler-stdcio_LIBDIR)/libstdcio$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-stdcio_LIBDIR)/libstdcio$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(HOST_AR) +$(compiler-stdcio_LIBDIR)/libstdcio$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-stdcio_LIBDIR)/libstdcio$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(KERNEL_AR) +$(compiler-stdcio_LIBDIR)/libstdcio$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-stdcio_LIBDIR)/libstdcio$(compiler-stdcio_LIBSUFFIX).a : $(compiler-stdcio_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-stdcio_AR) $@ $^ + $(Q)$(compiler-stdcio_RANLIB) $@ +endif + + +ifneq ($(compiler-stdcio_LINKLIB),) +$(compiler-stdcio_LINKLIB) : | $(compiler-stdcio_LIBDIR) +else +$(compiler-stdcio_LINKLIB) :: $(compiler-stdcio_LIBDIR) +endif + +GLOB_MKDIRS += $(compiler-stdcio_LIBDIR) + +endif + +ifneq ($(compiler-stdcio_RELLINKLIB),) + +ifeq (target,target) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(HOST_AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(KERNEL_AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_LINKLIBNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : $(compiler-stdcio_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-stdcio_AR) $@ $^ + $(Q)$(compiler-stdcio_RANLIB) $@ +ifneq ($(compiler-stdcio_LC_MODNAME),$(compiler-stdcio_LC_LINKLIBNAME)) + +ifeq (target,target) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_DEFNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_DEFNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_DEFNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(HOST_AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_DEFNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_DEFNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_AR:=$(KERNEL_AR) +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_DEFNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : compiler-stdcio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(compiler-stdcio_LIBDIR)/lib$(compiler-stdcio_DEFNAME)_rel$(compiler-stdcio_LIBSUFFIX).a : $(compiler-stdcio_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(compiler-stdcio_AR) $@ $^ + $(Q)$(compiler-stdcio_RANLIB) $@ +endif + + +ifneq ($(compiler-stdcio_RELLINKLIB),) +$(compiler-stdcio_RELLINKLIB) : | $(compiler-stdcio_LIBDIR) +else +$(compiler-stdcio_RELLINKLIB) :: $(compiler-stdcio_LIBDIR) +endif + +GLOB_MKDIRS += $(compiler-stdcio_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +compiler-stdcio_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +compiler-stdcio_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +compiler-stdcio_SYMBOLS := $(compiler-stdcio_KBASE) + +compiler-stdcio_KLIB := hiddstubs amiga arossupport autoinit libinit +compiler-stdcio_KOBJ_LIBS := $(filter-out $(compiler-stdcio_KLIB),$(compiler-stdcio_LIBS)) $(compiler-stdcio_KAUTOLIB) +$(compiler-stdcio_KOBJ) : LINKLIBS:=$(compiler-stdcio_KOBJ_LIBS) $($(compiler-stdcio_DEFNAME)_LIBS) +$(compiler-stdcio_KOBJ) : FILTBASES:=$(addprefix -L ,$(compiler-stdcio_SYMBOLS)) +$(compiler-stdcio_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(compiler-stdcio_KOBJ) : $(compiler-stdcio_OBJS) $(USER_OBJS) $(compiler-stdcio_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +compiler-stdcio_DEPS := $(addprefix $(compiler-stdcio_OBJDIR)/,$(notdir $(compiler-stdcio_CCFILES:=.d) $(compiler-stdcio_TARGETCCFILES:=.d) $(compiler-stdcio_CXXFILES:=.d))) $(addprefix $(compiler-stdcio_OBJDIR)/linklib/,$(notdir $(compiler-stdcio_LINKLIBCCFILES:=.d))) + +ifneq ($(compiler-stdcio_DEPS),) + ifneq (compiler-stdcio compiler-stdcio-quick compiler-stdcio-kobj compiler-stdcio-kobj-quick,) + ifneq ($(findstring $(TARGET),compiler-stdcio compiler-stdcio-quick compiler-stdcio-kobj compiler-stdcio-kobj-quick),) + -include $(compiler-stdcio_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(compiler-stdcio_DEPS) + endif + endif +endif + +$(compiler-stdcio_OBJS) $(compiler-stdcio_DEPS) : | $(compiler-stdcio_OBJDIR)/linklib + +ifneq ($(compiler-stdcio_OBJS) $(compiler-stdcio_DEPS) $(compiler-stdcio_MODULE) $(compiler-stdcio_KOBJ),) +$(compiler-stdcio_OBJS) $(compiler-stdcio_DEPS) $(compiler-stdcio_MODULE) $(compiler-stdcio_KOBJ) : | $(compiler-stdcio_OBJDIR) $(AROSDIR)/$(compiler-stdcio_MODDIR) $(KOBJSDIR) +else +$(compiler-stdcio_OBJS) $(compiler-stdcio_DEPS) $(compiler-stdcio_MODULE) $(compiler-stdcio_KOBJ) :: $(compiler-stdcio_OBJDIR) $(AROSDIR)/$(compiler-stdcio_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(compiler-stdcio_OBJDIR) $(AROSDIR)/$(compiler-stdcio_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),compiler-stdcio compiler-stdcio-includes compiler-stdcio-quick compiler-stdcio-kobj compiler-stdcio-kobj-quick),) # Only for this target these deps are wanted + +compiler-stdcio_DFILE_DEPS := $(compiler-stdcio_LIBDEFSINC) $(compiler-stdcio_DEFLIBDEFSINC) \ + $(addprefix $(compiler-stdcio_INCDIR)/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) +$(compiler-stdcio_DEPS) : $(compiler-stdcio_DFILE_DEPS) +endif + +compiler-stdcio_TOCLEAN := $(compiler-stdcio_OBJS) $(compiler-stdcio_DEPS) \ + $(compiler-stdcio_MODULE) $(compiler-stdcio_LINKLIB) $(compiler-stdcio_KOBJ) \ + $(compiler-stdcio_OBJDIR)/Makefile.stdciolibrary \ + $(addprefix $(compiler-stdcio_OBJDIR)/include/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) \ + $(addprefix $(compiler-stdcio_INCDIR)/,$($(compiler-stdcio_DEFNAME)_INCLUDES)) \ + $(compiler-stdcio_OBJDIR)/stdcio_geninc $(compiler-stdcio_OBJDIR)/stdcio_incs \ + $(addsuffix .c,$(compiler-stdcio_LINKLIBFILES)) $(compiler-stdcio_LINKLIBOBJS) $(compiler-stdcio_LIBDEFSINC) \ + $(compiler-stdcio_DEFLIBDEFSINC) $(addsuffix .c,$(compiler-stdcio_STARTFILES) $(compiler-stdcio_ENDFILES)) \ + $(compiler-stdcio_ENDOBJS) +compiler-stdcio-clean : FILES := $(compiler-stdcio_TOCLEAN) +compiler-stdcio-clean :: + $(Q)$(ECHO) "Cleaning up for module stdcio" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(compiler-stdcio_ALLTARGETS) + + +STDC_MATH_STATIC := \ + math/e_log \ + math/e_logf \ + math/e_log2 \ + math/e_log2f \ + math/e_log10 \ + math/e_log10f \ + math/e_pow \ + math/e_powf \ + math/e_rem_pio2 \ + math/e_sqrt \ + math/k_cos \ + math/k_rem_pio2 \ + math/k_sin \ + math/s_copysign \ + math/s_copysignf \ + math/s_copysignl \ + math/s_cos \ + math/s_fabs \ + math/s_floor \ + math/s_fpclassify \ + math/s_scalbn \ + math/s_scalbnf + +STDC_STATIC := \ + __ctype \ + __vcformat \ + __vcscan \ + atoi \ + atol \ + atoll \ + bsearch \ + $(STDC_MATH_STATIC) \ + memchr \ + memcmp \ + memcpy \ + memmove \ + memset \ + qsort \ + snprintf \ + sprintf \ + sscanf \ + stccpy \ + stpblk \ + strcasecmp \ + strcasestr \ + strcat \ + stcd_l \ + stch_l \ + stcl_d \ + stcl_h \ + stcl_o \ + stco_l \ + stcu_d \ + stpcpy \ + strchr \ + strcmp \ + strcpy \ + strcspn \ + strlcat \ + strlcpy \ + strlen \ + strnlen \ + strlwr \ + strncasecmp \ + strncat \ + strncpy \ + strncmp \ + strpbrk \ + strrchr \ + strspn \ + strstr \ + strtod \ + strtof \ + strtol \ + strtoul \ + vsnprintf \ + vsprintf \ + vsscanf + +USER_CFLAGS := $(NOWARN_FLAGS) $(CFLAGS_NO_BUILTIN) $(CFLAGS_MERGE_CONSTANTS) +USER_CPPFLAGS := -DSTDC_STATIC -Dlint + +#MM- core-linklibs : linklibs-stdc-static + +# assign and generate the local variables used in this macro +linklibs-stdc-static_LIBNAME := stdc.static +linklibs-stdc-static_LINKLIB := $(AROS_LIB)/libstdc.static.a + +linklibs-stdc-static_FILES ?= $(STDC_STATIC) +linklibs-stdc-static_ASMFILES := +linklibs-stdc-static_OBJCFILES := +linklibs-stdc-static_CXXFILES := + +linklibs-stdc-static_OBJDIR ?= $(GENDIR)/$(CURDIR)/static +linklibs-stdc-static_ARCHOBJS := $(wildcard $(linklibs-stdc-static_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-stdc-static_ARCHFILES := $(basename $(notdir $(linklibs-stdc-static_ARCHOBJS))) +else + linklibs-stdc-static_ARCHFILES := $(basename $(patsubst $(linklibs-stdc-static_OBJDIR)/%,%,$(linklibs-stdc-static_ARCHOBJS))) +endif +linklibs-stdc-static_C_NARCHFILES := $(filter-out $(linklibs-stdc-static_ARCHFILES),$(linklibs-stdc-static_FILES)) +linklibs-stdc-static_C_FILES ?= $(linklibs-stdc-static_C_NARCHFILES) +linklibs-stdc-static_CXX_NARCHFILES := $(filter-out $(linklibs-stdc-static_ARCHFILES),$(linklibs-stdc-static_CXXFILES)) +linklibs-stdc-static_CXX_FILES ?= $(linklibs-stdc-static_CXX_NARCHFILES) +linklibs-stdc-static_OBJC_NARCHFILES := $(filter-out $(linklibs-stdc-static_ARCHFILES),$(linklibs-stdc-static_OBJCFILES)) +linklibs-stdc-static_OBJC_FILES ?= $(linklibs-stdc-static_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-stdc-static_OBJ_FILES ?= $(addprefix $(linklibs-stdc-static_OBJDIR)/,$(notdir $(linklibs-stdc-static_C_NARCHFILES:=.o) $(linklibs-stdc-static_CXX_NARCHFILES:=.o) $(linklibs-stdc-static_ASMFILES:=.o) $(linklibs-stdc-static_OBJC_NARCHFILES:=.o))) +else + linklibs-stdc-static_OBJ_FILES ?= $(addprefix $(linklibs-stdc-static_OBJDIR)/,$(linklibs-stdc-static_C_NARCHFILES:=.o) $(linklibs-stdc-static_CXX_NARCHFILES:=.o) $(linklibs-stdc-static_ASMFILES:=.o) $(linklibs-stdc-static_OBJC_NARCHFILES:=.o)) +endif +linklibs-stdc-static_OBJS ?= $(linklibs-stdc-static_ARCHOBJS) $(linklibs-stdc-static_OBJ_FILES) +linklibs-stdc-static_DEPS := $(patsubst %.o,%.d,$(linklibs-stdc-static_OBJS)) + +linklibs-stdc-static_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-stdc-static_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-stdc-static_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-stdc-static_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-stdc-static_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-stdc-static_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-stdc-static_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-stdc-static_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-stdc-static_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-stdc-static_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-stdc-static_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-stdc-static_CFLAGS)) + linklibs-stdc-static_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-stdc-static_CXXFLAGS)) +endif +endif +linklibs-stdc-static_AFLAGS := $(AFLAGS) +linklibs-stdc-static_DFLAGS := +ifneq (,) + linklibs-stdc-static_DFLAGS := +else + linklibs-stdc-static_DFLAGS := $(linklibs-stdc-static_CFLAGS) +endif +linklibs-stdc-static_DXXFLAGS := +ifneq (,) + linklibs-stdc-static_DXXFLAGS := +else + linklibs-stdc-static_DXXFLAGS := $(linklibs-stdc-static_CXXFLAGS) +endif + +.PHONY : linklibs-stdc-static linklibs-stdc-static-clean linklibs-stdc-static-quick + +#MM +linklibs-stdc-static-quick : linklibs-stdc-static + +#MM linklibs-stdc-static : includes-generate-deps +linklibs-stdc-static : $(linklibs-stdc-static_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-stdc-static linklibs-stdc-static-quick),) + + +linklibs-stdc-static_CXXABSBASENAMES := $(foreach linklibs-stdc-static_CXXBASE,$(linklibs-stdc-static_CXX_FILES),$(if $(filter /%,$(linklibs-stdc-static_CXXBASE)),$(linklibs-stdc-static_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-stdc-static_CXXBASE)))) + +ifneq ($(linklibs-stdc-static_CXXABSBASENAMES),) + +linklibs-stdc-static_CXXBASENAMES := $(basename $(linklibs-stdc-static_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-stdc-static_MCXX_FILES := $(strip $(foreach linklibs-stdc-static_CXXBASE,$(linklibs-stdc-static_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-stdc-static_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-stdc-static_EXT),$(linklibs-stdc-static_CXXBASE))))))) + +ifeq (,) +linklibs-stdc-static_MCXX_SRCWILDCARD := % +else +linklibs-stdc-static_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-stdc-static_OBJDIR),) + linklibs-stdc-static_CXXTARGETS := $(notdir $(linklibs-stdc-static_CXXBASENAMES:=.o)) + linklibs-stdc-static_CXXDTARGETS := $(notdir $(linklibs-stdc-static_CXXBASENAMES:=.d)) + linklibs-stdc-static_MCXX_WILDCARD := % +else + linklibs-stdc-static_CXXTARGETS := $(addprefix $(linklibs-stdc-static_OBJDIR)/,$(notdir $(linklibs-stdc-static_CXXBASENAMES:=.o))) + linklibs-stdc-static_CXXDTARGETS := $(addprefix $(linklibs-stdc-static_OBJDIR)/,$(notdir $(linklibs-stdc-static_CXXBASENAMES:=.d))) + linklibs-stdc-static_MCXX_WILDCARD := $(linklibs-stdc-static_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-stdc-static_CXXTARGETS) $(linklibs-stdc-static_CXXDTARGETS) : | $(linklibs-stdc-static_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-stdc-static_MCXX_CPPFLAGS := $(linklibs-stdc-static_CPPFLAGS) +linklibs-stdc-static_CXXFLAGS := $(linklibs-stdc-static_CXXFLAGS) +ifeq ($(linklibs-stdc-static_DXXFLAGS),) + linklibs-stdc-static_DXXFLAGS := $(linklibs-stdc-static_CXXFLAGS) +else + linklibs-stdc-static_DXXFLAGS := $(linklibs-stdc-static_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-stdc-static_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-stdc-static_STRIP ?= $(HOST_STRIP) + linklibs-stdc-static_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-stdc-static_CXXCMD:=$(HOST_CXX) + linklibs-stdc-static_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-stdc-static_MCXX_CPPFLAGS) $(linklibs-stdc-static_MCXX_EXTRA_CPPFLAGS)) + linklibs-stdc-static_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-stdc-static_CXXFLAGS)) + linklibs-stdc-static_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-stdc-static_DXXFLAGS)) + linklibs-stdc-static_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-stdc-static_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-stdc-static_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-stdc-static_STRIP ?= $(TARGET_STRIP) + linklibs-stdc-static_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-stdc-static_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-stdc-static_MCXX_CPPFLAGS := $(strip $(linklibs-stdc-static_MCXX_CPPFLAGS) $(linklibs-stdc-static_MCXX_EXTRA_CPPFLAGS)) + linklibs-stdc-static_CXXFLAGS := $(strip $(linklibs-stdc-static_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-stdc-static_DXXFLAGS := $(linklibs-stdc-static_DXXFLAGS) + linklibs-stdc-static_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-stdc-static_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-stdc-static_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-stdc-static_STRIP ?= $(ECHO) >/dev/null + linklibs-stdc-static_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-stdc-static_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-stdc-static_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-stdc-static_MCXX_CPPFLAGS) $(linklibs-stdc-static_MCXX_EXTRA_CPPFLAGS)) + linklibs-stdc-static_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-stdc-static_CXXFLAGS)) + linklibs-stdc-static_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-stdc-static_DXXFLAGS)) + linklibs-stdc-static_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-stdc-static_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-stdc-static_CXXCMD) $(linklibs-stdc-static_CXXIQUOTE) $(dir $(2)) $(linklibs-stdc-static_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_CXXIQUOTE) . $(linklibs-stdc-static_CXXIQUOTE_END) $(strip $(linklibs-stdc-static_CXXFLAGS) $(linklibs-stdc-static_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-stdc-static_CXXCMD) $(linklibs-stdc-static_CXXIQUOTE) $(dir $(2)) $(linklibs-stdc-static_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_CXXIQUOTE) . $(linklibs-stdc-static_CXXIQUOTE_END) $(strip $(linklibs-stdc-static_CXXFLAGS) $(linklibs-stdc-static_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-stdc-static_CXXCMD) $(linklibs-stdc-static_CXXIQUOTE) $(dir $(2)) $(linklibs-stdc-static_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_CXXIQUOTE) . $(linklibs-stdc-static_CXXIQUOTE_END) $(strip $(linklibs-stdc-static_CXXFLAGS) $(linklibs-stdc-static_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-stdc-static_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-stdc-static_DXXFLAGS) $(linklibs-stdc-static_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-stdc-static_OBJDIR),) + $(foreach linklibs-stdc-static_CXXFILE,$(linklibs-stdc-static_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-stdc-static_CXXFILE))),$(linklibs-stdc-static_CXXFILE)))) +else + $(foreach linklibs-stdc-static_CXXFILE,$(linklibs-stdc-static_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(notdir $(basename $(linklibs-stdc-static_CXXFILE)))),$(linklibs-stdc-static_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-stdc-static_OBJC_FILES),) + +ifeq (,) +linklibs-stdc-static_MOBJC_SRCWILDCARD := % +else +linklibs-stdc-static_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-stdc-static_OBJDIR),) + linklibs-stdc-static_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-stdc-static_OBJC_FILES)) + linklibs-stdc-static_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-stdc-static_OBJC_FILES)) + linklibs-stdc-static_MOBJC_WILDCARD := % +else + linklibs-stdc-static_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(linklibs-stdc-static_OBJC_FILES))) + linklibs-stdc-static_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(linklibs-stdc-static_OBJC_FILES))) + linklibs-stdc-static_MOBJC_WILDCARD := $(linklibs-stdc-static_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-stdc-static_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-stdc-static_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-stdc-static_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-stdc-static_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-stdc-static_MOBJC_DIRS := $(foreach dir, $(linklibs-stdc-static_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-stdc-static_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-stdc-static_MOBJC_DIRS),) + linklibs-stdc-static_MOBJC_DIRS := $(shell echo $(linklibs-stdc-static_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-stdc-static_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-stdc-static_CC := $(TARGET_CC) +else + linklibs-stdc-static_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-stdc-static_MOBJC_CPPFLAGS := $(linklibs-stdc-static_CPPFLAGS) +linklibs-stdc-static_OBJCFLAGS := $(linklibs-stdc-static_CFLAGS) +linklibs-stdc-static_OBJCFLAGS := $(linklibs-stdc-static_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-stdc-static_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-stdc-static_OBJCFLAGS))) +ifeq ($(linklibs-stdc-static_DFLAGS),) + linklibs-stdc-static_OBJCDFLAGS := $(linklibs-stdc-static_CFLAGS) +else + linklibs-stdc-static_OBJCDFLAGS := $(linklibs-stdc-static_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-stdc-static_LINK ?= $(strip $(linklibs-stdc-static_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-stdc-static_STRIP ?= $(TARGET_STRIP) + linklibs-stdc-static_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-stdc-static_CC) $(TARGET_SYSROOT)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_MOBJC_CPPFLAGS:=$(strip $(linklibs-stdc-static_MOBJC_CPPFLAGS) $(linklibs-stdc-static_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_OBJCFLAGS:=$(strip $(linklibs-stdc-static_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_OBJCDFLAGS:=$(linklibs-stdc-static_OBJCDFLAGS) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-stdc-static_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-stdc-static_STRIP ?= $(HOST_STRIP) + linklibs-stdc-static_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-stdc-static_MOBJC_CPPFLAGS) $(linklibs-stdc-static_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-stdc-static_OBJCFLAGS)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-stdc-static_OBJCDFLAGS)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-stdc-static_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-stdc-static_STRIP ?= $(ECHO) >/dev/null + linklibs-stdc-static_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-stdc-static_MOBJC_CPPFLAGS) $(linklibs-stdc-static_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-stdc-static_OBJCFLAGS)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-stdc-static_OBJCDFLAGS)) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-stdc-static_MOBJC_TARGETS) $(linklibs-stdc-static_MOBJC_DTARGETS) : linklibs-stdc-static_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-stdc-static_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-stdc-static_MOBJC_CPPFLAGS) +$(linklibs-stdc-static_MOBJC_TARGETS) : CFLAGS := $(linklibs-stdc-static_OBJCFLAGS) +$(linklibs-stdc-static_MOBJC_TARGETS) : $(linklibs-stdc-static_MOBJC_WILDCARD).o : $(linklibs-stdc-static_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-stdc-static_IQUOTE) $(dir $<) $(linklibs-stdc-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_IQUOTE) . $(linklibs-stdc-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-stdc-static_IQUOTE) $(dir $<) $(linklibs-stdc-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_IQUOTE) . $(linklibs-stdc-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-stdc-static_IQUOTE) $(dir $<) $(linklibs-stdc-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_IQUOTE) . $(linklibs-stdc-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-stdc-static_MOBJC_DTARGETS) : $(linklibs-stdc-static_MOBJC_WILDCARD).d : $(linklibs-stdc-static_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-stdc-static_OBJCDFLAGS) $(linklibs-stdc-static_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-stdc-static_MC_SRCWILDCARD := % +else +linklibs-stdc-static_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-stdc-static_OBJDIR),) +linklibs-stdc-static_MC_TARGETS := $(addsuffix .o,$(linklibs-stdc-static_C_FILES)) +linklibs-stdc-static_MC_DTARGETS := $(addsuffix .d,$(linklibs-stdc-static_C_FILES)) +linklibs-stdc-static_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-stdc-static_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(notdir $(linklibs-stdc-static_C_FILES)))) + linklibs-stdc-static_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(notdir $(linklibs-stdc-static_C_FILES)))) +else +ifeq (,) + linklibs-stdc-static_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(linklibs-stdc-static_C_FILES))) + linklibs-stdc-static_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(linklibs-stdc-static_C_FILES))) +else + linklibs-stdc-static_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(patsubst /%,%,$(linklibs-stdc-static_C_FILES)))) + linklibs-stdc-static_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(patsubst /%,%,$(linklibs-stdc-static_C_FILES)))) +endif +endif +linklibs-stdc-static_MC_TGTWILDCARD := $(linklibs-stdc-static_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-stdc-static_C_FILES)) + +# Be sure that all .c files are found +linklibs-stdc-static_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-stdc-static_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-stdc-static_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-stdc-static_MC_DIRS := $(foreach dir, $(linklibs-stdc-static_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-stdc-static_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-stdc-static_MC_DIRS),) + linklibs-stdc-static_MC_DIRS := $(shell echo $(linklibs-stdc-static_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-stdc-static_MC_DIRS) +endif + +endif + +linklibs-stdc-static_MC_CPPFLAGS := $(linklibs-stdc-static_CPPFLAGS) +linklibs-stdc-static_CFLAGS := $(linklibs-stdc-static_CFLAGS) +ifeq ($(linklibs-stdc-static_DFLAGS),) + linklibs-stdc-static_DFLAGS := $(linklibs-stdc-static_CFLAGS) +else + linklibs-stdc-static_DFLAGS := $(linklibs-stdc-static_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-stdc-static_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-stdc-static_STRIP ?= $(TARGET_STRIP) +linklibs-stdc-static_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_MC_CPPFLAGS:=$(strip $(linklibs-stdc-static_MC_CPPFLAGS) $(linklibs-stdc-static_MC_EXTRA_CPPFLAGS)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_CFLAGS:=$(strip $(linklibs-stdc-static_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_DFLAGS:=$(linklibs-stdc-static_DFLAGS) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-stdc-static_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-stdc-static_STRIP ?= $(HOST_STRIP) +linklibs-stdc-static_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-stdc-static_MC_CPPFLAGS) $(linklibs-stdc-static_MC_EXTRA_CPPFLAGS)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-stdc-static_CFLAGS)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-stdc-static_DFLAGS)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-stdc-static_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-stdc-static_STRIP ?= $(ECHO) >/dev/null +linklibs-stdc-static_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-stdc-static_MC_CPPFLAGS) $(linklibs-stdc-static_MC_EXTRA_CPPFLAGS)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-stdc-static_CFLAGS)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-stdc-static_DFLAGS)) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-stdc-static_MC_TARGETS) $(linklibs-stdc-static_MC_DTARGETS) : linklibs-stdc-static_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-stdc-static_MC_TARGETS) : CPPFLAGS := $(linklibs-stdc-static_MC_CPPFLAGS) +$(linklibs-stdc-static_MC_TARGETS) : CFLAGS := $(linklibs-stdc-static_CFLAGS) +$(linklibs-stdc-static_MC_TARGETS) : $(linklibs-stdc-static_MC_TGTWILDCARD).o : $(linklibs-stdc-static_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-stdc-static_IQUOTE) $(dir $<) $(linklibs-stdc-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_IQUOTE) . $(linklibs-stdc-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-stdc-static_IQUOTE) $(dir $<) $(linklibs-stdc-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_IQUOTE) . $(linklibs-stdc-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-stdc-static_IQUOTE) $(dir $<) $(linklibs-stdc-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static_IQUOTE) . $(linklibs-stdc-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-stdc-static_MC_DTARGETS) : $(linklibs-stdc-static_MC_TGTWILDCARD).d : $(linklibs-stdc-static_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-stdc-static_DFLAGS) $(linklibs-stdc-static_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-stdc-static_OBJDIR),) +linklibs-stdc-static-MA_TARGETS := $(addsuffix .o,$(linklibs-stdc-static_ASMFILES)) +linklibs-stdc-static-MA_WILDCARD := % +else +linklibs-stdc-static-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static_OBJDIR)/,$(notdir $(linklibs-stdc-static_ASMFILES)))) +linklibs-stdc-static-MA_WILDCARD := $(linklibs-stdc-static_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-stdc-static-MA_TARGETS) : | $(addsuffix .s,$(linklibs-stdc-static_ASMFILES)) + +# Be sure that all .c files are found +linklibs-stdc-static-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-stdc-static-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-stdc-static_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-stdc-static-MA_DIRS := $(foreach dir, $(linklibs-stdc-static-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-stdc-static-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-stdc-static-MA_DIRS),) + linklibs-stdc-static-MA_DIRS := $(shell echo $(linklibs-stdc-static-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-stdc-static-MA_DIRS) +endif + +endif + +linklibs-stdc-static-MA_ASSEMBLER ?= $(linklibs-stdc-static_ASSEMBLER) + +$(linklibs-stdc-static-MA_TARGETS) : linklibs-stdc-static-MA_CMD:= $(linklibs-stdc-static-MA_ASSEMBLER) + +$(linklibs-stdc-static-MA_TARGETS) : CPPFLAGS := $(linklibs-stdc-static_CPPFLAGS) +$(linklibs-stdc-static-MA_TARGETS) : AFLAGS := $(linklibs-stdc-static_AFLAGS) +$(linklibs-stdc-static-MA_TARGETS) : $(linklibs-stdc-static-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-stdc-static-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-stdc-static-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-stdc-static-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libstdc.static.a : linklibs-stdc-static_AR:=$(AR) +$(AROS_LIB)/libstdc.static.a : linklibs-stdc-static_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libstdc.static.a : linklibs-stdc-static_AR:=$(HOST_AR) +$(AROS_LIB)/libstdc.static.a : linklibs-stdc-static_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libstdc.static.a : linklibs-stdc-static_AR:=$(KERNEL_AR) +$(AROS_LIB)/libstdc.static.a : linklibs-stdc-static_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libstdc.static.a : $(linklibs-stdc-static_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-stdc-static_AR) $@ $^ + $(Q)$(linklibs-stdc-static_RANLIB) $@ +endif + +ifneq ($(linklibs-stdc-static_DEPS),) + ifneq (linklibs-stdc-static linklibs-stdc-static-quick,) + ifneq ($(findstring $(TARGET),linklibs-stdc-static linklibs-stdc-static-quick),) + -include $(linklibs-stdc-static_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-stdc-static_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-stdc-static_OBJS) $(linklibs-stdc-static_DEPS) $(linklibs-stdc-static_LINKLIB),) +$(linklibs-stdc-static_OBJS) $(linklibs-stdc-static_DEPS) $(linklibs-stdc-static_LINKLIB) : | $(linklibs-stdc-static_OBJDIR) $(AROS_LIB) +else +$(linklibs-stdc-static_OBJS) $(linklibs-stdc-static_DEPS) $(linklibs-stdc-static_LINKLIB) :: $(linklibs-stdc-static_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(linklibs-stdc-static_OBJDIR) $(AROS_LIB) + + +linklibs-stdc-static-clean : FILES := $(linklibs-stdc-static_OBJS) $(linklibs-stdc-static_LINKLIB) $(linklibs-stdc-static_DEPS) +#MM +linklibs-stdc-static-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-stdc-static" + $(Q)$(RM) $(FILES) + + +#MM- linklibs-romhack : compiler-stdc +# FIXME: The next romhack linklib is a temporary hack and has to be +# excommunicated in the future ! +# setjmp()/longjmp() is used in dos.library so make it available. +# Plan to put stdc.library also in aros-base rom so this is not needed anymore + +# assign and generate the local variables used in this macro +linklibs-romhack_LIBNAME := romhack +linklibs-romhack_LINKLIB := $(AROS_LIB)/libromhack.a + +linklibs-romhack_FILES ?= setjmp longjmp +linklibs-romhack_ASMFILES := +linklibs-romhack_OBJCFILES := +linklibs-romhack_CXXFILES := + +linklibs-romhack_OBJDIR ?= $(GENDIR)/$(CURDIR)/stdc +linklibs-romhack_ARCHOBJS := $(wildcard $(linklibs-romhack_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-romhack_ARCHFILES := $(basename $(notdir $(linklibs-romhack_ARCHOBJS))) +else + linklibs-romhack_ARCHFILES := $(basename $(patsubst $(linklibs-romhack_OBJDIR)/%,%,$(linklibs-romhack_ARCHOBJS))) +endif +linklibs-romhack_C_NARCHFILES := $(filter-out $(linklibs-romhack_ARCHFILES),$(linklibs-romhack_FILES)) +linklibs-romhack_C_FILES ?= $(linklibs-romhack_C_NARCHFILES) +linklibs-romhack_CXX_NARCHFILES := $(filter-out $(linklibs-romhack_ARCHFILES),$(linklibs-romhack_CXXFILES)) +linklibs-romhack_CXX_FILES ?= $(linklibs-romhack_CXX_NARCHFILES) +linklibs-romhack_OBJC_NARCHFILES := $(filter-out $(linklibs-romhack_ARCHFILES),$(linklibs-romhack_OBJCFILES)) +linklibs-romhack_OBJC_FILES ?= $(linklibs-romhack_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-romhack_OBJ_FILES ?= $(addprefix $(linklibs-romhack_OBJDIR)/,$(notdir $(linklibs-romhack_C_NARCHFILES:=.o) $(linklibs-romhack_CXX_NARCHFILES:=.o) $(linklibs-romhack_ASMFILES:=.o) $(linklibs-romhack_OBJC_NARCHFILES:=.o))) +else + linklibs-romhack_OBJ_FILES ?= $(addprefix $(linklibs-romhack_OBJDIR)/,$(linklibs-romhack_C_NARCHFILES:=.o) $(linklibs-romhack_CXX_NARCHFILES:=.o) $(linklibs-romhack_ASMFILES:=.o) $(linklibs-romhack_OBJC_NARCHFILES:=.o)) +endif +linklibs-romhack_OBJS ?= $(linklibs-romhack_ARCHOBJS) $(linklibs-romhack_OBJ_FILES) +linklibs-romhack_DEPS := $(patsubst %.o,%.d,$(linklibs-romhack_OBJS)) + +linklibs-romhack_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-romhack_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-romhack_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-romhack_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-romhack_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-romhack_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-romhack_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-romhack_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-romhack_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-romhack_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-romhack_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-romhack_CFLAGS)) + linklibs-romhack_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-romhack_CXXFLAGS)) +endif +endif +linklibs-romhack_AFLAGS := $(AFLAGS) +linklibs-romhack_DFLAGS := +ifneq (,) + linklibs-romhack_DFLAGS := +else + linklibs-romhack_DFLAGS := $(linklibs-romhack_CFLAGS) +endif +linklibs-romhack_DXXFLAGS := +ifneq (,) + linklibs-romhack_DXXFLAGS := +else + linklibs-romhack_DXXFLAGS := $(linklibs-romhack_CXXFLAGS) +endif + +.PHONY : linklibs-romhack linklibs-romhack-clean linklibs-romhack-quick + +#MM +linklibs-romhack-quick : linklibs-romhack + +#MM linklibs-romhack : includes-generate-deps +linklibs-romhack : $(linklibs-romhack_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-romhack linklibs-romhack-quick),) + + +linklibs-romhack_CXXABSBASENAMES := $(foreach linklibs-romhack_CXXBASE,$(linklibs-romhack_CXX_FILES),$(if $(filter /%,$(linklibs-romhack_CXXBASE)),$(linklibs-romhack_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-romhack_CXXBASE)))) + +ifneq ($(linklibs-romhack_CXXABSBASENAMES),) + +linklibs-romhack_CXXBASENAMES := $(basename $(linklibs-romhack_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-romhack_MCXX_FILES := $(strip $(foreach linklibs-romhack_CXXBASE,$(linklibs-romhack_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-romhack_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-romhack_EXT),$(linklibs-romhack_CXXBASE))))))) + +ifeq (,) +linklibs-romhack_MCXX_SRCWILDCARD := % +else +linklibs-romhack_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-romhack_OBJDIR),) + linklibs-romhack_CXXTARGETS := $(notdir $(linklibs-romhack_CXXBASENAMES:=.o)) + linklibs-romhack_CXXDTARGETS := $(notdir $(linklibs-romhack_CXXBASENAMES:=.d)) + linklibs-romhack_MCXX_WILDCARD := % +else + linklibs-romhack_CXXTARGETS := $(addprefix $(linklibs-romhack_OBJDIR)/,$(notdir $(linklibs-romhack_CXXBASENAMES:=.o))) + linklibs-romhack_CXXDTARGETS := $(addprefix $(linklibs-romhack_OBJDIR)/,$(notdir $(linklibs-romhack_CXXBASENAMES:=.d))) + linklibs-romhack_MCXX_WILDCARD := $(linklibs-romhack_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-romhack_CXXTARGETS) $(linklibs-romhack_CXXDTARGETS) : | $(linklibs-romhack_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-romhack_MCXX_CPPFLAGS := $(linklibs-romhack_CPPFLAGS) +linklibs-romhack_CXXFLAGS := $(linklibs-romhack_CXXFLAGS) +ifeq ($(linklibs-romhack_DXXFLAGS),) + linklibs-romhack_DXXFLAGS := $(linklibs-romhack_CXXFLAGS) +else + linklibs-romhack_DXXFLAGS := $(linklibs-romhack_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-romhack_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-romhack_STRIP ?= $(HOST_STRIP) + linklibs-romhack_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-romhack_CXXCMD:=$(HOST_CXX) + linklibs-romhack_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-romhack_MCXX_CPPFLAGS) $(linklibs-romhack_MCXX_EXTRA_CPPFLAGS)) + linklibs-romhack_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-romhack_CXXFLAGS)) + linklibs-romhack_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-romhack_DXXFLAGS)) + linklibs-romhack_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-romhack_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-romhack_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-romhack_STRIP ?= $(TARGET_STRIP) + linklibs-romhack_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-romhack_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-romhack_MCXX_CPPFLAGS := $(strip $(linklibs-romhack_MCXX_CPPFLAGS) $(linklibs-romhack_MCXX_EXTRA_CPPFLAGS)) + linklibs-romhack_CXXFLAGS := $(strip $(linklibs-romhack_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-romhack_DXXFLAGS := $(linklibs-romhack_DXXFLAGS) + linklibs-romhack_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-romhack_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-romhack_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-romhack_STRIP ?= $(ECHO) >/dev/null + linklibs-romhack_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-romhack_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-romhack_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-romhack_MCXX_CPPFLAGS) $(linklibs-romhack_MCXX_EXTRA_CPPFLAGS)) + linklibs-romhack_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-romhack_CXXFLAGS)) + linklibs-romhack_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-romhack_DXXFLAGS)) + linklibs-romhack_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-romhack_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-romhack_CXXCMD) $(linklibs-romhack_CXXIQUOTE) $(dir $(2)) $(linklibs-romhack_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_CXXIQUOTE) . $(linklibs-romhack_CXXIQUOTE_END) $(strip $(linklibs-romhack_CXXFLAGS) $(linklibs-romhack_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-romhack_CXXCMD) $(linklibs-romhack_CXXIQUOTE) $(dir $(2)) $(linklibs-romhack_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_CXXIQUOTE) . $(linklibs-romhack_CXXIQUOTE_END) $(strip $(linklibs-romhack_CXXFLAGS) $(linklibs-romhack_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-romhack_CXXCMD) $(linklibs-romhack_CXXIQUOTE) $(dir $(2)) $(linklibs-romhack_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_CXXIQUOTE) . $(linklibs-romhack_CXXIQUOTE_END) $(strip $(linklibs-romhack_CXXFLAGS) $(linklibs-romhack_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-romhack_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-romhack_DXXFLAGS) $(linklibs-romhack_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-romhack_OBJDIR),) + $(foreach linklibs-romhack_CXXFILE,$(linklibs-romhack_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-romhack_CXXFILE))),$(linklibs-romhack_CXXFILE)))) +else + $(foreach linklibs-romhack_CXXFILE,$(linklibs-romhack_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-romhack_OBJDIR)/,$(notdir $(basename $(linklibs-romhack_CXXFILE)))),$(linklibs-romhack_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-romhack_OBJC_FILES),) + +ifeq (,) +linklibs-romhack_MOBJC_SRCWILDCARD := % +else +linklibs-romhack_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-romhack_OBJDIR),) + linklibs-romhack_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-romhack_OBJC_FILES)) + linklibs-romhack_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-romhack_OBJC_FILES)) + linklibs-romhack_MOBJC_WILDCARD := % +else + linklibs-romhack_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-romhack_OBJDIR)/,$(linklibs-romhack_OBJC_FILES))) + linklibs-romhack_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-romhack_OBJDIR)/,$(linklibs-romhack_OBJC_FILES))) + linklibs-romhack_MOBJC_WILDCARD := $(linklibs-romhack_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-romhack_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-romhack_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-romhack_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-romhack_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-romhack_MOBJC_DIRS := $(foreach dir, $(linklibs-romhack_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-romhack_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-romhack_MOBJC_DIRS),) + linklibs-romhack_MOBJC_DIRS := $(shell echo $(linklibs-romhack_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-romhack_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-romhack_CC := $(TARGET_CC) +else + linklibs-romhack_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-romhack_MOBJC_CPPFLAGS := $(linklibs-romhack_CPPFLAGS) +linklibs-romhack_OBJCFLAGS := $(linklibs-romhack_CFLAGS) +linklibs-romhack_OBJCFLAGS := $(linklibs-romhack_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-romhack_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-romhack_OBJCFLAGS))) +ifeq ($(linklibs-romhack_DFLAGS),) + linklibs-romhack_OBJCDFLAGS := $(linklibs-romhack_CFLAGS) +else + linklibs-romhack_OBJCDFLAGS := $(linklibs-romhack_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-romhack_LINK ?= $(strip $(linklibs-romhack_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-romhack_STRIP ?= $(TARGET_STRIP) + linklibs-romhack_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-romhack_CC) $(TARGET_SYSROOT)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_MOBJC_CPPFLAGS:=$(strip $(linklibs-romhack_MOBJC_CPPFLAGS) $(linklibs-romhack_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_OBJCFLAGS:=$(strip $(linklibs-romhack_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_OBJCDFLAGS:=$(linklibs-romhack_OBJCDFLAGS) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-romhack_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-romhack_STRIP ?= $(HOST_STRIP) + linklibs-romhack_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-romhack_MOBJC_CPPFLAGS) $(linklibs-romhack_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-romhack_OBJCFLAGS)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-romhack_OBJCDFLAGS)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-romhack_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-romhack_STRIP ?= $(ECHO) >/dev/null + linklibs-romhack_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-romhack_MOBJC_CPPFLAGS) $(linklibs-romhack_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-romhack_OBJCFLAGS)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-romhack_OBJCDFLAGS)) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-romhack_MOBJC_TARGETS) $(linklibs-romhack_MOBJC_DTARGETS) : linklibs-romhack_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-romhack_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-romhack_MOBJC_CPPFLAGS) +$(linklibs-romhack_MOBJC_TARGETS) : CFLAGS := $(linklibs-romhack_OBJCFLAGS) +$(linklibs-romhack_MOBJC_TARGETS) : $(linklibs-romhack_MOBJC_WILDCARD).o : $(linklibs-romhack_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-romhack_IQUOTE) $(dir $<) $(linklibs-romhack_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_IQUOTE) . $(linklibs-romhack_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-romhack_IQUOTE) $(dir $<) $(linklibs-romhack_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_IQUOTE) . $(linklibs-romhack_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-romhack_IQUOTE) $(dir $<) $(linklibs-romhack_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_IQUOTE) . $(linklibs-romhack_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-romhack_MOBJC_DTARGETS) : $(linklibs-romhack_MOBJC_WILDCARD).d : $(linklibs-romhack_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-romhack_OBJCDFLAGS) $(linklibs-romhack_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-romhack_MC_SRCWILDCARD := % +else +linklibs-romhack_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-romhack_OBJDIR),) +linklibs-romhack_MC_TARGETS := $(addsuffix .o,$(linklibs-romhack_C_FILES)) +linklibs-romhack_MC_DTARGETS := $(addsuffix .d,$(linklibs-romhack_C_FILES)) +linklibs-romhack_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-romhack_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-romhack_OBJDIR)/,$(notdir $(linklibs-romhack_C_FILES)))) + linklibs-romhack_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-romhack_OBJDIR)/,$(notdir $(linklibs-romhack_C_FILES)))) +else +ifeq (,) + linklibs-romhack_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-romhack_OBJDIR)/,$(linklibs-romhack_C_FILES))) + linklibs-romhack_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-romhack_OBJDIR)/,$(linklibs-romhack_C_FILES))) +else + linklibs-romhack_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-romhack_OBJDIR)/,$(patsubst /%,%,$(linklibs-romhack_C_FILES)))) + linklibs-romhack_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-romhack_OBJDIR)/,$(patsubst /%,%,$(linklibs-romhack_C_FILES)))) +endif +endif +linklibs-romhack_MC_TGTWILDCARD := $(linklibs-romhack_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-romhack_C_FILES)) + +# Be sure that all .c files are found +linklibs-romhack_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-romhack_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-romhack_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-romhack_MC_DIRS := $(foreach dir, $(linklibs-romhack_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-romhack_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-romhack_MC_DIRS),) + linklibs-romhack_MC_DIRS := $(shell echo $(linklibs-romhack_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-romhack_MC_DIRS) +endif + +endif + +linklibs-romhack_MC_CPPFLAGS := $(linklibs-romhack_CPPFLAGS) +linklibs-romhack_CFLAGS := $(linklibs-romhack_CFLAGS) +ifeq ($(linklibs-romhack_DFLAGS),) + linklibs-romhack_DFLAGS := $(linklibs-romhack_CFLAGS) +else + linklibs-romhack_DFLAGS := $(linklibs-romhack_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-romhack_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-romhack_STRIP ?= $(TARGET_STRIP) +linklibs-romhack_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_MC_CPPFLAGS:=$(strip $(linklibs-romhack_MC_CPPFLAGS) $(linklibs-romhack_MC_EXTRA_CPPFLAGS)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_CFLAGS:=$(strip $(linklibs-romhack_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_DFLAGS:=$(linklibs-romhack_DFLAGS) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-romhack_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-romhack_STRIP ?= $(HOST_STRIP) +linklibs-romhack_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-romhack_MC_CPPFLAGS) $(linklibs-romhack_MC_EXTRA_CPPFLAGS)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-romhack_CFLAGS)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-romhack_DFLAGS)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-romhack_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-romhack_STRIP ?= $(ECHO) >/dev/null +linklibs-romhack_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-romhack_MC_CPPFLAGS) $(linklibs-romhack_MC_EXTRA_CPPFLAGS)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-romhack_CFLAGS)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-romhack_DFLAGS)) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-romhack_MC_TARGETS) $(linklibs-romhack_MC_DTARGETS) : linklibs-romhack_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-romhack_MC_TARGETS) : CPPFLAGS := $(linklibs-romhack_MC_CPPFLAGS) +$(linklibs-romhack_MC_TARGETS) : CFLAGS := $(linklibs-romhack_CFLAGS) +$(linklibs-romhack_MC_TARGETS) : $(linklibs-romhack_MC_TGTWILDCARD).o : $(linklibs-romhack_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-romhack_IQUOTE) $(dir $<) $(linklibs-romhack_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_IQUOTE) . $(linklibs-romhack_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-romhack_IQUOTE) $(dir $<) $(linklibs-romhack_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_IQUOTE) . $(linklibs-romhack_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-romhack_IQUOTE) $(dir $<) $(linklibs-romhack_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-romhack_IQUOTE) . $(linklibs-romhack_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-romhack_MC_DTARGETS) : $(linklibs-romhack_MC_TGTWILDCARD).d : $(linklibs-romhack_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-romhack_DFLAGS) $(linklibs-romhack_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-romhack_OBJDIR),) +linklibs-romhack-MA_TARGETS := $(addsuffix .o,$(linklibs-romhack_ASMFILES)) +linklibs-romhack-MA_WILDCARD := % +else +linklibs-romhack-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-romhack_OBJDIR)/,$(notdir $(linklibs-romhack_ASMFILES)))) +linklibs-romhack-MA_WILDCARD := $(linklibs-romhack_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-romhack-MA_TARGETS) : | $(addsuffix .s,$(linklibs-romhack_ASMFILES)) + +# Be sure that all .c files are found +linklibs-romhack-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-romhack-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-romhack_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-romhack-MA_DIRS := $(foreach dir, $(linklibs-romhack-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-romhack-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-romhack-MA_DIRS),) + linklibs-romhack-MA_DIRS := $(shell echo $(linklibs-romhack-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-romhack-MA_DIRS) +endif + +endif + +linklibs-romhack-MA_ASSEMBLER ?= $(linklibs-romhack_ASSEMBLER) + +$(linklibs-romhack-MA_TARGETS) : linklibs-romhack-MA_CMD:= $(linklibs-romhack-MA_ASSEMBLER) + +$(linklibs-romhack-MA_TARGETS) : CPPFLAGS := $(linklibs-romhack_CPPFLAGS) +$(linklibs-romhack-MA_TARGETS) : AFLAGS := $(linklibs-romhack_AFLAGS) +$(linklibs-romhack-MA_TARGETS) : $(linklibs-romhack-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-romhack-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-romhack-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-romhack-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libromhack.a : linklibs-romhack_AR:=$(AR) +$(AROS_LIB)/libromhack.a : linklibs-romhack_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libromhack.a : linklibs-romhack_AR:=$(HOST_AR) +$(AROS_LIB)/libromhack.a : linklibs-romhack_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libromhack.a : linklibs-romhack_AR:=$(KERNEL_AR) +$(AROS_LIB)/libromhack.a : linklibs-romhack_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libromhack.a : $(linklibs-romhack_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-romhack_AR) $@ $^ + $(Q)$(linklibs-romhack_RANLIB) $@ +endif + +ifneq ($(linklibs-romhack_DEPS),) + ifneq (linklibs-romhack linklibs-romhack-quick,) + ifneq ($(findstring $(TARGET),linklibs-romhack linklibs-romhack-quick),) + -include $(linklibs-romhack_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-romhack_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-romhack_OBJS) $(linklibs-romhack_DEPS) $(linklibs-romhack_LINKLIB),) +$(linklibs-romhack_OBJS) $(linklibs-romhack_DEPS) $(linklibs-romhack_LINKLIB) : | $(linklibs-romhack_OBJDIR) $(AROS_LIB) +else +$(linklibs-romhack_OBJS) $(linklibs-romhack_DEPS) $(linklibs-romhack_LINKLIB) :: $(linklibs-romhack_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(linklibs-romhack_OBJDIR) $(AROS_LIB) + + +linklibs-romhack-clean : FILES := $(linklibs-romhack_OBJS) $(linklibs-romhack_LINKLIB) $(linklibs-romhack_DEPS) +#MM +linklibs-romhack-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-romhack" + $(Q)$(RM) $(FILES) + + +# A dummy libm.a is provided so that -lm link option does not produce an error +# objdir is provided to avoid that arch specific files end up in libm.a + +# assign and generate the local variables used in this macro +linklibs-libm_LIBNAME := m +linklibs-libm_LINKLIB := $(AROS_LIB)/libm.a + +linklibs-libm_FILES ?= empty +linklibs-libm_ASMFILES := +linklibs-libm_OBJCFILES := +linklibs-libm_CXXFILES := + +linklibs-libm_OBJDIR ?= $(GENDIR)/$(CURDIR)/libm +linklibs-libm_ARCHOBJS := $(wildcard $(linklibs-libm_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-libm_ARCHFILES := $(basename $(notdir $(linklibs-libm_ARCHOBJS))) +else + linklibs-libm_ARCHFILES := $(basename $(patsubst $(linklibs-libm_OBJDIR)/%,%,$(linklibs-libm_ARCHOBJS))) +endif +linklibs-libm_C_NARCHFILES := $(filter-out $(linklibs-libm_ARCHFILES),$(linklibs-libm_FILES)) +linklibs-libm_C_FILES ?= $(linklibs-libm_C_NARCHFILES) +linklibs-libm_CXX_NARCHFILES := $(filter-out $(linklibs-libm_ARCHFILES),$(linklibs-libm_CXXFILES)) +linklibs-libm_CXX_FILES ?= $(linklibs-libm_CXX_NARCHFILES) +linklibs-libm_OBJC_NARCHFILES := $(filter-out $(linklibs-libm_ARCHFILES),$(linklibs-libm_OBJCFILES)) +linklibs-libm_OBJC_FILES ?= $(linklibs-libm_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-libm_OBJ_FILES ?= $(addprefix $(linklibs-libm_OBJDIR)/,$(notdir $(linklibs-libm_C_NARCHFILES:=.o) $(linklibs-libm_CXX_NARCHFILES:=.o) $(linklibs-libm_ASMFILES:=.o) $(linklibs-libm_OBJC_NARCHFILES:=.o))) +else + linklibs-libm_OBJ_FILES ?= $(addprefix $(linklibs-libm_OBJDIR)/,$(linklibs-libm_C_NARCHFILES:=.o) $(linklibs-libm_CXX_NARCHFILES:=.o) $(linklibs-libm_ASMFILES:=.o) $(linklibs-libm_OBJC_NARCHFILES:=.o)) +endif +linklibs-libm_OBJS ?= $(linklibs-libm_ARCHOBJS) $(linklibs-libm_OBJ_FILES) +linklibs-libm_DEPS := $(patsubst %.o,%.d,$(linklibs-libm_OBJS)) + +linklibs-libm_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-libm_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-libm_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-libm_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-libm_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-libm_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-libm_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-libm_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-libm_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-libm_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-libm_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-libm_CFLAGS)) + linklibs-libm_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-libm_CXXFLAGS)) +endif +endif +linklibs-libm_AFLAGS := $(AFLAGS) +linklibs-libm_DFLAGS := +ifneq (,) + linklibs-libm_DFLAGS := +else + linklibs-libm_DFLAGS := $(linklibs-libm_CFLAGS) +endif +linklibs-libm_DXXFLAGS := +ifneq (,) + linklibs-libm_DXXFLAGS := +else + linklibs-libm_DXXFLAGS := $(linklibs-libm_CXXFLAGS) +endif + +.PHONY : linklibs-libm linklibs-libm-clean linklibs-libm-quick + +#MM +linklibs-libm-quick : linklibs-libm + +#MM linklibs-libm : includes-generate-deps +linklibs-libm : $(linklibs-libm_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-libm linklibs-libm-quick),) + + +linklibs-libm_CXXABSBASENAMES := $(foreach linklibs-libm_CXXBASE,$(linklibs-libm_CXX_FILES),$(if $(filter /%,$(linklibs-libm_CXXBASE)),$(linklibs-libm_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-libm_CXXBASE)))) + +ifneq ($(linklibs-libm_CXXABSBASENAMES),) + +linklibs-libm_CXXBASENAMES := $(basename $(linklibs-libm_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-libm_MCXX_FILES := $(strip $(foreach linklibs-libm_CXXBASE,$(linklibs-libm_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-libm_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-libm_EXT),$(linklibs-libm_CXXBASE))))))) + +ifeq (,) +linklibs-libm_MCXX_SRCWILDCARD := % +else +linklibs-libm_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-libm_OBJDIR),) + linklibs-libm_CXXTARGETS := $(notdir $(linklibs-libm_CXXBASENAMES:=.o)) + linklibs-libm_CXXDTARGETS := $(notdir $(linklibs-libm_CXXBASENAMES:=.d)) + linklibs-libm_MCXX_WILDCARD := % +else + linklibs-libm_CXXTARGETS := $(addprefix $(linklibs-libm_OBJDIR)/,$(notdir $(linklibs-libm_CXXBASENAMES:=.o))) + linklibs-libm_CXXDTARGETS := $(addprefix $(linklibs-libm_OBJDIR)/,$(notdir $(linklibs-libm_CXXBASENAMES:=.d))) + linklibs-libm_MCXX_WILDCARD := $(linklibs-libm_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-libm_CXXTARGETS) $(linklibs-libm_CXXDTARGETS) : | $(linklibs-libm_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-libm_MCXX_CPPFLAGS := $(linklibs-libm_CPPFLAGS) +linklibs-libm_CXXFLAGS := $(linklibs-libm_CXXFLAGS) +ifeq ($(linklibs-libm_DXXFLAGS),) + linklibs-libm_DXXFLAGS := $(linklibs-libm_CXXFLAGS) +else + linklibs-libm_DXXFLAGS := $(linklibs-libm_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-libm_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-libm_STRIP ?= $(HOST_STRIP) + linklibs-libm_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-libm_CXXCMD:=$(HOST_CXX) + linklibs-libm_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-libm_MCXX_CPPFLAGS) $(linklibs-libm_MCXX_EXTRA_CPPFLAGS)) + linklibs-libm_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-libm_CXXFLAGS)) + linklibs-libm_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-libm_DXXFLAGS)) + linklibs-libm_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-libm_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-libm_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-libm_STRIP ?= $(TARGET_STRIP) + linklibs-libm_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-libm_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-libm_MCXX_CPPFLAGS := $(strip $(linklibs-libm_MCXX_CPPFLAGS) $(linklibs-libm_MCXX_EXTRA_CPPFLAGS)) + linklibs-libm_CXXFLAGS := $(strip $(linklibs-libm_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-libm_DXXFLAGS := $(linklibs-libm_DXXFLAGS) + linklibs-libm_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-libm_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-libm_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-libm_STRIP ?= $(ECHO) >/dev/null + linklibs-libm_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-libm_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-libm_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-libm_MCXX_CPPFLAGS) $(linklibs-libm_MCXX_EXTRA_CPPFLAGS)) + linklibs-libm_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-libm_CXXFLAGS)) + linklibs-libm_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-libm_DXXFLAGS)) + linklibs-libm_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-libm_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-libm_CXXCMD) $(linklibs-libm_CXXIQUOTE) $(dir $(2)) $(linklibs-libm_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_CXXIQUOTE) . $(linklibs-libm_CXXIQUOTE_END) $(strip $(linklibs-libm_CXXFLAGS) $(linklibs-libm_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-libm_CXXCMD) $(linklibs-libm_CXXIQUOTE) $(dir $(2)) $(linklibs-libm_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_CXXIQUOTE) . $(linklibs-libm_CXXIQUOTE_END) $(strip $(linklibs-libm_CXXFLAGS) $(linklibs-libm_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-libm_CXXCMD) $(linklibs-libm_CXXIQUOTE) $(dir $(2)) $(linklibs-libm_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_CXXIQUOTE) . $(linklibs-libm_CXXIQUOTE_END) $(strip $(linklibs-libm_CXXFLAGS) $(linklibs-libm_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-libm_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-libm_DXXFLAGS) $(linklibs-libm_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-libm_OBJDIR),) + $(foreach linklibs-libm_CXXFILE,$(linklibs-libm_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-libm_CXXFILE))),$(linklibs-libm_CXXFILE)))) +else + $(foreach linklibs-libm_CXXFILE,$(linklibs-libm_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-libm_OBJDIR)/,$(notdir $(basename $(linklibs-libm_CXXFILE)))),$(linklibs-libm_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-libm_OBJC_FILES),) + +ifeq (,) +linklibs-libm_MOBJC_SRCWILDCARD := % +else +linklibs-libm_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-libm_OBJDIR),) + linklibs-libm_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-libm_OBJC_FILES)) + linklibs-libm_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-libm_OBJC_FILES)) + linklibs-libm_MOBJC_WILDCARD := % +else + linklibs-libm_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-libm_OBJDIR)/,$(linklibs-libm_OBJC_FILES))) + linklibs-libm_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-libm_OBJDIR)/,$(linklibs-libm_OBJC_FILES))) + linklibs-libm_MOBJC_WILDCARD := $(linklibs-libm_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-libm_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-libm_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-libm_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-libm_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-libm_MOBJC_DIRS := $(foreach dir, $(linklibs-libm_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-libm_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-libm_MOBJC_DIRS),) + linklibs-libm_MOBJC_DIRS := $(shell echo $(linklibs-libm_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-libm_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-libm_CC := $(TARGET_CC) +else + linklibs-libm_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-libm_MOBJC_CPPFLAGS := $(linklibs-libm_CPPFLAGS) +linklibs-libm_OBJCFLAGS := $(linklibs-libm_CFLAGS) +linklibs-libm_OBJCFLAGS := $(linklibs-libm_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-libm_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-libm_OBJCFLAGS))) +ifeq ($(linklibs-libm_DFLAGS),) + linklibs-libm_OBJCDFLAGS := $(linklibs-libm_CFLAGS) +else + linklibs-libm_OBJCDFLAGS := $(linklibs-libm_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-libm_LINK ?= $(strip $(linklibs-libm_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-libm_STRIP ?= $(TARGET_STRIP) + linklibs-libm_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-libm_CC) $(TARGET_SYSROOT)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_MOBJC_CPPFLAGS:=$(strip $(linklibs-libm_MOBJC_CPPFLAGS) $(linklibs-libm_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_OBJCFLAGS:=$(strip $(linklibs-libm_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_OBJCDFLAGS:=$(linklibs-libm_OBJCDFLAGS) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-libm_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-libm_STRIP ?= $(HOST_STRIP) + linklibs-libm_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-libm_MOBJC_CPPFLAGS) $(linklibs-libm_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-libm_OBJCFLAGS)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-libm_OBJCDFLAGS)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-libm_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-libm_STRIP ?= $(ECHO) >/dev/null + linklibs-libm_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-libm_MOBJC_CPPFLAGS) $(linklibs-libm_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-libm_OBJCFLAGS)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-libm_OBJCDFLAGS)) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-libm_MOBJC_TARGETS) $(linklibs-libm_MOBJC_DTARGETS) : linklibs-libm_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-libm_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-libm_MOBJC_CPPFLAGS) +$(linklibs-libm_MOBJC_TARGETS) : CFLAGS := $(linklibs-libm_OBJCFLAGS) +$(linklibs-libm_MOBJC_TARGETS) : $(linklibs-libm_MOBJC_WILDCARD).o : $(linklibs-libm_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-libm_IQUOTE) $(dir $<) $(linklibs-libm_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_IQUOTE) . $(linklibs-libm_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-libm_IQUOTE) $(dir $<) $(linklibs-libm_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_IQUOTE) . $(linklibs-libm_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-libm_IQUOTE) $(dir $<) $(linklibs-libm_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_IQUOTE) . $(linklibs-libm_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-libm_MOBJC_DTARGETS) : $(linklibs-libm_MOBJC_WILDCARD).d : $(linklibs-libm_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-libm_OBJCDFLAGS) $(linklibs-libm_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-libm_MC_SRCWILDCARD := % +else +linklibs-libm_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-libm_OBJDIR),) +linklibs-libm_MC_TARGETS := $(addsuffix .o,$(linklibs-libm_C_FILES)) +linklibs-libm_MC_DTARGETS := $(addsuffix .d,$(linklibs-libm_C_FILES)) +linklibs-libm_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-libm_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-libm_OBJDIR)/,$(notdir $(linklibs-libm_C_FILES)))) + linklibs-libm_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-libm_OBJDIR)/,$(notdir $(linklibs-libm_C_FILES)))) +else +ifeq (,) + linklibs-libm_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-libm_OBJDIR)/,$(linklibs-libm_C_FILES))) + linklibs-libm_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-libm_OBJDIR)/,$(linklibs-libm_C_FILES))) +else + linklibs-libm_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-libm_OBJDIR)/,$(patsubst /%,%,$(linklibs-libm_C_FILES)))) + linklibs-libm_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-libm_OBJDIR)/,$(patsubst /%,%,$(linklibs-libm_C_FILES)))) +endif +endif +linklibs-libm_MC_TGTWILDCARD := $(linklibs-libm_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-libm_C_FILES)) + +# Be sure that all .c files are found +linklibs-libm_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-libm_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-libm_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-libm_MC_DIRS := $(foreach dir, $(linklibs-libm_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-libm_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-libm_MC_DIRS),) + linklibs-libm_MC_DIRS := $(shell echo $(linklibs-libm_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-libm_MC_DIRS) +endif + +endif + +linklibs-libm_MC_CPPFLAGS := $(linklibs-libm_CPPFLAGS) +linklibs-libm_CFLAGS := $(linklibs-libm_CFLAGS) +ifeq ($(linklibs-libm_DFLAGS),) + linklibs-libm_DFLAGS := $(linklibs-libm_CFLAGS) +else + linklibs-libm_DFLAGS := $(linklibs-libm_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-libm_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-libm_STRIP ?= $(TARGET_STRIP) +linklibs-libm_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_MC_CPPFLAGS:=$(strip $(linklibs-libm_MC_CPPFLAGS) $(linklibs-libm_MC_EXTRA_CPPFLAGS)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_CFLAGS:=$(strip $(linklibs-libm_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_DFLAGS:=$(linklibs-libm_DFLAGS) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-libm_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-libm_STRIP ?= $(HOST_STRIP) +linklibs-libm_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-libm_MC_CPPFLAGS) $(linklibs-libm_MC_EXTRA_CPPFLAGS)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-libm_CFLAGS)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-libm_DFLAGS)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-libm_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-libm_STRIP ?= $(ECHO) >/dev/null +linklibs-libm_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-libm_MC_CPPFLAGS) $(linklibs-libm_MC_EXTRA_CPPFLAGS)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-libm_CFLAGS)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-libm_DFLAGS)) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-libm_MC_TARGETS) $(linklibs-libm_MC_DTARGETS) : linklibs-libm_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-libm_MC_TARGETS) : CPPFLAGS := $(linklibs-libm_MC_CPPFLAGS) +$(linklibs-libm_MC_TARGETS) : CFLAGS := $(linklibs-libm_CFLAGS) +$(linklibs-libm_MC_TARGETS) : $(linklibs-libm_MC_TGTWILDCARD).o : $(linklibs-libm_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-libm_IQUOTE) $(dir $<) $(linklibs-libm_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_IQUOTE) . $(linklibs-libm_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-libm_IQUOTE) $(dir $<) $(linklibs-libm_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_IQUOTE) . $(linklibs-libm_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-libm_IQUOTE) $(dir $<) $(linklibs-libm_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-libm_IQUOTE) . $(linklibs-libm_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-libm_MC_DTARGETS) : $(linklibs-libm_MC_TGTWILDCARD).d : $(linklibs-libm_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-libm_DFLAGS) $(linklibs-libm_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-libm_OBJDIR),) +linklibs-libm-MA_TARGETS := $(addsuffix .o,$(linklibs-libm_ASMFILES)) +linklibs-libm-MA_WILDCARD := % +else +linklibs-libm-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-libm_OBJDIR)/,$(notdir $(linklibs-libm_ASMFILES)))) +linklibs-libm-MA_WILDCARD := $(linklibs-libm_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-libm-MA_TARGETS) : | $(addsuffix .s,$(linklibs-libm_ASMFILES)) + +# Be sure that all .c files are found +linklibs-libm-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-libm-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-libm_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-libm-MA_DIRS := $(foreach dir, $(linklibs-libm-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-libm-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-libm-MA_DIRS),) + linklibs-libm-MA_DIRS := $(shell echo $(linklibs-libm-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-libm-MA_DIRS) +endif + +endif + +linklibs-libm-MA_ASSEMBLER ?= $(linklibs-libm_ASSEMBLER) + +$(linklibs-libm-MA_TARGETS) : linklibs-libm-MA_CMD:= $(linklibs-libm-MA_ASSEMBLER) + +$(linklibs-libm-MA_TARGETS) : CPPFLAGS := $(linklibs-libm_CPPFLAGS) +$(linklibs-libm-MA_TARGETS) : AFLAGS := $(linklibs-libm_AFLAGS) +$(linklibs-libm-MA_TARGETS) : $(linklibs-libm-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-libm-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-libm-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-libm-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libm.a : linklibs-libm_AR:=$(AR) +$(AROS_LIB)/libm.a : linklibs-libm_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libm.a : linklibs-libm_AR:=$(HOST_AR) +$(AROS_LIB)/libm.a : linklibs-libm_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libm.a : linklibs-libm_AR:=$(KERNEL_AR) +$(AROS_LIB)/libm.a : linklibs-libm_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libm.a : $(linklibs-libm_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-libm_AR) $@ $^ + $(Q)$(linklibs-libm_RANLIB) $@ +endif + +ifneq ($(linklibs-libm_DEPS),) + ifneq (linklibs-libm linklibs-libm-quick,) + ifneq ($(findstring $(TARGET),linklibs-libm linklibs-libm-quick),) + -include $(linklibs-libm_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-libm_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-libm_OBJS) $(linklibs-libm_DEPS) $(linklibs-libm_LINKLIB),) +$(linklibs-libm_OBJS) $(linklibs-libm_DEPS) $(linklibs-libm_LINKLIB) : | $(linklibs-libm_OBJDIR) $(AROS_LIB) +else +$(linklibs-libm_OBJS) $(linklibs-libm_DEPS) $(linklibs-libm_LINKLIB) :: $(linklibs-libm_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(linklibs-libm_OBJDIR) $(AROS_LIB) + + +linklibs-libm-clean : FILES := $(linklibs-libm_OBJS) $(linklibs-libm_LINKLIB) $(linklibs-libm_DEPS) +#MM +linklibs-libm-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-libm" + $(Q)$(RM) $(FILES) + + +# pc-x86_64 needs a 32bit version stdc.static +ifeq ($(AROS_TARGET_CPU),x86_64) + ISA_FLAGS := $(ISA_X86_FLAGS) +endif +USER_CPPFLAGS += -DSTDC_LIB32 + + +# assign and generate the local variables used in this macro +linklibs-stdc-static32_LIBNAME := stdc.static +linklibs-stdc-static32_LINKLIB := $(GENDIR)/lib32/libstdc.static.a + +linklibs-stdc-static32_FILES ?= $(STDC_STATIC) +linklibs-stdc-static32_ASMFILES := +linklibs-stdc-static32_OBJCFILES := +linklibs-stdc-static32_CXXFILES := + +linklibs-stdc-static32_OBJDIR ?= $(GENDIR)/$(CURDIR)/32bit +linklibs-stdc-static32_ARCHOBJS := $(wildcard $(linklibs-stdc-static32_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-stdc-static32_ARCHFILES := $(basename $(notdir $(linklibs-stdc-static32_ARCHOBJS))) +else + linklibs-stdc-static32_ARCHFILES := $(basename $(patsubst $(linklibs-stdc-static32_OBJDIR)/%,%,$(linklibs-stdc-static32_ARCHOBJS))) +endif +linklibs-stdc-static32_C_NARCHFILES := $(filter-out $(linklibs-stdc-static32_ARCHFILES),$(linklibs-stdc-static32_FILES)) +linklibs-stdc-static32_C_FILES ?= $(linklibs-stdc-static32_C_NARCHFILES) +linklibs-stdc-static32_CXX_NARCHFILES := $(filter-out $(linklibs-stdc-static32_ARCHFILES),$(linklibs-stdc-static32_CXXFILES)) +linklibs-stdc-static32_CXX_FILES ?= $(linklibs-stdc-static32_CXX_NARCHFILES) +linklibs-stdc-static32_OBJC_NARCHFILES := $(filter-out $(linklibs-stdc-static32_ARCHFILES),$(linklibs-stdc-static32_OBJCFILES)) +linklibs-stdc-static32_OBJC_FILES ?= $(linklibs-stdc-static32_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-stdc-static32_OBJ_FILES ?= $(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(notdir $(linklibs-stdc-static32_C_NARCHFILES:=.o) $(linklibs-stdc-static32_CXX_NARCHFILES:=.o) $(linklibs-stdc-static32_ASMFILES:=.o) $(linklibs-stdc-static32_OBJC_NARCHFILES:=.o))) +else + linklibs-stdc-static32_OBJ_FILES ?= $(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(linklibs-stdc-static32_C_NARCHFILES:=.o) $(linklibs-stdc-static32_CXX_NARCHFILES:=.o) $(linklibs-stdc-static32_ASMFILES:=.o) $(linklibs-stdc-static32_OBJC_NARCHFILES:=.o)) +endif +linklibs-stdc-static32_OBJS ?= $(linklibs-stdc-static32_ARCHOBJS) $(linklibs-stdc-static32_OBJ_FILES) $(ROM_COMMON_OBJ32) +linklibs-stdc-static32_DEPS := $(patsubst %.o,%.d,$(linklibs-stdc-static32_OBJS)) + +linklibs-stdc-static32_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-stdc-static32_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-stdc-static32_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-stdc-static32_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-stdc-static32_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-stdc-static32_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-stdc-static32_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-stdc-static32_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-stdc-static32_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-stdc-static32_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-stdc-static32_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-stdc-static32_CFLAGS)) + linklibs-stdc-static32_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-stdc-static32_CXXFLAGS)) +endif +endif +linklibs-stdc-static32_AFLAGS := $(AFLAGS) +linklibs-stdc-static32_DFLAGS := +ifneq (,) + linklibs-stdc-static32_DFLAGS := +else + linklibs-stdc-static32_DFLAGS := $(linklibs-stdc-static32_CFLAGS) +endif +linklibs-stdc-static32_DXXFLAGS := +ifneq (,) + linklibs-stdc-static32_DXXFLAGS := +else + linklibs-stdc-static32_DXXFLAGS := $(linklibs-stdc-static32_CXXFLAGS) +endif + +.PHONY : linklibs-stdc-static32 linklibs-stdc-static32-clean linklibs-stdc-static32-quick + +#MM +linklibs-stdc-static32-quick : linklibs-stdc-static32 + +#MM linklibs-stdc-static32 : includes-generate-deps +linklibs-stdc-static32 : $(linklibs-stdc-static32_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-stdc-static32 linklibs-stdc-static32-quick),) + + +linklibs-stdc-static32_CXXABSBASENAMES := $(foreach linklibs-stdc-static32_CXXBASE,$(linklibs-stdc-static32_CXX_FILES),$(if $(filter /%,$(linklibs-stdc-static32_CXXBASE)),$(linklibs-stdc-static32_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-stdc-static32_CXXBASE)))) + +ifneq ($(linklibs-stdc-static32_CXXABSBASENAMES),) + +linklibs-stdc-static32_CXXBASENAMES := $(basename $(linklibs-stdc-static32_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-stdc-static32_MCXX_FILES := $(strip $(foreach linklibs-stdc-static32_CXXBASE,$(linklibs-stdc-static32_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-stdc-static32_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-stdc-static32_EXT),$(linklibs-stdc-static32_CXXBASE))))))) + +ifeq (,) +linklibs-stdc-static32_MCXX_SRCWILDCARD := % +else +linklibs-stdc-static32_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-stdc-static32_OBJDIR),) + linklibs-stdc-static32_CXXTARGETS := $(notdir $(linklibs-stdc-static32_CXXBASENAMES:=.o)) + linklibs-stdc-static32_CXXDTARGETS := $(notdir $(linklibs-stdc-static32_CXXBASENAMES:=.d)) + linklibs-stdc-static32_MCXX_WILDCARD := % +else + linklibs-stdc-static32_CXXTARGETS := $(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(notdir $(linklibs-stdc-static32_CXXBASENAMES:=.o))) + linklibs-stdc-static32_CXXDTARGETS := $(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(notdir $(linklibs-stdc-static32_CXXBASENAMES:=.d))) + linklibs-stdc-static32_MCXX_WILDCARD := $(linklibs-stdc-static32_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-stdc-static32_CXXTARGETS) $(linklibs-stdc-static32_CXXDTARGETS) : | $(linklibs-stdc-static32_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-stdc-static32_MCXX_CPPFLAGS := $(linklibs-stdc-static32_CPPFLAGS) +linklibs-stdc-static32_CXXFLAGS := $(linklibs-stdc-static32_CXXFLAGS) +ifeq ($(linklibs-stdc-static32_DXXFLAGS),) + linklibs-stdc-static32_DXXFLAGS := $(linklibs-stdc-static32_CXXFLAGS) +else + linklibs-stdc-static32_DXXFLAGS := $(linklibs-stdc-static32_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-stdc-static32_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-stdc-static32_STRIP ?= $(HOST_STRIP) + linklibs-stdc-static32_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-stdc-static32_CXXCMD:=$(HOST_CXX) + linklibs-stdc-static32_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-stdc-static32_MCXX_CPPFLAGS) $(linklibs-stdc-static32_MCXX_EXTRA_CPPFLAGS)) + linklibs-stdc-static32_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-stdc-static32_CXXFLAGS)) + linklibs-stdc-static32_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-stdc-static32_DXXFLAGS)) + linklibs-stdc-static32_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-stdc-static32_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-stdc-static32_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-stdc-static32_STRIP ?= $(TARGET_STRIP) + linklibs-stdc-static32_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-stdc-static32_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-stdc-static32_MCXX_CPPFLAGS := $(strip $(linklibs-stdc-static32_MCXX_CPPFLAGS) $(linklibs-stdc-static32_MCXX_EXTRA_CPPFLAGS)) + linklibs-stdc-static32_CXXFLAGS := $(strip $(linklibs-stdc-static32_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-stdc-static32_DXXFLAGS := $(linklibs-stdc-static32_DXXFLAGS) + linklibs-stdc-static32_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-stdc-static32_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-stdc-static32_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-stdc-static32_STRIP ?= $(ECHO) >/dev/null + linklibs-stdc-static32_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-stdc-static32_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-stdc-static32_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-stdc-static32_MCXX_CPPFLAGS) $(linklibs-stdc-static32_MCXX_EXTRA_CPPFLAGS)) + linklibs-stdc-static32_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-stdc-static32_CXXFLAGS)) + linklibs-stdc-static32_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-stdc-static32_DXXFLAGS)) + linklibs-stdc-static32_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-stdc-static32_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-stdc-static32_CXXCMD) $(linklibs-stdc-static32_CXXIQUOTE) $(dir $(2)) $(linklibs-stdc-static32_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_CXXIQUOTE) . $(linklibs-stdc-static32_CXXIQUOTE_END) $(strip $(linklibs-stdc-static32_CXXFLAGS) $(linklibs-stdc-static32_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-stdc-static32_CXXCMD) $(linklibs-stdc-static32_CXXIQUOTE) $(dir $(2)) $(linklibs-stdc-static32_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_CXXIQUOTE) . $(linklibs-stdc-static32_CXXIQUOTE_END) $(strip $(linklibs-stdc-static32_CXXFLAGS) $(linklibs-stdc-static32_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-stdc-static32_CXXCMD) $(linklibs-stdc-static32_CXXIQUOTE) $(dir $(2)) $(linklibs-stdc-static32_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_CXXIQUOTE) . $(linklibs-stdc-static32_CXXIQUOTE_END) $(strip $(linklibs-stdc-static32_CXXFLAGS) $(linklibs-stdc-static32_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-stdc-static32_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-stdc-static32_DXXFLAGS) $(linklibs-stdc-static32_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-stdc-static32_OBJDIR),) + $(foreach linklibs-stdc-static32_CXXFILE,$(linklibs-stdc-static32_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-stdc-static32_CXXFILE))),$(linklibs-stdc-static32_CXXFILE)))) +else + $(foreach linklibs-stdc-static32_CXXFILE,$(linklibs-stdc-static32_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(notdir $(basename $(linklibs-stdc-static32_CXXFILE)))),$(linklibs-stdc-static32_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-stdc-static32_OBJC_FILES),) + +ifeq (,) +linklibs-stdc-static32_MOBJC_SRCWILDCARD := % +else +linklibs-stdc-static32_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-stdc-static32_OBJDIR),) + linklibs-stdc-static32_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-stdc-static32_OBJC_FILES)) + linklibs-stdc-static32_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-stdc-static32_OBJC_FILES)) + linklibs-stdc-static32_MOBJC_WILDCARD := % +else + linklibs-stdc-static32_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(linklibs-stdc-static32_OBJC_FILES))) + linklibs-stdc-static32_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(linklibs-stdc-static32_OBJC_FILES))) + linklibs-stdc-static32_MOBJC_WILDCARD := $(linklibs-stdc-static32_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-stdc-static32_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-stdc-static32_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-stdc-static32_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-stdc-static32_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-stdc-static32_MOBJC_DIRS := $(foreach dir, $(linklibs-stdc-static32_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-stdc-static32_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-stdc-static32_MOBJC_DIRS),) + linklibs-stdc-static32_MOBJC_DIRS := $(shell echo $(linklibs-stdc-static32_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-stdc-static32_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-stdc-static32_CC := $(TARGET_CC) +else + linklibs-stdc-static32_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-stdc-static32_MOBJC_CPPFLAGS := $(linklibs-stdc-static32_CPPFLAGS) +linklibs-stdc-static32_OBJCFLAGS := $(linklibs-stdc-static32_CFLAGS) +linklibs-stdc-static32_OBJCFLAGS := $(linklibs-stdc-static32_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-stdc-static32_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-stdc-static32_OBJCFLAGS))) +ifeq ($(linklibs-stdc-static32_DFLAGS),) + linklibs-stdc-static32_OBJCDFLAGS := $(linklibs-stdc-static32_CFLAGS) +else + linklibs-stdc-static32_OBJCDFLAGS := $(linklibs-stdc-static32_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-stdc-static32_LINK ?= $(strip $(linklibs-stdc-static32_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-stdc-static32_STRIP ?= $(TARGET_STRIP) + linklibs-stdc-static32_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-stdc-static32_CC) $(TARGET_SYSROOT)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_MOBJC_CPPFLAGS:=$(strip $(linklibs-stdc-static32_MOBJC_CPPFLAGS) $(linklibs-stdc-static32_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_OBJCFLAGS:=$(strip $(linklibs-stdc-static32_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_OBJCDFLAGS:=$(linklibs-stdc-static32_OBJCDFLAGS) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-stdc-static32_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-stdc-static32_STRIP ?= $(HOST_STRIP) + linklibs-stdc-static32_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-stdc-static32_MOBJC_CPPFLAGS) $(linklibs-stdc-static32_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-stdc-static32_OBJCFLAGS)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-stdc-static32_OBJCDFLAGS)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-stdc-static32_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-stdc-static32_STRIP ?= $(ECHO) >/dev/null + linklibs-stdc-static32_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-stdc-static32_MOBJC_CPPFLAGS) $(linklibs-stdc-static32_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-stdc-static32_OBJCFLAGS)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-stdc-static32_OBJCDFLAGS)) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-stdc-static32_MOBJC_TARGETS) $(linklibs-stdc-static32_MOBJC_DTARGETS) : linklibs-stdc-static32_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-stdc-static32_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-stdc-static32_MOBJC_CPPFLAGS) +$(linklibs-stdc-static32_MOBJC_TARGETS) : CFLAGS := $(linklibs-stdc-static32_OBJCFLAGS) +$(linklibs-stdc-static32_MOBJC_TARGETS) : $(linklibs-stdc-static32_MOBJC_WILDCARD).o : $(linklibs-stdc-static32_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-stdc-static32_IQUOTE) $(dir $<) $(linklibs-stdc-static32_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_IQUOTE) . $(linklibs-stdc-static32_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-stdc-static32_IQUOTE) $(dir $<) $(linklibs-stdc-static32_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_IQUOTE) . $(linklibs-stdc-static32_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-stdc-static32_IQUOTE) $(dir $<) $(linklibs-stdc-static32_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_IQUOTE) . $(linklibs-stdc-static32_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-stdc-static32_MOBJC_DTARGETS) : $(linklibs-stdc-static32_MOBJC_WILDCARD).d : $(linklibs-stdc-static32_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-stdc-static32_OBJCDFLAGS) $(linklibs-stdc-static32_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-stdc-static32_MC_SRCWILDCARD := % +else +linklibs-stdc-static32_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-stdc-static32_OBJDIR),) +linklibs-stdc-static32_MC_TARGETS := $(addsuffix .o,$(linklibs-stdc-static32_C_FILES)) +linklibs-stdc-static32_MC_DTARGETS := $(addsuffix .d,$(linklibs-stdc-static32_C_FILES)) +linklibs-stdc-static32_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-stdc-static32_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(notdir $(linklibs-stdc-static32_C_FILES)))) + linklibs-stdc-static32_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(notdir $(linklibs-stdc-static32_C_FILES)))) +else +ifeq (,) + linklibs-stdc-static32_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(linklibs-stdc-static32_C_FILES))) + linklibs-stdc-static32_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(linklibs-stdc-static32_C_FILES))) +else + linklibs-stdc-static32_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(patsubst /%,%,$(linklibs-stdc-static32_C_FILES)))) + linklibs-stdc-static32_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(patsubst /%,%,$(linklibs-stdc-static32_C_FILES)))) +endif +endif +linklibs-stdc-static32_MC_TGTWILDCARD := $(linklibs-stdc-static32_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-stdc-static32_C_FILES)) + +# Be sure that all .c files are found +linklibs-stdc-static32_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-stdc-static32_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-stdc-static32_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-stdc-static32_MC_DIRS := $(foreach dir, $(linklibs-stdc-static32_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-stdc-static32_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-stdc-static32_MC_DIRS),) + linklibs-stdc-static32_MC_DIRS := $(shell echo $(linklibs-stdc-static32_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-stdc-static32_MC_DIRS) +endif + +endif + +linklibs-stdc-static32_MC_CPPFLAGS := $(linklibs-stdc-static32_CPPFLAGS) +linklibs-stdc-static32_CFLAGS := $(linklibs-stdc-static32_CFLAGS) +ifeq ($(linklibs-stdc-static32_DFLAGS),) + linklibs-stdc-static32_DFLAGS := $(linklibs-stdc-static32_CFLAGS) +else + linklibs-stdc-static32_DFLAGS := $(linklibs-stdc-static32_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-stdc-static32_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-stdc-static32_STRIP ?= $(TARGET_STRIP) +linklibs-stdc-static32_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_MC_CPPFLAGS:=$(strip $(linklibs-stdc-static32_MC_CPPFLAGS) $(linklibs-stdc-static32_MC_EXTRA_CPPFLAGS)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_CFLAGS:=$(strip $(linklibs-stdc-static32_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_DFLAGS:=$(linklibs-stdc-static32_DFLAGS) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-stdc-static32_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-stdc-static32_STRIP ?= $(HOST_STRIP) +linklibs-stdc-static32_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-stdc-static32_MC_CPPFLAGS) $(linklibs-stdc-static32_MC_EXTRA_CPPFLAGS)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-stdc-static32_CFLAGS)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-stdc-static32_DFLAGS)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-stdc-static32_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-stdc-static32_STRIP ?= $(ECHO) >/dev/null +linklibs-stdc-static32_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-stdc-static32_MC_CPPFLAGS) $(linklibs-stdc-static32_MC_EXTRA_CPPFLAGS)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-stdc-static32_CFLAGS)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-stdc-static32_DFLAGS)) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-stdc-static32_MC_TARGETS) $(linklibs-stdc-static32_MC_DTARGETS) : linklibs-stdc-static32_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-stdc-static32_MC_TARGETS) : CPPFLAGS := $(linklibs-stdc-static32_MC_CPPFLAGS) +$(linklibs-stdc-static32_MC_TARGETS) : CFLAGS := $(linklibs-stdc-static32_CFLAGS) +$(linklibs-stdc-static32_MC_TARGETS) : $(linklibs-stdc-static32_MC_TGTWILDCARD).o : $(linklibs-stdc-static32_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-stdc-static32_IQUOTE) $(dir $<) $(linklibs-stdc-static32_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_IQUOTE) . $(linklibs-stdc-static32_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-stdc-static32_IQUOTE) $(dir $<) $(linklibs-stdc-static32_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_IQUOTE) . $(linklibs-stdc-static32_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-stdc-static32_IQUOTE) $(dir $<) $(linklibs-stdc-static32_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-stdc-static32_IQUOTE) . $(linklibs-stdc-static32_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-stdc-static32_MC_DTARGETS) : $(linklibs-stdc-static32_MC_TGTWILDCARD).d : $(linklibs-stdc-static32_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-stdc-static32_DFLAGS) $(linklibs-stdc-static32_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-stdc-static32_OBJDIR),) +linklibs-stdc-static32-MA_TARGETS := $(addsuffix .o,$(linklibs-stdc-static32_ASMFILES)) +linklibs-stdc-static32-MA_WILDCARD := % +else +linklibs-stdc-static32-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-stdc-static32_OBJDIR)/,$(notdir $(linklibs-stdc-static32_ASMFILES)))) +linklibs-stdc-static32-MA_WILDCARD := $(linklibs-stdc-static32_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-stdc-static32-MA_TARGETS) : | $(addsuffix .s,$(linklibs-stdc-static32_ASMFILES)) + +# Be sure that all .c files are found +linklibs-stdc-static32-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-stdc-static32-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-stdc-static32_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-stdc-static32-MA_DIRS := $(foreach dir, $(linklibs-stdc-static32-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-stdc-static32-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-stdc-static32-MA_DIRS),) + linklibs-stdc-static32-MA_DIRS := $(shell echo $(linklibs-stdc-static32-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-stdc-static32-MA_DIRS) +endif + +endif + +linklibs-stdc-static32-MA_ASSEMBLER ?= $(linklibs-stdc-static32_ASSEMBLER) + +$(linklibs-stdc-static32-MA_TARGETS) : linklibs-stdc-static32-MA_CMD:= $(linklibs-stdc-static32-MA_ASSEMBLER) + +$(linklibs-stdc-static32-MA_TARGETS) : CPPFLAGS := $(linklibs-stdc-static32_CPPFLAGS) +$(linklibs-stdc-static32-MA_TARGETS) : AFLAGS := $(linklibs-stdc-static32_AFLAGS) +$(linklibs-stdc-static32-MA_TARGETS) : $(linklibs-stdc-static32-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-stdc-static32-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-stdc-static32-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-stdc-static32-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(GENDIR)/lib32/libstdc.static.a : linklibs-stdc-static32_AR:=$(AR) +$(GENDIR)/lib32/libstdc.static.a : linklibs-stdc-static32_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(GENDIR)/lib32/libstdc.static.a : linklibs-stdc-static32_AR:=$(HOST_AR) +$(GENDIR)/lib32/libstdc.static.a : linklibs-stdc-static32_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(GENDIR)/lib32/libstdc.static.a : linklibs-stdc-static32_AR:=$(KERNEL_AR) +$(GENDIR)/lib32/libstdc.static.a : linklibs-stdc-static32_RANLIB:=$(KERNEL_RANLIB) +endif + +$(GENDIR)/lib32/libstdc.static.a : $(linklibs-stdc-static32_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-stdc-static32_AR) $@ $^ + $(Q)$(linklibs-stdc-static32_RANLIB) $@ +endif + +ifneq ($(linklibs-stdc-static32_DEPS),) + ifneq (linklibs-stdc-static32 linklibs-stdc-static32-quick,) + ifneq ($(findstring $(TARGET),linklibs-stdc-static32 linklibs-stdc-static32-quick),) + -include $(linklibs-stdc-static32_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-stdc-static32_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-stdc-static32_OBJS) $(linklibs-stdc-static32_DEPS) $(linklibs-stdc-static32_LINKLIB),) +$(linklibs-stdc-static32_OBJS) $(linklibs-stdc-static32_DEPS) $(linklibs-stdc-static32_LINKLIB) : | $(linklibs-stdc-static32_OBJDIR) $(GENDIR)/lib32 +else +$(linklibs-stdc-static32_OBJS) $(linklibs-stdc-static32_DEPS) $(linklibs-stdc-static32_LINKLIB) :: $(linklibs-stdc-static32_OBJDIR) $(GENDIR)/lib32 +endif + +GLOB_MKDIRS += $(linklibs-stdc-static32_OBJDIR) $(GENDIR)/lib32 + + +linklibs-stdc-static32-clean : FILES := $(linklibs-stdc-static32_OBJS) $(linklibs-stdc-static32_LINKLIB) $(linklibs-stdc-static32_DEPS) +#MM +linklibs-stdc-static32-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-stdc-static32" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/bifteck/mmakefile b/developer/debug/bifteck/mmakefile new file mode 100644 index 00000000000..bd8cbf0c43a --- /dev/null +++ b/developer/debug/bifteck/mmakefile @@ -0,0 +1,630 @@ +# $Id$ +# +# Makefile for Bifteck. + +include $(SRCDIR)/config/aros.cfg + +#MM- debug-tools : debug-tools-bifteck +#MM debug-tools-bifteck : includes linklibs + + +.PHONY : debug-tools-bifteck + +debug-tools-bifteck_PROGNAME := Bifteck +debug-tools-bifteck_OBJDIR := $(GENDIR)/$(CURDIR) +debug-tools-bifteck_TARGETDIR := $(AROS_DEBUG) +debug-tools-bifteck_LINKER := +debug-tools-bifteck_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(debug-tools-bifteck_LINKER),) + debug-tools-bifteck_LINKER := target +endif + +ifneq ("$(strip Bifteck )","") + debug-tools-bifteck_FILES := Bifteck + debug-tools-bifteck_OBJCFILES := + debug-tools-bifteck_ASMFILES := + debug-tools-bifteck_CXXFILES := +else + debug-tools-bifteck_FILES := $(debug-tools-bifteck_PROGNAME) + debug-tools-bifteck_OBJCFILES := + debug-tools-bifteck_ASMFILES := + debug-tools-bifteck_CXXFILES := +endif + +debug-tools-bifteck_ARCHOBJS := $(wildcard $(debug-tools-bifteck_OBJDIR)/arch/*.o) +debug-tools-bifteck_ARCHFILES := $(basename $(notdir $(debug-tools-bifteck_ARCHOBJS))) +debug-tools-bifteck_C_NARCHFILES := $(filter-out $(debug-tools-bifteck_ARCHFILES),$(debug-tools-bifteck_FILES)) +debug-tools-bifteck_CXX_NARCHFILES := $(filter-out $(debug-tools-bifteck_ARCHFILES),$(debug-tools-bifteck_CXXFILES)) +debug-tools-bifteck_OBJC_NARCHFILES := $(filter-out $(debug-tools-bifteck_ARCHFILES),$(debug-tools-bifteck_OBJCFILES)) + +TMP_FILES := $(debug-tools-bifteck_C_NARCHFILES) $(debug-tools-bifteck_CXX_NARCHFILES) $(debug-tools-bifteck_ASMFILES) $(debug-tools-bifteck_OBJC_NARCHFILES) +debug-tools-bifteck_OBJS := $(addsuffix .o,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(notdir $(TMP_FILES)))) +debug-tools-bifteck_DEPS := $(addsuffix .d,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(notdir $(TMP_FILES)))) + +debug-tools-bifteck_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +debug-tools-bifteck_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-bifteck_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +debug-tools-bifteck_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +debug-tools-bifteck_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +debug-tools-bifteck_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-bifteck_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +debug-tools-bifteck_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +debug-tools-bifteck_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +debug-tools-bifteck_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-bifteck_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +debug-tools-bifteck_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +debug-tools-bifteck_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +debug-tools-bifteck_LDFLAGS := +endif + +debug-tools-bifteck_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +debug-tools-bifteck_COVERAGE := yes +debug-tools-bifteck_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +debug-tools-bifteck_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +debug-tools-bifteck_CFLAGS := $(strip $(debug-tools-bifteck_COVERAGEFLAGS) $(debug-tools-bifteck_CFLAGS)) +debug-tools-bifteck_CXXFLAGS := $(strip $(debug-tools-bifteck_COVERAGEFLAGS) $(debug-tools-bifteck_CXXFLAGS)) +debug-tools-bifteck_LIBS += $(debug-tools-bifteck_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +debug-tools-bifteck_FUNCINSTR := yes +debug-tools-bifteck_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +debug-tools-bifteck_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +debug-tools-bifteck_CFLAGS := $(strip $(debug-tools-bifteck_INSTRFUNCFLAGS) $(debug-tools-bifteck_CFLAGS)) +debug-tools-bifteck_CXXFLAGS := $(strip $(debug-tools-bifteck_INSTRFUNCFLAGS) $(debug-tools-bifteck_CXXFLAGS)) +debug-tools-bifteck_LIBS += $(debug-tools-bifteck_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +debug-tools-bifteck_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(debug-tools-bifteck_CFLAGS)) +debug-tools-bifteck_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(debug-tools-bifteck_CXXFLAGS)) +endif +endif +debug-tools-bifteck_AFLAGS := $(AFLAGS) +ifneq (,) + debug-tools-bifteck_DFLAGS := +else + debug-tools-bifteck_DFLAGS := $(debug-tools-bifteck_CFLAGS) +endif +ifneq (,) + debug-tools-bifteck_DXXFLAGS := +else + debug-tools-bifteck_DXXFLAGS := $(debug-tools-bifteck_CXXFLAGS) +endif +ifeq (target,target) +debug-tools-bifteck_LDFLAGS := $(debug-tools-bifteck_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +debug-tools-bifteck_LDFLAGS := $(debug-tools-bifteck_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +debug-tools-bifteck_LDFLAGS := $(debug-tools-bifteck_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +debug-tools-bifteck_LDFLAGS += -L +endif + +#MM +debug-tools-bifteck-quick : debug-tools-bifteck + +#MM debug-tools-bifteck : includes-generate-deps core-linklibs +debug-tools-bifteck : $(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) + +ifneq ($(filter $(TARGET),debug-tools-bifteck debug-tools-bifteck-quick debug-tools-bifteck-gz-quick),) + +debug-tools-bifteck_CXXABSBASENAMES := $(foreach debug-tools-bifteck_CXXBASE,$(debug-tools-bifteck_CXX_NARCHFILES),$(if $(filter /%,$(debug-tools-bifteck_CXXBASE)),$(debug-tools-bifteck_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(debug-tools-bifteck_CXXBASE)))) + +ifneq ($(debug-tools-bifteck_CXXABSBASENAMES),) + +debug-tools-bifteck_CXXBASENAMES := $(basename $(debug-tools-bifteck_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +debug-tools-bifteck_MCXX_FILES := $(strip $(foreach debug-tools-bifteck_CXXBASE,$(debug-tools-bifteck_CXXABSBASENAMES), $(firstword $(wildcard $(foreach debug-tools-bifteck_EXT, $(AROS_CXXEXTS),$(addsuffix .$(debug-tools-bifteck_EXT),$(debug-tools-bifteck_CXXBASE))))))) + +ifeq (,) +debug-tools-bifteck_MCXX_SRCWILDCARD := % +else +debug-tools-bifteck_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-bifteck_OBJDIR),) + debug-tools-bifteck_CXXTARGETS := $(notdir $(debug-tools-bifteck_CXXBASENAMES:=.o)) + debug-tools-bifteck_CXXDTARGETS := $(notdir $(debug-tools-bifteck_CXXBASENAMES:=.d)) + debug-tools-bifteck_MCXX_WILDCARD := % +else + debug-tools-bifteck_CXXTARGETS := $(addprefix $(debug-tools-bifteck_OBJDIR)/,$(notdir $(debug-tools-bifteck_CXXBASENAMES:=.o))) + debug-tools-bifteck_CXXDTARGETS := $(addprefix $(debug-tools-bifteck_OBJDIR)/,$(notdir $(debug-tools-bifteck_CXXBASENAMES:=.d))) + debug-tools-bifteck_MCXX_WILDCARD := $(debug-tools-bifteck_OBJDIR)/% + + # Be sure that all source files are generated + $(debug-tools-bifteck_CXXTARGETS) $(debug-tools-bifteck_CXXDTARGETS) : | $(debug-tools-bifteck_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +debug-tools-bifteck_MCXX_CPPFLAGS := $(debug-tools-bifteck_CPPFLAGS) +debug-tools-bifteck_CXXFLAGS := $(debug-tools-bifteck_CXXFLAGS) +ifeq ($(debug-tools-bifteck_DXXFLAGS),) + debug-tools-bifteck_DXXFLAGS := $(debug-tools-bifteck_CXXFLAGS) +else + debug-tools-bifteck_DXXFLAGS := $(debug-tools-bifteck_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + debug-tools-bifteck_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + debug-tools-bifteck_STRIP ?= $(HOST_STRIP) + debug-tools-bifteck_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + debug-tools-bifteck_CXXCMD:=$(HOST_CXX) + debug-tools-bifteck_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(debug-tools-bifteck_MCXX_CPPFLAGS) $(debug-tools-bifteck_MCXX_EXTRA_CPPFLAGS)) + debug-tools-bifteck_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(debug-tools-bifteck_CXXFLAGS)) + debug-tools-bifteck_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(debug-tools-bifteck_DXXFLAGS)) + debug-tools-bifteck_CXXIQUOTE:=$(HOST_IQUOTE) + debug-tools-bifteck_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + debug-tools-bifteck_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + debug-tools-bifteck_STRIP ?= $(TARGET_STRIP) + debug-tools-bifteck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + debug-tools-bifteck_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + debug-tools-bifteck_MCXX_CPPFLAGS := $(strip $(debug-tools-bifteck_MCXX_CPPFLAGS) $(debug-tools-bifteck_MCXX_EXTRA_CPPFLAGS)) + debug-tools-bifteck_CXXFLAGS := $(strip $(debug-tools-bifteck_CXXFLAGS) $(SAFETY_CFLAGS)) + debug-tools-bifteck_DXXFLAGS := $(debug-tools-bifteck_DXXFLAGS) + debug-tools-bifteck_CXXIQUOTE:=$(CFLAGS_IQUOTE) + debug-tools-bifteck_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + debug-tools-bifteck_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + debug-tools-bifteck_STRIP ?= $(ECHO) >/dev/null + debug-tools-bifteck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + debug-tools-bifteck_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + debug-tools-bifteck_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(debug-tools-bifteck_MCXX_CPPFLAGS) $(debug-tools-bifteck_MCXX_EXTRA_CPPFLAGS)) + debug-tools-bifteck_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(debug-tools-bifteck_CXXFLAGS)) + debug-tools-bifteck_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(debug-tools-bifteck_DXXFLAGS)) + debug-tools-bifteck_CXXIQUOTE:=$(KERNEL_IQUOTE) + debug-tools-bifteck_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(debug-tools-bifteck_CXXCMD) $(debug-tools-bifteck_CXXIQUOTE) $(dir $(2)) $(debug-tools-bifteck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_CXXIQUOTE) . $(debug-tools-bifteck_CXXIQUOTE_END) $(strip $(debug-tools-bifteck_CXXFLAGS) $(debug-tools-bifteck_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(debug-tools-bifteck_CXXCMD) $(debug-tools-bifteck_CXXIQUOTE) $(dir $(2)) $(debug-tools-bifteck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_CXXIQUOTE) . $(debug-tools-bifteck_CXXIQUOTE_END) $(strip $(debug-tools-bifteck_CXXFLAGS) $(debug-tools-bifteck_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(debug-tools-bifteck_CXXCMD) $(debug-tools-bifteck_CXXIQUOTE) $(dir $(2)) $(debug-tools-bifteck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_CXXIQUOTE) . $(debug-tools-bifteck_CXXIQUOTE_END) $(strip $(debug-tools-bifteck_CXXFLAGS) $(debug-tools-bifteck_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(debug-tools-bifteck_CXXCMD)" $(MKDEPEND) $(strip $(debug-tools-bifteck_DXXFLAGS) $(debug-tools-bifteck_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(debug-tools-bifteck_OBJDIR),) + $(foreach debug-tools-bifteck_CXXFILE,$(debug-tools-bifteck_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(debug-tools-bifteck_CXXFILE))),$(debug-tools-bifteck_CXXFILE)))) +else + $(foreach debug-tools-bifteck_CXXFILE,$(debug-tools-bifteck_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(notdir $(basename $(debug-tools-bifteck_CXXFILE)))),$(debug-tools-bifteck_CXXFILE)))) +endif + +endif + + +ifneq ($(debug-tools-bifteck_OBJC_NARCHFILES),) + +ifeq (,) +debug-tools-bifteck_MOBJC_SRCWILDCARD := % +else +debug-tools-bifteck_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-bifteck_OBJDIR),) + debug-tools-bifteck_MOBJC_TARGETS := $(addsuffix .o,$(debug-tools-bifteck_OBJC_NARCHFILES)) + debug-tools-bifteck_MOBJC_DTARGETS := $(addsuffix .d,$(debug-tools-bifteck_OBJC_NARCHFILES)) + debug-tools-bifteck_MOBJC_WILDCARD := % +else + debug-tools-bifteck_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(debug-tools-bifteck_OBJC_NARCHFILES))) + debug-tools-bifteck_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(debug-tools-bifteck_OBJC_NARCHFILES))) + debug-tools-bifteck_MOBJC_WILDCARD := $(debug-tools-bifteck_OBJDIR)/% + + # Be sure that all .m files are generated + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : | $(addsuffix .m,$(debug-tools-bifteck_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + debug-tools-bifteck_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + debug-tools-bifteck_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-bifteck_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + debug-tools-bifteck_MOBJC_DIRS := $(foreach dir, $(debug-tools-bifteck_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-bifteck_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(debug-tools-bifteck_MOBJC_DIRS),) + debug-tools-bifteck_MOBJC_DIRS := $(shell echo $(debug-tools-bifteck_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(debug-tools-bifteck_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + debug-tools-bifteck_CC := $(TARGET_CC) +else + debug-tools-bifteck_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +debug-tools-bifteck_MOBJC_CPPFLAGS := $(debug-tools-bifteck_CPPFLAGS) +debug-tools-bifteck_OBJCFLAGS := $(debug-tools-bifteck_CFLAGS) +debug-tools-bifteck_OBJCFLAGS := $(debug-tools-bifteck_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +debug-tools-bifteck_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(debug-tools-bifteck_OBJCFLAGS))) +ifeq ($(debug-tools-bifteck_DFLAGS),) + debug-tools-bifteck_OBJCDFLAGS := $(debug-tools-bifteck_CFLAGS) +else + debug-tools-bifteck_OBJCDFLAGS := $(debug-tools-bifteck_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + debug-tools-bifteck_LINK ?= $(strip $(debug-tools-bifteck_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + debug-tools-bifteck_STRIP ?= $(TARGET_STRIP) + debug-tools-bifteck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : CMD:=$(strip $(debug-tools-bifteck_CC) $(TARGET_SYSROOT)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_MOBJC_CPPFLAGS:=$(strip $(debug-tools-bifteck_MOBJC_CPPFLAGS) $(debug-tools-bifteck_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_OBJCFLAGS:=$(strip $(debug-tools-bifteck_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_OBJCDFLAGS:=$(debug-tools-bifteck_OBJCDFLAGS) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_IQUOTE:=$(CFLAGS_IQUOTE) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + debug-tools-bifteck_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + debug-tools-bifteck_STRIP ?= $(HOST_STRIP) + debug-tools-bifteck_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(debug-tools-bifteck_MOBJC_CPPFLAGS) $(debug-tools-bifteck_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-bifteck_OBJCFLAGS)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-bifteck_OBJCDFLAGS)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_IQUOTE:=$(HOST_IQUOTE) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + debug-tools-bifteck_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + debug-tools-bifteck_STRIP ?= $(ECHO) >/dev/null + debug-tools-bifteck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(debug-tools-bifteck_MOBJC_CPPFLAGS) $(debug-tools-bifteck_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-bifteck_OBJCFLAGS)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-bifteck_OBJCDFLAGS)) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_IQUOTE:=$(KERNEL_IQUOTE) + $(debug-tools-bifteck_MOBJC_TARGETS) $(debug-tools-bifteck_MOBJC_DTARGETS) : debug-tools-bifteck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(debug-tools-bifteck_MOBJC_TARGETS) : CPPFLAGS := $(debug-tools-bifteck_MOBJC_CPPFLAGS) +$(debug-tools-bifteck_MOBJC_TARGETS) : CFLAGS := $(debug-tools-bifteck_OBJCFLAGS) +$(debug-tools-bifteck_MOBJC_TARGETS) : $(debug-tools-bifteck_MOBJC_WILDCARD).o : $(debug-tools-bifteck_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(debug-tools-bifteck_IQUOTE) $(dir $<) $(debug-tools-bifteck_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_IQUOTE) . $(debug-tools-bifteck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(debug-tools-bifteck_IQUOTE) $(dir $<) $(debug-tools-bifteck_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_IQUOTE) . $(debug-tools-bifteck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(debug-tools-bifteck_IQUOTE) $(dir $<) $(debug-tools-bifteck_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_IQUOTE) . $(debug-tools-bifteck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(debug-tools-bifteck_MOBJC_DTARGETS) : $(debug-tools-bifteck_MOBJC_WILDCARD).d : $(debug-tools-bifteck_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(debug-tools-bifteck_OBJCDFLAGS) $(debug-tools-bifteck_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +debug-tools-bifteck_MC_SRCWILDCARD := % +else +debug-tools-bifteck_MC_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-bifteck_OBJDIR),) +debug-tools-bifteck_MC_TARGETS := $(addsuffix .o,$(debug-tools-bifteck_C_NARCHFILES)) +debug-tools-bifteck_MC_DTARGETS := $(addsuffix .d,$(debug-tools-bifteck_C_NARCHFILES)) +debug-tools-bifteck_MC_TGTWILDCARD := % +else +ifeq (no,no) + debug-tools-bifteck_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(notdir $(debug-tools-bifteck_C_NARCHFILES)))) + debug-tools-bifteck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(notdir $(debug-tools-bifteck_C_NARCHFILES)))) +else +ifeq (,) + debug-tools-bifteck_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(debug-tools-bifteck_C_NARCHFILES))) + debug-tools-bifteck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(debug-tools-bifteck_C_NARCHFILES))) +else + debug-tools-bifteck_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(patsubst /%,%,$(debug-tools-bifteck_C_NARCHFILES)))) + debug-tools-bifteck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(patsubst /%,%,$(debug-tools-bifteck_C_NARCHFILES)))) +endif +endif +debug-tools-bifteck_MC_TGTWILDCARD := $(debug-tools-bifteck_OBJDIR)/% + +# Be sure that all .c files are generated +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : | $(addsuffix .c,$(debug-tools-bifteck_C_NARCHFILES)) + +# Be sure that all .c files are found +debug-tools-bifteck_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +debug-tools-bifteck_MC_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-bifteck_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +debug-tools-bifteck_MC_DIRS := $(foreach dir, $(debug-tools-bifteck_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-bifteck_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(debug-tools-bifteck_MC_DIRS),) + debug-tools-bifteck_MC_DIRS := $(shell echo $(debug-tools-bifteck_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(debug-tools-bifteck_MC_DIRS) +endif + +endif + +debug-tools-bifteck_MC_CPPFLAGS := $(debug-tools-bifteck_CPPFLAGS) +debug-tools-bifteck_CFLAGS := $(debug-tools-bifteck_CFLAGS) +ifeq ($(debug-tools-bifteck_DFLAGS),) + debug-tools-bifteck_DFLAGS := $(debug-tools-bifteck_CFLAGS) +else + debug-tools-bifteck_DFLAGS := $(debug-tools-bifteck_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +debug-tools-bifteck_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +debug-tools-bifteck_STRIP ?= $(TARGET_STRIP) +debug-tools-bifteck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_MC_CPPFLAGS:=$(strip $(debug-tools-bifteck_MC_CPPFLAGS) $(debug-tools-bifteck_MC_EXTRA_CPPFLAGS)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_CFLAGS:=$(strip $(debug-tools-bifteck_CFLAGS) $(SAFETY_CFLAGS)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_DFLAGS:=$(debug-tools-bifteck_DFLAGS) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_IQUOTE:=$(CFLAGS_IQUOTE) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +debug-tools-bifteck_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +debug-tools-bifteck_STRIP ?= $(HOST_STRIP) +debug-tools-bifteck_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : CMD:=$(HOST_CC) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(debug-tools-bifteck_MC_CPPFLAGS) $(debug-tools-bifteck_MC_EXTRA_CPPFLAGS)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_CFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-bifteck_CFLAGS)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_DFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-bifteck_DFLAGS)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_IQUOTE:=$(HOST_IQUOTE) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +debug-tools-bifteck_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +debug-tools-bifteck_STRIP ?= $(ECHO) >/dev/null +debug-tools-bifteck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(debug-tools-bifteck_MC_CPPFLAGS) $(debug-tools-bifteck_MC_EXTRA_CPPFLAGS)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-bifteck_CFLAGS)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-bifteck_DFLAGS)) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_IQUOTE:=$(KERNEL_IQUOTE) +$(debug-tools-bifteck_MC_TARGETS) $(debug-tools-bifteck_MC_DTARGETS) : debug-tools-bifteck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(debug-tools-bifteck_MC_TARGETS) : CPPFLAGS := $(debug-tools-bifteck_MC_CPPFLAGS) +$(debug-tools-bifteck_MC_TARGETS) : CFLAGS := $(debug-tools-bifteck_CFLAGS) +$(debug-tools-bifteck_MC_TARGETS) : $(debug-tools-bifteck_MC_TGTWILDCARD).o : $(debug-tools-bifteck_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(debug-tools-bifteck_IQUOTE) $(dir $<) $(debug-tools-bifteck_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_IQUOTE) . $(debug-tools-bifteck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(debug-tools-bifteck_IQUOTE) $(dir $<) $(debug-tools-bifteck_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_IQUOTE) . $(debug-tools-bifteck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(debug-tools-bifteck_IQUOTE) $(dir $<) $(debug-tools-bifteck_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-bifteck_IQUOTE) . $(debug-tools-bifteck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(debug-tools-bifteck_MC_DTARGETS) : $(debug-tools-bifteck_MC_TGTWILDCARD).d : $(debug-tools-bifteck_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(debug-tools-bifteck_DFLAGS) $(debug-tools-bifteck_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(debug-tools-bifteck_OBJDIR),) +debug-tools-bifteck-MA_TARGETS := $(addsuffix .o,$(debug-tools-bifteck_ASMFILES)) +debug-tools-bifteck-MA_WILDCARD := % +else +debug-tools-bifteck-MA_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-bifteck_OBJDIR)/,$(notdir $(debug-tools-bifteck_ASMFILES)))) +debug-tools-bifteck-MA_WILDCARD := $(debug-tools-bifteck_OBJDIR)/% + +# Be sure that all .s files are generated +$(debug-tools-bifteck-MA_TARGETS) : | $(addsuffix .s,$(debug-tools-bifteck_ASMFILES)) + +# Be sure that all .c files are found +debug-tools-bifteck-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +debug-tools-bifteck-MA_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-bifteck_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +debug-tools-bifteck-MA_DIRS := $(foreach dir, $(debug-tools-bifteck-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-bifteck-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(debug-tools-bifteck-MA_DIRS),) + debug-tools-bifteck-MA_DIRS := $(shell echo $(debug-tools-bifteck-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(debug-tools-bifteck-MA_DIRS) +endif + +endif + +debug-tools-bifteck-MA_ASSEMBLER ?= $(debug-tools-bifteck_ASSEMBLER) + +$(debug-tools-bifteck-MA_TARGETS) : debug-tools-bifteck-MA_CMD:= $(debug-tools-bifteck-MA_ASSEMBLER) + +$(debug-tools-bifteck-MA_TARGETS) : CPPFLAGS := $(debug-tools-bifteck_CPPFLAGS) +$(debug-tools-bifteck-MA_TARGETS) : AFLAGS := $(debug-tools-bifteck_AFLAGS) +$(debug-tools-bifteck-MA_TARGETS) : $(debug-tools-bifteck-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(debug-tools-bifteck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(debug-tools-bifteck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(debug-tools-bifteck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +debug-tools-bifteck-link_EXTRA_LDFLAGS := +debug-tools-bifteck-link_EXTRA_LIBS := +ifeq (no,yes) + debug-tools-bifteck-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + debug-tools-bifteck-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + debug-tools-bifteck-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +debug-tools-bifteck-link_DIRS := $(subst -L ,-L,$(strip $(debug-tools-bifteck_LDFLAGS))) +# Filter out only the libdirs and remove -L +debug-tools-bifteck-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(debug-tools-bifteck-link_DIRS))) +# Add trailing / +debug-tools-bifteck-link_DIRS := $(subst //,/,$(addsuffix /,$(debug-tools-bifteck-link_DIRS))) +# Add normal linklib path +debug-tools-bifteck-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +debug-tools-bifteck-link_LIBS := $(addprefix lib,$(addsuffix .a,$(debug-tools-bifteck_LIBS) $(debug-tools-bifteck-link_EXTRA_LIBS))) +ifeq (yes,yes) + debug-tools-bifteck-link_LIBS += startup.o +endif +ifeq (no,yes) + debug-tools-bifteck-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +debug-tools-bifteck-link_DEPLIBS := $(foreach lib,$(debug-tools-bifteck-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(debug-tools-bifteck-link_DIRS)))) \ +) + +$(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) : OBJDIR := $(debug-tools-bifteck_OBJDIR) +$(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) : OBJS := $(debug-tools-bifteck_OBJS) $(debug-tools-bifteck_ARCHOBJS) $(USER_OBJS) +$(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) : LDFLAGS := $(strip $(debug-tools-bifteck_LDFLAGS) $(debug-tools-bifteck-link_EXTRA_LDFLAGS)) +$(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) : LIBS := $(addprefix -l,$(debug-tools-bifteck_LIBS) $(debug-tools-bifteck-link_EXTRA_LIBS) ) +$(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) : $(debug-tools-bifteck_OBJS) $(debug-tools-bifteck_ARCHOBJS) $(USER_OBJS) $(debug-tools-bifteck-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(debug-tools-bifteck_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(debug-tools-bifteck_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(debug-tools-bifteck_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(debug-tools-bifteck_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(debug-tools-bifteck_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(debug-tools-bifteck_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(debug-tools-bifteck_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(debug-tools-bifteck_DEPS),) + ifneq (debug-tools-bifteck debug-tools-bifteck-quick,) + ifneq ($(findstring $(TARGET),debug-tools-bifteck debug-tools-bifteck-quick),) + -include $(debug-tools-bifteck_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(debug-tools-bifteck_DEPS) + endif + endif +endif + + +ifneq ($(debug-tools-bifteck_OBJS) $(debug-tools-bifteck_DEPS) $(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME),) +$(debug-tools-bifteck_OBJS) $(debug-tools-bifteck_DEPS) $(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) : | $(debug-tools-bifteck_OBJDIR) $(debug-tools-bifteck_TARGETDIR) +else +$(debug-tools-bifteck_OBJS) $(debug-tools-bifteck_DEPS) $(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) :: $(debug-tools-bifteck_OBJDIR) $(debug-tools-bifteck_TARGETDIR) +endif + +GLOB_MKDIRS += $(debug-tools-bifteck_OBJDIR) $(debug-tools-bifteck_TARGETDIR) + + +debug-tools-bifteck-clean : FILES := $(debug-tools-bifteck_OBJS) $(debug-tools-bifteck_TARGETDIR)/$(debug-tools-bifteck_PROGNAME) $(debug-tools-bifteck_DEPS) +#MM +debug-tools-bifteck-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget debug-tools-bifteck" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/kecho/mmakefile b/developer/debug/kecho/mmakefile new file mode 100644 index 00000000000..6681ca78d33 --- /dev/null +++ b/developer/debug/kecho/mmakefile @@ -0,0 +1,632 @@ +# $Id$ +# +# Makefile for KEcho. + +include $(SRCDIR)/config/aros.cfg + +USER_CFLAGS := -DADATE="\"$(shell date "+%d.%m.%Y")\"" + +#MM- debug-tools : debug-tools-kecho +#MM debug-tools-kecho : includes linklibs + + +.PHONY : debug-tools-kecho + +debug-tools-kecho_PROGNAME := KEcho +debug-tools-kecho_OBJDIR := $(GENDIR)/$(CURDIR) +debug-tools-kecho_TARGETDIR := $(AROS_DEBUG) +debug-tools-kecho_LINKER := +debug-tools-kecho_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(debug-tools-kecho_LINKER),) + debug-tools-kecho_LINKER := target +endif + +ifneq ("$(strip KEcho )","") + debug-tools-kecho_FILES := KEcho + debug-tools-kecho_OBJCFILES := + debug-tools-kecho_ASMFILES := + debug-tools-kecho_CXXFILES := +else + debug-tools-kecho_FILES := $(debug-tools-kecho_PROGNAME) + debug-tools-kecho_OBJCFILES := + debug-tools-kecho_ASMFILES := + debug-tools-kecho_CXXFILES := +endif + +debug-tools-kecho_ARCHOBJS := $(wildcard $(debug-tools-kecho_OBJDIR)/arch/*.o) +debug-tools-kecho_ARCHFILES := $(basename $(notdir $(debug-tools-kecho_ARCHOBJS))) +debug-tools-kecho_C_NARCHFILES := $(filter-out $(debug-tools-kecho_ARCHFILES),$(debug-tools-kecho_FILES)) +debug-tools-kecho_CXX_NARCHFILES := $(filter-out $(debug-tools-kecho_ARCHFILES),$(debug-tools-kecho_CXXFILES)) +debug-tools-kecho_OBJC_NARCHFILES := $(filter-out $(debug-tools-kecho_ARCHFILES),$(debug-tools-kecho_OBJCFILES)) + +TMP_FILES := $(debug-tools-kecho_C_NARCHFILES) $(debug-tools-kecho_CXX_NARCHFILES) $(debug-tools-kecho_ASMFILES) $(debug-tools-kecho_OBJC_NARCHFILES) +debug-tools-kecho_OBJS := $(addsuffix .o,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(notdir $(TMP_FILES)))) +debug-tools-kecho_DEPS := $(addsuffix .d,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(notdir $(TMP_FILES)))) + +debug-tools-kecho_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +debug-tools-kecho_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-kecho_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +debug-tools-kecho_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +debug-tools-kecho_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +debug-tools-kecho_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-kecho_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +debug-tools-kecho_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +debug-tools-kecho_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +debug-tools-kecho_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-kecho_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +debug-tools-kecho_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +debug-tools-kecho_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +debug-tools-kecho_LDFLAGS := +endif + +debug-tools-kecho_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +debug-tools-kecho_COVERAGE := yes +debug-tools-kecho_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +debug-tools-kecho_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +debug-tools-kecho_CFLAGS := $(strip $(debug-tools-kecho_COVERAGEFLAGS) $(debug-tools-kecho_CFLAGS)) +debug-tools-kecho_CXXFLAGS := $(strip $(debug-tools-kecho_COVERAGEFLAGS) $(debug-tools-kecho_CXXFLAGS)) +debug-tools-kecho_LIBS += $(debug-tools-kecho_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +debug-tools-kecho_FUNCINSTR := yes +debug-tools-kecho_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +debug-tools-kecho_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +debug-tools-kecho_CFLAGS := $(strip $(debug-tools-kecho_INSTRFUNCFLAGS) $(debug-tools-kecho_CFLAGS)) +debug-tools-kecho_CXXFLAGS := $(strip $(debug-tools-kecho_INSTRFUNCFLAGS) $(debug-tools-kecho_CXXFLAGS)) +debug-tools-kecho_LIBS += $(debug-tools-kecho_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +debug-tools-kecho_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(debug-tools-kecho_CFLAGS)) +debug-tools-kecho_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(debug-tools-kecho_CXXFLAGS)) +endif +endif +debug-tools-kecho_AFLAGS := $(AFLAGS) +ifneq (,) + debug-tools-kecho_DFLAGS := +else + debug-tools-kecho_DFLAGS := $(debug-tools-kecho_CFLAGS) +endif +ifneq (,) + debug-tools-kecho_DXXFLAGS := +else + debug-tools-kecho_DXXFLAGS := $(debug-tools-kecho_CXXFLAGS) +endif +ifeq (target,target) +debug-tools-kecho_LDFLAGS := $(debug-tools-kecho_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +debug-tools-kecho_LDFLAGS := $(debug-tools-kecho_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +debug-tools-kecho_LDFLAGS := $(debug-tools-kecho_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +debug-tools-kecho_LDFLAGS += -L +endif + +#MM +debug-tools-kecho-quick : debug-tools-kecho + +#MM debug-tools-kecho : includes-generate-deps core-linklibs +debug-tools-kecho : $(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) + +ifneq ($(filter $(TARGET),debug-tools-kecho debug-tools-kecho-quick debug-tools-kecho-gz-quick),) + +debug-tools-kecho_CXXABSBASENAMES := $(foreach debug-tools-kecho_CXXBASE,$(debug-tools-kecho_CXX_NARCHFILES),$(if $(filter /%,$(debug-tools-kecho_CXXBASE)),$(debug-tools-kecho_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(debug-tools-kecho_CXXBASE)))) + +ifneq ($(debug-tools-kecho_CXXABSBASENAMES),) + +debug-tools-kecho_CXXBASENAMES := $(basename $(debug-tools-kecho_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +debug-tools-kecho_MCXX_FILES := $(strip $(foreach debug-tools-kecho_CXXBASE,$(debug-tools-kecho_CXXABSBASENAMES), $(firstword $(wildcard $(foreach debug-tools-kecho_EXT, $(AROS_CXXEXTS),$(addsuffix .$(debug-tools-kecho_EXT),$(debug-tools-kecho_CXXBASE))))))) + +ifeq (,) +debug-tools-kecho_MCXX_SRCWILDCARD := % +else +debug-tools-kecho_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-kecho_OBJDIR),) + debug-tools-kecho_CXXTARGETS := $(notdir $(debug-tools-kecho_CXXBASENAMES:=.o)) + debug-tools-kecho_CXXDTARGETS := $(notdir $(debug-tools-kecho_CXXBASENAMES:=.d)) + debug-tools-kecho_MCXX_WILDCARD := % +else + debug-tools-kecho_CXXTARGETS := $(addprefix $(debug-tools-kecho_OBJDIR)/,$(notdir $(debug-tools-kecho_CXXBASENAMES:=.o))) + debug-tools-kecho_CXXDTARGETS := $(addprefix $(debug-tools-kecho_OBJDIR)/,$(notdir $(debug-tools-kecho_CXXBASENAMES:=.d))) + debug-tools-kecho_MCXX_WILDCARD := $(debug-tools-kecho_OBJDIR)/% + + # Be sure that all source files are generated + $(debug-tools-kecho_CXXTARGETS) $(debug-tools-kecho_CXXDTARGETS) : | $(debug-tools-kecho_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +debug-tools-kecho_MCXX_CPPFLAGS := $(debug-tools-kecho_CPPFLAGS) +debug-tools-kecho_CXXFLAGS := $(debug-tools-kecho_CXXFLAGS) +ifeq ($(debug-tools-kecho_DXXFLAGS),) + debug-tools-kecho_DXXFLAGS := $(debug-tools-kecho_CXXFLAGS) +else + debug-tools-kecho_DXXFLAGS := $(debug-tools-kecho_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + debug-tools-kecho_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + debug-tools-kecho_STRIP ?= $(HOST_STRIP) + debug-tools-kecho_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + debug-tools-kecho_CXXCMD:=$(HOST_CXX) + debug-tools-kecho_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(debug-tools-kecho_MCXX_CPPFLAGS) $(debug-tools-kecho_MCXX_EXTRA_CPPFLAGS)) + debug-tools-kecho_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(debug-tools-kecho_CXXFLAGS)) + debug-tools-kecho_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(debug-tools-kecho_DXXFLAGS)) + debug-tools-kecho_CXXIQUOTE:=$(HOST_IQUOTE) + debug-tools-kecho_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + debug-tools-kecho_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + debug-tools-kecho_STRIP ?= $(TARGET_STRIP) + debug-tools-kecho_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + debug-tools-kecho_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + debug-tools-kecho_MCXX_CPPFLAGS := $(strip $(debug-tools-kecho_MCXX_CPPFLAGS) $(debug-tools-kecho_MCXX_EXTRA_CPPFLAGS)) + debug-tools-kecho_CXXFLAGS := $(strip $(debug-tools-kecho_CXXFLAGS) $(SAFETY_CFLAGS)) + debug-tools-kecho_DXXFLAGS := $(debug-tools-kecho_DXXFLAGS) + debug-tools-kecho_CXXIQUOTE:=$(CFLAGS_IQUOTE) + debug-tools-kecho_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + debug-tools-kecho_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + debug-tools-kecho_STRIP ?= $(ECHO) >/dev/null + debug-tools-kecho_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + debug-tools-kecho_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + debug-tools-kecho_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(debug-tools-kecho_MCXX_CPPFLAGS) $(debug-tools-kecho_MCXX_EXTRA_CPPFLAGS)) + debug-tools-kecho_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(debug-tools-kecho_CXXFLAGS)) + debug-tools-kecho_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(debug-tools-kecho_DXXFLAGS)) + debug-tools-kecho_CXXIQUOTE:=$(KERNEL_IQUOTE) + debug-tools-kecho_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(debug-tools-kecho_CXXCMD) $(debug-tools-kecho_CXXIQUOTE) $(dir $(2)) $(debug-tools-kecho_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_CXXIQUOTE) . $(debug-tools-kecho_CXXIQUOTE_END) $(strip $(debug-tools-kecho_CXXFLAGS) $(debug-tools-kecho_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(debug-tools-kecho_CXXCMD) $(debug-tools-kecho_CXXIQUOTE) $(dir $(2)) $(debug-tools-kecho_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_CXXIQUOTE) . $(debug-tools-kecho_CXXIQUOTE_END) $(strip $(debug-tools-kecho_CXXFLAGS) $(debug-tools-kecho_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(debug-tools-kecho_CXXCMD) $(debug-tools-kecho_CXXIQUOTE) $(dir $(2)) $(debug-tools-kecho_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_CXXIQUOTE) . $(debug-tools-kecho_CXXIQUOTE_END) $(strip $(debug-tools-kecho_CXXFLAGS) $(debug-tools-kecho_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(debug-tools-kecho_CXXCMD)" $(MKDEPEND) $(strip $(debug-tools-kecho_DXXFLAGS) $(debug-tools-kecho_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(debug-tools-kecho_OBJDIR),) + $(foreach debug-tools-kecho_CXXFILE,$(debug-tools-kecho_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(debug-tools-kecho_CXXFILE))),$(debug-tools-kecho_CXXFILE)))) +else + $(foreach debug-tools-kecho_CXXFILE,$(debug-tools-kecho_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(notdir $(basename $(debug-tools-kecho_CXXFILE)))),$(debug-tools-kecho_CXXFILE)))) +endif + +endif + + +ifneq ($(debug-tools-kecho_OBJC_NARCHFILES),) + +ifeq (,) +debug-tools-kecho_MOBJC_SRCWILDCARD := % +else +debug-tools-kecho_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-kecho_OBJDIR),) + debug-tools-kecho_MOBJC_TARGETS := $(addsuffix .o,$(debug-tools-kecho_OBJC_NARCHFILES)) + debug-tools-kecho_MOBJC_DTARGETS := $(addsuffix .d,$(debug-tools-kecho_OBJC_NARCHFILES)) + debug-tools-kecho_MOBJC_WILDCARD := % +else + debug-tools-kecho_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(debug-tools-kecho_OBJC_NARCHFILES))) + debug-tools-kecho_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(debug-tools-kecho_OBJC_NARCHFILES))) + debug-tools-kecho_MOBJC_WILDCARD := $(debug-tools-kecho_OBJDIR)/% + + # Be sure that all .m files are generated + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : | $(addsuffix .m,$(debug-tools-kecho_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + debug-tools-kecho_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + debug-tools-kecho_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-kecho_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + debug-tools-kecho_MOBJC_DIRS := $(foreach dir, $(debug-tools-kecho_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-kecho_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(debug-tools-kecho_MOBJC_DIRS),) + debug-tools-kecho_MOBJC_DIRS := $(shell echo $(debug-tools-kecho_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(debug-tools-kecho_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + debug-tools-kecho_CC := $(TARGET_CC) +else + debug-tools-kecho_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +debug-tools-kecho_MOBJC_CPPFLAGS := $(debug-tools-kecho_CPPFLAGS) +debug-tools-kecho_OBJCFLAGS := $(debug-tools-kecho_CFLAGS) +debug-tools-kecho_OBJCFLAGS := $(debug-tools-kecho_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +debug-tools-kecho_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(debug-tools-kecho_OBJCFLAGS))) +ifeq ($(debug-tools-kecho_DFLAGS),) + debug-tools-kecho_OBJCDFLAGS := $(debug-tools-kecho_CFLAGS) +else + debug-tools-kecho_OBJCDFLAGS := $(debug-tools-kecho_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + debug-tools-kecho_LINK ?= $(strip $(debug-tools-kecho_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + debug-tools-kecho_STRIP ?= $(TARGET_STRIP) + debug-tools-kecho_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : CMD:=$(strip $(debug-tools-kecho_CC) $(TARGET_SYSROOT)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_MOBJC_CPPFLAGS:=$(strip $(debug-tools-kecho_MOBJC_CPPFLAGS) $(debug-tools-kecho_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_OBJCFLAGS:=$(strip $(debug-tools-kecho_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_OBJCDFLAGS:=$(debug-tools-kecho_OBJCDFLAGS) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_IQUOTE:=$(CFLAGS_IQUOTE) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + debug-tools-kecho_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + debug-tools-kecho_STRIP ?= $(HOST_STRIP) + debug-tools-kecho_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(debug-tools-kecho_MOBJC_CPPFLAGS) $(debug-tools-kecho_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-kecho_OBJCFLAGS)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-kecho_OBJCDFLAGS)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_IQUOTE:=$(HOST_IQUOTE) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + debug-tools-kecho_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + debug-tools-kecho_STRIP ?= $(ECHO) >/dev/null + debug-tools-kecho_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(debug-tools-kecho_MOBJC_CPPFLAGS) $(debug-tools-kecho_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-kecho_OBJCFLAGS)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-kecho_OBJCDFLAGS)) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_IQUOTE:=$(KERNEL_IQUOTE) + $(debug-tools-kecho_MOBJC_TARGETS) $(debug-tools-kecho_MOBJC_DTARGETS) : debug-tools-kecho_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(debug-tools-kecho_MOBJC_TARGETS) : CPPFLAGS := $(debug-tools-kecho_MOBJC_CPPFLAGS) +$(debug-tools-kecho_MOBJC_TARGETS) : CFLAGS := $(debug-tools-kecho_OBJCFLAGS) +$(debug-tools-kecho_MOBJC_TARGETS) : $(debug-tools-kecho_MOBJC_WILDCARD).o : $(debug-tools-kecho_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(debug-tools-kecho_IQUOTE) $(dir $<) $(debug-tools-kecho_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_IQUOTE) . $(debug-tools-kecho_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(debug-tools-kecho_IQUOTE) $(dir $<) $(debug-tools-kecho_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_IQUOTE) . $(debug-tools-kecho_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(debug-tools-kecho_IQUOTE) $(dir $<) $(debug-tools-kecho_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_IQUOTE) . $(debug-tools-kecho_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(debug-tools-kecho_MOBJC_DTARGETS) : $(debug-tools-kecho_MOBJC_WILDCARD).d : $(debug-tools-kecho_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(debug-tools-kecho_OBJCDFLAGS) $(debug-tools-kecho_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +debug-tools-kecho_MC_SRCWILDCARD := % +else +debug-tools-kecho_MC_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-kecho_OBJDIR),) +debug-tools-kecho_MC_TARGETS := $(addsuffix .o,$(debug-tools-kecho_C_NARCHFILES)) +debug-tools-kecho_MC_DTARGETS := $(addsuffix .d,$(debug-tools-kecho_C_NARCHFILES)) +debug-tools-kecho_MC_TGTWILDCARD := % +else +ifeq (no,no) + debug-tools-kecho_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(notdir $(debug-tools-kecho_C_NARCHFILES)))) + debug-tools-kecho_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(notdir $(debug-tools-kecho_C_NARCHFILES)))) +else +ifeq (,) + debug-tools-kecho_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(debug-tools-kecho_C_NARCHFILES))) + debug-tools-kecho_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(debug-tools-kecho_C_NARCHFILES))) +else + debug-tools-kecho_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(patsubst /%,%,$(debug-tools-kecho_C_NARCHFILES)))) + debug-tools-kecho_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(patsubst /%,%,$(debug-tools-kecho_C_NARCHFILES)))) +endif +endif +debug-tools-kecho_MC_TGTWILDCARD := $(debug-tools-kecho_OBJDIR)/% + +# Be sure that all .c files are generated +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : | $(addsuffix .c,$(debug-tools-kecho_C_NARCHFILES)) + +# Be sure that all .c files are found +debug-tools-kecho_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +debug-tools-kecho_MC_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-kecho_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +debug-tools-kecho_MC_DIRS := $(foreach dir, $(debug-tools-kecho_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-kecho_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(debug-tools-kecho_MC_DIRS),) + debug-tools-kecho_MC_DIRS := $(shell echo $(debug-tools-kecho_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(debug-tools-kecho_MC_DIRS) +endif + +endif + +debug-tools-kecho_MC_CPPFLAGS := $(debug-tools-kecho_CPPFLAGS) +debug-tools-kecho_CFLAGS := $(debug-tools-kecho_CFLAGS) +ifeq ($(debug-tools-kecho_DFLAGS),) + debug-tools-kecho_DFLAGS := $(debug-tools-kecho_CFLAGS) +else + debug-tools-kecho_DFLAGS := $(debug-tools-kecho_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +debug-tools-kecho_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +debug-tools-kecho_STRIP ?= $(TARGET_STRIP) +debug-tools-kecho_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_MC_CPPFLAGS:=$(strip $(debug-tools-kecho_MC_CPPFLAGS) $(debug-tools-kecho_MC_EXTRA_CPPFLAGS)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_CFLAGS:=$(strip $(debug-tools-kecho_CFLAGS) $(SAFETY_CFLAGS)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_DFLAGS:=$(debug-tools-kecho_DFLAGS) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_IQUOTE:=$(CFLAGS_IQUOTE) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +debug-tools-kecho_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +debug-tools-kecho_STRIP ?= $(HOST_STRIP) +debug-tools-kecho_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : CMD:=$(HOST_CC) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(debug-tools-kecho_MC_CPPFLAGS) $(debug-tools-kecho_MC_EXTRA_CPPFLAGS)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_CFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-kecho_CFLAGS)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_DFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-kecho_DFLAGS)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_IQUOTE:=$(HOST_IQUOTE) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +debug-tools-kecho_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +debug-tools-kecho_STRIP ?= $(ECHO) >/dev/null +debug-tools-kecho_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(debug-tools-kecho_MC_CPPFLAGS) $(debug-tools-kecho_MC_EXTRA_CPPFLAGS)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-kecho_CFLAGS)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-kecho_DFLAGS)) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_IQUOTE:=$(KERNEL_IQUOTE) +$(debug-tools-kecho_MC_TARGETS) $(debug-tools-kecho_MC_DTARGETS) : debug-tools-kecho_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(debug-tools-kecho_MC_TARGETS) : CPPFLAGS := $(debug-tools-kecho_MC_CPPFLAGS) +$(debug-tools-kecho_MC_TARGETS) : CFLAGS := $(debug-tools-kecho_CFLAGS) +$(debug-tools-kecho_MC_TARGETS) : $(debug-tools-kecho_MC_TGTWILDCARD).o : $(debug-tools-kecho_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(debug-tools-kecho_IQUOTE) $(dir $<) $(debug-tools-kecho_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_IQUOTE) . $(debug-tools-kecho_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(debug-tools-kecho_IQUOTE) $(dir $<) $(debug-tools-kecho_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_IQUOTE) . $(debug-tools-kecho_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(debug-tools-kecho_IQUOTE) $(dir $<) $(debug-tools-kecho_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-kecho_IQUOTE) . $(debug-tools-kecho_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(debug-tools-kecho_MC_DTARGETS) : $(debug-tools-kecho_MC_TGTWILDCARD).d : $(debug-tools-kecho_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(debug-tools-kecho_DFLAGS) $(debug-tools-kecho_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(debug-tools-kecho_OBJDIR),) +debug-tools-kecho-MA_TARGETS := $(addsuffix .o,$(debug-tools-kecho_ASMFILES)) +debug-tools-kecho-MA_WILDCARD := % +else +debug-tools-kecho-MA_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-kecho_OBJDIR)/,$(notdir $(debug-tools-kecho_ASMFILES)))) +debug-tools-kecho-MA_WILDCARD := $(debug-tools-kecho_OBJDIR)/% + +# Be sure that all .s files are generated +$(debug-tools-kecho-MA_TARGETS) : | $(addsuffix .s,$(debug-tools-kecho_ASMFILES)) + +# Be sure that all .c files are found +debug-tools-kecho-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +debug-tools-kecho-MA_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-kecho_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +debug-tools-kecho-MA_DIRS := $(foreach dir, $(debug-tools-kecho-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-kecho-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(debug-tools-kecho-MA_DIRS),) + debug-tools-kecho-MA_DIRS := $(shell echo $(debug-tools-kecho-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(debug-tools-kecho-MA_DIRS) +endif + +endif + +debug-tools-kecho-MA_ASSEMBLER ?= $(debug-tools-kecho_ASSEMBLER) + +$(debug-tools-kecho-MA_TARGETS) : debug-tools-kecho-MA_CMD:= $(debug-tools-kecho-MA_ASSEMBLER) + +$(debug-tools-kecho-MA_TARGETS) : CPPFLAGS := $(debug-tools-kecho_CPPFLAGS) +$(debug-tools-kecho-MA_TARGETS) : AFLAGS := $(debug-tools-kecho_AFLAGS) +$(debug-tools-kecho-MA_TARGETS) : $(debug-tools-kecho-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(debug-tools-kecho-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(debug-tools-kecho-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(debug-tools-kecho-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +debug-tools-kecho-link_EXTRA_LDFLAGS := +debug-tools-kecho-link_EXTRA_LIBS := +ifeq (no,yes) + debug-tools-kecho-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + debug-tools-kecho-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + debug-tools-kecho-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +debug-tools-kecho-link_DIRS := $(subst -L ,-L,$(strip $(debug-tools-kecho_LDFLAGS))) +# Filter out only the libdirs and remove -L +debug-tools-kecho-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(debug-tools-kecho-link_DIRS))) +# Add trailing / +debug-tools-kecho-link_DIRS := $(subst //,/,$(addsuffix /,$(debug-tools-kecho-link_DIRS))) +# Add normal linklib path +debug-tools-kecho-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +debug-tools-kecho-link_LIBS := $(addprefix lib,$(addsuffix .a,$(debug-tools-kecho_LIBS) $(debug-tools-kecho-link_EXTRA_LIBS))) +ifeq (no,yes) + debug-tools-kecho-link_LIBS += startup.o +endif +ifeq (no,yes) + debug-tools-kecho-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +debug-tools-kecho-link_DEPLIBS := $(foreach lib,$(debug-tools-kecho-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(debug-tools-kecho-link_DIRS)))) \ +) + +$(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) : OBJDIR := $(debug-tools-kecho_OBJDIR) +$(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) : OBJS := $(debug-tools-kecho_OBJS) $(debug-tools-kecho_ARCHOBJS) $(USER_OBJS) +$(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) : LDFLAGS := $(strip $(debug-tools-kecho_LDFLAGS) $(debug-tools-kecho-link_EXTRA_LDFLAGS)) +$(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) : LIBS := $(addprefix -l,$(debug-tools-kecho_LIBS) $(debug-tools-kecho-link_EXTRA_LIBS) ) +$(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) : $(debug-tools-kecho_OBJS) $(debug-tools-kecho_ARCHOBJS) $(USER_OBJS) $(debug-tools-kecho-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(debug-tools-kecho_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(debug-tools-kecho_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(debug-tools-kecho_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(debug-tools-kecho_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(debug-tools-kecho_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(debug-tools-kecho_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(debug-tools-kecho_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(debug-tools-kecho_DEPS),) + ifneq (debug-tools-kecho debug-tools-kecho-quick,) + ifneq ($(findstring $(TARGET),debug-tools-kecho debug-tools-kecho-quick),) + -include $(debug-tools-kecho_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(debug-tools-kecho_DEPS) + endif + endif +endif + + +ifneq ($(debug-tools-kecho_OBJS) $(debug-tools-kecho_DEPS) $(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME),) +$(debug-tools-kecho_OBJS) $(debug-tools-kecho_DEPS) $(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) : | $(debug-tools-kecho_OBJDIR) $(debug-tools-kecho_TARGETDIR) +else +$(debug-tools-kecho_OBJS) $(debug-tools-kecho_DEPS) $(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) :: $(debug-tools-kecho_OBJDIR) $(debug-tools-kecho_TARGETDIR) +endif + +GLOB_MKDIRS += $(debug-tools-kecho_OBJDIR) $(debug-tools-kecho_TARGETDIR) + + +debug-tools-kecho-clean : FILES := $(debug-tools-kecho_OBJS) $(debug-tools-kecho_TARGETDIR)/$(debug-tools-kecho_PROGNAME) $(debug-tools-kecho_DEPS) +#MM +debug-tools-kecho-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget debug-tools-kecho" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/sashimi/mmakefile b/developer/debug/sashimi/mmakefile new file mode 100644 index 00000000000..e6b80ddb243 --- /dev/null +++ b/developer/debug/sashimi/mmakefile @@ -0,0 +1,630 @@ +# $Id$ +# +# Makefile for the Workbench:Tools/Debug directory. + +include $(SRCDIR)/config/aros.cfg + +#MM- debug-tools : debug-tools-sasimi +#MM debug-tools-sasimi : includes linklibs + + +.PHONY : debug-tools-sasimi + +debug-tools-sasimi_PROGNAME := sashimi +debug-tools-sasimi_OBJDIR := $(GENDIR)/$(CURDIR) +debug-tools-sasimi_TARGETDIR := $(AROS_DEBUG) +debug-tools-sasimi_LINKER := +debug-tools-sasimi_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(debug-tools-sasimi_LINKER),) + debug-tools-sasimi_LINKER := target +endif + +ifneq ("$(strip sashimi )","") + debug-tools-sasimi_FILES := sashimi + debug-tools-sasimi_OBJCFILES := + debug-tools-sasimi_ASMFILES := + debug-tools-sasimi_CXXFILES := +else + debug-tools-sasimi_FILES := $(debug-tools-sasimi_PROGNAME) + debug-tools-sasimi_OBJCFILES := + debug-tools-sasimi_ASMFILES := + debug-tools-sasimi_CXXFILES := +endif + +debug-tools-sasimi_ARCHOBJS := $(wildcard $(debug-tools-sasimi_OBJDIR)/arch/*.o) +debug-tools-sasimi_ARCHFILES := $(basename $(notdir $(debug-tools-sasimi_ARCHOBJS))) +debug-tools-sasimi_C_NARCHFILES := $(filter-out $(debug-tools-sasimi_ARCHFILES),$(debug-tools-sasimi_FILES)) +debug-tools-sasimi_CXX_NARCHFILES := $(filter-out $(debug-tools-sasimi_ARCHFILES),$(debug-tools-sasimi_CXXFILES)) +debug-tools-sasimi_OBJC_NARCHFILES := $(filter-out $(debug-tools-sasimi_ARCHFILES),$(debug-tools-sasimi_OBJCFILES)) + +TMP_FILES := $(debug-tools-sasimi_C_NARCHFILES) $(debug-tools-sasimi_CXX_NARCHFILES) $(debug-tools-sasimi_ASMFILES) $(debug-tools-sasimi_OBJC_NARCHFILES) +debug-tools-sasimi_OBJS := $(addsuffix .o,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(notdir $(TMP_FILES)))) +debug-tools-sasimi_DEPS := $(addsuffix .d,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(notdir $(TMP_FILES)))) + +debug-tools-sasimi_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +debug-tools-sasimi_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-sasimi_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +debug-tools-sasimi_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +debug-tools-sasimi_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +debug-tools-sasimi_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-sasimi_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +debug-tools-sasimi_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +debug-tools-sasimi_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +debug-tools-sasimi_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-sasimi_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +debug-tools-sasimi_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +debug-tools-sasimi_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +debug-tools-sasimi_LDFLAGS := +endif + +debug-tools-sasimi_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +debug-tools-sasimi_COVERAGE := yes +debug-tools-sasimi_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +debug-tools-sasimi_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +debug-tools-sasimi_CFLAGS := $(strip $(debug-tools-sasimi_COVERAGEFLAGS) $(debug-tools-sasimi_CFLAGS)) +debug-tools-sasimi_CXXFLAGS := $(strip $(debug-tools-sasimi_COVERAGEFLAGS) $(debug-tools-sasimi_CXXFLAGS)) +debug-tools-sasimi_LIBS += $(debug-tools-sasimi_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +debug-tools-sasimi_FUNCINSTR := yes +debug-tools-sasimi_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +debug-tools-sasimi_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +debug-tools-sasimi_CFLAGS := $(strip $(debug-tools-sasimi_INSTRFUNCFLAGS) $(debug-tools-sasimi_CFLAGS)) +debug-tools-sasimi_CXXFLAGS := $(strip $(debug-tools-sasimi_INSTRFUNCFLAGS) $(debug-tools-sasimi_CXXFLAGS)) +debug-tools-sasimi_LIBS += $(debug-tools-sasimi_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +debug-tools-sasimi_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(debug-tools-sasimi_CFLAGS)) +debug-tools-sasimi_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(debug-tools-sasimi_CXXFLAGS)) +endif +endif +debug-tools-sasimi_AFLAGS := $(AFLAGS) +ifneq (,) + debug-tools-sasimi_DFLAGS := +else + debug-tools-sasimi_DFLAGS := $(debug-tools-sasimi_CFLAGS) +endif +ifneq (,) + debug-tools-sasimi_DXXFLAGS := +else + debug-tools-sasimi_DXXFLAGS := $(debug-tools-sasimi_CXXFLAGS) +endif +ifeq (target,target) +debug-tools-sasimi_LDFLAGS := $(debug-tools-sasimi_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +debug-tools-sasimi_LDFLAGS := $(debug-tools-sasimi_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +debug-tools-sasimi_LDFLAGS := $(debug-tools-sasimi_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +debug-tools-sasimi_LDFLAGS += -L +endif + +#MM +debug-tools-sasimi-quick : debug-tools-sasimi + +#MM debug-tools-sasimi : includes-generate-deps core-linklibs +debug-tools-sasimi : $(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) + +ifneq ($(filter $(TARGET),debug-tools-sasimi debug-tools-sasimi-quick debug-tools-sasimi-gz-quick),) + +debug-tools-sasimi_CXXABSBASENAMES := $(foreach debug-tools-sasimi_CXXBASE,$(debug-tools-sasimi_CXX_NARCHFILES),$(if $(filter /%,$(debug-tools-sasimi_CXXBASE)),$(debug-tools-sasimi_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(debug-tools-sasimi_CXXBASE)))) + +ifneq ($(debug-tools-sasimi_CXXABSBASENAMES),) + +debug-tools-sasimi_CXXBASENAMES := $(basename $(debug-tools-sasimi_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +debug-tools-sasimi_MCXX_FILES := $(strip $(foreach debug-tools-sasimi_CXXBASE,$(debug-tools-sasimi_CXXABSBASENAMES), $(firstword $(wildcard $(foreach debug-tools-sasimi_EXT, $(AROS_CXXEXTS),$(addsuffix .$(debug-tools-sasimi_EXT),$(debug-tools-sasimi_CXXBASE))))))) + +ifeq (,) +debug-tools-sasimi_MCXX_SRCWILDCARD := % +else +debug-tools-sasimi_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-sasimi_OBJDIR),) + debug-tools-sasimi_CXXTARGETS := $(notdir $(debug-tools-sasimi_CXXBASENAMES:=.o)) + debug-tools-sasimi_CXXDTARGETS := $(notdir $(debug-tools-sasimi_CXXBASENAMES:=.d)) + debug-tools-sasimi_MCXX_WILDCARD := % +else + debug-tools-sasimi_CXXTARGETS := $(addprefix $(debug-tools-sasimi_OBJDIR)/,$(notdir $(debug-tools-sasimi_CXXBASENAMES:=.o))) + debug-tools-sasimi_CXXDTARGETS := $(addprefix $(debug-tools-sasimi_OBJDIR)/,$(notdir $(debug-tools-sasimi_CXXBASENAMES:=.d))) + debug-tools-sasimi_MCXX_WILDCARD := $(debug-tools-sasimi_OBJDIR)/% + + # Be sure that all source files are generated + $(debug-tools-sasimi_CXXTARGETS) $(debug-tools-sasimi_CXXDTARGETS) : | $(debug-tools-sasimi_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +debug-tools-sasimi_MCXX_CPPFLAGS := $(debug-tools-sasimi_CPPFLAGS) +debug-tools-sasimi_CXXFLAGS := $(debug-tools-sasimi_CXXFLAGS) +ifeq ($(debug-tools-sasimi_DXXFLAGS),) + debug-tools-sasimi_DXXFLAGS := $(debug-tools-sasimi_CXXFLAGS) +else + debug-tools-sasimi_DXXFLAGS := $(debug-tools-sasimi_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + debug-tools-sasimi_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + debug-tools-sasimi_STRIP ?= $(HOST_STRIP) + debug-tools-sasimi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + debug-tools-sasimi_CXXCMD:=$(HOST_CXX) + debug-tools-sasimi_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(debug-tools-sasimi_MCXX_CPPFLAGS) $(debug-tools-sasimi_MCXX_EXTRA_CPPFLAGS)) + debug-tools-sasimi_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(debug-tools-sasimi_CXXFLAGS)) + debug-tools-sasimi_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(debug-tools-sasimi_DXXFLAGS)) + debug-tools-sasimi_CXXIQUOTE:=$(HOST_IQUOTE) + debug-tools-sasimi_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + debug-tools-sasimi_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + debug-tools-sasimi_STRIP ?= $(TARGET_STRIP) + debug-tools-sasimi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + debug-tools-sasimi_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + debug-tools-sasimi_MCXX_CPPFLAGS := $(strip $(debug-tools-sasimi_MCXX_CPPFLAGS) $(debug-tools-sasimi_MCXX_EXTRA_CPPFLAGS)) + debug-tools-sasimi_CXXFLAGS := $(strip $(debug-tools-sasimi_CXXFLAGS) $(SAFETY_CFLAGS)) + debug-tools-sasimi_DXXFLAGS := $(debug-tools-sasimi_DXXFLAGS) + debug-tools-sasimi_CXXIQUOTE:=$(CFLAGS_IQUOTE) + debug-tools-sasimi_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + debug-tools-sasimi_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + debug-tools-sasimi_STRIP ?= $(ECHO) >/dev/null + debug-tools-sasimi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + debug-tools-sasimi_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + debug-tools-sasimi_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(debug-tools-sasimi_MCXX_CPPFLAGS) $(debug-tools-sasimi_MCXX_EXTRA_CPPFLAGS)) + debug-tools-sasimi_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(debug-tools-sasimi_CXXFLAGS)) + debug-tools-sasimi_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(debug-tools-sasimi_DXXFLAGS)) + debug-tools-sasimi_CXXIQUOTE:=$(KERNEL_IQUOTE) + debug-tools-sasimi_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(debug-tools-sasimi_CXXCMD) $(debug-tools-sasimi_CXXIQUOTE) $(dir $(2)) $(debug-tools-sasimi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_CXXIQUOTE) . $(debug-tools-sasimi_CXXIQUOTE_END) $(strip $(debug-tools-sasimi_CXXFLAGS) $(debug-tools-sasimi_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(debug-tools-sasimi_CXXCMD) $(debug-tools-sasimi_CXXIQUOTE) $(dir $(2)) $(debug-tools-sasimi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_CXXIQUOTE) . $(debug-tools-sasimi_CXXIQUOTE_END) $(strip $(debug-tools-sasimi_CXXFLAGS) $(debug-tools-sasimi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(debug-tools-sasimi_CXXCMD) $(debug-tools-sasimi_CXXIQUOTE) $(dir $(2)) $(debug-tools-sasimi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_CXXIQUOTE) . $(debug-tools-sasimi_CXXIQUOTE_END) $(strip $(debug-tools-sasimi_CXXFLAGS) $(debug-tools-sasimi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(debug-tools-sasimi_CXXCMD)" $(MKDEPEND) $(strip $(debug-tools-sasimi_DXXFLAGS) $(debug-tools-sasimi_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(debug-tools-sasimi_OBJDIR),) + $(foreach debug-tools-sasimi_CXXFILE,$(debug-tools-sasimi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(debug-tools-sasimi_CXXFILE))),$(debug-tools-sasimi_CXXFILE)))) +else + $(foreach debug-tools-sasimi_CXXFILE,$(debug-tools-sasimi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(notdir $(basename $(debug-tools-sasimi_CXXFILE)))),$(debug-tools-sasimi_CXXFILE)))) +endif + +endif + + +ifneq ($(debug-tools-sasimi_OBJC_NARCHFILES),) + +ifeq (,) +debug-tools-sasimi_MOBJC_SRCWILDCARD := % +else +debug-tools-sasimi_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-sasimi_OBJDIR),) + debug-tools-sasimi_MOBJC_TARGETS := $(addsuffix .o,$(debug-tools-sasimi_OBJC_NARCHFILES)) + debug-tools-sasimi_MOBJC_DTARGETS := $(addsuffix .d,$(debug-tools-sasimi_OBJC_NARCHFILES)) + debug-tools-sasimi_MOBJC_WILDCARD := % +else + debug-tools-sasimi_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(debug-tools-sasimi_OBJC_NARCHFILES))) + debug-tools-sasimi_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(debug-tools-sasimi_OBJC_NARCHFILES))) + debug-tools-sasimi_MOBJC_WILDCARD := $(debug-tools-sasimi_OBJDIR)/% + + # Be sure that all .m files are generated + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : | $(addsuffix .m,$(debug-tools-sasimi_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + debug-tools-sasimi_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + debug-tools-sasimi_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-sasimi_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + debug-tools-sasimi_MOBJC_DIRS := $(foreach dir, $(debug-tools-sasimi_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-sasimi_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(debug-tools-sasimi_MOBJC_DIRS),) + debug-tools-sasimi_MOBJC_DIRS := $(shell echo $(debug-tools-sasimi_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(debug-tools-sasimi_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + debug-tools-sasimi_CC := $(TARGET_CC) +else + debug-tools-sasimi_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +debug-tools-sasimi_MOBJC_CPPFLAGS := $(debug-tools-sasimi_CPPFLAGS) +debug-tools-sasimi_OBJCFLAGS := $(debug-tools-sasimi_CFLAGS) +debug-tools-sasimi_OBJCFLAGS := $(debug-tools-sasimi_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +debug-tools-sasimi_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(debug-tools-sasimi_OBJCFLAGS))) +ifeq ($(debug-tools-sasimi_DFLAGS),) + debug-tools-sasimi_OBJCDFLAGS := $(debug-tools-sasimi_CFLAGS) +else + debug-tools-sasimi_OBJCDFLAGS := $(debug-tools-sasimi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + debug-tools-sasimi_LINK ?= $(strip $(debug-tools-sasimi_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + debug-tools-sasimi_STRIP ?= $(TARGET_STRIP) + debug-tools-sasimi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : CMD:=$(strip $(debug-tools-sasimi_CC) $(TARGET_SYSROOT)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_MOBJC_CPPFLAGS:=$(strip $(debug-tools-sasimi_MOBJC_CPPFLAGS) $(debug-tools-sasimi_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_OBJCFLAGS:=$(strip $(debug-tools-sasimi_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_OBJCDFLAGS:=$(debug-tools-sasimi_OBJCDFLAGS) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_IQUOTE:=$(CFLAGS_IQUOTE) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + debug-tools-sasimi_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + debug-tools-sasimi_STRIP ?= $(HOST_STRIP) + debug-tools-sasimi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(debug-tools-sasimi_MOBJC_CPPFLAGS) $(debug-tools-sasimi_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-sasimi_OBJCFLAGS)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-sasimi_OBJCDFLAGS)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_IQUOTE:=$(HOST_IQUOTE) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + debug-tools-sasimi_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + debug-tools-sasimi_STRIP ?= $(ECHO) >/dev/null + debug-tools-sasimi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(debug-tools-sasimi_MOBJC_CPPFLAGS) $(debug-tools-sasimi_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-sasimi_OBJCFLAGS)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-sasimi_OBJCDFLAGS)) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_IQUOTE:=$(KERNEL_IQUOTE) + $(debug-tools-sasimi_MOBJC_TARGETS) $(debug-tools-sasimi_MOBJC_DTARGETS) : debug-tools-sasimi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(debug-tools-sasimi_MOBJC_TARGETS) : CPPFLAGS := $(debug-tools-sasimi_MOBJC_CPPFLAGS) +$(debug-tools-sasimi_MOBJC_TARGETS) : CFLAGS := $(debug-tools-sasimi_OBJCFLAGS) +$(debug-tools-sasimi_MOBJC_TARGETS) : $(debug-tools-sasimi_MOBJC_WILDCARD).o : $(debug-tools-sasimi_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(debug-tools-sasimi_IQUOTE) $(dir $<) $(debug-tools-sasimi_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_IQUOTE) . $(debug-tools-sasimi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(debug-tools-sasimi_IQUOTE) $(dir $<) $(debug-tools-sasimi_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_IQUOTE) . $(debug-tools-sasimi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(debug-tools-sasimi_IQUOTE) $(dir $<) $(debug-tools-sasimi_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_IQUOTE) . $(debug-tools-sasimi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(debug-tools-sasimi_MOBJC_DTARGETS) : $(debug-tools-sasimi_MOBJC_WILDCARD).d : $(debug-tools-sasimi_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(debug-tools-sasimi_OBJCDFLAGS) $(debug-tools-sasimi_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +debug-tools-sasimi_MC_SRCWILDCARD := % +else +debug-tools-sasimi_MC_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-sasimi_OBJDIR),) +debug-tools-sasimi_MC_TARGETS := $(addsuffix .o,$(debug-tools-sasimi_C_NARCHFILES)) +debug-tools-sasimi_MC_DTARGETS := $(addsuffix .d,$(debug-tools-sasimi_C_NARCHFILES)) +debug-tools-sasimi_MC_TGTWILDCARD := % +else +ifeq (no,no) + debug-tools-sasimi_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(notdir $(debug-tools-sasimi_C_NARCHFILES)))) + debug-tools-sasimi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(notdir $(debug-tools-sasimi_C_NARCHFILES)))) +else +ifeq (,) + debug-tools-sasimi_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(debug-tools-sasimi_C_NARCHFILES))) + debug-tools-sasimi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(debug-tools-sasimi_C_NARCHFILES))) +else + debug-tools-sasimi_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(patsubst /%,%,$(debug-tools-sasimi_C_NARCHFILES)))) + debug-tools-sasimi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(patsubst /%,%,$(debug-tools-sasimi_C_NARCHFILES)))) +endif +endif +debug-tools-sasimi_MC_TGTWILDCARD := $(debug-tools-sasimi_OBJDIR)/% + +# Be sure that all .c files are generated +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : | $(addsuffix .c,$(debug-tools-sasimi_C_NARCHFILES)) + +# Be sure that all .c files are found +debug-tools-sasimi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +debug-tools-sasimi_MC_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-sasimi_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +debug-tools-sasimi_MC_DIRS := $(foreach dir, $(debug-tools-sasimi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-sasimi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(debug-tools-sasimi_MC_DIRS),) + debug-tools-sasimi_MC_DIRS := $(shell echo $(debug-tools-sasimi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(debug-tools-sasimi_MC_DIRS) +endif + +endif + +debug-tools-sasimi_MC_CPPFLAGS := $(debug-tools-sasimi_CPPFLAGS) +debug-tools-sasimi_CFLAGS := $(debug-tools-sasimi_CFLAGS) +ifeq ($(debug-tools-sasimi_DFLAGS),) + debug-tools-sasimi_DFLAGS := $(debug-tools-sasimi_CFLAGS) +else + debug-tools-sasimi_DFLAGS := $(debug-tools-sasimi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +debug-tools-sasimi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +debug-tools-sasimi_STRIP ?= $(TARGET_STRIP) +debug-tools-sasimi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_MC_CPPFLAGS:=$(strip $(debug-tools-sasimi_MC_CPPFLAGS) $(debug-tools-sasimi_MC_EXTRA_CPPFLAGS)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_CFLAGS:=$(strip $(debug-tools-sasimi_CFLAGS) $(SAFETY_CFLAGS)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_DFLAGS:=$(debug-tools-sasimi_DFLAGS) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_IQUOTE:=$(CFLAGS_IQUOTE) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +debug-tools-sasimi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +debug-tools-sasimi_STRIP ?= $(HOST_STRIP) +debug-tools-sasimi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(debug-tools-sasimi_MC_CPPFLAGS) $(debug-tools-sasimi_MC_EXTRA_CPPFLAGS)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_CFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-sasimi_CFLAGS)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_DFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-sasimi_DFLAGS)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_IQUOTE:=$(HOST_IQUOTE) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +debug-tools-sasimi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +debug-tools-sasimi_STRIP ?= $(ECHO) >/dev/null +debug-tools-sasimi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(debug-tools-sasimi_MC_CPPFLAGS) $(debug-tools-sasimi_MC_EXTRA_CPPFLAGS)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-sasimi_CFLAGS)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-sasimi_DFLAGS)) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_IQUOTE:=$(KERNEL_IQUOTE) +$(debug-tools-sasimi_MC_TARGETS) $(debug-tools-sasimi_MC_DTARGETS) : debug-tools-sasimi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(debug-tools-sasimi_MC_TARGETS) : CPPFLAGS := $(debug-tools-sasimi_MC_CPPFLAGS) +$(debug-tools-sasimi_MC_TARGETS) : CFLAGS := $(debug-tools-sasimi_CFLAGS) +$(debug-tools-sasimi_MC_TARGETS) : $(debug-tools-sasimi_MC_TGTWILDCARD).o : $(debug-tools-sasimi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(debug-tools-sasimi_IQUOTE) $(dir $<) $(debug-tools-sasimi_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_IQUOTE) . $(debug-tools-sasimi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(debug-tools-sasimi_IQUOTE) $(dir $<) $(debug-tools-sasimi_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_IQUOTE) . $(debug-tools-sasimi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(debug-tools-sasimi_IQUOTE) $(dir $<) $(debug-tools-sasimi_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-sasimi_IQUOTE) . $(debug-tools-sasimi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(debug-tools-sasimi_MC_DTARGETS) : $(debug-tools-sasimi_MC_TGTWILDCARD).d : $(debug-tools-sasimi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(debug-tools-sasimi_DFLAGS) $(debug-tools-sasimi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(debug-tools-sasimi_OBJDIR),) +debug-tools-sasimi-MA_TARGETS := $(addsuffix .o,$(debug-tools-sasimi_ASMFILES)) +debug-tools-sasimi-MA_WILDCARD := % +else +debug-tools-sasimi-MA_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-sasimi_OBJDIR)/,$(notdir $(debug-tools-sasimi_ASMFILES)))) +debug-tools-sasimi-MA_WILDCARD := $(debug-tools-sasimi_OBJDIR)/% + +# Be sure that all .s files are generated +$(debug-tools-sasimi-MA_TARGETS) : | $(addsuffix .s,$(debug-tools-sasimi_ASMFILES)) + +# Be sure that all .c files are found +debug-tools-sasimi-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +debug-tools-sasimi-MA_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-sasimi_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +debug-tools-sasimi-MA_DIRS := $(foreach dir, $(debug-tools-sasimi-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-sasimi-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(debug-tools-sasimi-MA_DIRS),) + debug-tools-sasimi-MA_DIRS := $(shell echo $(debug-tools-sasimi-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(debug-tools-sasimi-MA_DIRS) +endif + +endif + +debug-tools-sasimi-MA_ASSEMBLER ?= $(debug-tools-sasimi_ASSEMBLER) + +$(debug-tools-sasimi-MA_TARGETS) : debug-tools-sasimi-MA_CMD:= $(debug-tools-sasimi-MA_ASSEMBLER) + +$(debug-tools-sasimi-MA_TARGETS) : CPPFLAGS := $(debug-tools-sasimi_CPPFLAGS) +$(debug-tools-sasimi-MA_TARGETS) : AFLAGS := $(debug-tools-sasimi_AFLAGS) +$(debug-tools-sasimi-MA_TARGETS) : $(debug-tools-sasimi-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(debug-tools-sasimi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(debug-tools-sasimi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(debug-tools-sasimi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +debug-tools-sasimi-link_EXTRA_LDFLAGS := +debug-tools-sasimi-link_EXTRA_LIBS := +ifeq (no,yes) + debug-tools-sasimi-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + debug-tools-sasimi-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + debug-tools-sasimi-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +debug-tools-sasimi-link_DIRS := $(subst -L ,-L,$(strip $(debug-tools-sasimi_LDFLAGS))) +# Filter out only the libdirs and remove -L +debug-tools-sasimi-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(debug-tools-sasimi-link_DIRS))) +# Add trailing / +debug-tools-sasimi-link_DIRS := $(subst //,/,$(addsuffix /,$(debug-tools-sasimi-link_DIRS))) +# Add normal linklib path +debug-tools-sasimi-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +debug-tools-sasimi-link_LIBS := $(addprefix lib,$(addsuffix .a,$(debug-tools-sasimi_LIBS) $(debug-tools-sasimi-link_EXTRA_LIBS))) +ifeq (yes,yes) + debug-tools-sasimi-link_LIBS += startup.o +endif +ifeq (no,yes) + debug-tools-sasimi-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +debug-tools-sasimi-link_DEPLIBS := $(foreach lib,$(debug-tools-sasimi-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(debug-tools-sasimi-link_DIRS)))) \ +) + +$(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) : OBJDIR := $(debug-tools-sasimi_OBJDIR) +$(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) : OBJS := $(debug-tools-sasimi_OBJS) $(debug-tools-sasimi_ARCHOBJS) $(USER_OBJS) +$(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) : LDFLAGS := $(strip $(debug-tools-sasimi_LDFLAGS) $(debug-tools-sasimi-link_EXTRA_LDFLAGS)) +$(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) : LIBS := $(addprefix -l,$(debug-tools-sasimi_LIBS) $(debug-tools-sasimi-link_EXTRA_LIBS) ) +$(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) : $(debug-tools-sasimi_OBJS) $(debug-tools-sasimi_ARCHOBJS) $(USER_OBJS) $(debug-tools-sasimi-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(debug-tools-sasimi_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(debug-tools-sasimi_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(debug-tools-sasimi_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(debug-tools-sasimi_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(debug-tools-sasimi_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(debug-tools-sasimi_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(debug-tools-sasimi_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(debug-tools-sasimi_DEPS),) + ifneq (debug-tools-sasimi debug-tools-sasimi-quick,) + ifneq ($(findstring $(TARGET),debug-tools-sasimi debug-tools-sasimi-quick),) + -include $(debug-tools-sasimi_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(debug-tools-sasimi_DEPS) + endif + endif +endif + + +ifneq ($(debug-tools-sasimi_OBJS) $(debug-tools-sasimi_DEPS) $(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME),) +$(debug-tools-sasimi_OBJS) $(debug-tools-sasimi_DEPS) $(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) : | $(debug-tools-sasimi_OBJDIR) $(debug-tools-sasimi_TARGETDIR) +else +$(debug-tools-sasimi_OBJS) $(debug-tools-sasimi_DEPS) $(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) :: $(debug-tools-sasimi_OBJDIR) $(debug-tools-sasimi_TARGETDIR) +endif + +GLOB_MKDIRS += $(debug-tools-sasimi_OBJDIR) $(debug-tools-sasimi_TARGETDIR) + + +debug-tools-sasimi-clean : FILES := $(debug-tools-sasimi_OBJS) $(debug-tools-sasimi_TARGETDIR)/$(debug-tools-sasimi_PROGNAME) $(debug-tools-sasimi_DEPS) +#MM +debug-tools-sasimi-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget debug-tools-sasimi" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/Zune/mmakefile b/developer/debug/test/Zune/mmakefile new file mode 100644 index 00000000000..b57396d85d3 --- /dev/null +++ b/developer/debug/test/Zune/mmakefile @@ -0,0 +1,319 @@ +# $Id$ +# +# Makefile for Zune test programs + +include $(SRCDIR)/config/aros.cfg + +FILES := test \ + virttest \ + gradient \ + volumelist \ + dirlist \ + disable \ + dtpic \ + font \ + string \ + numericbutton \ + poplist \ + popscreen \ + crawling \ + levelmeter \ + knob \ + texticonlist \ + loginwindow \ + busy \ + hideshow \ + settings \ + dynlist \ + listinsertactive \ + mui4test + +USER_CFLAGS := -I $(SRCDIR)/workbench/system/Wanderer/Classes + +EXEDIR := $(AROS_TESTS)/Zune + +#MM test-zune : includes linklibs workbench-classes-zune-busy + + +.PHONY : test-zune + +test-zune_OBJDIR := $(GENDIR)/$(CURDIR) +test-zune_TARGETDIR := $(EXEDIR) +test-zune_LIBS := + +test-zune_FILES := $(FILES) +test-zune_OBJS := $(addsuffix .o,$(addprefix $(test-zune_OBJDIR)/,$(test-zune_FILES))) +test-zune_DEPS := $(addsuffix .d,$(addprefix $(test-zune_OBJDIR)/,$(test-zune_FILES))) +test-zune_EXES := $(addprefix $(test-zune_TARGETDIR)/,$(test-zune_FILES)) + +test-zune_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-zune_CPPFLAGS += -I +endif +test-zune_CFLAGS := $(CFLAGS) +test-zune_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-zune_COVERAGE := yes +test-zune_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-zune_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-zune_CFLAGS := $(strip $(test-zune_COVERAGEFLAGS) $(test-zune_CFLAGS)) +test-zune_LIBS += $(test-zune_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-zune_FUNCINSTR := yes +test-zune_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-zune_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-zune_CFLAGS := $(strip $(test-zune_INSTRFUNCFLAGS) $(test-zune_CFLAGS)) +test-zune_LIBS += $(test-zune_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-zune_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-zune_CFLAGS)) +endif +endif +ifneq (,) + test-zune_DFLAGS := +else + test-zune_DFLAGS := $(test-zune_CFLAGS) +endif +ifeq (target,target) +test-zune_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-zune_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-zune_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-zune_LDFLAGS += -L +endif + +#MM +test-zune-quick : test-zune + +#MM test-zune : includes-generate-deps core-linklibs +test-zune : $(test-zune_EXES) + +ifneq ($(filter $(TARGET),test-zune test-zune-quick),) + +ifeq (,) +test-zune_MC_SRCWILDCARD := % +else +test-zune_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-zune_OBJDIR),) +test-zune_MC_TARGETS := $(addsuffix .o,$(test-zune_FILES)) +test-zune_MC_DTARGETS := $(addsuffix .d,$(test-zune_FILES)) +test-zune_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-zune_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-zune_OBJDIR)/,$(notdir $(test-zune_FILES)))) + test-zune_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-zune_OBJDIR)/,$(notdir $(test-zune_FILES)))) +else +ifeq (,) + test-zune_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-zune_OBJDIR)/,$(test-zune_FILES))) + test-zune_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-zune_OBJDIR)/,$(test-zune_FILES))) +else + test-zune_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-zune_OBJDIR)/,$(patsubst /%,%,$(test-zune_FILES)))) + test-zune_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-zune_OBJDIR)/,$(patsubst /%,%,$(test-zune_FILES)))) +endif +endif +test-zune_MC_TGTWILDCARD := $(test-zune_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : | $(addsuffix .c,$(test-zune_FILES)) + +# Be sure that all .c files are found +test-zune_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-zune_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-zune_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-zune_MC_DIRS := $(foreach dir, $(test-zune_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-zune_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-zune_MC_DIRS),) + test-zune_MC_DIRS := $(shell echo $(test-zune_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-zune_MC_DIRS) +endif + +endif + +test-zune_MC_CPPFLAGS := $(test-zune_CPPFLAGS) +test-zune_CFLAGS := $(test-zune_CFLAGS) +ifeq ($(test-zune_DFLAGS),) + test-zune_DFLAGS := $(test-zune_CFLAGS) +else + test-zune_DFLAGS := $(test-zune_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-zune_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-zune_STRIP ?= $(TARGET_STRIP) +test-zune_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_MC_CPPFLAGS:=$(strip $(test-zune_MC_CPPFLAGS) $(test-zune_MC_EXTRA_CPPFLAGS)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_CFLAGS:=$(strip $(test-zune_CFLAGS) $(SAFETY_CFLAGS)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_DFLAGS:=$(test-zune_DFLAGS) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-zune_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-zune_STRIP ?= $(HOST_STRIP) +test-zune_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-zune_MC_CPPFLAGS) $(test-zune_MC_EXTRA_CPPFLAGS)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-zune_CFLAGS)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-zune_DFLAGS)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_IQUOTE:=$(HOST_IQUOTE) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-zune_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-zune_STRIP ?= $(ECHO) >/dev/null +test-zune_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-zune_MC_CPPFLAGS) $(test-zune_MC_EXTRA_CPPFLAGS)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-zune_CFLAGS)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-zune_DFLAGS)) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_IQUOTE:=$(KERNEL_IQUOTE) +$(test-zune_MC_TARGETS) $(test-zune_MC_DTARGETS) : test-zune_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-zune_MC_TARGETS) : CPPFLAGS := $(test-zune_MC_CPPFLAGS) +$(test-zune_MC_TARGETS) : CFLAGS := $(test-zune_CFLAGS) +$(test-zune_MC_TARGETS) : $(test-zune_MC_TGTWILDCARD).o : $(test-zune_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-zune_IQUOTE) $(dir $<) $(test-zune_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-zune_IQUOTE) . $(test-zune_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-zune_IQUOTE) $(dir $<) $(test-zune_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-zune_IQUOTE) . $(test-zune_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-zune_IQUOTE) $(dir $<) $(test-zune_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-zune_IQUOTE) . $(test-zune_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-zune_MC_DTARGETS) : $(test-zune_MC_TGTWILDCARD).d : $(test-zune_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-zune_DFLAGS) $(test-zune_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-zune-link_EXTRA_LDFLAGS := +test-zune-link_EXTRA_LIBS := +ifeq (no,yes) + test-zune-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-zune-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-zune-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-zune-link_DIRS := $(subst -L ,-L,$(strip $(test-zune_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-zune-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-zune-link_DIRS))) +# Add trailing / +test-zune-link_DIRS := $(subst //,/,$(addsuffix /,$(test-zune-link_DIRS))) +# Add normal linklib path +test-zune-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-zune-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-zune_LIBS) $(test-zune-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-zune-link_DEPLIBS := $(foreach lib,$(test-zune-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-zune-link_DIRS)))) \ +) +test-zune-link_PROGS := $(addprefix $(test-zune_TARGETDIR)/,$(test-zune_FILES)) + +$(test-zune-link_PROGS) : OBJDIR := $(test-zune_OBJDIR) +$(test-zune-link_PROGS) : LDFLAGS := $(strip $(test-zune_LDFLAGS) $(test-zune-link_EXTRA_LDFLAGS)) +$(test-zune-link_PROGS) : LIBS := $(addprefix -l,$(test-zune_LIBS) $(test-zune-link_EXTRA_LIBS) ) +$(test-zune-link_PROGS) : $(test-zune_TARGETDIR)/% : $(test-zune_OBJDIR)/%.o $(test-zune-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-zune_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-zune_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-zune_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-zune_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-zune_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-zune_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-zune_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-zune_DEPS),) + ifneq (test-zune test-zune-quick,) + ifneq ($(findstring $(TARGET),test-zune test-zune-quick),) + -include $(test-zune_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-zune_DEPS) + endif + endif +endif + + +ifneq ($(test-zune_DEPS) $(test-zune_OBJS) $(addprefix $(test-zune_TARGETDIR)/,$(test-zune_FILES)),) +$(test-zune_DEPS) $(test-zune_OBJS) $(addprefix $(test-zune_TARGETDIR)/,$(test-zune_FILES)) : | $(test-zune_TARGETDIR) $(test-zune_OBJDIR) +else +$(test-zune_DEPS) $(test-zune_OBJS) $(addprefix $(test-zune_TARGETDIR)/,$(test-zune_FILES)) :: $(test-zune_TARGETDIR) $(test-zune_OBJDIR) +endif + +GLOB_MKDIRS += $(test-zune_TARGETDIR) $(test-zune_OBJDIR) + + +test-zune-clean : FILES := $(test-zune_OBJS) $(test-zune_EXES) $(test-zune_DEPS) +#MM +test-zune-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-zune" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/benchmarks/boopsi/mmakefile b/developer/debug/test/benchmarks/boopsi/mmakefile new file mode 100644 index 00000000000..66a2393b764 --- /dev/null +++ b/developer/debug/test/benchmarks/boopsi/mmakefile @@ -0,0 +1,296 @@ +# Copyright © 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := newobject domethod +EXEDIR := $(AROS_TESTS)/benchmarks/boopsi + +#MM- test-benchmarks : test-benchmarks-boopsi +#MM- test-benchmarks-quick : test-benchmarks-boopsi-quick + +#MM test-benchmarks-boopsi : includes linklibs + + +.PHONY : test-benchmarks-boopsi + +test-benchmarks-boopsi_OBJDIR := $(GENDIR)/$(CURDIR) +test-benchmarks-boopsi_TARGETDIR := $(EXEDIR) +test-benchmarks-boopsi_LIBS := + +test-benchmarks-boopsi_FILES := $(FILES) +test-benchmarks-boopsi_OBJS := $(addsuffix .o,$(addprefix $(test-benchmarks-boopsi_OBJDIR)/,$(test-benchmarks-boopsi_FILES))) +test-benchmarks-boopsi_DEPS := $(addsuffix .d,$(addprefix $(test-benchmarks-boopsi_OBJDIR)/,$(test-benchmarks-boopsi_FILES))) +test-benchmarks-boopsi_EXES := $(addprefix $(test-benchmarks-boopsi_TARGETDIR)/,$(test-benchmarks-boopsi_FILES)) + +test-benchmarks-boopsi_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-benchmarks-boopsi_CPPFLAGS += -I +endif +test-benchmarks-boopsi_CFLAGS := $(CFLAGS) +test-benchmarks-boopsi_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-benchmarks-boopsi_COVERAGE := yes +test-benchmarks-boopsi_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-benchmarks-boopsi_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-benchmarks-boopsi_CFLAGS := $(strip $(test-benchmarks-boopsi_COVERAGEFLAGS) $(test-benchmarks-boopsi_CFLAGS)) +test-benchmarks-boopsi_LIBS += $(test-benchmarks-boopsi_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-benchmarks-boopsi_FUNCINSTR := yes +test-benchmarks-boopsi_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-benchmarks-boopsi_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-benchmarks-boopsi_CFLAGS := $(strip $(test-benchmarks-boopsi_INSTRFUNCFLAGS) $(test-benchmarks-boopsi_CFLAGS)) +test-benchmarks-boopsi_LIBS += $(test-benchmarks-boopsi_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-benchmarks-boopsi_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-benchmarks-boopsi_CFLAGS)) +endif +endif +ifneq (,) + test-benchmarks-boopsi_DFLAGS := +else + test-benchmarks-boopsi_DFLAGS := $(test-benchmarks-boopsi_CFLAGS) +endif +ifeq (target,target) +test-benchmarks-boopsi_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-benchmarks-boopsi_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-benchmarks-boopsi_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-benchmarks-boopsi_LDFLAGS += -L +endif + +#MM +test-benchmarks-boopsi-quick : test-benchmarks-boopsi + +#MM test-benchmarks-boopsi : includes-generate-deps core-linklibs +test-benchmarks-boopsi : $(test-benchmarks-boopsi_EXES) + +ifneq ($(filter $(TARGET),test-benchmarks-boopsi test-benchmarks-boopsi-quick),) + +ifeq (,) +test-benchmarks-boopsi_MC_SRCWILDCARD := % +else +test-benchmarks-boopsi_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-benchmarks-boopsi_OBJDIR),) +test-benchmarks-boopsi_MC_TARGETS := $(addsuffix .o,$(test-benchmarks-boopsi_FILES)) +test-benchmarks-boopsi_MC_DTARGETS := $(addsuffix .d,$(test-benchmarks-boopsi_FILES)) +test-benchmarks-boopsi_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-benchmarks-boopsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-boopsi_OBJDIR)/,$(notdir $(test-benchmarks-boopsi_FILES)))) + test-benchmarks-boopsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-boopsi_OBJDIR)/,$(notdir $(test-benchmarks-boopsi_FILES)))) +else +ifeq (,) + test-benchmarks-boopsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-boopsi_OBJDIR)/,$(test-benchmarks-boopsi_FILES))) + test-benchmarks-boopsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-boopsi_OBJDIR)/,$(test-benchmarks-boopsi_FILES))) +else + test-benchmarks-boopsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-boopsi_OBJDIR)/,$(patsubst /%,%,$(test-benchmarks-boopsi_FILES)))) + test-benchmarks-boopsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-boopsi_OBJDIR)/,$(patsubst /%,%,$(test-benchmarks-boopsi_FILES)))) +endif +endif +test-benchmarks-boopsi_MC_TGTWILDCARD := $(test-benchmarks-boopsi_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : | $(addsuffix .c,$(test-benchmarks-boopsi_FILES)) + +# Be sure that all .c files are found +test-benchmarks-boopsi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-benchmarks-boopsi_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-benchmarks-boopsi_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-benchmarks-boopsi_MC_DIRS := $(foreach dir, $(test-benchmarks-boopsi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-benchmarks-boopsi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-benchmarks-boopsi_MC_DIRS),) + test-benchmarks-boopsi_MC_DIRS := $(shell echo $(test-benchmarks-boopsi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-benchmarks-boopsi_MC_DIRS) +endif + +endif + +test-benchmarks-boopsi_MC_CPPFLAGS := $(test-benchmarks-boopsi_CPPFLAGS) +test-benchmarks-boopsi_CFLAGS := $(test-benchmarks-boopsi_CFLAGS) +ifeq ($(test-benchmarks-boopsi_DFLAGS),) + test-benchmarks-boopsi_DFLAGS := $(test-benchmarks-boopsi_CFLAGS) +else + test-benchmarks-boopsi_DFLAGS := $(test-benchmarks-boopsi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-benchmarks-boopsi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-benchmarks-boopsi_STRIP ?= $(TARGET_STRIP) +test-benchmarks-boopsi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_MC_CPPFLAGS:=$(strip $(test-benchmarks-boopsi_MC_CPPFLAGS) $(test-benchmarks-boopsi_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_CFLAGS:=$(strip $(test-benchmarks-boopsi_CFLAGS) $(SAFETY_CFLAGS)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_DFLAGS:=$(test-benchmarks-boopsi_DFLAGS) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-benchmarks-boopsi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-benchmarks-boopsi_STRIP ?= $(HOST_STRIP) +test-benchmarks-boopsi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-benchmarks-boopsi_MC_CPPFLAGS) $(test-benchmarks-boopsi_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-benchmarks-boopsi_CFLAGS)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-benchmarks-boopsi_DFLAGS)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_IQUOTE:=$(HOST_IQUOTE) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-benchmarks-boopsi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-benchmarks-boopsi_STRIP ?= $(ECHO) >/dev/null +test-benchmarks-boopsi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-benchmarks-boopsi_MC_CPPFLAGS) $(test-benchmarks-boopsi_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-benchmarks-boopsi_CFLAGS)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-benchmarks-boopsi_DFLAGS)) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_IQUOTE:=$(KERNEL_IQUOTE) +$(test-benchmarks-boopsi_MC_TARGETS) $(test-benchmarks-boopsi_MC_DTARGETS) : test-benchmarks-boopsi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-benchmarks-boopsi_MC_TARGETS) : CPPFLAGS := $(test-benchmarks-boopsi_MC_CPPFLAGS) +$(test-benchmarks-boopsi_MC_TARGETS) : CFLAGS := $(test-benchmarks-boopsi_CFLAGS) +$(test-benchmarks-boopsi_MC_TARGETS) : $(test-benchmarks-boopsi_MC_TGTWILDCARD).o : $(test-benchmarks-boopsi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-benchmarks-boopsi_IQUOTE) $(dir $<) $(test-benchmarks-boopsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-boopsi_IQUOTE) . $(test-benchmarks-boopsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-benchmarks-boopsi_IQUOTE) $(dir $<) $(test-benchmarks-boopsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-boopsi_IQUOTE) . $(test-benchmarks-boopsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-benchmarks-boopsi_IQUOTE) $(dir $<) $(test-benchmarks-boopsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-boopsi_IQUOTE) . $(test-benchmarks-boopsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-benchmarks-boopsi_MC_DTARGETS) : $(test-benchmarks-boopsi_MC_TGTWILDCARD).d : $(test-benchmarks-boopsi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-benchmarks-boopsi_DFLAGS) $(test-benchmarks-boopsi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-benchmarks-boopsi-link_EXTRA_LDFLAGS := +test-benchmarks-boopsi-link_EXTRA_LIBS := +ifeq (no,yes) + test-benchmarks-boopsi-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-benchmarks-boopsi-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-benchmarks-boopsi-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-benchmarks-boopsi-link_DIRS := $(subst -L ,-L,$(strip $(test-benchmarks-boopsi_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-benchmarks-boopsi-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-benchmarks-boopsi-link_DIRS))) +# Add trailing / +test-benchmarks-boopsi-link_DIRS := $(subst //,/,$(addsuffix /,$(test-benchmarks-boopsi-link_DIRS))) +# Add normal linklib path +test-benchmarks-boopsi-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-benchmarks-boopsi-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-benchmarks-boopsi_LIBS) $(test-benchmarks-boopsi-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-benchmarks-boopsi-link_DEPLIBS := $(foreach lib,$(test-benchmarks-boopsi-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-benchmarks-boopsi-link_DIRS)))) \ +) +test-benchmarks-boopsi-link_PROGS := $(addprefix $(test-benchmarks-boopsi_TARGETDIR)/,$(test-benchmarks-boopsi_FILES)) + +$(test-benchmarks-boopsi-link_PROGS) : OBJDIR := $(test-benchmarks-boopsi_OBJDIR) +$(test-benchmarks-boopsi-link_PROGS) : LDFLAGS := $(strip $(test-benchmarks-boopsi_LDFLAGS) $(test-benchmarks-boopsi-link_EXTRA_LDFLAGS)) +$(test-benchmarks-boopsi-link_PROGS) : LIBS := $(addprefix -l,$(test-benchmarks-boopsi_LIBS) $(test-benchmarks-boopsi-link_EXTRA_LIBS) ) +$(test-benchmarks-boopsi-link_PROGS) : $(test-benchmarks-boopsi_TARGETDIR)/% : $(test-benchmarks-boopsi_OBJDIR)/%.o $(test-benchmarks-boopsi-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-benchmarks-boopsi_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-benchmarks-boopsi_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-benchmarks-boopsi_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-benchmarks-boopsi_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-benchmarks-boopsi_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-benchmarks-boopsi_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-benchmarks-boopsi_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-benchmarks-boopsi_DEPS),) + ifneq (test-benchmarks-boopsi test-benchmarks-boopsi-quick,) + ifneq ($(findstring $(TARGET),test-benchmarks-boopsi test-benchmarks-boopsi-quick),) + -include $(test-benchmarks-boopsi_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-benchmarks-boopsi_DEPS) + endif + endif +endif + + +ifneq ($(test-benchmarks-boopsi_DEPS) $(test-benchmarks-boopsi_OBJS) $(addprefix $(test-benchmarks-boopsi_TARGETDIR)/,$(test-benchmarks-boopsi_FILES)),) +$(test-benchmarks-boopsi_DEPS) $(test-benchmarks-boopsi_OBJS) $(addprefix $(test-benchmarks-boopsi_TARGETDIR)/,$(test-benchmarks-boopsi_FILES)) : | $(test-benchmarks-boopsi_TARGETDIR) $(test-benchmarks-boopsi_OBJDIR) +else +$(test-benchmarks-boopsi_DEPS) $(test-benchmarks-boopsi_OBJS) $(addprefix $(test-benchmarks-boopsi_TARGETDIR)/,$(test-benchmarks-boopsi_FILES)) :: $(test-benchmarks-boopsi_TARGETDIR) $(test-benchmarks-boopsi_OBJDIR) +endif + +GLOB_MKDIRS += $(test-benchmarks-boopsi_TARGETDIR) $(test-benchmarks-boopsi_OBJDIR) + + +test-benchmarks-boopsi-clean : FILES := $(test-benchmarks-boopsi_OBJS) $(test-benchmarks-boopsi_EXES) $(test-benchmarks-boopsi_DEPS) +#MM +test-benchmarks-boopsi-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-benchmarks-boopsi" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/benchmarks/clib/mmakefile b/developer/debug/test/benchmarks/clib/mmakefile new file mode 100644 index 00000000000..bf5c20bab4e --- /dev/null +++ b/developer/debug/test/benchmarks/clib/mmakefile @@ -0,0 +1,296 @@ +# Copyright © 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := memset string stdio +EXEDIR := $(AROS_TESTS)/benchmarks/clib + +#MM- test-benchmarks : test-benchmarks-clib +#MM- test-benchmarks-quick : test-benchmarks-clib-quick + +#MM test-benchmarks-clib : includes linklibs + + +.PHONY : test-benchmarks-clib + +test-benchmarks-clib_OBJDIR := $(GENDIR)/$(CURDIR) +test-benchmarks-clib_TARGETDIR := $(EXEDIR) +test-benchmarks-clib_LIBS := + +test-benchmarks-clib_FILES := $(FILES) +test-benchmarks-clib_OBJS := $(addsuffix .o,$(addprefix $(test-benchmarks-clib_OBJDIR)/,$(test-benchmarks-clib_FILES))) +test-benchmarks-clib_DEPS := $(addsuffix .d,$(addprefix $(test-benchmarks-clib_OBJDIR)/,$(test-benchmarks-clib_FILES))) +test-benchmarks-clib_EXES := $(addprefix $(test-benchmarks-clib_TARGETDIR)/,$(test-benchmarks-clib_FILES)) + +test-benchmarks-clib_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-benchmarks-clib_CPPFLAGS += -I +endif +test-benchmarks-clib_CFLAGS := $(CFLAGS) +test-benchmarks-clib_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-benchmarks-clib_COVERAGE := yes +test-benchmarks-clib_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-benchmarks-clib_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-benchmarks-clib_CFLAGS := $(strip $(test-benchmarks-clib_COVERAGEFLAGS) $(test-benchmarks-clib_CFLAGS)) +test-benchmarks-clib_LIBS += $(test-benchmarks-clib_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-benchmarks-clib_FUNCINSTR := yes +test-benchmarks-clib_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-benchmarks-clib_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-benchmarks-clib_CFLAGS := $(strip $(test-benchmarks-clib_INSTRFUNCFLAGS) $(test-benchmarks-clib_CFLAGS)) +test-benchmarks-clib_LIBS += $(test-benchmarks-clib_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-benchmarks-clib_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-benchmarks-clib_CFLAGS)) +endif +endif +ifneq (,) + test-benchmarks-clib_DFLAGS := +else + test-benchmarks-clib_DFLAGS := $(test-benchmarks-clib_CFLAGS) +endif +ifeq (target,target) +test-benchmarks-clib_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-benchmarks-clib_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-benchmarks-clib_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-benchmarks-clib_LDFLAGS += -L +endif + +#MM +test-benchmarks-clib-quick : test-benchmarks-clib + +#MM test-benchmarks-clib : includes-generate-deps core-linklibs +test-benchmarks-clib : $(test-benchmarks-clib_EXES) + +ifneq ($(filter $(TARGET),test-benchmarks-clib test-benchmarks-clib-quick),) + +ifeq (,) +test-benchmarks-clib_MC_SRCWILDCARD := % +else +test-benchmarks-clib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-benchmarks-clib_OBJDIR),) +test-benchmarks-clib_MC_TARGETS := $(addsuffix .o,$(test-benchmarks-clib_FILES)) +test-benchmarks-clib_MC_DTARGETS := $(addsuffix .d,$(test-benchmarks-clib_FILES)) +test-benchmarks-clib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-benchmarks-clib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-clib_OBJDIR)/,$(notdir $(test-benchmarks-clib_FILES)))) + test-benchmarks-clib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-clib_OBJDIR)/,$(notdir $(test-benchmarks-clib_FILES)))) +else +ifeq (,) + test-benchmarks-clib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-clib_OBJDIR)/,$(test-benchmarks-clib_FILES))) + test-benchmarks-clib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-clib_OBJDIR)/,$(test-benchmarks-clib_FILES))) +else + test-benchmarks-clib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-clib_OBJDIR)/,$(patsubst /%,%,$(test-benchmarks-clib_FILES)))) + test-benchmarks-clib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-clib_OBJDIR)/,$(patsubst /%,%,$(test-benchmarks-clib_FILES)))) +endif +endif +test-benchmarks-clib_MC_TGTWILDCARD := $(test-benchmarks-clib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : | $(addsuffix .c,$(test-benchmarks-clib_FILES)) + +# Be sure that all .c files are found +test-benchmarks-clib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-benchmarks-clib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-benchmarks-clib_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-benchmarks-clib_MC_DIRS := $(foreach dir, $(test-benchmarks-clib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-benchmarks-clib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-benchmarks-clib_MC_DIRS),) + test-benchmarks-clib_MC_DIRS := $(shell echo $(test-benchmarks-clib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-benchmarks-clib_MC_DIRS) +endif + +endif + +test-benchmarks-clib_MC_CPPFLAGS := $(test-benchmarks-clib_CPPFLAGS) +test-benchmarks-clib_CFLAGS := $(test-benchmarks-clib_CFLAGS) +ifeq ($(test-benchmarks-clib_DFLAGS),) + test-benchmarks-clib_DFLAGS := $(test-benchmarks-clib_CFLAGS) +else + test-benchmarks-clib_DFLAGS := $(test-benchmarks-clib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-benchmarks-clib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-benchmarks-clib_STRIP ?= $(TARGET_STRIP) +test-benchmarks-clib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_MC_CPPFLAGS:=$(strip $(test-benchmarks-clib_MC_CPPFLAGS) $(test-benchmarks-clib_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_CFLAGS:=$(strip $(test-benchmarks-clib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_DFLAGS:=$(test-benchmarks-clib_DFLAGS) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-benchmarks-clib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-benchmarks-clib_STRIP ?= $(HOST_STRIP) +test-benchmarks-clib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-benchmarks-clib_MC_CPPFLAGS) $(test-benchmarks-clib_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-benchmarks-clib_CFLAGS)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-benchmarks-clib_DFLAGS)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_IQUOTE:=$(HOST_IQUOTE) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-benchmarks-clib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-benchmarks-clib_STRIP ?= $(ECHO) >/dev/null +test-benchmarks-clib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-benchmarks-clib_MC_CPPFLAGS) $(test-benchmarks-clib_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-benchmarks-clib_CFLAGS)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-benchmarks-clib_DFLAGS)) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-benchmarks-clib_MC_TARGETS) $(test-benchmarks-clib_MC_DTARGETS) : test-benchmarks-clib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-benchmarks-clib_MC_TARGETS) : CPPFLAGS := $(test-benchmarks-clib_MC_CPPFLAGS) +$(test-benchmarks-clib_MC_TARGETS) : CFLAGS := $(test-benchmarks-clib_CFLAGS) +$(test-benchmarks-clib_MC_TARGETS) : $(test-benchmarks-clib_MC_TGTWILDCARD).o : $(test-benchmarks-clib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-benchmarks-clib_IQUOTE) $(dir $<) $(test-benchmarks-clib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-clib_IQUOTE) . $(test-benchmarks-clib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-benchmarks-clib_IQUOTE) $(dir $<) $(test-benchmarks-clib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-clib_IQUOTE) . $(test-benchmarks-clib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-benchmarks-clib_IQUOTE) $(dir $<) $(test-benchmarks-clib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-clib_IQUOTE) . $(test-benchmarks-clib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-benchmarks-clib_MC_DTARGETS) : $(test-benchmarks-clib_MC_TGTWILDCARD).d : $(test-benchmarks-clib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-benchmarks-clib_DFLAGS) $(test-benchmarks-clib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-benchmarks-clib-link_EXTRA_LDFLAGS := +test-benchmarks-clib-link_EXTRA_LIBS := +ifeq (no,yes) + test-benchmarks-clib-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-benchmarks-clib-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-benchmarks-clib-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-benchmarks-clib-link_DIRS := $(subst -L ,-L,$(strip $(test-benchmarks-clib_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-benchmarks-clib-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-benchmarks-clib-link_DIRS))) +# Add trailing / +test-benchmarks-clib-link_DIRS := $(subst //,/,$(addsuffix /,$(test-benchmarks-clib-link_DIRS))) +# Add normal linklib path +test-benchmarks-clib-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-benchmarks-clib-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-benchmarks-clib_LIBS) $(test-benchmarks-clib-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-benchmarks-clib-link_DEPLIBS := $(foreach lib,$(test-benchmarks-clib-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-benchmarks-clib-link_DIRS)))) \ +) +test-benchmarks-clib-link_PROGS := $(addprefix $(test-benchmarks-clib_TARGETDIR)/,$(test-benchmarks-clib_FILES)) + +$(test-benchmarks-clib-link_PROGS) : OBJDIR := $(test-benchmarks-clib_OBJDIR) +$(test-benchmarks-clib-link_PROGS) : LDFLAGS := $(strip $(test-benchmarks-clib_LDFLAGS) $(test-benchmarks-clib-link_EXTRA_LDFLAGS)) +$(test-benchmarks-clib-link_PROGS) : LIBS := $(addprefix -l,$(test-benchmarks-clib_LIBS) $(test-benchmarks-clib-link_EXTRA_LIBS) ) +$(test-benchmarks-clib-link_PROGS) : $(test-benchmarks-clib_TARGETDIR)/% : $(test-benchmarks-clib_OBJDIR)/%.o $(test-benchmarks-clib-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-benchmarks-clib_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-benchmarks-clib_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-benchmarks-clib_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-benchmarks-clib_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-benchmarks-clib_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-benchmarks-clib_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-benchmarks-clib_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-benchmarks-clib_DEPS),) + ifneq (test-benchmarks-clib test-benchmarks-clib-quick,) + ifneq ($(findstring $(TARGET),test-benchmarks-clib test-benchmarks-clib-quick),) + -include $(test-benchmarks-clib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-benchmarks-clib_DEPS) + endif + endif +endif + + +ifneq ($(test-benchmarks-clib_DEPS) $(test-benchmarks-clib_OBJS) $(addprefix $(test-benchmarks-clib_TARGETDIR)/,$(test-benchmarks-clib_FILES)),) +$(test-benchmarks-clib_DEPS) $(test-benchmarks-clib_OBJS) $(addprefix $(test-benchmarks-clib_TARGETDIR)/,$(test-benchmarks-clib_FILES)) : | $(test-benchmarks-clib_TARGETDIR) $(test-benchmarks-clib_OBJDIR) +else +$(test-benchmarks-clib_DEPS) $(test-benchmarks-clib_OBJS) $(addprefix $(test-benchmarks-clib_TARGETDIR)/,$(test-benchmarks-clib_FILES)) :: $(test-benchmarks-clib_TARGETDIR) $(test-benchmarks-clib_OBJDIR) +endif + +GLOB_MKDIRS += $(test-benchmarks-clib_TARGETDIR) $(test-benchmarks-clib_OBJDIR) + + +test-benchmarks-clib-clean : FILES := $(test-benchmarks-clib_OBJS) $(test-benchmarks-clib_EXES) $(test-benchmarks-clib_DEPS) +#MM +test-benchmarks-clib-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-benchmarks-clib" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/benchmarks/exec/mmakefile b/developer/debug/test/benchmarks/exec/mmakefile new file mode 100644 index 00000000000..be12daed618 --- /dev/null +++ b/developer/debug/test/benchmarks/exec/mmakefile @@ -0,0 +1,296 @@ +# Copyright © 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := allocvec allocpooled taskswitch2 +EXEDIR := $(AROS_TESTS)/benchmarks/exec + +#MM- test-benchmarks : test-benchmarks-exec +#MM- test-benchmarks-quick : test-benchmarks-exec-quick + +#MM test-benchmarks-exec : includes linklibs + + +.PHONY : test-benchmarks-exec + +test-benchmarks-exec_OBJDIR := $(GENDIR)/$(CURDIR) +test-benchmarks-exec_TARGETDIR := $(EXEDIR) +test-benchmarks-exec_LIBS := + +test-benchmarks-exec_FILES := $(FILES) +test-benchmarks-exec_OBJS := $(addsuffix .o,$(addprefix $(test-benchmarks-exec_OBJDIR)/,$(test-benchmarks-exec_FILES))) +test-benchmarks-exec_DEPS := $(addsuffix .d,$(addprefix $(test-benchmarks-exec_OBJDIR)/,$(test-benchmarks-exec_FILES))) +test-benchmarks-exec_EXES := $(addprefix $(test-benchmarks-exec_TARGETDIR)/,$(test-benchmarks-exec_FILES)) + +test-benchmarks-exec_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-benchmarks-exec_CPPFLAGS += -I +endif +test-benchmarks-exec_CFLAGS := $(CFLAGS) +test-benchmarks-exec_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-benchmarks-exec_COVERAGE := yes +test-benchmarks-exec_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-benchmarks-exec_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-benchmarks-exec_CFLAGS := $(strip $(test-benchmarks-exec_COVERAGEFLAGS) $(test-benchmarks-exec_CFLAGS)) +test-benchmarks-exec_LIBS += $(test-benchmarks-exec_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-benchmarks-exec_FUNCINSTR := yes +test-benchmarks-exec_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-benchmarks-exec_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-benchmarks-exec_CFLAGS := $(strip $(test-benchmarks-exec_INSTRFUNCFLAGS) $(test-benchmarks-exec_CFLAGS)) +test-benchmarks-exec_LIBS += $(test-benchmarks-exec_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-benchmarks-exec_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-benchmarks-exec_CFLAGS)) +endif +endif +ifneq (,) + test-benchmarks-exec_DFLAGS := +else + test-benchmarks-exec_DFLAGS := $(test-benchmarks-exec_CFLAGS) +endif +ifeq (target,target) +test-benchmarks-exec_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-benchmarks-exec_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-benchmarks-exec_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-benchmarks-exec_LDFLAGS += -L +endif + +#MM +test-benchmarks-exec-quick : test-benchmarks-exec + +#MM test-benchmarks-exec : includes-generate-deps core-linklibs +test-benchmarks-exec : $(test-benchmarks-exec_EXES) + +ifneq ($(filter $(TARGET),test-benchmarks-exec test-benchmarks-exec-quick),) + +ifeq (,) +test-benchmarks-exec_MC_SRCWILDCARD := % +else +test-benchmarks-exec_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-benchmarks-exec_OBJDIR),) +test-benchmarks-exec_MC_TARGETS := $(addsuffix .o,$(test-benchmarks-exec_FILES)) +test-benchmarks-exec_MC_DTARGETS := $(addsuffix .d,$(test-benchmarks-exec_FILES)) +test-benchmarks-exec_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-benchmarks-exec_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-exec_OBJDIR)/,$(notdir $(test-benchmarks-exec_FILES)))) + test-benchmarks-exec_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-exec_OBJDIR)/,$(notdir $(test-benchmarks-exec_FILES)))) +else +ifeq (,) + test-benchmarks-exec_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-exec_OBJDIR)/,$(test-benchmarks-exec_FILES))) + test-benchmarks-exec_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-exec_OBJDIR)/,$(test-benchmarks-exec_FILES))) +else + test-benchmarks-exec_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-exec_OBJDIR)/,$(patsubst /%,%,$(test-benchmarks-exec_FILES)))) + test-benchmarks-exec_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-exec_OBJDIR)/,$(patsubst /%,%,$(test-benchmarks-exec_FILES)))) +endif +endif +test-benchmarks-exec_MC_TGTWILDCARD := $(test-benchmarks-exec_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : | $(addsuffix .c,$(test-benchmarks-exec_FILES)) + +# Be sure that all .c files are found +test-benchmarks-exec_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-benchmarks-exec_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-benchmarks-exec_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-benchmarks-exec_MC_DIRS := $(foreach dir, $(test-benchmarks-exec_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-benchmarks-exec_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-benchmarks-exec_MC_DIRS),) + test-benchmarks-exec_MC_DIRS := $(shell echo $(test-benchmarks-exec_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-benchmarks-exec_MC_DIRS) +endif + +endif + +test-benchmarks-exec_MC_CPPFLAGS := $(test-benchmarks-exec_CPPFLAGS) +test-benchmarks-exec_CFLAGS := $(test-benchmarks-exec_CFLAGS) +ifeq ($(test-benchmarks-exec_DFLAGS),) + test-benchmarks-exec_DFLAGS := $(test-benchmarks-exec_CFLAGS) +else + test-benchmarks-exec_DFLAGS := $(test-benchmarks-exec_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-benchmarks-exec_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-benchmarks-exec_STRIP ?= $(TARGET_STRIP) +test-benchmarks-exec_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_MC_CPPFLAGS:=$(strip $(test-benchmarks-exec_MC_CPPFLAGS) $(test-benchmarks-exec_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_CFLAGS:=$(strip $(test-benchmarks-exec_CFLAGS) $(SAFETY_CFLAGS)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_DFLAGS:=$(test-benchmarks-exec_DFLAGS) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-benchmarks-exec_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-benchmarks-exec_STRIP ?= $(HOST_STRIP) +test-benchmarks-exec_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-benchmarks-exec_MC_CPPFLAGS) $(test-benchmarks-exec_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-benchmarks-exec_CFLAGS)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-benchmarks-exec_DFLAGS)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_IQUOTE:=$(HOST_IQUOTE) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-benchmarks-exec_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-benchmarks-exec_STRIP ?= $(ECHO) >/dev/null +test-benchmarks-exec_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-benchmarks-exec_MC_CPPFLAGS) $(test-benchmarks-exec_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-benchmarks-exec_CFLAGS)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-benchmarks-exec_DFLAGS)) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_IQUOTE:=$(KERNEL_IQUOTE) +$(test-benchmarks-exec_MC_TARGETS) $(test-benchmarks-exec_MC_DTARGETS) : test-benchmarks-exec_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-benchmarks-exec_MC_TARGETS) : CPPFLAGS := $(test-benchmarks-exec_MC_CPPFLAGS) +$(test-benchmarks-exec_MC_TARGETS) : CFLAGS := $(test-benchmarks-exec_CFLAGS) +$(test-benchmarks-exec_MC_TARGETS) : $(test-benchmarks-exec_MC_TGTWILDCARD).o : $(test-benchmarks-exec_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-benchmarks-exec_IQUOTE) $(dir $<) $(test-benchmarks-exec_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-exec_IQUOTE) . $(test-benchmarks-exec_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-benchmarks-exec_IQUOTE) $(dir $<) $(test-benchmarks-exec_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-exec_IQUOTE) . $(test-benchmarks-exec_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-benchmarks-exec_IQUOTE) $(dir $<) $(test-benchmarks-exec_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-exec_IQUOTE) . $(test-benchmarks-exec_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-benchmarks-exec_MC_DTARGETS) : $(test-benchmarks-exec_MC_TGTWILDCARD).d : $(test-benchmarks-exec_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-benchmarks-exec_DFLAGS) $(test-benchmarks-exec_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-benchmarks-exec-link_EXTRA_LDFLAGS := +test-benchmarks-exec-link_EXTRA_LIBS := +ifeq (no,yes) + test-benchmarks-exec-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-benchmarks-exec-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-benchmarks-exec-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-benchmarks-exec-link_DIRS := $(subst -L ,-L,$(strip $(test-benchmarks-exec_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-benchmarks-exec-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-benchmarks-exec-link_DIRS))) +# Add trailing / +test-benchmarks-exec-link_DIRS := $(subst //,/,$(addsuffix /,$(test-benchmarks-exec-link_DIRS))) +# Add normal linklib path +test-benchmarks-exec-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-benchmarks-exec-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-benchmarks-exec_LIBS) $(test-benchmarks-exec-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-benchmarks-exec-link_DEPLIBS := $(foreach lib,$(test-benchmarks-exec-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-benchmarks-exec-link_DIRS)))) \ +) +test-benchmarks-exec-link_PROGS := $(addprefix $(test-benchmarks-exec_TARGETDIR)/,$(test-benchmarks-exec_FILES)) + +$(test-benchmarks-exec-link_PROGS) : OBJDIR := $(test-benchmarks-exec_OBJDIR) +$(test-benchmarks-exec-link_PROGS) : LDFLAGS := $(strip $(test-benchmarks-exec_LDFLAGS) $(test-benchmarks-exec-link_EXTRA_LDFLAGS)) +$(test-benchmarks-exec-link_PROGS) : LIBS := $(addprefix -l,$(test-benchmarks-exec_LIBS) $(test-benchmarks-exec-link_EXTRA_LIBS) ) +$(test-benchmarks-exec-link_PROGS) : $(test-benchmarks-exec_TARGETDIR)/% : $(test-benchmarks-exec_OBJDIR)/%.o $(test-benchmarks-exec-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-benchmarks-exec_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-benchmarks-exec_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-benchmarks-exec_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-benchmarks-exec_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-benchmarks-exec_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-benchmarks-exec_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-benchmarks-exec_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-benchmarks-exec_DEPS),) + ifneq (test-benchmarks-exec test-benchmarks-exec-quick,) + ifneq ($(findstring $(TARGET),test-benchmarks-exec test-benchmarks-exec-quick),) + -include $(test-benchmarks-exec_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-benchmarks-exec_DEPS) + endif + endif +endif + + +ifneq ($(test-benchmarks-exec_DEPS) $(test-benchmarks-exec_OBJS) $(addprefix $(test-benchmarks-exec_TARGETDIR)/,$(test-benchmarks-exec_FILES)),) +$(test-benchmarks-exec_DEPS) $(test-benchmarks-exec_OBJS) $(addprefix $(test-benchmarks-exec_TARGETDIR)/,$(test-benchmarks-exec_FILES)) : | $(test-benchmarks-exec_TARGETDIR) $(test-benchmarks-exec_OBJDIR) +else +$(test-benchmarks-exec_DEPS) $(test-benchmarks-exec_OBJS) $(addprefix $(test-benchmarks-exec_TARGETDIR)/,$(test-benchmarks-exec_FILES)) :: $(test-benchmarks-exec_TARGETDIR) $(test-benchmarks-exec_OBJDIR) +endif + +GLOB_MKDIRS += $(test-benchmarks-exec_TARGETDIR) $(test-benchmarks-exec_OBJDIR) + + +test-benchmarks-exec-clean : FILES := $(test-benchmarks-exec_OBJS) $(test-benchmarks-exec_EXES) $(test-benchmarks-exec_DEPS) +#MM +test-benchmarks-exec-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-benchmarks-exec" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/benchmarks/graphics/mmakefile b/developer/debug/test/benchmarks/graphics/mmakefile new file mode 100644 index 00000000000..378473f7acf --- /dev/null +++ b/developer/debug/test/benchmarks/graphics/mmakefile @@ -0,0 +1,296 @@ +# Copyright © 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := primitives pixelarray text gfxbench amigademo +EXEDIR := $(AROS_TESTS)/benchmarks/graphics + +#MM- test-benchmarks : test-benchmarks-graphics +#MM- test-benchmarks-quick : test-benchmarks-graphics-quick + +#MM test-benchmarks-graphics : includes linklibs + + +.PHONY : test-benchmarks-graphics + +test-benchmarks-graphics_OBJDIR := $(GENDIR)/$(CURDIR) +test-benchmarks-graphics_TARGETDIR := $(EXEDIR) +test-benchmarks-graphics_LIBS := + +test-benchmarks-graphics_FILES := $(FILES) +test-benchmarks-graphics_OBJS := $(addsuffix .o,$(addprefix $(test-benchmarks-graphics_OBJDIR)/,$(test-benchmarks-graphics_FILES))) +test-benchmarks-graphics_DEPS := $(addsuffix .d,$(addprefix $(test-benchmarks-graphics_OBJDIR)/,$(test-benchmarks-graphics_FILES))) +test-benchmarks-graphics_EXES := $(addprefix $(test-benchmarks-graphics_TARGETDIR)/,$(test-benchmarks-graphics_FILES)) + +test-benchmarks-graphics_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-benchmarks-graphics_CPPFLAGS += -I +endif +test-benchmarks-graphics_CFLAGS := $(CFLAGS) +test-benchmarks-graphics_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-benchmarks-graphics_COVERAGE := yes +test-benchmarks-graphics_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-benchmarks-graphics_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-benchmarks-graphics_CFLAGS := $(strip $(test-benchmarks-graphics_COVERAGEFLAGS) $(test-benchmarks-graphics_CFLAGS)) +test-benchmarks-graphics_LIBS += $(test-benchmarks-graphics_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-benchmarks-graphics_FUNCINSTR := yes +test-benchmarks-graphics_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-benchmarks-graphics_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-benchmarks-graphics_CFLAGS := $(strip $(test-benchmarks-graphics_INSTRFUNCFLAGS) $(test-benchmarks-graphics_CFLAGS)) +test-benchmarks-graphics_LIBS += $(test-benchmarks-graphics_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-benchmarks-graphics_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-benchmarks-graphics_CFLAGS)) +endif +endif +ifneq (,) + test-benchmarks-graphics_DFLAGS := +else + test-benchmarks-graphics_DFLAGS := $(test-benchmarks-graphics_CFLAGS) +endif +ifeq (target,target) +test-benchmarks-graphics_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-benchmarks-graphics_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-benchmarks-graphics_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-benchmarks-graphics_LDFLAGS += -L +endif + +#MM +test-benchmarks-graphics-quick : test-benchmarks-graphics + +#MM test-benchmarks-graphics : includes-generate-deps core-linklibs +test-benchmarks-graphics : $(test-benchmarks-graphics_EXES) + +ifneq ($(filter $(TARGET),test-benchmarks-graphics test-benchmarks-graphics-quick),) + +ifeq (,) +test-benchmarks-graphics_MC_SRCWILDCARD := % +else +test-benchmarks-graphics_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-benchmarks-graphics_OBJDIR),) +test-benchmarks-graphics_MC_TARGETS := $(addsuffix .o,$(test-benchmarks-graphics_FILES)) +test-benchmarks-graphics_MC_DTARGETS := $(addsuffix .d,$(test-benchmarks-graphics_FILES)) +test-benchmarks-graphics_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-benchmarks-graphics_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-graphics_OBJDIR)/,$(notdir $(test-benchmarks-graphics_FILES)))) + test-benchmarks-graphics_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-graphics_OBJDIR)/,$(notdir $(test-benchmarks-graphics_FILES)))) +else +ifeq (,) + test-benchmarks-graphics_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-graphics_OBJDIR)/,$(test-benchmarks-graphics_FILES))) + test-benchmarks-graphics_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-graphics_OBJDIR)/,$(test-benchmarks-graphics_FILES))) +else + test-benchmarks-graphics_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-benchmarks-graphics_OBJDIR)/,$(patsubst /%,%,$(test-benchmarks-graphics_FILES)))) + test-benchmarks-graphics_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-benchmarks-graphics_OBJDIR)/,$(patsubst /%,%,$(test-benchmarks-graphics_FILES)))) +endif +endif +test-benchmarks-graphics_MC_TGTWILDCARD := $(test-benchmarks-graphics_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : | $(addsuffix .c,$(test-benchmarks-graphics_FILES)) + +# Be sure that all .c files are found +test-benchmarks-graphics_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-benchmarks-graphics_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-benchmarks-graphics_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-benchmarks-graphics_MC_DIRS := $(foreach dir, $(test-benchmarks-graphics_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-benchmarks-graphics_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-benchmarks-graphics_MC_DIRS),) + test-benchmarks-graphics_MC_DIRS := $(shell echo $(test-benchmarks-graphics_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-benchmarks-graphics_MC_DIRS) +endif + +endif + +test-benchmarks-graphics_MC_CPPFLAGS := $(test-benchmarks-graphics_CPPFLAGS) +test-benchmarks-graphics_CFLAGS := $(test-benchmarks-graphics_CFLAGS) +ifeq ($(test-benchmarks-graphics_DFLAGS),) + test-benchmarks-graphics_DFLAGS := $(test-benchmarks-graphics_CFLAGS) +else + test-benchmarks-graphics_DFLAGS := $(test-benchmarks-graphics_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-benchmarks-graphics_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-benchmarks-graphics_STRIP ?= $(TARGET_STRIP) +test-benchmarks-graphics_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_MC_CPPFLAGS:=$(strip $(test-benchmarks-graphics_MC_CPPFLAGS) $(test-benchmarks-graphics_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_CFLAGS:=$(strip $(test-benchmarks-graphics_CFLAGS) $(SAFETY_CFLAGS)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_DFLAGS:=$(test-benchmarks-graphics_DFLAGS) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-benchmarks-graphics_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-benchmarks-graphics_STRIP ?= $(HOST_STRIP) +test-benchmarks-graphics_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-benchmarks-graphics_MC_CPPFLAGS) $(test-benchmarks-graphics_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-benchmarks-graphics_CFLAGS)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-benchmarks-graphics_DFLAGS)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_IQUOTE:=$(HOST_IQUOTE) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-benchmarks-graphics_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-benchmarks-graphics_STRIP ?= $(ECHO) >/dev/null +test-benchmarks-graphics_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-benchmarks-graphics_MC_CPPFLAGS) $(test-benchmarks-graphics_MC_EXTRA_CPPFLAGS)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-benchmarks-graphics_CFLAGS)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-benchmarks-graphics_DFLAGS)) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_IQUOTE:=$(KERNEL_IQUOTE) +$(test-benchmarks-graphics_MC_TARGETS) $(test-benchmarks-graphics_MC_DTARGETS) : test-benchmarks-graphics_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-benchmarks-graphics_MC_TARGETS) : CPPFLAGS := $(test-benchmarks-graphics_MC_CPPFLAGS) +$(test-benchmarks-graphics_MC_TARGETS) : CFLAGS := $(test-benchmarks-graphics_CFLAGS) +$(test-benchmarks-graphics_MC_TARGETS) : $(test-benchmarks-graphics_MC_TGTWILDCARD).o : $(test-benchmarks-graphics_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-benchmarks-graphics_IQUOTE) $(dir $<) $(test-benchmarks-graphics_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-graphics_IQUOTE) . $(test-benchmarks-graphics_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-benchmarks-graphics_IQUOTE) $(dir $<) $(test-benchmarks-graphics_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-graphics_IQUOTE) . $(test-benchmarks-graphics_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-benchmarks-graphics_IQUOTE) $(dir $<) $(test-benchmarks-graphics_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-benchmarks-graphics_IQUOTE) . $(test-benchmarks-graphics_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-benchmarks-graphics_MC_DTARGETS) : $(test-benchmarks-graphics_MC_TGTWILDCARD).d : $(test-benchmarks-graphics_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-benchmarks-graphics_DFLAGS) $(test-benchmarks-graphics_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-benchmarks-graphics-link_EXTRA_LDFLAGS := +test-benchmarks-graphics-link_EXTRA_LIBS := +ifeq (no,yes) + test-benchmarks-graphics-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-benchmarks-graphics-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-benchmarks-graphics-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-benchmarks-graphics-link_DIRS := $(subst -L ,-L,$(strip $(test-benchmarks-graphics_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-benchmarks-graphics-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-benchmarks-graphics-link_DIRS))) +# Add trailing / +test-benchmarks-graphics-link_DIRS := $(subst //,/,$(addsuffix /,$(test-benchmarks-graphics-link_DIRS))) +# Add normal linklib path +test-benchmarks-graphics-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-benchmarks-graphics-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-benchmarks-graphics_LIBS) $(test-benchmarks-graphics-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-benchmarks-graphics-link_DEPLIBS := $(foreach lib,$(test-benchmarks-graphics-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-benchmarks-graphics-link_DIRS)))) \ +) +test-benchmarks-graphics-link_PROGS := $(addprefix $(test-benchmarks-graphics_TARGETDIR)/,$(test-benchmarks-graphics_FILES)) + +$(test-benchmarks-graphics-link_PROGS) : OBJDIR := $(test-benchmarks-graphics_OBJDIR) +$(test-benchmarks-graphics-link_PROGS) : LDFLAGS := $(strip $(test-benchmarks-graphics_LDFLAGS) $(test-benchmarks-graphics-link_EXTRA_LDFLAGS)) +$(test-benchmarks-graphics-link_PROGS) : LIBS := $(addprefix -l,$(test-benchmarks-graphics_LIBS) $(test-benchmarks-graphics-link_EXTRA_LIBS) ) +$(test-benchmarks-graphics-link_PROGS) : $(test-benchmarks-graphics_TARGETDIR)/% : $(test-benchmarks-graphics_OBJDIR)/%.o $(test-benchmarks-graphics-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-benchmarks-graphics_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-benchmarks-graphics_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-benchmarks-graphics_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-benchmarks-graphics_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-benchmarks-graphics_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-benchmarks-graphics_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-benchmarks-graphics_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-benchmarks-graphics_DEPS),) + ifneq (test-benchmarks-graphics test-benchmarks-graphics-quick,) + ifneq ($(findstring $(TARGET),test-benchmarks-graphics test-benchmarks-graphics-quick),) + -include $(test-benchmarks-graphics_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-benchmarks-graphics_DEPS) + endif + endif +endif + + +ifneq ($(test-benchmarks-graphics_DEPS) $(test-benchmarks-graphics_OBJS) $(addprefix $(test-benchmarks-graphics_TARGETDIR)/,$(test-benchmarks-graphics_FILES)),) +$(test-benchmarks-graphics_DEPS) $(test-benchmarks-graphics_OBJS) $(addprefix $(test-benchmarks-graphics_TARGETDIR)/,$(test-benchmarks-graphics_FILES)) : | $(test-benchmarks-graphics_TARGETDIR) $(test-benchmarks-graphics_OBJDIR) +else +$(test-benchmarks-graphics_DEPS) $(test-benchmarks-graphics_OBJS) $(addprefix $(test-benchmarks-graphics_TARGETDIR)/,$(test-benchmarks-graphics_FILES)) :: $(test-benchmarks-graphics_TARGETDIR) $(test-benchmarks-graphics_OBJDIR) +endif + +GLOB_MKDIRS += $(test-benchmarks-graphics_TARGETDIR) $(test-benchmarks-graphics_OBJDIR) + + +test-benchmarks-graphics-clean : FILES := $(test-benchmarks-graphics_OBJS) $(test-benchmarks-graphics_EXES) $(test-benchmarks-graphics_DEPS) +#MM +test-benchmarks-graphics-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-benchmarks-graphics" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/boot/mmakefile b/developer/debug/test/boot/mmakefile new file mode 100644 index 00000000000..fbe3b604a7d --- /dev/null +++ b/developer/debug/test/boot/mmakefile @@ -0,0 +1,635 @@ +# $Id$ +# +# Makefile to make test boot module. + +include $(SRCDIR)/config/aros.cfg + +FILES := testboot +EXEDIR := $(AROS_TESTS)/boot + +USER_CFLAGS := -isystem $(SRCDIR)/arch/all-native/bootconsole/include +USER_LDFLAGS := -L $(GENDIR)/lib + +#MM test-boot : linklibs-bootconsole + + +.PHONY : test-boot + +test-boot_PROGNAME := testboot +test-boot_OBJDIR := $(GENDIR)/$(CURDIR) +test-boot_TARGETDIR := $(EXEDIR) +test-boot_LINKER := +test-boot_LIBS := bootconsole +# If not supplied, linker is equal to compiler +ifeq ($(test-boot_LINKER),) + test-boot_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + test-boot_FILES := $(FILES) + test-boot_OBJCFILES := + test-boot_ASMFILES := + test-boot_CXXFILES := +else + test-boot_FILES := $(test-boot_PROGNAME) + test-boot_OBJCFILES := + test-boot_ASMFILES := + test-boot_CXXFILES := +endif + +test-boot_ARCHOBJS := $(wildcard $(test-boot_OBJDIR)/arch/*.o) +test-boot_ARCHFILES := $(basename $(notdir $(test-boot_ARCHOBJS))) +test-boot_C_NARCHFILES := $(filter-out $(test-boot_ARCHFILES),$(test-boot_FILES)) +test-boot_CXX_NARCHFILES := $(filter-out $(test-boot_ARCHFILES),$(test-boot_CXXFILES)) +test-boot_OBJC_NARCHFILES := $(filter-out $(test-boot_ARCHFILES),$(test-boot_OBJCFILES)) + +TMP_FILES := $(test-boot_C_NARCHFILES) $(test-boot_CXX_NARCHFILES) $(test-boot_ASMFILES) $(test-boot_OBJC_NARCHFILES) +test-boot_OBJS := $(addsuffix .o,$(addprefix $(test-boot_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-boot_DEPS := $(addsuffix .d,$(addprefix $(test-boot_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-boot_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-boot_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-boot_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-boot_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-boot_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-boot_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-boot_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-boot_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-boot_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-boot_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-boot_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-boot_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-boot_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-boot_LDFLAGS := +endif + +test-boot_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-boot_COVERAGE := yes +test-boot_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-boot_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-boot_CFLAGS := $(strip $(test-boot_COVERAGEFLAGS) $(test-boot_CFLAGS)) +test-boot_CXXFLAGS := $(strip $(test-boot_COVERAGEFLAGS) $(test-boot_CXXFLAGS)) +test-boot_LIBS += $(test-boot_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-boot_FUNCINSTR := yes +test-boot_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-boot_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-boot_CFLAGS := $(strip $(test-boot_INSTRFUNCFLAGS) $(test-boot_CFLAGS)) +test-boot_CXXFLAGS := $(strip $(test-boot_INSTRFUNCFLAGS) $(test-boot_CXXFLAGS)) +test-boot_LIBS += $(test-boot_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-boot_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-boot_CFLAGS)) +test-boot_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-boot_CXXFLAGS)) +endif +endif +test-boot_AFLAGS := $(AFLAGS) +ifneq (,) + test-boot_DFLAGS := +else + test-boot_DFLAGS := $(test-boot_CFLAGS) +endif +ifneq (,) + test-boot_DXXFLAGS := +else + test-boot_DXXFLAGS := $(test-boot_CXXFLAGS) +endif +ifeq (target,target) +test-boot_LDFLAGS := $(test-boot_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-boot_LDFLAGS := $(test-boot_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-boot_LDFLAGS := $(test-boot_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-boot_LDFLAGS += -L +endif + +#MM +test-boot-quick : test-boot + +#MM test-boot : includes-generate-deps core-linklibs +test-boot : $(test-boot_TARGETDIR)/$(test-boot_PROGNAME) + +ifneq ($(filter $(TARGET),test-boot test-boot-quick test-boot-gz-quick),) + +test-boot_CXXABSBASENAMES := $(foreach test-boot_CXXBASE,$(test-boot_CXX_NARCHFILES),$(if $(filter /%,$(test-boot_CXXBASE)),$(test-boot_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-boot_CXXBASE)))) + +ifneq ($(test-boot_CXXABSBASENAMES),) + +test-boot_CXXBASENAMES := $(basename $(test-boot_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-boot_MCXX_FILES := $(strip $(foreach test-boot_CXXBASE,$(test-boot_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-boot_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-boot_EXT),$(test-boot_CXXBASE))))))) + +ifeq (,) +test-boot_MCXX_SRCWILDCARD := % +else +test-boot_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-boot_OBJDIR),) + test-boot_CXXTARGETS := $(notdir $(test-boot_CXXBASENAMES:=.o)) + test-boot_CXXDTARGETS := $(notdir $(test-boot_CXXBASENAMES:=.d)) + test-boot_MCXX_WILDCARD := % +else + test-boot_CXXTARGETS := $(addprefix $(test-boot_OBJDIR)/,$(notdir $(test-boot_CXXBASENAMES:=.o))) + test-boot_CXXDTARGETS := $(addprefix $(test-boot_OBJDIR)/,$(notdir $(test-boot_CXXBASENAMES:=.d))) + test-boot_MCXX_WILDCARD := $(test-boot_OBJDIR)/% + + # Be sure that all source files are generated + $(test-boot_CXXTARGETS) $(test-boot_CXXDTARGETS) : | $(test-boot_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-boot_MCXX_CPPFLAGS := $(test-boot_CPPFLAGS) +test-boot_CXXFLAGS := $(test-boot_CXXFLAGS) +ifeq ($(test-boot_DXXFLAGS),) + test-boot_DXXFLAGS := $(test-boot_CXXFLAGS) +else + test-boot_DXXFLAGS := $(test-boot_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-boot_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-boot_STRIP ?= $(HOST_STRIP) + test-boot_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-boot_CXXCMD:=$(HOST_CXX) + test-boot_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-boot_MCXX_CPPFLAGS) $(test-boot_MCXX_EXTRA_CPPFLAGS)) + test-boot_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-boot_CXXFLAGS)) + test-boot_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-boot_DXXFLAGS)) + test-boot_CXXIQUOTE:=$(HOST_IQUOTE) + test-boot_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-boot_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-boot_STRIP ?= $(TARGET_STRIP) + test-boot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-boot_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-boot_MCXX_CPPFLAGS := $(strip $(test-boot_MCXX_CPPFLAGS) $(test-boot_MCXX_EXTRA_CPPFLAGS)) + test-boot_CXXFLAGS := $(strip $(test-boot_CXXFLAGS) $(SAFETY_CFLAGS)) + test-boot_DXXFLAGS := $(test-boot_DXXFLAGS) + test-boot_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-boot_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-boot_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-boot_STRIP ?= $(ECHO) >/dev/null + test-boot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-boot_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-boot_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-boot_MCXX_CPPFLAGS) $(test-boot_MCXX_EXTRA_CPPFLAGS)) + test-boot_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-boot_CXXFLAGS)) + test-boot_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-boot_DXXFLAGS)) + test-boot_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-boot_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-boot_CXXCMD) $(test-boot_CXXIQUOTE) $(dir $(2)) $(test-boot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_CXXIQUOTE) . $(test-boot_CXXIQUOTE_END) $(strip $(test-boot_CXXFLAGS) $(test-boot_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-boot_CXXCMD) $(test-boot_CXXIQUOTE) $(dir $(2)) $(test-boot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_CXXIQUOTE) . $(test-boot_CXXIQUOTE_END) $(strip $(test-boot_CXXFLAGS) $(test-boot_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-boot_CXXCMD) $(test-boot_CXXIQUOTE) $(dir $(2)) $(test-boot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_CXXIQUOTE) . $(test-boot_CXXIQUOTE_END) $(strip $(test-boot_CXXFLAGS) $(test-boot_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-boot_CXXCMD)" $(MKDEPEND) $(strip $(test-boot_DXXFLAGS) $(test-boot_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-boot_OBJDIR),) + $(foreach test-boot_CXXFILE,$(test-boot_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-boot_CXXFILE))),$(test-boot_CXXFILE)))) +else + $(foreach test-boot_CXXFILE,$(test-boot_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-boot_OBJDIR)/,$(notdir $(basename $(test-boot_CXXFILE)))),$(test-boot_CXXFILE)))) +endif + +endif + + +ifneq ($(test-boot_OBJC_NARCHFILES),) + +ifeq (,) +test-boot_MOBJC_SRCWILDCARD := % +else +test-boot_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-boot_OBJDIR),) + test-boot_MOBJC_TARGETS := $(addsuffix .o,$(test-boot_OBJC_NARCHFILES)) + test-boot_MOBJC_DTARGETS := $(addsuffix .d,$(test-boot_OBJC_NARCHFILES)) + test-boot_MOBJC_WILDCARD := % +else + test-boot_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-boot_OBJDIR)/,$(test-boot_OBJC_NARCHFILES))) + test-boot_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-boot_OBJDIR)/,$(test-boot_OBJC_NARCHFILES))) + test-boot_MOBJC_WILDCARD := $(test-boot_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-boot_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-boot_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-boot_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-boot_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-boot_MOBJC_DIRS := $(foreach dir, $(test-boot_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-boot_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-boot_MOBJC_DIRS),) + test-boot_MOBJC_DIRS := $(shell echo $(test-boot_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-boot_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-boot_CC := $(TARGET_CC) +else + test-boot_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-boot_MOBJC_CPPFLAGS := $(test-boot_CPPFLAGS) +test-boot_OBJCFLAGS := $(test-boot_CFLAGS) +test-boot_OBJCFLAGS := $(test-boot_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-boot_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-boot_OBJCFLAGS))) +ifeq ($(test-boot_DFLAGS),) + test-boot_OBJCDFLAGS := $(test-boot_CFLAGS) +else + test-boot_OBJCDFLAGS := $(test-boot_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-boot_LINK ?= $(strip $(test-boot_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-boot_STRIP ?= $(TARGET_STRIP) + test-boot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : CMD:=$(strip $(test-boot_CC) $(TARGET_SYSROOT)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_MOBJC_CPPFLAGS:=$(strip $(test-boot_MOBJC_CPPFLAGS) $(test-boot_MOBJC_EXTRA_CPPFLAGS)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_OBJCFLAGS:=$(strip $(test-boot_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_OBJCDFLAGS:=$(test-boot_OBJCDFLAGS) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-boot_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-boot_STRIP ?= $(HOST_STRIP) + test-boot_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-boot_MOBJC_CPPFLAGS) $(test-boot_MOBJC_EXTRA_CPPFLAGS)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-boot_OBJCFLAGS)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-boot_OBJCDFLAGS)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_IQUOTE:=$(HOST_IQUOTE) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-boot_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-boot_STRIP ?= $(ECHO) >/dev/null + test-boot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-boot_MOBJC_CPPFLAGS) $(test-boot_MOBJC_EXTRA_CPPFLAGS)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-boot_OBJCFLAGS)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-boot_OBJCDFLAGS)) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_IQUOTE:=$(KERNEL_IQUOTE) + $(test-boot_MOBJC_TARGETS) $(test-boot_MOBJC_DTARGETS) : test-boot_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-boot_MOBJC_TARGETS) : CPPFLAGS := $(test-boot_MOBJC_CPPFLAGS) +$(test-boot_MOBJC_TARGETS) : CFLAGS := $(test-boot_OBJCFLAGS) +$(test-boot_MOBJC_TARGETS) : $(test-boot_MOBJC_WILDCARD).o : $(test-boot_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-boot_IQUOTE) $(dir $<) $(test-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_IQUOTE) . $(test-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-boot_IQUOTE) $(dir $<) $(test-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_IQUOTE) . $(test-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-boot_IQUOTE) $(dir $<) $(test-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_IQUOTE) . $(test-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-boot_MOBJC_DTARGETS) : $(test-boot_MOBJC_WILDCARD).d : $(test-boot_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-boot_OBJCDFLAGS) $(test-boot_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-boot_MC_SRCWILDCARD := % +else +test-boot_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-boot_OBJDIR),) +test-boot_MC_TARGETS := $(addsuffix .o,$(test-boot_C_NARCHFILES)) +test-boot_MC_DTARGETS := $(addsuffix .d,$(test-boot_C_NARCHFILES)) +test-boot_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-boot_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-boot_OBJDIR)/,$(notdir $(test-boot_C_NARCHFILES)))) + test-boot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-boot_OBJDIR)/,$(notdir $(test-boot_C_NARCHFILES)))) +else +ifeq (,) + test-boot_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-boot_OBJDIR)/,$(test-boot_C_NARCHFILES))) + test-boot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-boot_OBJDIR)/,$(test-boot_C_NARCHFILES))) +else + test-boot_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-boot_OBJDIR)/,$(patsubst /%,%,$(test-boot_C_NARCHFILES)))) + test-boot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-boot_OBJDIR)/,$(patsubst /%,%,$(test-boot_C_NARCHFILES)))) +endif +endif +test-boot_MC_TGTWILDCARD := $(test-boot_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : | $(addsuffix .c,$(test-boot_C_NARCHFILES)) + +# Be sure that all .c files are found +test-boot_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-boot_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-boot_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-boot_MC_DIRS := $(foreach dir, $(test-boot_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-boot_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-boot_MC_DIRS),) + test-boot_MC_DIRS := $(shell echo $(test-boot_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-boot_MC_DIRS) +endif + +endif + +test-boot_MC_CPPFLAGS := $(test-boot_CPPFLAGS) +test-boot_CFLAGS := $(test-boot_CFLAGS) +ifeq ($(test-boot_DFLAGS),) + test-boot_DFLAGS := $(test-boot_CFLAGS) +else + test-boot_DFLAGS := $(test-boot_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-boot_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-boot_STRIP ?= $(TARGET_STRIP) +test-boot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_MC_CPPFLAGS:=$(strip $(test-boot_MC_CPPFLAGS) $(test-boot_MC_EXTRA_CPPFLAGS)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_CFLAGS:=$(strip $(test-boot_CFLAGS) $(SAFETY_CFLAGS)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_DFLAGS:=$(test-boot_DFLAGS) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-boot_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-boot_STRIP ?= $(HOST_STRIP) +test-boot_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-boot_MC_CPPFLAGS) $(test-boot_MC_EXTRA_CPPFLAGS)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-boot_CFLAGS)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-boot_DFLAGS)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_IQUOTE:=$(HOST_IQUOTE) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-boot_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-boot_STRIP ?= $(ECHO) >/dev/null +test-boot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-boot_MC_CPPFLAGS) $(test-boot_MC_EXTRA_CPPFLAGS)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-boot_CFLAGS)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-boot_DFLAGS)) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_IQUOTE:=$(KERNEL_IQUOTE) +$(test-boot_MC_TARGETS) $(test-boot_MC_DTARGETS) : test-boot_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-boot_MC_TARGETS) : CPPFLAGS := $(test-boot_MC_CPPFLAGS) +$(test-boot_MC_TARGETS) : CFLAGS := $(test-boot_CFLAGS) +$(test-boot_MC_TARGETS) : $(test-boot_MC_TGTWILDCARD).o : $(test-boot_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-boot_IQUOTE) $(dir $<) $(test-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_IQUOTE) . $(test-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-boot_IQUOTE) $(dir $<) $(test-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_IQUOTE) . $(test-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-boot_IQUOTE) $(dir $<) $(test-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-boot_IQUOTE) . $(test-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-boot_MC_DTARGETS) : $(test-boot_MC_TGTWILDCARD).d : $(test-boot_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-boot_DFLAGS) $(test-boot_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-boot_OBJDIR),) +test-boot-MA_TARGETS := $(addsuffix .o,$(test-boot_ASMFILES)) +test-boot-MA_WILDCARD := % +else +test-boot-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-boot_OBJDIR)/,$(notdir $(test-boot_ASMFILES)))) +test-boot-MA_WILDCARD := $(test-boot_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-boot-MA_TARGETS) : | $(addsuffix .s,$(test-boot_ASMFILES)) + +# Be sure that all .c files are found +test-boot-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-boot-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-boot_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-boot-MA_DIRS := $(foreach dir, $(test-boot-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-boot-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-boot-MA_DIRS),) + test-boot-MA_DIRS := $(shell echo $(test-boot-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-boot-MA_DIRS) +endif + +endif + +test-boot-MA_ASSEMBLER ?= $(test-boot_ASSEMBLER) + +$(test-boot-MA_TARGETS) : test-boot-MA_CMD:= $(test-boot-MA_ASSEMBLER) + +$(test-boot-MA_TARGETS) : CPPFLAGS := $(test-boot_CPPFLAGS) +$(test-boot-MA_TARGETS) : AFLAGS := $(test-boot_AFLAGS) +$(test-boot-MA_TARGETS) : $(test-boot-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-boot-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-boot-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-boot-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-boot-link_EXTRA_LDFLAGS := +test-boot-link_EXTRA_LIBS := +ifeq (no,yes) + test-boot-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + test-boot-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-boot-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-boot-link_DIRS := $(subst -L ,-L,$(strip $(test-boot_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-boot-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-boot-link_DIRS))) +# Add trailing / +test-boot-link_DIRS := $(subst //,/,$(addsuffix /,$(test-boot-link_DIRS))) +# Add normal linklib path +test-boot-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-boot-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-boot_LIBS) $(test-boot-link_EXTRA_LIBS))) +ifeq (no,yes) + test-boot-link_LIBS += startup.o +endif +ifeq (no,yes) + test-boot-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-boot-link_DEPLIBS := $(foreach lib,$(test-boot-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-boot-link_DIRS)))) \ +) + +$(test-boot_TARGETDIR)/$(test-boot_PROGNAME) : OBJDIR := $(test-boot_OBJDIR) +$(test-boot_TARGETDIR)/$(test-boot_PROGNAME) : OBJS := $(test-boot_OBJS) $(test-boot_ARCHOBJS) $(USER_OBJS) +$(test-boot_TARGETDIR)/$(test-boot_PROGNAME) : LDFLAGS := $(strip $(test-boot_LDFLAGS) $(test-boot-link_EXTRA_LDFLAGS)) +$(test-boot_TARGETDIR)/$(test-boot_PROGNAME) : LIBS := $(addprefix -l,$(test-boot_LIBS) $(test-boot-link_EXTRA_LIBS) ) +$(test-boot_TARGETDIR)/$(test-boot_PROGNAME) : $(test-boot_OBJS) $(test-boot_ARCHOBJS) $(USER_OBJS) $(test-boot-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-boot_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-boot_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-boot_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-boot_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-boot_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-boot_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-boot_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-boot_DEPS),) + ifneq (test-boot test-boot-quick,) + ifneq ($(findstring $(TARGET),test-boot test-boot-quick),) + -include $(test-boot_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-boot_DEPS) + endif + endif +endif + + +ifneq ($(test-boot_OBJS) $(test-boot_DEPS) $(test-boot_TARGETDIR)/$(test-boot_PROGNAME),) +$(test-boot_OBJS) $(test-boot_DEPS) $(test-boot_TARGETDIR)/$(test-boot_PROGNAME) : | $(test-boot_OBJDIR) $(test-boot_TARGETDIR) +else +$(test-boot_OBJS) $(test-boot_DEPS) $(test-boot_TARGETDIR)/$(test-boot_PROGNAME) :: $(test-boot_OBJDIR) $(test-boot_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-boot_OBJDIR) $(test-boot_TARGETDIR) + + +test-boot-clean : FILES := $(test-boot_OBJS) $(test-boot_TARGETDIR)/$(test-boot_PROGNAME) $(test-boot_DEPS) +#MM +test-boot-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-boot" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/bz2/mmakefile b/developer/debug/test/bz2/mmakefile new file mode 100644 index 00000000000..72bb523f66e --- /dev/null +++ b/developer/debug/test/bz2/mmakefile @@ -0,0 +1,296 @@ +# Copyright © 2012, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := version +EXEDIR := $(AROS_TESTS)/bz2 + +#MM- test : test-bz2 +#MM- test-quick : test-bz2-quick + +#MM test-bz2 : includes linklibs external-bz2 + + +.PHONY : test-bz2 + +test-bz2_OBJDIR := $(GENDIR)/$(CURDIR) +test-bz2_TARGETDIR := $(EXEDIR) +test-bz2_LIBS := bz2 + +test-bz2_FILES := $(FILES) +test-bz2_OBJS := $(addsuffix .o,$(addprefix $(test-bz2_OBJDIR)/,$(test-bz2_FILES))) +test-bz2_DEPS := $(addsuffix .d,$(addprefix $(test-bz2_OBJDIR)/,$(test-bz2_FILES))) +test-bz2_EXES := $(addprefix $(test-bz2_TARGETDIR)/,$(test-bz2_FILES)) + +test-bz2_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-bz2_CPPFLAGS += -I +endif +test-bz2_CFLAGS := $(CFLAGS) +test-bz2_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-bz2_COVERAGE := yes +test-bz2_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-bz2_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-bz2_CFLAGS := $(strip $(test-bz2_COVERAGEFLAGS) $(test-bz2_CFLAGS)) +test-bz2_LIBS += $(test-bz2_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-bz2_FUNCINSTR := yes +test-bz2_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-bz2_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-bz2_CFLAGS := $(strip $(test-bz2_INSTRFUNCFLAGS) $(test-bz2_CFLAGS)) +test-bz2_LIBS += $(test-bz2_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-bz2_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-bz2_CFLAGS)) +endif +endif +ifneq (,) + test-bz2_DFLAGS := +else + test-bz2_DFLAGS := $(test-bz2_CFLAGS) +endif +ifeq (target,target) +test-bz2_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-bz2_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-bz2_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-bz2_LDFLAGS += -L +endif + +#MM +test-bz2-quick : test-bz2 + +#MM test-bz2 : includes-generate-deps core-linklibs +test-bz2 : $(test-bz2_EXES) + +ifneq ($(filter $(TARGET),test-bz2 test-bz2-quick),) + +ifeq (,) +test-bz2_MC_SRCWILDCARD := % +else +test-bz2_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-bz2_OBJDIR),) +test-bz2_MC_TARGETS := $(addsuffix .o,$(test-bz2_FILES)) +test-bz2_MC_DTARGETS := $(addsuffix .d,$(test-bz2_FILES)) +test-bz2_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-bz2_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-bz2_OBJDIR)/,$(notdir $(test-bz2_FILES)))) + test-bz2_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-bz2_OBJDIR)/,$(notdir $(test-bz2_FILES)))) +else +ifeq (,) + test-bz2_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-bz2_OBJDIR)/,$(test-bz2_FILES))) + test-bz2_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-bz2_OBJDIR)/,$(test-bz2_FILES))) +else + test-bz2_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-bz2_OBJDIR)/,$(patsubst /%,%,$(test-bz2_FILES)))) + test-bz2_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-bz2_OBJDIR)/,$(patsubst /%,%,$(test-bz2_FILES)))) +endif +endif +test-bz2_MC_TGTWILDCARD := $(test-bz2_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : | $(addsuffix .c,$(test-bz2_FILES)) + +# Be sure that all .c files are found +test-bz2_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-bz2_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-bz2_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-bz2_MC_DIRS := $(foreach dir, $(test-bz2_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-bz2_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-bz2_MC_DIRS),) + test-bz2_MC_DIRS := $(shell echo $(test-bz2_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-bz2_MC_DIRS) +endif + +endif + +test-bz2_MC_CPPFLAGS := $(test-bz2_CPPFLAGS) +test-bz2_CFLAGS := $(test-bz2_CFLAGS) +ifeq ($(test-bz2_DFLAGS),) + test-bz2_DFLAGS := $(test-bz2_CFLAGS) +else + test-bz2_DFLAGS := $(test-bz2_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-bz2_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-bz2_STRIP ?= $(TARGET_STRIP) +test-bz2_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_MC_CPPFLAGS:=$(strip $(test-bz2_MC_CPPFLAGS) $(test-bz2_MC_EXTRA_CPPFLAGS)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_CFLAGS:=$(strip $(test-bz2_CFLAGS) $(SAFETY_CFLAGS)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_DFLAGS:=$(test-bz2_DFLAGS) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-bz2_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-bz2_STRIP ?= $(HOST_STRIP) +test-bz2_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-bz2_MC_CPPFLAGS) $(test-bz2_MC_EXTRA_CPPFLAGS)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-bz2_CFLAGS)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-bz2_DFLAGS)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_IQUOTE:=$(HOST_IQUOTE) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-bz2_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-bz2_STRIP ?= $(ECHO) >/dev/null +test-bz2_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-bz2_MC_CPPFLAGS) $(test-bz2_MC_EXTRA_CPPFLAGS)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-bz2_CFLAGS)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-bz2_DFLAGS)) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_IQUOTE:=$(KERNEL_IQUOTE) +$(test-bz2_MC_TARGETS) $(test-bz2_MC_DTARGETS) : test-bz2_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-bz2_MC_TARGETS) : CPPFLAGS := $(test-bz2_MC_CPPFLAGS) +$(test-bz2_MC_TARGETS) : CFLAGS := $(test-bz2_CFLAGS) +$(test-bz2_MC_TARGETS) : $(test-bz2_MC_TGTWILDCARD).o : $(test-bz2_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-bz2_IQUOTE) $(dir $<) $(test-bz2_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-bz2_IQUOTE) . $(test-bz2_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-bz2_IQUOTE) $(dir $<) $(test-bz2_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-bz2_IQUOTE) . $(test-bz2_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-bz2_IQUOTE) $(dir $<) $(test-bz2_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-bz2_IQUOTE) . $(test-bz2_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-bz2_MC_DTARGETS) : $(test-bz2_MC_TGTWILDCARD).d : $(test-bz2_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-bz2_DFLAGS) $(test-bz2_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-bz2-link_EXTRA_LDFLAGS := +test-bz2-link_EXTRA_LIBS := +ifeq (no,yes) + test-bz2-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-bz2-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-bz2-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-bz2-link_DIRS := $(subst -L ,-L,$(strip $(test-bz2_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-bz2-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-bz2-link_DIRS))) +# Add trailing / +test-bz2-link_DIRS := $(subst //,/,$(addsuffix /,$(test-bz2-link_DIRS))) +# Add normal linklib path +test-bz2-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-bz2-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-bz2_LIBS) $(test-bz2-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-bz2-link_DEPLIBS := $(foreach lib,$(test-bz2-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-bz2-link_DIRS)))) \ +) +test-bz2-link_PROGS := $(addprefix $(test-bz2_TARGETDIR)/,$(test-bz2_FILES)) + +$(test-bz2-link_PROGS) : OBJDIR := $(test-bz2_OBJDIR) +$(test-bz2-link_PROGS) : LDFLAGS := $(strip $(test-bz2_LDFLAGS) $(test-bz2-link_EXTRA_LDFLAGS)) +$(test-bz2-link_PROGS) : LIBS := $(addprefix -l,$(test-bz2_LIBS) $(test-bz2-link_EXTRA_LIBS) ) +$(test-bz2-link_PROGS) : $(test-bz2_TARGETDIR)/% : $(test-bz2_OBJDIR)/%.o $(test-bz2-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-bz2_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-bz2_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-bz2_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-bz2_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-bz2_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-bz2_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-bz2_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-bz2_DEPS),) + ifneq (test-bz2 test-bz2-quick,) + ifneq ($(findstring $(TARGET),test-bz2 test-bz2-quick),) + -include $(test-bz2_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-bz2_DEPS) + endif + endif +endif + + +ifneq ($(test-bz2_DEPS) $(test-bz2_OBJS) $(addprefix $(test-bz2_TARGETDIR)/,$(test-bz2_FILES)),) +$(test-bz2_DEPS) $(test-bz2_OBJS) $(addprefix $(test-bz2_TARGETDIR)/,$(test-bz2_FILES)) : | $(test-bz2_TARGETDIR) $(test-bz2_OBJDIR) +else +$(test-bz2_DEPS) $(test-bz2_OBJS) $(addprefix $(test-bz2_TARGETDIR)/,$(test-bz2_FILES)) :: $(test-bz2_TARGETDIR) $(test-bz2_OBJDIR) +endif + +GLOB_MKDIRS += $(test-bz2_TARGETDIR) $(test-bz2_OBJDIR) + + +test-bz2-clean : FILES := $(test-bz2_OBJS) $(test-bz2_EXES) $(test-bz2_DEPS) +#MM +test-bz2-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-bz2" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/cplusplus/mmakefile b/developer/debug/test/cplusplus/mmakefile new file mode 100644 index 00000000000..83593d542d4 --- /dev/null +++ b/developer/debug/test/cplusplus/mmakefile @@ -0,0 +1,115 @@ +# This mmakefile relies on existing and working C++ compiler. Additionally the build fails on ARM CPU. +# Because of this I did not add it to the build by default. +# This target needs to be built manually. + +include $(SRCDIR)/config/aros.cfg + +# Select target C++ compiler +ifeq ($(TARGET_CXX),) + TARGET_CXX := $(CROSSTOOLSDIR)/$(AROS_TARGET_CPU)-aros-g++ +else + TARGET_CXX := $(TARGET_CXX) -specs=$(GENDIR)/config/specs +endif + +# Remove C-only flags +CXX_FLAGS := $(CFLAGS) -isystem $(AROS_DEVELOPER)/include +CXX_FLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(CXX_FLAGS))) +CXX_FLAGS := $(subst -fno-exceptions,, $(CXX_FLAGS)) + +USER_LDFLAGS := -L$(AROS_DEVELOPER)/lib + +EXEDIR := $(AROS_TESTS)/cplusplus +OBJDIR := $(GENDIR)/$(CURDIR) + +FILES := exception headertest + +EXES := $(addprefix $(EXEDIR)/,$(notdir $(FILES))) +OBJS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(FILES)))) +DEPS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(FILES)))) + +#MM +test-cxx :: $(EXEDIR) $(EXES) + +$(EXEDIR): + @$(MKDIR) $@ + +$(EXES) : $(EXEDIR)/% : $(OBJDIR)/%.o + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(GENDIR)/$(CURDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(TARGET_CXX) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(TARGET_CXX) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(TARGET_CXX) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(GENDIR)/$(CURDIR)/$$COVERAGEFILE ; then \ + $(CP) $(GENDIR)/$(CURDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +$(OBJDIR$)/%.o : %.cpp + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(TARGET_CXX) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(CXX_FLAGS) $(TARGET_CFLAGS) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(TARGET_CXX) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(CXX_FLAGS) $(TARGET_CFLAGS) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(TARGET_CXX) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(CXX_FLAGS) $(TARGET_CFLAGS) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(OBJDIR)/%.d : %.cpp + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(TARGET_CXX)" $(MKDEPEND) $(CXX_FLAGS) $(TARGET_CFLAGS) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(DEPS),) + ifneq (test-cxx-quick,) + ifneq ($(findstring $(TARGET),test-cxx-quick),) + -include $(DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(DEPS) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/crt/mmakefile b/developer/debug/test/crt/mmakefile new file mode 100644 index 00000000000..7005b6ba0ca --- /dev/null +++ b/developer/debug/test/crt/mmakefile @@ -0,0 +1,300 @@ +# $Id$ +# +# Makefile for AROS C Standard Library Tests + +include $(SRCDIR)/config/aros.cfg + +CRTTESTFILES := \ + all-tests \ + +EXEDIR := $(AROS_TESTS)/crt + +#MM test-crt : test-crt-$(AROS_TARGET_CPU) +#MM- test-crt-quick : test-crt-$(AROS_TARGET_CPU)-quick + +#MM test-crt : includes includes-copy linklibs kernel + +USER_CFLAGS = -ffloat-store + +.PHONY : test-crt + +test-crt_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt_TARGETDIR := $(EXEDIR) +test-crt_LIBS := + +test-crt_FILES := $(CRTTESTFILES) +test-crt_OBJS := $(addsuffix .o,$(addprefix $(test-crt_OBJDIR)/,$(test-crt_FILES))) +test-crt_DEPS := $(addsuffix .d,$(addprefix $(test-crt_OBJDIR)/,$(test-crt_FILES))) +test-crt_EXES := $(addprefix $(test-crt_TARGETDIR)/,$(test-crt_FILES)) + +test-crt_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-crt_CPPFLAGS += -I +endif +test-crt_CFLAGS := $(CFLAGS) +test-crt_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt_COVERAGE := yes +test-crt_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt_CFLAGS := $(strip $(test-crt_COVERAGEFLAGS) $(test-crt_CFLAGS)) +test-crt_LIBS += $(test-crt_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt_FUNCINSTR := yes +test-crt_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt_CFLAGS := $(strip $(test-crt_INSTRFUNCFLAGS) $(test-crt_CFLAGS)) +test-crt_LIBS += $(test-crt_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt_CFLAGS)) +endif +endif +ifneq (,) + test-crt_DFLAGS := +else + test-crt_DFLAGS := $(test-crt_CFLAGS) +endif +ifeq (target,target) +test-crt_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-crt_LDFLAGS += -L +endif + +#MM +test-crt-quick : test-crt + +#MM test-crt : includes-generate-deps core-linklibs +test-crt : $(test-crt_EXES) + +ifneq ($(filter $(TARGET),test-crt test-crt-quick),) + +ifeq (,) +test-crt_MC_SRCWILDCARD := % +else +test-crt_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt_OBJDIR),) +test-crt_MC_TARGETS := $(addsuffix .o,$(test-crt_FILES)) +test-crt_MC_DTARGETS := $(addsuffix .d,$(test-crt_FILES)) +test-crt_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt_OBJDIR)/,$(notdir $(test-crt_FILES)))) + test-crt_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt_OBJDIR)/,$(notdir $(test-crt_FILES)))) +else +ifeq (,) + test-crt_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt_OBJDIR)/,$(test-crt_FILES))) + test-crt_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt_OBJDIR)/,$(test-crt_FILES))) +else + test-crt_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt_OBJDIR)/,$(patsubst /%,%,$(test-crt_FILES)))) + test-crt_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt_OBJDIR)/,$(patsubst /%,%,$(test-crt_FILES)))) +endif +endif +test-crt_MC_TGTWILDCARD := $(test-crt_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : | $(addsuffix .c,$(test-crt_FILES)) + +# Be sure that all .c files are found +test-crt_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt_MC_DIRS := $(foreach dir, $(test-crt_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt_MC_DIRS),) + test-crt_MC_DIRS := $(shell echo $(test-crt_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt_MC_DIRS) +endif + +endif + +test-crt_MC_CPPFLAGS := $(test-crt_CPPFLAGS) +test-crt_CFLAGS := $(test-crt_CFLAGS) +ifeq ($(test-crt_DFLAGS),) + test-crt_DFLAGS := $(test-crt_CFLAGS) +else + test-crt_DFLAGS := $(test-crt_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt_STRIP ?= $(TARGET_STRIP) +test-crt_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_MC_CPPFLAGS:=$(strip $(test-crt_MC_CPPFLAGS) $(test-crt_MC_EXTRA_CPPFLAGS)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_CFLAGS:=$(strip $(test-crt_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_DFLAGS:=$(test-crt_DFLAGS) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt_STRIP ?= $(HOST_STRIP) +test-crt_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt_MC_CPPFLAGS) $(test-crt_MC_EXTRA_CPPFLAGS)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt_CFLAGS)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt_DFLAGS)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_IQUOTE:=$(HOST_IQUOTE) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt_STRIP ?= $(ECHO) >/dev/null +test-crt_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt_MC_CPPFLAGS) $(test-crt_MC_EXTRA_CPPFLAGS)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt_CFLAGS)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt_DFLAGS)) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt_MC_TARGETS) $(test-crt_MC_DTARGETS) : test-crt_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt_MC_TARGETS) : CPPFLAGS := $(test-crt_MC_CPPFLAGS) +$(test-crt_MC_TARGETS) : CFLAGS := $(test-crt_CFLAGS) +$(test-crt_MC_TARGETS) : $(test-crt_MC_TGTWILDCARD).o : $(test-crt_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt_IQUOTE) $(dir $<) $(test-crt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt_IQUOTE) . $(test-crt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt_IQUOTE) $(dir $<) $(test-crt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt_IQUOTE) . $(test-crt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt_IQUOTE) $(dir $<) $(test-crt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt_IQUOTE) . $(test-crt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt_MC_DTARGETS) : $(test-crt_MC_TGTWILDCARD).d : $(test-crt_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt_DFLAGS) $(test-crt_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-crt-link_EXTRA_LDFLAGS := +test-crt-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-crt-link_DIRS := $(subst -L ,-L,$(strip $(test-crt_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-link_DIRS))) +# Add trailing / +test-crt-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-link_DIRS))) +# Add normal linklib path +test-crt-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt_LIBS) $(test-crt-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-crt-link_DEPLIBS := $(foreach lib,$(test-crt-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-link_DIRS)))) \ +) +test-crt-link_PROGS := $(addprefix $(test-crt_TARGETDIR)/,$(test-crt_FILES)) + +$(test-crt-link_PROGS) : OBJDIR := $(test-crt_OBJDIR) +$(test-crt-link_PROGS) : LDFLAGS := $(strip $(test-crt_LDFLAGS) $(test-crt-link_EXTRA_LDFLAGS)) +$(test-crt-link_PROGS) : LIBS := $(addprefix -l,$(test-crt_LIBS) $(test-crt-link_EXTRA_LIBS) ) +$(test-crt-link_PROGS) : $(test-crt_TARGETDIR)/% : $(test-crt_OBJDIR)/%.o $(test-crt-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt_DEPS),) + ifneq (test-crt test-crt-quick,) + ifneq ($(findstring $(TARGET),test-crt test-crt-quick),) + -include $(test-crt_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt_DEPS) + endif + endif +endif + + +ifneq ($(test-crt_DEPS) $(test-crt_OBJS) $(addprefix $(test-crt_TARGETDIR)/,$(test-crt_FILES)),) +$(test-crt_DEPS) $(test-crt_OBJS) $(addprefix $(test-crt_TARGETDIR)/,$(test-crt_FILES)) : | $(test-crt_TARGETDIR) $(test-crt_OBJDIR) +else +$(test-crt_DEPS) $(test-crt_OBJS) $(addprefix $(test-crt_TARGETDIR)/,$(test-crt_FILES)) :: $(test-crt_TARGETDIR) $(test-crt_OBJDIR) +endif + +GLOB_MKDIRS += $(test-crt_TARGETDIR) $(test-crt_OBJDIR) + + +test-crt-clean : FILES := $(test-crt_OBJS) $(test-crt_EXES) $(test-crt_DEPS) +#MM +test-crt-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/crt/posixc/mmakefile b/developer/debug/test/crt/posixc/mmakefile new file mode 100644 index 00000000000..3944e56620f --- /dev/null +++ b/developer/debug/test/crt/posixc/mmakefile @@ -0,0 +1,3984 @@ +# $Id$ +# +# Makefile for AROS C POSIX Library Tests + +include $(SRCDIR)/config/aros.cfg + +POSIXCTESTFILES := \ + chdir \ + chmod \ + chown \ + execl \ + execl2 execl2_vfork execl2_slave \ + fchdir \ + fchmod \ + fcntl \ + flock \ + getfsstat \ + getpass \ + lseek \ + mnt_names \ + open \ + opendir \ + pipe \ + random \ + randtest \ + statfs \ + strptime \ + uname \ + usleep \ + vfork \ + vfork_execl \ + wait \ + waitpid \ + posix_memalign + +POSIXC2K8TESTFILES := \ + scandir + +POSIXCTESTFILES += \ + argv0_test1 argv0_test2 + +POSIXCNIXTESTFILES := \ + argv0_slave argv0_test3 argv0_test4 + +EXEDIR := $(AROS_TESTS)/crt/posix + +#MM- test-crt : test-crt-posixc test-crt-posixc-$(AROS_TARGET_CPU) +#MM- test-crt-quick : test-crt-posixc-quick test-crt-posixc-$(AROS_TARGET_CPU)-quick + +#MM- test-crt-posixc : test-crt-posixc-general test-crt-posixc-nix test-crt-posixc-posix1 +#MM- test-crt-posixc-quick : test-crt-posixc-general-quick test-crt-posixc-nix-quick test-crt-posixc-posix1-quick + +#MM test-crt-posixc-general : includes includes-copy linklibs kernel +#MM test-crt-posixc-nix : includes includes-copy linklibs kernel + +#MM- test-crt-posixc-posix1 : \ +#MM test-crt-posixc-posix1-scanf \ +##MM test-crt-posixc-posix1-getline \ +##MM test-crt-posixc-posix1-fmemopen \ +#MM test-crt-posixc-posix1-regex \ +#MM test-crt-posixc-posix1-printf + +#MM- test-crt-posixc-posix1-quick : \ +#MM test-crt-posixc-posix1-scanf-quick \ +##MM test-crt-posixc-posix1-getline-quick \ +##MM test-crt-posixc-posix1-fmemopen-quick \ +#MM test-crt-posixc-posix1-regex-quick \ +#MM test-crt-posixc-posix1-printf-quick + +#MM test-crt-posixc-posix1-scanf : includes includes-copy linklibs kernel +#MM test-crt-posixc-posix1-getline : includes includes-copy linklibs kernel +#MM test-crt-posixc-posix1-fmemopen : includes includes-copy linklibs kernel +#MM test-crt-posixc-posix1-regex : includes includes-copy linklibs kernel +#MM test-crt-posixc-posix1-printf : includes includes-copy linklibs kernel + +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/.. +USER_CFLAGS = -ffloat-store + + +.PHONY : test-crt-posixc-general + +test-crt-posixc-general_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-posixc-general_TARGETDIR := $(EXEDIR) +test-crt-posixc-general_LIBS := + +test-crt-posixc-general_FILES := $(POSIXCTESTFILES) +test-crt-posixc-general_OBJS := $(addsuffix .o,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(test-crt-posixc-general_FILES))) +test-crt-posixc-general_DEPS := $(addsuffix .d,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(test-crt-posixc-general_FILES))) +test-crt-posixc-general_EXES := $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)) + +test-crt-posixc-general_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-crt-posixc-general_CPPFLAGS += -I +endif +test-crt-posixc-general_CFLAGS := $(CFLAGS) +test-crt-posixc-general_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-posixc-general_COVERAGE := yes +test-crt-posixc-general_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-posixc-general_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-posixc-general_CFLAGS := $(strip $(test-crt-posixc-general_COVERAGEFLAGS) $(test-crt-posixc-general_CFLAGS)) +test-crt-posixc-general_LIBS += $(test-crt-posixc-general_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-posixc-general_FUNCINSTR := yes +test-crt-posixc-general_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-posixc-general_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-posixc-general_CFLAGS := $(strip $(test-crt-posixc-general_INSTRFUNCFLAGS) $(test-crt-posixc-general_CFLAGS)) +test-crt-posixc-general_LIBS += $(test-crt-posixc-general_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-posixc-general_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-general_CFLAGS)) +endif +endif +ifneq (,) + test-crt-posixc-general_DFLAGS := +else + test-crt-posixc-general_DFLAGS := $(test-crt-posixc-general_CFLAGS) +endif +ifeq (target,target) +test-crt-posixc-general_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-posixc-general_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-general_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-crt-posixc-general_LDFLAGS += -L +endif + +#MM +test-crt-posixc-general-quick : test-crt-posixc-general + +#MM test-crt-posixc-general : includes-generate-deps core-linklibs +test-crt-posixc-general : $(test-crt-posixc-general_EXES) + +ifneq ($(filter $(TARGET),test-crt-posixc-general test-crt-posixc-general-quick),) + +ifeq (,) +test-crt-posixc-general_MC_SRCWILDCARD := % +else +test-crt-posixc-general_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-general_OBJDIR),) +test-crt-posixc-general_MC_TARGETS := $(addsuffix .o,$(test-crt-posixc-general_FILES)) +test-crt-posixc-general_MC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-general_FILES)) +test-crt-posixc-general_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-posixc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(notdir $(test-crt-posixc-general_FILES)))) + test-crt-posixc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(notdir $(test-crt-posixc-general_FILES)))) +else +ifeq (,) + test-crt-posixc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(test-crt-posixc-general_FILES))) + test-crt-posixc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(test-crt-posixc-general_FILES))) +else + test-crt-posixc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-general_FILES)))) + test-crt-posixc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-general_FILES)))) +endif +endif +test-crt-posixc-general_MC_TGTWILDCARD := $(test-crt-posixc-general_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-posixc-general_FILES)) + +# Be sure that all .c files are found +test-crt-posixc-general_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-general_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-general_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-general_MC_DIRS := $(foreach dir, $(test-crt-posixc-general_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-general_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-general_MC_DIRS),) + test-crt-posixc-general_MC_DIRS := $(shell echo $(test-crt-posixc-general_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-posixc-general_MC_DIRS) +endif + +endif + +test-crt-posixc-general_MC_CPPFLAGS := $(test-crt-posixc-general_CPPFLAGS) +test-crt-posixc-general_CFLAGS := $(test-crt-posixc-general_CFLAGS) +ifeq ($(test-crt-posixc-general_DFLAGS),) + test-crt-posixc-general_DFLAGS := $(test-crt-posixc-general_CFLAGS) +else + test-crt-posixc-general_DFLAGS := $(test-crt-posixc-general_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-posixc-general_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-posixc-general_STRIP ?= $(TARGET_STRIP) +test-crt-posixc-general_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_MC_CPPFLAGS:=$(strip $(test-crt-posixc-general_MC_CPPFLAGS) $(test-crt-posixc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_CFLAGS:=$(strip $(test-crt-posixc-general_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_DFLAGS:=$(test-crt-posixc-general_DFLAGS) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-posixc-general_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-posixc-general_STRIP ?= $(HOST_STRIP) +test-crt-posixc-general_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-posixc-general_MC_CPPFLAGS) $(test-crt-posixc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-general_CFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-general_DFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-posixc-general_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-posixc-general_STRIP ?= $(ECHO) >/dev/null +test-crt-posixc-general_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-posixc-general_MC_CPPFLAGS) $(test-crt-posixc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-general_CFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-general_DFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-general_MC_TARGETS) : CPPFLAGS := $(test-crt-posixc-general_MC_CPPFLAGS) +$(test-crt-posixc-general_MC_TARGETS) : CFLAGS := $(test-crt-posixc-general_CFLAGS) +$(test-crt-posixc-general_MC_TARGETS) : $(test-crt-posixc-general_MC_TGTWILDCARD).o : $(test-crt-posixc-general_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-general_IQUOTE) $(dir $<) $(test-crt-posixc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-general_IQUOTE) . $(test-crt-posixc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-general_IQUOTE) $(dir $<) $(test-crt-posixc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-general_IQUOTE) . $(test-crt-posixc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-general_IQUOTE) $(dir $<) $(test-crt-posixc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-general_IQUOTE) . $(test-crt-posixc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-general_MC_DTARGETS) : $(test-crt-posixc-general_MC_TGTWILDCARD).d : $(test-crt-posixc-general_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-general_DFLAGS) $(test-crt-posixc-general_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-crt-posixc-general-link_EXTRA_LDFLAGS := +test-crt-posixc-general-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-posixc-general-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-posixc-general-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-posixc-general-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-crt-posixc-general-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-posixc-general_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-posixc-general-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-posixc-general-link_DIRS))) +# Add trailing / +test-crt-posixc-general-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-posixc-general-link_DIRS))) +# Add normal linklib path +test-crt-posixc-general-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-posixc-general-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-posixc-general_LIBS) $(test-crt-posixc-general-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-crt-posixc-general-link_DEPLIBS := $(foreach lib,$(test-crt-posixc-general-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-posixc-general-link_DIRS)))) \ +) +test-crt-posixc-general-link_PROGS := $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)) + +$(test-crt-posixc-general-link_PROGS) : OBJDIR := $(test-crt-posixc-general_OBJDIR) +$(test-crt-posixc-general-link_PROGS) : LDFLAGS := $(strip $(test-crt-posixc-general_LDFLAGS) $(test-crt-posixc-general-link_EXTRA_LDFLAGS)) +$(test-crt-posixc-general-link_PROGS) : LIBS := $(addprefix -l,$(test-crt-posixc-general_LIBS) $(test-crt-posixc-general-link_EXTRA_LIBS) ) +$(test-crt-posixc-general-link_PROGS) : $(test-crt-posixc-general_TARGETDIR)/% : $(test-crt-posixc-general_OBJDIR)/%.o $(test-crt-posixc-general-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-posixc-general_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-posixc-general_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-posixc-general_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-general_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-posixc-general_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-posixc-general_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-general_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-posixc-general_DEPS),) + ifneq (test-crt-posixc-general test-crt-posixc-general-quick,) + ifneq ($(findstring $(TARGET),test-crt-posixc-general test-crt-posixc-general-quick),) + -include $(test-crt-posixc-general_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-posixc-general_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-posixc-general_DEPS) $(test-crt-posixc-general_OBJS) $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)),) +$(test-crt-posixc-general_DEPS) $(test-crt-posixc-general_OBJS) $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)) : | $(test-crt-posixc-general_TARGETDIR) $(test-crt-posixc-general_OBJDIR) +else +$(test-crt-posixc-general_DEPS) $(test-crt-posixc-general_OBJS) $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)) :: $(test-crt-posixc-general_TARGETDIR) $(test-crt-posixc-general_OBJDIR) +endif + +GLOB_MKDIRS += $(test-crt-posixc-general_TARGETDIR) $(test-crt-posixc-general_OBJDIR) + + +test-crt-posixc-general-clean : FILES := $(test-crt-posixc-general_OBJS) $(test-crt-posixc-general_EXES) $(test-crt-posixc-general_DEPS) +#MM +test-crt-posixc-general-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-posixc-general" + $(Q)$(RM) $(FILES) + + +NOWARN_CFLAGS := $(NOWARN_FORMAT_TRUNCATION) +USER_CFLAGS = -ffloat-store $(NOWARN_CFLAGS) + + +.PHONY : test-crt-posixc-nix + +test-crt-posixc-nix_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-posixc-nix_TARGETDIR := $(EXEDIR) +test-crt-posixc-nix_LIBS := + +test-crt-posixc-nix_FILES := $(POSIXCNIXTESTFILES) +test-crt-posixc-nix_OBJS := $(addsuffix .o,$(addprefix $(test-crt-posixc-nix_OBJDIR)/,$(test-crt-posixc-nix_FILES))) +test-crt-posixc-nix_DEPS := $(addsuffix .d,$(addprefix $(test-crt-posixc-nix_OBJDIR)/,$(test-crt-posixc-nix_FILES))) +test-crt-posixc-nix_EXES := $(addprefix $(test-crt-posixc-nix_TARGETDIR)/,$(test-crt-posixc-nix_FILES)) + +test-crt-posixc-nix_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-crt-posixc-nix_CPPFLAGS += -I +endif +test-crt-posixc-nix_CFLAGS := $(CFLAGS) +test-crt-posixc-nix_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq (no,yes) +test-crt-posixc-nix_COVERAGE := yes +test-crt-posixc-nix_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-posixc-nix_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-posixc-nix_CFLAGS := $(strip $(test-crt-posixc-nix_COVERAGEFLAGS) $(test-crt-posixc-nix_CFLAGS)) +test-crt-posixc-nix_LIBS += $(test-crt-posixc-nix_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-posixc-nix_FUNCINSTR := yes +test-crt-posixc-nix_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-posixc-nix_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-posixc-nix_CFLAGS := $(strip $(test-crt-posixc-nix_INSTRFUNCFLAGS) $(test-crt-posixc-nix_CFLAGS)) +test-crt-posixc-nix_LIBS += $(test-crt-posixc-nix_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-posixc-nix_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-nix_CFLAGS)) +endif +endif +ifneq (,) + test-crt-posixc-nix_DFLAGS := +else + test-crt-posixc-nix_DFLAGS := $(test-crt-posixc-nix_CFLAGS) +endif +ifeq (target,target) +test-crt-posixc-nix_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-posixc-nix_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-nix_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-crt-posixc-nix_LDFLAGS += -L +endif + +#MM +test-crt-posixc-nix-quick : test-crt-posixc-nix + +#MM test-crt-posixc-nix : includes-generate-deps core-linklibs +test-crt-posixc-nix : $(test-crt-posixc-nix_EXES) + +ifneq ($(filter $(TARGET),test-crt-posixc-nix test-crt-posixc-nix-quick),) + +ifeq (,) +test-crt-posixc-nix_MC_SRCWILDCARD := % +else +test-crt-posixc-nix_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-nix_OBJDIR),) +test-crt-posixc-nix_MC_TARGETS := $(addsuffix .o,$(test-crt-posixc-nix_FILES)) +test-crt-posixc-nix_MC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-nix_FILES)) +test-crt-posixc-nix_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-posixc-nix_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-nix_OBJDIR)/,$(notdir $(test-crt-posixc-nix_FILES)))) + test-crt-posixc-nix_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-nix_OBJDIR)/,$(notdir $(test-crt-posixc-nix_FILES)))) +else +ifeq (,) + test-crt-posixc-nix_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-nix_OBJDIR)/,$(test-crt-posixc-nix_FILES))) + test-crt-posixc-nix_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-nix_OBJDIR)/,$(test-crt-posixc-nix_FILES))) +else + test-crt-posixc-nix_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-nix_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-nix_FILES)))) + test-crt-posixc-nix_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-nix_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-nix_FILES)))) +endif +endif +test-crt-posixc-nix_MC_TGTWILDCARD := $(test-crt-posixc-nix_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-posixc-nix_FILES)) + +# Be sure that all .c files are found +test-crt-posixc-nix_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-nix_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-nix_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-nix_MC_DIRS := $(foreach dir, $(test-crt-posixc-nix_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-nix_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-nix_MC_DIRS),) + test-crt-posixc-nix_MC_DIRS := $(shell echo $(test-crt-posixc-nix_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-posixc-nix_MC_DIRS) +endif + +endif + +test-crt-posixc-nix_MC_CPPFLAGS := $(test-crt-posixc-nix_CPPFLAGS) +test-crt-posixc-nix_CFLAGS := $(test-crt-posixc-nix_CFLAGS) +ifeq ($(test-crt-posixc-nix_DFLAGS),) + test-crt-posixc-nix_DFLAGS := $(test-crt-posixc-nix_CFLAGS) +else + test-crt-posixc-nix_DFLAGS := $(test-crt-posixc-nix_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-posixc-nix_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-posixc-nix_STRIP ?= $(TARGET_STRIP) +test-crt-posixc-nix_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_MC_CPPFLAGS:=$(strip $(test-crt-posixc-nix_MC_CPPFLAGS) $(test-crt-posixc-nix_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_CFLAGS:=$(strip $(test-crt-posixc-nix_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_DFLAGS:=$(test-crt-posixc-nix_DFLAGS) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-posixc-nix_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-posixc-nix_STRIP ?= $(HOST_STRIP) +test-crt-posixc-nix_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-posixc-nix_MC_CPPFLAGS) $(test-crt-posixc-nix_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-nix_CFLAGS)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-nix_DFLAGS)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-posixc-nix_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-posixc-nix_STRIP ?= $(ECHO) >/dev/null +test-crt-posixc-nix_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-posixc-nix_MC_CPPFLAGS) $(test-crt-posixc-nix_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-nix_CFLAGS)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-nix_DFLAGS)) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-posixc-nix_MC_TARGETS) $(test-crt-posixc-nix_MC_DTARGETS) : test-crt-posixc-nix_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-nix_MC_TARGETS) : CPPFLAGS := $(test-crt-posixc-nix_MC_CPPFLAGS) +$(test-crt-posixc-nix_MC_TARGETS) : CFLAGS := $(test-crt-posixc-nix_CFLAGS) +$(test-crt-posixc-nix_MC_TARGETS) : $(test-crt-posixc-nix_MC_TGTWILDCARD).o : $(test-crt-posixc-nix_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-nix_IQUOTE) $(dir $<) $(test-crt-posixc-nix_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-nix_IQUOTE) . $(test-crt-posixc-nix_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-nix_IQUOTE) $(dir $<) $(test-crt-posixc-nix_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-nix_IQUOTE) . $(test-crt-posixc-nix_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-nix_IQUOTE) $(dir $<) $(test-crt-posixc-nix_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-nix_IQUOTE) . $(test-crt-posixc-nix_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-nix_MC_DTARGETS) : $(test-crt-posixc-nix_MC_TGTWILDCARD).d : $(test-crt-posixc-nix_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-nix_DFLAGS) $(test-crt-posixc-nix_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-crt-posixc-nix-link_EXTRA_LDFLAGS := +test-crt-posixc-nix-link_EXTRA_LIBS := +ifeq (yes,yes) + test-crt-posixc-nix-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-posixc-nix-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-posixc-nix-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-crt-posixc-nix-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-posixc-nix_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-posixc-nix-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-posixc-nix-link_DIRS))) +# Add trailing / +test-crt-posixc-nix-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-posixc-nix-link_DIRS))) +# Add normal linklib path +test-crt-posixc-nix-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-posixc-nix-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-posixc-nix_LIBS) $(test-crt-posixc-nix-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-crt-posixc-nix-link_DEPLIBS := $(foreach lib,$(test-crt-posixc-nix-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-posixc-nix-link_DIRS)))) \ +) +test-crt-posixc-nix-link_PROGS := $(addprefix $(test-crt-posixc-nix_TARGETDIR)/,$(test-crt-posixc-nix_FILES)) + +$(test-crt-posixc-nix-link_PROGS) : OBJDIR := $(test-crt-posixc-nix_OBJDIR) +$(test-crt-posixc-nix-link_PROGS) : LDFLAGS := $(strip $(test-crt-posixc-nix_LDFLAGS) $(test-crt-posixc-nix-link_EXTRA_LDFLAGS)) +$(test-crt-posixc-nix-link_PROGS) : LIBS := $(addprefix -l,$(test-crt-posixc-nix_LIBS) $(test-crt-posixc-nix-link_EXTRA_LIBS) ) +$(test-crt-posixc-nix-link_PROGS) : $(test-crt-posixc-nix_TARGETDIR)/% : $(test-crt-posixc-nix_OBJDIR)/%.o $(test-crt-posixc-nix-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-posixc-nix_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-posixc-nix_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-posixc-nix_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-nix_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-posixc-nix_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-posixc-nix_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-nix_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-posixc-nix_DEPS),) + ifneq (test-crt-posixc-nix test-crt-posixc-nix-quick,) + ifneq ($(findstring $(TARGET),test-crt-posixc-nix test-crt-posixc-nix-quick),) + -include $(test-crt-posixc-nix_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-posixc-nix_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-posixc-nix_DEPS) $(test-crt-posixc-nix_OBJS) $(addprefix $(test-crt-posixc-nix_TARGETDIR)/,$(test-crt-posixc-nix_FILES)),) +$(test-crt-posixc-nix_DEPS) $(test-crt-posixc-nix_OBJS) $(addprefix $(test-crt-posixc-nix_TARGETDIR)/,$(test-crt-posixc-nix_FILES)) : | $(test-crt-posixc-nix_TARGETDIR) $(test-crt-posixc-nix_OBJDIR) +else +$(test-crt-posixc-nix_DEPS) $(test-crt-posixc-nix_OBJS) $(addprefix $(test-crt-posixc-nix_TARGETDIR)/,$(test-crt-posixc-nix_FILES)) :: $(test-crt-posixc-nix_TARGETDIR) $(test-crt-posixc-nix_OBJDIR) +endif + +GLOB_MKDIRS += $(test-crt-posixc-nix_TARGETDIR) $(test-crt-posixc-nix_OBJDIR) + + +test-crt-posixc-nix-clean : FILES := $(test-crt-posixc-nix_OBJS) $(test-crt-posixc-nix_EXES) $(test-crt-posixc-nix_DEPS) +#MM +test-crt-posixc-nix-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-posixc-nix" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-crt-posixc-posix1-scanf + +test-crt-posixc-posix1-scanf_PROGNAME := scanf +test-crt-posixc-posix1-scanf_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-posixc-posix1-scanf_TARGETDIR := $(EXEDIR) +test-crt-posixc-posix1-scanf_LINKER := +test-crt-posixc-posix1-scanf_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-crt-posixc-posix1-scanf_LINKER),) + test-crt-posixc-posix1-scanf_LINKER := target +endif + +ifneq ("$(strip posix.1/scanf-examples )","") + test-crt-posixc-posix1-scanf_FILES := posix.1/scanf-examples + test-crt-posixc-posix1-scanf_OBJCFILES := + test-crt-posixc-posix1-scanf_ASMFILES := + test-crt-posixc-posix1-scanf_CXXFILES := +else + test-crt-posixc-posix1-scanf_FILES := $(test-crt-posixc-posix1-scanf_PROGNAME) + test-crt-posixc-posix1-scanf_OBJCFILES := + test-crt-posixc-posix1-scanf_ASMFILES := + test-crt-posixc-posix1-scanf_CXXFILES := +endif + +test-crt-posixc-posix1-scanf_ARCHOBJS := $(wildcard $(test-crt-posixc-posix1-scanf_OBJDIR)/arch/*.o) +test-crt-posixc-posix1-scanf_ARCHFILES := $(basename $(notdir $(test-crt-posixc-posix1-scanf_ARCHOBJS))) +test-crt-posixc-posix1-scanf_C_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-scanf_ARCHFILES),$(test-crt-posixc-posix1-scanf_FILES)) +test-crt-posixc-posix1-scanf_CXX_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-scanf_ARCHFILES),$(test-crt-posixc-posix1-scanf_CXXFILES)) +test-crt-posixc-posix1-scanf_OBJC_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-scanf_ARCHFILES),$(test-crt-posixc-posix1-scanf_OBJCFILES)) + +TMP_FILES := $(test-crt-posixc-posix1-scanf_C_NARCHFILES) $(test-crt-posixc-posix1-scanf_CXX_NARCHFILES) $(test-crt-posixc-posix1-scanf_ASMFILES) $(test-crt-posixc-posix1-scanf_OBJC_NARCHFILES) +test-crt-posixc-posix1-scanf_OBJS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-crt-posixc-posix1-scanf_DEPS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-crt-posixc-posix1-scanf_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-crt-posixc-posix1-scanf_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-scanf_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-scanf_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-scanf_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-crt-posixc-posix1-scanf_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-scanf_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-scanf_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-scanf_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-crt-posixc-posix1-scanf_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-scanf_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-scanf_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-scanf_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-crt-posixc-posix1-scanf_LDFLAGS := +endif + +test-crt-posixc-posix1-scanf_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-posixc-posix1-scanf_COVERAGE := yes +test-crt-posixc-posix1-scanf_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-posixc-posix1-scanf_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-posixc-posix1-scanf_CFLAGS := $(strip $(test-crt-posixc-posix1-scanf_COVERAGEFLAGS) $(test-crt-posixc-posix1-scanf_CFLAGS)) +test-crt-posixc-posix1-scanf_CXXFLAGS := $(strip $(test-crt-posixc-posix1-scanf_COVERAGEFLAGS) $(test-crt-posixc-posix1-scanf_CXXFLAGS)) +test-crt-posixc-posix1-scanf_LIBS += $(test-crt-posixc-posix1-scanf_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-posixc-posix1-scanf_FUNCINSTR := yes +test-crt-posixc-posix1-scanf_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-posixc-posix1-scanf_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-posixc-posix1-scanf_CFLAGS := $(strip $(test-crt-posixc-posix1-scanf_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-scanf_CFLAGS)) +test-crt-posixc-posix1-scanf_CXXFLAGS := $(strip $(test-crt-posixc-posix1-scanf_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-scanf_CXXFLAGS)) +test-crt-posixc-posix1-scanf_LIBS += $(test-crt-posixc-posix1-scanf_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-posixc-posix1-scanf_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-scanf_CFLAGS)) +test-crt-posixc-posix1-scanf_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-scanf_CXXFLAGS)) +endif +endif +test-crt-posixc-posix1-scanf_AFLAGS := $(AFLAGS) +ifneq (,) + test-crt-posixc-posix1-scanf_DFLAGS := +else + test-crt-posixc-posix1-scanf_DFLAGS := $(test-crt-posixc-posix1-scanf_CFLAGS) +endif +ifneq (,) + test-crt-posixc-posix1-scanf_DXXFLAGS := +else + test-crt-posixc-posix1-scanf_DXXFLAGS := $(test-crt-posixc-posix1-scanf_CXXFLAGS) +endif +ifeq (target,target) +test-crt-posixc-posix1-scanf_LDFLAGS := $(test-crt-posixc-posix1-scanf_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-scanf_LDFLAGS := $(test-crt-posixc-posix1-scanf_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-scanf_LDFLAGS := $(test-crt-posixc-posix1-scanf_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-crt-posixc-posix1-scanf_LDFLAGS += -L +endif + +#MM +test-crt-posixc-posix1-scanf-quick : test-crt-posixc-posix1-scanf + +#MM test-crt-posixc-posix1-scanf : includes-generate-deps core-linklibs +test-crt-posixc-posix1-scanf : $(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) + +ifneq ($(filter $(TARGET),test-crt-posixc-posix1-scanf test-crt-posixc-posix1-scanf-quick test-crt-posixc-posix1-scanf-gz-quick),) + +test-crt-posixc-posix1-scanf_CXXABSBASENAMES := $(foreach test-crt-posixc-posix1-scanf_CXXBASE,$(test-crt-posixc-posix1-scanf_CXX_NARCHFILES),$(if $(filter /%,$(test-crt-posixc-posix1-scanf_CXXBASE)),$(test-crt-posixc-posix1-scanf_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-crt-posixc-posix1-scanf_CXXBASE)))) + +ifneq ($(test-crt-posixc-posix1-scanf_CXXABSBASENAMES),) + +test-crt-posixc-posix1-scanf_CXXBASENAMES := $(basename $(test-crt-posixc-posix1-scanf_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-crt-posixc-posix1-scanf_MCXX_FILES := $(strip $(foreach test-crt-posixc-posix1-scanf_CXXBASE,$(test-crt-posixc-posix1-scanf_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-crt-posixc-posix1-scanf_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-crt-posixc-posix1-scanf_EXT),$(test-crt-posixc-posix1-scanf_CXXBASE))))))) + +ifeq (,) +test-crt-posixc-posix1-scanf_MCXX_SRCWILDCARD := % +else +test-crt-posixc-posix1-scanf_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-scanf_OBJDIR),) + test-crt-posixc-posix1-scanf_CXXTARGETS := $(notdir $(test-crt-posixc-posix1-scanf_CXXBASENAMES:=.o)) + test-crt-posixc-posix1-scanf_CXXDTARGETS := $(notdir $(test-crt-posixc-posix1-scanf_CXXBASENAMES:=.d)) + test-crt-posixc-posix1-scanf_MCXX_WILDCARD := % +else + test-crt-posixc-posix1-scanf_CXXTARGETS := $(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-scanf_CXXBASENAMES:=.o))) + test-crt-posixc-posix1-scanf_CXXDTARGETS := $(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-scanf_CXXBASENAMES:=.d))) + test-crt-posixc-posix1-scanf_MCXX_WILDCARD := $(test-crt-posixc-posix1-scanf_OBJDIR)/% + + # Be sure that all source files are generated + $(test-crt-posixc-posix1-scanf_CXXTARGETS) $(test-crt-posixc-posix1-scanf_CXXDTARGETS) : | $(test-crt-posixc-posix1-scanf_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS := $(test-crt-posixc-posix1-scanf_CPPFLAGS) +test-crt-posixc-posix1-scanf_CXXFLAGS := $(test-crt-posixc-posix1-scanf_CXXFLAGS) +ifeq ($(test-crt-posixc-posix1-scanf_DXXFLAGS),) + test-crt-posixc-posix1-scanf_DXXFLAGS := $(test-crt-posixc-posix1-scanf_CXXFLAGS) +else + test-crt-posixc-posix1-scanf_DXXFLAGS := $(test-crt-posixc-posix1-scanf_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-crt-posixc-posix1-scanf_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-scanf_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-crt-posixc-posix1-scanf_CXXCMD:=$(HOST_CXX) + test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-scanf_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-scanf_CXXFLAGS)) + test-crt-posixc-posix1-scanf_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-scanf_DXXFLAGS)) + test-crt-posixc-posix1-scanf_CXXIQUOTE:=$(HOST_IQUOTE) + test-crt-posixc-posix1-scanf_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-crt-posixc-posix1-scanf_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-scanf_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-scanf_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS := $(strip $(test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-scanf_CXXFLAGS := $(strip $(test-crt-posixc-posix1-scanf_CXXFLAGS) $(SAFETY_CFLAGS)) + test-crt-posixc-posix1-scanf_DXXFLAGS := $(test-crt-posixc-posix1-scanf_DXXFLAGS) + test-crt-posixc-posix1-scanf_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-crt-posixc-posix1-scanf_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-crt-posixc-posix1-scanf_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-scanf_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-scanf_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-scanf_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-scanf_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-scanf_CXXFLAGS)) + test-crt-posixc-posix1-scanf_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-scanf_DXXFLAGS)) + test-crt-posixc-posix1-scanf_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-crt-posixc-posix1-scanf_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-crt-posixc-posix1-scanf_CXXCMD) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) . $(test-crt-posixc-posix1-scanf_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-scanf_CXXFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-crt-posixc-posix1-scanf_CXXCMD) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) . $(test-crt-posixc-posix1-scanf_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-scanf_CXXFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-crt-posixc-posix1-scanf_CXXCMD) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_CXXIQUOTE) . $(test-crt-posixc-posix1-scanf_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-scanf_CXXFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-crt-posixc-posix1-scanf_CXXCMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-scanf_DXXFLAGS) $(test-crt-posixc-posix1-scanf_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-crt-posixc-posix1-scanf_OBJDIR),) + $(foreach test-crt-posixc-posix1-scanf_CXXFILE,$(test-crt-posixc-posix1-scanf_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-crt-posixc-posix1-scanf_CXXFILE))),$(test-crt-posixc-posix1-scanf_CXXFILE)))) +else + $(foreach test-crt-posixc-posix1-scanf_CXXFILE,$(test-crt-posixc-posix1-scanf_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(notdir $(basename $(test-crt-posixc-posix1-scanf_CXXFILE)))),$(test-crt-posixc-posix1-scanf_CXXFILE)))) +endif + +endif + + +ifneq ($(test-crt-posixc-posix1-scanf_OBJC_NARCHFILES),) + +ifeq (,) +test-crt-posixc-posix1-scanf_MOBJC_SRCWILDCARD := % +else +test-crt-posixc-posix1-scanf_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-scanf_OBJDIR),) + test-crt-posixc-posix1-scanf_MOBJC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-scanf_OBJC_NARCHFILES)) + test-crt-posixc-posix1-scanf_MOBJC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-scanf_OBJC_NARCHFILES)) + test-crt-posixc-posix1-scanf_MOBJC_WILDCARD := % +else + test-crt-posixc-posix1-scanf_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(test-crt-posixc-posix1-scanf_OBJC_NARCHFILES))) + test-crt-posixc-posix1-scanf_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(test-crt-posixc-posix1-scanf_OBJC_NARCHFILES))) + test-crt-posixc-posix1-scanf_MOBJC_WILDCARD := $(test-crt-posixc-posix1-scanf_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-crt-posixc-posix1-scanf_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-crt-posixc-posix1-scanf_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-crt-posixc-posix1-scanf_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-scanf_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-crt-posixc-posix1-scanf_MOBJC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-scanf_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-scanf_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-crt-posixc-posix1-scanf_MOBJC_DIRS),) + test-crt-posixc-posix1-scanf_MOBJC_DIRS := $(shell echo $(test-crt-posixc-posix1-scanf_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-crt-posixc-posix1-scanf_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-crt-posixc-posix1-scanf_CC := $(TARGET_CC) +else + test-crt-posixc-posix1-scanf_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS := $(test-crt-posixc-posix1-scanf_CPPFLAGS) +test-crt-posixc-posix1-scanf_OBJCFLAGS := $(test-crt-posixc-posix1-scanf_CFLAGS) +test-crt-posixc-posix1-scanf_OBJCFLAGS := $(test-crt-posixc-posix1-scanf_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-crt-posixc-posix1-scanf_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-crt-posixc-posix1-scanf_OBJCFLAGS))) +ifeq ($(test-crt-posixc-posix1-scanf_DFLAGS),) + test-crt-posixc-posix1-scanf_OBJCDFLAGS := $(test-crt-posixc-posix1-scanf_CFLAGS) +else + test-crt-posixc-posix1-scanf_OBJCDFLAGS := $(test-crt-posixc-posix1-scanf_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-crt-posixc-posix1-scanf_LINK ?= $(strip $(test-crt-posixc-posix1-scanf_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-scanf_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : CMD:=$(strip $(test-crt-posixc-posix1-scanf_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_OBJCFLAGS:=$(strip $(test-crt-posixc-posix1-scanf_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_OBJCDFLAGS:=$(test-crt-posixc-posix1-scanf_OBJCDFLAGS) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-crt-posixc-posix1-scanf_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-scanf_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-scanf_OBJCFLAGS)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-scanf_OBJCDFLAGS)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE:=$(HOST_IQUOTE) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-crt-posixc-posix1-scanf_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-scanf_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-scanf_OBJCFLAGS)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-scanf_OBJCDFLAGS)) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE:=$(KERNEL_IQUOTE) + $(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) $(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS) +$(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-scanf_OBJCFLAGS) +$(test-crt-posixc-posix1-scanf_MOBJC_TARGETS) : $(test-crt-posixc-posix1-scanf_MOBJC_WILDCARD).o : $(test-crt-posixc-posix1-scanf_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-scanf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-scanf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_IQUOTE) . $(test-crt-posixc-posix1-scanf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-scanf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-scanf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_IQUOTE) . $(test-crt-posixc-posix1-scanf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-scanf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-scanf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_IQUOTE) . $(test-crt-posixc-posix1-scanf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-scanf_MOBJC_DTARGETS) : $(test-crt-posixc-posix1-scanf_MOBJC_WILDCARD).d : $(test-crt-posixc-posix1-scanf_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-scanf_OBJCDFLAGS) $(test-crt-posixc-posix1-scanf_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-crt-posixc-posix1-scanf_MC_SRCWILDCARD := % +else +test-crt-posixc-posix1-scanf_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-scanf_OBJDIR),) +test-crt-posixc-posix1-scanf_MC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-scanf_C_NARCHFILES)) +test-crt-posixc-posix1-scanf_MC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-scanf_C_NARCHFILES)) +test-crt-posixc-posix1-scanf_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-posixc-posix1-scanf_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-scanf_C_NARCHFILES)))) + test-crt-posixc-posix1-scanf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-scanf_C_NARCHFILES)))) +else +ifeq (,) + test-crt-posixc-posix1-scanf_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(test-crt-posixc-posix1-scanf_C_NARCHFILES))) + test-crt-posixc-posix1-scanf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(test-crt-posixc-posix1-scanf_C_NARCHFILES))) +else + test-crt-posixc-posix1-scanf_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-scanf_C_NARCHFILES)))) + test-crt-posixc-posix1-scanf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-scanf_C_NARCHFILES)))) +endif +endif +test-crt-posixc-posix1-scanf_MC_TGTWILDCARD := $(test-crt-posixc-posix1-scanf_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-posixc-posix1-scanf_C_NARCHFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-scanf_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-scanf_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-scanf_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-scanf_MC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-scanf_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-scanf_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-scanf_MC_DIRS),) + test-crt-posixc-posix1-scanf_MC_DIRS := $(shell echo $(test-crt-posixc-posix1-scanf_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-posixc-posix1-scanf_MC_DIRS) +endif + +endif + +test-crt-posixc-posix1-scanf_MC_CPPFLAGS := $(test-crt-posixc-posix1-scanf_CPPFLAGS) +test-crt-posixc-posix1-scanf_CFLAGS := $(test-crt-posixc-posix1-scanf_CFLAGS) +ifeq ($(test-crt-posixc-posix1-scanf_DFLAGS),) + test-crt-posixc-posix1-scanf_DFLAGS := $(test-crt-posixc-posix1-scanf_CFLAGS) +else + test-crt-posixc-posix1-scanf_DFLAGS := $(test-crt-posixc-posix1-scanf_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-posixc-posix1-scanf_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-posixc-posix1-scanf_STRIP ?= $(TARGET_STRIP) +test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_MC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-scanf_MC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_CFLAGS:=$(strip $(test-crt-posixc-posix1-scanf_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_DFLAGS:=$(test-crt-posixc-posix1-scanf_DFLAGS) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-posixc-posix1-scanf_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-posixc-posix1-scanf_STRIP ?= $(HOST_STRIP) +test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-scanf_CFLAGS)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-scanf_DFLAGS)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-scanf_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-posixc-posix1-scanf_STRIP ?= $(ECHO) >/dev/null +test-crt-posixc-posix1-scanf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MC_CPPFLAGS) $(test-crt-posixc-posix1-scanf_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-scanf_CFLAGS)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-scanf_DFLAGS)) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) $(test-crt-posixc-posix1-scanf_MC_DTARGETS) : test-crt-posixc-posix1-scanf_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-scanf_MC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-scanf_MC_CPPFLAGS) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-scanf_CFLAGS) +$(test-crt-posixc-posix1-scanf_MC_TARGETS) : $(test-crt-posixc-posix1-scanf_MC_TGTWILDCARD).o : $(test-crt-posixc-posix1-scanf_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-scanf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-scanf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_IQUOTE) . $(test-crt-posixc-posix1-scanf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-scanf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-scanf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_IQUOTE) . $(test-crt-posixc-posix1-scanf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-scanf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-scanf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-scanf_IQUOTE) . $(test-crt-posixc-posix1-scanf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-scanf_MC_DTARGETS) : $(test-crt-posixc-posix1-scanf_MC_TGTWILDCARD).d : $(test-crt-posixc-posix1-scanf_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-scanf_DFLAGS) $(test-crt-posixc-posix1-scanf_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-crt-posixc-posix1-scanf_OBJDIR),) +test-crt-posixc-posix1-scanf-MA_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-scanf_ASMFILES)) +test-crt-posixc-posix1-scanf-MA_WILDCARD := % +else +test-crt-posixc-posix1-scanf-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-scanf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-scanf_ASMFILES)))) +test-crt-posixc-posix1-scanf-MA_WILDCARD := $(test-crt-posixc-posix1-scanf_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-crt-posixc-posix1-scanf-MA_TARGETS) : | $(addsuffix .s,$(test-crt-posixc-posix1-scanf_ASMFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-scanf-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-scanf-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-scanf_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-scanf-MA_DIRS := $(foreach dir, $(test-crt-posixc-posix1-scanf-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-scanf-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-scanf-MA_DIRS),) + test-crt-posixc-posix1-scanf-MA_DIRS := $(shell echo $(test-crt-posixc-posix1-scanf-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-crt-posixc-posix1-scanf-MA_DIRS) +endif + +endif + +test-crt-posixc-posix1-scanf-MA_ASSEMBLER ?= $(test-crt-posixc-posix1-scanf_ASSEMBLER) + +$(test-crt-posixc-posix1-scanf-MA_TARGETS) : test-crt-posixc-posix1-scanf-MA_CMD:= $(test-crt-posixc-posix1-scanf-MA_ASSEMBLER) + +$(test-crt-posixc-posix1-scanf-MA_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-scanf_CPPFLAGS) +$(test-crt-posixc-posix1-scanf-MA_TARGETS) : AFLAGS := $(test-crt-posixc-posix1-scanf_AFLAGS) +$(test-crt-posixc-posix1-scanf-MA_TARGETS) : $(test-crt-posixc-posix1-scanf-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-crt-posixc-posix1-scanf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-crt-posixc-posix1-scanf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-crt-posixc-posix1-scanf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-crt-posixc-posix1-scanf-link_EXTRA_LDFLAGS := +test-crt-posixc-posix1-scanf-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-posixc-posix1-scanf-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-posixc-posix1-scanf-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-posixc-posix1-scanf-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-crt-posixc-posix1-scanf-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-posixc-posix1-scanf_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-posixc-posix1-scanf-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-posixc-posix1-scanf-link_DIRS))) +# Add trailing / +test-crt-posixc-posix1-scanf-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-posixc-posix1-scanf-link_DIRS))) +# Add normal linklib path +test-crt-posixc-posix1-scanf-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-posixc-posix1-scanf-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-posixc-posix1-scanf_LIBS) $(test-crt-posixc-posix1-scanf-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-crt-posixc-posix1-scanf-link_LIBS += startup.o +endif +ifeq (no,yes) + test-crt-posixc-posix1-scanf-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-crt-posixc-posix1-scanf-link_DEPLIBS := $(foreach lib,$(test-crt-posixc-posix1-scanf-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-posixc-posix1-scanf-link_DIRS)))) \ +) + +$(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) : OBJDIR := $(test-crt-posixc-posix1-scanf_OBJDIR) +$(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) : OBJS := $(test-crt-posixc-posix1-scanf_OBJS) $(test-crt-posixc-posix1-scanf_ARCHOBJS) $(USER_OBJS) +$(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) : LDFLAGS := $(strip $(test-crt-posixc-posix1-scanf_LDFLAGS) $(test-crt-posixc-posix1-scanf-link_EXTRA_LDFLAGS)) +$(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) : LIBS := $(addprefix -l,$(test-crt-posixc-posix1-scanf_LIBS) $(test-crt-posixc-posix1-scanf-link_EXTRA_LIBS) ) +$(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) : $(test-crt-posixc-posix1-scanf_OBJS) $(test-crt-posixc-posix1-scanf_ARCHOBJS) $(USER_OBJS) $(test-crt-posixc-posix1-scanf-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-posixc-posix1-scanf_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-posixc-posix1-scanf_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-posixc-posix1-scanf_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-scanf_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-posixc-posix1-scanf_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-posixc-posix1-scanf_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-scanf_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-posixc-posix1-scanf_DEPS),) + ifneq (test-crt-posixc-posix1-scanf test-crt-posixc-posix1-scanf-quick,) + ifneq ($(findstring $(TARGET),test-crt-posixc-posix1-scanf test-crt-posixc-posix1-scanf-quick),) + -include $(test-crt-posixc-posix1-scanf_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-posixc-posix1-scanf_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-posixc-posix1-scanf_OBJS) $(test-crt-posixc-posix1-scanf_DEPS) $(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME),) +$(test-crt-posixc-posix1-scanf_OBJS) $(test-crt-posixc-posix1-scanf_DEPS) $(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) : | $(test-crt-posixc-posix1-scanf_OBJDIR) $(test-crt-posixc-posix1-scanf_TARGETDIR) +else +$(test-crt-posixc-posix1-scanf_OBJS) $(test-crt-posixc-posix1-scanf_DEPS) $(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) :: $(test-crt-posixc-posix1-scanf_OBJDIR) $(test-crt-posixc-posix1-scanf_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-crt-posixc-posix1-scanf_OBJDIR) $(test-crt-posixc-posix1-scanf_TARGETDIR) + + +test-crt-posixc-posix1-scanf-clean : FILES := $(test-crt-posixc-posix1-scanf_OBJS) $(test-crt-posixc-posix1-scanf_TARGETDIR)/$(test-crt-posixc-posix1-scanf_PROGNAME) $(test-crt-posixc-posix1-scanf_DEPS) +#MM +test-crt-posixc-posix1-scanf-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-posixc-posix1-scanf" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-crt-posixc-posix1-getline + +test-crt-posixc-posix1-getline_PROGNAME := getline +test-crt-posixc-posix1-getline_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-posixc-posix1-getline_TARGETDIR := $(EXEDIR) +test-crt-posixc-posix1-getline_LINKER := +test-crt-posixc-posix1-getline_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-crt-posixc-posix1-getline_LINKER),) + test-crt-posixc-posix1-getline_LINKER := target +endif + +ifneq ("$(strip posix.1/getline-examples )","") + test-crt-posixc-posix1-getline_FILES := posix.1/getline-examples + test-crt-posixc-posix1-getline_OBJCFILES := + test-crt-posixc-posix1-getline_ASMFILES := + test-crt-posixc-posix1-getline_CXXFILES := +else + test-crt-posixc-posix1-getline_FILES := $(test-crt-posixc-posix1-getline_PROGNAME) + test-crt-posixc-posix1-getline_OBJCFILES := + test-crt-posixc-posix1-getline_ASMFILES := + test-crt-posixc-posix1-getline_CXXFILES := +endif + +test-crt-posixc-posix1-getline_ARCHOBJS := $(wildcard $(test-crt-posixc-posix1-getline_OBJDIR)/arch/*.o) +test-crt-posixc-posix1-getline_ARCHFILES := $(basename $(notdir $(test-crt-posixc-posix1-getline_ARCHOBJS))) +test-crt-posixc-posix1-getline_C_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-getline_ARCHFILES),$(test-crt-posixc-posix1-getline_FILES)) +test-crt-posixc-posix1-getline_CXX_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-getline_ARCHFILES),$(test-crt-posixc-posix1-getline_CXXFILES)) +test-crt-posixc-posix1-getline_OBJC_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-getline_ARCHFILES),$(test-crt-posixc-posix1-getline_OBJCFILES)) + +TMP_FILES := $(test-crt-posixc-posix1-getline_C_NARCHFILES) $(test-crt-posixc-posix1-getline_CXX_NARCHFILES) $(test-crt-posixc-posix1-getline_ASMFILES) $(test-crt-posixc-posix1-getline_OBJC_NARCHFILES) +test-crt-posixc-posix1-getline_OBJS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-crt-posixc-posix1-getline_DEPS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-crt-posixc-posix1-getline_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-crt-posixc-posix1-getline_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-getline_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-getline_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-getline_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-crt-posixc-posix1-getline_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-getline_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-getline_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-getline_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-crt-posixc-posix1-getline_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-getline_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-getline_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-getline_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-crt-posixc-posix1-getline_LDFLAGS := +endif + +test-crt-posixc-posix1-getline_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-posixc-posix1-getline_COVERAGE := yes +test-crt-posixc-posix1-getline_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-posixc-posix1-getline_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-posixc-posix1-getline_CFLAGS := $(strip $(test-crt-posixc-posix1-getline_COVERAGEFLAGS) $(test-crt-posixc-posix1-getline_CFLAGS)) +test-crt-posixc-posix1-getline_CXXFLAGS := $(strip $(test-crt-posixc-posix1-getline_COVERAGEFLAGS) $(test-crt-posixc-posix1-getline_CXXFLAGS)) +test-crt-posixc-posix1-getline_LIBS += $(test-crt-posixc-posix1-getline_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-posixc-posix1-getline_FUNCINSTR := yes +test-crt-posixc-posix1-getline_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-posixc-posix1-getline_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-posixc-posix1-getline_CFLAGS := $(strip $(test-crt-posixc-posix1-getline_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-getline_CFLAGS)) +test-crt-posixc-posix1-getline_CXXFLAGS := $(strip $(test-crt-posixc-posix1-getline_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-getline_CXXFLAGS)) +test-crt-posixc-posix1-getline_LIBS += $(test-crt-posixc-posix1-getline_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-posixc-posix1-getline_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-getline_CFLAGS)) +test-crt-posixc-posix1-getline_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-getline_CXXFLAGS)) +endif +endif +test-crt-posixc-posix1-getline_AFLAGS := $(AFLAGS) +ifneq (,) + test-crt-posixc-posix1-getline_DFLAGS := +else + test-crt-posixc-posix1-getline_DFLAGS := $(test-crt-posixc-posix1-getline_CFLAGS) +endif +ifneq (,) + test-crt-posixc-posix1-getline_DXXFLAGS := +else + test-crt-posixc-posix1-getline_DXXFLAGS := $(test-crt-posixc-posix1-getline_CXXFLAGS) +endif +ifeq (target,target) +test-crt-posixc-posix1-getline_LDFLAGS := $(test-crt-posixc-posix1-getline_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-getline_LDFLAGS := $(test-crt-posixc-posix1-getline_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-getline_LDFLAGS := $(test-crt-posixc-posix1-getline_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-crt-posixc-posix1-getline_LDFLAGS += -L +endif + +#MM +test-crt-posixc-posix1-getline-quick : test-crt-posixc-posix1-getline + +#MM test-crt-posixc-posix1-getline : includes-generate-deps core-linklibs +test-crt-posixc-posix1-getline : $(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) + +ifneq ($(filter $(TARGET),test-crt-posixc-posix1-getline test-crt-posixc-posix1-getline-quick test-crt-posixc-posix1-getline-gz-quick),) + +test-crt-posixc-posix1-getline_CXXABSBASENAMES := $(foreach test-crt-posixc-posix1-getline_CXXBASE,$(test-crt-posixc-posix1-getline_CXX_NARCHFILES),$(if $(filter /%,$(test-crt-posixc-posix1-getline_CXXBASE)),$(test-crt-posixc-posix1-getline_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-crt-posixc-posix1-getline_CXXBASE)))) + +ifneq ($(test-crt-posixc-posix1-getline_CXXABSBASENAMES),) + +test-crt-posixc-posix1-getline_CXXBASENAMES := $(basename $(test-crt-posixc-posix1-getline_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-crt-posixc-posix1-getline_MCXX_FILES := $(strip $(foreach test-crt-posixc-posix1-getline_CXXBASE,$(test-crt-posixc-posix1-getline_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-crt-posixc-posix1-getline_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-crt-posixc-posix1-getline_EXT),$(test-crt-posixc-posix1-getline_CXXBASE))))))) + +ifeq (,) +test-crt-posixc-posix1-getline_MCXX_SRCWILDCARD := % +else +test-crt-posixc-posix1-getline_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-getline_OBJDIR),) + test-crt-posixc-posix1-getline_CXXTARGETS := $(notdir $(test-crt-posixc-posix1-getline_CXXBASENAMES:=.o)) + test-crt-posixc-posix1-getline_CXXDTARGETS := $(notdir $(test-crt-posixc-posix1-getline_CXXBASENAMES:=.d)) + test-crt-posixc-posix1-getline_MCXX_WILDCARD := % +else + test-crt-posixc-posix1-getline_CXXTARGETS := $(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-getline_CXXBASENAMES:=.o))) + test-crt-posixc-posix1-getline_CXXDTARGETS := $(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-getline_CXXBASENAMES:=.d))) + test-crt-posixc-posix1-getline_MCXX_WILDCARD := $(test-crt-posixc-posix1-getline_OBJDIR)/% + + # Be sure that all source files are generated + $(test-crt-posixc-posix1-getline_CXXTARGETS) $(test-crt-posixc-posix1-getline_CXXDTARGETS) : | $(test-crt-posixc-posix1-getline_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-crt-posixc-posix1-getline_MCXX_CPPFLAGS := $(test-crt-posixc-posix1-getline_CPPFLAGS) +test-crt-posixc-posix1-getline_CXXFLAGS := $(test-crt-posixc-posix1-getline_CXXFLAGS) +ifeq ($(test-crt-posixc-posix1-getline_DXXFLAGS),) + test-crt-posixc-posix1-getline_DXXFLAGS := $(test-crt-posixc-posix1-getline_CXXFLAGS) +else + test-crt-posixc-posix1-getline_DXXFLAGS := $(test-crt-posixc-posix1-getline_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-crt-posixc-posix1-getline_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-getline_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-crt-posixc-posix1-getline_CXXCMD:=$(HOST_CXX) + test-crt-posixc-posix1-getline_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-getline_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-getline_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-getline_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-getline_CXXFLAGS)) + test-crt-posixc-posix1-getline_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-getline_DXXFLAGS)) + test-crt-posixc-posix1-getline_CXXIQUOTE:=$(HOST_IQUOTE) + test-crt-posixc-posix1-getline_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-crt-posixc-posix1-getline_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-getline_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-getline_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-getline_MCXX_CPPFLAGS := $(strip $(test-crt-posixc-posix1-getline_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-getline_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-getline_CXXFLAGS := $(strip $(test-crt-posixc-posix1-getline_CXXFLAGS) $(SAFETY_CFLAGS)) + test-crt-posixc-posix1-getline_DXXFLAGS := $(test-crt-posixc-posix1-getline_DXXFLAGS) + test-crt-posixc-posix1-getline_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-crt-posixc-posix1-getline_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-crt-posixc-posix1-getline_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-getline_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-getline_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-getline_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-getline_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-getline_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-getline_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-getline_CXXFLAGS)) + test-crt-posixc-posix1-getline_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-getline_DXXFLAGS)) + test-crt-posixc-posix1-getline_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-crt-posixc-posix1-getline_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-crt-posixc-posix1-getline_CXXCMD) $(test-crt-posixc-posix1-getline_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-getline_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_CXXIQUOTE) . $(test-crt-posixc-posix1-getline_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-getline_CXXFLAGS) $(test-crt-posixc-posix1-getline_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-crt-posixc-posix1-getline_CXXCMD) $(test-crt-posixc-posix1-getline_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-getline_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_CXXIQUOTE) . $(test-crt-posixc-posix1-getline_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-getline_CXXFLAGS) $(test-crt-posixc-posix1-getline_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-crt-posixc-posix1-getline_CXXCMD) $(test-crt-posixc-posix1-getline_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-getline_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_CXXIQUOTE) . $(test-crt-posixc-posix1-getline_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-getline_CXXFLAGS) $(test-crt-posixc-posix1-getline_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-crt-posixc-posix1-getline_CXXCMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-getline_DXXFLAGS) $(test-crt-posixc-posix1-getline_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-crt-posixc-posix1-getline_OBJDIR),) + $(foreach test-crt-posixc-posix1-getline_CXXFILE,$(test-crt-posixc-posix1-getline_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-crt-posixc-posix1-getline_CXXFILE))),$(test-crt-posixc-posix1-getline_CXXFILE)))) +else + $(foreach test-crt-posixc-posix1-getline_CXXFILE,$(test-crt-posixc-posix1-getline_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(notdir $(basename $(test-crt-posixc-posix1-getline_CXXFILE)))),$(test-crt-posixc-posix1-getline_CXXFILE)))) +endif + +endif + + +ifneq ($(test-crt-posixc-posix1-getline_OBJC_NARCHFILES),) + +ifeq (,) +test-crt-posixc-posix1-getline_MOBJC_SRCWILDCARD := % +else +test-crt-posixc-posix1-getline_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-getline_OBJDIR),) + test-crt-posixc-posix1-getline_MOBJC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-getline_OBJC_NARCHFILES)) + test-crt-posixc-posix1-getline_MOBJC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-getline_OBJC_NARCHFILES)) + test-crt-posixc-posix1-getline_MOBJC_WILDCARD := % +else + test-crt-posixc-posix1-getline_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(test-crt-posixc-posix1-getline_OBJC_NARCHFILES))) + test-crt-posixc-posix1-getline_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(test-crt-posixc-posix1-getline_OBJC_NARCHFILES))) + test-crt-posixc-posix1-getline_MOBJC_WILDCARD := $(test-crt-posixc-posix1-getline_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-crt-posixc-posix1-getline_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-crt-posixc-posix1-getline_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-crt-posixc-posix1-getline_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-getline_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-crt-posixc-posix1-getline_MOBJC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-getline_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-getline_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-crt-posixc-posix1-getline_MOBJC_DIRS),) + test-crt-posixc-posix1-getline_MOBJC_DIRS := $(shell echo $(test-crt-posixc-posix1-getline_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-crt-posixc-posix1-getline_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-crt-posixc-posix1-getline_CC := $(TARGET_CC) +else + test-crt-posixc-posix1-getline_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS := $(test-crt-posixc-posix1-getline_CPPFLAGS) +test-crt-posixc-posix1-getline_OBJCFLAGS := $(test-crt-posixc-posix1-getline_CFLAGS) +test-crt-posixc-posix1-getline_OBJCFLAGS := $(test-crt-posixc-posix1-getline_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-crt-posixc-posix1-getline_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-crt-posixc-posix1-getline_OBJCFLAGS))) +ifeq ($(test-crt-posixc-posix1-getline_DFLAGS),) + test-crt-posixc-posix1-getline_OBJCDFLAGS := $(test-crt-posixc-posix1-getline_CFLAGS) +else + test-crt-posixc-posix1-getline_OBJCDFLAGS := $(test-crt-posixc-posix1-getline_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-crt-posixc-posix1-getline_LINK ?= $(strip $(test-crt-posixc-posix1-getline_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-getline_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : CMD:=$(strip $(test-crt-posixc-posix1-getline_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_OBJCFLAGS:=$(strip $(test-crt-posixc-posix1-getline_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_OBJCDFLAGS:=$(test-crt-posixc-posix1-getline_OBJCDFLAGS) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-crt-posixc-posix1-getline_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-getline_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-getline_OBJCFLAGS)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-getline_OBJCDFLAGS)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE:=$(HOST_IQUOTE) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-crt-posixc-posix1-getline_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-getline_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-getline_OBJCFLAGS)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-getline_OBJCDFLAGS)) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE:=$(KERNEL_IQUOTE) + $(test-crt-posixc-posix1-getline_MOBJC_TARGETS) $(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-getline_MOBJC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS) +$(test-crt-posixc-posix1-getline_MOBJC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-getline_OBJCFLAGS) +$(test-crt-posixc-posix1-getline_MOBJC_TARGETS) : $(test-crt-posixc-posix1-getline_MOBJC_WILDCARD).o : $(test-crt-posixc-posix1-getline_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-getline_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-getline_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_IQUOTE) . $(test-crt-posixc-posix1-getline_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-getline_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-getline_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_IQUOTE) . $(test-crt-posixc-posix1-getline_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-getline_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-getline_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_IQUOTE) . $(test-crt-posixc-posix1-getline_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-getline_MOBJC_DTARGETS) : $(test-crt-posixc-posix1-getline_MOBJC_WILDCARD).d : $(test-crt-posixc-posix1-getline_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-getline_OBJCDFLAGS) $(test-crt-posixc-posix1-getline_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-crt-posixc-posix1-getline_MC_SRCWILDCARD := % +else +test-crt-posixc-posix1-getline_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-getline_OBJDIR),) +test-crt-posixc-posix1-getline_MC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-getline_C_NARCHFILES)) +test-crt-posixc-posix1-getline_MC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-getline_C_NARCHFILES)) +test-crt-posixc-posix1-getline_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-posixc-posix1-getline_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-getline_C_NARCHFILES)))) + test-crt-posixc-posix1-getline_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-getline_C_NARCHFILES)))) +else +ifeq (,) + test-crt-posixc-posix1-getline_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(test-crt-posixc-posix1-getline_C_NARCHFILES))) + test-crt-posixc-posix1-getline_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(test-crt-posixc-posix1-getline_C_NARCHFILES))) +else + test-crt-posixc-posix1-getline_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-getline_C_NARCHFILES)))) + test-crt-posixc-posix1-getline_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-getline_C_NARCHFILES)))) +endif +endif +test-crt-posixc-posix1-getline_MC_TGTWILDCARD := $(test-crt-posixc-posix1-getline_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-posixc-posix1-getline_C_NARCHFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-getline_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-getline_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-getline_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-getline_MC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-getline_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-getline_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-getline_MC_DIRS),) + test-crt-posixc-posix1-getline_MC_DIRS := $(shell echo $(test-crt-posixc-posix1-getline_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-posixc-posix1-getline_MC_DIRS) +endif + +endif + +test-crt-posixc-posix1-getline_MC_CPPFLAGS := $(test-crt-posixc-posix1-getline_CPPFLAGS) +test-crt-posixc-posix1-getline_CFLAGS := $(test-crt-posixc-posix1-getline_CFLAGS) +ifeq ($(test-crt-posixc-posix1-getline_DFLAGS),) + test-crt-posixc-posix1-getline_DFLAGS := $(test-crt-posixc-posix1-getline_CFLAGS) +else + test-crt-posixc-posix1-getline_DFLAGS := $(test-crt-posixc-posix1-getline_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-posixc-posix1-getline_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-posixc-posix1-getline_STRIP ?= $(TARGET_STRIP) +test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_MC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-getline_MC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_CFLAGS:=$(strip $(test-crt-posixc-posix1-getline_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_DFLAGS:=$(test-crt-posixc-posix1-getline_DFLAGS) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-posixc-posix1-getline_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-posixc-posix1-getline_STRIP ?= $(HOST_STRIP) +test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-getline_CFLAGS)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-getline_DFLAGS)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-getline_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-posixc-posix1-getline_STRIP ?= $(ECHO) >/dev/null +test-crt-posixc-posix1-getline_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MC_CPPFLAGS) $(test-crt-posixc-posix1-getline_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-getline_CFLAGS)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-getline_DFLAGS)) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-posixc-posix1-getline_MC_TARGETS) $(test-crt-posixc-posix1-getline_MC_DTARGETS) : test-crt-posixc-posix1-getline_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-getline_MC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-getline_MC_CPPFLAGS) +$(test-crt-posixc-posix1-getline_MC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-getline_CFLAGS) +$(test-crt-posixc-posix1-getline_MC_TARGETS) : $(test-crt-posixc-posix1-getline_MC_TGTWILDCARD).o : $(test-crt-posixc-posix1-getline_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-getline_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-getline_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_IQUOTE) . $(test-crt-posixc-posix1-getline_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-getline_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-getline_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_IQUOTE) . $(test-crt-posixc-posix1-getline_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-getline_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-getline_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-getline_IQUOTE) . $(test-crt-posixc-posix1-getline_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-getline_MC_DTARGETS) : $(test-crt-posixc-posix1-getline_MC_TGTWILDCARD).d : $(test-crt-posixc-posix1-getline_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-getline_DFLAGS) $(test-crt-posixc-posix1-getline_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-crt-posixc-posix1-getline_OBJDIR),) +test-crt-posixc-posix1-getline-MA_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-getline_ASMFILES)) +test-crt-posixc-posix1-getline-MA_WILDCARD := % +else +test-crt-posixc-posix1-getline-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-getline_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-getline_ASMFILES)))) +test-crt-posixc-posix1-getline-MA_WILDCARD := $(test-crt-posixc-posix1-getline_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-crt-posixc-posix1-getline-MA_TARGETS) : | $(addsuffix .s,$(test-crt-posixc-posix1-getline_ASMFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-getline-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-getline-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-getline_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-getline-MA_DIRS := $(foreach dir, $(test-crt-posixc-posix1-getline-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-getline-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-getline-MA_DIRS),) + test-crt-posixc-posix1-getline-MA_DIRS := $(shell echo $(test-crt-posixc-posix1-getline-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-crt-posixc-posix1-getline-MA_DIRS) +endif + +endif + +test-crt-posixc-posix1-getline-MA_ASSEMBLER ?= $(test-crt-posixc-posix1-getline_ASSEMBLER) + +$(test-crt-posixc-posix1-getline-MA_TARGETS) : test-crt-posixc-posix1-getline-MA_CMD:= $(test-crt-posixc-posix1-getline-MA_ASSEMBLER) + +$(test-crt-posixc-posix1-getline-MA_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-getline_CPPFLAGS) +$(test-crt-posixc-posix1-getline-MA_TARGETS) : AFLAGS := $(test-crt-posixc-posix1-getline_AFLAGS) +$(test-crt-posixc-posix1-getline-MA_TARGETS) : $(test-crt-posixc-posix1-getline-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-crt-posixc-posix1-getline-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-crt-posixc-posix1-getline-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-crt-posixc-posix1-getline-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-crt-posixc-posix1-getline-link_EXTRA_LDFLAGS := +test-crt-posixc-posix1-getline-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-posixc-posix1-getline-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-posixc-posix1-getline-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-posixc-posix1-getline-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-crt-posixc-posix1-getline-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-posixc-posix1-getline_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-posixc-posix1-getline-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-posixc-posix1-getline-link_DIRS))) +# Add trailing / +test-crt-posixc-posix1-getline-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-posixc-posix1-getline-link_DIRS))) +# Add normal linklib path +test-crt-posixc-posix1-getline-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-posixc-posix1-getline-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-posixc-posix1-getline_LIBS) $(test-crt-posixc-posix1-getline-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-crt-posixc-posix1-getline-link_LIBS += startup.o +endif +ifeq (no,yes) + test-crt-posixc-posix1-getline-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-crt-posixc-posix1-getline-link_DEPLIBS := $(foreach lib,$(test-crt-posixc-posix1-getline-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-posixc-posix1-getline-link_DIRS)))) \ +) + +$(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) : OBJDIR := $(test-crt-posixc-posix1-getline_OBJDIR) +$(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) : OBJS := $(test-crt-posixc-posix1-getline_OBJS) $(test-crt-posixc-posix1-getline_ARCHOBJS) $(USER_OBJS) +$(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) : LDFLAGS := $(strip $(test-crt-posixc-posix1-getline_LDFLAGS) $(test-crt-posixc-posix1-getline-link_EXTRA_LDFLAGS)) +$(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) : LIBS := $(addprefix -l,$(test-crt-posixc-posix1-getline_LIBS) $(test-crt-posixc-posix1-getline-link_EXTRA_LIBS) ) +$(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) : $(test-crt-posixc-posix1-getline_OBJS) $(test-crt-posixc-posix1-getline_ARCHOBJS) $(USER_OBJS) $(test-crt-posixc-posix1-getline-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-posixc-posix1-getline_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-posixc-posix1-getline_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-posixc-posix1-getline_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-getline_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-posixc-posix1-getline_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-posixc-posix1-getline_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-getline_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-posixc-posix1-getline_DEPS),) + ifneq (test-crt-posixc-posix1-getline test-crt-posixc-posix1-getline-quick,) + ifneq ($(findstring $(TARGET),test-crt-posixc-posix1-getline test-crt-posixc-posix1-getline-quick),) + -include $(test-crt-posixc-posix1-getline_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-posixc-posix1-getline_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-posixc-posix1-getline_OBJS) $(test-crt-posixc-posix1-getline_DEPS) $(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME),) +$(test-crt-posixc-posix1-getline_OBJS) $(test-crt-posixc-posix1-getline_DEPS) $(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) : | $(test-crt-posixc-posix1-getline_OBJDIR) $(test-crt-posixc-posix1-getline_TARGETDIR) +else +$(test-crt-posixc-posix1-getline_OBJS) $(test-crt-posixc-posix1-getline_DEPS) $(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) :: $(test-crt-posixc-posix1-getline_OBJDIR) $(test-crt-posixc-posix1-getline_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-crt-posixc-posix1-getline_OBJDIR) $(test-crt-posixc-posix1-getline_TARGETDIR) + + +test-crt-posixc-posix1-getline-clean : FILES := $(test-crt-posixc-posix1-getline_OBJS) $(test-crt-posixc-posix1-getline_TARGETDIR)/$(test-crt-posixc-posix1-getline_PROGNAME) $(test-crt-posixc-posix1-getline_DEPS) +#MM +test-crt-posixc-posix1-getline-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-posixc-posix1-getline" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-crt-posixc-posix1-fmemopen + +test-crt-posixc-posix1-fmemopen_PROGNAME := fmemopen +test-crt-posixc-posix1-fmemopen_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-posixc-posix1-fmemopen_TARGETDIR := $(EXEDIR) +test-crt-posixc-posix1-fmemopen_LINKER := +test-crt-posixc-posix1-fmemopen_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-crt-posixc-posix1-fmemopen_LINKER),) + test-crt-posixc-posix1-fmemopen_LINKER := target +endif + +ifneq ("$(strip posix.1/fmemopen-example )","") + test-crt-posixc-posix1-fmemopen_FILES := posix.1/fmemopen-example + test-crt-posixc-posix1-fmemopen_OBJCFILES := + test-crt-posixc-posix1-fmemopen_ASMFILES := + test-crt-posixc-posix1-fmemopen_CXXFILES := +else + test-crt-posixc-posix1-fmemopen_FILES := $(test-crt-posixc-posix1-fmemopen_PROGNAME) + test-crt-posixc-posix1-fmemopen_OBJCFILES := + test-crt-posixc-posix1-fmemopen_ASMFILES := + test-crt-posixc-posix1-fmemopen_CXXFILES := +endif + +test-crt-posixc-posix1-fmemopen_ARCHOBJS := $(wildcard $(test-crt-posixc-posix1-fmemopen_OBJDIR)/arch/*.o) +test-crt-posixc-posix1-fmemopen_ARCHFILES := $(basename $(notdir $(test-crt-posixc-posix1-fmemopen_ARCHOBJS))) +test-crt-posixc-posix1-fmemopen_C_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-fmemopen_ARCHFILES),$(test-crt-posixc-posix1-fmemopen_FILES)) +test-crt-posixc-posix1-fmemopen_CXX_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-fmemopen_ARCHFILES),$(test-crt-posixc-posix1-fmemopen_CXXFILES)) +test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-fmemopen_ARCHFILES),$(test-crt-posixc-posix1-fmemopen_OBJCFILES)) + +TMP_FILES := $(test-crt-posixc-posix1-fmemopen_C_NARCHFILES) $(test-crt-posixc-posix1-fmemopen_CXX_NARCHFILES) $(test-crt-posixc-posix1-fmemopen_ASMFILES) $(test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES) +test-crt-posixc-posix1-fmemopen_OBJS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-crt-posixc-posix1-fmemopen_DEPS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-crt-posixc-posix1-fmemopen_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-crt-posixc-posix1-fmemopen_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-fmemopen_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-fmemopen_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-fmemopen_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-crt-posixc-posix1-fmemopen_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-crt-posixc-posix1-fmemopen_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-fmemopen_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-fmemopen_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-fmemopen_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-crt-posixc-posix1-fmemopen_LDFLAGS := +endif + +test-crt-posixc-posix1-fmemopen_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-posixc-posix1-fmemopen_COVERAGE := yes +test-crt-posixc-posix1-fmemopen_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-posixc-posix1-fmemopen_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-posixc-posix1-fmemopen_CFLAGS := $(strip $(test-crt-posixc-posix1-fmemopen_COVERAGEFLAGS) $(test-crt-posixc-posix1-fmemopen_CFLAGS)) +test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(strip $(test-crt-posixc-posix1-fmemopen_COVERAGEFLAGS) $(test-crt-posixc-posix1-fmemopen_CXXFLAGS)) +test-crt-posixc-posix1-fmemopen_LIBS += $(test-crt-posixc-posix1-fmemopen_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-posixc-posix1-fmemopen_FUNCINSTR := yes +test-crt-posixc-posix1-fmemopen_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-posixc-posix1-fmemopen_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-posixc-posix1-fmemopen_CFLAGS := $(strip $(test-crt-posixc-posix1-fmemopen_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-fmemopen_CFLAGS)) +test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(strip $(test-crt-posixc-posix1-fmemopen_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-fmemopen_CXXFLAGS)) +test-crt-posixc-posix1-fmemopen_LIBS += $(test-crt-posixc-posix1-fmemopen_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-posixc-posix1-fmemopen_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-fmemopen_CFLAGS)) +test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-fmemopen_CXXFLAGS)) +endif +endif +test-crt-posixc-posix1-fmemopen_AFLAGS := $(AFLAGS) +ifneq (,) + test-crt-posixc-posix1-fmemopen_DFLAGS := +else + test-crt-posixc-posix1-fmemopen_DFLAGS := $(test-crt-posixc-posix1-fmemopen_CFLAGS) +endif +ifneq (,) + test-crt-posixc-posix1-fmemopen_DXXFLAGS := +else + test-crt-posixc-posix1-fmemopen_DXXFLAGS := $(test-crt-posixc-posix1-fmemopen_CXXFLAGS) +endif +ifeq (target,target) +test-crt-posixc-posix1-fmemopen_LDFLAGS := $(test-crt-posixc-posix1-fmemopen_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-fmemopen_LDFLAGS := $(test-crt-posixc-posix1-fmemopen_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-fmemopen_LDFLAGS := $(test-crt-posixc-posix1-fmemopen_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-crt-posixc-posix1-fmemopen_LDFLAGS += -L +endif + +#MM +test-crt-posixc-posix1-fmemopen-quick : test-crt-posixc-posix1-fmemopen + +#MM test-crt-posixc-posix1-fmemopen : includes-generate-deps core-linklibs +test-crt-posixc-posix1-fmemopen : $(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) + +ifneq ($(filter $(TARGET),test-crt-posixc-posix1-fmemopen test-crt-posixc-posix1-fmemopen-quick test-crt-posixc-posix1-fmemopen-gz-quick),) + +test-crt-posixc-posix1-fmemopen_CXXABSBASENAMES := $(foreach test-crt-posixc-posix1-fmemopen_CXXBASE,$(test-crt-posixc-posix1-fmemopen_CXX_NARCHFILES),$(if $(filter /%,$(test-crt-posixc-posix1-fmemopen_CXXBASE)),$(test-crt-posixc-posix1-fmemopen_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-crt-posixc-posix1-fmemopen_CXXBASE)))) + +ifneq ($(test-crt-posixc-posix1-fmemopen_CXXABSBASENAMES),) + +test-crt-posixc-posix1-fmemopen_CXXBASENAMES := $(basename $(test-crt-posixc-posix1-fmemopen_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-crt-posixc-posix1-fmemopen_MCXX_FILES := $(strip $(foreach test-crt-posixc-posix1-fmemopen_CXXBASE,$(test-crt-posixc-posix1-fmemopen_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-crt-posixc-posix1-fmemopen_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-crt-posixc-posix1-fmemopen_EXT),$(test-crt-posixc-posix1-fmemopen_CXXBASE))))))) + +ifeq (,) +test-crt-posixc-posix1-fmemopen_MCXX_SRCWILDCARD := % +else +test-crt-posixc-posix1-fmemopen_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-fmemopen_OBJDIR),) + test-crt-posixc-posix1-fmemopen_CXXTARGETS := $(notdir $(test-crt-posixc-posix1-fmemopen_CXXBASENAMES:=.o)) + test-crt-posixc-posix1-fmemopen_CXXDTARGETS := $(notdir $(test-crt-posixc-posix1-fmemopen_CXXBASENAMES:=.d)) + test-crt-posixc-posix1-fmemopen_MCXX_WILDCARD := % +else + test-crt-posixc-posix1-fmemopen_CXXTARGETS := $(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-fmemopen_CXXBASENAMES:=.o))) + test-crt-posixc-posix1-fmemopen_CXXDTARGETS := $(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-fmemopen_CXXBASENAMES:=.d))) + test-crt-posixc-posix1-fmemopen_MCXX_WILDCARD := $(test-crt-posixc-posix1-fmemopen_OBJDIR)/% + + # Be sure that all source files are generated + $(test-crt-posixc-posix1-fmemopen_CXXTARGETS) $(test-crt-posixc-posix1-fmemopen_CXXDTARGETS) : | $(test-crt-posixc-posix1-fmemopen_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS := $(test-crt-posixc-posix1-fmemopen_CPPFLAGS) +test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(test-crt-posixc-posix1-fmemopen_CXXFLAGS) +ifeq ($(test-crt-posixc-posix1-fmemopen_DXXFLAGS),) + test-crt-posixc-posix1-fmemopen_DXXFLAGS := $(test-crt-posixc-posix1-fmemopen_CXXFLAGS) +else + test-crt-posixc-posix1-fmemopen_DXXFLAGS := $(test-crt-posixc-posix1-fmemopen_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-fmemopen_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-crt-posixc-posix1-fmemopen_CXXCMD:=$(HOST_CXX) + test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-fmemopen_CXXFLAGS)) + test-crt-posixc-posix1-fmemopen_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-fmemopen_DXXFLAGS)) + test-crt-posixc-posix1-fmemopen_CXXIQUOTE:=$(HOST_IQUOTE) + test-crt-posixc-posix1-fmemopen_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-fmemopen_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-fmemopen_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS := $(strip $(test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(strip $(test-crt-posixc-posix1-fmemopen_CXXFLAGS) $(SAFETY_CFLAGS)) + test-crt-posixc-posix1-fmemopen_DXXFLAGS := $(test-crt-posixc-posix1-fmemopen_DXXFLAGS) + test-crt-posixc-posix1-fmemopen_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-crt-posixc-posix1-fmemopen_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-fmemopen_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-fmemopen_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-fmemopen_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-fmemopen_CXXFLAGS)) + test-crt-posixc-posix1-fmemopen_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-fmemopen_DXXFLAGS)) + test-crt-posixc-posix1-fmemopen_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-crt-posixc-posix1-fmemopen_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-crt-posixc-posix1-fmemopen_CXXCMD) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) . $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-fmemopen_CXXFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-crt-posixc-posix1-fmemopen_CXXCMD) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) . $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-fmemopen_CXXFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-crt-posixc-posix1-fmemopen_CXXCMD) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE) . $(test-crt-posixc-posix1-fmemopen_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-fmemopen_CXXFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-crt-posixc-posix1-fmemopen_CXXCMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-fmemopen_DXXFLAGS) $(test-crt-posixc-posix1-fmemopen_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-crt-posixc-posix1-fmemopen_OBJDIR),) + $(foreach test-crt-posixc-posix1-fmemopen_CXXFILE,$(test-crt-posixc-posix1-fmemopen_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-crt-posixc-posix1-fmemopen_CXXFILE))),$(test-crt-posixc-posix1-fmemopen_CXXFILE)))) +else + $(foreach test-crt-posixc-posix1-fmemopen_CXXFILE,$(test-crt-posixc-posix1-fmemopen_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(notdir $(basename $(test-crt-posixc-posix1-fmemopen_CXXFILE)))),$(test-crt-posixc-posix1-fmemopen_CXXFILE)))) +endif + +endif + + +ifneq ($(test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES),) + +ifeq (,) +test-crt-posixc-posix1-fmemopen_MOBJC_SRCWILDCARD := % +else +test-crt-posixc-posix1-fmemopen_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-fmemopen_OBJDIR),) + test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES)) + test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES)) + test-crt-posixc-posix1-fmemopen_MOBJC_WILDCARD := % +else + test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES))) + test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES))) + test-crt-posixc-posix1-fmemopen_MOBJC_WILDCARD := $(test-crt-posixc-posix1-fmemopen_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-crt-posixc-posix1-fmemopen_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-crt-posixc-posix1-fmemopen_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-fmemopen_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-crt-posixc-posix1-fmemopen_MOBJC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-fmemopen_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-fmemopen_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-crt-posixc-posix1-fmemopen_MOBJC_DIRS),) + test-crt-posixc-posix1-fmemopen_MOBJC_DIRS := $(shell echo $(test-crt-posixc-posix1-fmemopen_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-crt-posixc-posix1-fmemopen_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-crt-posixc-posix1-fmemopen_CC := $(TARGET_CC) +else + test-crt-posixc-posix1-fmemopen_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS := $(test-crt-posixc-posix1-fmemopen_CPPFLAGS) +test-crt-posixc-posix1-fmemopen_OBJCFLAGS := $(test-crt-posixc-posix1-fmemopen_CFLAGS) +test-crt-posixc-posix1-fmemopen_OBJCFLAGS := $(test-crt-posixc-posix1-fmemopen_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-crt-posixc-posix1-fmemopen_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-crt-posixc-posix1-fmemopen_OBJCFLAGS))) +ifeq ($(test-crt-posixc-posix1-fmemopen_DFLAGS),) + test-crt-posixc-posix1-fmemopen_OBJCDFLAGS := $(test-crt-posixc-posix1-fmemopen_CFLAGS) +else + test-crt-posixc-posix1-fmemopen_OBJCDFLAGS := $(test-crt-posixc-posix1-fmemopen_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(test-crt-posixc-posix1-fmemopen_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-fmemopen_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : CMD:=$(strip $(test-crt-posixc-posix1-fmemopen_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_OBJCFLAGS:=$(strip $(test-crt-posixc-posix1-fmemopen_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_OBJCDFLAGS:=$(test-crt-posixc-posix1-fmemopen_OBJCDFLAGS) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-fmemopen_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-fmemopen_OBJCFLAGS)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-fmemopen_OBJCDFLAGS)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE:=$(HOST_IQUOTE) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-fmemopen_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-fmemopen_OBJCFLAGS)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-fmemopen_OBJCDFLAGS)) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE:=$(KERNEL_IQUOTE) + $(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS) +$(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-fmemopen_OBJCFLAGS) +$(test-crt-posixc-posix1-fmemopen_MOBJC_TARGETS) : $(test-crt-posixc-posix1-fmemopen_MOBJC_WILDCARD).o : $(test-crt-posixc-posix1-fmemopen_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_IQUOTE) . $(test-crt-posixc-posix1-fmemopen_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_IQUOTE) . $(test-crt-posixc-posix1-fmemopen_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_IQUOTE) . $(test-crt-posixc-posix1-fmemopen_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-fmemopen_MOBJC_DTARGETS) : $(test-crt-posixc-posix1-fmemopen_MOBJC_WILDCARD).d : $(test-crt-posixc-posix1-fmemopen_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-fmemopen_OBJCDFLAGS) $(test-crt-posixc-posix1-fmemopen_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-crt-posixc-posix1-fmemopen_MC_SRCWILDCARD := % +else +test-crt-posixc-posix1-fmemopen_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-fmemopen_OBJDIR),) +test-crt-posixc-posix1-fmemopen_MC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-fmemopen_C_NARCHFILES)) +test-crt-posixc-posix1-fmemopen_MC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-fmemopen_C_NARCHFILES)) +test-crt-posixc-posix1-fmemopen_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-posixc-posix1-fmemopen_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-fmemopen_C_NARCHFILES)))) + test-crt-posixc-posix1-fmemopen_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-fmemopen_C_NARCHFILES)))) +else +ifeq (,) + test-crt-posixc-posix1-fmemopen_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(test-crt-posixc-posix1-fmemopen_C_NARCHFILES))) + test-crt-posixc-posix1-fmemopen_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(test-crt-posixc-posix1-fmemopen_C_NARCHFILES))) +else + test-crt-posixc-posix1-fmemopen_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-fmemopen_C_NARCHFILES)))) + test-crt-posixc-posix1-fmemopen_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-fmemopen_C_NARCHFILES)))) +endif +endif +test-crt-posixc-posix1-fmemopen_MC_TGTWILDCARD := $(test-crt-posixc-posix1-fmemopen_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-posixc-posix1-fmemopen_C_NARCHFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-fmemopen_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-fmemopen_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-fmemopen_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-fmemopen_MC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-fmemopen_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-fmemopen_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-fmemopen_MC_DIRS),) + test-crt-posixc-posix1-fmemopen_MC_DIRS := $(shell echo $(test-crt-posixc-posix1-fmemopen_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-posixc-posix1-fmemopen_MC_DIRS) +endif + +endif + +test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS := $(test-crt-posixc-posix1-fmemopen_CPPFLAGS) +test-crt-posixc-posix1-fmemopen_CFLAGS := $(test-crt-posixc-posix1-fmemopen_CFLAGS) +ifeq ($(test-crt-posixc-posix1-fmemopen_DFLAGS),) + test-crt-posixc-posix1-fmemopen_DFLAGS := $(test-crt-posixc-posix1-fmemopen_CFLAGS) +else + test-crt-posixc-posix1-fmemopen_DFLAGS := $(test-crt-posixc-posix1-fmemopen_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-posixc-posix1-fmemopen_STRIP ?= $(TARGET_STRIP) +test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_CFLAGS:=$(strip $(test-crt-posixc-posix1-fmemopen_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_DFLAGS:=$(test-crt-posixc-posix1-fmemopen_DFLAGS) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-posixc-posix1-fmemopen_STRIP ?= $(HOST_STRIP) +test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-fmemopen_CFLAGS)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-fmemopen_DFLAGS)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-fmemopen_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-posixc-posix1-fmemopen_STRIP ?= $(ECHO) >/dev/null +test-crt-posixc-posix1-fmemopen_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS) $(test-crt-posixc-posix1-fmemopen_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-fmemopen_CFLAGS)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-fmemopen_DFLAGS)) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) $(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : test-crt-posixc-posix1-fmemopen_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-fmemopen_CFLAGS) +$(test-crt-posixc-posix1-fmemopen_MC_TARGETS) : $(test-crt-posixc-posix1-fmemopen_MC_TGTWILDCARD).o : $(test-crt-posixc-posix1-fmemopen_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_IQUOTE) . $(test-crt-posixc-posix1-fmemopen_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_IQUOTE) . $(test-crt-posixc-posix1-fmemopen_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-fmemopen_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-fmemopen_IQUOTE) . $(test-crt-posixc-posix1-fmemopen_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-fmemopen_MC_DTARGETS) : $(test-crt-posixc-posix1-fmemopen_MC_TGTWILDCARD).d : $(test-crt-posixc-posix1-fmemopen_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-fmemopen_DFLAGS) $(test-crt-posixc-posix1-fmemopen_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-crt-posixc-posix1-fmemopen_OBJDIR),) +test-crt-posixc-posix1-fmemopen-MA_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-fmemopen_ASMFILES)) +test-crt-posixc-posix1-fmemopen-MA_WILDCARD := % +else +test-crt-posixc-posix1-fmemopen-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-fmemopen_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-fmemopen_ASMFILES)))) +test-crt-posixc-posix1-fmemopen-MA_WILDCARD := $(test-crt-posixc-posix1-fmemopen_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-crt-posixc-posix1-fmemopen-MA_TARGETS) : | $(addsuffix .s,$(test-crt-posixc-posix1-fmemopen_ASMFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-fmemopen-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-fmemopen-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-fmemopen_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-fmemopen-MA_DIRS := $(foreach dir, $(test-crt-posixc-posix1-fmemopen-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-fmemopen-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-fmemopen-MA_DIRS),) + test-crt-posixc-posix1-fmemopen-MA_DIRS := $(shell echo $(test-crt-posixc-posix1-fmemopen-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-crt-posixc-posix1-fmemopen-MA_DIRS) +endif + +endif + +test-crt-posixc-posix1-fmemopen-MA_ASSEMBLER ?= $(test-crt-posixc-posix1-fmemopen_ASSEMBLER) + +$(test-crt-posixc-posix1-fmemopen-MA_TARGETS) : test-crt-posixc-posix1-fmemopen-MA_CMD:= $(test-crt-posixc-posix1-fmemopen-MA_ASSEMBLER) + +$(test-crt-posixc-posix1-fmemopen-MA_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-fmemopen_CPPFLAGS) +$(test-crt-posixc-posix1-fmemopen-MA_TARGETS) : AFLAGS := $(test-crt-posixc-posix1-fmemopen_AFLAGS) +$(test-crt-posixc-posix1-fmemopen-MA_TARGETS) : $(test-crt-posixc-posix1-fmemopen-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-crt-posixc-posix1-fmemopen-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-crt-posixc-posix1-fmemopen-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-crt-posixc-posix1-fmemopen-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-crt-posixc-posix1-fmemopen-link_EXTRA_LDFLAGS := +test-crt-posixc-posix1-fmemopen-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-posixc-posix1-fmemopen-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-posixc-posix1-fmemopen-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-posixc-posix1-fmemopen-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-crt-posixc-posix1-fmemopen-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-posixc-posix1-fmemopen_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-posixc-posix1-fmemopen-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-posixc-posix1-fmemopen-link_DIRS))) +# Add trailing / +test-crt-posixc-posix1-fmemopen-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-posixc-posix1-fmemopen-link_DIRS))) +# Add normal linklib path +test-crt-posixc-posix1-fmemopen-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-posixc-posix1-fmemopen-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-posixc-posix1-fmemopen_LIBS) $(test-crt-posixc-posix1-fmemopen-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-crt-posixc-posix1-fmemopen-link_LIBS += startup.o +endif +ifeq (no,yes) + test-crt-posixc-posix1-fmemopen-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-crt-posixc-posix1-fmemopen-link_DEPLIBS := $(foreach lib,$(test-crt-posixc-posix1-fmemopen-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-posixc-posix1-fmemopen-link_DIRS)))) \ +) + +$(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) : OBJDIR := $(test-crt-posixc-posix1-fmemopen_OBJDIR) +$(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) : OBJS := $(test-crt-posixc-posix1-fmemopen_OBJS) $(test-crt-posixc-posix1-fmemopen_ARCHOBJS) $(USER_OBJS) +$(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) : LDFLAGS := $(strip $(test-crt-posixc-posix1-fmemopen_LDFLAGS) $(test-crt-posixc-posix1-fmemopen-link_EXTRA_LDFLAGS)) +$(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) : LIBS := $(addprefix -l,$(test-crt-posixc-posix1-fmemopen_LIBS) $(test-crt-posixc-posix1-fmemopen-link_EXTRA_LIBS) ) +$(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) : $(test-crt-posixc-posix1-fmemopen_OBJS) $(test-crt-posixc-posix1-fmemopen_ARCHOBJS) $(USER_OBJS) $(test-crt-posixc-posix1-fmemopen-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-posixc-posix1-fmemopen_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-posixc-posix1-fmemopen_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-posixc-posix1-fmemopen_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-fmemopen_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-posixc-posix1-fmemopen_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-posixc-posix1-fmemopen_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-fmemopen_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-posixc-posix1-fmemopen_DEPS),) + ifneq (test-crt-posixc-posix1-fmemopen test-crt-posixc-posix1-fmemopen-quick,) + ifneq ($(findstring $(TARGET),test-crt-posixc-posix1-fmemopen test-crt-posixc-posix1-fmemopen-quick),) + -include $(test-crt-posixc-posix1-fmemopen_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-posixc-posix1-fmemopen_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-posixc-posix1-fmemopen_OBJS) $(test-crt-posixc-posix1-fmemopen_DEPS) $(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME),) +$(test-crt-posixc-posix1-fmemopen_OBJS) $(test-crt-posixc-posix1-fmemopen_DEPS) $(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) : | $(test-crt-posixc-posix1-fmemopen_OBJDIR) $(test-crt-posixc-posix1-fmemopen_TARGETDIR) +else +$(test-crt-posixc-posix1-fmemopen_OBJS) $(test-crt-posixc-posix1-fmemopen_DEPS) $(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) :: $(test-crt-posixc-posix1-fmemopen_OBJDIR) $(test-crt-posixc-posix1-fmemopen_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-crt-posixc-posix1-fmemopen_OBJDIR) $(test-crt-posixc-posix1-fmemopen_TARGETDIR) + + +test-crt-posixc-posix1-fmemopen-clean : FILES := $(test-crt-posixc-posix1-fmemopen_OBJS) $(test-crt-posixc-posix1-fmemopen_TARGETDIR)/$(test-crt-posixc-posix1-fmemopen_PROGNAME) $(test-crt-posixc-posix1-fmemopen_DEPS) +#MM +test-crt-posixc-posix1-fmemopen-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-posixc-posix1-fmemopen" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-crt-posixc-posix1-regex + +test-crt-posixc-posix1-regex_PROGNAME := regex +test-crt-posixc-posix1-regex_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-posixc-posix1-regex_TARGETDIR := $(EXEDIR) +test-crt-posixc-posix1-regex_LINKER := +test-crt-posixc-posix1-regex_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-crt-posixc-posix1-regex_LINKER),) + test-crt-posixc-posix1-regex_LINKER := target +endif + +ifneq ("$(strip posix.1/regex-examples )","") + test-crt-posixc-posix1-regex_FILES := posix.1/regex-examples + test-crt-posixc-posix1-regex_OBJCFILES := + test-crt-posixc-posix1-regex_ASMFILES := + test-crt-posixc-posix1-regex_CXXFILES := +else + test-crt-posixc-posix1-regex_FILES := $(test-crt-posixc-posix1-regex_PROGNAME) + test-crt-posixc-posix1-regex_OBJCFILES := + test-crt-posixc-posix1-regex_ASMFILES := + test-crt-posixc-posix1-regex_CXXFILES := +endif + +test-crt-posixc-posix1-regex_ARCHOBJS := $(wildcard $(test-crt-posixc-posix1-regex_OBJDIR)/arch/*.o) +test-crt-posixc-posix1-regex_ARCHFILES := $(basename $(notdir $(test-crt-posixc-posix1-regex_ARCHOBJS))) +test-crt-posixc-posix1-regex_C_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-regex_ARCHFILES),$(test-crt-posixc-posix1-regex_FILES)) +test-crt-posixc-posix1-regex_CXX_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-regex_ARCHFILES),$(test-crt-posixc-posix1-regex_CXXFILES)) +test-crt-posixc-posix1-regex_OBJC_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-regex_ARCHFILES),$(test-crt-posixc-posix1-regex_OBJCFILES)) + +TMP_FILES := $(test-crt-posixc-posix1-regex_C_NARCHFILES) $(test-crt-posixc-posix1-regex_CXX_NARCHFILES) $(test-crt-posixc-posix1-regex_ASMFILES) $(test-crt-posixc-posix1-regex_OBJC_NARCHFILES) +test-crt-posixc-posix1-regex_OBJS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-crt-posixc-posix1-regex_DEPS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-crt-posixc-posix1-regex_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-crt-posixc-posix1-regex_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-regex_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-regex_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-regex_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-crt-posixc-posix1-regex_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-regex_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-regex_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-regex_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-crt-posixc-posix1-regex_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-regex_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-regex_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-regex_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-crt-posixc-posix1-regex_LDFLAGS := +endif + +test-crt-posixc-posix1-regex_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-posixc-posix1-regex_COVERAGE := yes +test-crt-posixc-posix1-regex_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-posixc-posix1-regex_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-posixc-posix1-regex_CFLAGS := $(strip $(test-crt-posixc-posix1-regex_COVERAGEFLAGS) $(test-crt-posixc-posix1-regex_CFLAGS)) +test-crt-posixc-posix1-regex_CXXFLAGS := $(strip $(test-crt-posixc-posix1-regex_COVERAGEFLAGS) $(test-crt-posixc-posix1-regex_CXXFLAGS)) +test-crt-posixc-posix1-regex_LIBS += $(test-crt-posixc-posix1-regex_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-posixc-posix1-regex_FUNCINSTR := yes +test-crt-posixc-posix1-regex_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-posixc-posix1-regex_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-posixc-posix1-regex_CFLAGS := $(strip $(test-crt-posixc-posix1-regex_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-regex_CFLAGS)) +test-crt-posixc-posix1-regex_CXXFLAGS := $(strip $(test-crt-posixc-posix1-regex_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-regex_CXXFLAGS)) +test-crt-posixc-posix1-regex_LIBS += $(test-crt-posixc-posix1-regex_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-posixc-posix1-regex_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-regex_CFLAGS)) +test-crt-posixc-posix1-regex_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-regex_CXXFLAGS)) +endif +endif +test-crt-posixc-posix1-regex_AFLAGS := $(AFLAGS) +ifneq (,) + test-crt-posixc-posix1-regex_DFLAGS := +else + test-crt-posixc-posix1-regex_DFLAGS := $(test-crt-posixc-posix1-regex_CFLAGS) +endif +ifneq (,) + test-crt-posixc-posix1-regex_DXXFLAGS := +else + test-crt-posixc-posix1-regex_DXXFLAGS := $(test-crt-posixc-posix1-regex_CXXFLAGS) +endif +ifeq (target,target) +test-crt-posixc-posix1-regex_LDFLAGS := $(test-crt-posixc-posix1-regex_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-regex_LDFLAGS := $(test-crt-posixc-posix1-regex_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-regex_LDFLAGS := $(test-crt-posixc-posix1-regex_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-crt-posixc-posix1-regex_LDFLAGS += -L +endif + +#MM +test-crt-posixc-posix1-regex-quick : test-crt-posixc-posix1-regex + +#MM test-crt-posixc-posix1-regex : includes-generate-deps core-linklibs +test-crt-posixc-posix1-regex : $(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) + +ifneq ($(filter $(TARGET),test-crt-posixc-posix1-regex test-crt-posixc-posix1-regex-quick test-crt-posixc-posix1-regex-gz-quick),) + +test-crt-posixc-posix1-regex_CXXABSBASENAMES := $(foreach test-crt-posixc-posix1-regex_CXXBASE,$(test-crt-posixc-posix1-regex_CXX_NARCHFILES),$(if $(filter /%,$(test-crt-posixc-posix1-regex_CXXBASE)),$(test-crt-posixc-posix1-regex_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-crt-posixc-posix1-regex_CXXBASE)))) + +ifneq ($(test-crt-posixc-posix1-regex_CXXABSBASENAMES),) + +test-crt-posixc-posix1-regex_CXXBASENAMES := $(basename $(test-crt-posixc-posix1-regex_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-crt-posixc-posix1-regex_MCXX_FILES := $(strip $(foreach test-crt-posixc-posix1-regex_CXXBASE,$(test-crt-posixc-posix1-regex_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-crt-posixc-posix1-regex_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-crt-posixc-posix1-regex_EXT),$(test-crt-posixc-posix1-regex_CXXBASE))))))) + +ifeq (,) +test-crt-posixc-posix1-regex_MCXX_SRCWILDCARD := % +else +test-crt-posixc-posix1-regex_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-regex_OBJDIR),) + test-crt-posixc-posix1-regex_CXXTARGETS := $(notdir $(test-crt-posixc-posix1-regex_CXXBASENAMES:=.o)) + test-crt-posixc-posix1-regex_CXXDTARGETS := $(notdir $(test-crt-posixc-posix1-regex_CXXBASENAMES:=.d)) + test-crt-posixc-posix1-regex_MCXX_WILDCARD := % +else + test-crt-posixc-posix1-regex_CXXTARGETS := $(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-regex_CXXBASENAMES:=.o))) + test-crt-posixc-posix1-regex_CXXDTARGETS := $(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-regex_CXXBASENAMES:=.d))) + test-crt-posixc-posix1-regex_MCXX_WILDCARD := $(test-crt-posixc-posix1-regex_OBJDIR)/% + + # Be sure that all source files are generated + $(test-crt-posixc-posix1-regex_CXXTARGETS) $(test-crt-posixc-posix1-regex_CXXDTARGETS) : | $(test-crt-posixc-posix1-regex_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-crt-posixc-posix1-regex_MCXX_CPPFLAGS := $(test-crt-posixc-posix1-regex_CPPFLAGS) +test-crt-posixc-posix1-regex_CXXFLAGS := $(test-crt-posixc-posix1-regex_CXXFLAGS) +ifeq ($(test-crt-posixc-posix1-regex_DXXFLAGS),) + test-crt-posixc-posix1-regex_DXXFLAGS := $(test-crt-posixc-posix1-regex_CXXFLAGS) +else + test-crt-posixc-posix1-regex_DXXFLAGS := $(test-crt-posixc-posix1-regex_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-crt-posixc-posix1-regex_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-regex_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-crt-posixc-posix1-regex_CXXCMD:=$(HOST_CXX) + test-crt-posixc-posix1-regex_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-regex_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-regex_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-regex_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-regex_CXXFLAGS)) + test-crt-posixc-posix1-regex_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-regex_DXXFLAGS)) + test-crt-posixc-posix1-regex_CXXIQUOTE:=$(HOST_IQUOTE) + test-crt-posixc-posix1-regex_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-crt-posixc-posix1-regex_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-regex_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-regex_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-regex_MCXX_CPPFLAGS := $(strip $(test-crt-posixc-posix1-regex_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-regex_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-regex_CXXFLAGS := $(strip $(test-crt-posixc-posix1-regex_CXXFLAGS) $(SAFETY_CFLAGS)) + test-crt-posixc-posix1-regex_DXXFLAGS := $(test-crt-posixc-posix1-regex_DXXFLAGS) + test-crt-posixc-posix1-regex_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-crt-posixc-posix1-regex_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-crt-posixc-posix1-regex_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-regex_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-regex_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-regex_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-regex_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-regex_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-regex_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-regex_CXXFLAGS)) + test-crt-posixc-posix1-regex_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-regex_DXXFLAGS)) + test-crt-posixc-posix1-regex_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-crt-posixc-posix1-regex_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-crt-posixc-posix1-regex_CXXCMD) $(test-crt-posixc-posix1-regex_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-regex_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_CXXIQUOTE) . $(test-crt-posixc-posix1-regex_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-regex_CXXFLAGS) $(test-crt-posixc-posix1-regex_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-crt-posixc-posix1-regex_CXXCMD) $(test-crt-posixc-posix1-regex_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-regex_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_CXXIQUOTE) . $(test-crt-posixc-posix1-regex_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-regex_CXXFLAGS) $(test-crt-posixc-posix1-regex_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-crt-posixc-posix1-regex_CXXCMD) $(test-crt-posixc-posix1-regex_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-regex_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_CXXIQUOTE) . $(test-crt-posixc-posix1-regex_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-regex_CXXFLAGS) $(test-crt-posixc-posix1-regex_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-crt-posixc-posix1-regex_CXXCMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-regex_DXXFLAGS) $(test-crt-posixc-posix1-regex_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-crt-posixc-posix1-regex_OBJDIR),) + $(foreach test-crt-posixc-posix1-regex_CXXFILE,$(test-crt-posixc-posix1-regex_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-crt-posixc-posix1-regex_CXXFILE))),$(test-crt-posixc-posix1-regex_CXXFILE)))) +else + $(foreach test-crt-posixc-posix1-regex_CXXFILE,$(test-crt-posixc-posix1-regex_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(notdir $(basename $(test-crt-posixc-posix1-regex_CXXFILE)))),$(test-crt-posixc-posix1-regex_CXXFILE)))) +endif + +endif + + +ifneq ($(test-crt-posixc-posix1-regex_OBJC_NARCHFILES),) + +ifeq (,) +test-crt-posixc-posix1-regex_MOBJC_SRCWILDCARD := % +else +test-crt-posixc-posix1-regex_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-regex_OBJDIR),) + test-crt-posixc-posix1-regex_MOBJC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-regex_OBJC_NARCHFILES)) + test-crt-posixc-posix1-regex_MOBJC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-regex_OBJC_NARCHFILES)) + test-crt-posixc-posix1-regex_MOBJC_WILDCARD := % +else + test-crt-posixc-posix1-regex_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(test-crt-posixc-posix1-regex_OBJC_NARCHFILES))) + test-crt-posixc-posix1-regex_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(test-crt-posixc-posix1-regex_OBJC_NARCHFILES))) + test-crt-posixc-posix1-regex_MOBJC_WILDCARD := $(test-crt-posixc-posix1-regex_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-crt-posixc-posix1-regex_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-crt-posixc-posix1-regex_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-crt-posixc-posix1-regex_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-regex_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-crt-posixc-posix1-regex_MOBJC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-regex_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-regex_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-crt-posixc-posix1-regex_MOBJC_DIRS),) + test-crt-posixc-posix1-regex_MOBJC_DIRS := $(shell echo $(test-crt-posixc-posix1-regex_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-crt-posixc-posix1-regex_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-crt-posixc-posix1-regex_CC := $(TARGET_CC) +else + test-crt-posixc-posix1-regex_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS := $(test-crt-posixc-posix1-regex_CPPFLAGS) +test-crt-posixc-posix1-regex_OBJCFLAGS := $(test-crt-posixc-posix1-regex_CFLAGS) +test-crt-posixc-posix1-regex_OBJCFLAGS := $(test-crt-posixc-posix1-regex_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-crt-posixc-posix1-regex_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-crt-posixc-posix1-regex_OBJCFLAGS))) +ifeq ($(test-crt-posixc-posix1-regex_DFLAGS),) + test-crt-posixc-posix1-regex_OBJCDFLAGS := $(test-crt-posixc-posix1-regex_CFLAGS) +else + test-crt-posixc-posix1-regex_OBJCDFLAGS := $(test-crt-posixc-posix1-regex_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-crt-posixc-posix1-regex_LINK ?= $(strip $(test-crt-posixc-posix1-regex_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-regex_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : CMD:=$(strip $(test-crt-posixc-posix1-regex_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_OBJCFLAGS:=$(strip $(test-crt-posixc-posix1-regex_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_OBJCDFLAGS:=$(test-crt-posixc-posix1-regex_OBJCDFLAGS) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-crt-posixc-posix1-regex_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-regex_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-regex_OBJCFLAGS)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-regex_OBJCDFLAGS)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE:=$(HOST_IQUOTE) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-crt-posixc-posix1-regex_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-regex_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-regex_OBJCFLAGS)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-regex_OBJCDFLAGS)) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE:=$(KERNEL_IQUOTE) + $(test-crt-posixc-posix1-regex_MOBJC_TARGETS) $(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-regex_MOBJC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS) +$(test-crt-posixc-posix1-regex_MOBJC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-regex_OBJCFLAGS) +$(test-crt-posixc-posix1-regex_MOBJC_TARGETS) : $(test-crt-posixc-posix1-regex_MOBJC_WILDCARD).o : $(test-crt-posixc-posix1-regex_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-regex_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-regex_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_IQUOTE) . $(test-crt-posixc-posix1-regex_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-regex_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-regex_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_IQUOTE) . $(test-crt-posixc-posix1-regex_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-regex_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-regex_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_IQUOTE) . $(test-crt-posixc-posix1-regex_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-regex_MOBJC_DTARGETS) : $(test-crt-posixc-posix1-regex_MOBJC_WILDCARD).d : $(test-crt-posixc-posix1-regex_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-regex_OBJCDFLAGS) $(test-crt-posixc-posix1-regex_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-crt-posixc-posix1-regex_MC_SRCWILDCARD := % +else +test-crt-posixc-posix1-regex_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-regex_OBJDIR),) +test-crt-posixc-posix1-regex_MC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-regex_C_NARCHFILES)) +test-crt-posixc-posix1-regex_MC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-regex_C_NARCHFILES)) +test-crt-posixc-posix1-regex_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-posixc-posix1-regex_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-regex_C_NARCHFILES)))) + test-crt-posixc-posix1-regex_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-regex_C_NARCHFILES)))) +else +ifeq (,) + test-crt-posixc-posix1-regex_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(test-crt-posixc-posix1-regex_C_NARCHFILES))) + test-crt-posixc-posix1-regex_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(test-crt-posixc-posix1-regex_C_NARCHFILES))) +else + test-crt-posixc-posix1-regex_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-regex_C_NARCHFILES)))) + test-crt-posixc-posix1-regex_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-regex_C_NARCHFILES)))) +endif +endif +test-crt-posixc-posix1-regex_MC_TGTWILDCARD := $(test-crt-posixc-posix1-regex_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-posixc-posix1-regex_C_NARCHFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-regex_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-regex_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-regex_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-regex_MC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-regex_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-regex_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-regex_MC_DIRS),) + test-crt-posixc-posix1-regex_MC_DIRS := $(shell echo $(test-crt-posixc-posix1-regex_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-posixc-posix1-regex_MC_DIRS) +endif + +endif + +test-crt-posixc-posix1-regex_MC_CPPFLAGS := $(test-crt-posixc-posix1-regex_CPPFLAGS) +test-crt-posixc-posix1-regex_CFLAGS := $(test-crt-posixc-posix1-regex_CFLAGS) +ifeq ($(test-crt-posixc-posix1-regex_DFLAGS),) + test-crt-posixc-posix1-regex_DFLAGS := $(test-crt-posixc-posix1-regex_CFLAGS) +else + test-crt-posixc-posix1-regex_DFLAGS := $(test-crt-posixc-posix1-regex_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-posixc-posix1-regex_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-posixc-posix1-regex_STRIP ?= $(TARGET_STRIP) +test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_MC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-regex_MC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_CFLAGS:=$(strip $(test-crt-posixc-posix1-regex_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_DFLAGS:=$(test-crt-posixc-posix1-regex_DFLAGS) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-posixc-posix1-regex_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-posixc-posix1-regex_STRIP ?= $(HOST_STRIP) +test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-regex_CFLAGS)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-regex_DFLAGS)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-regex_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-posixc-posix1-regex_STRIP ?= $(ECHO) >/dev/null +test-crt-posixc-posix1-regex_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MC_CPPFLAGS) $(test-crt-posixc-posix1-regex_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-regex_CFLAGS)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-regex_DFLAGS)) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-posixc-posix1-regex_MC_TARGETS) $(test-crt-posixc-posix1-regex_MC_DTARGETS) : test-crt-posixc-posix1-regex_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-regex_MC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-regex_MC_CPPFLAGS) +$(test-crt-posixc-posix1-regex_MC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-regex_CFLAGS) +$(test-crt-posixc-posix1-regex_MC_TARGETS) : $(test-crt-posixc-posix1-regex_MC_TGTWILDCARD).o : $(test-crt-posixc-posix1-regex_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-regex_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-regex_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_IQUOTE) . $(test-crt-posixc-posix1-regex_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-regex_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-regex_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_IQUOTE) . $(test-crt-posixc-posix1-regex_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-regex_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-regex_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-regex_IQUOTE) . $(test-crt-posixc-posix1-regex_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-regex_MC_DTARGETS) : $(test-crt-posixc-posix1-regex_MC_TGTWILDCARD).d : $(test-crt-posixc-posix1-regex_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-regex_DFLAGS) $(test-crt-posixc-posix1-regex_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-crt-posixc-posix1-regex_OBJDIR),) +test-crt-posixc-posix1-regex-MA_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-regex_ASMFILES)) +test-crt-posixc-posix1-regex-MA_WILDCARD := % +else +test-crt-posixc-posix1-regex-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-regex_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-regex_ASMFILES)))) +test-crt-posixc-posix1-regex-MA_WILDCARD := $(test-crt-posixc-posix1-regex_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-crt-posixc-posix1-regex-MA_TARGETS) : | $(addsuffix .s,$(test-crt-posixc-posix1-regex_ASMFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-regex-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-regex-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-regex_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-regex-MA_DIRS := $(foreach dir, $(test-crt-posixc-posix1-regex-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-regex-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-regex-MA_DIRS),) + test-crt-posixc-posix1-regex-MA_DIRS := $(shell echo $(test-crt-posixc-posix1-regex-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-crt-posixc-posix1-regex-MA_DIRS) +endif + +endif + +test-crt-posixc-posix1-regex-MA_ASSEMBLER ?= $(test-crt-posixc-posix1-regex_ASSEMBLER) + +$(test-crt-posixc-posix1-regex-MA_TARGETS) : test-crt-posixc-posix1-regex-MA_CMD:= $(test-crt-posixc-posix1-regex-MA_ASSEMBLER) + +$(test-crt-posixc-posix1-regex-MA_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-regex_CPPFLAGS) +$(test-crt-posixc-posix1-regex-MA_TARGETS) : AFLAGS := $(test-crt-posixc-posix1-regex_AFLAGS) +$(test-crt-posixc-posix1-regex-MA_TARGETS) : $(test-crt-posixc-posix1-regex-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-crt-posixc-posix1-regex-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-crt-posixc-posix1-regex-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-crt-posixc-posix1-regex-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-crt-posixc-posix1-regex-link_EXTRA_LDFLAGS := +test-crt-posixc-posix1-regex-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-posixc-posix1-regex-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-posixc-posix1-regex-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-posixc-posix1-regex-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-crt-posixc-posix1-regex-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-posixc-posix1-regex_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-posixc-posix1-regex-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-posixc-posix1-regex-link_DIRS))) +# Add trailing / +test-crt-posixc-posix1-regex-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-posixc-posix1-regex-link_DIRS))) +# Add normal linklib path +test-crt-posixc-posix1-regex-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-posixc-posix1-regex-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-posixc-posix1-regex_LIBS) $(test-crt-posixc-posix1-regex-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-crt-posixc-posix1-regex-link_LIBS += startup.o +endif +ifeq (no,yes) + test-crt-posixc-posix1-regex-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-crt-posixc-posix1-regex-link_DEPLIBS := $(foreach lib,$(test-crt-posixc-posix1-regex-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-posixc-posix1-regex-link_DIRS)))) \ +) + +$(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) : OBJDIR := $(test-crt-posixc-posix1-regex_OBJDIR) +$(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) : OBJS := $(test-crt-posixc-posix1-regex_OBJS) $(test-crt-posixc-posix1-regex_ARCHOBJS) $(USER_OBJS) +$(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) : LDFLAGS := $(strip $(test-crt-posixc-posix1-regex_LDFLAGS) $(test-crt-posixc-posix1-regex-link_EXTRA_LDFLAGS)) +$(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) : LIBS := $(addprefix -l,$(test-crt-posixc-posix1-regex_LIBS) $(test-crt-posixc-posix1-regex-link_EXTRA_LIBS) ) +$(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) : $(test-crt-posixc-posix1-regex_OBJS) $(test-crt-posixc-posix1-regex_ARCHOBJS) $(USER_OBJS) $(test-crt-posixc-posix1-regex-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-posixc-posix1-regex_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-posixc-posix1-regex_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-posixc-posix1-regex_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-regex_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-posixc-posix1-regex_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-posixc-posix1-regex_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-regex_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-posixc-posix1-regex_DEPS),) + ifneq (test-crt-posixc-posix1-regex test-crt-posixc-posix1-regex-quick,) + ifneq ($(findstring $(TARGET),test-crt-posixc-posix1-regex test-crt-posixc-posix1-regex-quick),) + -include $(test-crt-posixc-posix1-regex_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-posixc-posix1-regex_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-posixc-posix1-regex_OBJS) $(test-crt-posixc-posix1-regex_DEPS) $(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME),) +$(test-crt-posixc-posix1-regex_OBJS) $(test-crt-posixc-posix1-regex_DEPS) $(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) : | $(test-crt-posixc-posix1-regex_OBJDIR) $(test-crt-posixc-posix1-regex_TARGETDIR) +else +$(test-crt-posixc-posix1-regex_OBJS) $(test-crt-posixc-posix1-regex_DEPS) $(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) :: $(test-crt-posixc-posix1-regex_OBJDIR) $(test-crt-posixc-posix1-regex_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-crt-posixc-posix1-regex_OBJDIR) $(test-crt-posixc-posix1-regex_TARGETDIR) + + +test-crt-posixc-posix1-regex-clean : FILES := $(test-crt-posixc-posix1-regex_OBJS) $(test-crt-posixc-posix1-regex_TARGETDIR)/$(test-crt-posixc-posix1-regex_PROGNAME) $(test-crt-posixc-posix1-regex_DEPS) +#MM +test-crt-posixc-posix1-regex-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-posixc-posix1-regex" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-crt-posixc-posix1-printf + +test-crt-posixc-posix1-printf_PROGNAME := printf +test-crt-posixc-posix1-printf_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-posixc-posix1-printf_TARGETDIR := $(EXEDIR) +test-crt-posixc-posix1-printf_LINKER := +test-crt-posixc-posix1-printf_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-crt-posixc-posix1-printf_LINKER),) + test-crt-posixc-posix1-printf_LINKER := target +endif + +ifneq ("$(strip posix.1/printf-examples )","") + test-crt-posixc-posix1-printf_FILES := posix.1/printf-examples + test-crt-posixc-posix1-printf_OBJCFILES := + test-crt-posixc-posix1-printf_ASMFILES := + test-crt-posixc-posix1-printf_CXXFILES := +else + test-crt-posixc-posix1-printf_FILES := $(test-crt-posixc-posix1-printf_PROGNAME) + test-crt-posixc-posix1-printf_OBJCFILES := + test-crt-posixc-posix1-printf_ASMFILES := + test-crt-posixc-posix1-printf_CXXFILES := +endif + +test-crt-posixc-posix1-printf_ARCHOBJS := $(wildcard $(test-crt-posixc-posix1-printf_OBJDIR)/arch/*.o) +test-crt-posixc-posix1-printf_ARCHFILES := $(basename $(notdir $(test-crt-posixc-posix1-printf_ARCHOBJS))) +test-crt-posixc-posix1-printf_C_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-printf_ARCHFILES),$(test-crt-posixc-posix1-printf_FILES)) +test-crt-posixc-posix1-printf_CXX_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-printf_ARCHFILES),$(test-crt-posixc-posix1-printf_CXXFILES)) +test-crt-posixc-posix1-printf_OBJC_NARCHFILES := $(filter-out $(test-crt-posixc-posix1-printf_ARCHFILES),$(test-crt-posixc-posix1-printf_OBJCFILES)) + +TMP_FILES := $(test-crt-posixc-posix1-printf_C_NARCHFILES) $(test-crt-posixc-posix1-printf_CXX_NARCHFILES) $(test-crt-posixc-posix1-printf_ASMFILES) $(test-crt-posixc-posix1-printf_OBJC_NARCHFILES) +test-crt-posixc-posix1-printf_OBJS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-crt-posixc-posix1-printf_DEPS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-crt-posixc-posix1-printf_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-crt-posixc-posix1-printf_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-printf_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-printf_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-printf_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-crt-posixc-posix1-printf_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-printf_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-printf_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-printf_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-crt-posixc-posix1-printf_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-crt-posixc-posix1-printf_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-printf_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-printf_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-crt-posixc-posix1-printf_LDFLAGS := +endif + +test-crt-posixc-posix1-printf_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-posixc-posix1-printf_COVERAGE := yes +test-crt-posixc-posix1-printf_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-posixc-posix1-printf_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-posixc-posix1-printf_CFLAGS := $(strip $(test-crt-posixc-posix1-printf_COVERAGEFLAGS) $(test-crt-posixc-posix1-printf_CFLAGS)) +test-crt-posixc-posix1-printf_CXXFLAGS := $(strip $(test-crt-posixc-posix1-printf_COVERAGEFLAGS) $(test-crt-posixc-posix1-printf_CXXFLAGS)) +test-crt-posixc-posix1-printf_LIBS += $(test-crt-posixc-posix1-printf_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-posixc-posix1-printf_FUNCINSTR := yes +test-crt-posixc-posix1-printf_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-posixc-posix1-printf_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-posixc-posix1-printf_CFLAGS := $(strip $(test-crt-posixc-posix1-printf_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-printf_CFLAGS)) +test-crt-posixc-posix1-printf_CXXFLAGS := $(strip $(test-crt-posixc-posix1-printf_INSTRFUNCFLAGS) $(test-crt-posixc-posix1-printf_CXXFLAGS)) +test-crt-posixc-posix1-printf_LIBS += $(test-crt-posixc-posix1-printf_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-posixc-posix1-printf_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-printf_CFLAGS)) +test-crt-posixc-posix1-printf_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-posix1-printf_CXXFLAGS)) +endif +endif +test-crt-posixc-posix1-printf_AFLAGS := $(AFLAGS) +ifneq (,) + test-crt-posixc-posix1-printf_DFLAGS := +else + test-crt-posixc-posix1-printf_DFLAGS := $(test-crt-posixc-posix1-printf_CFLAGS) +endif +ifneq (,) + test-crt-posixc-posix1-printf_DXXFLAGS := +else + test-crt-posixc-posix1-printf_DXXFLAGS := $(test-crt-posixc-posix1-printf_CXXFLAGS) +endif +ifeq (target,target) +test-crt-posixc-posix1-printf_LDFLAGS := $(test-crt-posixc-posix1-printf_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-posixc-posix1-printf_LDFLAGS := $(test-crt-posixc-posix1-printf_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-printf_LDFLAGS := $(test-crt-posixc-posix1-printf_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-crt-posixc-posix1-printf_LDFLAGS += -L +endif + +#MM +test-crt-posixc-posix1-printf-quick : test-crt-posixc-posix1-printf + +#MM test-crt-posixc-posix1-printf : includes-generate-deps core-linklibs +test-crt-posixc-posix1-printf : $(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) + +ifneq ($(filter $(TARGET),test-crt-posixc-posix1-printf test-crt-posixc-posix1-printf-quick test-crt-posixc-posix1-printf-gz-quick),) + +test-crt-posixc-posix1-printf_CXXABSBASENAMES := $(foreach test-crt-posixc-posix1-printf_CXXBASE,$(test-crt-posixc-posix1-printf_CXX_NARCHFILES),$(if $(filter /%,$(test-crt-posixc-posix1-printf_CXXBASE)),$(test-crt-posixc-posix1-printf_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-crt-posixc-posix1-printf_CXXBASE)))) + +ifneq ($(test-crt-posixc-posix1-printf_CXXABSBASENAMES),) + +test-crt-posixc-posix1-printf_CXXBASENAMES := $(basename $(test-crt-posixc-posix1-printf_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-crt-posixc-posix1-printf_MCXX_FILES := $(strip $(foreach test-crt-posixc-posix1-printf_CXXBASE,$(test-crt-posixc-posix1-printf_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-crt-posixc-posix1-printf_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-crt-posixc-posix1-printf_EXT),$(test-crt-posixc-posix1-printf_CXXBASE))))))) + +ifeq (,) +test-crt-posixc-posix1-printf_MCXX_SRCWILDCARD := % +else +test-crt-posixc-posix1-printf_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-printf_OBJDIR),) + test-crt-posixc-posix1-printf_CXXTARGETS := $(notdir $(test-crt-posixc-posix1-printf_CXXBASENAMES:=.o)) + test-crt-posixc-posix1-printf_CXXDTARGETS := $(notdir $(test-crt-posixc-posix1-printf_CXXBASENAMES:=.d)) + test-crt-posixc-posix1-printf_MCXX_WILDCARD := % +else + test-crt-posixc-posix1-printf_CXXTARGETS := $(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-printf_CXXBASENAMES:=.o))) + test-crt-posixc-posix1-printf_CXXDTARGETS := $(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-printf_CXXBASENAMES:=.d))) + test-crt-posixc-posix1-printf_MCXX_WILDCARD := $(test-crt-posixc-posix1-printf_OBJDIR)/% + + # Be sure that all source files are generated + $(test-crt-posixc-posix1-printf_CXXTARGETS) $(test-crt-posixc-posix1-printf_CXXDTARGETS) : | $(test-crt-posixc-posix1-printf_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-crt-posixc-posix1-printf_MCXX_CPPFLAGS := $(test-crt-posixc-posix1-printf_CPPFLAGS) +test-crt-posixc-posix1-printf_CXXFLAGS := $(test-crt-posixc-posix1-printf_CXXFLAGS) +ifeq ($(test-crt-posixc-posix1-printf_DXXFLAGS),) + test-crt-posixc-posix1-printf_DXXFLAGS := $(test-crt-posixc-posix1-printf_CXXFLAGS) +else + test-crt-posixc-posix1-printf_DXXFLAGS := $(test-crt-posixc-posix1-printf_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-crt-posixc-posix1-printf_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-printf_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-crt-posixc-posix1-printf_CXXCMD:=$(HOST_CXX) + test-crt-posixc-posix1-printf_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-printf_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-printf_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-printf_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-printf_CXXFLAGS)) + test-crt-posixc-posix1-printf_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-crt-posixc-posix1-printf_DXXFLAGS)) + test-crt-posixc-posix1-printf_CXXIQUOTE:=$(HOST_IQUOTE) + test-crt-posixc-posix1-printf_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-crt-posixc-posix1-printf_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-printf_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-printf_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-crt-posixc-posix1-printf_MCXX_CPPFLAGS := $(strip $(test-crt-posixc-posix1-printf_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-printf_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-printf_CXXFLAGS := $(strip $(test-crt-posixc-posix1-printf_CXXFLAGS) $(SAFETY_CFLAGS)) + test-crt-posixc-posix1-printf_DXXFLAGS := $(test-crt-posixc-posix1-printf_DXXFLAGS) + test-crt-posixc-posix1-printf_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-crt-posixc-posix1-printf_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-crt-posixc-posix1-printf_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-printf_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-printf_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-crt-posixc-posix1-printf_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-printf_MCXX_CPPFLAGS) $(test-crt-posixc-posix1-printf_MCXX_EXTRA_CPPFLAGS)) + test-crt-posixc-posix1-printf_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-printf_CXXFLAGS)) + test-crt-posixc-posix1-printf_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-crt-posixc-posix1-printf_DXXFLAGS)) + test-crt-posixc-posix1-printf_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-crt-posixc-posix1-printf_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-crt-posixc-posix1-printf_CXXCMD) $(test-crt-posixc-posix1-printf_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-printf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_CXXIQUOTE) . $(test-crt-posixc-posix1-printf_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-printf_CXXFLAGS) $(test-crt-posixc-posix1-printf_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-crt-posixc-posix1-printf_CXXCMD) $(test-crt-posixc-posix1-printf_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-printf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_CXXIQUOTE) . $(test-crt-posixc-posix1-printf_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-printf_CXXFLAGS) $(test-crt-posixc-posix1-printf_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-crt-posixc-posix1-printf_CXXCMD) $(test-crt-posixc-posix1-printf_CXXIQUOTE) $(dir $(2)) $(test-crt-posixc-posix1-printf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_CXXIQUOTE) . $(test-crt-posixc-posix1-printf_CXXIQUOTE_END) $(strip $(test-crt-posixc-posix1-printf_CXXFLAGS) $(test-crt-posixc-posix1-printf_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-crt-posixc-posix1-printf_CXXCMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-printf_DXXFLAGS) $(test-crt-posixc-posix1-printf_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-crt-posixc-posix1-printf_OBJDIR),) + $(foreach test-crt-posixc-posix1-printf_CXXFILE,$(test-crt-posixc-posix1-printf_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-crt-posixc-posix1-printf_CXXFILE))),$(test-crt-posixc-posix1-printf_CXXFILE)))) +else + $(foreach test-crt-posixc-posix1-printf_CXXFILE,$(test-crt-posixc-posix1-printf_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(notdir $(basename $(test-crt-posixc-posix1-printf_CXXFILE)))),$(test-crt-posixc-posix1-printf_CXXFILE)))) +endif + +endif + + +ifneq ($(test-crt-posixc-posix1-printf_OBJC_NARCHFILES),) + +ifeq (,) +test-crt-posixc-posix1-printf_MOBJC_SRCWILDCARD := % +else +test-crt-posixc-posix1-printf_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-printf_OBJDIR),) + test-crt-posixc-posix1-printf_MOBJC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-printf_OBJC_NARCHFILES)) + test-crt-posixc-posix1-printf_MOBJC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-printf_OBJC_NARCHFILES)) + test-crt-posixc-posix1-printf_MOBJC_WILDCARD := % +else + test-crt-posixc-posix1-printf_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(test-crt-posixc-posix1-printf_OBJC_NARCHFILES))) + test-crt-posixc-posix1-printf_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(test-crt-posixc-posix1-printf_OBJC_NARCHFILES))) + test-crt-posixc-posix1-printf_MOBJC_WILDCARD := $(test-crt-posixc-posix1-printf_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-crt-posixc-posix1-printf_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-crt-posixc-posix1-printf_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-crt-posixc-posix1-printf_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-printf_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-crt-posixc-posix1-printf_MOBJC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-printf_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-printf_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-crt-posixc-posix1-printf_MOBJC_DIRS),) + test-crt-posixc-posix1-printf_MOBJC_DIRS := $(shell echo $(test-crt-posixc-posix1-printf_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-crt-posixc-posix1-printf_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-crt-posixc-posix1-printf_CC := $(TARGET_CC) +else + test-crt-posixc-posix1-printf_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS := $(test-crt-posixc-posix1-printf_CPPFLAGS) +test-crt-posixc-posix1-printf_OBJCFLAGS := $(test-crt-posixc-posix1-printf_CFLAGS) +test-crt-posixc-posix1-printf_OBJCFLAGS := $(test-crt-posixc-posix1-printf_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-crt-posixc-posix1-printf_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-crt-posixc-posix1-printf_OBJCFLAGS))) +ifeq ($(test-crt-posixc-posix1-printf_DFLAGS),) + test-crt-posixc-posix1-printf_OBJCDFLAGS := $(test-crt-posixc-posix1-printf_CFLAGS) +else + test-crt-posixc-posix1-printf_OBJCDFLAGS := $(test-crt-posixc-posix1-printf_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-crt-posixc-posix1-printf_LINK ?= $(strip $(test-crt-posixc-posix1-printf_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-crt-posixc-posix1-printf_STRIP ?= $(TARGET_STRIP) + test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : CMD:=$(strip $(test-crt-posixc-posix1-printf_CC) $(TARGET_SYSROOT)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_OBJCFLAGS:=$(strip $(test-crt-posixc-posix1-printf_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_OBJCDFLAGS:=$(test-crt-posixc-posix1-printf_OBJCDFLAGS) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-crt-posixc-posix1-printf_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-crt-posixc-posix1-printf_STRIP ?= $(HOST_STRIP) + test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-printf_OBJCFLAGS)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-printf_OBJCDFLAGS)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE:=$(HOST_IQUOTE) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-crt-posixc-posix1-printf_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-crt-posixc-posix1-printf_STRIP ?= $(ECHO) >/dev/null + test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MOBJC_EXTRA_CPPFLAGS)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-printf_OBJCFLAGS)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-printf_OBJCDFLAGS)) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE:=$(KERNEL_IQUOTE) + $(test-crt-posixc-posix1-printf_MOBJC_TARGETS) $(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-printf_MOBJC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS) +$(test-crt-posixc-posix1-printf_MOBJC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-printf_OBJCFLAGS) +$(test-crt-posixc-posix1-printf_MOBJC_TARGETS) : $(test-crt-posixc-posix1-printf_MOBJC_WILDCARD).o : $(test-crt-posixc-posix1-printf_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-printf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-printf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_IQUOTE) . $(test-crt-posixc-posix1-printf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-printf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-printf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_IQUOTE) . $(test-crt-posixc-posix1-printf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-printf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-printf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_IQUOTE) . $(test-crt-posixc-posix1-printf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-printf_MOBJC_DTARGETS) : $(test-crt-posixc-posix1-printf_MOBJC_WILDCARD).d : $(test-crt-posixc-posix1-printf_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-printf_OBJCDFLAGS) $(test-crt-posixc-posix1-printf_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-crt-posixc-posix1-printf_MC_SRCWILDCARD := % +else +test-crt-posixc-posix1-printf_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-posix1-printf_OBJDIR),) +test-crt-posixc-posix1-printf_MC_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-printf_C_NARCHFILES)) +test-crt-posixc-posix1-printf_MC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-posix1-printf_C_NARCHFILES)) +test-crt-posixc-posix1-printf_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-posixc-posix1-printf_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-printf_C_NARCHFILES)))) + test-crt-posixc-posix1-printf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-printf_C_NARCHFILES)))) +else +ifeq (,) + test-crt-posixc-posix1-printf_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(test-crt-posixc-posix1-printf_C_NARCHFILES))) + test-crt-posixc-posix1-printf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(test-crt-posixc-posix1-printf_C_NARCHFILES))) +else + test-crt-posixc-posix1-printf_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-printf_C_NARCHFILES)))) + test-crt-posixc-posix1-printf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-posix1-printf_C_NARCHFILES)))) +endif +endif +test-crt-posixc-posix1-printf_MC_TGTWILDCARD := $(test-crt-posixc-posix1-printf_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-posixc-posix1-printf_C_NARCHFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-printf_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-printf_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-printf_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-printf_MC_DIRS := $(foreach dir, $(test-crt-posixc-posix1-printf_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-printf_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-printf_MC_DIRS),) + test-crt-posixc-posix1-printf_MC_DIRS := $(shell echo $(test-crt-posixc-posix1-printf_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-posixc-posix1-printf_MC_DIRS) +endif + +endif + +test-crt-posixc-posix1-printf_MC_CPPFLAGS := $(test-crt-posixc-posix1-printf_CPPFLAGS) +test-crt-posixc-posix1-printf_CFLAGS := $(test-crt-posixc-posix1-printf_CFLAGS) +ifeq ($(test-crt-posixc-posix1-printf_DFLAGS),) + test-crt-posixc-posix1-printf_DFLAGS := $(test-crt-posixc-posix1-printf_CFLAGS) +else + test-crt-posixc-posix1-printf_DFLAGS := $(test-crt-posixc-posix1-printf_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-posixc-posix1-printf_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-posixc-posix1-printf_STRIP ?= $(TARGET_STRIP) +test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_MC_CPPFLAGS:=$(strip $(test-crt-posixc-posix1-printf_MC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_CFLAGS:=$(strip $(test-crt-posixc-posix1-printf_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_DFLAGS:=$(test-crt-posixc-posix1-printf_DFLAGS) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-posixc-posix1-printf_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-posixc-posix1-printf_STRIP ?= $(HOST_STRIP) +test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-printf_CFLAGS)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-posix1-printf_DFLAGS)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-posixc-posix1-printf_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-posixc-posix1-printf_STRIP ?= $(ECHO) >/dev/null +test-crt-posixc-posix1-printf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MC_CPPFLAGS) $(test-crt-posixc-posix1-printf_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-printf_CFLAGS)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-posix1-printf_DFLAGS)) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-posixc-posix1-printf_MC_TARGETS) $(test-crt-posixc-posix1-printf_MC_DTARGETS) : test-crt-posixc-posix1-printf_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-posix1-printf_MC_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-printf_MC_CPPFLAGS) +$(test-crt-posixc-posix1-printf_MC_TARGETS) : CFLAGS := $(test-crt-posixc-posix1-printf_CFLAGS) +$(test-crt-posixc-posix1-printf_MC_TARGETS) : $(test-crt-posixc-posix1-printf_MC_TGTWILDCARD).o : $(test-crt-posixc-posix1-printf_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-posix1-printf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-printf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_IQUOTE) . $(test-crt-posixc-posix1-printf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-posix1-printf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-printf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_IQUOTE) . $(test-crt-posixc-posix1-printf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-posix1-printf_IQUOTE) $(dir $<) $(test-crt-posixc-posix1-printf_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-posix1-printf_IQUOTE) . $(test-crt-posixc-posix1-printf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-posix1-printf_MC_DTARGETS) : $(test-crt-posixc-posix1-printf_MC_TGTWILDCARD).d : $(test-crt-posixc-posix1-printf_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-posix1-printf_DFLAGS) $(test-crt-posixc-posix1-printf_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-crt-posixc-posix1-printf_OBJDIR),) +test-crt-posixc-posix1-printf-MA_TARGETS := $(addsuffix .o,$(test-crt-posixc-posix1-printf_ASMFILES)) +test-crt-posixc-posix1-printf-MA_WILDCARD := % +else +test-crt-posixc-posix1-printf-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-posix1-printf_OBJDIR)/,$(notdir $(test-crt-posixc-posix1-printf_ASMFILES)))) +test-crt-posixc-posix1-printf-MA_WILDCARD := $(test-crt-posixc-posix1-printf_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-crt-posixc-posix1-printf-MA_TARGETS) : | $(addsuffix .s,$(test-crt-posixc-posix1-printf_ASMFILES)) + +# Be sure that all .c files are found +test-crt-posixc-posix1-printf-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-posix1-printf-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-posix1-printf_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-posix1-printf-MA_DIRS := $(foreach dir, $(test-crt-posixc-posix1-printf-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-posix1-printf-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-posix1-printf-MA_DIRS),) + test-crt-posixc-posix1-printf-MA_DIRS := $(shell echo $(test-crt-posixc-posix1-printf-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-crt-posixc-posix1-printf-MA_DIRS) +endif + +endif + +test-crt-posixc-posix1-printf-MA_ASSEMBLER ?= $(test-crt-posixc-posix1-printf_ASSEMBLER) + +$(test-crt-posixc-posix1-printf-MA_TARGETS) : test-crt-posixc-posix1-printf-MA_CMD:= $(test-crt-posixc-posix1-printf-MA_ASSEMBLER) + +$(test-crt-posixc-posix1-printf-MA_TARGETS) : CPPFLAGS := $(test-crt-posixc-posix1-printf_CPPFLAGS) +$(test-crt-posixc-posix1-printf-MA_TARGETS) : AFLAGS := $(test-crt-posixc-posix1-printf_AFLAGS) +$(test-crt-posixc-posix1-printf-MA_TARGETS) : $(test-crt-posixc-posix1-printf-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-crt-posixc-posix1-printf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-crt-posixc-posix1-printf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-crt-posixc-posix1-printf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-crt-posixc-posix1-printf-link_EXTRA_LDFLAGS := +test-crt-posixc-posix1-printf-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-posixc-posix1-printf-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-posixc-posix1-printf-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-posixc-posix1-printf-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-crt-posixc-posix1-printf-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-posixc-posix1-printf_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-posixc-posix1-printf-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-posixc-posix1-printf-link_DIRS))) +# Add trailing / +test-crt-posixc-posix1-printf-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-posixc-posix1-printf-link_DIRS))) +# Add normal linklib path +test-crt-posixc-posix1-printf-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-posixc-posix1-printf-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-posixc-posix1-printf_LIBS) $(test-crt-posixc-posix1-printf-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-crt-posixc-posix1-printf-link_LIBS += startup.o +endif +ifeq (no,yes) + test-crt-posixc-posix1-printf-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-crt-posixc-posix1-printf-link_DEPLIBS := $(foreach lib,$(test-crt-posixc-posix1-printf-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-posixc-posix1-printf-link_DIRS)))) \ +) + +$(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) : OBJDIR := $(test-crt-posixc-posix1-printf_OBJDIR) +$(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) : OBJS := $(test-crt-posixc-posix1-printf_OBJS) $(test-crt-posixc-posix1-printf_ARCHOBJS) $(USER_OBJS) +$(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) : LDFLAGS := $(strip $(test-crt-posixc-posix1-printf_LDFLAGS) $(test-crt-posixc-posix1-printf-link_EXTRA_LDFLAGS)) +$(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) : LIBS := $(addprefix -l,$(test-crt-posixc-posix1-printf_LIBS) $(test-crt-posixc-posix1-printf-link_EXTRA_LIBS) ) +$(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) : $(test-crt-posixc-posix1-printf_OBJS) $(test-crt-posixc-posix1-printf_ARCHOBJS) $(USER_OBJS) $(test-crt-posixc-posix1-printf-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-posixc-posix1-printf_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-posixc-posix1-printf_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-posixc-posix1-printf_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-printf_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-posixc-posix1-printf_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-posixc-posix1-printf_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-posix1-printf_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-posixc-posix1-printf_DEPS),) + ifneq (test-crt-posixc-posix1-printf test-crt-posixc-posix1-printf-quick,) + ifneq ($(findstring $(TARGET),test-crt-posixc-posix1-printf test-crt-posixc-posix1-printf-quick),) + -include $(test-crt-posixc-posix1-printf_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-posixc-posix1-printf_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-posixc-posix1-printf_OBJS) $(test-crt-posixc-posix1-printf_DEPS) $(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME),) +$(test-crt-posixc-posix1-printf_OBJS) $(test-crt-posixc-posix1-printf_DEPS) $(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) : | $(test-crt-posixc-posix1-printf_OBJDIR) $(test-crt-posixc-posix1-printf_TARGETDIR) +else +$(test-crt-posixc-posix1-printf_OBJS) $(test-crt-posixc-posix1-printf_DEPS) $(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) :: $(test-crt-posixc-posix1-printf_OBJDIR) $(test-crt-posixc-posix1-printf_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-crt-posixc-posix1-printf_OBJDIR) $(test-crt-posixc-posix1-printf_TARGETDIR) + + +test-crt-posixc-posix1-printf-clean : FILES := $(test-crt-posixc-posix1-printf_OBJS) $(test-crt-posixc-posix1-printf_TARGETDIR)/$(test-crt-posixc-posix1-printf_PROGNAME) $(test-crt-posixc-posix1-printf_DEPS) +#MM +test-crt-posixc-posix1-printf-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-posixc-posix1-printf" + $(Q)$(RM) $(FILES) + + +# POSIX.1-2008 + +USER_CPPFLAGS = -D_XOPEN_SOURCE=700 + + +.PHONY : test-crt-posixc-general + +test-crt-posixc-general_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-posixc-general_TARGETDIR := $(EXEDIR) +test-crt-posixc-general_LIBS := + +test-crt-posixc-general_FILES := $(POSIXC2K8TESTFILES) +test-crt-posixc-general_OBJS := $(addsuffix .o,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(test-crt-posixc-general_FILES))) +test-crt-posixc-general_DEPS := $(addsuffix .d,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(test-crt-posixc-general_FILES))) +test-crt-posixc-general_EXES := $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)) + +test-crt-posixc-general_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-crt-posixc-general_CPPFLAGS += -I +endif +test-crt-posixc-general_CFLAGS := $(CFLAGS) +test-crt-posixc-general_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-posixc-general_COVERAGE := yes +test-crt-posixc-general_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-posixc-general_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-posixc-general_CFLAGS := $(strip $(test-crt-posixc-general_COVERAGEFLAGS) $(test-crt-posixc-general_CFLAGS)) +test-crt-posixc-general_LIBS += $(test-crt-posixc-general_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-posixc-general_FUNCINSTR := yes +test-crt-posixc-general_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-posixc-general_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-posixc-general_CFLAGS := $(strip $(test-crt-posixc-general_INSTRFUNCFLAGS) $(test-crt-posixc-general_CFLAGS)) +test-crt-posixc-general_LIBS += $(test-crt-posixc-general_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-posixc-general_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-posixc-general_CFLAGS)) +endif +endif +ifneq (,) + test-crt-posixc-general_DFLAGS := +else + test-crt-posixc-general_DFLAGS := $(test-crt-posixc-general_CFLAGS) +endif +ifeq (target,target) +test-crt-posixc-general_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-posixc-general_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-posixc-general_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-crt-posixc-general_LDFLAGS += -L +endif + +#MM +test-crt-posixc-general-quick : test-crt-posixc-general + +#MM test-crt-posixc-general : includes-generate-deps core-linklibs +test-crt-posixc-general : $(test-crt-posixc-general_EXES) + +ifneq ($(filter $(TARGET),test-crt-posixc-general test-crt-posixc-general-quick),) + +ifeq (,) +test-crt-posixc-general_MC_SRCWILDCARD := % +else +test-crt-posixc-general_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-posixc-general_OBJDIR),) +test-crt-posixc-general_MC_TARGETS := $(addsuffix .o,$(test-crt-posixc-general_FILES)) +test-crt-posixc-general_MC_DTARGETS := $(addsuffix .d,$(test-crt-posixc-general_FILES)) +test-crt-posixc-general_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-posixc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(notdir $(test-crt-posixc-general_FILES)))) + test-crt-posixc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(notdir $(test-crt-posixc-general_FILES)))) +else +ifeq (,) + test-crt-posixc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(test-crt-posixc-general_FILES))) + test-crt-posixc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(test-crt-posixc-general_FILES))) +else + test-crt-posixc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-general_FILES)))) + test-crt-posixc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-posixc-general_OBJDIR)/,$(patsubst /%,%,$(test-crt-posixc-general_FILES)))) +endif +endif +test-crt-posixc-general_MC_TGTWILDCARD := $(test-crt-posixc-general_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-posixc-general_FILES)) + +# Be sure that all .c files are found +test-crt-posixc-general_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-posixc-general_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-posixc-general_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-posixc-general_MC_DIRS := $(foreach dir, $(test-crt-posixc-general_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-posixc-general_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-posixc-general_MC_DIRS),) + test-crt-posixc-general_MC_DIRS := $(shell echo $(test-crt-posixc-general_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-posixc-general_MC_DIRS) +endif + +endif + +test-crt-posixc-general_MC_CPPFLAGS := $(test-crt-posixc-general_CPPFLAGS) +test-crt-posixc-general_CFLAGS := $(test-crt-posixc-general_CFLAGS) +ifeq ($(test-crt-posixc-general_DFLAGS),) + test-crt-posixc-general_DFLAGS := $(test-crt-posixc-general_CFLAGS) +else + test-crt-posixc-general_DFLAGS := $(test-crt-posixc-general_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-posixc-general_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-posixc-general_STRIP ?= $(TARGET_STRIP) +test-crt-posixc-general_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_MC_CPPFLAGS:=$(strip $(test-crt-posixc-general_MC_CPPFLAGS) $(test-crt-posixc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_CFLAGS:=$(strip $(test-crt-posixc-general_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_DFLAGS:=$(test-crt-posixc-general_DFLAGS) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-posixc-general_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-posixc-general_STRIP ?= $(HOST_STRIP) +test-crt-posixc-general_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-posixc-general_MC_CPPFLAGS) $(test-crt-posixc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-general_CFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-posixc-general_DFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-posixc-general_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-posixc-general_STRIP ?= $(ECHO) >/dev/null +test-crt-posixc-general_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-posixc-general_MC_CPPFLAGS) $(test-crt-posixc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-general_CFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-posixc-general_DFLAGS)) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-posixc-general_MC_TARGETS) $(test-crt-posixc-general_MC_DTARGETS) : test-crt-posixc-general_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-posixc-general_MC_TARGETS) : CPPFLAGS := $(test-crt-posixc-general_MC_CPPFLAGS) +$(test-crt-posixc-general_MC_TARGETS) : CFLAGS := $(test-crt-posixc-general_CFLAGS) +$(test-crt-posixc-general_MC_TARGETS) : $(test-crt-posixc-general_MC_TGTWILDCARD).o : $(test-crt-posixc-general_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-posixc-general_IQUOTE) $(dir $<) $(test-crt-posixc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-general_IQUOTE) . $(test-crt-posixc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-posixc-general_IQUOTE) $(dir $<) $(test-crt-posixc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-general_IQUOTE) . $(test-crt-posixc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-posixc-general_IQUOTE) $(dir $<) $(test-crt-posixc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-posixc-general_IQUOTE) . $(test-crt-posixc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-posixc-general_MC_DTARGETS) : $(test-crt-posixc-general_MC_TGTWILDCARD).d : $(test-crt-posixc-general_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-posixc-general_DFLAGS) $(test-crt-posixc-general_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-crt-posixc-general-link_EXTRA_LDFLAGS := +test-crt-posixc-general-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-posixc-general-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-posixc-general-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-posixc-general-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-crt-posixc-general-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-posixc-general_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-posixc-general-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-posixc-general-link_DIRS))) +# Add trailing / +test-crt-posixc-general-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-posixc-general-link_DIRS))) +# Add normal linklib path +test-crt-posixc-general-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-posixc-general-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-posixc-general_LIBS) $(test-crt-posixc-general-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-crt-posixc-general-link_DEPLIBS := $(foreach lib,$(test-crt-posixc-general-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-posixc-general-link_DIRS)))) \ +) +test-crt-posixc-general-link_PROGS := $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)) + +$(test-crt-posixc-general-link_PROGS) : OBJDIR := $(test-crt-posixc-general_OBJDIR) +$(test-crt-posixc-general-link_PROGS) : LDFLAGS := $(strip $(test-crt-posixc-general_LDFLAGS) $(test-crt-posixc-general-link_EXTRA_LDFLAGS)) +$(test-crt-posixc-general-link_PROGS) : LIBS := $(addprefix -l,$(test-crt-posixc-general_LIBS) $(test-crt-posixc-general-link_EXTRA_LIBS) ) +$(test-crt-posixc-general-link_PROGS) : $(test-crt-posixc-general_TARGETDIR)/% : $(test-crt-posixc-general_OBJDIR)/%.o $(test-crt-posixc-general-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-posixc-general_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-posixc-general_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-posixc-general_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-general_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-posixc-general_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-posixc-general_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-posixc-general_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-posixc-general_DEPS),) + ifneq (test-crt-posixc-general test-crt-posixc-general-quick,) + ifneq ($(findstring $(TARGET),test-crt-posixc-general test-crt-posixc-general-quick),) + -include $(test-crt-posixc-general_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-posixc-general_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-posixc-general_DEPS) $(test-crt-posixc-general_OBJS) $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)),) +$(test-crt-posixc-general_DEPS) $(test-crt-posixc-general_OBJS) $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)) : | $(test-crt-posixc-general_TARGETDIR) $(test-crt-posixc-general_OBJDIR) +else +$(test-crt-posixc-general_DEPS) $(test-crt-posixc-general_OBJS) $(addprefix $(test-crt-posixc-general_TARGETDIR)/,$(test-crt-posixc-general_FILES)) :: $(test-crt-posixc-general_TARGETDIR) $(test-crt-posixc-general_OBJDIR) +endif + +GLOB_MKDIRS += $(test-crt-posixc-general_TARGETDIR) $(test-crt-posixc-general_OBJDIR) + + +test-crt-posixc-general-clean : FILES := $(test-crt-posixc-general_OBJS) $(test-crt-posixc-general_EXES) $(test-crt-posixc-general_DEPS) +#MM +test-crt-posixc-general-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-posixc-general" + $(Q)$(RM) $(FILES) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/crt/stdc/math/mmakefile b/developer/debug/test/crt/stdc/math/mmakefile new file mode 100644 index 00000000000..3d4ab4ae6c9 --- /dev/null +++ b/developer/debug/test/crt/stdc/math/mmakefile @@ -0,0 +1,4348 @@ +# $Id$ +# +# Makefile for AROS C Library Math Tests + +include $(SRCDIR)/config/aros.cfg + +FILESFENV := \ + test-fenv + +FILESDOUBLE := \ + test-double + +FILESFLOAT := \ + test-float + +FILESIEEE754 := \ + tst-ieee754 + +FILESINFTORTURE := \ + inf_torture + +FILESPARANOIA := \ + paranoia + +EXEDIR := $(AROS_TESTS)/clib + +USER_CFLAGS = -fno-builtin + +#MM- test-clib : test-clib-math +#MM- test-clib-math : test-clib-math-fenv test-clib-math-c99-double test-clib-math-c99-float test-clib-math-ieee754 test-clib-math-inftorture test-clib-math-paranoia-double test-clib-math-paranoia-float +#MM- test-clib-math-common : includes includes-copy linklibs kernel + +#MM test-clib-math-fenv : test-clib-math-common +#MM test-clib-math-c99-double : test-clib-math-common +#MM test-clib-math-c99-float : test-clib-math-common +#MM test-clib-math-ieee754 : test-clib-math-common +#MM test-clib-math-inftorture : test-clib-math-common +#MM test-clib-math-paranoia-double : test-clib-math-common +#MM test-clib-math-paranoia-float : test-clib-math-common + +USER_CPPFLAGS = -DSingle + + +.PHONY : test-clib-math-paranoia-float + +test-clib-math-paranoia-float_PROGNAME := math-paranoia-float +test-clib-math-paranoia-float_OBJDIR := $(GENDIR)/$(CURDIR)/float +test-clib-math-paranoia-float_TARGETDIR := $(EXEDIR) +test-clib-math-paranoia-float_LINKER := +test-clib-math-paranoia-float_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-clib-math-paranoia-float_LINKER),) + test-clib-math-paranoia-float_LINKER := target +endif + +ifneq ("$(strip $(FILESPARANOIA) )","") + test-clib-math-paranoia-float_FILES := $(FILESPARANOIA) + test-clib-math-paranoia-float_OBJCFILES := + test-clib-math-paranoia-float_ASMFILES := + test-clib-math-paranoia-float_CXXFILES := +else + test-clib-math-paranoia-float_FILES := $(test-clib-math-paranoia-float_PROGNAME) + test-clib-math-paranoia-float_OBJCFILES := + test-clib-math-paranoia-float_ASMFILES := + test-clib-math-paranoia-float_CXXFILES := +endif + +test-clib-math-paranoia-float_ARCHOBJS := $(wildcard $(test-clib-math-paranoia-float_OBJDIR)/arch/*.o) +test-clib-math-paranoia-float_ARCHFILES := $(basename $(notdir $(test-clib-math-paranoia-float_ARCHOBJS))) +test-clib-math-paranoia-float_C_NARCHFILES := $(filter-out $(test-clib-math-paranoia-float_ARCHFILES),$(test-clib-math-paranoia-float_FILES)) +test-clib-math-paranoia-float_CXX_NARCHFILES := $(filter-out $(test-clib-math-paranoia-float_ARCHFILES),$(test-clib-math-paranoia-float_CXXFILES)) +test-clib-math-paranoia-float_OBJC_NARCHFILES := $(filter-out $(test-clib-math-paranoia-float_ARCHFILES),$(test-clib-math-paranoia-float_OBJCFILES)) + +TMP_FILES := $(test-clib-math-paranoia-float_C_NARCHFILES) $(test-clib-math-paranoia-float_CXX_NARCHFILES) $(test-clib-math-paranoia-float_ASMFILES) $(test-clib-math-paranoia-float_OBJC_NARCHFILES) +test-clib-math-paranoia-float_OBJS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-clib-math-paranoia-float_DEPS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-clib-math-paranoia-float_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-clib-math-paranoia-float_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-paranoia-float_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-clib-math-paranoia-float_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-clib-math-paranoia-float_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-clib-math-paranoia-float_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-paranoia-float_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-clib-math-paranoia-float_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-clib-math-paranoia-float_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-clib-math-paranoia-float_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-paranoia-float_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-clib-math-paranoia-float_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-clib-math-paranoia-float_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-clib-math-paranoia-float_LDFLAGS := +endif + +test-clib-math-paranoia-float_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-clib-math-paranoia-float_COVERAGE := yes +test-clib-math-paranoia-float_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-clib-math-paranoia-float_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-clib-math-paranoia-float_CFLAGS := $(strip $(test-clib-math-paranoia-float_COVERAGEFLAGS) $(test-clib-math-paranoia-float_CFLAGS)) +test-clib-math-paranoia-float_CXXFLAGS := $(strip $(test-clib-math-paranoia-float_COVERAGEFLAGS) $(test-clib-math-paranoia-float_CXXFLAGS)) +test-clib-math-paranoia-float_LIBS += $(test-clib-math-paranoia-float_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-clib-math-paranoia-float_FUNCINSTR := yes +test-clib-math-paranoia-float_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-clib-math-paranoia-float_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-clib-math-paranoia-float_CFLAGS := $(strip $(test-clib-math-paranoia-float_INSTRFUNCFLAGS) $(test-clib-math-paranoia-float_CFLAGS)) +test-clib-math-paranoia-float_CXXFLAGS := $(strip $(test-clib-math-paranoia-float_INSTRFUNCFLAGS) $(test-clib-math-paranoia-float_CXXFLAGS)) +test-clib-math-paranoia-float_LIBS += $(test-clib-math-paranoia-float_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-clib-math-paranoia-float_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-paranoia-float_CFLAGS)) +test-clib-math-paranoia-float_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-paranoia-float_CXXFLAGS)) +endif +endif +test-clib-math-paranoia-float_AFLAGS := $(AFLAGS) +ifneq (,) + test-clib-math-paranoia-float_DFLAGS := +else + test-clib-math-paranoia-float_DFLAGS := $(test-clib-math-paranoia-float_CFLAGS) +endif +ifneq (,) + test-clib-math-paranoia-float_DXXFLAGS := +else + test-clib-math-paranoia-float_DXXFLAGS := $(test-clib-math-paranoia-float_CXXFLAGS) +endif +ifeq (target,target) +test-clib-math-paranoia-float_LDFLAGS := $(test-clib-math-paranoia-float_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-clib-math-paranoia-float_LDFLAGS := $(test-clib-math-paranoia-float_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-clib-math-paranoia-float_LDFLAGS := $(test-clib-math-paranoia-float_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-clib-math-paranoia-float_LDFLAGS += -L +endif + +#MM +test-clib-math-paranoia-float-quick : test-clib-math-paranoia-float + +#MM test-clib-math-paranoia-float : includes-generate-deps core-linklibs +test-clib-math-paranoia-float : $(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) + +ifneq ($(filter $(TARGET),test-clib-math-paranoia-float test-clib-math-paranoia-float-quick test-clib-math-paranoia-float-gz-quick),) + +test-clib-math-paranoia-float_CXXABSBASENAMES := $(foreach test-clib-math-paranoia-float_CXXBASE,$(test-clib-math-paranoia-float_CXX_NARCHFILES),$(if $(filter /%,$(test-clib-math-paranoia-float_CXXBASE)),$(test-clib-math-paranoia-float_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-clib-math-paranoia-float_CXXBASE)))) + +ifneq ($(test-clib-math-paranoia-float_CXXABSBASENAMES),) + +test-clib-math-paranoia-float_CXXBASENAMES := $(basename $(test-clib-math-paranoia-float_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-clib-math-paranoia-float_MCXX_FILES := $(strip $(foreach test-clib-math-paranoia-float_CXXBASE,$(test-clib-math-paranoia-float_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-clib-math-paranoia-float_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-clib-math-paranoia-float_EXT),$(test-clib-math-paranoia-float_CXXBASE))))))) + +ifeq (,) +test-clib-math-paranoia-float_MCXX_SRCWILDCARD := % +else +test-clib-math-paranoia-float_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-paranoia-float_OBJDIR),) + test-clib-math-paranoia-float_CXXTARGETS := $(notdir $(test-clib-math-paranoia-float_CXXBASENAMES:=.o)) + test-clib-math-paranoia-float_CXXDTARGETS := $(notdir $(test-clib-math-paranoia-float_CXXBASENAMES:=.d)) + test-clib-math-paranoia-float_MCXX_WILDCARD := % +else + test-clib-math-paranoia-float_CXXTARGETS := $(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(notdir $(test-clib-math-paranoia-float_CXXBASENAMES:=.o))) + test-clib-math-paranoia-float_CXXDTARGETS := $(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(notdir $(test-clib-math-paranoia-float_CXXBASENAMES:=.d))) + test-clib-math-paranoia-float_MCXX_WILDCARD := $(test-clib-math-paranoia-float_OBJDIR)/% + + # Be sure that all source files are generated + $(test-clib-math-paranoia-float_CXXTARGETS) $(test-clib-math-paranoia-float_CXXDTARGETS) : | $(test-clib-math-paranoia-float_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-clib-math-paranoia-float_MCXX_CPPFLAGS := $(test-clib-math-paranoia-float_CPPFLAGS) +test-clib-math-paranoia-float_CXXFLAGS := $(test-clib-math-paranoia-float_CXXFLAGS) +ifeq ($(test-clib-math-paranoia-float_DXXFLAGS),) + test-clib-math-paranoia-float_DXXFLAGS := $(test-clib-math-paranoia-float_CXXFLAGS) +else + test-clib-math-paranoia-float_DXXFLAGS := $(test-clib-math-paranoia-float_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-clib-math-paranoia-float_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-clib-math-paranoia-float_STRIP ?= $(HOST_STRIP) + test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-clib-math-paranoia-float_CXXCMD:=$(HOST_CXX) + test-clib-math-paranoia-float_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-clib-math-paranoia-float_MCXX_CPPFLAGS) $(test-clib-math-paranoia-float_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-paranoia-float_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-paranoia-float_CXXFLAGS)) + test-clib-math-paranoia-float_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-paranoia-float_DXXFLAGS)) + test-clib-math-paranoia-float_CXXIQUOTE:=$(HOST_IQUOTE) + test-clib-math-paranoia-float_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-clib-math-paranoia-float_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-paranoia-float_STRIP ?= $(TARGET_STRIP) + test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-clib-math-paranoia-float_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-clib-math-paranoia-float_MCXX_CPPFLAGS := $(strip $(test-clib-math-paranoia-float_MCXX_CPPFLAGS) $(test-clib-math-paranoia-float_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-paranoia-float_CXXFLAGS := $(strip $(test-clib-math-paranoia-float_CXXFLAGS) $(SAFETY_CFLAGS)) + test-clib-math-paranoia-float_DXXFLAGS := $(test-clib-math-paranoia-float_DXXFLAGS) + test-clib-math-paranoia-float_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-clib-math-paranoia-float_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-clib-math-paranoia-float_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-paranoia-float_STRIP ?= $(ECHO) >/dev/null + test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-clib-math-paranoia-float_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-clib-math-paranoia-float_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-clib-math-paranoia-float_MCXX_CPPFLAGS) $(test-clib-math-paranoia-float_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-paranoia-float_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-paranoia-float_CXXFLAGS)) + test-clib-math-paranoia-float_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-paranoia-float_DXXFLAGS)) + test-clib-math-paranoia-float_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-clib-math-paranoia-float_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-clib-math-paranoia-float_CXXCMD) $(test-clib-math-paranoia-float_CXXIQUOTE) $(dir $(2)) $(test-clib-math-paranoia-float_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_CXXIQUOTE) . $(test-clib-math-paranoia-float_CXXIQUOTE_END) $(strip $(test-clib-math-paranoia-float_CXXFLAGS) $(test-clib-math-paranoia-float_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-clib-math-paranoia-float_CXXCMD) $(test-clib-math-paranoia-float_CXXIQUOTE) $(dir $(2)) $(test-clib-math-paranoia-float_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_CXXIQUOTE) . $(test-clib-math-paranoia-float_CXXIQUOTE_END) $(strip $(test-clib-math-paranoia-float_CXXFLAGS) $(test-clib-math-paranoia-float_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-clib-math-paranoia-float_CXXCMD) $(test-clib-math-paranoia-float_CXXIQUOTE) $(dir $(2)) $(test-clib-math-paranoia-float_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_CXXIQUOTE) . $(test-clib-math-paranoia-float_CXXIQUOTE_END) $(strip $(test-clib-math-paranoia-float_CXXFLAGS) $(test-clib-math-paranoia-float_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-clib-math-paranoia-float_CXXCMD)" $(MKDEPEND) $(strip $(test-clib-math-paranoia-float_DXXFLAGS) $(test-clib-math-paranoia-float_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-clib-math-paranoia-float_OBJDIR),) + $(foreach test-clib-math-paranoia-float_CXXFILE,$(test-clib-math-paranoia-float_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-clib-math-paranoia-float_CXXFILE))),$(test-clib-math-paranoia-float_CXXFILE)))) +else + $(foreach test-clib-math-paranoia-float_CXXFILE,$(test-clib-math-paranoia-float_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(notdir $(basename $(test-clib-math-paranoia-float_CXXFILE)))),$(test-clib-math-paranoia-float_CXXFILE)))) +endif + +endif + + +ifneq ($(test-clib-math-paranoia-float_OBJC_NARCHFILES),) + +ifeq (,) +test-clib-math-paranoia-float_MOBJC_SRCWILDCARD := % +else +test-clib-math-paranoia-float_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-paranoia-float_OBJDIR),) + test-clib-math-paranoia-float_MOBJC_TARGETS := $(addsuffix .o,$(test-clib-math-paranoia-float_OBJC_NARCHFILES)) + test-clib-math-paranoia-float_MOBJC_DTARGETS := $(addsuffix .d,$(test-clib-math-paranoia-float_OBJC_NARCHFILES)) + test-clib-math-paranoia-float_MOBJC_WILDCARD := % +else + test-clib-math-paranoia-float_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(test-clib-math-paranoia-float_OBJC_NARCHFILES))) + test-clib-math-paranoia-float_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(test-clib-math-paranoia-float_OBJC_NARCHFILES))) + test-clib-math-paranoia-float_MOBJC_WILDCARD := $(test-clib-math-paranoia-float_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-clib-math-paranoia-float_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-clib-math-paranoia-float_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-clib-math-paranoia-float_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-paranoia-float_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-clib-math-paranoia-float_MOBJC_DIRS := $(foreach dir, $(test-clib-math-paranoia-float_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-paranoia-float_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-clib-math-paranoia-float_MOBJC_DIRS),) + test-clib-math-paranoia-float_MOBJC_DIRS := $(shell echo $(test-clib-math-paranoia-float_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-clib-math-paranoia-float_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-clib-math-paranoia-float_CC := $(TARGET_CC) +else + test-clib-math-paranoia-float_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-clib-math-paranoia-float_MOBJC_CPPFLAGS := $(test-clib-math-paranoia-float_CPPFLAGS) +test-clib-math-paranoia-float_OBJCFLAGS := $(test-clib-math-paranoia-float_CFLAGS) +test-clib-math-paranoia-float_OBJCFLAGS := $(test-clib-math-paranoia-float_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-clib-math-paranoia-float_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-clib-math-paranoia-float_OBJCFLAGS))) +ifeq ($(test-clib-math-paranoia-float_DFLAGS),) + test-clib-math-paranoia-float_OBJCDFLAGS := $(test-clib-math-paranoia-float_CFLAGS) +else + test-clib-math-paranoia-float_OBJCDFLAGS := $(test-clib-math-paranoia-float_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-clib-math-paranoia-float_LINK ?= $(strip $(test-clib-math-paranoia-float_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-paranoia-float_STRIP ?= $(TARGET_STRIP) + test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : CMD:=$(strip $(test-clib-math-paranoia-float_CC) $(TARGET_SYSROOT)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_MOBJC_CPPFLAGS:=$(strip $(test-clib-math-paranoia-float_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-float_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_OBJCFLAGS:=$(strip $(test-clib-math-paranoia-float_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_OBJCDFLAGS:=$(test-clib-math-paranoia-float_OBJCDFLAGS) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-clib-math-paranoia-float_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-clib-math-paranoia-float_STRIP ?= $(HOST_STRIP) + test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-float_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-float_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-paranoia-float_OBJCFLAGS)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-paranoia-float_OBJCDFLAGS)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE:=$(HOST_IQUOTE) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-clib-math-paranoia-float_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-paranoia-float_STRIP ?= $(ECHO) >/dev/null + test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-float_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-float_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-paranoia-float_OBJCFLAGS)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-paranoia-float_OBJCDFLAGS)) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE:=$(KERNEL_IQUOTE) + $(test-clib-math-paranoia-float_MOBJC_TARGETS) $(test-clib-math-paranoia-float_MOBJC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-paranoia-float_MOBJC_TARGETS) : CPPFLAGS := $(test-clib-math-paranoia-float_MOBJC_CPPFLAGS) +$(test-clib-math-paranoia-float_MOBJC_TARGETS) : CFLAGS := $(test-clib-math-paranoia-float_OBJCFLAGS) +$(test-clib-math-paranoia-float_MOBJC_TARGETS) : $(test-clib-math-paranoia-float_MOBJC_WILDCARD).o : $(test-clib-math-paranoia-float_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-paranoia-float_IQUOTE) $(dir $<) $(test-clib-math-paranoia-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_IQUOTE) . $(test-clib-math-paranoia-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-paranoia-float_IQUOTE) $(dir $<) $(test-clib-math-paranoia-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_IQUOTE) . $(test-clib-math-paranoia-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-paranoia-float_IQUOTE) $(dir $<) $(test-clib-math-paranoia-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_IQUOTE) . $(test-clib-math-paranoia-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-paranoia-float_MOBJC_DTARGETS) : $(test-clib-math-paranoia-float_MOBJC_WILDCARD).d : $(test-clib-math-paranoia-float_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-paranoia-float_OBJCDFLAGS) $(test-clib-math-paranoia-float_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-clib-math-paranoia-float_MC_SRCWILDCARD := % +else +test-clib-math-paranoia-float_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-paranoia-float_OBJDIR),) +test-clib-math-paranoia-float_MC_TARGETS := $(addsuffix .o,$(test-clib-math-paranoia-float_C_NARCHFILES)) +test-clib-math-paranoia-float_MC_DTARGETS := $(addsuffix .d,$(test-clib-math-paranoia-float_C_NARCHFILES)) +test-clib-math-paranoia-float_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-clib-math-paranoia-float_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(notdir $(test-clib-math-paranoia-float_C_NARCHFILES)))) + test-clib-math-paranoia-float_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(notdir $(test-clib-math-paranoia-float_C_NARCHFILES)))) +else +ifeq (,) + test-clib-math-paranoia-float_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(test-clib-math-paranoia-float_C_NARCHFILES))) + test-clib-math-paranoia-float_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(test-clib-math-paranoia-float_C_NARCHFILES))) +else + test-clib-math-paranoia-float_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-paranoia-float_C_NARCHFILES)))) + test-clib-math-paranoia-float_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-paranoia-float_C_NARCHFILES)))) +endif +endif +test-clib-math-paranoia-float_MC_TGTWILDCARD := $(test-clib-math-paranoia-float_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : | $(addsuffix .c,$(test-clib-math-paranoia-float_C_NARCHFILES)) + +# Be sure that all .c files are found +test-clib-math-paranoia-float_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-paranoia-float_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-paranoia-float_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-paranoia-float_MC_DIRS := $(foreach dir, $(test-clib-math-paranoia-float_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-paranoia-float_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-paranoia-float_MC_DIRS),) + test-clib-math-paranoia-float_MC_DIRS := $(shell echo $(test-clib-math-paranoia-float_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-clib-math-paranoia-float_MC_DIRS) +endif + +endif + +test-clib-math-paranoia-float_MC_CPPFLAGS := $(test-clib-math-paranoia-float_CPPFLAGS) +test-clib-math-paranoia-float_CFLAGS := $(test-clib-math-paranoia-float_CFLAGS) +ifeq ($(test-clib-math-paranoia-float_DFLAGS),) + test-clib-math-paranoia-float_DFLAGS := $(test-clib-math-paranoia-float_CFLAGS) +else + test-clib-math-paranoia-float_DFLAGS := $(test-clib-math-paranoia-float_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-clib-math-paranoia-float_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-clib-math-paranoia-float_STRIP ?= $(TARGET_STRIP) +test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_MC_CPPFLAGS:=$(strip $(test-clib-math-paranoia-float_MC_CPPFLAGS) $(test-clib-math-paranoia-float_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_CFLAGS:=$(strip $(test-clib-math-paranoia-float_CFLAGS) $(SAFETY_CFLAGS)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_DFLAGS:=$(test-clib-math-paranoia-float_DFLAGS) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-clib-math-paranoia-float_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-clib-math-paranoia-float_STRIP ?= $(HOST_STRIP) +test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-clib-math-paranoia-float_MC_CPPFLAGS) $(test-clib-math-paranoia-float_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-paranoia-float_CFLAGS)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-paranoia-float_DFLAGS)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE:=$(HOST_IQUOTE) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-clib-math-paranoia-float_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-clib-math-paranoia-float_STRIP ?= $(ECHO) >/dev/null +test-clib-math-paranoia-float_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-clib-math-paranoia-float_MC_CPPFLAGS) $(test-clib-math-paranoia-float_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-paranoia-float_CFLAGS)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-paranoia-float_DFLAGS)) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE:=$(KERNEL_IQUOTE) +$(test-clib-math-paranoia-float_MC_TARGETS) $(test-clib-math-paranoia-float_MC_DTARGETS) : test-clib-math-paranoia-float_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-paranoia-float_MC_TARGETS) : CPPFLAGS := $(test-clib-math-paranoia-float_MC_CPPFLAGS) +$(test-clib-math-paranoia-float_MC_TARGETS) : CFLAGS := $(test-clib-math-paranoia-float_CFLAGS) +$(test-clib-math-paranoia-float_MC_TARGETS) : $(test-clib-math-paranoia-float_MC_TGTWILDCARD).o : $(test-clib-math-paranoia-float_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-paranoia-float_IQUOTE) $(dir $<) $(test-clib-math-paranoia-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_IQUOTE) . $(test-clib-math-paranoia-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-paranoia-float_IQUOTE) $(dir $<) $(test-clib-math-paranoia-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_IQUOTE) . $(test-clib-math-paranoia-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-paranoia-float_IQUOTE) $(dir $<) $(test-clib-math-paranoia-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-float_IQUOTE) . $(test-clib-math-paranoia-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-paranoia-float_MC_DTARGETS) : $(test-clib-math-paranoia-float_MC_TGTWILDCARD).d : $(test-clib-math-paranoia-float_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-paranoia-float_DFLAGS) $(test-clib-math-paranoia-float_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-clib-math-paranoia-float_OBJDIR),) +test-clib-math-paranoia-float-MA_TARGETS := $(addsuffix .o,$(test-clib-math-paranoia-float_ASMFILES)) +test-clib-math-paranoia-float-MA_WILDCARD := % +else +test-clib-math-paranoia-float-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-float_OBJDIR)/,$(notdir $(test-clib-math-paranoia-float_ASMFILES)))) +test-clib-math-paranoia-float-MA_WILDCARD := $(test-clib-math-paranoia-float_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-clib-math-paranoia-float-MA_TARGETS) : | $(addsuffix .s,$(test-clib-math-paranoia-float_ASMFILES)) + +# Be sure that all .c files are found +test-clib-math-paranoia-float-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-paranoia-float-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-paranoia-float_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-paranoia-float-MA_DIRS := $(foreach dir, $(test-clib-math-paranoia-float-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-paranoia-float-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-paranoia-float-MA_DIRS),) + test-clib-math-paranoia-float-MA_DIRS := $(shell echo $(test-clib-math-paranoia-float-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-clib-math-paranoia-float-MA_DIRS) +endif + +endif + +test-clib-math-paranoia-float-MA_ASSEMBLER ?= $(test-clib-math-paranoia-float_ASSEMBLER) + +$(test-clib-math-paranoia-float-MA_TARGETS) : test-clib-math-paranoia-float-MA_CMD:= $(test-clib-math-paranoia-float-MA_ASSEMBLER) + +$(test-clib-math-paranoia-float-MA_TARGETS) : CPPFLAGS := $(test-clib-math-paranoia-float_CPPFLAGS) +$(test-clib-math-paranoia-float-MA_TARGETS) : AFLAGS := $(test-clib-math-paranoia-float_AFLAGS) +$(test-clib-math-paranoia-float-MA_TARGETS) : $(test-clib-math-paranoia-float-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-clib-math-paranoia-float-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-clib-math-paranoia-float-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-clib-math-paranoia-float-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-clib-math-paranoia-float-link_EXTRA_LDFLAGS := +test-clib-math-paranoia-float-link_EXTRA_LIBS := +ifeq (no,yes) + test-clib-math-paranoia-float-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-clib-math-paranoia-float-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-clib-math-paranoia-float-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-clib-math-paranoia-float-link_DIRS := $(subst -L ,-L,$(strip $(test-clib-math-paranoia-float_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-clib-math-paranoia-float-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-clib-math-paranoia-float-link_DIRS))) +# Add trailing / +test-clib-math-paranoia-float-link_DIRS := $(subst //,/,$(addsuffix /,$(test-clib-math-paranoia-float-link_DIRS))) +# Add normal linklib path +test-clib-math-paranoia-float-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-clib-math-paranoia-float-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-clib-math-paranoia-float_LIBS) $(test-clib-math-paranoia-float-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-clib-math-paranoia-float-link_LIBS += startup.o +endif +ifeq (no,yes) + test-clib-math-paranoia-float-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-clib-math-paranoia-float-link_DEPLIBS := $(foreach lib,$(test-clib-math-paranoia-float-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-clib-math-paranoia-float-link_DIRS)))) \ +) + +$(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) : OBJDIR := $(test-clib-math-paranoia-float_OBJDIR) +$(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) : OBJS := $(test-clib-math-paranoia-float_OBJS) $(test-clib-math-paranoia-float_ARCHOBJS) $(USER_OBJS) +$(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) : LDFLAGS := $(strip $(test-clib-math-paranoia-float_LDFLAGS) $(test-clib-math-paranoia-float-link_EXTRA_LDFLAGS)) +$(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) : LIBS := $(addprefix -l,$(test-clib-math-paranoia-float_LIBS) $(test-clib-math-paranoia-float-link_EXTRA_LIBS) ) +$(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) : $(test-clib-math-paranoia-float_OBJS) $(test-clib-math-paranoia-float_ARCHOBJS) $(USER_OBJS) $(test-clib-math-paranoia-float-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-clib-math-paranoia-float_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-clib-math-paranoia-float_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-clib-math-paranoia-float_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-paranoia-float_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-clib-math-paranoia-float_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-clib-math-paranoia-float_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-paranoia-float_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-clib-math-paranoia-float_DEPS),) + ifneq (test-clib-math-paranoia-float test-clib-math-paranoia-float-quick,) + ifneq ($(findstring $(TARGET),test-clib-math-paranoia-float test-clib-math-paranoia-float-quick),) + -include $(test-clib-math-paranoia-float_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-clib-math-paranoia-float_DEPS) + endif + endif +endif + + +ifneq ($(test-clib-math-paranoia-float_OBJS) $(test-clib-math-paranoia-float_DEPS) $(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME),) +$(test-clib-math-paranoia-float_OBJS) $(test-clib-math-paranoia-float_DEPS) $(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) : | $(test-clib-math-paranoia-float_OBJDIR) $(test-clib-math-paranoia-float_TARGETDIR) +else +$(test-clib-math-paranoia-float_OBJS) $(test-clib-math-paranoia-float_DEPS) $(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) :: $(test-clib-math-paranoia-float_OBJDIR) $(test-clib-math-paranoia-float_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-clib-math-paranoia-float_OBJDIR) $(test-clib-math-paranoia-float_TARGETDIR) + + +test-clib-math-paranoia-float-clean : FILES := $(test-clib-math-paranoia-float_OBJS) $(test-clib-math-paranoia-float_TARGETDIR)/$(test-clib-math-paranoia-float_PROGNAME) $(test-clib-math-paranoia-float_DEPS) +#MM +test-clib-math-paranoia-float-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-clib-math-paranoia-float" + $(Q)$(RM) $(FILES) + + +USER_CPPFLAGS = + + +.PHONY : test-clib-math-paranoia-double + +test-clib-math-paranoia-double_PROGNAME := math-paranoia-double +test-clib-math-paranoia-double_OBJDIR := $(GENDIR)/$(CURDIR)/double +test-clib-math-paranoia-double_TARGETDIR := $(EXEDIR) +test-clib-math-paranoia-double_LINKER := +test-clib-math-paranoia-double_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-clib-math-paranoia-double_LINKER),) + test-clib-math-paranoia-double_LINKER := target +endif + +ifneq ("$(strip $(FILESPARANOIA) )","") + test-clib-math-paranoia-double_FILES := $(FILESPARANOIA) + test-clib-math-paranoia-double_OBJCFILES := + test-clib-math-paranoia-double_ASMFILES := + test-clib-math-paranoia-double_CXXFILES := +else + test-clib-math-paranoia-double_FILES := $(test-clib-math-paranoia-double_PROGNAME) + test-clib-math-paranoia-double_OBJCFILES := + test-clib-math-paranoia-double_ASMFILES := + test-clib-math-paranoia-double_CXXFILES := +endif + +test-clib-math-paranoia-double_ARCHOBJS := $(wildcard $(test-clib-math-paranoia-double_OBJDIR)/arch/*.o) +test-clib-math-paranoia-double_ARCHFILES := $(basename $(notdir $(test-clib-math-paranoia-double_ARCHOBJS))) +test-clib-math-paranoia-double_C_NARCHFILES := $(filter-out $(test-clib-math-paranoia-double_ARCHFILES),$(test-clib-math-paranoia-double_FILES)) +test-clib-math-paranoia-double_CXX_NARCHFILES := $(filter-out $(test-clib-math-paranoia-double_ARCHFILES),$(test-clib-math-paranoia-double_CXXFILES)) +test-clib-math-paranoia-double_OBJC_NARCHFILES := $(filter-out $(test-clib-math-paranoia-double_ARCHFILES),$(test-clib-math-paranoia-double_OBJCFILES)) + +TMP_FILES := $(test-clib-math-paranoia-double_C_NARCHFILES) $(test-clib-math-paranoia-double_CXX_NARCHFILES) $(test-clib-math-paranoia-double_ASMFILES) $(test-clib-math-paranoia-double_OBJC_NARCHFILES) +test-clib-math-paranoia-double_OBJS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-clib-math-paranoia-double_DEPS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-clib-math-paranoia-double_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-clib-math-paranoia-double_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-paranoia-double_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-clib-math-paranoia-double_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-clib-math-paranoia-double_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-clib-math-paranoia-double_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-paranoia-double_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-clib-math-paranoia-double_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-clib-math-paranoia-double_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-clib-math-paranoia-double_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-paranoia-double_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-clib-math-paranoia-double_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-clib-math-paranoia-double_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-clib-math-paranoia-double_LDFLAGS := +endif + +test-clib-math-paranoia-double_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-clib-math-paranoia-double_COVERAGE := yes +test-clib-math-paranoia-double_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-clib-math-paranoia-double_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-clib-math-paranoia-double_CFLAGS := $(strip $(test-clib-math-paranoia-double_COVERAGEFLAGS) $(test-clib-math-paranoia-double_CFLAGS)) +test-clib-math-paranoia-double_CXXFLAGS := $(strip $(test-clib-math-paranoia-double_COVERAGEFLAGS) $(test-clib-math-paranoia-double_CXXFLAGS)) +test-clib-math-paranoia-double_LIBS += $(test-clib-math-paranoia-double_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-clib-math-paranoia-double_FUNCINSTR := yes +test-clib-math-paranoia-double_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-clib-math-paranoia-double_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-clib-math-paranoia-double_CFLAGS := $(strip $(test-clib-math-paranoia-double_INSTRFUNCFLAGS) $(test-clib-math-paranoia-double_CFLAGS)) +test-clib-math-paranoia-double_CXXFLAGS := $(strip $(test-clib-math-paranoia-double_INSTRFUNCFLAGS) $(test-clib-math-paranoia-double_CXXFLAGS)) +test-clib-math-paranoia-double_LIBS += $(test-clib-math-paranoia-double_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-clib-math-paranoia-double_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-paranoia-double_CFLAGS)) +test-clib-math-paranoia-double_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-paranoia-double_CXXFLAGS)) +endif +endif +test-clib-math-paranoia-double_AFLAGS := $(AFLAGS) +ifneq (,) + test-clib-math-paranoia-double_DFLAGS := +else + test-clib-math-paranoia-double_DFLAGS := $(test-clib-math-paranoia-double_CFLAGS) +endif +ifneq (,) + test-clib-math-paranoia-double_DXXFLAGS := +else + test-clib-math-paranoia-double_DXXFLAGS := $(test-clib-math-paranoia-double_CXXFLAGS) +endif +ifeq (target,target) +test-clib-math-paranoia-double_LDFLAGS := $(test-clib-math-paranoia-double_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-clib-math-paranoia-double_LDFLAGS := $(test-clib-math-paranoia-double_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-clib-math-paranoia-double_LDFLAGS := $(test-clib-math-paranoia-double_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-clib-math-paranoia-double_LDFLAGS += -L +endif + +#MM +test-clib-math-paranoia-double-quick : test-clib-math-paranoia-double + +#MM test-clib-math-paranoia-double : includes-generate-deps core-linklibs +test-clib-math-paranoia-double : $(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) + +ifneq ($(filter $(TARGET),test-clib-math-paranoia-double test-clib-math-paranoia-double-quick test-clib-math-paranoia-double-gz-quick),) + +test-clib-math-paranoia-double_CXXABSBASENAMES := $(foreach test-clib-math-paranoia-double_CXXBASE,$(test-clib-math-paranoia-double_CXX_NARCHFILES),$(if $(filter /%,$(test-clib-math-paranoia-double_CXXBASE)),$(test-clib-math-paranoia-double_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-clib-math-paranoia-double_CXXBASE)))) + +ifneq ($(test-clib-math-paranoia-double_CXXABSBASENAMES),) + +test-clib-math-paranoia-double_CXXBASENAMES := $(basename $(test-clib-math-paranoia-double_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-clib-math-paranoia-double_MCXX_FILES := $(strip $(foreach test-clib-math-paranoia-double_CXXBASE,$(test-clib-math-paranoia-double_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-clib-math-paranoia-double_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-clib-math-paranoia-double_EXT),$(test-clib-math-paranoia-double_CXXBASE))))))) + +ifeq (,) +test-clib-math-paranoia-double_MCXX_SRCWILDCARD := % +else +test-clib-math-paranoia-double_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-paranoia-double_OBJDIR),) + test-clib-math-paranoia-double_CXXTARGETS := $(notdir $(test-clib-math-paranoia-double_CXXBASENAMES:=.o)) + test-clib-math-paranoia-double_CXXDTARGETS := $(notdir $(test-clib-math-paranoia-double_CXXBASENAMES:=.d)) + test-clib-math-paranoia-double_MCXX_WILDCARD := % +else + test-clib-math-paranoia-double_CXXTARGETS := $(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(notdir $(test-clib-math-paranoia-double_CXXBASENAMES:=.o))) + test-clib-math-paranoia-double_CXXDTARGETS := $(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(notdir $(test-clib-math-paranoia-double_CXXBASENAMES:=.d))) + test-clib-math-paranoia-double_MCXX_WILDCARD := $(test-clib-math-paranoia-double_OBJDIR)/% + + # Be sure that all source files are generated + $(test-clib-math-paranoia-double_CXXTARGETS) $(test-clib-math-paranoia-double_CXXDTARGETS) : | $(test-clib-math-paranoia-double_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-clib-math-paranoia-double_MCXX_CPPFLAGS := $(test-clib-math-paranoia-double_CPPFLAGS) +test-clib-math-paranoia-double_CXXFLAGS := $(test-clib-math-paranoia-double_CXXFLAGS) +ifeq ($(test-clib-math-paranoia-double_DXXFLAGS),) + test-clib-math-paranoia-double_DXXFLAGS := $(test-clib-math-paranoia-double_CXXFLAGS) +else + test-clib-math-paranoia-double_DXXFLAGS := $(test-clib-math-paranoia-double_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-clib-math-paranoia-double_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-clib-math-paranoia-double_STRIP ?= $(HOST_STRIP) + test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-clib-math-paranoia-double_CXXCMD:=$(HOST_CXX) + test-clib-math-paranoia-double_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-clib-math-paranoia-double_MCXX_CPPFLAGS) $(test-clib-math-paranoia-double_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-paranoia-double_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-paranoia-double_CXXFLAGS)) + test-clib-math-paranoia-double_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-paranoia-double_DXXFLAGS)) + test-clib-math-paranoia-double_CXXIQUOTE:=$(HOST_IQUOTE) + test-clib-math-paranoia-double_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-clib-math-paranoia-double_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-paranoia-double_STRIP ?= $(TARGET_STRIP) + test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-clib-math-paranoia-double_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-clib-math-paranoia-double_MCXX_CPPFLAGS := $(strip $(test-clib-math-paranoia-double_MCXX_CPPFLAGS) $(test-clib-math-paranoia-double_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-paranoia-double_CXXFLAGS := $(strip $(test-clib-math-paranoia-double_CXXFLAGS) $(SAFETY_CFLAGS)) + test-clib-math-paranoia-double_DXXFLAGS := $(test-clib-math-paranoia-double_DXXFLAGS) + test-clib-math-paranoia-double_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-clib-math-paranoia-double_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-clib-math-paranoia-double_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-paranoia-double_STRIP ?= $(ECHO) >/dev/null + test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-clib-math-paranoia-double_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-clib-math-paranoia-double_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-clib-math-paranoia-double_MCXX_CPPFLAGS) $(test-clib-math-paranoia-double_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-paranoia-double_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-paranoia-double_CXXFLAGS)) + test-clib-math-paranoia-double_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-paranoia-double_DXXFLAGS)) + test-clib-math-paranoia-double_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-clib-math-paranoia-double_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-clib-math-paranoia-double_CXXCMD) $(test-clib-math-paranoia-double_CXXIQUOTE) $(dir $(2)) $(test-clib-math-paranoia-double_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_CXXIQUOTE) . $(test-clib-math-paranoia-double_CXXIQUOTE_END) $(strip $(test-clib-math-paranoia-double_CXXFLAGS) $(test-clib-math-paranoia-double_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-clib-math-paranoia-double_CXXCMD) $(test-clib-math-paranoia-double_CXXIQUOTE) $(dir $(2)) $(test-clib-math-paranoia-double_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_CXXIQUOTE) . $(test-clib-math-paranoia-double_CXXIQUOTE_END) $(strip $(test-clib-math-paranoia-double_CXXFLAGS) $(test-clib-math-paranoia-double_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-clib-math-paranoia-double_CXXCMD) $(test-clib-math-paranoia-double_CXXIQUOTE) $(dir $(2)) $(test-clib-math-paranoia-double_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_CXXIQUOTE) . $(test-clib-math-paranoia-double_CXXIQUOTE_END) $(strip $(test-clib-math-paranoia-double_CXXFLAGS) $(test-clib-math-paranoia-double_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-clib-math-paranoia-double_CXXCMD)" $(MKDEPEND) $(strip $(test-clib-math-paranoia-double_DXXFLAGS) $(test-clib-math-paranoia-double_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-clib-math-paranoia-double_OBJDIR),) + $(foreach test-clib-math-paranoia-double_CXXFILE,$(test-clib-math-paranoia-double_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-clib-math-paranoia-double_CXXFILE))),$(test-clib-math-paranoia-double_CXXFILE)))) +else + $(foreach test-clib-math-paranoia-double_CXXFILE,$(test-clib-math-paranoia-double_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(notdir $(basename $(test-clib-math-paranoia-double_CXXFILE)))),$(test-clib-math-paranoia-double_CXXFILE)))) +endif + +endif + + +ifneq ($(test-clib-math-paranoia-double_OBJC_NARCHFILES),) + +ifeq (,) +test-clib-math-paranoia-double_MOBJC_SRCWILDCARD := % +else +test-clib-math-paranoia-double_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-paranoia-double_OBJDIR),) + test-clib-math-paranoia-double_MOBJC_TARGETS := $(addsuffix .o,$(test-clib-math-paranoia-double_OBJC_NARCHFILES)) + test-clib-math-paranoia-double_MOBJC_DTARGETS := $(addsuffix .d,$(test-clib-math-paranoia-double_OBJC_NARCHFILES)) + test-clib-math-paranoia-double_MOBJC_WILDCARD := % +else + test-clib-math-paranoia-double_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(test-clib-math-paranoia-double_OBJC_NARCHFILES))) + test-clib-math-paranoia-double_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(test-clib-math-paranoia-double_OBJC_NARCHFILES))) + test-clib-math-paranoia-double_MOBJC_WILDCARD := $(test-clib-math-paranoia-double_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-clib-math-paranoia-double_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-clib-math-paranoia-double_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-clib-math-paranoia-double_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-paranoia-double_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-clib-math-paranoia-double_MOBJC_DIRS := $(foreach dir, $(test-clib-math-paranoia-double_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-paranoia-double_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-clib-math-paranoia-double_MOBJC_DIRS),) + test-clib-math-paranoia-double_MOBJC_DIRS := $(shell echo $(test-clib-math-paranoia-double_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-clib-math-paranoia-double_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-clib-math-paranoia-double_CC := $(TARGET_CC) +else + test-clib-math-paranoia-double_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-clib-math-paranoia-double_MOBJC_CPPFLAGS := $(test-clib-math-paranoia-double_CPPFLAGS) +test-clib-math-paranoia-double_OBJCFLAGS := $(test-clib-math-paranoia-double_CFLAGS) +test-clib-math-paranoia-double_OBJCFLAGS := $(test-clib-math-paranoia-double_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-clib-math-paranoia-double_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-clib-math-paranoia-double_OBJCFLAGS))) +ifeq ($(test-clib-math-paranoia-double_DFLAGS),) + test-clib-math-paranoia-double_OBJCDFLAGS := $(test-clib-math-paranoia-double_CFLAGS) +else + test-clib-math-paranoia-double_OBJCDFLAGS := $(test-clib-math-paranoia-double_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-clib-math-paranoia-double_LINK ?= $(strip $(test-clib-math-paranoia-double_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-paranoia-double_STRIP ?= $(TARGET_STRIP) + test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : CMD:=$(strip $(test-clib-math-paranoia-double_CC) $(TARGET_SYSROOT)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_MOBJC_CPPFLAGS:=$(strip $(test-clib-math-paranoia-double_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-double_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_OBJCFLAGS:=$(strip $(test-clib-math-paranoia-double_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_OBJCDFLAGS:=$(test-clib-math-paranoia-double_OBJCDFLAGS) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-clib-math-paranoia-double_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-clib-math-paranoia-double_STRIP ?= $(HOST_STRIP) + test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-double_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-double_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-paranoia-double_OBJCFLAGS)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-paranoia-double_OBJCDFLAGS)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE:=$(HOST_IQUOTE) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-clib-math-paranoia-double_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-paranoia-double_STRIP ?= $(ECHO) >/dev/null + test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-double_MOBJC_CPPFLAGS) $(test-clib-math-paranoia-double_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-paranoia-double_OBJCFLAGS)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-paranoia-double_OBJCDFLAGS)) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE:=$(KERNEL_IQUOTE) + $(test-clib-math-paranoia-double_MOBJC_TARGETS) $(test-clib-math-paranoia-double_MOBJC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-paranoia-double_MOBJC_TARGETS) : CPPFLAGS := $(test-clib-math-paranoia-double_MOBJC_CPPFLAGS) +$(test-clib-math-paranoia-double_MOBJC_TARGETS) : CFLAGS := $(test-clib-math-paranoia-double_OBJCFLAGS) +$(test-clib-math-paranoia-double_MOBJC_TARGETS) : $(test-clib-math-paranoia-double_MOBJC_WILDCARD).o : $(test-clib-math-paranoia-double_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-paranoia-double_IQUOTE) $(dir $<) $(test-clib-math-paranoia-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_IQUOTE) . $(test-clib-math-paranoia-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-paranoia-double_IQUOTE) $(dir $<) $(test-clib-math-paranoia-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_IQUOTE) . $(test-clib-math-paranoia-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-paranoia-double_IQUOTE) $(dir $<) $(test-clib-math-paranoia-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_IQUOTE) . $(test-clib-math-paranoia-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-paranoia-double_MOBJC_DTARGETS) : $(test-clib-math-paranoia-double_MOBJC_WILDCARD).d : $(test-clib-math-paranoia-double_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-paranoia-double_OBJCDFLAGS) $(test-clib-math-paranoia-double_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-clib-math-paranoia-double_MC_SRCWILDCARD := % +else +test-clib-math-paranoia-double_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-paranoia-double_OBJDIR),) +test-clib-math-paranoia-double_MC_TARGETS := $(addsuffix .o,$(test-clib-math-paranoia-double_C_NARCHFILES)) +test-clib-math-paranoia-double_MC_DTARGETS := $(addsuffix .d,$(test-clib-math-paranoia-double_C_NARCHFILES)) +test-clib-math-paranoia-double_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-clib-math-paranoia-double_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(notdir $(test-clib-math-paranoia-double_C_NARCHFILES)))) + test-clib-math-paranoia-double_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(notdir $(test-clib-math-paranoia-double_C_NARCHFILES)))) +else +ifeq (,) + test-clib-math-paranoia-double_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(test-clib-math-paranoia-double_C_NARCHFILES))) + test-clib-math-paranoia-double_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(test-clib-math-paranoia-double_C_NARCHFILES))) +else + test-clib-math-paranoia-double_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-paranoia-double_C_NARCHFILES)))) + test-clib-math-paranoia-double_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-paranoia-double_C_NARCHFILES)))) +endif +endif +test-clib-math-paranoia-double_MC_TGTWILDCARD := $(test-clib-math-paranoia-double_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : | $(addsuffix .c,$(test-clib-math-paranoia-double_C_NARCHFILES)) + +# Be sure that all .c files are found +test-clib-math-paranoia-double_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-paranoia-double_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-paranoia-double_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-paranoia-double_MC_DIRS := $(foreach dir, $(test-clib-math-paranoia-double_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-paranoia-double_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-paranoia-double_MC_DIRS),) + test-clib-math-paranoia-double_MC_DIRS := $(shell echo $(test-clib-math-paranoia-double_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-clib-math-paranoia-double_MC_DIRS) +endif + +endif + +test-clib-math-paranoia-double_MC_CPPFLAGS := $(test-clib-math-paranoia-double_CPPFLAGS) +test-clib-math-paranoia-double_CFLAGS := $(test-clib-math-paranoia-double_CFLAGS) +ifeq ($(test-clib-math-paranoia-double_DFLAGS),) + test-clib-math-paranoia-double_DFLAGS := $(test-clib-math-paranoia-double_CFLAGS) +else + test-clib-math-paranoia-double_DFLAGS := $(test-clib-math-paranoia-double_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-clib-math-paranoia-double_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-clib-math-paranoia-double_STRIP ?= $(TARGET_STRIP) +test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_MC_CPPFLAGS:=$(strip $(test-clib-math-paranoia-double_MC_CPPFLAGS) $(test-clib-math-paranoia-double_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_CFLAGS:=$(strip $(test-clib-math-paranoia-double_CFLAGS) $(SAFETY_CFLAGS)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_DFLAGS:=$(test-clib-math-paranoia-double_DFLAGS) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-clib-math-paranoia-double_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-clib-math-paranoia-double_STRIP ?= $(HOST_STRIP) +test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-clib-math-paranoia-double_MC_CPPFLAGS) $(test-clib-math-paranoia-double_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-paranoia-double_CFLAGS)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-paranoia-double_DFLAGS)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE:=$(HOST_IQUOTE) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-clib-math-paranoia-double_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-clib-math-paranoia-double_STRIP ?= $(ECHO) >/dev/null +test-clib-math-paranoia-double_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-clib-math-paranoia-double_MC_CPPFLAGS) $(test-clib-math-paranoia-double_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-paranoia-double_CFLAGS)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-paranoia-double_DFLAGS)) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE:=$(KERNEL_IQUOTE) +$(test-clib-math-paranoia-double_MC_TARGETS) $(test-clib-math-paranoia-double_MC_DTARGETS) : test-clib-math-paranoia-double_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-paranoia-double_MC_TARGETS) : CPPFLAGS := $(test-clib-math-paranoia-double_MC_CPPFLAGS) +$(test-clib-math-paranoia-double_MC_TARGETS) : CFLAGS := $(test-clib-math-paranoia-double_CFLAGS) +$(test-clib-math-paranoia-double_MC_TARGETS) : $(test-clib-math-paranoia-double_MC_TGTWILDCARD).o : $(test-clib-math-paranoia-double_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-paranoia-double_IQUOTE) $(dir $<) $(test-clib-math-paranoia-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_IQUOTE) . $(test-clib-math-paranoia-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-paranoia-double_IQUOTE) $(dir $<) $(test-clib-math-paranoia-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_IQUOTE) . $(test-clib-math-paranoia-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-paranoia-double_IQUOTE) $(dir $<) $(test-clib-math-paranoia-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-paranoia-double_IQUOTE) . $(test-clib-math-paranoia-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-paranoia-double_MC_DTARGETS) : $(test-clib-math-paranoia-double_MC_TGTWILDCARD).d : $(test-clib-math-paranoia-double_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-paranoia-double_DFLAGS) $(test-clib-math-paranoia-double_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-clib-math-paranoia-double_OBJDIR),) +test-clib-math-paranoia-double-MA_TARGETS := $(addsuffix .o,$(test-clib-math-paranoia-double_ASMFILES)) +test-clib-math-paranoia-double-MA_WILDCARD := % +else +test-clib-math-paranoia-double-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-paranoia-double_OBJDIR)/,$(notdir $(test-clib-math-paranoia-double_ASMFILES)))) +test-clib-math-paranoia-double-MA_WILDCARD := $(test-clib-math-paranoia-double_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-clib-math-paranoia-double-MA_TARGETS) : | $(addsuffix .s,$(test-clib-math-paranoia-double_ASMFILES)) + +# Be sure that all .c files are found +test-clib-math-paranoia-double-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-paranoia-double-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-paranoia-double_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-paranoia-double-MA_DIRS := $(foreach dir, $(test-clib-math-paranoia-double-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-paranoia-double-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-paranoia-double-MA_DIRS),) + test-clib-math-paranoia-double-MA_DIRS := $(shell echo $(test-clib-math-paranoia-double-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-clib-math-paranoia-double-MA_DIRS) +endif + +endif + +test-clib-math-paranoia-double-MA_ASSEMBLER ?= $(test-clib-math-paranoia-double_ASSEMBLER) + +$(test-clib-math-paranoia-double-MA_TARGETS) : test-clib-math-paranoia-double-MA_CMD:= $(test-clib-math-paranoia-double-MA_ASSEMBLER) + +$(test-clib-math-paranoia-double-MA_TARGETS) : CPPFLAGS := $(test-clib-math-paranoia-double_CPPFLAGS) +$(test-clib-math-paranoia-double-MA_TARGETS) : AFLAGS := $(test-clib-math-paranoia-double_AFLAGS) +$(test-clib-math-paranoia-double-MA_TARGETS) : $(test-clib-math-paranoia-double-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-clib-math-paranoia-double-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-clib-math-paranoia-double-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-clib-math-paranoia-double-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-clib-math-paranoia-double-link_EXTRA_LDFLAGS := +test-clib-math-paranoia-double-link_EXTRA_LIBS := +ifeq (no,yes) + test-clib-math-paranoia-double-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-clib-math-paranoia-double-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-clib-math-paranoia-double-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-clib-math-paranoia-double-link_DIRS := $(subst -L ,-L,$(strip $(test-clib-math-paranoia-double_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-clib-math-paranoia-double-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-clib-math-paranoia-double-link_DIRS))) +# Add trailing / +test-clib-math-paranoia-double-link_DIRS := $(subst //,/,$(addsuffix /,$(test-clib-math-paranoia-double-link_DIRS))) +# Add normal linklib path +test-clib-math-paranoia-double-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-clib-math-paranoia-double-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-clib-math-paranoia-double_LIBS) $(test-clib-math-paranoia-double-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-clib-math-paranoia-double-link_LIBS += startup.o +endif +ifeq (no,yes) + test-clib-math-paranoia-double-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-clib-math-paranoia-double-link_DEPLIBS := $(foreach lib,$(test-clib-math-paranoia-double-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-clib-math-paranoia-double-link_DIRS)))) \ +) + +$(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) : OBJDIR := $(test-clib-math-paranoia-double_OBJDIR) +$(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) : OBJS := $(test-clib-math-paranoia-double_OBJS) $(test-clib-math-paranoia-double_ARCHOBJS) $(USER_OBJS) +$(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) : LDFLAGS := $(strip $(test-clib-math-paranoia-double_LDFLAGS) $(test-clib-math-paranoia-double-link_EXTRA_LDFLAGS)) +$(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) : LIBS := $(addprefix -l,$(test-clib-math-paranoia-double_LIBS) $(test-clib-math-paranoia-double-link_EXTRA_LIBS) ) +$(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) : $(test-clib-math-paranoia-double_OBJS) $(test-clib-math-paranoia-double_ARCHOBJS) $(USER_OBJS) $(test-clib-math-paranoia-double-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-clib-math-paranoia-double_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-clib-math-paranoia-double_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-clib-math-paranoia-double_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-paranoia-double_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-clib-math-paranoia-double_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-clib-math-paranoia-double_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-paranoia-double_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-clib-math-paranoia-double_DEPS),) + ifneq (test-clib-math-paranoia-double test-clib-math-paranoia-double-quick,) + ifneq ($(findstring $(TARGET),test-clib-math-paranoia-double test-clib-math-paranoia-double-quick),) + -include $(test-clib-math-paranoia-double_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-clib-math-paranoia-double_DEPS) + endif + endif +endif + + +ifneq ($(test-clib-math-paranoia-double_OBJS) $(test-clib-math-paranoia-double_DEPS) $(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME),) +$(test-clib-math-paranoia-double_OBJS) $(test-clib-math-paranoia-double_DEPS) $(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) : | $(test-clib-math-paranoia-double_OBJDIR) $(test-clib-math-paranoia-double_TARGETDIR) +else +$(test-clib-math-paranoia-double_OBJS) $(test-clib-math-paranoia-double_DEPS) $(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) :: $(test-clib-math-paranoia-double_OBJDIR) $(test-clib-math-paranoia-double_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-clib-math-paranoia-double_OBJDIR) $(test-clib-math-paranoia-double_TARGETDIR) + + +test-clib-math-paranoia-double-clean : FILES := $(test-clib-math-paranoia-double_OBJS) $(test-clib-math-paranoia-double_TARGETDIR)/$(test-clib-math-paranoia-double_PROGNAME) $(test-clib-math-paranoia-double_DEPS) +#MM +test-clib-math-paranoia-double-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-clib-math-paranoia-double" + $(Q)$(RM) $(FILES) + + +USER_CPPFLAGS = -DNO_STRICT_DFL_ENV + + +.PHONY : test-clib-math-fenv + +test-clib-math-fenv_PROGNAME := math-fenv +test-clib-math-fenv_OBJDIR := $(GENDIR)/$(CURDIR) +test-clib-math-fenv_TARGETDIR := $(EXEDIR) +test-clib-math-fenv_LINKER := +test-clib-math-fenv_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-clib-math-fenv_LINKER),) + test-clib-math-fenv_LINKER := target +endif + +ifneq ("$(strip $(FILESFENV) )","") + test-clib-math-fenv_FILES := $(FILESFENV) + test-clib-math-fenv_OBJCFILES := + test-clib-math-fenv_ASMFILES := + test-clib-math-fenv_CXXFILES := +else + test-clib-math-fenv_FILES := $(test-clib-math-fenv_PROGNAME) + test-clib-math-fenv_OBJCFILES := + test-clib-math-fenv_ASMFILES := + test-clib-math-fenv_CXXFILES := +endif + +test-clib-math-fenv_ARCHOBJS := $(wildcard $(test-clib-math-fenv_OBJDIR)/arch/*.o) +test-clib-math-fenv_ARCHFILES := $(basename $(notdir $(test-clib-math-fenv_ARCHOBJS))) +test-clib-math-fenv_C_NARCHFILES := $(filter-out $(test-clib-math-fenv_ARCHFILES),$(test-clib-math-fenv_FILES)) +test-clib-math-fenv_CXX_NARCHFILES := $(filter-out $(test-clib-math-fenv_ARCHFILES),$(test-clib-math-fenv_CXXFILES)) +test-clib-math-fenv_OBJC_NARCHFILES := $(filter-out $(test-clib-math-fenv_ARCHFILES),$(test-clib-math-fenv_OBJCFILES)) + +TMP_FILES := $(test-clib-math-fenv_C_NARCHFILES) $(test-clib-math-fenv_CXX_NARCHFILES) $(test-clib-math-fenv_ASMFILES) $(test-clib-math-fenv_OBJC_NARCHFILES) +test-clib-math-fenv_OBJS := $(addsuffix .o,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-clib-math-fenv_DEPS := $(addsuffix .d,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-clib-math-fenv_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-clib-math-fenv_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-fenv_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-clib-math-fenv_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-clib-math-fenv_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-clib-math-fenv_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-fenv_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-clib-math-fenv_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-clib-math-fenv_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-clib-math-fenv_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-fenv_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-clib-math-fenv_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-clib-math-fenv_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-clib-math-fenv_LDFLAGS := +endif + +test-clib-math-fenv_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-clib-math-fenv_COVERAGE := yes +test-clib-math-fenv_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-clib-math-fenv_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-clib-math-fenv_CFLAGS := $(strip $(test-clib-math-fenv_COVERAGEFLAGS) $(test-clib-math-fenv_CFLAGS)) +test-clib-math-fenv_CXXFLAGS := $(strip $(test-clib-math-fenv_COVERAGEFLAGS) $(test-clib-math-fenv_CXXFLAGS)) +test-clib-math-fenv_LIBS += $(test-clib-math-fenv_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-clib-math-fenv_FUNCINSTR := yes +test-clib-math-fenv_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-clib-math-fenv_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-clib-math-fenv_CFLAGS := $(strip $(test-clib-math-fenv_INSTRFUNCFLAGS) $(test-clib-math-fenv_CFLAGS)) +test-clib-math-fenv_CXXFLAGS := $(strip $(test-clib-math-fenv_INSTRFUNCFLAGS) $(test-clib-math-fenv_CXXFLAGS)) +test-clib-math-fenv_LIBS += $(test-clib-math-fenv_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-clib-math-fenv_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-fenv_CFLAGS)) +test-clib-math-fenv_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-fenv_CXXFLAGS)) +endif +endif +test-clib-math-fenv_AFLAGS := $(AFLAGS) +ifneq (,) + test-clib-math-fenv_DFLAGS := +else + test-clib-math-fenv_DFLAGS := $(test-clib-math-fenv_CFLAGS) +endif +ifneq (,) + test-clib-math-fenv_DXXFLAGS := +else + test-clib-math-fenv_DXXFLAGS := $(test-clib-math-fenv_CXXFLAGS) +endif +ifeq (target,target) +test-clib-math-fenv_LDFLAGS := $(test-clib-math-fenv_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-clib-math-fenv_LDFLAGS := $(test-clib-math-fenv_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-clib-math-fenv_LDFLAGS := $(test-clib-math-fenv_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-clib-math-fenv_LDFLAGS += -L +endif + +#MM +test-clib-math-fenv-quick : test-clib-math-fenv + +#MM test-clib-math-fenv : includes-generate-deps core-linklibs +test-clib-math-fenv : $(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) + +ifneq ($(filter $(TARGET),test-clib-math-fenv test-clib-math-fenv-quick test-clib-math-fenv-gz-quick),) + +test-clib-math-fenv_CXXABSBASENAMES := $(foreach test-clib-math-fenv_CXXBASE,$(test-clib-math-fenv_CXX_NARCHFILES),$(if $(filter /%,$(test-clib-math-fenv_CXXBASE)),$(test-clib-math-fenv_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-clib-math-fenv_CXXBASE)))) + +ifneq ($(test-clib-math-fenv_CXXABSBASENAMES),) + +test-clib-math-fenv_CXXBASENAMES := $(basename $(test-clib-math-fenv_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-clib-math-fenv_MCXX_FILES := $(strip $(foreach test-clib-math-fenv_CXXBASE,$(test-clib-math-fenv_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-clib-math-fenv_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-clib-math-fenv_EXT),$(test-clib-math-fenv_CXXBASE))))))) + +ifeq (,) +test-clib-math-fenv_MCXX_SRCWILDCARD := % +else +test-clib-math-fenv_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-fenv_OBJDIR),) + test-clib-math-fenv_CXXTARGETS := $(notdir $(test-clib-math-fenv_CXXBASENAMES:=.o)) + test-clib-math-fenv_CXXDTARGETS := $(notdir $(test-clib-math-fenv_CXXBASENAMES:=.d)) + test-clib-math-fenv_MCXX_WILDCARD := % +else + test-clib-math-fenv_CXXTARGETS := $(addprefix $(test-clib-math-fenv_OBJDIR)/,$(notdir $(test-clib-math-fenv_CXXBASENAMES:=.o))) + test-clib-math-fenv_CXXDTARGETS := $(addprefix $(test-clib-math-fenv_OBJDIR)/,$(notdir $(test-clib-math-fenv_CXXBASENAMES:=.d))) + test-clib-math-fenv_MCXX_WILDCARD := $(test-clib-math-fenv_OBJDIR)/% + + # Be sure that all source files are generated + $(test-clib-math-fenv_CXXTARGETS) $(test-clib-math-fenv_CXXDTARGETS) : | $(test-clib-math-fenv_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-clib-math-fenv_MCXX_CPPFLAGS := $(test-clib-math-fenv_CPPFLAGS) +test-clib-math-fenv_CXXFLAGS := $(test-clib-math-fenv_CXXFLAGS) +ifeq ($(test-clib-math-fenv_DXXFLAGS),) + test-clib-math-fenv_DXXFLAGS := $(test-clib-math-fenv_CXXFLAGS) +else + test-clib-math-fenv_DXXFLAGS := $(test-clib-math-fenv_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-clib-math-fenv_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-clib-math-fenv_STRIP ?= $(HOST_STRIP) + test-clib-math-fenv_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-clib-math-fenv_CXXCMD:=$(HOST_CXX) + test-clib-math-fenv_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-clib-math-fenv_MCXX_CPPFLAGS) $(test-clib-math-fenv_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-fenv_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-fenv_CXXFLAGS)) + test-clib-math-fenv_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-fenv_DXXFLAGS)) + test-clib-math-fenv_CXXIQUOTE:=$(HOST_IQUOTE) + test-clib-math-fenv_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-clib-math-fenv_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-fenv_STRIP ?= $(TARGET_STRIP) + test-clib-math-fenv_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-clib-math-fenv_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-clib-math-fenv_MCXX_CPPFLAGS := $(strip $(test-clib-math-fenv_MCXX_CPPFLAGS) $(test-clib-math-fenv_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-fenv_CXXFLAGS := $(strip $(test-clib-math-fenv_CXXFLAGS) $(SAFETY_CFLAGS)) + test-clib-math-fenv_DXXFLAGS := $(test-clib-math-fenv_DXXFLAGS) + test-clib-math-fenv_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-clib-math-fenv_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-clib-math-fenv_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-fenv_STRIP ?= $(ECHO) >/dev/null + test-clib-math-fenv_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-clib-math-fenv_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-clib-math-fenv_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-clib-math-fenv_MCXX_CPPFLAGS) $(test-clib-math-fenv_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-fenv_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-fenv_CXXFLAGS)) + test-clib-math-fenv_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-fenv_DXXFLAGS)) + test-clib-math-fenv_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-clib-math-fenv_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-clib-math-fenv_CXXCMD) $(test-clib-math-fenv_CXXIQUOTE) $(dir $(2)) $(test-clib-math-fenv_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_CXXIQUOTE) . $(test-clib-math-fenv_CXXIQUOTE_END) $(strip $(test-clib-math-fenv_CXXFLAGS) $(test-clib-math-fenv_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-clib-math-fenv_CXXCMD) $(test-clib-math-fenv_CXXIQUOTE) $(dir $(2)) $(test-clib-math-fenv_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_CXXIQUOTE) . $(test-clib-math-fenv_CXXIQUOTE_END) $(strip $(test-clib-math-fenv_CXXFLAGS) $(test-clib-math-fenv_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-clib-math-fenv_CXXCMD) $(test-clib-math-fenv_CXXIQUOTE) $(dir $(2)) $(test-clib-math-fenv_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_CXXIQUOTE) . $(test-clib-math-fenv_CXXIQUOTE_END) $(strip $(test-clib-math-fenv_CXXFLAGS) $(test-clib-math-fenv_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-clib-math-fenv_CXXCMD)" $(MKDEPEND) $(strip $(test-clib-math-fenv_DXXFLAGS) $(test-clib-math-fenv_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-clib-math-fenv_OBJDIR),) + $(foreach test-clib-math-fenv_CXXFILE,$(test-clib-math-fenv_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-clib-math-fenv_CXXFILE))),$(test-clib-math-fenv_CXXFILE)))) +else + $(foreach test-clib-math-fenv_CXXFILE,$(test-clib-math-fenv_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(notdir $(basename $(test-clib-math-fenv_CXXFILE)))),$(test-clib-math-fenv_CXXFILE)))) +endif + +endif + + +ifneq ($(test-clib-math-fenv_OBJC_NARCHFILES),) + +ifeq (,) +test-clib-math-fenv_MOBJC_SRCWILDCARD := % +else +test-clib-math-fenv_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-fenv_OBJDIR),) + test-clib-math-fenv_MOBJC_TARGETS := $(addsuffix .o,$(test-clib-math-fenv_OBJC_NARCHFILES)) + test-clib-math-fenv_MOBJC_DTARGETS := $(addsuffix .d,$(test-clib-math-fenv_OBJC_NARCHFILES)) + test-clib-math-fenv_MOBJC_WILDCARD := % +else + test-clib-math-fenv_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(test-clib-math-fenv_OBJC_NARCHFILES))) + test-clib-math-fenv_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(test-clib-math-fenv_OBJC_NARCHFILES))) + test-clib-math-fenv_MOBJC_WILDCARD := $(test-clib-math-fenv_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-clib-math-fenv_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-clib-math-fenv_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-clib-math-fenv_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-fenv_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-clib-math-fenv_MOBJC_DIRS := $(foreach dir, $(test-clib-math-fenv_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-fenv_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-clib-math-fenv_MOBJC_DIRS),) + test-clib-math-fenv_MOBJC_DIRS := $(shell echo $(test-clib-math-fenv_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-clib-math-fenv_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-clib-math-fenv_CC := $(TARGET_CC) +else + test-clib-math-fenv_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-clib-math-fenv_MOBJC_CPPFLAGS := $(test-clib-math-fenv_CPPFLAGS) +test-clib-math-fenv_OBJCFLAGS := $(test-clib-math-fenv_CFLAGS) +test-clib-math-fenv_OBJCFLAGS := $(test-clib-math-fenv_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-clib-math-fenv_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-clib-math-fenv_OBJCFLAGS))) +ifeq ($(test-clib-math-fenv_DFLAGS),) + test-clib-math-fenv_OBJCDFLAGS := $(test-clib-math-fenv_CFLAGS) +else + test-clib-math-fenv_OBJCDFLAGS := $(test-clib-math-fenv_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-clib-math-fenv_LINK ?= $(strip $(test-clib-math-fenv_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-fenv_STRIP ?= $(TARGET_STRIP) + test-clib-math-fenv_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : CMD:=$(strip $(test-clib-math-fenv_CC) $(TARGET_SYSROOT)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_MOBJC_CPPFLAGS:=$(strip $(test-clib-math-fenv_MOBJC_CPPFLAGS) $(test-clib-math-fenv_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_OBJCFLAGS:=$(strip $(test-clib-math-fenv_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_OBJCDFLAGS:=$(test-clib-math-fenv_OBJCDFLAGS) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-clib-math-fenv_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-clib-math-fenv_STRIP ?= $(HOST_STRIP) + test-clib-math-fenv_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-clib-math-fenv_MOBJC_CPPFLAGS) $(test-clib-math-fenv_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-fenv_OBJCFLAGS)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-fenv_OBJCDFLAGS)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_IQUOTE:=$(HOST_IQUOTE) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-clib-math-fenv_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-fenv_STRIP ?= $(ECHO) >/dev/null + test-clib-math-fenv_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-clib-math-fenv_MOBJC_CPPFLAGS) $(test-clib-math-fenv_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-fenv_OBJCFLAGS)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-fenv_OBJCDFLAGS)) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_IQUOTE:=$(KERNEL_IQUOTE) + $(test-clib-math-fenv_MOBJC_TARGETS) $(test-clib-math-fenv_MOBJC_DTARGETS) : test-clib-math-fenv_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-fenv_MOBJC_TARGETS) : CPPFLAGS := $(test-clib-math-fenv_MOBJC_CPPFLAGS) +$(test-clib-math-fenv_MOBJC_TARGETS) : CFLAGS := $(test-clib-math-fenv_OBJCFLAGS) +$(test-clib-math-fenv_MOBJC_TARGETS) : $(test-clib-math-fenv_MOBJC_WILDCARD).o : $(test-clib-math-fenv_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-fenv_IQUOTE) $(dir $<) $(test-clib-math-fenv_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_IQUOTE) . $(test-clib-math-fenv_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-fenv_IQUOTE) $(dir $<) $(test-clib-math-fenv_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_IQUOTE) . $(test-clib-math-fenv_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-fenv_IQUOTE) $(dir $<) $(test-clib-math-fenv_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_IQUOTE) . $(test-clib-math-fenv_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-fenv_MOBJC_DTARGETS) : $(test-clib-math-fenv_MOBJC_WILDCARD).d : $(test-clib-math-fenv_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-fenv_OBJCDFLAGS) $(test-clib-math-fenv_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-clib-math-fenv_MC_SRCWILDCARD := % +else +test-clib-math-fenv_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-fenv_OBJDIR),) +test-clib-math-fenv_MC_TARGETS := $(addsuffix .o,$(test-clib-math-fenv_C_NARCHFILES)) +test-clib-math-fenv_MC_DTARGETS := $(addsuffix .d,$(test-clib-math-fenv_C_NARCHFILES)) +test-clib-math-fenv_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-clib-math-fenv_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(notdir $(test-clib-math-fenv_C_NARCHFILES)))) + test-clib-math-fenv_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(notdir $(test-clib-math-fenv_C_NARCHFILES)))) +else +ifeq (,) + test-clib-math-fenv_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(test-clib-math-fenv_C_NARCHFILES))) + test-clib-math-fenv_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(test-clib-math-fenv_C_NARCHFILES))) +else + test-clib-math-fenv_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-fenv_C_NARCHFILES)))) + test-clib-math-fenv_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-fenv_C_NARCHFILES)))) +endif +endif +test-clib-math-fenv_MC_TGTWILDCARD := $(test-clib-math-fenv_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : | $(addsuffix .c,$(test-clib-math-fenv_C_NARCHFILES)) + +# Be sure that all .c files are found +test-clib-math-fenv_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-fenv_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-fenv_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-fenv_MC_DIRS := $(foreach dir, $(test-clib-math-fenv_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-fenv_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-fenv_MC_DIRS),) + test-clib-math-fenv_MC_DIRS := $(shell echo $(test-clib-math-fenv_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-clib-math-fenv_MC_DIRS) +endif + +endif + +test-clib-math-fenv_MC_CPPFLAGS := $(test-clib-math-fenv_CPPFLAGS) +test-clib-math-fenv_CFLAGS := $(test-clib-math-fenv_CFLAGS) +ifeq ($(test-clib-math-fenv_DFLAGS),) + test-clib-math-fenv_DFLAGS := $(test-clib-math-fenv_CFLAGS) +else + test-clib-math-fenv_DFLAGS := $(test-clib-math-fenv_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-clib-math-fenv_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-clib-math-fenv_STRIP ?= $(TARGET_STRIP) +test-clib-math-fenv_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_MC_CPPFLAGS:=$(strip $(test-clib-math-fenv_MC_CPPFLAGS) $(test-clib-math-fenv_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_CFLAGS:=$(strip $(test-clib-math-fenv_CFLAGS) $(SAFETY_CFLAGS)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_DFLAGS:=$(test-clib-math-fenv_DFLAGS) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-clib-math-fenv_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-clib-math-fenv_STRIP ?= $(HOST_STRIP) +test-clib-math-fenv_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-clib-math-fenv_MC_CPPFLAGS) $(test-clib-math-fenv_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-fenv_CFLAGS)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-fenv_DFLAGS)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_IQUOTE:=$(HOST_IQUOTE) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-clib-math-fenv_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-clib-math-fenv_STRIP ?= $(ECHO) >/dev/null +test-clib-math-fenv_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-clib-math-fenv_MC_CPPFLAGS) $(test-clib-math-fenv_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-fenv_CFLAGS)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-fenv_DFLAGS)) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_IQUOTE:=$(KERNEL_IQUOTE) +$(test-clib-math-fenv_MC_TARGETS) $(test-clib-math-fenv_MC_DTARGETS) : test-clib-math-fenv_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-fenv_MC_TARGETS) : CPPFLAGS := $(test-clib-math-fenv_MC_CPPFLAGS) +$(test-clib-math-fenv_MC_TARGETS) : CFLAGS := $(test-clib-math-fenv_CFLAGS) +$(test-clib-math-fenv_MC_TARGETS) : $(test-clib-math-fenv_MC_TGTWILDCARD).o : $(test-clib-math-fenv_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-fenv_IQUOTE) $(dir $<) $(test-clib-math-fenv_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_IQUOTE) . $(test-clib-math-fenv_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-fenv_IQUOTE) $(dir $<) $(test-clib-math-fenv_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_IQUOTE) . $(test-clib-math-fenv_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-fenv_IQUOTE) $(dir $<) $(test-clib-math-fenv_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-fenv_IQUOTE) . $(test-clib-math-fenv_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-fenv_MC_DTARGETS) : $(test-clib-math-fenv_MC_TGTWILDCARD).d : $(test-clib-math-fenv_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-fenv_DFLAGS) $(test-clib-math-fenv_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-clib-math-fenv_OBJDIR),) +test-clib-math-fenv-MA_TARGETS := $(addsuffix .o,$(test-clib-math-fenv_ASMFILES)) +test-clib-math-fenv-MA_WILDCARD := % +else +test-clib-math-fenv-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-fenv_OBJDIR)/,$(notdir $(test-clib-math-fenv_ASMFILES)))) +test-clib-math-fenv-MA_WILDCARD := $(test-clib-math-fenv_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-clib-math-fenv-MA_TARGETS) : | $(addsuffix .s,$(test-clib-math-fenv_ASMFILES)) + +# Be sure that all .c files are found +test-clib-math-fenv-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-fenv-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-fenv_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-fenv-MA_DIRS := $(foreach dir, $(test-clib-math-fenv-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-fenv-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-fenv-MA_DIRS),) + test-clib-math-fenv-MA_DIRS := $(shell echo $(test-clib-math-fenv-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-clib-math-fenv-MA_DIRS) +endif + +endif + +test-clib-math-fenv-MA_ASSEMBLER ?= $(test-clib-math-fenv_ASSEMBLER) + +$(test-clib-math-fenv-MA_TARGETS) : test-clib-math-fenv-MA_CMD:= $(test-clib-math-fenv-MA_ASSEMBLER) + +$(test-clib-math-fenv-MA_TARGETS) : CPPFLAGS := $(test-clib-math-fenv_CPPFLAGS) +$(test-clib-math-fenv-MA_TARGETS) : AFLAGS := $(test-clib-math-fenv_AFLAGS) +$(test-clib-math-fenv-MA_TARGETS) : $(test-clib-math-fenv-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-clib-math-fenv-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-clib-math-fenv-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-clib-math-fenv-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-clib-math-fenv-link_EXTRA_LDFLAGS := +test-clib-math-fenv-link_EXTRA_LIBS := +ifeq (no,yes) + test-clib-math-fenv-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-clib-math-fenv-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-clib-math-fenv-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-clib-math-fenv-link_DIRS := $(subst -L ,-L,$(strip $(test-clib-math-fenv_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-clib-math-fenv-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-clib-math-fenv-link_DIRS))) +# Add trailing / +test-clib-math-fenv-link_DIRS := $(subst //,/,$(addsuffix /,$(test-clib-math-fenv-link_DIRS))) +# Add normal linklib path +test-clib-math-fenv-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-clib-math-fenv-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-clib-math-fenv_LIBS) $(test-clib-math-fenv-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-clib-math-fenv-link_LIBS += startup.o +endif +ifeq (no,yes) + test-clib-math-fenv-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-clib-math-fenv-link_DEPLIBS := $(foreach lib,$(test-clib-math-fenv-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-clib-math-fenv-link_DIRS)))) \ +) + +$(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) : OBJDIR := $(test-clib-math-fenv_OBJDIR) +$(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) : OBJS := $(test-clib-math-fenv_OBJS) $(test-clib-math-fenv_ARCHOBJS) $(USER_OBJS) +$(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) : LDFLAGS := $(strip $(test-clib-math-fenv_LDFLAGS) $(test-clib-math-fenv-link_EXTRA_LDFLAGS)) +$(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) : LIBS := $(addprefix -l,$(test-clib-math-fenv_LIBS) $(test-clib-math-fenv-link_EXTRA_LIBS) ) +$(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) : $(test-clib-math-fenv_OBJS) $(test-clib-math-fenv_ARCHOBJS) $(USER_OBJS) $(test-clib-math-fenv-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-clib-math-fenv_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-clib-math-fenv_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-clib-math-fenv_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-fenv_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-clib-math-fenv_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-clib-math-fenv_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-fenv_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-clib-math-fenv_DEPS),) + ifneq (test-clib-math-fenv test-clib-math-fenv-quick,) + ifneq ($(findstring $(TARGET),test-clib-math-fenv test-clib-math-fenv-quick),) + -include $(test-clib-math-fenv_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-clib-math-fenv_DEPS) + endif + endif +endif + + +ifneq ($(test-clib-math-fenv_OBJS) $(test-clib-math-fenv_DEPS) $(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME),) +$(test-clib-math-fenv_OBJS) $(test-clib-math-fenv_DEPS) $(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) : | $(test-clib-math-fenv_OBJDIR) $(test-clib-math-fenv_TARGETDIR) +else +$(test-clib-math-fenv_OBJS) $(test-clib-math-fenv_DEPS) $(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) :: $(test-clib-math-fenv_OBJDIR) $(test-clib-math-fenv_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-clib-math-fenv_OBJDIR) $(test-clib-math-fenv_TARGETDIR) + + +test-clib-math-fenv-clean : FILES := $(test-clib-math-fenv_OBJS) $(test-clib-math-fenv_TARGETDIR)/$(test-clib-math-fenv_PROGNAME) $(test-clib-math-fenv_DEPS) +#MM +test-clib-math-fenv-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-clib-math-fenv" + $(Q)$(RM) $(FILES) + + +USER_CPPFLAGS = -DSYS_MATH_H + + +.PHONY : test-clib-math-c99-float + +test-clib-math-c99-float_PROGNAME := math-c99-float +test-clib-math-c99-float_OBJDIR := $(GENDIR)/$(CURDIR)/float +test-clib-math-c99-float_TARGETDIR := $(EXEDIR) +test-clib-math-c99-float_LINKER := +test-clib-math-c99-float_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-clib-math-c99-float_LINKER),) + test-clib-math-c99-float_LINKER := target +endif + +ifneq ("$(strip $(FILESFLOAT) )","") + test-clib-math-c99-float_FILES := $(FILESFLOAT) + test-clib-math-c99-float_OBJCFILES := + test-clib-math-c99-float_ASMFILES := + test-clib-math-c99-float_CXXFILES := +else + test-clib-math-c99-float_FILES := $(test-clib-math-c99-float_PROGNAME) + test-clib-math-c99-float_OBJCFILES := + test-clib-math-c99-float_ASMFILES := + test-clib-math-c99-float_CXXFILES := +endif + +test-clib-math-c99-float_ARCHOBJS := $(wildcard $(test-clib-math-c99-float_OBJDIR)/arch/*.o) +test-clib-math-c99-float_ARCHFILES := $(basename $(notdir $(test-clib-math-c99-float_ARCHOBJS))) +test-clib-math-c99-float_C_NARCHFILES := $(filter-out $(test-clib-math-c99-float_ARCHFILES),$(test-clib-math-c99-float_FILES)) +test-clib-math-c99-float_CXX_NARCHFILES := $(filter-out $(test-clib-math-c99-float_ARCHFILES),$(test-clib-math-c99-float_CXXFILES)) +test-clib-math-c99-float_OBJC_NARCHFILES := $(filter-out $(test-clib-math-c99-float_ARCHFILES),$(test-clib-math-c99-float_OBJCFILES)) + +TMP_FILES := $(test-clib-math-c99-float_C_NARCHFILES) $(test-clib-math-c99-float_CXX_NARCHFILES) $(test-clib-math-c99-float_ASMFILES) $(test-clib-math-c99-float_OBJC_NARCHFILES) +test-clib-math-c99-float_OBJS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-clib-math-c99-float_DEPS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-clib-math-c99-float_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-clib-math-c99-float_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-c99-float_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-clib-math-c99-float_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-clib-math-c99-float_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-clib-math-c99-float_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-c99-float_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-clib-math-c99-float_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-clib-math-c99-float_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-clib-math-c99-float_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-c99-float_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-clib-math-c99-float_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-clib-math-c99-float_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-clib-math-c99-float_LDFLAGS := +endif + +test-clib-math-c99-float_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-clib-math-c99-float_COVERAGE := yes +test-clib-math-c99-float_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-clib-math-c99-float_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-clib-math-c99-float_CFLAGS := $(strip $(test-clib-math-c99-float_COVERAGEFLAGS) $(test-clib-math-c99-float_CFLAGS)) +test-clib-math-c99-float_CXXFLAGS := $(strip $(test-clib-math-c99-float_COVERAGEFLAGS) $(test-clib-math-c99-float_CXXFLAGS)) +test-clib-math-c99-float_LIBS += $(test-clib-math-c99-float_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-clib-math-c99-float_FUNCINSTR := yes +test-clib-math-c99-float_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-clib-math-c99-float_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-clib-math-c99-float_CFLAGS := $(strip $(test-clib-math-c99-float_INSTRFUNCFLAGS) $(test-clib-math-c99-float_CFLAGS)) +test-clib-math-c99-float_CXXFLAGS := $(strip $(test-clib-math-c99-float_INSTRFUNCFLAGS) $(test-clib-math-c99-float_CXXFLAGS)) +test-clib-math-c99-float_LIBS += $(test-clib-math-c99-float_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-clib-math-c99-float_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-c99-float_CFLAGS)) +test-clib-math-c99-float_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-c99-float_CXXFLAGS)) +endif +endif +test-clib-math-c99-float_AFLAGS := $(AFLAGS) +ifneq (,) + test-clib-math-c99-float_DFLAGS := +else + test-clib-math-c99-float_DFLAGS := $(test-clib-math-c99-float_CFLAGS) +endif +ifneq (,) + test-clib-math-c99-float_DXXFLAGS := +else + test-clib-math-c99-float_DXXFLAGS := $(test-clib-math-c99-float_CXXFLAGS) +endif +ifeq (target,target) +test-clib-math-c99-float_LDFLAGS := $(test-clib-math-c99-float_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-clib-math-c99-float_LDFLAGS := $(test-clib-math-c99-float_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-clib-math-c99-float_LDFLAGS := $(test-clib-math-c99-float_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-clib-math-c99-float_LDFLAGS += -L +endif + +#MM +test-clib-math-c99-float-quick : test-clib-math-c99-float + +#MM test-clib-math-c99-float : includes-generate-deps core-linklibs +test-clib-math-c99-float : $(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) + +ifneq ($(filter $(TARGET),test-clib-math-c99-float test-clib-math-c99-float-quick test-clib-math-c99-float-gz-quick),) + +test-clib-math-c99-float_CXXABSBASENAMES := $(foreach test-clib-math-c99-float_CXXBASE,$(test-clib-math-c99-float_CXX_NARCHFILES),$(if $(filter /%,$(test-clib-math-c99-float_CXXBASE)),$(test-clib-math-c99-float_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-clib-math-c99-float_CXXBASE)))) + +ifneq ($(test-clib-math-c99-float_CXXABSBASENAMES),) + +test-clib-math-c99-float_CXXBASENAMES := $(basename $(test-clib-math-c99-float_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-clib-math-c99-float_MCXX_FILES := $(strip $(foreach test-clib-math-c99-float_CXXBASE,$(test-clib-math-c99-float_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-clib-math-c99-float_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-clib-math-c99-float_EXT),$(test-clib-math-c99-float_CXXBASE))))))) + +ifeq (,) +test-clib-math-c99-float_MCXX_SRCWILDCARD := % +else +test-clib-math-c99-float_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-c99-float_OBJDIR),) + test-clib-math-c99-float_CXXTARGETS := $(notdir $(test-clib-math-c99-float_CXXBASENAMES:=.o)) + test-clib-math-c99-float_CXXDTARGETS := $(notdir $(test-clib-math-c99-float_CXXBASENAMES:=.d)) + test-clib-math-c99-float_MCXX_WILDCARD := % +else + test-clib-math-c99-float_CXXTARGETS := $(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(notdir $(test-clib-math-c99-float_CXXBASENAMES:=.o))) + test-clib-math-c99-float_CXXDTARGETS := $(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(notdir $(test-clib-math-c99-float_CXXBASENAMES:=.d))) + test-clib-math-c99-float_MCXX_WILDCARD := $(test-clib-math-c99-float_OBJDIR)/% + + # Be sure that all source files are generated + $(test-clib-math-c99-float_CXXTARGETS) $(test-clib-math-c99-float_CXXDTARGETS) : | $(test-clib-math-c99-float_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-clib-math-c99-float_MCXX_CPPFLAGS := $(test-clib-math-c99-float_CPPFLAGS) +test-clib-math-c99-float_CXXFLAGS := $(test-clib-math-c99-float_CXXFLAGS) +ifeq ($(test-clib-math-c99-float_DXXFLAGS),) + test-clib-math-c99-float_DXXFLAGS := $(test-clib-math-c99-float_CXXFLAGS) +else + test-clib-math-c99-float_DXXFLAGS := $(test-clib-math-c99-float_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-clib-math-c99-float_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-clib-math-c99-float_STRIP ?= $(HOST_STRIP) + test-clib-math-c99-float_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-clib-math-c99-float_CXXCMD:=$(HOST_CXX) + test-clib-math-c99-float_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-clib-math-c99-float_MCXX_CPPFLAGS) $(test-clib-math-c99-float_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-c99-float_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-c99-float_CXXFLAGS)) + test-clib-math-c99-float_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-c99-float_DXXFLAGS)) + test-clib-math-c99-float_CXXIQUOTE:=$(HOST_IQUOTE) + test-clib-math-c99-float_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-clib-math-c99-float_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-c99-float_STRIP ?= $(TARGET_STRIP) + test-clib-math-c99-float_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-clib-math-c99-float_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-clib-math-c99-float_MCXX_CPPFLAGS := $(strip $(test-clib-math-c99-float_MCXX_CPPFLAGS) $(test-clib-math-c99-float_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-c99-float_CXXFLAGS := $(strip $(test-clib-math-c99-float_CXXFLAGS) $(SAFETY_CFLAGS)) + test-clib-math-c99-float_DXXFLAGS := $(test-clib-math-c99-float_DXXFLAGS) + test-clib-math-c99-float_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-clib-math-c99-float_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-clib-math-c99-float_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-c99-float_STRIP ?= $(ECHO) >/dev/null + test-clib-math-c99-float_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-clib-math-c99-float_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-clib-math-c99-float_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-clib-math-c99-float_MCXX_CPPFLAGS) $(test-clib-math-c99-float_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-c99-float_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-c99-float_CXXFLAGS)) + test-clib-math-c99-float_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-c99-float_DXXFLAGS)) + test-clib-math-c99-float_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-clib-math-c99-float_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-clib-math-c99-float_CXXCMD) $(test-clib-math-c99-float_CXXIQUOTE) $(dir $(2)) $(test-clib-math-c99-float_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_CXXIQUOTE) . $(test-clib-math-c99-float_CXXIQUOTE_END) $(strip $(test-clib-math-c99-float_CXXFLAGS) $(test-clib-math-c99-float_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-clib-math-c99-float_CXXCMD) $(test-clib-math-c99-float_CXXIQUOTE) $(dir $(2)) $(test-clib-math-c99-float_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_CXXIQUOTE) . $(test-clib-math-c99-float_CXXIQUOTE_END) $(strip $(test-clib-math-c99-float_CXXFLAGS) $(test-clib-math-c99-float_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-clib-math-c99-float_CXXCMD) $(test-clib-math-c99-float_CXXIQUOTE) $(dir $(2)) $(test-clib-math-c99-float_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_CXXIQUOTE) . $(test-clib-math-c99-float_CXXIQUOTE_END) $(strip $(test-clib-math-c99-float_CXXFLAGS) $(test-clib-math-c99-float_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-clib-math-c99-float_CXXCMD)" $(MKDEPEND) $(strip $(test-clib-math-c99-float_DXXFLAGS) $(test-clib-math-c99-float_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-clib-math-c99-float_OBJDIR),) + $(foreach test-clib-math-c99-float_CXXFILE,$(test-clib-math-c99-float_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-clib-math-c99-float_CXXFILE))),$(test-clib-math-c99-float_CXXFILE)))) +else + $(foreach test-clib-math-c99-float_CXXFILE,$(test-clib-math-c99-float_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(notdir $(basename $(test-clib-math-c99-float_CXXFILE)))),$(test-clib-math-c99-float_CXXFILE)))) +endif + +endif + + +ifneq ($(test-clib-math-c99-float_OBJC_NARCHFILES),) + +ifeq (,) +test-clib-math-c99-float_MOBJC_SRCWILDCARD := % +else +test-clib-math-c99-float_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-c99-float_OBJDIR),) + test-clib-math-c99-float_MOBJC_TARGETS := $(addsuffix .o,$(test-clib-math-c99-float_OBJC_NARCHFILES)) + test-clib-math-c99-float_MOBJC_DTARGETS := $(addsuffix .d,$(test-clib-math-c99-float_OBJC_NARCHFILES)) + test-clib-math-c99-float_MOBJC_WILDCARD := % +else + test-clib-math-c99-float_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(test-clib-math-c99-float_OBJC_NARCHFILES))) + test-clib-math-c99-float_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(test-clib-math-c99-float_OBJC_NARCHFILES))) + test-clib-math-c99-float_MOBJC_WILDCARD := $(test-clib-math-c99-float_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-clib-math-c99-float_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-clib-math-c99-float_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-clib-math-c99-float_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-c99-float_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-clib-math-c99-float_MOBJC_DIRS := $(foreach dir, $(test-clib-math-c99-float_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-c99-float_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-clib-math-c99-float_MOBJC_DIRS),) + test-clib-math-c99-float_MOBJC_DIRS := $(shell echo $(test-clib-math-c99-float_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-clib-math-c99-float_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-clib-math-c99-float_CC := $(TARGET_CC) +else + test-clib-math-c99-float_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-clib-math-c99-float_MOBJC_CPPFLAGS := $(test-clib-math-c99-float_CPPFLAGS) +test-clib-math-c99-float_OBJCFLAGS := $(test-clib-math-c99-float_CFLAGS) +test-clib-math-c99-float_OBJCFLAGS := $(test-clib-math-c99-float_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-clib-math-c99-float_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-clib-math-c99-float_OBJCFLAGS))) +ifeq ($(test-clib-math-c99-float_DFLAGS),) + test-clib-math-c99-float_OBJCDFLAGS := $(test-clib-math-c99-float_CFLAGS) +else + test-clib-math-c99-float_OBJCDFLAGS := $(test-clib-math-c99-float_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-clib-math-c99-float_LINK ?= $(strip $(test-clib-math-c99-float_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-c99-float_STRIP ?= $(TARGET_STRIP) + test-clib-math-c99-float_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : CMD:=$(strip $(test-clib-math-c99-float_CC) $(TARGET_SYSROOT)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_MOBJC_CPPFLAGS:=$(strip $(test-clib-math-c99-float_MOBJC_CPPFLAGS) $(test-clib-math-c99-float_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_OBJCFLAGS:=$(strip $(test-clib-math-c99-float_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_OBJCDFLAGS:=$(test-clib-math-c99-float_OBJCDFLAGS) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-clib-math-c99-float_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-clib-math-c99-float_STRIP ?= $(HOST_STRIP) + test-clib-math-c99-float_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-clib-math-c99-float_MOBJC_CPPFLAGS) $(test-clib-math-c99-float_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-c99-float_OBJCFLAGS)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-c99-float_OBJCDFLAGS)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_IQUOTE:=$(HOST_IQUOTE) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-clib-math-c99-float_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-c99-float_STRIP ?= $(ECHO) >/dev/null + test-clib-math-c99-float_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-clib-math-c99-float_MOBJC_CPPFLAGS) $(test-clib-math-c99-float_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-c99-float_OBJCFLAGS)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-c99-float_OBJCDFLAGS)) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_IQUOTE:=$(KERNEL_IQUOTE) + $(test-clib-math-c99-float_MOBJC_TARGETS) $(test-clib-math-c99-float_MOBJC_DTARGETS) : test-clib-math-c99-float_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-c99-float_MOBJC_TARGETS) : CPPFLAGS := $(test-clib-math-c99-float_MOBJC_CPPFLAGS) +$(test-clib-math-c99-float_MOBJC_TARGETS) : CFLAGS := $(test-clib-math-c99-float_OBJCFLAGS) +$(test-clib-math-c99-float_MOBJC_TARGETS) : $(test-clib-math-c99-float_MOBJC_WILDCARD).o : $(test-clib-math-c99-float_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-c99-float_IQUOTE) $(dir $<) $(test-clib-math-c99-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_IQUOTE) . $(test-clib-math-c99-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-c99-float_IQUOTE) $(dir $<) $(test-clib-math-c99-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_IQUOTE) . $(test-clib-math-c99-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-c99-float_IQUOTE) $(dir $<) $(test-clib-math-c99-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_IQUOTE) . $(test-clib-math-c99-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-c99-float_MOBJC_DTARGETS) : $(test-clib-math-c99-float_MOBJC_WILDCARD).d : $(test-clib-math-c99-float_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-c99-float_OBJCDFLAGS) $(test-clib-math-c99-float_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-clib-math-c99-float_MC_SRCWILDCARD := % +else +test-clib-math-c99-float_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-c99-float_OBJDIR),) +test-clib-math-c99-float_MC_TARGETS := $(addsuffix .o,$(test-clib-math-c99-float_C_NARCHFILES)) +test-clib-math-c99-float_MC_DTARGETS := $(addsuffix .d,$(test-clib-math-c99-float_C_NARCHFILES)) +test-clib-math-c99-float_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-clib-math-c99-float_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(notdir $(test-clib-math-c99-float_C_NARCHFILES)))) + test-clib-math-c99-float_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(notdir $(test-clib-math-c99-float_C_NARCHFILES)))) +else +ifeq (,) + test-clib-math-c99-float_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(test-clib-math-c99-float_C_NARCHFILES))) + test-clib-math-c99-float_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(test-clib-math-c99-float_C_NARCHFILES))) +else + test-clib-math-c99-float_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-c99-float_C_NARCHFILES)))) + test-clib-math-c99-float_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-c99-float_C_NARCHFILES)))) +endif +endif +test-clib-math-c99-float_MC_TGTWILDCARD := $(test-clib-math-c99-float_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : | $(addsuffix .c,$(test-clib-math-c99-float_C_NARCHFILES)) + +# Be sure that all .c files are found +test-clib-math-c99-float_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-c99-float_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-c99-float_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-c99-float_MC_DIRS := $(foreach dir, $(test-clib-math-c99-float_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-c99-float_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-c99-float_MC_DIRS),) + test-clib-math-c99-float_MC_DIRS := $(shell echo $(test-clib-math-c99-float_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-clib-math-c99-float_MC_DIRS) +endif + +endif + +test-clib-math-c99-float_MC_CPPFLAGS := $(test-clib-math-c99-float_CPPFLAGS) +test-clib-math-c99-float_CFLAGS := $(test-clib-math-c99-float_CFLAGS) +ifeq ($(test-clib-math-c99-float_DFLAGS),) + test-clib-math-c99-float_DFLAGS := $(test-clib-math-c99-float_CFLAGS) +else + test-clib-math-c99-float_DFLAGS := $(test-clib-math-c99-float_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-clib-math-c99-float_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-clib-math-c99-float_STRIP ?= $(TARGET_STRIP) +test-clib-math-c99-float_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_MC_CPPFLAGS:=$(strip $(test-clib-math-c99-float_MC_CPPFLAGS) $(test-clib-math-c99-float_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_CFLAGS:=$(strip $(test-clib-math-c99-float_CFLAGS) $(SAFETY_CFLAGS)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_DFLAGS:=$(test-clib-math-c99-float_DFLAGS) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-clib-math-c99-float_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-clib-math-c99-float_STRIP ?= $(HOST_STRIP) +test-clib-math-c99-float_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-clib-math-c99-float_MC_CPPFLAGS) $(test-clib-math-c99-float_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-c99-float_CFLAGS)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-c99-float_DFLAGS)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_IQUOTE:=$(HOST_IQUOTE) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-clib-math-c99-float_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-clib-math-c99-float_STRIP ?= $(ECHO) >/dev/null +test-clib-math-c99-float_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-clib-math-c99-float_MC_CPPFLAGS) $(test-clib-math-c99-float_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-c99-float_CFLAGS)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-c99-float_DFLAGS)) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_IQUOTE:=$(KERNEL_IQUOTE) +$(test-clib-math-c99-float_MC_TARGETS) $(test-clib-math-c99-float_MC_DTARGETS) : test-clib-math-c99-float_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-c99-float_MC_TARGETS) : CPPFLAGS := $(test-clib-math-c99-float_MC_CPPFLAGS) +$(test-clib-math-c99-float_MC_TARGETS) : CFLAGS := $(test-clib-math-c99-float_CFLAGS) +$(test-clib-math-c99-float_MC_TARGETS) : $(test-clib-math-c99-float_MC_TGTWILDCARD).o : $(test-clib-math-c99-float_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-c99-float_IQUOTE) $(dir $<) $(test-clib-math-c99-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_IQUOTE) . $(test-clib-math-c99-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-c99-float_IQUOTE) $(dir $<) $(test-clib-math-c99-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_IQUOTE) . $(test-clib-math-c99-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-c99-float_IQUOTE) $(dir $<) $(test-clib-math-c99-float_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-float_IQUOTE) . $(test-clib-math-c99-float_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-c99-float_MC_DTARGETS) : $(test-clib-math-c99-float_MC_TGTWILDCARD).d : $(test-clib-math-c99-float_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-c99-float_DFLAGS) $(test-clib-math-c99-float_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-clib-math-c99-float_OBJDIR),) +test-clib-math-c99-float-MA_TARGETS := $(addsuffix .o,$(test-clib-math-c99-float_ASMFILES)) +test-clib-math-c99-float-MA_WILDCARD := % +else +test-clib-math-c99-float-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-float_OBJDIR)/,$(notdir $(test-clib-math-c99-float_ASMFILES)))) +test-clib-math-c99-float-MA_WILDCARD := $(test-clib-math-c99-float_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-clib-math-c99-float-MA_TARGETS) : | $(addsuffix .s,$(test-clib-math-c99-float_ASMFILES)) + +# Be sure that all .c files are found +test-clib-math-c99-float-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-c99-float-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-c99-float_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-c99-float-MA_DIRS := $(foreach dir, $(test-clib-math-c99-float-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-c99-float-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-c99-float-MA_DIRS),) + test-clib-math-c99-float-MA_DIRS := $(shell echo $(test-clib-math-c99-float-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-clib-math-c99-float-MA_DIRS) +endif + +endif + +test-clib-math-c99-float-MA_ASSEMBLER ?= $(test-clib-math-c99-float_ASSEMBLER) + +$(test-clib-math-c99-float-MA_TARGETS) : test-clib-math-c99-float-MA_CMD:= $(test-clib-math-c99-float-MA_ASSEMBLER) + +$(test-clib-math-c99-float-MA_TARGETS) : CPPFLAGS := $(test-clib-math-c99-float_CPPFLAGS) +$(test-clib-math-c99-float-MA_TARGETS) : AFLAGS := $(test-clib-math-c99-float_AFLAGS) +$(test-clib-math-c99-float-MA_TARGETS) : $(test-clib-math-c99-float-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-clib-math-c99-float-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-clib-math-c99-float-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-clib-math-c99-float-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-clib-math-c99-float-link_EXTRA_LDFLAGS := +test-clib-math-c99-float-link_EXTRA_LIBS := +ifeq (no,yes) + test-clib-math-c99-float-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-clib-math-c99-float-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-clib-math-c99-float-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-clib-math-c99-float-link_DIRS := $(subst -L ,-L,$(strip $(test-clib-math-c99-float_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-clib-math-c99-float-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-clib-math-c99-float-link_DIRS))) +# Add trailing / +test-clib-math-c99-float-link_DIRS := $(subst //,/,$(addsuffix /,$(test-clib-math-c99-float-link_DIRS))) +# Add normal linklib path +test-clib-math-c99-float-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-clib-math-c99-float-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-clib-math-c99-float_LIBS) $(test-clib-math-c99-float-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-clib-math-c99-float-link_LIBS += startup.o +endif +ifeq (no,yes) + test-clib-math-c99-float-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-clib-math-c99-float-link_DEPLIBS := $(foreach lib,$(test-clib-math-c99-float-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-clib-math-c99-float-link_DIRS)))) \ +) + +$(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) : OBJDIR := $(test-clib-math-c99-float_OBJDIR) +$(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) : OBJS := $(test-clib-math-c99-float_OBJS) $(test-clib-math-c99-float_ARCHOBJS) $(USER_OBJS) +$(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) : LDFLAGS := $(strip $(test-clib-math-c99-float_LDFLAGS) $(test-clib-math-c99-float-link_EXTRA_LDFLAGS)) +$(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) : LIBS := $(addprefix -l,$(test-clib-math-c99-float_LIBS) $(test-clib-math-c99-float-link_EXTRA_LIBS) ) +$(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) : $(test-clib-math-c99-float_OBJS) $(test-clib-math-c99-float_ARCHOBJS) $(USER_OBJS) $(test-clib-math-c99-float-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-clib-math-c99-float_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-clib-math-c99-float_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-clib-math-c99-float_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-c99-float_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-clib-math-c99-float_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-clib-math-c99-float_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-c99-float_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-clib-math-c99-float_DEPS),) + ifneq (test-clib-math-c99-float test-clib-math-c99-float-quick,) + ifneq ($(findstring $(TARGET),test-clib-math-c99-float test-clib-math-c99-float-quick),) + -include $(test-clib-math-c99-float_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-clib-math-c99-float_DEPS) + endif + endif +endif + + +ifneq ($(test-clib-math-c99-float_OBJS) $(test-clib-math-c99-float_DEPS) $(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME),) +$(test-clib-math-c99-float_OBJS) $(test-clib-math-c99-float_DEPS) $(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) : | $(test-clib-math-c99-float_OBJDIR) $(test-clib-math-c99-float_TARGETDIR) +else +$(test-clib-math-c99-float_OBJS) $(test-clib-math-c99-float_DEPS) $(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) :: $(test-clib-math-c99-float_OBJDIR) $(test-clib-math-c99-float_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-clib-math-c99-float_OBJDIR) $(test-clib-math-c99-float_TARGETDIR) + + +test-clib-math-c99-float-clean : FILES := $(test-clib-math-c99-float_OBJS) $(test-clib-math-c99-float_TARGETDIR)/$(test-clib-math-c99-float_PROGNAME) $(test-clib-math-c99-float_DEPS) +#MM +test-clib-math-c99-float-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-clib-math-c99-float" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-clib-math-c99-double + +test-clib-math-c99-double_PROGNAME := math-c99-double +test-clib-math-c99-double_OBJDIR := $(GENDIR)/$(CURDIR)/double +test-clib-math-c99-double_TARGETDIR := $(EXEDIR) +test-clib-math-c99-double_LINKER := +test-clib-math-c99-double_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-clib-math-c99-double_LINKER),) + test-clib-math-c99-double_LINKER := target +endif + +ifneq ("$(strip $(FILESDOUBLE) )","") + test-clib-math-c99-double_FILES := $(FILESDOUBLE) + test-clib-math-c99-double_OBJCFILES := + test-clib-math-c99-double_ASMFILES := + test-clib-math-c99-double_CXXFILES := +else + test-clib-math-c99-double_FILES := $(test-clib-math-c99-double_PROGNAME) + test-clib-math-c99-double_OBJCFILES := + test-clib-math-c99-double_ASMFILES := + test-clib-math-c99-double_CXXFILES := +endif + +test-clib-math-c99-double_ARCHOBJS := $(wildcard $(test-clib-math-c99-double_OBJDIR)/arch/*.o) +test-clib-math-c99-double_ARCHFILES := $(basename $(notdir $(test-clib-math-c99-double_ARCHOBJS))) +test-clib-math-c99-double_C_NARCHFILES := $(filter-out $(test-clib-math-c99-double_ARCHFILES),$(test-clib-math-c99-double_FILES)) +test-clib-math-c99-double_CXX_NARCHFILES := $(filter-out $(test-clib-math-c99-double_ARCHFILES),$(test-clib-math-c99-double_CXXFILES)) +test-clib-math-c99-double_OBJC_NARCHFILES := $(filter-out $(test-clib-math-c99-double_ARCHFILES),$(test-clib-math-c99-double_OBJCFILES)) + +TMP_FILES := $(test-clib-math-c99-double_C_NARCHFILES) $(test-clib-math-c99-double_CXX_NARCHFILES) $(test-clib-math-c99-double_ASMFILES) $(test-clib-math-c99-double_OBJC_NARCHFILES) +test-clib-math-c99-double_OBJS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-clib-math-c99-double_DEPS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-clib-math-c99-double_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-clib-math-c99-double_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-c99-double_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-clib-math-c99-double_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-clib-math-c99-double_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-clib-math-c99-double_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-c99-double_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-clib-math-c99-double_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-clib-math-c99-double_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-clib-math-c99-double_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-c99-double_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-clib-math-c99-double_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-clib-math-c99-double_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-clib-math-c99-double_LDFLAGS := +endif + +test-clib-math-c99-double_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-clib-math-c99-double_COVERAGE := yes +test-clib-math-c99-double_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-clib-math-c99-double_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-clib-math-c99-double_CFLAGS := $(strip $(test-clib-math-c99-double_COVERAGEFLAGS) $(test-clib-math-c99-double_CFLAGS)) +test-clib-math-c99-double_CXXFLAGS := $(strip $(test-clib-math-c99-double_COVERAGEFLAGS) $(test-clib-math-c99-double_CXXFLAGS)) +test-clib-math-c99-double_LIBS += $(test-clib-math-c99-double_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-clib-math-c99-double_FUNCINSTR := yes +test-clib-math-c99-double_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-clib-math-c99-double_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-clib-math-c99-double_CFLAGS := $(strip $(test-clib-math-c99-double_INSTRFUNCFLAGS) $(test-clib-math-c99-double_CFLAGS)) +test-clib-math-c99-double_CXXFLAGS := $(strip $(test-clib-math-c99-double_INSTRFUNCFLAGS) $(test-clib-math-c99-double_CXXFLAGS)) +test-clib-math-c99-double_LIBS += $(test-clib-math-c99-double_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-clib-math-c99-double_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-c99-double_CFLAGS)) +test-clib-math-c99-double_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-c99-double_CXXFLAGS)) +endif +endif +test-clib-math-c99-double_AFLAGS := $(AFLAGS) +ifneq (,) + test-clib-math-c99-double_DFLAGS := +else + test-clib-math-c99-double_DFLAGS := $(test-clib-math-c99-double_CFLAGS) +endif +ifneq (,) + test-clib-math-c99-double_DXXFLAGS := +else + test-clib-math-c99-double_DXXFLAGS := $(test-clib-math-c99-double_CXXFLAGS) +endif +ifeq (target,target) +test-clib-math-c99-double_LDFLAGS := $(test-clib-math-c99-double_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-clib-math-c99-double_LDFLAGS := $(test-clib-math-c99-double_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-clib-math-c99-double_LDFLAGS := $(test-clib-math-c99-double_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-clib-math-c99-double_LDFLAGS += -L +endif + +#MM +test-clib-math-c99-double-quick : test-clib-math-c99-double + +#MM test-clib-math-c99-double : includes-generate-deps core-linklibs +test-clib-math-c99-double : $(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) + +ifneq ($(filter $(TARGET),test-clib-math-c99-double test-clib-math-c99-double-quick test-clib-math-c99-double-gz-quick),) + +test-clib-math-c99-double_CXXABSBASENAMES := $(foreach test-clib-math-c99-double_CXXBASE,$(test-clib-math-c99-double_CXX_NARCHFILES),$(if $(filter /%,$(test-clib-math-c99-double_CXXBASE)),$(test-clib-math-c99-double_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-clib-math-c99-double_CXXBASE)))) + +ifneq ($(test-clib-math-c99-double_CXXABSBASENAMES),) + +test-clib-math-c99-double_CXXBASENAMES := $(basename $(test-clib-math-c99-double_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-clib-math-c99-double_MCXX_FILES := $(strip $(foreach test-clib-math-c99-double_CXXBASE,$(test-clib-math-c99-double_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-clib-math-c99-double_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-clib-math-c99-double_EXT),$(test-clib-math-c99-double_CXXBASE))))))) + +ifeq (,) +test-clib-math-c99-double_MCXX_SRCWILDCARD := % +else +test-clib-math-c99-double_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-c99-double_OBJDIR),) + test-clib-math-c99-double_CXXTARGETS := $(notdir $(test-clib-math-c99-double_CXXBASENAMES:=.o)) + test-clib-math-c99-double_CXXDTARGETS := $(notdir $(test-clib-math-c99-double_CXXBASENAMES:=.d)) + test-clib-math-c99-double_MCXX_WILDCARD := % +else + test-clib-math-c99-double_CXXTARGETS := $(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(notdir $(test-clib-math-c99-double_CXXBASENAMES:=.o))) + test-clib-math-c99-double_CXXDTARGETS := $(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(notdir $(test-clib-math-c99-double_CXXBASENAMES:=.d))) + test-clib-math-c99-double_MCXX_WILDCARD := $(test-clib-math-c99-double_OBJDIR)/% + + # Be sure that all source files are generated + $(test-clib-math-c99-double_CXXTARGETS) $(test-clib-math-c99-double_CXXDTARGETS) : | $(test-clib-math-c99-double_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-clib-math-c99-double_MCXX_CPPFLAGS := $(test-clib-math-c99-double_CPPFLAGS) +test-clib-math-c99-double_CXXFLAGS := $(test-clib-math-c99-double_CXXFLAGS) +ifeq ($(test-clib-math-c99-double_DXXFLAGS),) + test-clib-math-c99-double_DXXFLAGS := $(test-clib-math-c99-double_CXXFLAGS) +else + test-clib-math-c99-double_DXXFLAGS := $(test-clib-math-c99-double_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-clib-math-c99-double_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-clib-math-c99-double_STRIP ?= $(HOST_STRIP) + test-clib-math-c99-double_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-clib-math-c99-double_CXXCMD:=$(HOST_CXX) + test-clib-math-c99-double_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-clib-math-c99-double_MCXX_CPPFLAGS) $(test-clib-math-c99-double_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-c99-double_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-c99-double_CXXFLAGS)) + test-clib-math-c99-double_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-c99-double_DXXFLAGS)) + test-clib-math-c99-double_CXXIQUOTE:=$(HOST_IQUOTE) + test-clib-math-c99-double_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-clib-math-c99-double_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-c99-double_STRIP ?= $(TARGET_STRIP) + test-clib-math-c99-double_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-clib-math-c99-double_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-clib-math-c99-double_MCXX_CPPFLAGS := $(strip $(test-clib-math-c99-double_MCXX_CPPFLAGS) $(test-clib-math-c99-double_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-c99-double_CXXFLAGS := $(strip $(test-clib-math-c99-double_CXXFLAGS) $(SAFETY_CFLAGS)) + test-clib-math-c99-double_DXXFLAGS := $(test-clib-math-c99-double_DXXFLAGS) + test-clib-math-c99-double_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-clib-math-c99-double_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-clib-math-c99-double_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-c99-double_STRIP ?= $(ECHO) >/dev/null + test-clib-math-c99-double_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-clib-math-c99-double_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-clib-math-c99-double_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-clib-math-c99-double_MCXX_CPPFLAGS) $(test-clib-math-c99-double_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-c99-double_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-c99-double_CXXFLAGS)) + test-clib-math-c99-double_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-c99-double_DXXFLAGS)) + test-clib-math-c99-double_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-clib-math-c99-double_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-clib-math-c99-double_CXXCMD) $(test-clib-math-c99-double_CXXIQUOTE) $(dir $(2)) $(test-clib-math-c99-double_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_CXXIQUOTE) . $(test-clib-math-c99-double_CXXIQUOTE_END) $(strip $(test-clib-math-c99-double_CXXFLAGS) $(test-clib-math-c99-double_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-clib-math-c99-double_CXXCMD) $(test-clib-math-c99-double_CXXIQUOTE) $(dir $(2)) $(test-clib-math-c99-double_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_CXXIQUOTE) . $(test-clib-math-c99-double_CXXIQUOTE_END) $(strip $(test-clib-math-c99-double_CXXFLAGS) $(test-clib-math-c99-double_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-clib-math-c99-double_CXXCMD) $(test-clib-math-c99-double_CXXIQUOTE) $(dir $(2)) $(test-clib-math-c99-double_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_CXXIQUOTE) . $(test-clib-math-c99-double_CXXIQUOTE_END) $(strip $(test-clib-math-c99-double_CXXFLAGS) $(test-clib-math-c99-double_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-clib-math-c99-double_CXXCMD)" $(MKDEPEND) $(strip $(test-clib-math-c99-double_DXXFLAGS) $(test-clib-math-c99-double_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-clib-math-c99-double_OBJDIR),) + $(foreach test-clib-math-c99-double_CXXFILE,$(test-clib-math-c99-double_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-clib-math-c99-double_CXXFILE))),$(test-clib-math-c99-double_CXXFILE)))) +else + $(foreach test-clib-math-c99-double_CXXFILE,$(test-clib-math-c99-double_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(notdir $(basename $(test-clib-math-c99-double_CXXFILE)))),$(test-clib-math-c99-double_CXXFILE)))) +endif + +endif + + +ifneq ($(test-clib-math-c99-double_OBJC_NARCHFILES),) + +ifeq (,) +test-clib-math-c99-double_MOBJC_SRCWILDCARD := % +else +test-clib-math-c99-double_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-c99-double_OBJDIR),) + test-clib-math-c99-double_MOBJC_TARGETS := $(addsuffix .o,$(test-clib-math-c99-double_OBJC_NARCHFILES)) + test-clib-math-c99-double_MOBJC_DTARGETS := $(addsuffix .d,$(test-clib-math-c99-double_OBJC_NARCHFILES)) + test-clib-math-c99-double_MOBJC_WILDCARD := % +else + test-clib-math-c99-double_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(test-clib-math-c99-double_OBJC_NARCHFILES))) + test-clib-math-c99-double_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(test-clib-math-c99-double_OBJC_NARCHFILES))) + test-clib-math-c99-double_MOBJC_WILDCARD := $(test-clib-math-c99-double_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-clib-math-c99-double_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-clib-math-c99-double_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-clib-math-c99-double_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-c99-double_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-clib-math-c99-double_MOBJC_DIRS := $(foreach dir, $(test-clib-math-c99-double_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-c99-double_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-clib-math-c99-double_MOBJC_DIRS),) + test-clib-math-c99-double_MOBJC_DIRS := $(shell echo $(test-clib-math-c99-double_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-clib-math-c99-double_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-clib-math-c99-double_CC := $(TARGET_CC) +else + test-clib-math-c99-double_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-clib-math-c99-double_MOBJC_CPPFLAGS := $(test-clib-math-c99-double_CPPFLAGS) +test-clib-math-c99-double_OBJCFLAGS := $(test-clib-math-c99-double_CFLAGS) +test-clib-math-c99-double_OBJCFLAGS := $(test-clib-math-c99-double_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-clib-math-c99-double_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-clib-math-c99-double_OBJCFLAGS))) +ifeq ($(test-clib-math-c99-double_DFLAGS),) + test-clib-math-c99-double_OBJCDFLAGS := $(test-clib-math-c99-double_CFLAGS) +else + test-clib-math-c99-double_OBJCDFLAGS := $(test-clib-math-c99-double_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-clib-math-c99-double_LINK ?= $(strip $(test-clib-math-c99-double_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-c99-double_STRIP ?= $(TARGET_STRIP) + test-clib-math-c99-double_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : CMD:=$(strip $(test-clib-math-c99-double_CC) $(TARGET_SYSROOT)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_MOBJC_CPPFLAGS:=$(strip $(test-clib-math-c99-double_MOBJC_CPPFLAGS) $(test-clib-math-c99-double_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_OBJCFLAGS:=$(strip $(test-clib-math-c99-double_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_OBJCDFLAGS:=$(test-clib-math-c99-double_OBJCDFLAGS) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-clib-math-c99-double_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-clib-math-c99-double_STRIP ?= $(HOST_STRIP) + test-clib-math-c99-double_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-clib-math-c99-double_MOBJC_CPPFLAGS) $(test-clib-math-c99-double_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-c99-double_OBJCFLAGS)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-c99-double_OBJCDFLAGS)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_IQUOTE:=$(HOST_IQUOTE) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-clib-math-c99-double_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-c99-double_STRIP ?= $(ECHO) >/dev/null + test-clib-math-c99-double_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-clib-math-c99-double_MOBJC_CPPFLAGS) $(test-clib-math-c99-double_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-c99-double_OBJCFLAGS)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-c99-double_OBJCDFLAGS)) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_IQUOTE:=$(KERNEL_IQUOTE) + $(test-clib-math-c99-double_MOBJC_TARGETS) $(test-clib-math-c99-double_MOBJC_DTARGETS) : test-clib-math-c99-double_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-c99-double_MOBJC_TARGETS) : CPPFLAGS := $(test-clib-math-c99-double_MOBJC_CPPFLAGS) +$(test-clib-math-c99-double_MOBJC_TARGETS) : CFLAGS := $(test-clib-math-c99-double_OBJCFLAGS) +$(test-clib-math-c99-double_MOBJC_TARGETS) : $(test-clib-math-c99-double_MOBJC_WILDCARD).o : $(test-clib-math-c99-double_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-c99-double_IQUOTE) $(dir $<) $(test-clib-math-c99-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_IQUOTE) . $(test-clib-math-c99-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-c99-double_IQUOTE) $(dir $<) $(test-clib-math-c99-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_IQUOTE) . $(test-clib-math-c99-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-c99-double_IQUOTE) $(dir $<) $(test-clib-math-c99-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_IQUOTE) . $(test-clib-math-c99-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-c99-double_MOBJC_DTARGETS) : $(test-clib-math-c99-double_MOBJC_WILDCARD).d : $(test-clib-math-c99-double_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-c99-double_OBJCDFLAGS) $(test-clib-math-c99-double_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-clib-math-c99-double_MC_SRCWILDCARD := % +else +test-clib-math-c99-double_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-c99-double_OBJDIR),) +test-clib-math-c99-double_MC_TARGETS := $(addsuffix .o,$(test-clib-math-c99-double_C_NARCHFILES)) +test-clib-math-c99-double_MC_DTARGETS := $(addsuffix .d,$(test-clib-math-c99-double_C_NARCHFILES)) +test-clib-math-c99-double_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-clib-math-c99-double_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(notdir $(test-clib-math-c99-double_C_NARCHFILES)))) + test-clib-math-c99-double_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(notdir $(test-clib-math-c99-double_C_NARCHFILES)))) +else +ifeq (,) + test-clib-math-c99-double_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(test-clib-math-c99-double_C_NARCHFILES))) + test-clib-math-c99-double_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(test-clib-math-c99-double_C_NARCHFILES))) +else + test-clib-math-c99-double_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-c99-double_C_NARCHFILES)))) + test-clib-math-c99-double_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-c99-double_C_NARCHFILES)))) +endif +endif +test-clib-math-c99-double_MC_TGTWILDCARD := $(test-clib-math-c99-double_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : | $(addsuffix .c,$(test-clib-math-c99-double_C_NARCHFILES)) + +# Be sure that all .c files are found +test-clib-math-c99-double_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-c99-double_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-c99-double_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-c99-double_MC_DIRS := $(foreach dir, $(test-clib-math-c99-double_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-c99-double_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-c99-double_MC_DIRS),) + test-clib-math-c99-double_MC_DIRS := $(shell echo $(test-clib-math-c99-double_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-clib-math-c99-double_MC_DIRS) +endif + +endif + +test-clib-math-c99-double_MC_CPPFLAGS := $(test-clib-math-c99-double_CPPFLAGS) +test-clib-math-c99-double_CFLAGS := $(test-clib-math-c99-double_CFLAGS) +ifeq ($(test-clib-math-c99-double_DFLAGS),) + test-clib-math-c99-double_DFLAGS := $(test-clib-math-c99-double_CFLAGS) +else + test-clib-math-c99-double_DFLAGS := $(test-clib-math-c99-double_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-clib-math-c99-double_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-clib-math-c99-double_STRIP ?= $(TARGET_STRIP) +test-clib-math-c99-double_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_MC_CPPFLAGS:=$(strip $(test-clib-math-c99-double_MC_CPPFLAGS) $(test-clib-math-c99-double_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_CFLAGS:=$(strip $(test-clib-math-c99-double_CFLAGS) $(SAFETY_CFLAGS)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_DFLAGS:=$(test-clib-math-c99-double_DFLAGS) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-clib-math-c99-double_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-clib-math-c99-double_STRIP ?= $(HOST_STRIP) +test-clib-math-c99-double_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-clib-math-c99-double_MC_CPPFLAGS) $(test-clib-math-c99-double_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-c99-double_CFLAGS)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-c99-double_DFLAGS)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_IQUOTE:=$(HOST_IQUOTE) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-clib-math-c99-double_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-clib-math-c99-double_STRIP ?= $(ECHO) >/dev/null +test-clib-math-c99-double_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-clib-math-c99-double_MC_CPPFLAGS) $(test-clib-math-c99-double_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-c99-double_CFLAGS)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-c99-double_DFLAGS)) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_IQUOTE:=$(KERNEL_IQUOTE) +$(test-clib-math-c99-double_MC_TARGETS) $(test-clib-math-c99-double_MC_DTARGETS) : test-clib-math-c99-double_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-c99-double_MC_TARGETS) : CPPFLAGS := $(test-clib-math-c99-double_MC_CPPFLAGS) +$(test-clib-math-c99-double_MC_TARGETS) : CFLAGS := $(test-clib-math-c99-double_CFLAGS) +$(test-clib-math-c99-double_MC_TARGETS) : $(test-clib-math-c99-double_MC_TGTWILDCARD).o : $(test-clib-math-c99-double_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-c99-double_IQUOTE) $(dir $<) $(test-clib-math-c99-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_IQUOTE) . $(test-clib-math-c99-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-c99-double_IQUOTE) $(dir $<) $(test-clib-math-c99-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_IQUOTE) . $(test-clib-math-c99-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-c99-double_IQUOTE) $(dir $<) $(test-clib-math-c99-double_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-c99-double_IQUOTE) . $(test-clib-math-c99-double_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-c99-double_MC_DTARGETS) : $(test-clib-math-c99-double_MC_TGTWILDCARD).d : $(test-clib-math-c99-double_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-c99-double_DFLAGS) $(test-clib-math-c99-double_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-clib-math-c99-double_OBJDIR),) +test-clib-math-c99-double-MA_TARGETS := $(addsuffix .o,$(test-clib-math-c99-double_ASMFILES)) +test-clib-math-c99-double-MA_WILDCARD := % +else +test-clib-math-c99-double-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-c99-double_OBJDIR)/,$(notdir $(test-clib-math-c99-double_ASMFILES)))) +test-clib-math-c99-double-MA_WILDCARD := $(test-clib-math-c99-double_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-clib-math-c99-double-MA_TARGETS) : | $(addsuffix .s,$(test-clib-math-c99-double_ASMFILES)) + +# Be sure that all .c files are found +test-clib-math-c99-double-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-c99-double-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-c99-double_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-c99-double-MA_DIRS := $(foreach dir, $(test-clib-math-c99-double-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-c99-double-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-c99-double-MA_DIRS),) + test-clib-math-c99-double-MA_DIRS := $(shell echo $(test-clib-math-c99-double-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-clib-math-c99-double-MA_DIRS) +endif + +endif + +test-clib-math-c99-double-MA_ASSEMBLER ?= $(test-clib-math-c99-double_ASSEMBLER) + +$(test-clib-math-c99-double-MA_TARGETS) : test-clib-math-c99-double-MA_CMD:= $(test-clib-math-c99-double-MA_ASSEMBLER) + +$(test-clib-math-c99-double-MA_TARGETS) : CPPFLAGS := $(test-clib-math-c99-double_CPPFLAGS) +$(test-clib-math-c99-double-MA_TARGETS) : AFLAGS := $(test-clib-math-c99-double_AFLAGS) +$(test-clib-math-c99-double-MA_TARGETS) : $(test-clib-math-c99-double-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-clib-math-c99-double-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-clib-math-c99-double-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-clib-math-c99-double-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-clib-math-c99-double-link_EXTRA_LDFLAGS := +test-clib-math-c99-double-link_EXTRA_LIBS := +ifeq (no,yes) + test-clib-math-c99-double-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-clib-math-c99-double-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-clib-math-c99-double-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-clib-math-c99-double-link_DIRS := $(subst -L ,-L,$(strip $(test-clib-math-c99-double_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-clib-math-c99-double-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-clib-math-c99-double-link_DIRS))) +# Add trailing / +test-clib-math-c99-double-link_DIRS := $(subst //,/,$(addsuffix /,$(test-clib-math-c99-double-link_DIRS))) +# Add normal linklib path +test-clib-math-c99-double-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-clib-math-c99-double-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-clib-math-c99-double_LIBS) $(test-clib-math-c99-double-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-clib-math-c99-double-link_LIBS += startup.o +endif +ifeq (no,yes) + test-clib-math-c99-double-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-clib-math-c99-double-link_DEPLIBS := $(foreach lib,$(test-clib-math-c99-double-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-clib-math-c99-double-link_DIRS)))) \ +) + +$(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) : OBJDIR := $(test-clib-math-c99-double_OBJDIR) +$(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) : OBJS := $(test-clib-math-c99-double_OBJS) $(test-clib-math-c99-double_ARCHOBJS) $(USER_OBJS) +$(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) : LDFLAGS := $(strip $(test-clib-math-c99-double_LDFLAGS) $(test-clib-math-c99-double-link_EXTRA_LDFLAGS)) +$(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) : LIBS := $(addprefix -l,$(test-clib-math-c99-double_LIBS) $(test-clib-math-c99-double-link_EXTRA_LIBS) ) +$(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) : $(test-clib-math-c99-double_OBJS) $(test-clib-math-c99-double_ARCHOBJS) $(USER_OBJS) $(test-clib-math-c99-double-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-clib-math-c99-double_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-clib-math-c99-double_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-clib-math-c99-double_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-c99-double_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-clib-math-c99-double_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-clib-math-c99-double_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-c99-double_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-clib-math-c99-double_DEPS),) + ifneq (test-clib-math-c99-double test-clib-math-c99-double-quick,) + ifneq ($(findstring $(TARGET),test-clib-math-c99-double test-clib-math-c99-double-quick),) + -include $(test-clib-math-c99-double_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-clib-math-c99-double_DEPS) + endif + endif +endif + + +ifneq ($(test-clib-math-c99-double_OBJS) $(test-clib-math-c99-double_DEPS) $(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME),) +$(test-clib-math-c99-double_OBJS) $(test-clib-math-c99-double_DEPS) $(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) : | $(test-clib-math-c99-double_OBJDIR) $(test-clib-math-c99-double_TARGETDIR) +else +$(test-clib-math-c99-double_OBJS) $(test-clib-math-c99-double_DEPS) $(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) :: $(test-clib-math-c99-double_OBJDIR) $(test-clib-math-c99-double_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-clib-math-c99-double_OBJDIR) $(test-clib-math-c99-double_TARGETDIR) + + +test-clib-math-c99-double-clean : FILES := $(test-clib-math-c99-double_OBJS) $(test-clib-math-c99-double_TARGETDIR)/$(test-clib-math-c99-double_PROGNAME) $(test-clib-math-c99-double_DEPS) +#MM +test-clib-math-c99-double-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-clib-math-c99-double" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-clib-math-ieee754 + +test-clib-math-ieee754_PROGNAME := math-ieee754 +test-clib-math-ieee754_OBJDIR := $(GENDIR)/$(CURDIR) +test-clib-math-ieee754_TARGETDIR := $(EXEDIR) +test-clib-math-ieee754_LINKER := +test-clib-math-ieee754_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-clib-math-ieee754_LINKER),) + test-clib-math-ieee754_LINKER := target +endif + +ifneq ("$(strip $(FILESIEEE754) )","") + test-clib-math-ieee754_FILES := $(FILESIEEE754) + test-clib-math-ieee754_OBJCFILES := + test-clib-math-ieee754_ASMFILES := + test-clib-math-ieee754_CXXFILES := +else + test-clib-math-ieee754_FILES := $(test-clib-math-ieee754_PROGNAME) + test-clib-math-ieee754_OBJCFILES := + test-clib-math-ieee754_ASMFILES := + test-clib-math-ieee754_CXXFILES := +endif + +test-clib-math-ieee754_ARCHOBJS := $(wildcard $(test-clib-math-ieee754_OBJDIR)/arch/*.o) +test-clib-math-ieee754_ARCHFILES := $(basename $(notdir $(test-clib-math-ieee754_ARCHOBJS))) +test-clib-math-ieee754_C_NARCHFILES := $(filter-out $(test-clib-math-ieee754_ARCHFILES),$(test-clib-math-ieee754_FILES)) +test-clib-math-ieee754_CXX_NARCHFILES := $(filter-out $(test-clib-math-ieee754_ARCHFILES),$(test-clib-math-ieee754_CXXFILES)) +test-clib-math-ieee754_OBJC_NARCHFILES := $(filter-out $(test-clib-math-ieee754_ARCHFILES),$(test-clib-math-ieee754_OBJCFILES)) + +TMP_FILES := $(test-clib-math-ieee754_C_NARCHFILES) $(test-clib-math-ieee754_CXX_NARCHFILES) $(test-clib-math-ieee754_ASMFILES) $(test-clib-math-ieee754_OBJC_NARCHFILES) +test-clib-math-ieee754_OBJS := $(addsuffix .o,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-clib-math-ieee754_DEPS := $(addsuffix .d,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-clib-math-ieee754_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-clib-math-ieee754_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-ieee754_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-clib-math-ieee754_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-clib-math-ieee754_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-clib-math-ieee754_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-ieee754_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-clib-math-ieee754_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-clib-math-ieee754_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-clib-math-ieee754_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-ieee754_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-clib-math-ieee754_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-clib-math-ieee754_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-clib-math-ieee754_LDFLAGS := +endif + +test-clib-math-ieee754_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-clib-math-ieee754_COVERAGE := yes +test-clib-math-ieee754_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-clib-math-ieee754_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-clib-math-ieee754_CFLAGS := $(strip $(test-clib-math-ieee754_COVERAGEFLAGS) $(test-clib-math-ieee754_CFLAGS)) +test-clib-math-ieee754_CXXFLAGS := $(strip $(test-clib-math-ieee754_COVERAGEFLAGS) $(test-clib-math-ieee754_CXXFLAGS)) +test-clib-math-ieee754_LIBS += $(test-clib-math-ieee754_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-clib-math-ieee754_FUNCINSTR := yes +test-clib-math-ieee754_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-clib-math-ieee754_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-clib-math-ieee754_CFLAGS := $(strip $(test-clib-math-ieee754_INSTRFUNCFLAGS) $(test-clib-math-ieee754_CFLAGS)) +test-clib-math-ieee754_CXXFLAGS := $(strip $(test-clib-math-ieee754_INSTRFUNCFLAGS) $(test-clib-math-ieee754_CXXFLAGS)) +test-clib-math-ieee754_LIBS += $(test-clib-math-ieee754_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-clib-math-ieee754_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-ieee754_CFLAGS)) +test-clib-math-ieee754_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-ieee754_CXXFLAGS)) +endif +endif +test-clib-math-ieee754_AFLAGS := $(AFLAGS) +ifneq (,) + test-clib-math-ieee754_DFLAGS := +else + test-clib-math-ieee754_DFLAGS := $(test-clib-math-ieee754_CFLAGS) +endif +ifneq (,) + test-clib-math-ieee754_DXXFLAGS := +else + test-clib-math-ieee754_DXXFLAGS := $(test-clib-math-ieee754_CXXFLAGS) +endif +ifeq (target,target) +test-clib-math-ieee754_LDFLAGS := $(test-clib-math-ieee754_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-clib-math-ieee754_LDFLAGS := $(test-clib-math-ieee754_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-clib-math-ieee754_LDFLAGS := $(test-clib-math-ieee754_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-clib-math-ieee754_LDFLAGS += -L +endif + +#MM +test-clib-math-ieee754-quick : test-clib-math-ieee754 + +#MM test-clib-math-ieee754 : includes-generate-deps core-linklibs +test-clib-math-ieee754 : $(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) + +ifneq ($(filter $(TARGET),test-clib-math-ieee754 test-clib-math-ieee754-quick test-clib-math-ieee754-gz-quick),) + +test-clib-math-ieee754_CXXABSBASENAMES := $(foreach test-clib-math-ieee754_CXXBASE,$(test-clib-math-ieee754_CXX_NARCHFILES),$(if $(filter /%,$(test-clib-math-ieee754_CXXBASE)),$(test-clib-math-ieee754_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-clib-math-ieee754_CXXBASE)))) + +ifneq ($(test-clib-math-ieee754_CXXABSBASENAMES),) + +test-clib-math-ieee754_CXXBASENAMES := $(basename $(test-clib-math-ieee754_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-clib-math-ieee754_MCXX_FILES := $(strip $(foreach test-clib-math-ieee754_CXXBASE,$(test-clib-math-ieee754_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-clib-math-ieee754_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-clib-math-ieee754_EXT),$(test-clib-math-ieee754_CXXBASE))))))) + +ifeq (,) +test-clib-math-ieee754_MCXX_SRCWILDCARD := % +else +test-clib-math-ieee754_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-ieee754_OBJDIR),) + test-clib-math-ieee754_CXXTARGETS := $(notdir $(test-clib-math-ieee754_CXXBASENAMES:=.o)) + test-clib-math-ieee754_CXXDTARGETS := $(notdir $(test-clib-math-ieee754_CXXBASENAMES:=.d)) + test-clib-math-ieee754_MCXX_WILDCARD := % +else + test-clib-math-ieee754_CXXTARGETS := $(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(notdir $(test-clib-math-ieee754_CXXBASENAMES:=.o))) + test-clib-math-ieee754_CXXDTARGETS := $(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(notdir $(test-clib-math-ieee754_CXXBASENAMES:=.d))) + test-clib-math-ieee754_MCXX_WILDCARD := $(test-clib-math-ieee754_OBJDIR)/% + + # Be sure that all source files are generated + $(test-clib-math-ieee754_CXXTARGETS) $(test-clib-math-ieee754_CXXDTARGETS) : | $(test-clib-math-ieee754_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-clib-math-ieee754_MCXX_CPPFLAGS := $(test-clib-math-ieee754_CPPFLAGS) +test-clib-math-ieee754_CXXFLAGS := $(test-clib-math-ieee754_CXXFLAGS) +ifeq ($(test-clib-math-ieee754_DXXFLAGS),) + test-clib-math-ieee754_DXXFLAGS := $(test-clib-math-ieee754_CXXFLAGS) +else + test-clib-math-ieee754_DXXFLAGS := $(test-clib-math-ieee754_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-clib-math-ieee754_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-clib-math-ieee754_STRIP ?= $(HOST_STRIP) + test-clib-math-ieee754_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-clib-math-ieee754_CXXCMD:=$(HOST_CXX) + test-clib-math-ieee754_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-clib-math-ieee754_MCXX_CPPFLAGS) $(test-clib-math-ieee754_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-ieee754_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-ieee754_CXXFLAGS)) + test-clib-math-ieee754_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-ieee754_DXXFLAGS)) + test-clib-math-ieee754_CXXIQUOTE:=$(HOST_IQUOTE) + test-clib-math-ieee754_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-clib-math-ieee754_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-ieee754_STRIP ?= $(TARGET_STRIP) + test-clib-math-ieee754_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-clib-math-ieee754_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-clib-math-ieee754_MCXX_CPPFLAGS := $(strip $(test-clib-math-ieee754_MCXX_CPPFLAGS) $(test-clib-math-ieee754_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-ieee754_CXXFLAGS := $(strip $(test-clib-math-ieee754_CXXFLAGS) $(SAFETY_CFLAGS)) + test-clib-math-ieee754_DXXFLAGS := $(test-clib-math-ieee754_DXXFLAGS) + test-clib-math-ieee754_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-clib-math-ieee754_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-clib-math-ieee754_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-ieee754_STRIP ?= $(ECHO) >/dev/null + test-clib-math-ieee754_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-clib-math-ieee754_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-clib-math-ieee754_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-clib-math-ieee754_MCXX_CPPFLAGS) $(test-clib-math-ieee754_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-ieee754_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-ieee754_CXXFLAGS)) + test-clib-math-ieee754_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-ieee754_DXXFLAGS)) + test-clib-math-ieee754_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-clib-math-ieee754_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-clib-math-ieee754_CXXCMD) $(test-clib-math-ieee754_CXXIQUOTE) $(dir $(2)) $(test-clib-math-ieee754_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_CXXIQUOTE) . $(test-clib-math-ieee754_CXXIQUOTE_END) $(strip $(test-clib-math-ieee754_CXXFLAGS) $(test-clib-math-ieee754_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-clib-math-ieee754_CXXCMD) $(test-clib-math-ieee754_CXXIQUOTE) $(dir $(2)) $(test-clib-math-ieee754_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_CXXIQUOTE) . $(test-clib-math-ieee754_CXXIQUOTE_END) $(strip $(test-clib-math-ieee754_CXXFLAGS) $(test-clib-math-ieee754_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-clib-math-ieee754_CXXCMD) $(test-clib-math-ieee754_CXXIQUOTE) $(dir $(2)) $(test-clib-math-ieee754_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_CXXIQUOTE) . $(test-clib-math-ieee754_CXXIQUOTE_END) $(strip $(test-clib-math-ieee754_CXXFLAGS) $(test-clib-math-ieee754_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-clib-math-ieee754_CXXCMD)" $(MKDEPEND) $(strip $(test-clib-math-ieee754_DXXFLAGS) $(test-clib-math-ieee754_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-clib-math-ieee754_OBJDIR),) + $(foreach test-clib-math-ieee754_CXXFILE,$(test-clib-math-ieee754_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-clib-math-ieee754_CXXFILE))),$(test-clib-math-ieee754_CXXFILE)))) +else + $(foreach test-clib-math-ieee754_CXXFILE,$(test-clib-math-ieee754_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(notdir $(basename $(test-clib-math-ieee754_CXXFILE)))),$(test-clib-math-ieee754_CXXFILE)))) +endif + +endif + + +ifneq ($(test-clib-math-ieee754_OBJC_NARCHFILES),) + +ifeq (,) +test-clib-math-ieee754_MOBJC_SRCWILDCARD := % +else +test-clib-math-ieee754_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-ieee754_OBJDIR),) + test-clib-math-ieee754_MOBJC_TARGETS := $(addsuffix .o,$(test-clib-math-ieee754_OBJC_NARCHFILES)) + test-clib-math-ieee754_MOBJC_DTARGETS := $(addsuffix .d,$(test-clib-math-ieee754_OBJC_NARCHFILES)) + test-clib-math-ieee754_MOBJC_WILDCARD := % +else + test-clib-math-ieee754_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(test-clib-math-ieee754_OBJC_NARCHFILES))) + test-clib-math-ieee754_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(test-clib-math-ieee754_OBJC_NARCHFILES))) + test-clib-math-ieee754_MOBJC_WILDCARD := $(test-clib-math-ieee754_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-clib-math-ieee754_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-clib-math-ieee754_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-clib-math-ieee754_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-ieee754_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-clib-math-ieee754_MOBJC_DIRS := $(foreach dir, $(test-clib-math-ieee754_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-ieee754_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-clib-math-ieee754_MOBJC_DIRS),) + test-clib-math-ieee754_MOBJC_DIRS := $(shell echo $(test-clib-math-ieee754_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-clib-math-ieee754_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-clib-math-ieee754_CC := $(TARGET_CC) +else + test-clib-math-ieee754_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-clib-math-ieee754_MOBJC_CPPFLAGS := $(test-clib-math-ieee754_CPPFLAGS) +test-clib-math-ieee754_OBJCFLAGS := $(test-clib-math-ieee754_CFLAGS) +test-clib-math-ieee754_OBJCFLAGS := $(test-clib-math-ieee754_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-clib-math-ieee754_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-clib-math-ieee754_OBJCFLAGS))) +ifeq ($(test-clib-math-ieee754_DFLAGS),) + test-clib-math-ieee754_OBJCDFLAGS := $(test-clib-math-ieee754_CFLAGS) +else + test-clib-math-ieee754_OBJCDFLAGS := $(test-clib-math-ieee754_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-clib-math-ieee754_LINK ?= $(strip $(test-clib-math-ieee754_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-ieee754_STRIP ?= $(TARGET_STRIP) + test-clib-math-ieee754_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : CMD:=$(strip $(test-clib-math-ieee754_CC) $(TARGET_SYSROOT)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_MOBJC_CPPFLAGS:=$(strip $(test-clib-math-ieee754_MOBJC_CPPFLAGS) $(test-clib-math-ieee754_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_OBJCFLAGS:=$(strip $(test-clib-math-ieee754_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_OBJCDFLAGS:=$(test-clib-math-ieee754_OBJCDFLAGS) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-clib-math-ieee754_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-clib-math-ieee754_STRIP ?= $(HOST_STRIP) + test-clib-math-ieee754_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-clib-math-ieee754_MOBJC_CPPFLAGS) $(test-clib-math-ieee754_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-ieee754_OBJCFLAGS)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-ieee754_OBJCDFLAGS)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_IQUOTE:=$(HOST_IQUOTE) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-clib-math-ieee754_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-ieee754_STRIP ?= $(ECHO) >/dev/null + test-clib-math-ieee754_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-clib-math-ieee754_MOBJC_CPPFLAGS) $(test-clib-math-ieee754_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-ieee754_OBJCFLAGS)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-ieee754_OBJCDFLAGS)) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_IQUOTE:=$(KERNEL_IQUOTE) + $(test-clib-math-ieee754_MOBJC_TARGETS) $(test-clib-math-ieee754_MOBJC_DTARGETS) : test-clib-math-ieee754_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-ieee754_MOBJC_TARGETS) : CPPFLAGS := $(test-clib-math-ieee754_MOBJC_CPPFLAGS) +$(test-clib-math-ieee754_MOBJC_TARGETS) : CFLAGS := $(test-clib-math-ieee754_OBJCFLAGS) +$(test-clib-math-ieee754_MOBJC_TARGETS) : $(test-clib-math-ieee754_MOBJC_WILDCARD).o : $(test-clib-math-ieee754_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-ieee754_IQUOTE) $(dir $<) $(test-clib-math-ieee754_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_IQUOTE) . $(test-clib-math-ieee754_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-ieee754_IQUOTE) $(dir $<) $(test-clib-math-ieee754_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_IQUOTE) . $(test-clib-math-ieee754_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-ieee754_IQUOTE) $(dir $<) $(test-clib-math-ieee754_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_IQUOTE) . $(test-clib-math-ieee754_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-ieee754_MOBJC_DTARGETS) : $(test-clib-math-ieee754_MOBJC_WILDCARD).d : $(test-clib-math-ieee754_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-ieee754_OBJCDFLAGS) $(test-clib-math-ieee754_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-clib-math-ieee754_MC_SRCWILDCARD := % +else +test-clib-math-ieee754_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-ieee754_OBJDIR),) +test-clib-math-ieee754_MC_TARGETS := $(addsuffix .o,$(test-clib-math-ieee754_C_NARCHFILES)) +test-clib-math-ieee754_MC_DTARGETS := $(addsuffix .d,$(test-clib-math-ieee754_C_NARCHFILES)) +test-clib-math-ieee754_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-clib-math-ieee754_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(notdir $(test-clib-math-ieee754_C_NARCHFILES)))) + test-clib-math-ieee754_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(notdir $(test-clib-math-ieee754_C_NARCHFILES)))) +else +ifeq (,) + test-clib-math-ieee754_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(test-clib-math-ieee754_C_NARCHFILES))) + test-clib-math-ieee754_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(test-clib-math-ieee754_C_NARCHFILES))) +else + test-clib-math-ieee754_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-ieee754_C_NARCHFILES)))) + test-clib-math-ieee754_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-ieee754_C_NARCHFILES)))) +endif +endif +test-clib-math-ieee754_MC_TGTWILDCARD := $(test-clib-math-ieee754_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : | $(addsuffix .c,$(test-clib-math-ieee754_C_NARCHFILES)) + +# Be sure that all .c files are found +test-clib-math-ieee754_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-ieee754_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-ieee754_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-ieee754_MC_DIRS := $(foreach dir, $(test-clib-math-ieee754_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-ieee754_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-ieee754_MC_DIRS),) + test-clib-math-ieee754_MC_DIRS := $(shell echo $(test-clib-math-ieee754_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-clib-math-ieee754_MC_DIRS) +endif + +endif + +test-clib-math-ieee754_MC_CPPFLAGS := $(test-clib-math-ieee754_CPPFLAGS) +test-clib-math-ieee754_CFLAGS := $(test-clib-math-ieee754_CFLAGS) +ifeq ($(test-clib-math-ieee754_DFLAGS),) + test-clib-math-ieee754_DFLAGS := $(test-clib-math-ieee754_CFLAGS) +else + test-clib-math-ieee754_DFLAGS := $(test-clib-math-ieee754_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-clib-math-ieee754_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-clib-math-ieee754_STRIP ?= $(TARGET_STRIP) +test-clib-math-ieee754_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_MC_CPPFLAGS:=$(strip $(test-clib-math-ieee754_MC_CPPFLAGS) $(test-clib-math-ieee754_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_CFLAGS:=$(strip $(test-clib-math-ieee754_CFLAGS) $(SAFETY_CFLAGS)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_DFLAGS:=$(test-clib-math-ieee754_DFLAGS) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-clib-math-ieee754_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-clib-math-ieee754_STRIP ?= $(HOST_STRIP) +test-clib-math-ieee754_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-clib-math-ieee754_MC_CPPFLAGS) $(test-clib-math-ieee754_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-ieee754_CFLAGS)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-ieee754_DFLAGS)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_IQUOTE:=$(HOST_IQUOTE) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-clib-math-ieee754_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-clib-math-ieee754_STRIP ?= $(ECHO) >/dev/null +test-clib-math-ieee754_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-clib-math-ieee754_MC_CPPFLAGS) $(test-clib-math-ieee754_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-ieee754_CFLAGS)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-ieee754_DFLAGS)) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_IQUOTE:=$(KERNEL_IQUOTE) +$(test-clib-math-ieee754_MC_TARGETS) $(test-clib-math-ieee754_MC_DTARGETS) : test-clib-math-ieee754_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-ieee754_MC_TARGETS) : CPPFLAGS := $(test-clib-math-ieee754_MC_CPPFLAGS) +$(test-clib-math-ieee754_MC_TARGETS) : CFLAGS := $(test-clib-math-ieee754_CFLAGS) +$(test-clib-math-ieee754_MC_TARGETS) : $(test-clib-math-ieee754_MC_TGTWILDCARD).o : $(test-clib-math-ieee754_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-ieee754_IQUOTE) $(dir $<) $(test-clib-math-ieee754_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_IQUOTE) . $(test-clib-math-ieee754_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-ieee754_IQUOTE) $(dir $<) $(test-clib-math-ieee754_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_IQUOTE) . $(test-clib-math-ieee754_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-ieee754_IQUOTE) $(dir $<) $(test-clib-math-ieee754_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-ieee754_IQUOTE) . $(test-clib-math-ieee754_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-ieee754_MC_DTARGETS) : $(test-clib-math-ieee754_MC_TGTWILDCARD).d : $(test-clib-math-ieee754_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-ieee754_DFLAGS) $(test-clib-math-ieee754_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-clib-math-ieee754_OBJDIR),) +test-clib-math-ieee754-MA_TARGETS := $(addsuffix .o,$(test-clib-math-ieee754_ASMFILES)) +test-clib-math-ieee754-MA_WILDCARD := % +else +test-clib-math-ieee754-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-ieee754_OBJDIR)/,$(notdir $(test-clib-math-ieee754_ASMFILES)))) +test-clib-math-ieee754-MA_WILDCARD := $(test-clib-math-ieee754_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-clib-math-ieee754-MA_TARGETS) : | $(addsuffix .s,$(test-clib-math-ieee754_ASMFILES)) + +# Be sure that all .c files are found +test-clib-math-ieee754-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-ieee754-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-ieee754_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-ieee754-MA_DIRS := $(foreach dir, $(test-clib-math-ieee754-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-ieee754-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-ieee754-MA_DIRS),) + test-clib-math-ieee754-MA_DIRS := $(shell echo $(test-clib-math-ieee754-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-clib-math-ieee754-MA_DIRS) +endif + +endif + +test-clib-math-ieee754-MA_ASSEMBLER ?= $(test-clib-math-ieee754_ASSEMBLER) + +$(test-clib-math-ieee754-MA_TARGETS) : test-clib-math-ieee754-MA_CMD:= $(test-clib-math-ieee754-MA_ASSEMBLER) + +$(test-clib-math-ieee754-MA_TARGETS) : CPPFLAGS := $(test-clib-math-ieee754_CPPFLAGS) +$(test-clib-math-ieee754-MA_TARGETS) : AFLAGS := $(test-clib-math-ieee754_AFLAGS) +$(test-clib-math-ieee754-MA_TARGETS) : $(test-clib-math-ieee754-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-clib-math-ieee754-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-clib-math-ieee754-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-clib-math-ieee754-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-clib-math-ieee754-link_EXTRA_LDFLAGS := +test-clib-math-ieee754-link_EXTRA_LIBS := +ifeq (no,yes) + test-clib-math-ieee754-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-clib-math-ieee754-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-clib-math-ieee754-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-clib-math-ieee754-link_DIRS := $(subst -L ,-L,$(strip $(test-clib-math-ieee754_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-clib-math-ieee754-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-clib-math-ieee754-link_DIRS))) +# Add trailing / +test-clib-math-ieee754-link_DIRS := $(subst //,/,$(addsuffix /,$(test-clib-math-ieee754-link_DIRS))) +# Add normal linklib path +test-clib-math-ieee754-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-clib-math-ieee754-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-clib-math-ieee754_LIBS) $(test-clib-math-ieee754-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-clib-math-ieee754-link_LIBS += startup.o +endif +ifeq (no,yes) + test-clib-math-ieee754-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-clib-math-ieee754-link_DEPLIBS := $(foreach lib,$(test-clib-math-ieee754-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-clib-math-ieee754-link_DIRS)))) \ +) + +$(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) : OBJDIR := $(test-clib-math-ieee754_OBJDIR) +$(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) : OBJS := $(test-clib-math-ieee754_OBJS) $(test-clib-math-ieee754_ARCHOBJS) $(USER_OBJS) +$(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) : LDFLAGS := $(strip $(test-clib-math-ieee754_LDFLAGS) $(test-clib-math-ieee754-link_EXTRA_LDFLAGS)) +$(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) : LIBS := $(addprefix -l,$(test-clib-math-ieee754_LIBS) $(test-clib-math-ieee754-link_EXTRA_LIBS) ) +$(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) : $(test-clib-math-ieee754_OBJS) $(test-clib-math-ieee754_ARCHOBJS) $(USER_OBJS) $(test-clib-math-ieee754-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-clib-math-ieee754_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-clib-math-ieee754_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-clib-math-ieee754_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-ieee754_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-clib-math-ieee754_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-clib-math-ieee754_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-ieee754_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-clib-math-ieee754_DEPS),) + ifneq (test-clib-math-ieee754 test-clib-math-ieee754-quick,) + ifneq ($(findstring $(TARGET),test-clib-math-ieee754 test-clib-math-ieee754-quick),) + -include $(test-clib-math-ieee754_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-clib-math-ieee754_DEPS) + endif + endif +endif + + +ifneq ($(test-clib-math-ieee754_OBJS) $(test-clib-math-ieee754_DEPS) $(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME),) +$(test-clib-math-ieee754_OBJS) $(test-clib-math-ieee754_DEPS) $(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) : | $(test-clib-math-ieee754_OBJDIR) $(test-clib-math-ieee754_TARGETDIR) +else +$(test-clib-math-ieee754_OBJS) $(test-clib-math-ieee754_DEPS) $(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) :: $(test-clib-math-ieee754_OBJDIR) $(test-clib-math-ieee754_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-clib-math-ieee754_OBJDIR) $(test-clib-math-ieee754_TARGETDIR) + + +test-clib-math-ieee754-clean : FILES := $(test-clib-math-ieee754_OBJS) $(test-clib-math-ieee754_TARGETDIR)/$(test-clib-math-ieee754_PROGNAME) $(test-clib-math-ieee754_DEPS) +#MM +test-clib-math-ieee754-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-clib-math-ieee754" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-clib-math-inftorture + +test-clib-math-inftorture_PROGNAME := math-inftorture +test-clib-math-inftorture_OBJDIR := $(GENDIR)/$(CURDIR) +test-clib-math-inftorture_TARGETDIR := $(EXEDIR) +test-clib-math-inftorture_LINKER := +test-clib-math-inftorture_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-clib-math-inftorture_LINKER),) + test-clib-math-inftorture_LINKER := target +endif + +ifneq ("$(strip $(FILESINFTORTURE) )","") + test-clib-math-inftorture_FILES := $(FILESINFTORTURE) + test-clib-math-inftorture_OBJCFILES := + test-clib-math-inftorture_ASMFILES := + test-clib-math-inftorture_CXXFILES := +else + test-clib-math-inftorture_FILES := $(test-clib-math-inftorture_PROGNAME) + test-clib-math-inftorture_OBJCFILES := + test-clib-math-inftorture_ASMFILES := + test-clib-math-inftorture_CXXFILES := +endif + +test-clib-math-inftorture_ARCHOBJS := $(wildcard $(test-clib-math-inftorture_OBJDIR)/arch/*.o) +test-clib-math-inftorture_ARCHFILES := $(basename $(notdir $(test-clib-math-inftorture_ARCHOBJS))) +test-clib-math-inftorture_C_NARCHFILES := $(filter-out $(test-clib-math-inftorture_ARCHFILES),$(test-clib-math-inftorture_FILES)) +test-clib-math-inftorture_CXX_NARCHFILES := $(filter-out $(test-clib-math-inftorture_ARCHFILES),$(test-clib-math-inftorture_CXXFILES)) +test-clib-math-inftorture_OBJC_NARCHFILES := $(filter-out $(test-clib-math-inftorture_ARCHFILES),$(test-clib-math-inftorture_OBJCFILES)) + +TMP_FILES := $(test-clib-math-inftorture_C_NARCHFILES) $(test-clib-math-inftorture_CXX_NARCHFILES) $(test-clib-math-inftorture_ASMFILES) $(test-clib-math-inftorture_OBJC_NARCHFILES) +test-clib-math-inftorture_OBJS := $(addsuffix .o,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-clib-math-inftorture_DEPS := $(addsuffix .d,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-clib-math-inftorture_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-clib-math-inftorture_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-inftorture_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-clib-math-inftorture_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-clib-math-inftorture_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-clib-math-inftorture_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-inftorture_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-clib-math-inftorture_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-clib-math-inftorture_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-clib-math-inftorture_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-clib-math-inftorture_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-clib-math-inftorture_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-clib-math-inftorture_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-clib-math-inftorture_LDFLAGS := +endif + +test-clib-math-inftorture_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-clib-math-inftorture_COVERAGE := yes +test-clib-math-inftorture_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-clib-math-inftorture_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-clib-math-inftorture_CFLAGS := $(strip $(test-clib-math-inftorture_COVERAGEFLAGS) $(test-clib-math-inftorture_CFLAGS)) +test-clib-math-inftorture_CXXFLAGS := $(strip $(test-clib-math-inftorture_COVERAGEFLAGS) $(test-clib-math-inftorture_CXXFLAGS)) +test-clib-math-inftorture_LIBS += $(test-clib-math-inftorture_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-clib-math-inftorture_FUNCINSTR := yes +test-clib-math-inftorture_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-clib-math-inftorture_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-clib-math-inftorture_CFLAGS := $(strip $(test-clib-math-inftorture_INSTRFUNCFLAGS) $(test-clib-math-inftorture_CFLAGS)) +test-clib-math-inftorture_CXXFLAGS := $(strip $(test-clib-math-inftorture_INSTRFUNCFLAGS) $(test-clib-math-inftorture_CXXFLAGS)) +test-clib-math-inftorture_LIBS += $(test-clib-math-inftorture_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-clib-math-inftorture_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-inftorture_CFLAGS)) +test-clib-math-inftorture_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-clib-math-inftorture_CXXFLAGS)) +endif +endif +test-clib-math-inftorture_AFLAGS := $(AFLAGS) +ifneq (,) + test-clib-math-inftorture_DFLAGS := +else + test-clib-math-inftorture_DFLAGS := $(test-clib-math-inftorture_CFLAGS) +endif +ifneq (,) + test-clib-math-inftorture_DXXFLAGS := +else + test-clib-math-inftorture_DXXFLAGS := $(test-clib-math-inftorture_CXXFLAGS) +endif +ifeq (target,target) +test-clib-math-inftorture_LDFLAGS := $(test-clib-math-inftorture_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-clib-math-inftorture_LDFLAGS := $(test-clib-math-inftorture_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-clib-math-inftorture_LDFLAGS := $(test-clib-math-inftorture_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-clib-math-inftorture_LDFLAGS += -L +endif + +#MM +test-clib-math-inftorture-quick : test-clib-math-inftorture + +#MM test-clib-math-inftorture : includes-generate-deps core-linklibs +test-clib-math-inftorture : $(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) + +ifneq ($(filter $(TARGET),test-clib-math-inftorture test-clib-math-inftorture-quick test-clib-math-inftorture-gz-quick),) + +test-clib-math-inftorture_CXXABSBASENAMES := $(foreach test-clib-math-inftorture_CXXBASE,$(test-clib-math-inftorture_CXX_NARCHFILES),$(if $(filter /%,$(test-clib-math-inftorture_CXXBASE)),$(test-clib-math-inftorture_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-clib-math-inftorture_CXXBASE)))) + +ifneq ($(test-clib-math-inftorture_CXXABSBASENAMES),) + +test-clib-math-inftorture_CXXBASENAMES := $(basename $(test-clib-math-inftorture_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-clib-math-inftorture_MCXX_FILES := $(strip $(foreach test-clib-math-inftorture_CXXBASE,$(test-clib-math-inftorture_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-clib-math-inftorture_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-clib-math-inftorture_EXT),$(test-clib-math-inftorture_CXXBASE))))))) + +ifeq (,) +test-clib-math-inftorture_MCXX_SRCWILDCARD := % +else +test-clib-math-inftorture_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-inftorture_OBJDIR),) + test-clib-math-inftorture_CXXTARGETS := $(notdir $(test-clib-math-inftorture_CXXBASENAMES:=.o)) + test-clib-math-inftorture_CXXDTARGETS := $(notdir $(test-clib-math-inftorture_CXXBASENAMES:=.d)) + test-clib-math-inftorture_MCXX_WILDCARD := % +else + test-clib-math-inftorture_CXXTARGETS := $(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(notdir $(test-clib-math-inftorture_CXXBASENAMES:=.o))) + test-clib-math-inftorture_CXXDTARGETS := $(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(notdir $(test-clib-math-inftorture_CXXBASENAMES:=.d))) + test-clib-math-inftorture_MCXX_WILDCARD := $(test-clib-math-inftorture_OBJDIR)/% + + # Be sure that all source files are generated + $(test-clib-math-inftorture_CXXTARGETS) $(test-clib-math-inftorture_CXXDTARGETS) : | $(test-clib-math-inftorture_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-clib-math-inftorture_MCXX_CPPFLAGS := $(test-clib-math-inftorture_CPPFLAGS) +test-clib-math-inftorture_CXXFLAGS := $(test-clib-math-inftorture_CXXFLAGS) +ifeq ($(test-clib-math-inftorture_DXXFLAGS),) + test-clib-math-inftorture_DXXFLAGS := $(test-clib-math-inftorture_CXXFLAGS) +else + test-clib-math-inftorture_DXXFLAGS := $(test-clib-math-inftorture_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-clib-math-inftorture_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-clib-math-inftorture_STRIP ?= $(HOST_STRIP) + test-clib-math-inftorture_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-clib-math-inftorture_CXXCMD:=$(HOST_CXX) + test-clib-math-inftorture_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-clib-math-inftorture_MCXX_CPPFLAGS) $(test-clib-math-inftorture_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-inftorture_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-inftorture_CXXFLAGS)) + test-clib-math-inftorture_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-clib-math-inftorture_DXXFLAGS)) + test-clib-math-inftorture_CXXIQUOTE:=$(HOST_IQUOTE) + test-clib-math-inftorture_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-clib-math-inftorture_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-inftorture_STRIP ?= $(TARGET_STRIP) + test-clib-math-inftorture_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-clib-math-inftorture_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-clib-math-inftorture_MCXX_CPPFLAGS := $(strip $(test-clib-math-inftorture_MCXX_CPPFLAGS) $(test-clib-math-inftorture_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-inftorture_CXXFLAGS := $(strip $(test-clib-math-inftorture_CXXFLAGS) $(SAFETY_CFLAGS)) + test-clib-math-inftorture_DXXFLAGS := $(test-clib-math-inftorture_DXXFLAGS) + test-clib-math-inftorture_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-clib-math-inftorture_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-clib-math-inftorture_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-inftorture_STRIP ?= $(ECHO) >/dev/null + test-clib-math-inftorture_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-clib-math-inftorture_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-clib-math-inftorture_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-clib-math-inftorture_MCXX_CPPFLAGS) $(test-clib-math-inftorture_MCXX_EXTRA_CPPFLAGS)) + test-clib-math-inftorture_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-inftorture_CXXFLAGS)) + test-clib-math-inftorture_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-clib-math-inftorture_DXXFLAGS)) + test-clib-math-inftorture_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-clib-math-inftorture_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-clib-math-inftorture_CXXCMD) $(test-clib-math-inftorture_CXXIQUOTE) $(dir $(2)) $(test-clib-math-inftorture_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_CXXIQUOTE) . $(test-clib-math-inftorture_CXXIQUOTE_END) $(strip $(test-clib-math-inftorture_CXXFLAGS) $(test-clib-math-inftorture_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-clib-math-inftorture_CXXCMD) $(test-clib-math-inftorture_CXXIQUOTE) $(dir $(2)) $(test-clib-math-inftorture_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_CXXIQUOTE) . $(test-clib-math-inftorture_CXXIQUOTE_END) $(strip $(test-clib-math-inftorture_CXXFLAGS) $(test-clib-math-inftorture_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-clib-math-inftorture_CXXCMD) $(test-clib-math-inftorture_CXXIQUOTE) $(dir $(2)) $(test-clib-math-inftorture_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_CXXIQUOTE) . $(test-clib-math-inftorture_CXXIQUOTE_END) $(strip $(test-clib-math-inftorture_CXXFLAGS) $(test-clib-math-inftorture_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-clib-math-inftorture_CXXCMD)" $(MKDEPEND) $(strip $(test-clib-math-inftorture_DXXFLAGS) $(test-clib-math-inftorture_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-clib-math-inftorture_OBJDIR),) + $(foreach test-clib-math-inftorture_CXXFILE,$(test-clib-math-inftorture_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-clib-math-inftorture_CXXFILE))),$(test-clib-math-inftorture_CXXFILE)))) +else + $(foreach test-clib-math-inftorture_CXXFILE,$(test-clib-math-inftorture_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(notdir $(basename $(test-clib-math-inftorture_CXXFILE)))),$(test-clib-math-inftorture_CXXFILE)))) +endif + +endif + + +ifneq ($(test-clib-math-inftorture_OBJC_NARCHFILES),) + +ifeq (,) +test-clib-math-inftorture_MOBJC_SRCWILDCARD := % +else +test-clib-math-inftorture_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-inftorture_OBJDIR),) + test-clib-math-inftorture_MOBJC_TARGETS := $(addsuffix .o,$(test-clib-math-inftorture_OBJC_NARCHFILES)) + test-clib-math-inftorture_MOBJC_DTARGETS := $(addsuffix .d,$(test-clib-math-inftorture_OBJC_NARCHFILES)) + test-clib-math-inftorture_MOBJC_WILDCARD := % +else + test-clib-math-inftorture_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(test-clib-math-inftorture_OBJC_NARCHFILES))) + test-clib-math-inftorture_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(test-clib-math-inftorture_OBJC_NARCHFILES))) + test-clib-math-inftorture_MOBJC_WILDCARD := $(test-clib-math-inftorture_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-clib-math-inftorture_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-clib-math-inftorture_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-clib-math-inftorture_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-inftorture_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-clib-math-inftorture_MOBJC_DIRS := $(foreach dir, $(test-clib-math-inftorture_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-inftorture_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-clib-math-inftorture_MOBJC_DIRS),) + test-clib-math-inftorture_MOBJC_DIRS := $(shell echo $(test-clib-math-inftorture_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-clib-math-inftorture_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-clib-math-inftorture_CC := $(TARGET_CC) +else + test-clib-math-inftorture_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-clib-math-inftorture_MOBJC_CPPFLAGS := $(test-clib-math-inftorture_CPPFLAGS) +test-clib-math-inftorture_OBJCFLAGS := $(test-clib-math-inftorture_CFLAGS) +test-clib-math-inftorture_OBJCFLAGS := $(test-clib-math-inftorture_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-clib-math-inftorture_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-clib-math-inftorture_OBJCFLAGS))) +ifeq ($(test-clib-math-inftorture_DFLAGS),) + test-clib-math-inftorture_OBJCDFLAGS := $(test-clib-math-inftorture_CFLAGS) +else + test-clib-math-inftorture_OBJCDFLAGS := $(test-clib-math-inftorture_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-clib-math-inftorture_LINK ?= $(strip $(test-clib-math-inftorture_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-clib-math-inftorture_STRIP ?= $(TARGET_STRIP) + test-clib-math-inftorture_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : CMD:=$(strip $(test-clib-math-inftorture_CC) $(TARGET_SYSROOT)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_MOBJC_CPPFLAGS:=$(strip $(test-clib-math-inftorture_MOBJC_CPPFLAGS) $(test-clib-math-inftorture_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_OBJCFLAGS:=$(strip $(test-clib-math-inftorture_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_OBJCDFLAGS:=$(test-clib-math-inftorture_OBJCDFLAGS) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-clib-math-inftorture_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-clib-math-inftorture_STRIP ?= $(HOST_STRIP) + test-clib-math-inftorture_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-clib-math-inftorture_MOBJC_CPPFLAGS) $(test-clib-math-inftorture_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-inftorture_OBJCFLAGS)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-inftorture_OBJCDFLAGS)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_IQUOTE:=$(HOST_IQUOTE) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-clib-math-inftorture_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-clib-math-inftorture_STRIP ?= $(ECHO) >/dev/null + test-clib-math-inftorture_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-clib-math-inftorture_MOBJC_CPPFLAGS) $(test-clib-math-inftorture_MOBJC_EXTRA_CPPFLAGS)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-inftorture_OBJCFLAGS)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-inftorture_OBJCDFLAGS)) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_IQUOTE:=$(KERNEL_IQUOTE) + $(test-clib-math-inftorture_MOBJC_TARGETS) $(test-clib-math-inftorture_MOBJC_DTARGETS) : test-clib-math-inftorture_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-inftorture_MOBJC_TARGETS) : CPPFLAGS := $(test-clib-math-inftorture_MOBJC_CPPFLAGS) +$(test-clib-math-inftorture_MOBJC_TARGETS) : CFLAGS := $(test-clib-math-inftorture_OBJCFLAGS) +$(test-clib-math-inftorture_MOBJC_TARGETS) : $(test-clib-math-inftorture_MOBJC_WILDCARD).o : $(test-clib-math-inftorture_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-inftorture_IQUOTE) $(dir $<) $(test-clib-math-inftorture_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_IQUOTE) . $(test-clib-math-inftorture_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-inftorture_IQUOTE) $(dir $<) $(test-clib-math-inftorture_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_IQUOTE) . $(test-clib-math-inftorture_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-inftorture_IQUOTE) $(dir $<) $(test-clib-math-inftorture_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_IQUOTE) . $(test-clib-math-inftorture_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-inftorture_MOBJC_DTARGETS) : $(test-clib-math-inftorture_MOBJC_WILDCARD).d : $(test-clib-math-inftorture_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-inftorture_OBJCDFLAGS) $(test-clib-math-inftorture_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-clib-math-inftorture_MC_SRCWILDCARD := % +else +test-clib-math-inftorture_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-clib-math-inftorture_OBJDIR),) +test-clib-math-inftorture_MC_TARGETS := $(addsuffix .o,$(test-clib-math-inftorture_C_NARCHFILES)) +test-clib-math-inftorture_MC_DTARGETS := $(addsuffix .d,$(test-clib-math-inftorture_C_NARCHFILES)) +test-clib-math-inftorture_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-clib-math-inftorture_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(notdir $(test-clib-math-inftorture_C_NARCHFILES)))) + test-clib-math-inftorture_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(notdir $(test-clib-math-inftorture_C_NARCHFILES)))) +else +ifeq (,) + test-clib-math-inftorture_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(test-clib-math-inftorture_C_NARCHFILES))) + test-clib-math-inftorture_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(test-clib-math-inftorture_C_NARCHFILES))) +else + test-clib-math-inftorture_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-inftorture_C_NARCHFILES)))) + test-clib-math-inftorture_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(patsubst /%,%,$(test-clib-math-inftorture_C_NARCHFILES)))) +endif +endif +test-clib-math-inftorture_MC_TGTWILDCARD := $(test-clib-math-inftorture_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : | $(addsuffix .c,$(test-clib-math-inftorture_C_NARCHFILES)) + +# Be sure that all .c files are found +test-clib-math-inftorture_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-inftorture_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-inftorture_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-inftorture_MC_DIRS := $(foreach dir, $(test-clib-math-inftorture_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-inftorture_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-inftorture_MC_DIRS),) + test-clib-math-inftorture_MC_DIRS := $(shell echo $(test-clib-math-inftorture_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-clib-math-inftorture_MC_DIRS) +endif + +endif + +test-clib-math-inftorture_MC_CPPFLAGS := $(test-clib-math-inftorture_CPPFLAGS) +test-clib-math-inftorture_CFLAGS := $(test-clib-math-inftorture_CFLAGS) +ifeq ($(test-clib-math-inftorture_DFLAGS),) + test-clib-math-inftorture_DFLAGS := $(test-clib-math-inftorture_CFLAGS) +else + test-clib-math-inftorture_DFLAGS := $(test-clib-math-inftorture_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-clib-math-inftorture_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-clib-math-inftorture_STRIP ?= $(TARGET_STRIP) +test-clib-math-inftorture_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_MC_CPPFLAGS:=$(strip $(test-clib-math-inftorture_MC_CPPFLAGS) $(test-clib-math-inftorture_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_CFLAGS:=$(strip $(test-clib-math-inftorture_CFLAGS) $(SAFETY_CFLAGS)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_DFLAGS:=$(test-clib-math-inftorture_DFLAGS) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-clib-math-inftorture_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-clib-math-inftorture_STRIP ?= $(HOST_STRIP) +test-clib-math-inftorture_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-clib-math-inftorture_MC_CPPFLAGS) $(test-clib-math-inftorture_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-inftorture_CFLAGS)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-clib-math-inftorture_DFLAGS)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_IQUOTE:=$(HOST_IQUOTE) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-clib-math-inftorture_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-clib-math-inftorture_STRIP ?= $(ECHO) >/dev/null +test-clib-math-inftorture_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-clib-math-inftorture_MC_CPPFLAGS) $(test-clib-math-inftorture_MC_EXTRA_CPPFLAGS)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-inftorture_CFLAGS)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-clib-math-inftorture_DFLAGS)) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_IQUOTE:=$(KERNEL_IQUOTE) +$(test-clib-math-inftorture_MC_TARGETS) $(test-clib-math-inftorture_MC_DTARGETS) : test-clib-math-inftorture_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-clib-math-inftorture_MC_TARGETS) : CPPFLAGS := $(test-clib-math-inftorture_MC_CPPFLAGS) +$(test-clib-math-inftorture_MC_TARGETS) : CFLAGS := $(test-clib-math-inftorture_CFLAGS) +$(test-clib-math-inftorture_MC_TARGETS) : $(test-clib-math-inftorture_MC_TGTWILDCARD).o : $(test-clib-math-inftorture_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-clib-math-inftorture_IQUOTE) $(dir $<) $(test-clib-math-inftorture_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_IQUOTE) . $(test-clib-math-inftorture_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-clib-math-inftorture_IQUOTE) $(dir $<) $(test-clib-math-inftorture_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_IQUOTE) . $(test-clib-math-inftorture_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-clib-math-inftorture_IQUOTE) $(dir $<) $(test-clib-math-inftorture_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-clib-math-inftorture_IQUOTE) . $(test-clib-math-inftorture_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-clib-math-inftorture_MC_DTARGETS) : $(test-clib-math-inftorture_MC_TGTWILDCARD).d : $(test-clib-math-inftorture_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-clib-math-inftorture_DFLAGS) $(test-clib-math-inftorture_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-clib-math-inftorture_OBJDIR),) +test-clib-math-inftorture-MA_TARGETS := $(addsuffix .o,$(test-clib-math-inftorture_ASMFILES)) +test-clib-math-inftorture-MA_WILDCARD := % +else +test-clib-math-inftorture-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-clib-math-inftorture_OBJDIR)/,$(notdir $(test-clib-math-inftorture_ASMFILES)))) +test-clib-math-inftorture-MA_WILDCARD := $(test-clib-math-inftorture_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-clib-math-inftorture-MA_TARGETS) : | $(addsuffix .s,$(test-clib-math-inftorture_ASMFILES)) + +# Be sure that all .c files are found +test-clib-math-inftorture-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-clib-math-inftorture-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-clib-math-inftorture_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-clib-math-inftorture-MA_DIRS := $(foreach dir, $(test-clib-math-inftorture-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-clib-math-inftorture-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-clib-math-inftorture-MA_DIRS),) + test-clib-math-inftorture-MA_DIRS := $(shell echo $(test-clib-math-inftorture-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-clib-math-inftorture-MA_DIRS) +endif + +endif + +test-clib-math-inftorture-MA_ASSEMBLER ?= $(test-clib-math-inftorture_ASSEMBLER) + +$(test-clib-math-inftorture-MA_TARGETS) : test-clib-math-inftorture-MA_CMD:= $(test-clib-math-inftorture-MA_ASSEMBLER) + +$(test-clib-math-inftorture-MA_TARGETS) : CPPFLAGS := $(test-clib-math-inftorture_CPPFLAGS) +$(test-clib-math-inftorture-MA_TARGETS) : AFLAGS := $(test-clib-math-inftorture_AFLAGS) +$(test-clib-math-inftorture-MA_TARGETS) : $(test-clib-math-inftorture-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-clib-math-inftorture-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-clib-math-inftorture-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-clib-math-inftorture-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-clib-math-inftorture-link_EXTRA_LDFLAGS := +test-clib-math-inftorture-link_EXTRA_LIBS := +ifeq (no,yes) + test-clib-math-inftorture-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-clib-math-inftorture-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-clib-math-inftorture-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-clib-math-inftorture-link_DIRS := $(subst -L ,-L,$(strip $(test-clib-math-inftorture_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-clib-math-inftorture-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-clib-math-inftorture-link_DIRS))) +# Add trailing / +test-clib-math-inftorture-link_DIRS := $(subst //,/,$(addsuffix /,$(test-clib-math-inftorture-link_DIRS))) +# Add normal linklib path +test-clib-math-inftorture-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-clib-math-inftorture-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-clib-math-inftorture_LIBS) $(test-clib-math-inftorture-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-clib-math-inftorture-link_LIBS += startup.o +endif +ifeq (no,yes) + test-clib-math-inftorture-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-clib-math-inftorture-link_DEPLIBS := $(foreach lib,$(test-clib-math-inftorture-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-clib-math-inftorture-link_DIRS)))) \ +) + +$(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) : OBJDIR := $(test-clib-math-inftorture_OBJDIR) +$(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) : OBJS := $(test-clib-math-inftorture_OBJS) $(test-clib-math-inftorture_ARCHOBJS) $(USER_OBJS) +$(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) : LDFLAGS := $(strip $(test-clib-math-inftorture_LDFLAGS) $(test-clib-math-inftorture-link_EXTRA_LDFLAGS)) +$(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) : LIBS := $(addprefix -l,$(test-clib-math-inftorture_LIBS) $(test-clib-math-inftorture-link_EXTRA_LIBS) ) +$(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) : $(test-clib-math-inftorture_OBJS) $(test-clib-math-inftorture_ARCHOBJS) $(USER_OBJS) $(test-clib-math-inftorture-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-clib-math-inftorture_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-clib-math-inftorture_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-clib-math-inftorture_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-inftorture_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-clib-math-inftorture_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-clib-math-inftorture_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-clib-math-inftorture_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-clib-math-inftorture_DEPS),) + ifneq (test-clib-math-inftorture test-clib-math-inftorture-quick,) + ifneq ($(findstring $(TARGET),test-clib-math-inftorture test-clib-math-inftorture-quick),) + -include $(test-clib-math-inftorture_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-clib-math-inftorture_DEPS) + endif + endif +endif + + +ifneq ($(test-clib-math-inftorture_OBJS) $(test-clib-math-inftorture_DEPS) $(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME),) +$(test-clib-math-inftorture_OBJS) $(test-clib-math-inftorture_DEPS) $(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) : | $(test-clib-math-inftorture_OBJDIR) $(test-clib-math-inftorture_TARGETDIR) +else +$(test-clib-math-inftorture_OBJS) $(test-clib-math-inftorture_DEPS) $(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) :: $(test-clib-math-inftorture_OBJDIR) $(test-clib-math-inftorture_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-clib-math-inftorture_OBJDIR) $(test-clib-math-inftorture_TARGETDIR) + + +test-clib-math-inftorture-clean : FILES := $(test-clib-math-inftorture_OBJS) $(test-clib-math-inftorture_TARGETDIR)/$(test-clib-math-inftorture_PROGNAME) $(test-clib-math-inftorture_DEPS) +#MM +test-clib-math-inftorture-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-clib-math-inftorture" + $(Q)$(RM) $(FILES) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/crt/stdc/mmakefile b/developer/debug/test/crt/stdc/mmakefile new file mode 100644 index 00000000000..d1ff1d5b78e --- /dev/null +++ b/developer/debug/test/crt/stdc/mmakefile @@ -0,0 +1,611 @@ +# $Id$ +# +# Makefile for AROS C Standard Library Tests + +include $(SRCDIR)/config/aros.cfg + +STDCTESTFILES := \ + arguments \ + ctype \ + environ \ + exit \ + jmpbuf \ + mktime \ + raise \ + setjmp \ + sscanf \ + stpblk \ + strchr \ + strtok \ + strtod \ + strtol \ + strtoul \ + strtoull \ + system \ + time \ + tmpfile \ + stdin1 stdin2 stdin3 stdin4 \ + argv0_slave \ + abort \ + assert + +STDCPRINTTESTFILES := \ + snprintf \ + sprintf \ + sprintf_f + +EXEDIR := $(AROS_TESTS)/crt/stdc + +#MM- test-crt : test-crt-stdc test-crt-stdc-$(AROS_TARGET_CPU) +#MM- test-crt-quick : test-crt-stdc-quick test-crt-stdc-$(AROS_TARGET_CPU)-quick + +#MM- test-crt-stdc : test-crt-stdc-general test-crt-stdc-print +#MM- test-crt-stdc-quick : test-crt-stdc-general-quick test-crt-stdc-print-quick + +#MM test-crt-stdc-general : includes includes-copy linklibs kernel +#MM test-crt-stdc-print : includes includes-copy linklibs kernel + +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/.. + +USER_CFLAGS = -noposixc -ffloat-store + +.PHONY : test-crt-stdc-general + +test-crt-stdc-general_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-stdc-general_TARGETDIR := $(EXEDIR) +test-crt-stdc-general_LIBS := + +test-crt-stdc-general_FILES := $(STDCTESTFILES) +test-crt-stdc-general_OBJS := $(addsuffix .o,$(addprefix $(test-crt-stdc-general_OBJDIR)/,$(test-crt-stdc-general_FILES))) +test-crt-stdc-general_DEPS := $(addsuffix .d,$(addprefix $(test-crt-stdc-general_OBJDIR)/,$(test-crt-stdc-general_FILES))) +test-crt-stdc-general_EXES := $(addprefix $(test-crt-stdc-general_TARGETDIR)/,$(test-crt-stdc-general_FILES)) + +test-crt-stdc-general_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-crt-stdc-general_CPPFLAGS += -I +endif +test-crt-stdc-general_CFLAGS := $(CFLAGS) +test-crt-stdc-general_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-stdc-general_COVERAGE := yes +test-crt-stdc-general_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-stdc-general_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-stdc-general_CFLAGS := $(strip $(test-crt-stdc-general_COVERAGEFLAGS) $(test-crt-stdc-general_CFLAGS)) +test-crt-stdc-general_LIBS += $(test-crt-stdc-general_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-stdc-general_FUNCINSTR := yes +test-crt-stdc-general_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-stdc-general_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-stdc-general_CFLAGS := $(strip $(test-crt-stdc-general_INSTRFUNCFLAGS) $(test-crt-stdc-general_CFLAGS)) +test-crt-stdc-general_LIBS += $(test-crt-stdc-general_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-stdc-general_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-stdc-general_CFLAGS)) +endif +endif +ifneq (,) + test-crt-stdc-general_DFLAGS := +else + test-crt-stdc-general_DFLAGS := $(test-crt-stdc-general_CFLAGS) +endif +ifeq (target,target) +test-crt-stdc-general_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-stdc-general_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-stdc-general_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-crt-stdc-general_LDFLAGS += -L +endif + +#MM +test-crt-stdc-general-quick : test-crt-stdc-general + +#MM test-crt-stdc-general : includes-generate-deps core-linklibs +test-crt-stdc-general : $(test-crt-stdc-general_EXES) + +ifneq ($(filter $(TARGET),test-crt-stdc-general test-crt-stdc-general-quick),) + +ifeq (,) +test-crt-stdc-general_MC_SRCWILDCARD := % +else +test-crt-stdc-general_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-stdc-general_OBJDIR),) +test-crt-stdc-general_MC_TARGETS := $(addsuffix .o,$(test-crt-stdc-general_FILES)) +test-crt-stdc-general_MC_DTARGETS := $(addsuffix .d,$(test-crt-stdc-general_FILES)) +test-crt-stdc-general_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-stdc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-stdc-general_OBJDIR)/,$(notdir $(test-crt-stdc-general_FILES)))) + test-crt-stdc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-stdc-general_OBJDIR)/,$(notdir $(test-crt-stdc-general_FILES)))) +else +ifeq (,) + test-crt-stdc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-stdc-general_OBJDIR)/,$(test-crt-stdc-general_FILES))) + test-crt-stdc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-stdc-general_OBJDIR)/,$(test-crt-stdc-general_FILES))) +else + test-crt-stdc-general_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-stdc-general_OBJDIR)/,$(patsubst /%,%,$(test-crt-stdc-general_FILES)))) + test-crt-stdc-general_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-stdc-general_OBJDIR)/,$(patsubst /%,%,$(test-crt-stdc-general_FILES)))) +endif +endif +test-crt-stdc-general_MC_TGTWILDCARD := $(test-crt-stdc-general_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-stdc-general_FILES)) + +# Be sure that all .c files are found +test-crt-stdc-general_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-stdc-general_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-stdc-general_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-stdc-general_MC_DIRS := $(foreach dir, $(test-crt-stdc-general_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-stdc-general_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-stdc-general_MC_DIRS),) + test-crt-stdc-general_MC_DIRS := $(shell echo $(test-crt-stdc-general_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-stdc-general_MC_DIRS) +endif + +endif + +test-crt-stdc-general_MC_CPPFLAGS := $(test-crt-stdc-general_CPPFLAGS) +test-crt-stdc-general_CFLAGS := $(test-crt-stdc-general_CFLAGS) +ifeq ($(test-crt-stdc-general_DFLAGS),) + test-crt-stdc-general_DFLAGS := $(test-crt-stdc-general_CFLAGS) +else + test-crt-stdc-general_DFLAGS := $(test-crt-stdc-general_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-stdc-general_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-stdc-general_STRIP ?= $(TARGET_STRIP) +test-crt-stdc-general_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_MC_CPPFLAGS:=$(strip $(test-crt-stdc-general_MC_CPPFLAGS) $(test-crt-stdc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_CFLAGS:=$(strip $(test-crt-stdc-general_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_DFLAGS:=$(test-crt-stdc-general_DFLAGS) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-stdc-general_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-stdc-general_STRIP ?= $(HOST_STRIP) +test-crt-stdc-general_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-stdc-general_MC_CPPFLAGS) $(test-crt-stdc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-stdc-general_CFLAGS)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-stdc-general_DFLAGS)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-stdc-general_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-stdc-general_STRIP ?= $(ECHO) >/dev/null +test-crt-stdc-general_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-stdc-general_MC_CPPFLAGS) $(test-crt-stdc-general_MC_EXTRA_CPPFLAGS)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-stdc-general_CFLAGS)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-stdc-general_DFLAGS)) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-stdc-general_MC_TARGETS) $(test-crt-stdc-general_MC_DTARGETS) : test-crt-stdc-general_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-stdc-general_MC_TARGETS) : CPPFLAGS := $(test-crt-stdc-general_MC_CPPFLAGS) +$(test-crt-stdc-general_MC_TARGETS) : CFLAGS := $(test-crt-stdc-general_CFLAGS) +$(test-crt-stdc-general_MC_TARGETS) : $(test-crt-stdc-general_MC_TGTWILDCARD).o : $(test-crt-stdc-general_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-stdc-general_IQUOTE) $(dir $<) $(test-crt-stdc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-stdc-general_IQUOTE) . $(test-crt-stdc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-stdc-general_IQUOTE) $(dir $<) $(test-crt-stdc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-stdc-general_IQUOTE) . $(test-crt-stdc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-stdc-general_IQUOTE) $(dir $<) $(test-crt-stdc-general_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-stdc-general_IQUOTE) . $(test-crt-stdc-general_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-stdc-general_MC_DTARGETS) : $(test-crt-stdc-general_MC_TGTWILDCARD).d : $(test-crt-stdc-general_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-stdc-general_DFLAGS) $(test-crt-stdc-general_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-crt-stdc-general-link_EXTRA_LDFLAGS := +test-crt-stdc-general-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-stdc-general-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-stdc-general-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-stdc-general-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-crt-stdc-general-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-stdc-general_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-stdc-general-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-stdc-general-link_DIRS))) +# Add trailing / +test-crt-stdc-general-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-stdc-general-link_DIRS))) +# Add normal linklib path +test-crt-stdc-general-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-stdc-general-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-stdc-general_LIBS) $(test-crt-stdc-general-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-crt-stdc-general-link_DEPLIBS := $(foreach lib,$(test-crt-stdc-general-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-stdc-general-link_DIRS)))) \ +) +test-crt-stdc-general-link_PROGS := $(addprefix $(test-crt-stdc-general_TARGETDIR)/,$(test-crt-stdc-general_FILES)) + +$(test-crt-stdc-general-link_PROGS) : OBJDIR := $(test-crt-stdc-general_OBJDIR) +$(test-crt-stdc-general-link_PROGS) : LDFLAGS := $(strip $(test-crt-stdc-general_LDFLAGS) $(test-crt-stdc-general-link_EXTRA_LDFLAGS)) +$(test-crt-stdc-general-link_PROGS) : LIBS := $(addprefix -l,$(test-crt-stdc-general_LIBS) $(test-crt-stdc-general-link_EXTRA_LIBS) ) +$(test-crt-stdc-general-link_PROGS) : $(test-crt-stdc-general_TARGETDIR)/% : $(test-crt-stdc-general_OBJDIR)/%.o $(test-crt-stdc-general-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-stdc-general_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-stdc-general_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-stdc-general_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-stdc-general_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-stdc-general_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-stdc-general_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-stdc-general_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-stdc-general_DEPS),) + ifneq (test-crt-stdc-general test-crt-stdc-general-quick,) + ifneq ($(findstring $(TARGET),test-crt-stdc-general test-crt-stdc-general-quick),) + -include $(test-crt-stdc-general_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-stdc-general_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-stdc-general_DEPS) $(test-crt-stdc-general_OBJS) $(addprefix $(test-crt-stdc-general_TARGETDIR)/,$(test-crt-stdc-general_FILES)),) +$(test-crt-stdc-general_DEPS) $(test-crt-stdc-general_OBJS) $(addprefix $(test-crt-stdc-general_TARGETDIR)/,$(test-crt-stdc-general_FILES)) : | $(test-crt-stdc-general_TARGETDIR) $(test-crt-stdc-general_OBJDIR) +else +$(test-crt-stdc-general_DEPS) $(test-crt-stdc-general_OBJS) $(addprefix $(test-crt-stdc-general_TARGETDIR)/,$(test-crt-stdc-general_FILES)) :: $(test-crt-stdc-general_TARGETDIR) $(test-crt-stdc-general_OBJDIR) +endif + +GLOB_MKDIRS += $(test-crt-stdc-general_TARGETDIR) $(test-crt-stdc-general_OBJDIR) + + +test-crt-stdc-general-clean : FILES := $(test-crt-stdc-general_OBJS) $(test-crt-stdc-general_EXES) $(test-crt-stdc-general_DEPS) +#MM +test-crt-stdc-general-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-stdc-general" + $(Q)$(RM) $(FILES) + + +NOWARN_CFLAGS := $(NOWARN_FORMAT_TRUNCATION) +USER_CFLAGS = -noposixc -ffloat-store $(NOWARN_CFLAGS) + + +.PHONY : test-crt-stdc-print + +test-crt-stdc-print_OBJDIR := $(GENDIR)/$(CURDIR) +test-crt-stdc-print_TARGETDIR := $(EXEDIR) +test-crt-stdc-print_LIBS := + +test-crt-stdc-print_FILES := $(STDCPRINTTESTFILES) +test-crt-stdc-print_OBJS := $(addsuffix .o,$(addprefix $(test-crt-stdc-print_OBJDIR)/,$(test-crt-stdc-print_FILES))) +test-crt-stdc-print_DEPS := $(addsuffix .d,$(addprefix $(test-crt-stdc-print_OBJDIR)/,$(test-crt-stdc-print_FILES))) +test-crt-stdc-print_EXES := $(addprefix $(test-crt-stdc-print_TARGETDIR)/,$(test-crt-stdc-print_FILES)) + +test-crt-stdc-print_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-crt-stdc-print_CPPFLAGS += -I +endif +test-crt-stdc-print_CFLAGS := $(CFLAGS) +test-crt-stdc-print_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-crt-stdc-print_COVERAGE := yes +test-crt-stdc-print_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-crt-stdc-print_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-crt-stdc-print_CFLAGS := $(strip $(test-crt-stdc-print_COVERAGEFLAGS) $(test-crt-stdc-print_CFLAGS)) +test-crt-stdc-print_LIBS += $(test-crt-stdc-print_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-crt-stdc-print_FUNCINSTR := yes +test-crt-stdc-print_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-crt-stdc-print_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-crt-stdc-print_CFLAGS := $(strip $(test-crt-stdc-print_INSTRFUNCFLAGS) $(test-crt-stdc-print_CFLAGS)) +test-crt-stdc-print_LIBS += $(test-crt-stdc-print_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-crt-stdc-print_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-crt-stdc-print_CFLAGS)) +endif +endif +ifneq (,) + test-crt-stdc-print_DFLAGS := +else + test-crt-stdc-print_DFLAGS := $(test-crt-stdc-print_CFLAGS) +endif +ifeq (target,target) +test-crt-stdc-print_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-crt-stdc-print_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-crt-stdc-print_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-crt-stdc-print_LDFLAGS += -L +endif + +#MM +test-crt-stdc-print-quick : test-crt-stdc-print + +#MM test-crt-stdc-print : includes-generate-deps core-linklibs +test-crt-stdc-print : $(test-crt-stdc-print_EXES) + +ifneq ($(filter $(TARGET),test-crt-stdc-print test-crt-stdc-print-quick),) + +ifeq (,) +test-crt-stdc-print_MC_SRCWILDCARD := % +else +test-crt-stdc-print_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-crt-stdc-print_OBJDIR),) +test-crt-stdc-print_MC_TARGETS := $(addsuffix .o,$(test-crt-stdc-print_FILES)) +test-crt-stdc-print_MC_DTARGETS := $(addsuffix .d,$(test-crt-stdc-print_FILES)) +test-crt-stdc-print_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-crt-stdc-print_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-stdc-print_OBJDIR)/,$(notdir $(test-crt-stdc-print_FILES)))) + test-crt-stdc-print_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-stdc-print_OBJDIR)/,$(notdir $(test-crt-stdc-print_FILES)))) +else +ifeq (,) + test-crt-stdc-print_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-stdc-print_OBJDIR)/,$(test-crt-stdc-print_FILES))) + test-crt-stdc-print_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-stdc-print_OBJDIR)/,$(test-crt-stdc-print_FILES))) +else + test-crt-stdc-print_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-crt-stdc-print_OBJDIR)/,$(patsubst /%,%,$(test-crt-stdc-print_FILES)))) + test-crt-stdc-print_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-crt-stdc-print_OBJDIR)/,$(patsubst /%,%,$(test-crt-stdc-print_FILES)))) +endif +endif +test-crt-stdc-print_MC_TGTWILDCARD := $(test-crt-stdc-print_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : | $(addsuffix .c,$(test-crt-stdc-print_FILES)) + +# Be sure that all .c files are found +test-crt-stdc-print_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-crt-stdc-print_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-crt-stdc-print_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-crt-stdc-print_MC_DIRS := $(foreach dir, $(test-crt-stdc-print_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-crt-stdc-print_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-crt-stdc-print_MC_DIRS),) + test-crt-stdc-print_MC_DIRS := $(shell echo $(test-crt-stdc-print_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-crt-stdc-print_MC_DIRS) +endif + +endif + +test-crt-stdc-print_MC_CPPFLAGS := $(test-crt-stdc-print_CPPFLAGS) +test-crt-stdc-print_CFLAGS := $(test-crt-stdc-print_CFLAGS) +ifeq ($(test-crt-stdc-print_DFLAGS),) + test-crt-stdc-print_DFLAGS := $(test-crt-stdc-print_CFLAGS) +else + test-crt-stdc-print_DFLAGS := $(test-crt-stdc-print_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-crt-stdc-print_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-crt-stdc-print_STRIP ?= $(TARGET_STRIP) +test-crt-stdc-print_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_MC_CPPFLAGS:=$(strip $(test-crt-stdc-print_MC_CPPFLAGS) $(test-crt-stdc-print_MC_EXTRA_CPPFLAGS)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_CFLAGS:=$(strip $(test-crt-stdc-print_CFLAGS) $(SAFETY_CFLAGS)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_DFLAGS:=$(test-crt-stdc-print_DFLAGS) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-crt-stdc-print_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-crt-stdc-print_STRIP ?= $(HOST_STRIP) +test-crt-stdc-print_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-crt-stdc-print_MC_CPPFLAGS) $(test-crt-stdc-print_MC_EXTRA_CPPFLAGS)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-stdc-print_CFLAGS)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-crt-stdc-print_DFLAGS)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_IQUOTE:=$(HOST_IQUOTE) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-crt-stdc-print_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-crt-stdc-print_STRIP ?= $(ECHO) >/dev/null +test-crt-stdc-print_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-crt-stdc-print_MC_CPPFLAGS) $(test-crt-stdc-print_MC_EXTRA_CPPFLAGS)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-stdc-print_CFLAGS)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-crt-stdc-print_DFLAGS)) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_IQUOTE:=$(KERNEL_IQUOTE) +$(test-crt-stdc-print_MC_TARGETS) $(test-crt-stdc-print_MC_DTARGETS) : test-crt-stdc-print_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-crt-stdc-print_MC_TARGETS) : CPPFLAGS := $(test-crt-stdc-print_MC_CPPFLAGS) +$(test-crt-stdc-print_MC_TARGETS) : CFLAGS := $(test-crt-stdc-print_CFLAGS) +$(test-crt-stdc-print_MC_TARGETS) : $(test-crt-stdc-print_MC_TGTWILDCARD).o : $(test-crt-stdc-print_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-crt-stdc-print_IQUOTE) $(dir $<) $(test-crt-stdc-print_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-stdc-print_IQUOTE) . $(test-crt-stdc-print_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-crt-stdc-print_IQUOTE) $(dir $<) $(test-crt-stdc-print_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-stdc-print_IQUOTE) . $(test-crt-stdc-print_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-crt-stdc-print_IQUOTE) $(dir $<) $(test-crt-stdc-print_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-crt-stdc-print_IQUOTE) . $(test-crt-stdc-print_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-crt-stdc-print_MC_DTARGETS) : $(test-crt-stdc-print_MC_TGTWILDCARD).d : $(test-crt-stdc-print_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-crt-stdc-print_DFLAGS) $(test-crt-stdc-print_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-crt-stdc-print-link_EXTRA_LDFLAGS := +test-crt-stdc-print-link_EXTRA_LIBS := +ifeq (no,yes) + test-crt-stdc-print-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-crt-stdc-print-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-crt-stdc-print-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-crt-stdc-print-link_DIRS := $(subst -L ,-L,$(strip $(test-crt-stdc-print_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-crt-stdc-print-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-crt-stdc-print-link_DIRS))) +# Add trailing / +test-crt-stdc-print-link_DIRS := $(subst //,/,$(addsuffix /,$(test-crt-stdc-print-link_DIRS))) +# Add normal linklib path +test-crt-stdc-print-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-crt-stdc-print-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-crt-stdc-print_LIBS) $(test-crt-stdc-print-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-crt-stdc-print-link_DEPLIBS := $(foreach lib,$(test-crt-stdc-print-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-crt-stdc-print-link_DIRS)))) \ +) +test-crt-stdc-print-link_PROGS := $(addprefix $(test-crt-stdc-print_TARGETDIR)/,$(test-crt-stdc-print_FILES)) + +$(test-crt-stdc-print-link_PROGS) : OBJDIR := $(test-crt-stdc-print_OBJDIR) +$(test-crt-stdc-print-link_PROGS) : LDFLAGS := $(strip $(test-crt-stdc-print_LDFLAGS) $(test-crt-stdc-print-link_EXTRA_LDFLAGS)) +$(test-crt-stdc-print-link_PROGS) : LIBS := $(addprefix -l,$(test-crt-stdc-print_LIBS) $(test-crt-stdc-print-link_EXTRA_LIBS) ) +$(test-crt-stdc-print-link_PROGS) : $(test-crt-stdc-print_TARGETDIR)/% : $(test-crt-stdc-print_OBJDIR)/%.o $(test-crt-stdc-print-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-crt-stdc-print_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-crt-stdc-print_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-crt-stdc-print_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-stdc-print_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-crt-stdc-print_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-crt-stdc-print_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-crt-stdc-print_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-crt-stdc-print_DEPS),) + ifneq (test-crt-stdc-print test-crt-stdc-print-quick,) + ifneq ($(findstring $(TARGET),test-crt-stdc-print test-crt-stdc-print-quick),) + -include $(test-crt-stdc-print_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-crt-stdc-print_DEPS) + endif + endif +endif + + +ifneq ($(test-crt-stdc-print_DEPS) $(test-crt-stdc-print_OBJS) $(addprefix $(test-crt-stdc-print_TARGETDIR)/,$(test-crt-stdc-print_FILES)),) +$(test-crt-stdc-print_DEPS) $(test-crt-stdc-print_OBJS) $(addprefix $(test-crt-stdc-print_TARGETDIR)/,$(test-crt-stdc-print_FILES)) : | $(test-crt-stdc-print_TARGETDIR) $(test-crt-stdc-print_OBJDIR) +else +$(test-crt-stdc-print_DEPS) $(test-crt-stdc-print_OBJS) $(addprefix $(test-crt-stdc-print_TARGETDIR)/,$(test-crt-stdc-print_FILES)) :: $(test-crt-stdc-print_TARGETDIR) $(test-crt-stdc-print_OBJDIR) +endif + +GLOB_MKDIRS += $(test-crt-stdc-print_TARGETDIR) $(test-crt-stdc-print_OBJDIR) + + +test-crt-stdc-print-clean : FILES := $(test-crt-stdc-print_OBJS) $(test-crt-stdc-print_EXES) $(test-crt-stdc-print_DEPS) +#MM +test-crt-stdc-print-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-crt-stdc-print" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/datatypes/mmakefile b/developer/debug/test/datatypes/mmakefile new file mode 100644 index 00000000000..dbc3a68761c --- /dev/null +++ b/developer/debug/test/datatypes/mmakefile @@ -0,0 +1,22 @@ +# $Id: mmakefile.src 54326 2017-03-28 20:54:52Z NicJA $ + +include $(SRCDIR)/config/aros.cfg + +#MM- test : test-datatypes + + +.PHONY : test-datatypes + +#MM +test-datatypes : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s . -d $(AROS_TESTS)/Datatypes -e + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/desktop/mmakefile b/developer/debug/test/desktop/mmakefile new file mode 100644 index 00000000000..d7265af0819 --- /dev/null +++ b/developer/debug/test/desktop/mmakefile @@ -0,0 +1,292 @@ +# Makefile for loaddesktop program + +include $(SRCDIR)/config/aros.cfg + +FILES := loaddesktop +EXEDIR := $(AROS_TESTS)/desktop + +#MM test-desktop : includes linklibs + + +.PHONY : test-desktop + +test-desktop_OBJDIR := $(GENDIR)/$(CURDIR) +test-desktop_TARGETDIR := $(EXEDIR) +test-desktop_LIBS := + +test-desktop_FILES := $(FILES) +test-desktop_OBJS := $(addsuffix .o,$(addprefix $(test-desktop_OBJDIR)/,$(test-desktop_FILES))) +test-desktop_DEPS := $(addsuffix .d,$(addprefix $(test-desktop_OBJDIR)/,$(test-desktop_FILES))) +test-desktop_EXES := $(addprefix $(test-desktop_TARGETDIR)/,$(test-desktop_FILES)) + +test-desktop_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-desktop_CPPFLAGS += -I +endif +test-desktop_CFLAGS := $(CFLAGS) +test-desktop_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-desktop_COVERAGE := yes +test-desktop_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-desktop_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-desktop_CFLAGS := $(strip $(test-desktop_COVERAGEFLAGS) $(test-desktop_CFLAGS)) +test-desktop_LIBS += $(test-desktop_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-desktop_FUNCINSTR := yes +test-desktop_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-desktop_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-desktop_CFLAGS := $(strip $(test-desktop_INSTRFUNCFLAGS) $(test-desktop_CFLAGS)) +test-desktop_LIBS += $(test-desktop_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-desktop_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-desktop_CFLAGS)) +endif +endif +ifneq (,) + test-desktop_DFLAGS := +else + test-desktop_DFLAGS := $(test-desktop_CFLAGS) +endif +ifeq (target,target) +test-desktop_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-desktop_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-desktop_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-desktop_LDFLAGS += -L +endif + +#MM +test-desktop-quick : test-desktop + +#MM test-desktop : includes-generate-deps core-linklibs +test-desktop : $(test-desktop_EXES) + +ifneq ($(filter $(TARGET),test-desktop test-desktop-quick),) + +ifeq (,) +test-desktop_MC_SRCWILDCARD := % +else +test-desktop_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-desktop_OBJDIR),) +test-desktop_MC_TARGETS := $(addsuffix .o,$(test-desktop_FILES)) +test-desktop_MC_DTARGETS := $(addsuffix .d,$(test-desktop_FILES)) +test-desktop_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-desktop_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-desktop_OBJDIR)/,$(notdir $(test-desktop_FILES)))) + test-desktop_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-desktop_OBJDIR)/,$(notdir $(test-desktop_FILES)))) +else +ifeq (,) + test-desktop_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-desktop_OBJDIR)/,$(test-desktop_FILES))) + test-desktop_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-desktop_OBJDIR)/,$(test-desktop_FILES))) +else + test-desktop_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-desktop_OBJDIR)/,$(patsubst /%,%,$(test-desktop_FILES)))) + test-desktop_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-desktop_OBJDIR)/,$(patsubst /%,%,$(test-desktop_FILES)))) +endif +endif +test-desktop_MC_TGTWILDCARD := $(test-desktop_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : | $(addsuffix .c,$(test-desktop_FILES)) + +# Be sure that all .c files are found +test-desktop_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-desktop_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-desktop_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-desktop_MC_DIRS := $(foreach dir, $(test-desktop_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-desktop_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-desktop_MC_DIRS),) + test-desktop_MC_DIRS := $(shell echo $(test-desktop_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-desktop_MC_DIRS) +endif + +endif + +test-desktop_MC_CPPFLAGS := $(test-desktop_CPPFLAGS) +test-desktop_CFLAGS := $(test-desktop_CFLAGS) +ifeq ($(test-desktop_DFLAGS),) + test-desktop_DFLAGS := $(test-desktop_CFLAGS) +else + test-desktop_DFLAGS := $(test-desktop_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-desktop_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-desktop_STRIP ?= $(TARGET_STRIP) +test-desktop_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_MC_CPPFLAGS:=$(strip $(test-desktop_MC_CPPFLAGS) $(test-desktop_MC_EXTRA_CPPFLAGS)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_CFLAGS:=$(strip $(test-desktop_CFLAGS) $(SAFETY_CFLAGS)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_DFLAGS:=$(test-desktop_DFLAGS) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-desktop_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-desktop_STRIP ?= $(HOST_STRIP) +test-desktop_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-desktop_MC_CPPFLAGS) $(test-desktop_MC_EXTRA_CPPFLAGS)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-desktop_CFLAGS)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-desktop_DFLAGS)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_IQUOTE:=$(HOST_IQUOTE) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-desktop_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-desktop_STRIP ?= $(ECHO) >/dev/null +test-desktop_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-desktop_MC_CPPFLAGS) $(test-desktop_MC_EXTRA_CPPFLAGS)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-desktop_CFLAGS)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-desktop_DFLAGS)) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_IQUOTE:=$(KERNEL_IQUOTE) +$(test-desktop_MC_TARGETS) $(test-desktop_MC_DTARGETS) : test-desktop_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-desktop_MC_TARGETS) : CPPFLAGS := $(test-desktop_MC_CPPFLAGS) +$(test-desktop_MC_TARGETS) : CFLAGS := $(test-desktop_CFLAGS) +$(test-desktop_MC_TARGETS) : $(test-desktop_MC_TGTWILDCARD).o : $(test-desktop_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-desktop_IQUOTE) $(dir $<) $(test-desktop_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-desktop_IQUOTE) . $(test-desktop_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-desktop_IQUOTE) $(dir $<) $(test-desktop_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-desktop_IQUOTE) . $(test-desktop_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-desktop_IQUOTE) $(dir $<) $(test-desktop_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-desktop_IQUOTE) . $(test-desktop_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-desktop_MC_DTARGETS) : $(test-desktop_MC_TGTWILDCARD).d : $(test-desktop_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-desktop_DFLAGS) $(test-desktop_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-desktop-link_EXTRA_LDFLAGS := +test-desktop-link_EXTRA_LIBS := +ifeq (no,yes) + test-desktop-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-desktop-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-desktop-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-desktop-link_DIRS := $(subst -L ,-L,$(strip $(test-desktop_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-desktop-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-desktop-link_DIRS))) +# Add trailing / +test-desktop-link_DIRS := $(subst //,/,$(addsuffix /,$(test-desktop-link_DIRS))) +# Add normal linklib path +test-desktop-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-desktop-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-desktop_LIBS) $(test-desktop-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-desktop-link_DEPLIBS := $(foreach lib,$(test-desktop-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-desktop-link_DIRS)))) \ +) +test-desktop-link_PROGS := $(addprefix $(test-desktop_TARGETDIR)/,$(test-desktop_FILES)) + +$(test-desktop-link_PROGS) : OBJDIR := $(test-desktop_OBJDIR) +$(test-desktop-link_PROGS) : LDFLAGS := $(strip $(test-desktop_LDFLAGS) $(test-desktop-link_EXTRA_LDFLAGS)) +$(test-desktop-link_PROGS) : LIBS := $(addprefix -l,$(test-desktop_LIBS) $(test-desktop-link_EXTRA_LIBS) ) +$(test-desktop-link_PROGS) : $(test-desktop_TARGETDIR)/% : $(test-desktop_OBJDIR)/%.o $(test-desktop-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-desktop_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-desktop_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-desktop_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-desktop_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-desktop_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-desktop_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-desktop_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-desktop_DEPS),) + ifneq (test-desktop test-desktop-quick,) + ifneq ($(findstring $(TARGET),test-desktop test-desktop-quick),) + -include $(test-desktop_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-desktop_DEPS) + endif + endif +endif + + +ifneq ($(test-desktop_DEPS) $(test-desktop_OBJS) $(addprefix $(test-desktop_TARGETDIR)/,$(test-desktop_FILES)),) +$(test-desktop_DEPS) $(test-desktop_OBJS) $(addprefix $(test-desktop_TARGETDIR)/,$(test-desktop_FILES)) : | $(test-desktop_TARGETDIR) $(test-desktop_OBJDIR) +else +$(test-desktop_DEPS) $(test-desktop_OBJS) $(addprefix $(test-desktop_TARGETDIR)/,$(test-desktop_FILES)) :: $(test-desktop_TARGETDIR) $(test-desktop_OBJDIR) +endif + +GLOB_MKDIRS += $(test-desktop_TARGETDIR) $(test-desktop_OBJDIR) + + +test-desktop-clean : FILES := $(test-desktop_OBJS) $(test-desktop_EXES) $(test-desktop_DEPS) +#MM +test-desktop-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-desktop" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/diskfont/mmakefile b/developer/debug/test/diskfont/mmakefile new file mode 100644 index 00000000000..03ef9cbcfb2 --- /dev/null +++ b/developer/debug/test/diskfont/mmakefile @@ -0,0 +1,294 @@ +# Copyright © 2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := availfonts fontinfo opendiskfont +EXEDIR := $(AROS_TESTS)/diskfont + +#MM- test : test-diskfont +#MM- test-quick : test-diskfont-quick + + +.PHONY : test-diskfont + +test-diskfont_OBJDIR := $(GENDIR)/$(CURDIR) +test-diskfont_TARGETDIR := $(EXEDIR) +test-diskfont_LIBS := + +test-diskfont_FILES := $(FILES) +test-diskfont_OBJS := $(addsuffix .o,$(addprefix $(test-diskfont_OBJDIR)/,$(test-diskfont_FILES))) +test-diskfont_DEPS := $(addsuffix .d,$(addprefix $(test-diskfont_OBJDIR)/,$(test-diskfont_FILES))) +test-diskfont_EXES := $(addprefix $(test-diskfont_TARGETDIR)/,$(test-diskfont_FILES)) + +test-diskfont_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-diskfont_CPPFLAGS += -I +endif +test-diskfont_CFLAGS := $(CFLAGS) +test-diskfont_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-diskfont_COVERAGE := yes +test-diskfont_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-diskfont_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-diskfont_CFLAGS := $(strip $(test-diskfont_COVERAGEFLAGS) $(test-diskfont_CFLAGS)) +test-diskfont_LIBS += $(test-diskfont_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-diskfont_FUNCINSTR := yes +test-diskfont_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-diskfont_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-diskfont_CFLAGS := $(strip $(test-diskfont_INSTRFUNCFLAGS) $(test-diskfont_CFLAGS)) +test-diskfont_LIBS += $(test-diskfont_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-diskfont_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-diskfont_CFLAGS)) +endif +endif +ifneq (,) + test-diskfont_DFLAGS := +else + test-diskfont_DFLAGS := $(test-diskfont_CFLAGS) +endif +ifeq (target,target) +test-diskfont_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-diskfont_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-diskfont_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-diskfont_LDFLAGS += -L +endif + +#MM +test-diskfont-quick : test-diskfont + +#MM test-diskfont : includes-generate-deps core-linklibs +test-diskfont : $(test-diskfont_EXES) + +ifneq ($(filter $(TARGET),test-diskfont test-diskfont-quick),) + +ifeq (,) +test-diskfont_MC_SRCWILDCARD := % +else +test-diskfont_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-diskfont_OBJDIR),) +test-diskfont_MC_TARGETS := $(addsuffix .o,$(test-diskfont_FILES)) +test-diskfont_MC_DTARGETS := $(addsuffix .d,$(test-diskfont_FILES)) +test-diskfont_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-diskfont_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-diskfont_OBJDIR)/,$(notdir $(test-diskfont_FILES)))) + test-diskfont_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-diskfont_OBJDIR)/,$(notdir $(test-diskfont_FILES)))) +else +ifeq (,) + test-diskfont_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-diskfont_OBJDIR)/,$(test-diskfont_FILES))) + test-diskfont_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-diskfont_OBJDIR)/,$(test-diskfont_FILES))) +else + test-diskfont_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-diskfont_OBJDIR)/,$(patsubst /%,%,$(test-diskfont_FILES)))) + test-diskfont_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-diskfont_OBJDIR)/,$(patsubst /%,%,$(test-diskfont_FILES)))) +endif +endif +test-diskfont_MC_TGTWILDCARD := $(test-diskfont_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : | $(addsuffix .c,$(test-diskfont_FILES)) + +# Be sure that all .c files are found +test-diskfont_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-diskfont_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-diskfont_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-diskfont_MC_DIRS := $(foreach dir, $(test-diskfont_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-diskfont_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-diskfont_MC_DIRS),) + test-diskfont_MC_DIRS := $(shell echo $(test-diskfont_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-diskfont_MC_DIRS) +endif + +endif + +test-diskfont_MC_CPPFLAGS := $(test-diskfont_CPPFLAGS) +test-diskfont_CFLAGS := $(test-diskfont_CFLAGS) +ifeq ($(test-diskfont_DFLAGS),) + test-diskfont_DFLAGS := $(test-diskfont_CFLAGS) +else + test-diskfont_DFLAGS := $(test-diskfont_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-diskfont_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-diskfont_STRIP ?= $(TARGET_STRIP) +test-diskfont_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_MC_CPPFLAGS:=$(strip $(test-diskfont_MC_CPPFLAGS) $(test-diskfont_MC_EXTRA_CPPFLAGS)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_CFLAGS:=$(strip $(test-diskfont_CFLAGS) $(SAFETY_CFLAGS)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_DFLAGS:=$(test-diskfont_DFLAGS) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-diskfont_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-diskfont_STRIP ?= $(HOST_STRIP) +test-diskfont_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-diskfont_MC_CPPFLAGS) $(test-diskfont_MC_EXTRA_CPPFLAGS)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-diskfont_CFLAGS)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-diskfont_DFLAGS)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_IQUOTE:=$(HOST_IQUOTE) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-diskfont_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-diskfont_STRIP ?= $(ECHO) >/dev/null +test-diskfont_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-diskfont_MC_CPPFLAGS) $(test-diskfont_MC_EXTRA_CPPFLAGS)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-diskfont_CFLAGS)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-diskfont_DFLAGS)) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_IQUOTE:=$(KERNEL_IQUOTE) +$(test-diskfont_MC_TARGETS) $(test-diskfont_MC_DTARGETS) : test-diskfont_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-diskfont_MC_TARGETS) : CPPFLAGS := $(test-diskfont_MC_CPPFLAGS) +$(test-diskfont_MC_TARGETS) : CFLAGS := $(test-diskfont_CFLAGS) +$(test-diskfont_MC_TARGETS) : $(test-diskfont_MC_TGTWILDCARD).o : $(test-diskfont_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-diskfont_IQUOTE) $(dir $<) $(test-diskfont_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-diskfont_IQUOTE) . $(test-diskfont_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-diskfont_IQUOTE) $(dir $<) $(test-diskfont_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-diskfont_IQUOTE) . $(test-diskfont_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-diskfont_IQUOTE) $(dir $<) $(test-diskfont_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-diskfont_IQUOTE) . $(test-diskfont_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-diskfont_MC_DTARGETS) : $(test-diskfont_MC_TGTWILDCARD).d : $(test-diskfont_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-diskfont_DFLAGS) $(test-diskfont_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-diskfont-link_EXTRA_LDFLAGS := +test-diskfont-link_EXTRA_LIBS := +ifeq (no,yes) + test-diskfont-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-diskfont-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-diskfont-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-diskfont-link_DIRS := $(subst -L ,-L,$(strip $(test-diskfont_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-diskfont-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-diskfont-link_DIRS))) +# Add trailing / +test-diskfont-link_DIRS := $(subst //,/,$(addsuffix /,$(test-diskfont-link_DIRS))) +# Add normal linklib path +test-diskfont-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-diskfont-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-diskfont_LIBS) $(test-diskfont-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-diskfont-link_DEPLIBS := $(foreach lib,$(test-diskfont-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-diskfont-link_DIRS)))) \ +) +test-diskfont-link_PROGS := $(addprefix $(test-diskfont_TARGETDIR)/,$(test-diskfont_FILES)) + +$(test-diskfont-link_PROGS) : OBJDIR := $(test-diskfont_OBJDIR) +$(test-diskfont-link_PROGS) : LDFLAGS := $(strip $(test-diskfont_LDFLAGS) $(test-diskfont-link_EXTRA_LDFLAGS)) +$(test-diskfont-link_PROGS) : LIBS := $(addprefix -l,$(test-diskfont_LIBS) $(test-diskfont-link_EXTRA_LIBS) ) +$(test-diskfont-link_PROGS) : $(test-diskfont_TARGETDIR)/% : $(test-diskfont_OBJDIR)/%.o $(test-diskfont-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-diskfont_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-diskfont_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-diskfont_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-diskfont_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-diskfont_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-diskfont_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-diskfont_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-diskfont_DEPS),) + ifneq (test-diskfont test-diskfont-quick,) + ifneq ($(findstring $(TARGET),test-diskfont test-diskfont-quick),) + -include $(test-diskfont_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-diskfont_DEPS) + endif + endif +endif + + +ifneq ($(test-diskfont_DEPS) $(test-diskfont_OBJS) $(addprefix $(test-diskfont_TARGETDIR)/,$(test-diskfont_FILES)),) +$(test-diskfont_DEPS) $(test-diskfont_OBJS) $(addprefix $(test-diskfont_TARGETDIR)/,$(test-diskfont_FILES)) : | $(test-diskfont_TARGETDIR) $(test-diskfont_OBJDIR) +else +$(test-diskfont_DEPS) $(test-diskfont_OBJS) $(addprefix $(test-diskfont_TARGETDIR)/,$(test-diskfont_FILES)) :: $(test-diskfont_TARGETDIR) $(test-diskfont_OBJDIR) +endif + +GLOB_MKDIRS += $(test-diskfont_TARGETDIR) $(test-diskfont_OBJDIR) + + +test-diskfont-clean : FILES := $(test-diskfont_OBJS) $(test-diskfont_EXES) $(test-diskfont_DEPS) +#MM +test-diskfont-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-diskfont" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/dos/mmakefile b/developer/debug/test/dos/mmakefile new file mode 100644 index 00000000000..4deb7dac6ea --- /dev/null +++ b/developer/debug/test/dos/mmakefile @@ -0,0 +1,619 @@ +# Copyright © 2003-2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + addpart \ + consolemodes \ + doslist \ + dosvartest \ + examine \ + examinefh \ + exnext \ + filetest \ + fread \ + fstest \ + getenv \ + inhibit \ + isinteractive \ + match \ + matchtest \ + minicat \ + mountlist \ + namefromfh \ + nil \ + notify \ + openfromlock \ + output \ + r \ + rawtest \ + readargs \ + readitem \ + readitemloop \ + runcommand \ + rwverify \ + scantest \ + scanvarstest \ + seektest \ + setfiledate \ + setenv \ + setfilesize \ + strtodate \ + systemtags \ + systemtags_slave \ + systemtags2 \ + systemtags2_slave \ + waitforchar + +PURE_FILES := \ + exit \ + isfilesystem + +EXEDIR := $(AROS_TESTS)/dos + +USER_CFLAGS += -DADATE="\"$(shell date '+%d.%m.%Y')\"" + +#MM- test : test-dos test-dos-pure +#MM- test-quick : test-dos-quick test-dos-pure-quick + +#MM test-dos : includes linklibs + + +.PHONY : test-dos + +test-dos_OBJDIR := $(GENDIR)/$(CURDIR) +test-dos_TARGETDIR := $(EXEDIR) +test-dos_LIBS := + +test-dos_FILES := $(FILES) +test-dos_OBJS := $(addsuffix .o,$(addprefix $(test-dos_OBJDIR)/,$(test-dos_FILES))) +test-dos_DEPS := $(addsuffix .d,$(addprefix $(test-dos_OBJDIR)/,$(test-dos_FILES))) +test-dos_EXES := $(addprefix $(test-dos_TARGETDIR)/,$(test-dos_FILES)) + +test-dos_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-dos_CPPFLAGS += -I +endif +test-dos_CFLAGS := $(CFLAGS) +test-dos_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-dos_COVERAGE := yes +test-dos_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-dos_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-dos_CFLAGS := $(strip $(test-dos_COVERAGEFLAGS) $(test-dos_CFLAGS)) +test-dos_LIBS += $(test-dos_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-dos_FUNCINSTR := yes +test-dos_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-dos_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-dos_CFLAGS := $(strip $(test-dos_INSTRFUNCFLAGS) $(test-dos_CFLAGS)) +test-dos_LIBS += $(test-dos_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-dos_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-dos_CFLAGS)) +endif +endif +ifneq (,) + test-dos_DFLAGS := +else + test-dos_DFLAGS := $(test-dos_CFLAGS) +endif +ifeq (target,target) +test-dos_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-dos_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-dos_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-dos_LDFLAGS += -L +endif + +#MM +test-dos-quick : test-dos + +#MM test-dos : includes-generate-deps core-linklibs +test-dos : $(test-dos_EXES) + +ifneq ($(filter $(TARGET),test-dos test-dos-quick),) + +ifeq (,) +test-dos_MC_SRCWILDCARD := % +else +test-dos_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-dos_OBJDIR),) +test-dos_MC_TARGETS := $(addsuffix .o,$(test-dos_FILES)) +test-dos_MC_DTARGETS := $(addsuffix .d,$(test-dos_FILES)) +test-dos_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-dos_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-dos_OBJDIR)/,$(notdir $(test-dos_FILES)))) + test-dos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-dos_OBJDIR)/,$(notdir $(test-dos_FILES)))) +else +ifeq (,) + test-dos_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-dos_OBJDIR)/,$(test-dos_FILES))) + test-dos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-dos_OBJDIR)/,$(test-dos_FILES))) +else + test-dos_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-dos_OBJDIR)/,$(patsubst /%,%,$(test-dos_FILES)))) + test-dos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-dos_OBJDIR)/,$(patsubst /%,%,$(test-dos_FILES)))) +endif +endif +test-dos_MC_TGTWILDCARD := $(test-dos_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : | $(addsuffix .c,$(test-dos_FILES)) + +# Be sure that all .c files are found +test-dos_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-dos_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-dos_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-dos_MC_DIRS := $(foreach dir, $(test-dos_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-dos_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-dos_MC_DIRS),) + test-dos_MC_DIRS := $(shell echo $(test-dos_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-dos_MC_DIRS) +endif + +endif + +test-dos_MC_CPPFLAGS := $(test-dos_CPPFLAGS) +test-dos_CFLAGS := $(test-dos_CFLAGS) +ifeq ($(test-dos_DFLAGS),) + test-dos_DFLAGS := $(test-dos_CFLAGS) +else + test-dos_DFLAGS := $(test-dos_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-dos_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-dos_STRIP ?= $(TARGET_STRIP) +test-dos_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_MC_CPPFLAGS:=$(strip $(test-dos_MC_CPPFLAGS) $(test-dos_MC_EXTRA_CPPFLAGS)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_CFLAGS:=$(strip $(test-dos_CFLAGS) $(SAFETY_CFLAGS)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_DFLAGS:=$(test-dos_DFLAGS) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-dos_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-dos_STRIP ?= $(HOST_STRIP) +test-dos_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-dos_MC_CPPFLAGS) $(test-dos_MC_EXTRA_CPPFLAGS)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-dos_CFLAGS)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-dos_DFLAGS)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_IQUOTE:=$(HOST_IQUOTE) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-dos_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-dos_STRIP ?= $(ECHO) >/dev/null +test-dos_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-dos_MC_CPPFLAGS) $(test-dos_MC_EXTRA_CPPFLAGS)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-dos_CFLAGS)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-dos_DFLAGS)) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_IQUOTE:=$(KERNEL_IQUOTE) +$(test-dos_MC_TARGETS) $(test-dos_MC_DTARGETS) : test-dos_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-dos_MC_TARGETS) : CPPFLAGS := $(test-dos_MC_CPPFLAGS) +$(test-dos_MC_TARGETS) : CFLAGS := $(test-dos_CFLAGS) +$(test-dos_MC_TARGETS) : $(test-dos_MC_TGTWILDCARD).o : $(test-dos_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-dos_IQUOTE) $(dir $<) $(test-dos_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-dos_IQUOTE) . $(test-dos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-dos_IQUOTE) $(dir $<) $(test-dos_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-dos_IQUOTE) . $(test-dos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-dos_IQUOTE) $(dir $<) $(test-dos_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-dos_IQUOTE) . $(test-dos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-dos_MC_DTARGETS) : $(test-dos_MC_TGTWILDCARD).d : $(test-dos_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-dos_DFLAGS) $(test-dos_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-dos-link_EXTRA_LDFLAGS := +test-dos-link_EXTRA_LIBS := +ifeq (no,yes) + test-dos-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-dos-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-dos-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-dos-link_DIRS := $(subst -L ,-L,$(strip $(test-dos_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-dos-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-dos-link_DIRS))) +# Add trailing / +test-dos-link_DIRS := $(subst //,/,$(addsuffix /,$(test-dos-link_DIRS))) +# Add normal linklib path +test-dos-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-dos-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-dos_LIBS) $(test-dos-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-dos-link_DEPLIBS := $(foreach lib,$(test-dos-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-dos-link_DIRS)))) \ +) +test-dos-link_PROGS := $(addprefix $(test-dos_TARGETDIR)/,$(test-dos_FILES)) + +$(test-dos-link_PROGS) : OBJDIR := $(test-dos_OBJDIR) +$(test-dos-link_PROGS) : LDFLAGS := $(strip $(test-dos_LDFLAGS) $(test-dos-link_EXTRA_LDFLAGS)) +$(test-dos-link_PROGS) : LIBS := $(addprefix -l,$(test-dos_LIBS) $(test-dos-link_EXTRA_LIBS) ) +$(test-dos-link_PROGS) : $(test-dos_TARGETDIR)/% : $(test-dos_OBJDIR)/%.o $(test-dos-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-dos_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-dos_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-dos_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-dos_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-dos_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-dos_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-dos_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-dos_DEPS),) + ifneq (test-dos test-dos-quick,) + ifneq ($(findstring $(TARGET),test-dos test-dos-quick),) + -include $(test-dos_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-dos_DEPS) + endif + endif +endif + + +ifneq ($(test-dos_DEPS) $(test-dos_OBJS) $(addprefix $(test-dos_TARGETDIR)/,$(test-dos_FILES)),) +$(test-dos_DEPS) $(test-dos_OBJS) $(addprefix $(test-dos_TARGETDIR)/,$(test-dos_FILES)) : | $(test-dos_TARGETDIR) $(test-dos_OBJDIR) +else +$(test-dos_DEPS) $(test-dos_OBJS) $(addprefix $(test-dos_TARGETDIR)/,$(test-dos_FILES)) :: $(test-dos_TARGETDIR) $(test-dos_OBJDIR) +endif + +GLOB_MKDIRS += $(test-dos_TARGETDIR) $(test-dos_OBJDIR) + + +test-dos-clean : FILES := $(test-dos_OBJS) $(test-dos_EXES) $(test-dos_DEPS) +#MM +test-dos-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-dos" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-dos-pure + +test-dos-pure_OBJDIR := $(GENDIR)/$(CURDIR) +test-dos-pure_TARGETDIR := $(EXEDIR) +test-dos-pure_LIBS := + +test-dos-pure_FILES := $(PURE_FILES) +test-dos-pure_OBJS := $(addsuffix .o,$(addprefix $(test-dos-pure_OBJDIR)/,$(test-dos-pure_FILES))) +test-dos-pure_DEPS := $(addsuffix .d,$(addprefix $(test-dos-pure_OBJDIR)/,$(test-dos-pure_FILES))) +test-dos-pure_EXES := $(addprefix $(test-dos-pure_TARGETDIR)/,$(test-dos-pure_FILES)) + +test-dos-pure_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-dos-pure_CPPFLAGS += -I +endif +test-dos-pure_CFLAGS := $(CFLAGS) +test-dos-pure_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-dos-pure_COVERAGE := yes +test-dos-pure_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-dos-pure_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-dos-pure_CFLAGS := $(strip $(test-dos-pure_COVERAGEFLAGS) $(test-dos-pure_CFLAGS)) +test-dos-pure_LIBS += $(test-dos-pure_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-dos-pure_FUNCINSTR := yes +test-dos-pure_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-dos-pure_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-dos-pure_CFLAGS := $(strip $(test-dos-pure_INSTRFUNCFLAGS) $(test-dos-pure_CFLAGS)) +test-dos-pure_LIBS += $(test-dos-pure_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-dos-pure_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-dos-pure_CFLAGS)) +endif +endif +ifneq (,) + test-dos-pure_DFLAGS := +else + test-dos-pure_DFLAGS := $(test-dos-pure_CFLAGS) +endif +ifeq (target,target) +test-dos-pure_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-dos-pure_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-dos-pure_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-dos-pure_LDFLAGS += -L +endif + +#MM +test-dos-pure-quick : test-dos-pure + +#MM test-dos-pure : includes-generate-deps core-linklibs +test-dos-pure : $(test-dos-pure_EXES) + +ifneq ($(filter $(TARGET),test-dos-pure test-dos-pure-quick),) + +ifeq (,) +test-dos-pure_MC_SRCWILDCARD := % +else +test-dos-pure_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-dos-pure_OBJDIR),) +test-dos-pure_MC_TARGETS := $(addsuffix .o,$(test-dos-pure_FILES)) +test-dos-pure_MC_DTARGETS := $(addsuffix .d,$(test-dos-pure_FILES)) +test-dos-pure_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-dos-pure_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-dos-pure_OBJDIR)/,$(notdir $(test-dos-pure_FILES)))) + test-dos-pure_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-dos-pure_OBJDIR)/,$(notdir $(test-dos-pure_FILES)))) +else +ifeq (,) + test-dos-pure_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-dos-pure_OBJDIR)/,$(test-dos-pure_FILES))) + test-dos-pure_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-dos-pure_OBJDIR)/,$(test-dos-pure_FILES))) +else + test-dos-pure_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-dos-pure_OBJDIR)/,$(patsubst /%,%,$(test-dos-pure_FILES)))) + test-dos-pure_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-dos-pure_OBJDIR)/,$(patsubst /%,%,$(test-dos-pure_FILES)))) +endif +endif +test-dos-pure_MC_TGTWILDCARD := $(test-dos-pure_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : | $(addsuffix .c,$(test-dos-pure_FILES)) + +# Be sure that all .c files are found +test-dos-pure_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-dos-pure_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-dos-pure_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-dos-pure_MC_DIRS := $(foreach dir, $(test-dos-pure_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-dos-pure_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-dos-pure_MC_DIRS),) + test-dos-pure_MC_DIRS := $(shell echo $(test-dos-pure_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-dos-pure_MC_DIRS) +endif + +endif + +test-dos-pure_MC_CPPFLAGS := $(test-dos-pure_CPPFLAGS) +test-dos-pure_CFLAGS := $(test-dos-pure_CFLAGS) +ifeq ($(test-dos-pure_DFLAGS),) + test-dos-pure_DFLAGS := $(test-dos-pure_CFLAGS) +else + test-dos-pure_DFLAGS := $(test-dos-pure_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-dos-pure_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-dos-pure_STRIP ?= $(TARGET_STRIP) +test-dos-pure_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_MC_CPPFLAGS:=$(strip $(test-dos-pure_MC_CPPFLAGS) $(test-dos-pure_MC_EXTRA_CPPFLAGS)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_CFLAGS:=$(strip $(test-dos-pure_CFLAGS) $(SAFETY_CFLAGS)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_DFLAGS:=$(test-dos-pure_DFLAGS) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-dos-pure_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-dos-pure_STRIP ?= $(HOST_STRIP) +test-dos-pure_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-dos-pure_MC_CPPFLAGS) $(test-dos-pure_MC_EXTRA_CPPFLAGS)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-dos-pure_CFLAGS)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-dos-pure_DFLAGS)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_IQUOTE:=$(HOST_IQUOTE) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-dos-pure_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-dos-pure_STRIP ?= $(ECHO) >/dev/null +test-dos-pure_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-dos-pure_MC_CPPFLAGS) $(test-dos-pure_MC_EXTRA_CPPFLAGS)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-dos-pure_CFLAGS)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-dos-pure_DFLAGS)) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_IQUOTE:=$(KERNEL_IQUOTE) +$(test-dos-pure_MC_TARGETS) $(test-dos-pure_MC_DTARGETS) : test-dos-pure_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-dos-pure_MC_TARGETS) : CPPFLAGS := $(test-dos-pure_MC_CPPFLAGS) +$(test-dos-pure_MC_TARGETS) : CFLAGS := $(test-dos-pure_CFLAGS) +$(test-dos-pure_MC_TARGETS) : $(test-dos-pure_MC_TGTWILDCARD).o : $(test-dos-pure_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-dos-pure_IQUOTE) $(dir $<) $(test-dos-pure_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-dos-pure_IQUOTE) . $(test-dos-pure_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-dos-pure_IQUOTE) $(dir $<) $(test-dos-pure_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-dos-pure_IQUOTE) . $(test-dos-pure_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-dos-pure_IQUOTE) $(dir $<) $(test-dos-pure_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-dos-pure_IQUOTE) . $(test-dos-pure_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-dos-pure_MC_DTARGETS) : $(test-dos-pure_MC_TGTWILDCARD).d : $(test-dos-pure_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-dos-pure_DFLAGS) $(test-dos-pure_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-dos-pure-link_EXTRA_LDFLAGS := +test-dos-pure-link_EXTRA_LIBS := +ifeq (no,yes) + test-dos-pure-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + test-dos-pure-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-dos-pure-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-dos-pure-link_DIRS := $(subst -L ,-L,$(strip $(test-dos-pure_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-dos-pure-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-dos-pure-link_DIRS))) +# Add trailing / +test-dos-pure-link_DIRS := $(subst //,/,$(addsuffix /,$(test-dos-pure-link_DIRS))) +# Add normal linklib path +test-dos-pure-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-dos-pure-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-dos-pure_LIBS) $(test-dos-pure-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-dos-pure-link_DEPLIBS := $(foreach lib,$(test-dos-pure-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-dos-pure-link_DIRS)))) \ +) +test-dos-pure-link_PROGS := $(addprefix $(test-dos-pure_TARGETDIR)/,$(test-dos-pure_FILES)) + +$(test-dos-pure-link_PROGS) : OBJDIR := $(test-dos-pure_OBJDIR) +$(test-dos-pure-link_PROGS) : LDFLAGS := $(strip $(test-dos-pure_LDFLAGS) $(test-dos-pure-link_EXTRA_LDFLAGS)) +$(test-dos-pure-link_PROGS) : LIBS := $(addprefix -l,$(test-dos-pure_LIBS) $(test-dos-pure-link_EXTRA_LIBS) ) +$(test-dos-pure-link_PROGS) : $(test-dos-pure_TARGETDIR)/% : $(test-dos-pure_OBJDIR)/%.o $(test-dos-pure-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-dos-pure_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-dos-pure_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-dos-pure_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-dos-pure_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-dos-pure_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-dos-pure_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-dos-pure_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-dos-pure_DEPS),) + ifneq (test-dos-pure test-dos-pure-quick,) + ifneq ($(findstring $(TARGET),test-dos-pure test-dos-pure-quick),) + -include $(test-dos-pure_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-dos-pure_DEPS) + endif + endif +endif + + +ifneq ($(test-dos-pure_DEPS) $(test-dos-pure_OBJS) $(addprefix $(test-dos-pure_TARGETDIR)/,$(test-dos-pure_FILES)),) +$(test-dos-pure_DEPS) $(test-dos-pure_OBJS) $(addprefix $(test-dos-pure_TARGETDIR)/,$(test-dos-pure_FILES)) : | $(test-dos-pure_TARGETDIR) $(test-dos-pure_OBJDIR) +else +$(test-dos-pure_DEPS) $(test-dos-pure_OBJS) $(addprefix $(test-dos-pure_TARGETDIR)/,$(test-dos-pure_FILES)) :: $(test-dos-pure_TARGETDIR) $(test-dos-pure_OBJDIR) +endif + +GLOB_MKDIRS += $(test-dos-pure_TARGETDIR) $(test-dos-pure_OBJDIR) + + +test-dos-pure-clean : FILES := $(test-dos-pure_OBJS) $(test-dos-pure_EXES) $(test-dos-pure_DEPS) +#MM +test-dos-pure-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-dos-pure" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/exec/mmakefile b/developer/debug/test/exec/mmakefile new file mode 100644 index 00000000000..e761bacfc31 --- /dev/null +++ b/developer/debug/test/exec/mmakefile @@ -0,0 +1,613 @@ +# $Id$ +# +# Makefile for AROS exec.library tests + +include $(SRCDIR)/config/aros.cfg + +EXECPUBLICFILES := \ + alert \ + allocmem \ + allocxxx \ + avltest \ + childstatus \ + childwait \ + copymem \ + crashtest \ + dumpmem \ + enqueue \ + exceptiontest \ + exceptiontest2 \ + messagetest \ + openlib \ + portsend \ + portreceive \ + makelib \ + pool \ + rawdofmt \ + semaphoretest \ + semtorture \ + stackswap \ + signaltest \ + supertest \ + tasklist \ + taskstorage \ + tasktest \ + timeport \ + traptest \ + vblank + +EXEDIR := $(AROS_TESTS)/exec + +USER_CFLAGS := -D__AROS_GIMME_DEPRECATED_STACKSWAP__ + +#MM- test : test-exec +#MM- test-quick : test-exec-quick +#MM- test-exec : test-exec-public test-exec-private +#MM- test-exec-quick : test-exec-public-quick test-exec-private-quick +#MM- test-exec-deps : includes includes-copy linklibs kernel +#MM test-exec-public : test-exec-deps +#MM test-exec-private : test-exec-deps + + +.PHONY : test-exec-public + +test-exec-public_OBJDIR := $(GENDIR)/$(CURDIR) +test-exec-public_TARGETDIR := $(EXEDIR) +test-exec-public_LIBS := + +test-exec-public_FILES := $(EXECPUBLICFILES) +test-exec-public_OBJS := $(addsuffix .o,$(addprefix $(test-exec-public_OBJDIR)/,$(test-exec-public_FILES))) +test-exec-public_DEPS := $(addsuffix .d,$(addprefix $(test-exec-public_OBJDIR)/,$(test-exec-public_FILES))) +test-exec-public_EXES := $(addprefix $(test-exec-public_TARGETDIR)/,$(test-exec-public_FILES)) + +test-exec-public_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-exec-public_CPPFLAGS += -I +endif +test-exec-public_CFLAGS := $(CFLAGS) +test-exec-public_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-exec-public_COVERAGE := yes +test-exec-public_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-exec-public_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-exec-public_CFLAGS := $(strip $(test-exec-public_COVERAGEFLAGS) $(test-exec-public_CFLAGS)) +test-exec-public_LIBS += $(test-exec-public_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-exec-public_FUNCINSTR := yes +test-exec-public_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-exec-public_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-exec-public_CFLAGS := $(strip $(test-exec-public_INSTRFUNCFLAGS) $(test-exec-public_CFLAGS)) +test-exec-public_LIBS += $(test-exec-public_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-exec-public_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-exec-public_CFLAGS)) +endif +endif +ifneq (,) + test-exec-public_DFLAGS := +else + test-exec-public_DFLAGS := $(test-exec-public_CFLAGS) +endif +ifeq (target,target) +test-exec-public_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-exec-public_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-exec-public_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-exec-public_LDFLAGS += -L +endif + +#MM +test-exec-public-quick : test-exec-public + +#MM test-exec-public : includes-generate-deps core-linklibs +test-exec-public : $(test-exec-public_EXES) + +ifneq ($(filter $(TARGET),test-exec-public test-exec-public-quick),) + +ifeq (,) +test-exec-public_MC_SRCWILDCARD := % +else +test-exec-public_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-exec-public_OBJDIR),) +test-exec-public_MC_TARGETS := $(addsuffix .o,$(test-exec-public_FILES)) +test-exec-public_MC_DTARGETS := $(addsuffix .d,$(test-exec-public_FILES)) +test-exec-public_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-exec-public_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-exec-public_OBJDIR)/,$(notdir $(test-exec-public_FILES)))) + test-exec-public_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-exec-public_OBJDIR)/,$(notdir $(test-exec-public_FILES)))) +else +ifeq (,) + test-exec-public_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-exec-public_OBJDIR)/,$(test-exec-public_FILES))) + test-exec-public_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-exec-public_OBJDIR)/,$(test-exec-public_FILES))) +else + test-exec-public_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-exec-public_OBJDIR)/,$(patsubst /%,%,$(test-exec-public_FILES)))) + test-exec-public_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-exec-public_OBJDIR)/,$(patsubst /%,%,$(test-exec-public_FILES)))) +endif +endif +test-exec-public_MC_TGTWILDCARD := $(test-exec-public_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : | $(addsuffix .c,$(test-exec-public_FILES)) + +# Be sure that all .c files are found +test-exec-public_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-exec-public_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-exec-public_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-exec-public_MC_DIRS := $(foreach dir, $(test-exec-public_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-exec-public_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-exec-public_MC_DIRS),) + test-exec-public_MC_DIRS := $(shell echo $(test-exec-public_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-exec-public_MC_DIRS) +endif + +endif + +test-exec-public_MC_CPPFLAGS := $(test-exec-public_CPPFLAGS) +test-exec-public_CFLAGS := $(test-exec-public_CFLAGS) +ifeq ($(test-exec-public_DFLAGS),) + test-exec-public_DFLAGS := $(test-exec-public_CFLAGS) +else + test-exec-public_DFLAGS := $(test-exec-public_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-exec-public_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-exec-public_STRIP ?= $(TARGET_STRIP) +test-exec-public_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_MC_CPPFLAGS:=$(strip $(test-exec-public_MC_CPPFLAGS) $(test-exec-public_MC_EXTRA_CPPFLAGS)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_CFLAGS:=$(strip $(test-exec-public_CFLAGS) $(SAFETY_CFLAGS)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_DFLAGS:=$(test-exec-public_DFLAGS) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-exec-public_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-exec-public_STRIP ?= $(HOST_STRIP) +test-exec-public_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-exec-public_MC_CPPFLAGS) $(test-exec-public_MC_EXTRA_CPPFLAGS)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-exec-public_CFLAGS)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-exec-public_DFLAGS)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_IQUOTE:=$(HOST_IQUOTE) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-exec-public_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-exec-public_STRIP ?= $(ECHO) >/dev/null +test-exec-public_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-exec-public_MC_CPPFLAGS) $(test-exec-public_MC_EXTRA_CPPFLAGS)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-exec-public_CFLAGS)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-exec-public_DFLAGS)) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_IQUOTE:=$(KERNEL_IQUOTE) +$(test-exec-public_MC_TARGETS) $(test-exec-public_MC_DTARGETS) : test-exec-public_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-exec-public_MC_TARGETS) : CPPFLAGS := $(test-exec-public_MC_CPPFLAGS) +$(test-exec-public_MC_TARGETS) : CFLAGS := $(test-exec-public_CFLAGS) +$(test-exec-public_MC_TARGETS) : $(test-exec-public_MC_TGTWILDCARD).o : $(test-exec-public_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-exec-public_IQUOTE) $(dir $<) $(test-exec-public_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-exec-public_IQUOTE) . $(test-exec-public_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-exec-public_IQUOTE) $(dir $<) $(test-exec-public_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-exec-public_IQUOTE) . $(test-exec-public_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-exec-public_IQUOTE) $(dir $<) $(test-exec-public_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-exec-public_IQUOTE) . $(test-exec-public_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-exec-public_MC_DTARGETS) : $(test-exec-public_MC_TGTWILDCARD).d : $(test-exec-public_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-exec-public_DFLAGS) $(test-exec-public_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-exec-public-link_EXTRA_LDFLAGS := +test-exec-public-link_EXTRA_LIBS := +ifeq (no,yes) + test-exec-public-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-exec-public-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-exec-public-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-exec-public-link_DIRS := $(subst -L ,-L,$(strip $(test-exec-public_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-exec-public-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-exec-public-link_DIRS))) +# Add trailing / +test-exec-public-link_DIRS := $(subst //,/,$(addsuffix /,$(test-exec-public-link_DIRS))) +# Add normal linklib path +test-exec-public-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-exec-public-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-exec-public_LIBS) $(test-exec-public-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-exec-public-link_DEPLIBS := $(foreach lib,$(test-exec-public-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-exec-public-link_DIRS)))) \ +) +test-exec-public-link_PROGS := $(addprefix $(test-exec-public_TARGETDIR)/,$(test-exec-public_FILES)) + +$(test-exec-public-link_PROGS) : OBJDIR := $(test-exec-public_OBJDIR) +$(test-exec-public-link_PROGS) : LDFLAGS := $(strip $(test-exec-public_LDFLAGS) $(test-exec-public-link_EXTRA_LDFLAGS)) +$(test-exec-public-link_PROGS) : LIBS := $(addprefix -l,$(test-exec-public_LIBS) $(test-exec-public-link_EXTRA_LIBS) ) +$(test-exec-public-link_PROGS) : $(test-exec-public_TARGETDIR)/% : $(test-exec-public_OBJDIR)/%.o $(test-exec-public-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-exec-public_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-exec-public_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-exec-public_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-exec-public_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-exec-public_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-exec-public_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-exec-public_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-exec-public_DEPS),) + ifneq (test-exec-public test-exec-public-quick,) + ifneq ($(findstring $(TARGET),test-exec-public test-exec-public-quick),) + -include $(test-exec-public_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-exec-public_DEPS) + endif + endif +endif + + +ifneq ($(test-exec-public_DEPS) $(test-exec-public_OBJS) $(addprefix $(test-exec-public_TARGETDIR)/,$(test-exec-public_FILES)),) +$(test-exec-public_DEPS) $(test-exec-public_OBJS) $(addprefix $(test-exec-public_TARGETDIR)/,$(test-exec-public_FILES)) : | $(test-exec-public_TARGETDIR) $(test-exec-public_OBJDIR) +else +$(test-exec-public_DEPS) $(test-exec-public_OBJS) $(addprefix $(test-exec-public_TARGETDIR)/,$(test-exec-public_FILES)) :: $(test-exec-public_TARGETDIR) $(test-exec-public_OBJDIR) +endif + +GLOB_MKDIRS += $(test-exec-public_TARGETDIR) $(test-exec-public_OBJDIR) + + +test-exec-public-clean : FILES := $(test-exec-public_OBJS) $(test-exec-public_EXES) $(test-exec-public_DEPS) +#MM +test-exec-public-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-exec-public" + $(Q)$(RM) $(FILES) + + +EXECPRIVATEFILES := \ + tasktest2 + +USER_INCLUDES += $(PRIV_EXEC_INCLUDES) + + +.PHONY : test-exec-private + +test-exec-private_OBJDIR := $(GENDIR)/$(CURDIR) +test-exec-private_TARGETDIR := $(EXEDIR) +test-exec-private_LIBS := + +test-exec-private_FILES := $(EXECPRIVATEFILES) +test-exec-private_OBJS := $(addsuffix .o,$(addprefix $(test-exec-private_OBJDIR)/,$(test-exec-private_FILES))) +test-exec-private_DEPS := $(addsuffix .d,$(addprefix $(test-exec-private_OBJDIR)/,$(test-exec-private_FILES))) +test-exec-private_EXES := $(addprefix $(test-exec-private_TARGETDIR)/,$(test-exec-private_FILES)) + +test-exec-private_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-exec-private_CPPFLAGS += -I +endif +test-exec-private_CFLAGS := $(CFLAGS) +test-exec-private_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-exec-private_COVERAGE := yes +test-exec-private_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-exec-private_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-exec-private_CFLAGS := $(strip $(test-exec-private_COVERAGEFLAGS) $(test-exec-private_CFLAGS)) +test-exec-private_LIBS += $(test-exec-private_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-exec-private_FUNCINSTR := yes +test-exec-private_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-exec-private_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-exec-private_CFLAGS := $(strip $(test-exec-private_INSTRFUNCFLAGS) $(test-exec-private_CFLAGS)) +test-exec-private_LIBS += $(test-exec-private_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-exec-private_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-exec-private_CFLAGS)) +endif +endif +ifneq (,) + test-exec-private_DFLAGS := +else + test-exec-private_DFLAGS := $(test-exec-private_CFLAGS) +endif +ifeq (target,target) +test-exec-private_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-exec-private_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-exec-private_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-exec-private_LDFLAGS += -L +endif + +#MM +test-exec-private-quick : test-exec-private + +#MM test-exec-private : includes-generate-deps core-linklibs +test-exec-private : $(test-exec-private_EXES) + +ifneq ($(filter $(TARGET),test-exec-private test-exec-private-quick),) + +ifeq (,) +test-exec-private_MC_SRCWILDCARD := % +else +test-exec-private_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-exec-private_OBJDIR),) +test-exec-private_MC_TARGETS := $(addsuffix .o,$(test-exec-private_FILES)) +test-exec-private_MC_DTARGETS := $(addsuffix .d,$(test-exec-private_FILES)) +test-exec-private_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-exec-private_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-exec-private_OBJDIR)/,$(notdir $(test-exec-private_FILES)))) + test-exec-private_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-exec-private_OBJDIR)/,$(notdir $(test-exec-private_FILES)))) +else +ifeq (,) + test-exec-private_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-exec-private_OBJDIR)/,$(test-exec-private_FILES))) + test-exec-private_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-exec-private_OBJDIR)/,$(test-exec-private_FILES))) +else + test-exec-private_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-exec-private_OBJDIR)/,$(patsubst /%,%,$(test-exec-private_FILES)))) + test-exec-private_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-exec-private_OBJDIR)/,$(patsubst /%,%,$(test-exec-private_FILES)))) +endif +endif +test-exec-private_MC_TGTWILDCARD := $(test-exec-private_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : | $(addsuffix .c,$(test-exec-private_FILES)) + +# Be sure that all .c files are found +test-exec-private_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-exec-private_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-exec-private_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-exec-private_MC_DIRS := $(foreach dir, $(test-exec-private_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-exec-private_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-exec-private_MC_DIRS),) + test-exec-private_MC_DIRS := $(shell echo $(test-exec-private_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-exec-private_MC_DIRS) +endif + +endif + +test-exec-private_MC_CPPFLAGS := $(test-exec-private_CPPFLAGS) +test-exec-private_CFLAGS := $(test-exec-private_CFLAGS) +ifeq ($(test-exec-private_DFLAGS),) + test-exec-private_DFLAGS := $(test-exec-private_CFLAGS) +else + test-exec-private_DFLAGS := $(test-exec-private_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-exec-private_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-exec-private_STRIP ?= $(TARGET_STRIP) +test-exec-private_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_MC_CPPFLAGS:=$(strip $(test-exec-private_MC_CPPFLAGS) $(test-exec-private_MC_EXTRA_CPPFLAGS)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_CFLAGS:=$(strip $(test-exec-private_CFLAGS) $(SAFETY_CFLAGS)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_DFLAGS:=$(test-exec-private_DFLAGS) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-exec-private_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-exec-private_STRIP ?= $(HOST_STRIP) +test-exec-private_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-exec-private_MC_CPPFLAGS) $(test-exec-private_MC_EXTRA_CPPFLAGS)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-exec-private_CFLAGS)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-exec-private_DFLAGS)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_IQUOTE:=$(HOST_IQUOTE) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-exec-private_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-exec-private_STRIP ?= $(ECHO) >/dev/null +test-exec-private_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-exec-private_MC_CPPFLAGS) $(test-exec-private_MC_EXTRA_CPPFLAGS)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-exec-private_CFLAGS)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-exec-private_DFLAGS)) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_IQUOTE:=$(KERNEL_IQUOTE) +$(test-exec-private_MC_TARGETS) $(test-exec-private_MC_DTARGETS) : test-exec-private_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-exec-private_MC_TARGETS) : CPPFLAGS := $(test-exec-private_MC_CPPFLAGS) +$(test-exec-private_MC_TARGETS) : CFLAGS := $(test-exec-private_CFLAGS) +$(test-exec-private_MC_TARGETS) : $(test-exec-private_MC_TGTWILDCARD).o : $(test-exec-private_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-exec-private_IQUOTE) $(dir $<) $(test-exec-private_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-exec-private_IQUOTE) . $(test-exec-private_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-exec-private_IQUOTE) $(dir $<) $(test-exec-private_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-exec-private_IQUOTE) . $(test-exec-private_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-exec-private_IQUOTE) $(dir $<) $(test-exec-private_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-exec-private_IQUOTE) . $(test-exec-private_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-exec-private_MC_DTARGETS) : $(test-exec-private_MC_TGTWILDCARD).d : $(test-exec-private_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-exec-private_DFLAGS) $(test-exec-private_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-exec-private-link_EXTRA_LDFLAGS := +test-exec-private-link_EXTRA_LIBS := +ifeq (no,yes) + test-exec-private-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-exec-private-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-exec-private-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-exec-private-link_DIRS := $(subst -L ,-L,$(strip $(test-exec-private_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-exec-private-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-exec-private-link_DIRS))) +# Add trailing / +test-exec-private-link_DIRS := $(subst //,/,$(addsuffix /,$(test-exec-private-link_DIRS))) +# Add normal linklib path +test-exec-private-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-exec-private-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-exec-private_LIBS) $(test-exec-private-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-exec-private-link_DEPLIBS := $(foreach lib,$(test-exec-private-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-exec-private-link_DIRS)))) \ +) +test-exec-private-link_PROGS := $(addprefix $(test-exec-private_TARGETDIR)/,$(test-exec-private_FILES)) + +$(test-exec-private-link_PROGS) : OBJDIR := $(test-exec-private_OBJDIR) +$(test-exec-private-link_PROGS) : LDFLAGS := $(strip $(test-exec-private_LDFLAGS) $(test-exec-private-link_EXTRA_LDFLAGS)) +$(test-exec-private-link_PROGS) : LIBS := $(addprefix -l,$(test-exec-private_LIBS) $(test-exec-private-link_EXTRA_LIBS) ) +$(test-exec-private-link_PROGS) : $(test-exec-private_TARGETDIR)/% : $(test-exec-private_OBJDIR)/%.o $(test-exec-private-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-exec-private_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-exec-private_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-exec-private_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-exec-private_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-exec-private_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-exec-private_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-exec-private_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-exec-private_DEPS),) + ifneq (test-exec-private test-exec-private-quick,) + ifneq ($(findstring $(TARGET),test-exec-private test-exec-private-quick),) + -include $(test-exec-private_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-exec-private_DEPS) + endif + endif +endif + + +ifneq ($(test-exec-private_DEPS) $(test-exec-private_OBJS) $(addprefix $(test-exec-private_TARGETDIR)/,$(test-exec-private_FILES)),) +$(test-exec-private_DEPS) $(test-exec-private_OBJS) $(addprefix $(test-exec-private_TARGETDIR)/,$(test-exec-private_FILES)) : | $(test-exec-private_TARGETDIR) $(test-exec-private_OBJDIR) +else +$(test-exec-private_DEPS) $(test-exec-private_OBJS) $(addprefix $(test-exec-private_TARGETDIR)/,$(test-exec-private_FILES)) :: $(test-exec-private_TARGETDIR) $(test-exec-private_OBJDIR) +endif + +GLOB_MKDIRS += $(test-exec-private_TARGETDIR) $(test-exec-private_OBJDIR) + + +test-exec-private-clean : FILES := $(test-exec-private_OBJS) $(test-exec-private_EXES) $(test-exec-private_DEPS) +#MM +test-exec-private-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-exec-private" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/freetype/graph/mmakefile b/developer/debug/test/freetype/graph/mmakefile new file mode 100644 index 00000000000..dcdcb1882ea --- /dev/null +++ b/developer/debug/test/freetype/graph/mmakefile @@ -0,0 +1,539 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM test-freetype-lib-graph : includes linklibs + +FILES := \ + grblit \ + gblender \ + gblblit \ + grobjs \ + grfill \ + grfont \ + grdevice \ + grinit \ + grswizzle \ + aros/graros + +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR) -I$(SRCDIR)/$(CURDIR)/graph +USER_CPPFLAGS := -DDEVICE_AROS + + +# assign and generate the local variables used in this macro +test-freetype-lib-graph_LIBNAME := graph +test-freetype-lib-graph_LINKLIB := $(AROS_LIB)/libgraph.a + +test-freetype-lib-graph_FILES ?= $(FILES) +test-freetype-lib-graph_ASMFILES := +test-freetype-lib-graph_OBJCFILES := +test-freetype-lib-graph_CXXFILES := + +test-freetype-lib-graph_OBJDIR ?= $(GENDIR)/$(CURDIR) +test-freetype-lib-graph_ARCHOBJS := $(wildcard $(test-freetype-lib-graph_OBJDIR)/arch/*.o) +ifeq (no,no) + test-freetype-lib-graph_ARCHFILES := $(basename $(notdir $(test-freetype-lib-graph_ARCHOBJS))) +else + test-freetype-lib-graph_ARCHFILES := $(basename $(patsubst $(test-freetype-lib-graph_OBJDIR)/%,%,$(test-freetype-lib-graph_ARCHOBJS))) +endif +test-freetype-lib-graph_C_NARCHFILES := $(filter-out $(test-freetype-lib-graph_ARCHFILES),$(test-freetype-lib-graph_FILES)) +test-freetype-lib-graph_C_FILES ?= $(test-freetype-lib-graph_C_NARCHFILES) +test-freetype-lib-graph_CXX_NARCHFILES := $(filter-out $(test-freetype-lib-graph_ARCHFILES),$(test-freetype-lib-graph_CXXFILES)) +test-freetype-lib-graph_CXX_FILES ?= $(test-freetype-lib-graph_CXX_NARCHFILES) +test-freetype-lib-graph_OBJC_NARCHFILES := $(filter-out $(test-freetype-lib-graph_ARCHFILES),$(test-freetype-lib-graph_OBJCFILES)) +test-freetype-lib-graph_OBJC_FILES ?= $(test-freetype-lib-graph_OBJC_NARCHFILES) + +ifeq (no,no) + test-freetype-lib-graph_OBJ_FILES ?= $(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(notdir $(test-freetype-lib-graph_C_NARCHFILES:=.o) $(test-freetype-lib-graph_CXX_NARCHFILES:=.o) $(test-freetype-lib-graph_ASMFILES:=.o) $(test-freetype-lib-graph_OBJC_NARCHFILES:=.o))) +else + test-freetype-lib-graph_OBJ_FILES ?= $(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(test-freetype-lib-graph_C_NARCHFILES:=.o) $(test-freetype-lib-graph_CXX_NARCHFILES:=.o) $(test-freetype-lib-graph_ASMFILES:=.o) $(test-freetype-lib-graph_OBJC_NARCHFILES:=.o)) +endif +test-freetype-lib-graph_OBJS ?= $(test-freetype-lib-graph_ARCHOBJS) $(test-freetype-lib-graph_OBJ_FILES) +test-freetype-lib-graph_DEPS := $(patsubst %.o,%.d,$(test-freetype-lib-graph_OBJS)) + +test-freetype-lib-graph_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-freetype-lib-graph_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-freetype-lib-graph_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-freetype-lib-graph_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-freetype-lib-graph_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-freetype-lib-graph_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-freetype-lib-graph_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-freetype-lib-graph_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-freetype-lib-graph_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-freetype-lib-graph_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + test-freetype-lib-graph_CFLAGS := $(strip $(LTO_CFLAGS) $(test-freetype-lib-graph_CFLAGS)) + test-freetype-lib-graph_CXXFLAGS := $(strip $(LTO_CFLAGS) $(test-freetype-lib-graph_CXXFLAGS)) +endif +endif +test-freetype-lib-graph_AFLAGS := $(AFLAGS) +test-freetype-lib-graph_DFLAGS := +ifneq (,) + test-freetype-lib-graph_DFLAGS := +else + test-freetype-lib-graph_DFLAGS := $(test-freetype-lib-graph_CFLAGS) +endif +test-freetype-lib-graph_DXXFLAGS := +ifneq (,) + test-freetype-lib-graph_DXXFLAGS := +else + test-freetype-lib-graph_DXXFLAGS := $(test-freetype-lib-graph_CXXFLAGS) +endif + +.PHONY : test-freetype-lib-graph test-freetype-lib-graph-clean test-freetype-lib-graph-quick + +#MM +test-freetype-lib-graph-quick : test-freetype-lib-graph + +#MM test-freetype-lib-graph : includes-generate-deps +test-freetype-lib-graph : $(test-freetype-lib-graph_LINKLIB) + +ifneq ($(filter $(TARGET),test-freetype-lib-graph test-freetype-lib-graph-quick),) + + +test-freetype-lib-graph_CXXABSBASENAMES := $(foreach test-freetype-lib-graph_CXXBASE,$(test-freetype-lib-graph_CXX_FILES),$(if $(filter /%,$(test-freetype-lib-graph_CXXBASE)),$(test-freetype-lib-graph_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-freetype-lib-graph_CXXBASE)))) + +ifneq ($(test-freetype-lib-graph_CXXABSBASENAMES),) + +test-freetype-lib-graph_CXXBASENAMES := $(basename $(test-freetype-lib-graph_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-freetype-lib-graph_MCXX_FILES := $(strip $(foreach test-freetype-lib-graph_CXXBASE,$(test-freetype-lib-graph_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-freetype-lib-graph_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-freetype-lib-graph_EXT),$(test-freetype-lib-graph_CXXBASE))))))) + +ifeq (,) +test-freetype-lib-graph_MCXX_SRCWILDCARD := % +else +test-freetype-lib-graph_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-lib-graph_OBJDIR),) + test-freetype-lib-graph_CXXTARGETS := $(notdir $(test-freetype-lib-graph_CXXBASENAMES:=.o)) + test-freetype-lib-graph_CXXDTARGETS := $(notdir $(test-freetype-lib-graph_CXXBASENAMES:=.d)) + test-freetype-lib-graph_MCXX_WILDCARD := % +else + test-freetype-lib-graph_CXXTARGETS := $(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(notdir $(test-freetype-lib-graph_CXXBASENAMES:=.o))) + test-freetype-lib-graph_CXXDTARGETS := $(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(notdir $(test-freetype-lib-graph_CXXBASENAMES:=.d))) + test-freetype-lib-graph_MCXX_WILDCARD := $(test-freetype-lib-graph_OBJDIR)/% + + # Be sure that all source files are generated + $(test-freetype-lib-graph_CXXTARGETS) $(test-freetype-lib-graph_CXXDTARGETS) : | $(test-freetype-lib-graph_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-freetype-lib-graph_MCXX_CPPFLAGS := $(test-freetype-lib-graph_CPPFLAGS) +test-freetype-lib-graph_CXXFLAGS := $(test-freetype-lib-graph_CXXFLAGS) +ifeq ($(test-freetype-lib-graph_DXXFLAGS),) + test-freetype-lib-graph_DXXFLAGS := $(test-freetype-lib-graph_CXXFLAGS) +else + test-freetype-lib-graph_DXXFLAGS := $(test-freetype-lib-graph_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-freetype-lib-graph_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-freetype-lib-graph_STRIP ?= $(HOST_STRIP) + test-freetype-lib-graph_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-freetype-lib-graph_CXXCMD:=$(HOST_CXX) + test-freetype-lib-graph_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-freetype-lib-graph_MCXX_CPPFLAGS) $(test-freetype-lib-graph_MCXX_EXTRA_CPPFLAGS)) + test-freetype-lib-graph_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-freetype-lib-graph_CXXFLAGS)) + test-freetype-lib-graph_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-freetype-lib-graph_DXXFLAGS)) + test-freetype-lib-graph_CXXIQUOTE:=$(HOST_IQUOTE) + test-freetype-lib-graph_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-freetype-lib-graph_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-freetype-lib-graph_STRIP ?= $(TARGET_STRIP) + test-freetype-lib-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-freetype-lib-graph_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-freetype-lib-graph_MCXX_CPPFLAGS := $(strip $(test-freetype-lib-graph_MCXX_CPPFLAGS) $(test-freetype-lib-graph_MCXX_EXTRA_CPPFLAGS)) + test-freetype-lib-graph_CXXFLAGS := $(strip $(test-freetype-lib-graph_CXXFLAGS) $(SAFETY_CFLAGS)) + test-freetype-lib-graph_DXXFLAGS := $(test-freetype-lib-graph_DXXFLAGS) + test-freetype-lib-graph_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-freetype-lib-graph_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-freetype-lib-graph_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-freetype-lib-graph_STRIP ?= $(ECHO) >/dev/null + test-freetype-lib-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-freetype-lib-graph_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-freetype-lib-graph_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-freetype-lib-graph_MCXX_CPPFLAGS) $(test-freetype-lib-graph_MCXX_EXTRA_CPPFLAGS)) + test-freetype-lib-graph_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-freetype-lib-graph_CXXFLAGS)) + test-freetype-lib-graph_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-freetype-lib-graph_DXXFLAGS)) + test-freetype-lib-graph_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-freetype-lib-graph_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-freetype-lib-graph_CXXCMD) $(test-freetype-lib-graph_CXXIQUOTE) $(dir $(2)) $(test-freetype-lib-graph_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_CXXIQUOTE) . $(test-freetype-lib-graph_CXXIQUOTE_END) $(strip $(test-freetype-lib-graph_CXXFLAGS) $(test-freetype-lib-graph_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-freetype-lib-graph_CXXCMD) $(test-freetype-lib-graph_CXXIQUOTE) $(dir $(2)) $(test-freetype-lib-graph_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_CXXIQUOTE) . $(test-freetype-lib-graph_CXXIQUOTE_END) $(strip $(test-freetype-lib-graph_CXXFLAGS) $(test-freetype-lib-graph_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-freetype-lib-graph_CXXCMD) $(test-freetype-lib-graph_CXXIQUOTE) $(dir $(2)) $(test-freetype-lib-graph_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_CXXIQUOTE) . $(test-freetype-lib-graph_CXXIQUOTE_END) $(strip $(test-freetype-lib-graph_CXXFLAGS) $(test-freetype-lib-graph_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-freetype-lib-graph_CXXCMD)" $(MKDEPEND) $(strip $(test-freetype-lib-graph_DXXFLAGS) $(test-freetype-lib-graph_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-freetype-lib-graph_OBJDIR),) + $(foreach test-freetype-lib-graph_CXXFILE,$(test-freetype-lib-graph_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-freetype-lib-graph_CXXFILE))),$(test-freetype-lib-graph_CXXFILE)))) +else + $(foreach test-freetype-lib-graph_CXXFILE,$(test-freetype-lib-graph_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(notdir $(basename $(test-freetype-lib-graph_CXXFILE)))),$(test-freetype-lib-graph_CXXFILE)))) +endif + +endif + + +ifneq ($(test-freetype-lib-graph_OBJC_FILES),) + +ifeq (,) +test-freetype-lib-graph_MOBJC_SRCWILDCARD := % +else +test-freetype-lib-graph_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-lib-graph_OBJDIR),) + test-freetype-lib-graph_MOBJC_TARGETS := $(addsuffix .o,$(test-freetype-lib-graph_OBJC_FILES)) + test-freetype-lib-graph_MOBJC_DTARGETS := $(addsuffix .d,$(test-freetype-lib-graph_OBJC_FILES)) + test-freetype-lib-graph_MOBJC_WILDCARD := % +else + test-freetype-lib-graph_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(test-freetype-lib-graph_OBJC_FILES))) + test-freetype-lib-graph_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(test-freetype-lib-graph_OBJC_FILES))) + test-freetype-lib-graph_MOBJC_WILDCARD := $(test-freetype-lib-graph_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-freetype-lib-graph_OBJC_FILES)) + + # Be sure that all .m files are found + test-freetype-lib-graph_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-freetype-lib-graph_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-lib-graph_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + test-freetype-lib-graph_MOBJC_DIRS := $(foreach dir, $(test-freetype-lib-graph_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-lib-graph_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-freetype-lib-graph_MOBJC_DIRS),) + test-freetype-lib-graph_MOBJC_DIRS := $(shell echo $(test-freetype-lib-graph_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-freetype-lib-graph_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-freetype-lib-graph_CC := $(TARGET_CC) +else + test-freetype-lib-graph_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-freetype-lib-graph_MOBJC_CPPFLAGS := $(test-freetype-lib-graph_CPPFLAGS) +test-freetype-lib-graph_OBJCFLAGS := $(test-freetype-lib-graph_CFLAGS) +test-freetype-lib-graph_OBJCFLAGS := $(test-freetype-lib-graph_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-freetype-lib-graph_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-freetype-lib-graph_OBJCFLAGS))) +ifeq ($(test-freetype-lib-graph_DFLAGS),) + test-freetype-lib-graph_OBJCDFLAGS := $(test-freetype-lib-graph_CFLAGS) +else + test-freetype-lib-graph_OBJCDFLAGS := $(test-freetype-lib-graph_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-freetype-lib-graph_LINK ?= $(strip $(test-freetype-lib-graph_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-freetype-lib-graph_STRIP ?= $(TARGET_STRIP) + test-freetype-lib-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : CMD:=$(strip $(test-freetype-lib-graph_CC) $(TARGET_SYSROOT)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_MOBJC_CPPFLAGS:=$(strip $(test-freetype-lib-graph_MOBJC_CPPFLAGS) $(test-freetype-lib-graph_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_OBJCFLAGS:=$(strip $(test-freetype-lib-graph_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_OBJCDFLAGS:=$(test-freetype-lib-graph_OBJCDFLAGS) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-freetype-lib-graph_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-freetype-lib-graph_STRIP ?= $(HOST_STRIP) + test-freetype-lib-graph_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-freetype-lib-graph_MOBJC_CPPFLAGS) $(test-freetype-lib-graph_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-lib-graph_OBJCFLAGS)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-lib-graph_OBJCDFLAGS)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_IQUOTE:=$(HOST_IQUOTE) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-freetype-lib-graph_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-freetype-lib-graph_STRIP ?= $(ECHO) >/dev/null + test-freetype-lib-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-freetype-lib-graph_MOBJC_CPPFLAGS) $(test-freetype-lib-graph_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-lib-graph_OBJCFLAGS)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-lib-graph_OBJCDFLAGS)) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_IQUOTE:=$(KERNEL_IQUOTE) + $(test-freetype-lib-graph_MOBJC_TARGETS) $(test-freetype-lib-graph_MOBJC_DTARGETS) : test-freetype-lib-graph_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-freetype-lib-graph_MOBJC_TARGETS) : CPPFLAGS := $(test-freetype-lib-graph_MOBJC_CPPFLAGS) +$(test-freetype-lib-graph_MOBJC_TARGETS) : CFLAGS := $(test-freetype-lib-graph_OBJCFLAGS) +$(test-freetype-lib-graph_MOBJC_TARGETS) : $(test-freetype-lib-graph_MOBJC_WILDCARD).o : $(test-freetype-lib-graph_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-freetype-lib-graph_IQUOTE) $(dir $<) $(test-freetype-lib-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_IQUOTE) . $(test-freetype-lib-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-freetype-lib-graph_IQUOTE) $(dir $<) $(test-freetype-lib-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_IQUOTE) . $(test-freetype-lib-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-freetype-lib-graph_IQUOTE) $(dir $<) $(test-freetype-lib-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_IQUOTE) . $(test-freetype-lib-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-freetype-lib-graph_MOBJC_DTARGETS) : $(test-freetype-lib-graph_MOBJC_WILDCARD).d : $(test-freetype-lib-graph_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-freetype-lib-graph_OBJCDFLAGS) $(test-freetype-lib-graph_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-freetype-lib-graph_MC_SRCWILDCARD := % +else +test-freetype-lib-graph_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-lib-graph_OBJDIR),) +test-freetype-lib-graph_MC_TARGETS := $(addsuffix .o,$(test-freetype-lib-graph_C_FILES)) +test-freetype-lib-graph_MC_DTARGETS := $(addsuffix .d,$(test-freetype-lib-graph_C_FILES)) +test-freetype-lib-graph_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-freetype-lib-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(notdir $(test-freetype-lib-graph_C_FILES)))) + test-freetype-lib-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(notdir $(test-freetype-lib-graph_C_FILES)))) +else +ifeq (,) + test-freetype-lib-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(test-freetype-lib-graph_C_FILES))) + test-freetype-lib-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(test-freetype-lib-graph_C_FILES))) +else + test-freetype-lib-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(patsubst /%,%,$(test-freetype-lib-graph_C_FILES)))) + test-freetype-lib-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(patsubst /%,%,$(test-freetype-lib-graph_C_FILES)))) +endif +endif +test-freetype-lib-graph_MC_TGTWILDCARD := $(test-freetype-lib-graph_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : | $(addsuffix .c,$(test-freetype-lib-graph_C_FILES)) + +# Be sure that all .c files are found +test-freetype-lib-graph_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-freetype-lib-graph_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-lib-graph_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-freetype-lib-graph_MC_DIRS := $(foreach dir, $(test-freetype-lib-graph_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-lib-graph_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-freetype-lib-graph_MC_DIRS),) + test-freetype-lib-graph_MC_DIRS := $(shell echo $(test-freetype-lib-graph_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-freetype-lib-graph_MC_DIRS) +endif + +endif + +test-freetype-lib-graph_MC_CPPFLAGS := $(test-freetype-lib-graph_CPPFLAGS) +test-freetype-lib-graph_CFLAGS := $(test-freetype-lib-graph_CFLAGS) +ifeq ($(test-freetype-lib-graph_DFLAGS),) + test-freetype-lib-graph_DFLAGS := $(test-freetype-lib-graph_CFLAGS) +else + test-freetype-lib-graph_DFLAGS := $(test-freetype-lib-graph_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-freetype-lib-graph_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-freetype-lib-graph_STRIP ?= $(TARGET_STRIP) +test-freetype-lib-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_MC_CPPFLAGS:=$(strip $(test-freetype-lib-graph_MC_CPPFLAGS) $(test-freetype-lib-graph_MC_EXTRA_CPPFLAGS)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_CFLAGS:=$(strip $(test-freetype-lib-graph_CFLAGS) $(SAFETY_CFLAGS)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_DFLAGS:=$(test-freetype-lib-graph_DFLAGS) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-freetype-lib-graph_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-freetype-lib-graph_STRIP ?= $(HOST_STRIP) +test-freetype-lib-graph_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-freetype-lib-graph_MC_CPPFLAGS) $(test-freetype-lib-graph_MC_EXTRA_CPPFLAGS)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-lib-graph_CFLAGS)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-lib-graph_DFLAGS)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_IQUOTE:=$(HOST_IQUOTE) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-freetype-lib-graph_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-freetype-lib-graph_STRIP ?= $(ECHO) >/dev/null +test-freetype-lib-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-freetype-lib-graph_MC_CPPFLAGS) $(test-freetype-lib-graph_MC_EXTRA_CPPFLAGS)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-lib-graph_CFLAGS)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-lib-graph_DFLAGS)) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_IQUOTE:=$(KERNEL_IQUOTE) +$(test-freetype-lib-graph_MC_TARGETS) $(test-freetype-lib-graph_MC_DTARGETS) : test-freetype-lib-graph_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-freetype-lib-graph_MC_TARGETS) : CPPFLAGS := $(test-freetype-lib-graph_MC_CPPFLAGS) +$(test-freetype-lib-graph_MC_TARGETS) : CFLAGS := $(test-freetype-lib-graph_CFLAGS) +$(test-freetype-lib-graph_MC_TARGETS) : $(test-freetype-lib-graph_MC_TGTWILDCARD).o : $(test-freetype-lib-graph_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-freetype-lib-graph_IQUOTE) $(dir $<) $(test-freetype-lib-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_IQUOTE) . $(test-freetype-lib-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-freetype-lib-graph_IQUOTE) $(dir $<) $(test-freetype-lib-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_IQUOTE) . $(test-freetype-lib-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-freetype-lib-graph_IQUOTE) $(dir $<) $(test-freetype-lib-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-lib-graph_IQUOTE) . $(test-freetype-lib-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-freetype-lib-graph_MC_DTARGETS) : $(test-freetype-lib-graph_MC_TGTWILDCARD).d : $(test-freetype-lib-graph_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-freetype-lib-graph_DFLAGS) $(test-freetype-lib-graph_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-freetype-lib-graph_OBJDIR),) +test-freetype-lib-graph-MA_TARGETS := $(addsuffix .o,$(test-freetype-lib-graph_ASMFILES)) +test-freetype-lib-graph-MA_WILDCARD := % +else +test-freetype-lib-graph-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-lib-graph_OBJDIR)/,$(notdir $(test-freetype-lib-graph_ASMFILES)))) +test-freetype-lib-graph-MA_WILDCARD := $(test-freetype-lib-graph_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-freetype-lib-graph-MA_TARGETS) : | $(addsuffix .s,$(test-freetype-lib-graph_ASMFILES)) + +# Be sure that all .c files are found +test-freetype-lib-graph-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-freetype-lib-graph-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-lib-graph_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-freetype-lib-graph-MA_DIRS := $(foreach dir, $(test-freetype-lib-graph-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-lib-graph-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-freetype-lib-graph-MA_DIRS),) + test-freetype-lib-graph-MA_DIRS := $(shell echo $(test-freetype-lib-graph-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-freetype-lib-graph-MA_DIRS) +endif + +endif + +test-freetype-lib-graph-MA_ASSEMBLER ?= $(test-freetype-lib-graph_ASSEMBLER) + +$(test-freetype-lib-graph-MA_TARGETS) : test-freetype-lib-graph-MA_CMD:= $(test-freetype-lib-graph-MA_ASSEMBLER) + +$(test-freetype-lib-graph-MA_TARGETS) : CPPFLAGS := $(test-freetype-lib-graph_CPPFLAGS) +$(test-freetype-lib-graph-MA_TARGETS) : AFLAGS := $(test-freetype-lib-graph_AFLAGS) +$(test-freetype-lib-graph-MA_TARGETS) : $(test-freetype-lib-graph-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-freetype-lib-graph-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-freetype-lib-graph-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-freetype-lib-graph-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libgraph.a : test-freetype-lib-graph_AR:=$(AR) +$(AROS_LIB)/libgraph.a : test-freetype-lib-graph_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libgraph.a : test-freetype-lib-graph_AR:=$(HOST_AR) +$(AROS_LIB)/libgraph.a : test-freetype-lib-graph_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libgraph.a : test-freetype-lib-graph_AR:=$(KERNEL_AR) +$(AROS_LIB)/libgraph.a : test-freetype-lib-graph_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libgraph.a : $(test-freetype-lib-graph_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-freetype-lib-graph_AR) $@ $^ + $(Q)$(test-freetype-lib-graph_RANLIB) $@ +endif + +ifneq ($(test-freetype-lib-graph_DEPS),) + ifneq (test-freetype-lib-graph test-freetype-lib-graph-quick,) + ifneq ($(findstring $(TARGET),test-freetype-lib-graph test-freetype-lib-graph-quick),) + -include $(test-freetype-lib-graph_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-freetype-lib-graph_DEPS) + endif + endif +endif + + + +ifneq ($(test-freetype-lib-graph_OBJS) $(test-freetype-lib-graph_DEPS) $(test-freetype-lib-graph_LINKLIB),) +$(test-freetype-lib-graph_OBJS) $(test-freetype-lib-graph_DEPS) $(test-freetype-lib-graph_LINKLIB) : | $(test-freetype-lib-graph_OBJDIR) $(AROS_LIB) +else +$(test-freetype-lib-graph_OBJS) $(test-freetype-lib-graph_DEPS) $(test-freetype-lib-graph_LINKLIB) :: $(test-freetype-lib-graph_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(test-freetype-lib-graph_OBJDIR) $(AROS_LIB) + + +test-freetype-lib-graph-clean : FILES := $(test-freetype-lib-graph_OBJS) $(test-freetype-lib-graph_LINKLIB) $(test-freetype-lib-graph_DEPS) +#MM +test-freetype-lib-graph-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-freetype-lib-graph" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/freetype/src/mmakefile b/developer/debug/test/freetype/src/mmakefile new file mode 100644 index 00000000000..6b589ed908f --- /dev/null +++ b/developer/debug/test/freetype/src/mmakefile @@ -0,0 +1,1266 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- test : test-freetype +#MM- test-freetype : \ +#MM test-freetype-ftstring \ +#MM test-freetype-ftview + +#MM- test-quick : test-freetype-quick +#MM- test-freetype-quick : \ +#MM test-freetype-ftstring-quick \ +#MM test-freetype-ftview-quick + +#MM test-freetype-ftstring : includes linklibs \ +#MM workbench-libs-freetype-linklib test-freetype-lib-graph +#MM test-freetype-ftview : includes linklibs \ +#MM workbench-libs-freetype-linklib test-freetype-lib-graph + +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/../graph +EXEDIR := $(AROS_TESTS)/freetype + +# Unfortunately, this code is not yet gcc 4.6.1 paranoia clean +NOWARN_FLAGS := $(NOWARN_SWITCH) $(NOWARN_STRINGOP_OVERFLOW) -Wno-error +USER_CFLAGS += $(NOWARN_FLAGS) + +FREETYPETEST_COMMON := \ + common \ + ftcommon + + +.PHONY : test-freetype-ftstring + +test-freetype-ftstring_PROGNAME := ftstring +test-freetype-ftstring_OBJDIR := $(GENDIR)/$(CURDIR) +test-freetype-ftstring_TARGETDIR := $(EXEDIR) +test-freetype-ftstring_LINKER := +test-freetype-ftstring_LIBS := freetype2.static graph +# If not supplied, linker is equal to compiler +ifeq ($(test-freetype-ftstring_LINKER),) + test-freetype-ftstring_LINKER := target +endif + +ifneq ("$(strip ftstring $(FREETYPETEST_COMMON) )","") + test-freetype-ftstring_FILES := ftstring $(FREETYPETEST_COMMON) + test-freetype-ftstring_OBJCFILES := + test-freetype-ftstring_ASMFILES := + test-freetype-ftstring_CXXFILES := +else + test-freetype-ftstring_FILES := $(test-freetype-ftstring_PROGNAME) + test-freetype-ftstring_OBJCFILES := + test-freetype-ftstring_ASMFILES := + test-freetype-ftstring_CXXFILES := +endif + +test-freetype-ftstring_ARCHOBJS := $(wildcard $(test-freetype-ftstring_OBJDIR)/arch/*.o) +test-freetype-ftstring_ARCHFILES := $(basename $(notdir $(test-freetype-ftstring_ARCHOBJS))) +test-freetype-ftstring_C_NARCHFILES := $(filter-out $(test-freetype-ftstring_ARCHFILES),$(test-freetype-ftstring_FILES)) +test-freetype-ftstring_CXX_NARCHFILES := $(filter-out $(test-freetype-ftstring_ARCHFILES),$(test-freetype-ftstring_CXXFILES)) +test-freetype-ftstring_OBJC_NARCHFILES := $(filter-out $(test-freetype-ftstring_ARCHFILES),$(test-freetype-ftstring_OBJCFILES)) + +TMP_FILES := $(test-freetype-ftstring_C_NARCHFILES) $(test-freetype-ftstring_CXX_NARCHFILES) $(test-freetype-ftstring_ASMFILES) $(test-freetype-ftstring_OBJC_NARCHFILES) +test-freetype-ftstring_OBJS := $(addsuffix .o,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-freetype-ftstring_DEPS := $(addsuffix .d,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-freetype-ftstring_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-freetype-ftstring_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-freetype-ftstring_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-freetype-ftstring_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-freetype-ftstring_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-freetype-ftstring_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-freetype-ftstring_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-freetype-ftstring_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-freetype-ftstring_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-freetype-ftstring_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-freetype-ftstring_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-freetype-ftstring_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-freetype-ftstring_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-freetype-ftstring_LDFLAGS := +endif + +test-freetype-ftstring_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-freetype-ftstring_COVERAGE := yes +test-freetype-ftstring_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-freetype-ftstring_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-freetype-ftstring_CFLAGS := $(strip $(test-freetype-ftstring_COVERAGEFLAGS) $(test-freetype-ftstring_CFLAGS)) +test-freetype-ftstring_CXXFLAGS := $(strip $(test-freetype-ftstring_COVERAGEFLAGS) $(test-freetype-ftstring_CXXFLAGS)) +test-freetype-ftstring_LIBS += $(test-freetype-ftstring_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-freetype-ftstring_FUNCINSTR := yes +test-freetype-ftstring_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-freetype-ftstring_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-freetype-ftstring_CFLAGS := $(strip $(test-freetype-ftstring_INSTRFUNCFLAGS) $(test-freetype-ftstring_CFLAGS)) +test-freetype-ftstring_CXXFLAGS := $(strip $(test-freetype-ftstring_INSTRFUNCFLAGS) $(test-freetype-ftstring_CXXFLAGS)) +test-freetype-ftstring_LIBS += $(test-freetype-ftstring_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-freetype-ftstring_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-freetype-ftstring_CFLAGS)) +test-freetype-ftstring_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-freetype-ftstring_CXXFLAGS)) +endif +endif +test-freetype-ftstring_AFLAGS := $(AFLAGS) +ifneq (,) + test-freetype-ftstring_DFLAGS := +else + test-freetype-ftstring_DFLAGS := $(test-freetype-ftstring_CFLAGS) +endif +ifneq (,) + test-freetype-ftstring_DXXFLAGS := +else + test-freetype-ftstring_DXXFLAGS := $(test-freetype-ftstring_CXXFLAGS) +endif +ifeq (target,target) +test-freetype-ftstring_LDFLAGS := $(test-freetype-ftstring_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-freetype-ftstring_LDFLAGS := $(test-freetype-ftstring_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-freetype-ftstring_LDFLAGS := $(test-freetype-ftstring_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-freetype-ftstring_LDFLAGS += -L +endif + +#MM +test-freetype-ftstring-quick : test-freetype-ftstring + +#MM test-freetype-ftstring : includes-generate-deps core-linklibs +test-freetype-ftstring : $(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) + +ifneq ($(filter $(TARGET),test-freetype-ftstring test-freetype-ftstring-quick test-freetype-ftstring-gz-quick),) + +test-freetype-ftstring_CXXABSBASENAMES := $(foreach test-freetype-ftstring_CXXBASE,$(test-freetype-ftstring_CXX_NARCHFILES),$(if $(filter /%,$(test-freetype-ftstring_CXXBASE)),$(test-freetype-ftstring_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-freetype-ftstring_CXXBASE)))) + +ifneq ($(test-freetype-ftstring_CXXABSBASENAMES),) + +test-freetype-ftstring_CXXBASENAMES := $(basename $(test-freetype-ftstring_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-freetype-ftstring_MCXX_FILES := $(strip $(foreach test-freetype-ftstring_CXXBASE,$(test-freetype-ftstring_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-freetype-ftstring_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-freetype-ftstring_EXT),$(test-freetype-ftstring_CXXBASE))))))) + +ifeq (,) +test-freetype-ftstring_MCXX_SRCWILDCARD := % +else +test-freetype-ftstring_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-ftstring_OBJDIR),) + test-freetype-ftstring_CXXTARGETS := $(notdir $(test-freetype-ftstring_CXXBASENAMES:=.o)) + test-freetype-ftstring_CXXDTARGETS := $(notdir $(test-freetype-ftstring_CXXBASENAMES:=.d)) + test-freetype-ftstring_MCXX_WILDCARD := % +else + test-freetype-ftstring_CXXTARGETS := $(addprefix $(test-freetype-ftstring_OBJDIR)/,$(notdir $(test-freetype-ftstring_CXXBASENAMES:=.o))) + test-freetype-ftstring_CXXDTARGETS := $(addprefix $(test-freetype-ftstring_OBJDIR)/,$(notdir $(test-freetype-ftstring_CXXBASENAMES:=.d))) + test-freetype-ftstring_MCXX_WILDCARD := $(test-freetype-ftstring_OBJDIR)/% + + # Be sure that all source files are generated + $(test-freetype-ftstring_CXXTARGETS) $(test-freetype-ftstring_CXXDTARGETS) : | $(test-freetype-ftstring_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-freetype-ftstring_MCXX_CPPFLAGS := $(test-freetype-ftstring_CPPFLAGS) +test-freetype-ftstring_CXXFLAGS := $(test-freetype-ftstring_CXXFLAGS) +ifeq ($(test-freetype-ftstring_DXXFLAGS),) + test-freetype-ftstring_DXXFLAGS := $(test-freetype-ftstring_CXXFLAGS) +else + test-freetype-ftstring_DXXFLAGS := $(test-freetype-ftstring_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-freetype-ftstring_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-freetype-ftstring_STRIP ?= $(HOST_STRIP) + test-freetype-ftstring_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-freetype-ftstring_CXXCMD:=$(HOST_CXX) + test-freetype-ftstring_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-freetype-ftstring_MCXX_CPPFLAGS) $(test-freetype-ftstring_MCXX_EXTRA_CPPFLAGS)) + test-freetype-ftstring_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-freetype-ftstring_CXXFLAGS)) + test-freetype-ftstring_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-freetype-ftstring_DXXFLAGS)) + test-freetype-ftstring_CXXIQUOTE:=$(HOST_IQUOTE) + test-freetype-ftstring_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-freetype-ftstring_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-freetype-ftstring_STRIP ?= $(TARGET_STRIP) + test-freetype-ftstring_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-freetype-ftstring_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-freetype-ftstring_MCXX_CPPFLAGS := $(strip $(test-freetype-ftstring_MCXX_CPPFLAGS) $(test-freetype-ftstring_MCXX_EXTRA_CPPFLAGS)) + test-freetype-ftstring_CXXFLAGS := $(strip $(test-freetype-ftstring_CXXFLAGS) $(SAFETY_CFLAGS)) + test-freetype-ftstring_DXXFLAGS := $(test-freetype-ftstring_DXXFLAGS) + test-freetype-ftstring_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-freetype-ftstring_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-freetype-ftstring_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-freetype-ftstring_STRIP ?= $(ECHO) >/dev/null + test-freetype-ftstring_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-freetype-ftstring_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-freetype-ftstring_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-freetype-ftstring_MCXX_CPPFLAGS) $(test-freetype-ftstring_MCXX_EXTRA_CPPFLAGS)) + test-freetype-ftstring_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-freetype-ftstring_CXXFLAGS)) + test-freetype-ftstring_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-freetype-ftstring_DXXFLAGS)) + test-freetype-ftstring_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-freetype-ftstring_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-freetype-ftstring_CXXCMD) $(test-freetype-ftstring_CXXIQUOTE) $(dir $(2)) $(test-freetype-ftstring_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_CXXIQUOTE) . $(test-freetype-ftstring_CXXIQUOTE_END) $(strip $(test-freetype-ftstring_CXXFLAGS) $(test-freetype-ftstring_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-freetype-ftstring_CXXCMD) $(test-freetype-ftstring_CXXIQUOTE) $(dir $(2)) $(test-freetype-ftstring_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_CXXIQUOTE) . $(test-freetype-ftstring_CXXIQUOTE_END) $(strip $(test-freetype-ftstring_CXXFLAGS) $(test-freetype-ftstring_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-freetype-ftstring_CXXCMD) $(test-freetype-ftstring_CXXIQUOTE) $(dir $(2)) $(test-freetype-ftstring_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_CXXIQUOTE) . $(test-freetype-ftstring_CXXIQUOTE_END) $(strip $(test-freetype-ftstring_CXXFLAGS) $(test-freetype-ftstring_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-freetype-ftstring_CXXCMD)" $(MKDEPEND) $(strip $(test-freetype-ftstring_DXXFLAGS) $(test-freetype-ftstring_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-freetype-ftstring_OBJDIR),) + $(foreach test-freetype-ftstring_CXXFILE,$(test-freetype-ftstring_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-freetype-ftstring_CXXFILE))),$(test-freetype-ftstring_CXXFILE)))) +else + $(foreach test-freetype-ftstring_CXXFILE,$(test-freetype-ftstring_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(notdir $(basename $(test-freetype-ftstring_CXXFILE)))),$(test-freetype-ftstring_CXXFILE)))) +endif + +endif + + +ifneq ($(test-freetype-ftstring_OBJC_NARCHFILES),) + +ifeq (,) +test-freetype-ftstring_MOBJC_SRCWILDCARD := % +else +test-freetype-ftstring_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-ftstring_OBJDIR),) + test-freetype-ftstring_MOBJC_TARGETS := $(addsuffix .o,$(test-freetype-ftstring_OBJC_NARCHFILES)) + test-freetype-ftstring_MOBJC_DTARGETS := $(addsuffix .d,$(test-freetype-ftstring_OBJC_NARCHFILES)) + test-freetype-ftstring_MOBJC_WILDCARD := % +else + test-freetype-ftstring_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(test-freetype-ftstring_OBJC_NARCHFILES))) + test-freetype-ftstring_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(test-freetype-ftstring_OBJC_NARCHFILES))) + test-freetype-ftstring_MOBJC_WILDCARD := $(test-freetype-ftstring_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-freetype-ftstring_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-freetype-ftstring_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-freetype-ftstring_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-ftstring_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-freetype-ftstring_MOBJC_DIRS := $(foreach dir, $(test-freetype-ftstring_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-ftstring_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-freetype-ftstring_MOBJC_DIRS),) + test-freetype-ftstring_MOBJC_DIRS := $(shell echo $(test-freetype-ftstring_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-freetype-ftstring_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-freetype-ftstring_CC := $(TARGET_CC) +else + test-freetype-ftstring_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-freetype-ftstring_MOBJC_CPPFLAGS := $(test-freetype-ftstring_CPPFLAGS) +test-freetype-ftstring_OBJCFLAGS := $(test-freetype-ftstring_CFLAGS) +test-freetype-ftstring_OBJCFLAGS := $(test-freetype-ftstring_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-freetype-ftstring_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-freetype-ftstring_OBJCFLAGS))) +ifeq ($(test-freetype-ftstring_DFLAGS),) + test-freetype-ftstring_OBJCDFLAGS := $(test-freetype-ftstring_CFLAGS) +else + test-freetype-ftstring_OBJCDFLAGS := $(test-freetype-ftstring_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-freetype-ftstring_LINK ?= $(strip $(test-freetype-ftstring_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-freetype-ftstring_STRIP ?= $(TARGET_STRIP) + test-freetype-ftstring_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : CMD:=$(strip $(test-freetype-ftstring_CC) $(TARGET_SYSROOT)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_MOBJC_CPPFLAGS:=$(strip $(test-freetype-ftstring_MOBJC_CPPFLAGS) $(test-freetype-ftstring_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_OBJCFLAGS:=$(strip $(test-freetype-ftstring_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_OBJCDFLAGS:=$(test-freetype-ftstring_OBJCDFLAGS) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-freetype-ftstring_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-freetype-ftstring_STRIP ?= $(HOST_STRIP) + test-freetype-ftstring_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-freetype-ftstring_MOBJC_CPPFLAGS) $(test-freetype-ftstring_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-ftstring_OBJCFLAGS)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-ftstring_OBJCDFLAGS)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_IQUOTE:=$(HOST_IQUOTE) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-freetype-ftstring_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-freetype-ftstring_STRIP ?= $(ECHO) >/dev/null + test-freetype-ftstring_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-freetype-ftstring_MOBJC_CPPFLAGS) $(test-freetype-ftstring_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-ftstring_OBJCFLAGS)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-ftstring_OBJCDFLAGS)) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_IQUOTE:=$(KERNEL_IQUOTE) + $(test-freetype-ftstring_MOBJC_TARGETS) $(test-freetype-ftstring_MOBJC_DTARGETS) : test-freetype-ftstring_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-freetype-ftstring_MOBJC_TARGETS) : CPPFLAGS := $(test-freetype-ftstring_MOBJC_CPPFLAGS) +$(test-freetype-ftstring_MOBJC_TARGETS) : CFLAGS := $(test-freetype-ftstring_OBJCFLAGS) +$(test-freetype-ftstring_MOBJC_TARGETS) : $(test-freetype-ftstring_MOBJC_WILDCARD).o : $(test-freetype-ftstring_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-freetype-ftstring_IQUOTE) $(dir $<) $(test-freetype-ftstring_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_IQUOTE) . $(test-freetype-ftstring_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-freetype-ftstring_IQUOTE) $(dir $<) $(test-freetype-ftstring_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_IQUOTE) . $(test-freetype-ftstring_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-freetype-ftstring_IQUOTE) $(dir $<) $(test-freetype-ftstring_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_IQUOTE) . $(test-freetype-ftstring_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-freetype-ftstring_MOBJC_DTARGETS) : $(test-freetype-ftstring_MOBJC_WILDCARD).d : $(test-freetype-ftstring_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-freetype-ftstring_OBJCDFLAGS) $(test-freetype-ftstring_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-freetype-ftstring_MC_SRCWILDCARD := % +else +test-freetype-ftstring_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-ftstring_OBJDIR),) +test-freetype-ftstring_MC_TARGETS := $(addsuffix .o,$(test-freetype-ftstring_C_NARCHFILES)) +test-freetype-ftstring_MC_DTARGETS := $(addsuffix .d,$(test-freetype-ftstring_C_NARCHFILES)) +test-freetype-ftstring_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-freetype-ftstring_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(notdir $(test-freetype-ftstring_C_NARCHFILES)))) + test-freetype-ftstring_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(notdir $(test-freetype-ftstring_C_NARCHFILES)))) +else +ifeq (,) + test-freetype-ftstring_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(test-freetype-ftstring_C_NARCHFILES))) + test-freetype-ftstring_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(test-freetype-ftstring_C_NARCHFILES))) +else + test-freetype-ftstring_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(patsubst /%,%,$(test-freetype-ftstring_C_NARCHFILES)))) + test-freetype-ftstring_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(patsubst /%,%,$(test-freetype-ftstring_C_NARCHFILES)))) +endif +endif +test-freetype-ftstring_MC_TGTWILDCARD := $(test-freetype-ftstring_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : | $(addsuffix .c,$(test-freetype-ftstring_C_NARCHFILES)) + +# Be sure that all .c files are found +test-freetype-ftstring_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-freetype-ftstring_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-ftstring_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-freetype-ftstring_MC_DIRS := $(foreach dir, $(test-freetype-ftstring_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-ftstring_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-freetype-ftstring_MC_DIRS),) + test-freetype-ftstring_MC_DIRS := $(shell echo $(test-freetype-ftstring_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-freetype-ftstring_MC_DIRS) +endif + +endif + +test-freetype-ftstring_MC_CPPFLAGS := $(test-freetype-ftstring_CPPFLAGS) +test-freetype-ftstring_CFLAGS := $(test-freetype-ftstring_CFLAGS) +ifeq ($(test-freetype-ftstring_DFLAGS),) + test-freetype-ftstring_DFLAGS := $(test-freetype-ftstring_CFLAGS) +else + test-freetype-ftstring_DFLAGS := $(test-freetype-ftstring_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-freetype-ftstring_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-freetype-ftstring_STRIP ?= $(TARGET_STRIP) +test-freetype-ftstring_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_MC_CPPFLAGS:=$(strip $(test-freetype-ftstring_MC_CPPFLAGS) $(test-freetype-ftstring_MC_EXTRA_CPPFLAGS)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_CFLAGS:=$(strip $(test-freetype-ftstring_CFLAGS) $(SAFETY_CFLAGS)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_DFLAGS:=$(test-freetype-ftstring_DFLAGS) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-freetype-ftstring_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-freetype-ftstring_STRIP ?= $(HOST_STRIP) +test-freetype-ftstring_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-freetype-ftstring_MC_CPPFLAGS) $(test-freetype-ftstring_MC_EXTRA_CPPFLAGS)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-ftstring_CFLAGS)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-ftstring_DFLAGS)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_IQUOTE:=$(HOST_IQUOTE) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-freetype-ftstring_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-freetype-ftstring_STRIP ?= $(ECHO) >/dev/null +test-freetype-ftstring_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-freetype-ftstring_MC_CPPFLAGS) $(test-freetype-ftstring_MC_EXTRA_CPPFLAGS)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-ftstring_CFLAGS)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-ftstring_DFLAGS)) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_IQUOTE:=$(KERNEL_IQUOTE) +$(test-freetype-ftstring_MC_TARGETS) $(test-freetype-ftstring_MC_DTARGETS) : test-freetype-ftstring_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-freetype-ftstring_MC_TARGETS) : CPPFLAGS := $(test-freetype-ftstring_MC_CPPFLAGS) +$(test-freetype-ftstring_MC_TARGETS) : CFLAGS := $(test-freetype-ftstring_CFLAGS) +$(test-freetype-ftstring_MC_TARGETS) : $(test-freetype-ftstring_MC_TGTWILDCARD).o : $(test-freetype-ftstring_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-freetype-ftstring_IQUOTE) $(dir $<) $(test-freetype-ftstring_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_IQUOTE) . $(test-freetype-ftstring_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-freetype-ftstring_IQUOTE) $(dir $<) $(test-freetype-ftstring_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_IQUOTE) . $(test-freetype-ftstring_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-freetype-ftstring_IQUOTE) $(dir $<) $(test-freetype-ftstring_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftstring_IQUOTE) . $(test-freetype-ftstring_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-freetype-ftstring_MC_DTARGETS) : $(test-freetype-ftstring_MC_TGTWILDCARD).d : $(test-freetype-ftstring_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-freetype-ftstring_DFLAGS) $(test-freetype-ftstring_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-freetype-ftstring_OBJDIR),) +test-freetype-ftstring-MA_TARGETS := $(addsuffix .o,$(test-freetype-ftstring_ASMFILES)) +test-freetype-ftstring-MA_WILDCARD := % +else +test-freetype-ftstring-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftstring_OBJDIR)/,$(notdir $(test-freetype-ftstring_ASMFILES)))) +test-freetype-ftstring-MA_WILDCARD := $(test-freetype-ftstring_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-freetype-ftstring-MA_TARGETS) : | $(addsuffix .s,$(test-freetype-ftstring_ASMFILES)) + +# Be sure that all .c files are found +test-freetype-ftstring-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-freetype-ftstring-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-ftstring_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-freetype-ftstring-MA_DIRS := $(foreach dir, $(test-freetype-ftstring-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-ftstring-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-freetype-ftstring-MA_DIRS),) + test-freetype-ftstring-MA_DIRS := $(shell echo $(test-freetype-ftstring-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-freetype-ftstring-MA_DIRS) +endif + +endif + +test-freetype-ftstring-MA_ASSEMBLER ?= $(test-freetype-ftstring_ASSEMBLER) + +$(test-freetype-ftstring-MA_TARGETS) : test-freetype-ftstring-MA_CMD:= $(test-freetype-ftstring-MA_ASSEMBLER) + +$(test-freetype-ftstring-MA_TARGETS) : CPPFLAGS := $(test-freetype-ftstring_CPPFLAGS) +$(test-freetype-ftstring-MA_TARGETS) : AFLAGS := $(test-freetype-ftstring_AFLAGS) +$(test-freetype-ftstring-MA_TARGETS) : $(test-freetype-ftstring-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-freetype-ftstring-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-freetype-ftstring-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-freetype-ftstring-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-freetype-ftstring-link_EXTRA_LDFLAGS := +test-freetype-ftstring-link_EXTRA_LIBS := +ifeq (no,yes) + test-freetype-ftstring-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-freetype-ftstring-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-freetype-ftstring-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-freetype-ftstring-link_DIRS := $(subst -L ,-L,$(strip $(test-freetype-ftstring_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-freetype-ftstring-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-freetype-ftstring-link_DIRS))) +# Add trailing / +test-freetype-ftstring-link_DIRS := $(subst //,/,$(addsuffix /,$(test-freetype-ftstring-link_DIRS))) +# Add normal linklib path +test-freetype-ftstring-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-freetype-ftstring-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-freetype-ftstring_LIBS) $(test-freetype-ftstring-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-freetype-ftstring-link_LIBS += startup.o +endif +ifeq (no,yes) + test-freetype-ftstring-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-freetype-ftstring-link_DEPLIBS := $(foreach lib,$(test-freetype-ftstring-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-freetype-ftstring-link_DIRS)))) \ +) + +$(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) : OBJDIR := $(test-freetype-ftstring_OBJDIR) +$(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) : OBJS := $(test-freetype-ftstring_OBJS) $(test-freetype-ftstring_ARCHOBJS) $(USER_OBJS) +$(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) : LDFLAGS := $(strip $(test-freetype-ftstring_LDFLAGS) $(test-freetype-ftstring-link_EXTRA_LDFLAGS)) +$(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) : LIBS := $(addprefix -l,$(test-freetype-ftstring_LIBS) $(test-freetype-ftstring-link_EXTRA_LIBS) ) +$(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) : $(test-freetype-ftstring_OBJS) $(test-freetype-ftstring_ARCHOBJS) $(USER_OBJS) $(test-freetype-ftstring-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-freetype-ftstring_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-freetype-ftstring_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-freetype-ftstring_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-freetype-ftstring_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-freetype-ftstring_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-freetype-ftstring_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-freetype-ftstring_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-freetype-ftstring_DEPS),) + ifneq (test-freetype-ftstring test-freetype-ftstring-quick,) + ifneq ($(findstring $(TARGET),test-freetype-ftstring test-freetype-ftstring-quick),) + -include $(test-freetype-ftstring_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-freetype-ftstring_DEPS) + endif + endif +endif + + +ifneq ($(test-freetype-ftstring_OBJS) $(test-freetype-ftstring_DEPS) $(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME),) +$(test-freetype-ftstring_OBJS) $(test-freetype-ftstring_DEPS) $(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) : | $(test-freetype-ftstring_OBJDIR) $(test-freetype-ftstring_TARGETDIR) +else +$(test-freetype-ftstring_OBJS) $(test-freetype-ftstring_DEPS) $(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) :: $(test-freetype-ftstring_OBJDIR) $(test-freetype-ftstring_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-freetype-ftstring_OBJDIR) $(test-freetype-ftstring_TARGETDIR) + + +test-freetype-ftstring-clean : FILES := $(test-freetype-ftstring_OBJS) $(test-freetype-ftstring_TARGETDIR)/$(test-freetype-ftstring_PROGNAME) $(test-freetype-ftstring_DEPS) +#MM +test-freetype-ftstring-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-freetype-ftstring" + $(Q)$(RM) $(FILES) + + +USER_CPPFLAGS += -DFT2_BUILD_LIBRARY + + +.PHONY : test-freetype-ftview + +test-freetype-ftview_PROGNAME := ftview +test-freetype-ftview_OBJDIR := $(GENDIR)/$(CURDIR) +test-freetype-ftview_TARGETDIR := $(EXEDIR) +test-freetype-ftview_LINKER := +test-freetype-ftview_LIBS := freetype2.static graph +# If not supplied, linker is equal to compiler +ifeq ($(test-freetype-ftview_LINKER),) + test-freetype-ftview_LINKER := target +endif + +ifneq ("$(strip ftview $(FREETYPETEST_COMMON) )","") + test-freetype-ftview_FILES := ftview $(FREETYPETEST_COMMON) + test-freetype-ftview_OBJCFILES := + test-freetype-ftview_ASMFILES := + test-freetype-ftview_CXXFILES := +else + test-freetype-ftview_FILES := $(test-freetype-ftview_PROGNAME) + test-freetype-ftview_OBJCFILES := + test-freetype-ftview_ASMFILES := + test-freetype-ftview_CXXFILES := +endif + +test-freetype-ftview_ARCHOBJS := $(wildcard $(test-freetype-ftview_OBJDIR)/arch/*.o) +test-freetype-ftview_ARCHFILES := $(basename $(notdir $(test-freetype-ftview_ARCHOBJS))) +test-freetype-ftview_C_NARCHFILES := $(filter-out $(test-freetype-ftview_ARCHFILES),$(test-freetype-ftview_FILES)) +test-freetype-ftview_CXX_NARCHFILES := $(filter-out $(test-freetype-ftview_ARCHFILES),$(test-freetype-ftview_CXXFILES)) +test-freetype-ftview_OBJC_NARCHFILES := $(filter-out $(test-freetype-ftview_ARCHFILES),$(test-freetype-ftview_OBJCFILES)) + +TMP_FILES := $(test-freetype-ftview_C_NARCHFILES) $(test-freetype-ftview_CXX_NARCHFILES) $(test-freetype-ftview_ASMFILES) $(test-freetype-ftview_OBJC_NARCHFILES) +test-freetype-ftview_OBJS := $(addsuffix .o,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-freetype-ftview_DEPS := $(addsuffix .d,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-freetype-ftview_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-freetype-ftview_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-freetype-ftview_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-freetype-ftview_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-freetype-ftview_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-freetype-ftview_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-freetype-ftview_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-freetype-ftview_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-freetype-ftview_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-freetype-ftview_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-freetype-ftview_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-freetype-ftview_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-freetype-ftview_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-freetype-ftview_LDFLAGS := +endif + +test-freetype-ftview_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-freetype-ftview_COVERAGE := yes +test-freetype-ftview_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-freetype-ftview_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-freetype-ftview_CFLAGS := $(strip $(test-freetype-ftview_COVERAGEFLAGS) $(test-freetype-ftview_CFLAGS)) +test-freetype-ftview_CXXFLAGS := $(strip $(test-freetype-ftview_COVERAGEFLAGS) $(test-freetype-ftview_CXXFLAGS)) +test-freetype-ftview_LIBS += $(test-freetype-ftview_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-freetype-ftview_FUNCINSTR := yes +test-freetype-ftview_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-freetype-ftview_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-freetype-ftview_CFLAGS := $(strip $(test-freetype-ftview_INSTRFUNCFLAGS) $(test-freetype-ftview_CFLAGS)) +test-freetype-ftview_CXXFLAGS := $(strip $(test-freetype-ftview_INSTRFUNCFLAGS) $(test-freetype-ftview_CXXFLAGS)) +test-freetype-ftview_LIBS += $(test-freetype-ftview_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-freetype-ftview_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-freetype-ftview_CFLAGS)) +test-freetype-ftview_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-freetype-ftview_CXXFLAGS)) +endif +endif +test-freetype-ftview_AFLAGS := $(AFLAGS) +ifneq (,) + test-freetype-ftview_DFLAGS := +else + test-freetype-ftview_DFLAGS := $(test-freetype-ftview_CFLAGS) +endif +ifneq (,) + test-freetype-ftview_DXXFLAGS := +else + test-freetype-ftview_DXXFLAGS := $(test-freetype-ftview_CXXFLAGS) +endif +ifeq (target,target) +test-freetype-ftview_LDFLAGS := $(test-freetype-ftview_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-freetype-ftview_LDFLAGS := $(test-freetype-ftview_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-freetype-ftview_LDFLAGS := $(test-freetype-ftview_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-freetype-ftview_LDFLAGS += -L +endif + +#MM +test-freetype-ftview-quick : test-freetype-ftview + +#MM test-freetype-ftview : includes-generate-deps core-linklibs +test-freetype-ftview : $(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) + +ifneq ($(filter $(TARGET),test-freetype-ftview test-freetype-ftview-quick test-freetype-ftview-gz-quick),) + +test-freetype-ftview_CXXABSBASENAMES := $(foreach test-freetype-ftview_CXXBASE,$(test-freetype-ftview_CXX_NARCHFILES),$(if $(filter /%,$(test-freetype-ftview_CXXBASE)),$(test-freetype-ftview_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-freetype-ftview_CXXBASE)))) + +ifneq ($(test-freetype-ftview_CXXABSBASENAMES),) + +test-freetype-ftview_CXXBASENAMES := $(basename $(test-freetype-ftview_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-freetype-ftview_MCXX_FILES := $(strip $(foreach test-freetype-ftview_CXXBASE,$(test-freetype-ftview_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-freetype-ftview_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-freetype-ftview_EXT),$(test-freetype-ftview_CXXBASE))))))) + +ifeq (,) +test-freetype-ftview_MCXX_SRCWILDCARD := % +else +test-freetype-ftview_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-ftview_OBJDIR),) + test-freetype-ftview_CXXTARGETS := $(notdir $(test-freetype-ftview_CXXBASENAMES:=.o)) + test-freetype-ftview_CXXDTARGETS := $(notdir $(test-freetype-ftview_CXXBASENAMES:=.d)) + test-freetype-ftview_MCXX_WILDCARD := % +else + test-freetype-ftview_CXXTARGETS := $(addprefix $(test-freetype-ftview_OBJDIR)/,$(notdir $(test-freetype-ftview_CXXBASENAMES:=.o))) + test-freetype-ftview_CXXDTARGETS := $(addprefix $(test-freetype-ftview_OBJDIR)/,$(notdir $(test-freetype-ftview_CXXBASENAMES:=.d))) + test-freetype-ftview_MCXX_WILDCARD := $(test-freetype-ftview_OBJDIR)/% + + # Be sure that all source files are generated + $(test-freetype-ftview_CXXTARGETS) $(test-freetype-ftview_CXXDTARGETS) : | $(test-freetype-ftview_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-freetype-ftview_MCXX_CPPFLAGS := $(test-freetype-ftview_CPPFLAGS) +test-freetype-ftview_CXXFLAGS := $(test-freetype-ftview_CXXFLAGS) +ifeq ($(test-freetype-ftview_DXXFLAGS),) + test-freetype-ftview_DXXFLAGS := $(test-freetype-ftview_CXXFLAGS) +else + test-freetype-ftview_DXXFLAGS := $(test-freetype-ftview_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-freetype-ftview_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-freetype-ftview_STRIP ?= $(HOST_STRIP) + test-freetype-ftview_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-freetype-ftview_CXXCMD:=$(HOST_CXX) + test-freetype-ftview_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-freetype-ftview_MCXX_CPPFLAGS) $(test-freetype-ftview_MCXX_EXTRA_CPPFLAGS)) + test-freetype-ftview_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-freetype-ftview_CXXFLAGS)) + test-freetype-ftview_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-freetype-ftview_DXXFLAGS)) + test-freetype-ftview_CXXIQUOTE:=$(HOST_IQUOTE) + test-freetype-ftview_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-freetype-ftview_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-freetype-ftview_STRIP ?= $(TARGET_STRIP) + test-freetype-ftview_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-freetype-ftview_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-freetype-ftview_MCXX_CPPFLAGS := $(strip $(test-freetype-ftview_MCXX_CPPFLAGS) $(test-freetype-ftview_MCXX_EXTRA_CPPFLAGS)) + test-freetype-ftview_CXXFLAGS := $(strip $(test-freetype-ftview_CXXFLAGS) $(SAFETY_CFLAGS)) + test-freetype-ftview_DXXFLAGS := $(test-freetype-ftview_DXXFLAGS) + test-freetype-ftview_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-freetype-ftview_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-freetype-ftview_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-freetype-ftview_STRIP ?= $(ECHO) >/dev/null + test-freetype-ftview_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-freetype-ftview_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-freetype-ftview_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-freetype-ftview_MCXX_CPPFLAGS) $(test-freetype-ftview_MCXX_EXTRA_CPPFLAGS)) + test-freetype-ftview_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-freetype-ftview_CXXFLAGS)) + test-freetype-ftview_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-freetype-ftview_DXXFLAGS)) + test-freetype-ftview_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-freetype-ftview_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-freetype-ftview_CXXCMD) $(test-freetype-ftview_CXXIQUOTE) $(dir $(2)) $(test-freetype-ftview_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_CXXIQUOTE) . $(test-freetype-ftview_CXXIQUOTE_END) $(strip $(test-freetype-ftview_CXXFLAGS) $(test-freetype-ftview_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-freetype-ftview_CXXCMD) $(test-freetype-ftview_CXXIQUOTE) $(dir $(2)) $(test-freetype-ftview_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_CXXIQUOTE) . $(test-freetype-ftview_CXXIQUOTE_END) $(strip $(test-freetype-ftview_CXXFLAGS) $(test-freetype-ftview_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-freetype-ftview_CXXCMD) $(test-freetype-ftview_CXXIQUOTE) $(dir $(2)) $(test-freetype-ftview_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_CXXIQUOTE) . $(test-freetype-ftview_CXXIQUOTE_END) $(strip $(test-freetype-ftview_CXXFLAGS) $(test-freetype-ftview_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-freetype-ftview_CXXCMD)" $(MKDEPEND) $(strip $(test-freetype-ftview_DXXFLAGS) $(test-freetype-ftview_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-freetype-ftview_OBJDIR),) + $(foreach test-freetype-ftview_CXXFILE,$(test-freetype-ftview_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-freetype-ftview_CXXFILE))),$(test-freetype-ftview_CXXFILE)))) +else + $(foreach test-freetype-ftview_CXXFILE,$(test-freetype-ftview_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(notdir $(basename $(test-freetype-ftview_CXXFILE)))),$(test-freetype-ftview_CXXFILE)))) +endif + +endif + + +ifneq ($(test-freetype-ftview_OBJC_NARCHFILES),) + +ifeq (,) +test-freetype-ftview_MOBJC_SRCWILDCARD := % +else +test-freetype-ftview_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-ftview_OBJDIR),) + test-freetype-ftview_MOBJC_TARGETS := $(addsuffix .o,$(test-freetype-ftview_OBJC_NARCHFILES)) + test-freetype-ftview_MOBJC_DTARGETS := $(addsuffix .d,$(test-freetype-ftview_OBJC_NARCHFILES)) + test-freetype-ftview_MOBJC_WILDCARD := % +else + test-freetype-ftview_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(test-freetype-ftview_OBJC_NARCHFILES))) + test-freetype-ftview_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(test-freetype-ftview_OBJC_NARCHFILES))) + test-freetype-ftview_MOBJC_WILDCARD := $(test-freetype-ftview_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-freetype-ftview_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-freetype-ftview_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-freetype-ftview_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-ftview_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-freetype-ftview_MOBJC_DIRS := $(foreach dir, $(test-freetype-ftview_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-ftview_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-freetype-ftview_MOBJC_DIRS),) + test-freetype-ftview_MOBJC_DIRS := $(shell echo $(test-freetype-ftview_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-freetype-ftview_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-freetype-ftview_CC := $(TARGET_CC) +else + test-freetype-ftview_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-freetype-ftview_MOBJC_CPPFLAGS := $(test-freetype-ftview_CPPFLAGS) +test-freetype-ftview_OBJCFLAGS := $(test-freetype-ftview_CFLAGS) +test-freetype-ftview_OBJCFLAGS := $(test-freetype-ftview_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-freetype-ftview_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-freetype-ftview_OBJCFLAGS))) +ifeq ($(test-freetype-ftview_DFLAGS),) + test-freetype-ftview_OBJCDFLAGS := $(test-freetype-ftview_CFLAGS) +else + test-freetype-ftview_OBJCDFLAGS := $(test-freetype-ftview_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-freetype-ftview_LINK ?= $(strip $(test-freetype-ftview_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-freetype-ftview_STRIP ?= $(TARGET_STRIP) + test-freetype-ftview_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : CMD:=$(strip $(test-freetype-ftview_CC) $(TARGET_SYSROOT)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_MOBJC_CPPFLAGS:=$(strip $(test-freetype-ftview_MOBJC_CPPFLAGS) $(test-freetype-ftview_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_OBJCFLAGS:=$(strip $(test-freetype-ftview_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_OBJCDFLAGS:=$(test-freetype-ftview_OBJCDFLAGS) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-freetype-ftview_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-freetype-ftview_STRIP ?= $(HOST_STRIP) + test-freetype-ftview_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-freetype-ftview_MOBJC_CPPFLAGS) $(test-freetype-ftview_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-ftview_OBJCFLAGS)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-ftview_OBJCDFLAGS)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_IQUOTE:=$(HOST_IQUOTE) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-freetype-ftview_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-freetype-ftview_STRIP ?= $(ECHO) >/dev/null + test-freetype-ftview_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-freetype-ftview_MOBJC_CPPFLAGS) $(test-freetype-ftview_MOBJC_EXTRA_CPPFLAGS)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-ftview_OBJCFLAGS)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-ftview_OBJCDFLAGS)) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_IQUOTE:=$(KERNEL_IQUOTE) + $(test-freetype-ftview_MOBJC_TARGETS) $(test-freetype-ftview_MOBJC_DTARGETS) : test-freetype-ftview_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-freetype-ftview_MOBJC_TARGETS) : CPPFLAGS := $(test-freetype-ftview_MOBJC_CPPFLAGS) +$(test-freetype-ftview_MOBJC_TARGETS) : CFLAGS := $(test-freetype-ftview_OBJCFLAGS) +$(test-freetype-ftview_MOBJC_TARGETS) : $(test-freetype-ftview_MOBJC_WILDCARD).o : $(test-freetype-ftview_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-freetype-ftview_IQUOTE) $(dir $<) $(test-freetype-ftview_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_IQUOTE) . $(test-freetype-ftview_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-freetype-ftview_IQUOTE) $(dir $<) $(test-freetype-ftview_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_IQUOTE) . $(test-freetype-ftview_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-freetype-ftview_IQUOTE) $(dir $<) $(test-freetype-ftview_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_IQUOTE) . $(test-freetype-ftview_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-freetype-ftview_MOBJC_DTARGETS) : $(test-freetype-ftview_MOBJC_WILDCARD).d : $(test-freetype-ftview_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-freetype-ftview_OBJCDFLAGS) $(test-freetype-ftview_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-freetype-ftview_MC_SRCWILDCARD := % +else +test-freetype-ftview_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-freetype-ftview_OBJDIR),) +test-freetype-ftview_MC_TARGETS := $(addsuffix .o,$(test-freetype-ftview_C_NARCHFILES)) +test-freetype-ftview_MC_DTARGETS := $(addsuffix .d,$(test-freetype-ftview_C_NARCHFILES)) +test-freetype-ftview_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-freetype-ftview_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(notdir $(test-freetype-ftview_C_NARCHFILES)))) + test-freetype-ftview_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(notdir $(test-freetype-ftview_C_NARCHFILES)))) +else +ifeq (,) + test-freetype-ftview_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(test-freetype-ftview_C_NARCHFILES))) + test-freetype-ftview_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(test-freetype-ftview_C_NARCHFILES))) +else + test-freetype-ftview_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(patsubst /%,%,$(test-freetype-ftview_C_NARCHFILES)))) + test-freetype-ftview_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(patsubst /%,%,$(test-freetype-ftview_C_NARCHFILES)))) +endif +endif +test-freetype-ftview_MC_TGTWILDCARD := $(test-freetype-ftview_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : | $(addsuffix .c,$(test-freetype-ftview_C_NARCHFILES)) + +# Be sure that all .c files are found +test-freetype-ftview_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-freetype-ftview_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-ftview_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-freetype-ftview_MC_DIRS := $(foreach dir, $(test-freetype-ftview_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-ftview_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-freetype-ftview_MC_DIRS),) + test-freetype-ftview_MC_DIRS := $(shell echo $(test-freetype-ftview_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-freetype-ftview_MC_DIRS) +endif + +endif + +test-freetype-ftview_MC_CPPFLAGS := $(test-freetype-ftview_CPPFLAGS) +test-freetype-ftview_CFLAGS := $(test-freetype-ftview_CFLAGS) +ifeq ($(test-freetype-ftview_DFLAGS),) + test-freetype-ftview_DFLAGS := $(test-freetype-ftview_CFLAGS) +else + test-freetype-ftview_DFLAGS := $(test-freetype-ftview_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-freetype-ftview_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-freetype-ftview_STRIP ?= $(TARGET_STRIP) +test-freetype-ftview_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_MC_CPPFLAGS:=$(strip $(test-freetype-ftview_MC_CPPFLAGS) $(test-freetype-ftview_MC_EXTRA_CPPFLAGS)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_CFLAGS:=$(strip $(test-freetype-ftview_CFLAGS) $(SAFETY_CFLAGS)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_DFLAGS:=$(test-freetype-ftview_DFLAGS) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-freetype-ftview_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-freetype-ftview_STRIP ?= $(HOST_STRIP) +test-freetype-ftview_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-freetype-ftview_MC_CPPFLAGS) $(test-freetype-ftview_MC_EXTRA_CPPFLAGS)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-ftview_CFLAGS)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-freetype-ftview_DFLAGS)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_IQUOTE:=$(HOST_IQUOTE) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-freetype-ftview_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-freetype-ftview_STRIP ?= $(ECHO) >/dev/null +test-freetype-ftview_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-freetype-ftview_MC_CPPFLAGS) $(test-freetype-ftview_MC_EXTRA_CPPFLAGS)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-ftview_CFLAGS)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-freetype-ftview_DFLAGS)) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_IQUOTE:=$(KERNEL_IQUOTE) +$(test-freetype-ftview_MC_TARGETS) $(test-freetype-ftview_MC_DTARGETS) : test-freetype-ftview_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-freetype-ftview_MC_TARGETS) : CPPFLAGS := $(test-freetype-ftview_MC_CPPFLAGS) +$(test-freetype-ftview_MC_TARGETS) : CFLAGS := $(test-freetype-ftview_CFLAGS) +$(test-freetype-ftview_MC_TARGETS) : $(test-freetype-ftview_MC_TGTWILDCARD).o : $(test-freetype-ftview_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-freetype-ftview_IQUOTE) $(dir $<) $(test-freetype-ftview_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_IQUOTE) . $(test-freetype-ftview_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-freetype-ftview_IQUOTE) $(dir $<) $(test-freetype-ftview_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_IQUOTE) . $(test-freetype-ftview_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-freetype-ftview_IQUOTE) $(dir $<) $(test-freetype-ftview_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-freetype-ftview_IQUOTE) . $(test-freetype-ftview_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-freetype-ftview_MC_DTARGETS) : $(test-freetype-ftview_MC_TGTWILDCARD).d : $(test-freetype-ftview_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-freetype-ftview_DFLAGS) $(test-freetype-ftview_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-freetype-ftview_OBJDIR),) +test-freetype-ftview-MA_TARGETS := $(addsuffix .o,$(test-freetype-ftview_ASMFILES)) +test-freetype-ftview-MA_WILDCARD := % +else +test-freetype-ftview-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-freetype-ftview_OBJDIR)/,$(notdir $(test-freetype-ftview_ASMFILES)))) +test-freetype-ftview-MA_WILDCARD := $(test-freetype-ftview_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-freetype-ftview-MA_TARGETS) : | $(addsuffix .s,$(test-freetype-ftview_ASMFILES)) + +# Be sure that all .c files are found +test-freetype-ftview-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-freetype-ftview-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-freetype-ftview_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-freetype-ftview-MA_DIRS := $(foreach dir, $(test-freetype-ftview-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-freetype-ftview-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-freetype-ftview-MA_DIRS),) + test-freetype-ftview-MA_DIRS := $(shell echo $(test-freetype-ftview-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-freetype-ftview-MA_DIRS) +endif + +endif + +test-freetype-ftview-MA_ASSEMBLER ?= $(test-freetype-ftview_ASSEMBLER) + +$(test-freetype-ftview-MA_TARGETS) : test-freetype-ftview-MA_CMD:= $(test-freetype-ftview-MA_ASSEMBLER) + +$(test-freetype-ftview-MA_TARGETS) : CPPFLAGS := $(test-freetype-ftview_CPPFLAGS) +$(test-freetype-ftview-MA_TARGETS) : AFLAGS := $(test-freetype-ftview_AFLAGS) +$(test-freetype-ftview-MA_TARGETS) : $(test-freetype-ftview-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-freetype-ftview-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-freetype-ftview-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-freetype-ftview-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-freetype-ftview-link_EXTRA_LDFLAGS := +test-freetype-ftview-link_EXTRA_LIBS := +ifeq (no,yes) + test-freetype-ftview-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-freetype-ftview-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-freetype-ftview-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-freetype-ftview-link_DIRS := $(subst -L ,-L,$(strip $(test-freetype-ftview_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-freetype-ftview-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-freetype-ftview-link_DIRS))) +# Add trailing / +test-freetype-ftview-link_DIRS := $(subst //,/,$(addsuffix /,$(test-freetype-ftview-link_DIRS))) +# Add normal linklib path +test-freetype-ftview-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-freetype-ftview-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-freetype-ftview_LIBS) $(test-freetype-ftview-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-freetype-ftview-link_LIBS += startup.o +endif +ifeq (no,yes) + test-freetype-ftview-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-freetype-ftview-link_DEPLIBS := $(foreach lib,$(test-freetype-ftview-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-freetype-ftview-link_DIRS)))) \ +) + +$(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) : OBJDIR := $(test-freetype-ftview_OBJDIR) +$(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) : OBJS := $(test-freetype-ftview_OBJS) $(test-freetype-ftview_ARCHOBJS) $(USER_OBJS) +$(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) : LDFLAGS := $(strip $(test-freetype-ftview_LDFLAGS) $(test-freetype-ftview-link_EXTRA_LDFLAGS)) +$(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) : LIBS := $(addprefix -l,$(test-freetype-ftview_LIBS) $(test-freetype-ftview-link_EXTRA_LIBS) ) +$(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) : $(test-freetype-ftview_OBJS) $(test-freetype-ftview_ARCHOBJS) $(USER_OBJS) $(test-freetype-ftview-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-freetype-ftview_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-freetype-ftview_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-freetype-ftview_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-freetype-ftview_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-freetype-ftview_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-freetype-ftview_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-freetype-ftview_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-freetype-ftview_DEPS),) + ifneq (test-freetype-ftview test-freetype-ftview-quick,) + ifneq ($(findstring $(TARGET),test-freetype-ftview test-freetype-ftview-quick),) + -include $(test-freetype-ftview_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-freetype-ftview_DEPS) + endif + endif +endif + + +ifneq ($(test-freetype-ftview_OBJS) $(test-freetype-ftview_DEPS) $(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME),) +$(test-freetype-ftview_OBJS) $(test-freetype-ftview_DEPS) $(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) : | $(test-freetype-ftview_OBJDIR) $(test-freetype-ftview_TARGETDIR) +else +$(test-freetype-ftview_OBJS) $(test-freetype-ftview_DEPS) $(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) :: $(test-freetype-ftview_OBJDIR) $(test-freetype-ftview_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-freetype-ftview_OBJDIR) $(test-freetype-ftview_TARGETDIR) + + +test-freetype-ftview-clean : FILES := $(test-freetype-ftview_OBJS) $(test-freetype-ftview_TARGETDIR)/$(test-freetype-ftview_PROGNAME) $(test-freetype-ftview_DEPS) +#MM +test-freetype-ftview-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-freetype-ftview" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/graphics/mmakefile b/developer/debug/test/graphics/mmakefile new file mode 100644 index 00000000000..5ef90d6984d --- /dev/null +++ b/developer/debug/test/graphics/mmakefile @@ -0,0 +1,316 @@ +# Copyright © 2003-2013, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + allocbitmap \ + areatest2 \ + blttemplatealpha \ + CGXTest \ + copper \ + getcybermapattr \ + gfx \ + gfxinfo \ + gfxtest \ + obtainpentest \ + readpixelarray \ + scalepixelarray \ + showvisregion \ + showvisshape \ + textbug \ + truecolorpens \ + weightamatch \ + writepixelarray \ + writepixelarrayalpha + +EXEDIR := $(AROS_TESTS)/graphics + +#MM- test : test-graphics +#MM- test-quick : test-graphics-quick + +#MM test-graphics : includes linklibs + + +.PHONY : test-graphics + +test-graphics_OBJDIR := $(GENDIR)/$(CURDIR) +test-graphics_TARGETDIR := $(EXEDIR) +test-graphics_LIBS := + +test-graphics_FILES := $(FILES) +test-graphics_OBJS := $(addsuffix .o,$(addprefix $(test-graphics_OBJDIR)/,$(test-graphics_FILES))) +test-graphics_DEPS := $(addsuffix .d,$(addprefix $(test-graphics_OBJDIR)/,$(test-graphics_FILES))) +test-graphics_EXES := $(addprefix $(test-graphics_TARGETDIR)/,$(test-graphics_FILES)) + +test-graphics_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-graphics_CPPFLAGS += -I +endif +test-graphics_CFLAGS := $(CFLAGS) +test-graphics_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-graphics_COVERAGE := yes +test-graphics_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-graphics_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-graphics_CFLAGS := $(strip $(test-graphics_COVERAGEFLAGS) $(test-graphics_CFLAGS)) +test-graphics_LIBS += $(test-graphics_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-graphics_FUNCINSTR := yes +test-graphics_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-graphics_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-graphics_CFLAGS := $(strip $(test-graphics_INSTRFUNCFLAGS) $(test-graphics_CFLAGS)) +test-graphics_LIBS += $(test-graphics_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-graphics_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-graphics_CFLAGS)) +endif +endif +ifneq (,) + test-graphics_DFLAGS := +else + test-graphics_DFLAGS := $(test-graphics_CFLAGS) +endif +ifeq (target,target) +test-graphics_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-graphics_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-graphics_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-graphics_LDFLAGS += -L +endif + +#MM +test-graphics-quick : test-graphics + +#MM test-graphics : includes-generate-deps core-linklibs +test-graphics : $(test-graphics_EXES) + +ifneq ($(filter $(TARGET),test-graphics test-graphics-quick),) + +ifeq (,) +test-graphics_MC_SRCWILDCARD := % +else +test-graphics_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-graphics_OBJDIR),) +test-graphics_MC_TARGETS := $(addsuffix .o,$(test-graphics_FILES)) +test-graphics_MC_DTARGETS := $(addsuffix .d,$(test-graphics_FILES)) +test-graphics_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-graphics_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-graphics_OBJDIR)/,$(notdir $(test-graphics_FILES)))) + test-graphics_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-graphics_OBJDIR)/,$(notdir $(test-graphics_FILES)))) +else +ifeq (,) + test-graphics_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-graphics_OBJDIR)/,$(test-graphics_FILES))) + test-graphics_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-graphics_OBJDIR)/,$(test-graphics_FILES))) +else + test-graphics_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-graphics_OBJDIR)/,$(patsubst /%,%,$(test-graphics_FILES)))) + test-graphics_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-graphics_OBJDIR)/,$(patsubst /%,%,$(test-graphics_FILES)))) +endif +endif +test-graphics_MC_TGTWILDCARD := $(test-graphics_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : | $(addsuffix .c,$(test-graphics_FILES)) + +# Be sure that all .c files are found +test-graphics_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-graphics_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-graphics_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-graphics_MC_DIRS := $(foreach dir, $(test-graphics_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-graphics_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-graphics_MC_DIRS),) + test-graphics_MC_DIRS := $(shell echo $(test-graphics_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-graphics_MC_DIRS) +endif + +endif + +test-graphics_MC_CPPFLAGS := $(test-graphics_CPPFLAGS) +test-graphics_CFLAGS := $(test-graphics_CFLAGS) +ifeq ($(test-graphics_DFLAGS),) + test-graphics_DFLAGS := $(test-graphics_CFLAGS) +else + test-graphics_DFLAGS := $(test-graphics_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-graphics_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-graphics_STRIP ?= $(TARGET_STRIP) +test-graphics_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_MC_CPPFLAGS:=$(strip $(test-graphics_MC_CPPFLAGS) $(test-graphics_MC_EXTRA_CPPFLAGS)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_CFLAGS:=$(strip $(test-graphics_CFLAGS) $(SAFETY_CFLAGS)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_DFLAGS:=$(test-graphics_DFLAGS) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-graphics_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-graphics_STRIP ?= $(HOST_STRIP) +test-graphics_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-graphics_MC_CPPFLAGS) $(test-graphics_MC_EXTRA_CPPFLAGS)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-graphics_CFLAGS)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-graphics_DFLAGS)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_IQUOTE:=$(HOST_IQUOTE) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-graphics_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-graphics_STRIP ?= $(ECHO) >/dev/null +test-graphics_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-graphics_MC_CPPFLAGS) $(test-graphics_MC_EXTRA_CPPFLAGS)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-graphics_CFLAGS)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-graphics_DFLAGS)) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_IQUOTE:=$(KERNEL_IQUOTE) +$(test-graphics_MC_TARGETS) $(test-graphics_MC_DTARGETS) : test-graphics_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-graphics_MC_TARGETS) : CPPFLAGS := $(test-graphics_MC_CPPFLAGS) +$(test-graphics_MC_TARGETS) : CFLAGS := $(test-graphics_CFLAGS) +$(test-graphics_MC_TARGETS) : $(test-graphics_MC_TGTWILDCARD).o : $(test-graphics_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-graphics_IQUOTE) $(dir $<) $(test-graphics_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-graphics_IQUOTE) . $(test-graphics_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-graphics_IQUOTE) $(dir $<) $(test-graphics_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-graphics_IQUOTE) . $(test-graphics_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-graphics_IQUOTE) $(dir $<) $(test-graphics_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-graphics_IQUOTE) . $(test-graphics_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-graphics_MC_DTARGETS) : $(test-graphics_MC_TGTWILDCARD).d : $(test-graphics_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-graphics_DFLAGS) $(test-graphics_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-graphics-link_EXTRA_LDFLAGS := +test-graphics-link_EXTRA_LIBS := +ifeq (no,yes) + test-graphics-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-graphics-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-graphics-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-graphics-link_DIRS := $(subst -L ,-L,$(strip $(test-graphics_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-graphics-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-graphics-link_DIRS))) +# Add trailing / +test-graphics-link_DIRS := $(subst //,/,$(addsuffix /,$(test-graphics-link_DIRS))) +# Add normal linklib path +test-graphics-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-graphics-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-graphics_LIBS) $(test-graphics-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-graphics-link_DEPLIBS := $(foreach lib,$(test-graphics-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-graphics-link_DIRS)))) \ +) +test-graphics-link_PROGS := $(addprefix $(test-graphics_TARGETDIR)/,$(test-graphics_FILES)) + +$(test-graphics-link_PROGS) : OBJDIR := $(test-graphics_OBJDIR) +$(test-graphics-link_PROGS) : LDFLAGS := $(strip $(test-graphics_LDFLAGS) $(test-graphics-link_EXTRA_LDFLAGS)) +$(test-graphics-link_PROGS) : LIBS := $(addprefix -l,$(test-graphics_LIBS) $(test-graphics-link_EXTRA_LIBS) ) +$(test-graphics-link_PROGS) : $(test-graphics_TARGETDIR)/% : $(test-graphics_OBJDIR)/%.o $(test-graphics-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-graphics_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-graphics_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-graphics_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-graphics_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-graphics_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-graphics_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-graphics_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-graphics_DEPS),) + ifneq (test-graphics test-graphics-quick,) + ifneq ($(findstring $(TARGET),test-graphics test-graphics-quick),) + -include $(test-graphics_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-graphics_DEPS) + endif + endif +endif + + +ifneq ($(test-graphics_DEPS) $(test-graphics_OBJS) $(addprefix $(test-graphics_TARGETDIR)/,$(test-graphics_FILES)),) +$(test-graphics_DEPS) $(test-graphics_OBJS) $(addprefix $(test-graphics_TARGETDIR)/,$(test-graphics_FILES)) : | $(test-graphics_TARGETDIR) $(test-graphics_OBJDIR) +else +$(test-graphics_DEPS) $(test-graphics_OBJS) $(addprefix $(test-graphics_TARGETDIR)/,$(test-graphics_FILES)) :: $(test-graphics_TARGETDIR) $(test-graphics_OBJDIR) +endif + +GLOB_MKDIRS += $(test-graphics_TARGETDIR) $(test-graphics_OBJDIR) + + +test-graphics-clean : FILES := $(test-graphics_OBJS) $(test-graphics_EXES) $(test-graphics_DEPS) +#MM +test-graphics-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-graphics" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/hidds/gfx/mmakefile b/developer/debug/test/hidds/gfx/mmakefile new file mode 100644 index 00000000000..79d40f102ff --- /dev/null +++ b/developer/debug/test/hidds/gfx/mmakefile @@ -0,0 +1,297 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +EXEDIR := $(AROS_TESTS)/hidds/gfx + +FILES := \ + convertpixels \ + hiddmodeid \ + modeid + +#MM- test : test-hidd-gfx +#MM test-hidd-gfx : includes linklibs + + +.PHONY : test-hidd-gfx + +test-hidd-gfx_OBJDIR := $(GENDIR)/$(CURDIR) +test-hidd-gfx_TARGETDIR := $(EXEDIR) +test-hidd-gfx_LIBS := hiddstubs + +test-hidd-gfx_FILES := $(FILES) +test-hidd-gfx_OBJS := $(addsuffix .o,$(addprefix $(test-hidd-gfx_OBJDIR)/,$(test-hidd-gfx_FILES))) +test-hidd-gfx_DEPS := $(addsuffix .d,$(addprefix $(test-hidd-gfx_OBJDIR)/,$(test-hidd-gfx_FILES))) +test-hidd-gfx_EXES := $(addprefix $(test-hidd-gfx_TARGETDIR)/,$(test-hidd-gfx_FILES)) + +test-hidd-gfx_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-hidd-gfx_CPPFLAGS += -I +endif +test-hidd-gfx_CFLAGS := $(CFLAGS) +test-hidd-gfx_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-hidd-gfx_COVERAGE := yes +test-hidd-gfx_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-hidd-gfx_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-hidd-gfx_CFLAGS := $(strip $(test-hidd-gfx_COVERAGEFLAGS) $(test-hidd-gfx_CFLAGS)) +test-hidd-gfx_LIBS += $(test-hidd-gfx_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-hidd-gfx_FUNCINSTR := yes +test-hidd-gfx_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-hidd-gfx_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-hidd-gfx_CFLAGS := $(strip $(test-hidd-gfx_INSTRFUNCFLAGS) $(test-hidd-gfx_CFLAGS)) +test-hidd-gfx_LIBS += $(test-hidd-gfx_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-hidd-gfx_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-hidd-gfx_CFLAGS)) +endif +endif +ifneq (,) + test-hidd-gfx_DFLAGS := +else + test-hidd-gfx_DFLAGS := $(test-hidd-gfx_CFLAGS) +endif +ifeq (target,target) +test-hidd-gfx_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-hidd-gfx_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-hidd-gfx_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-hidd-gfx_LDFLAGS += -L +endif + +#MM +test-hidd-gfx-quick : test-hidd-gfx + +#MM test-hidd-gfx : includes-generate-deps core-linklibs +test-hidd-gfx : $(test-hidd-gfx_EXES) + +ifneq ($(filter $(TARGET),test-hidd-gfx test-hidd-gfx-quick),) + +ifeq (,) +test-hidd-gfx_MC_SRCWILDCARD := % +else +test-hidd-gfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-hidd-gfx_OBJDIR),) +test-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(test-hidd-gfx_FILES)) +test-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(test-hidd-gfx_FILES)) +test-hidd-gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-hidd-gfx_OBJDIR)/,$(notdir $(test-hidd-gfx_FILES)))) + test-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-hidd-gfx_OBJDIR)/,$(notdir $(test-hidd-gfx_FILES)))) +else +ifeq (,) + test-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-hidd-gfx_OBJDIR)/,$(test-hidd-gfx_FILES))) + test-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-hidd-gfx_OBJDIR)/,$(test-hidd-gfx_FILES))) +else + test-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-hidd-gfx_OBJDIR)/,$(patsubst /%,%,$(test-hidd-gfx_FILES)))) + test-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-hidd-gfx_OBJDIR)/,$(patsubst /%,%,$(test-hidd-gfx_FILES)))) +endif +endif +test-hidd-gfx_MC_TGTWILDCARD := $(test-hidd-gfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : | $(addsuffix .c,$(test-hidd-gfx_FILES)) + +# Be sure that all .c files are found +test-hidd-gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-hidd-gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-hidd-gfx_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-hidd-gfx_MC_DIRS := $(foreach dir, $(test-hidd-gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-hidd-gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-hidd-gfx_MC_DIRS),) + test-hidd-gfx_MC_DIRS := $(shell echo $(test-hidd-gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-hidd-gfx_MC_DIRS) +endif + +endif + +test-hidd-gfx_MC_CPPFLAGS := $(test-hidd-gfx_CPPFLAGS) +test-hidd-gfx_CFLAGS := $(test-hidd-gfx_CFLAGS) +ifeq ($(test-hidd-gfx_DFLAGS),) + test-hidd-gfx_DFLAGS := $(test-hidd-gfx_CFLAGS) +else + test-hidd-gfx_DFLAGS := $(test-hidd-gfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-hidd-gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-hidd-gfx_STRIP ?= $(TARGET_STRIP) +test-hidd-gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_MC_CPPFLAGS:=$(strip $(test-hidd-gfx_MC_CPPFLAGS) $(test-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_CFLAGS:=$(strip $(test-hidd-gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_DFLAGS:=$(test-hidd-gfx_DFLAGS) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-hidd-gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-hidd-gfx_STRIP ?= $(HOST_STRIP) +test-hidd-gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-hidd-gfx_MC_CPPFLAGS) $(test-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-hidd-gfx_CFLAGS)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-hidd-gfx_DFLAGS)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_IQUOTE:=$(HOST_IQUOTE) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-hidd-gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-hidd-gfx_STRIP ?= $(ECHO) >/dev/null +test-hidd-gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-hidd-gfx_MC_CPPFLAGS) $(test-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-hidd-gfx_CFLAGS)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-hidd-gfx_DFLAGS)) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(test-hidd-gfx_MC_TARGETS) $(test-hidd-gfx_MC_DTARGETS) : test-hidd-gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-hidd-gfx_MC_TARGETS) : CPPFLAGS := $(test-hidd-gfx_MC_CPPFLAGS) +$(test-hidd-gfx_MC_TARGETS) : CFLAGS := $(test-hidd-gfx_CFLAGS) +$(test-hidd-gfx_MC_TARGETS) : $(test-hidd-gfx_MC_TGTWILDCARD).o : $(test-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-hidd-gfx_IQUOTE) $(dir $<) $(test-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-hidd-gfx_IQUOTE) . $(test-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-hidd-gfx_IQUOTE) $(dir $<) $(test-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-hidd-gfx_IQUOTE) . $(test-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-hidd-gfx_IQUOTE) $(dir $<) $(test-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-hidd-gfx_IQUOTE) . $(test-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-hidd-gfx_MC_DTARGETS) : $(test-hidd-gfx_MC_TGTWILDCARD).d : $(test-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-hidd-gfx_DFLAGS) $(test-hidd-gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-hidd-gfx-link_EXTRA_LDFLAGS := +test-hidd-gfx-link_EXTRA_LIBS := +ifeq (no,yes) + test-hidd-gfx-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-hidd-gfx-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-hidd-gfx-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-hidd-gfx-link_DIRS := $(subst -L ,-L,$(strip $(test-hidd-gfx_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-hidd-gfx-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-hidd-gfx-link_DIRS))) +# Add trailing / +test-hidd-gfx-link_DIRS := $(subst //,/,$(addsuffix /,$(test-hidd-gfx-link_DIRS))) +# Add normal linklib path +test-hidd-gfx-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-hidd-gfx-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-hidd-gfx_LIBS) $(test-hidd-gfx-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-hidd-gfx-link_DEPLIBS := $(foreach lib,$(test-hidd-gfx-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-hidd-gfx-link_DIRS)))) \ +) +test-hidd-gfx-link_PROGS := $(addprefix $(test-hidd-gfx_TARGETDIR)/,$(test-hidd-gfx_FILES)) + +$(test-hidd-gfx-link_PROGS) : OBJDIR := $(test-hidd-gfx_OBJDIR) +$(test-hidd-gfx-link_PROGS) : LDFLAGS := $(strip $(test-hidd-gfx_LDFLAGS) $(test-hidd-gfx-link_EXTRA_LDFLAGS)) +$(test-hidd-gfx-link_PROGS) : LIBS := $(addprefix -l,$(test-hidd-gfx_LIBS) $(test-hidd-gfx-link_EXTRA_LIBS) ) +$(test-hidd-gfx-link_PROGS) : $(test-hidd-gfx_TARGETDIR)/% : $(test-hidd-gfx_OBJDIR)/%.o $(test-hidd-gfx-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-hidd-gfx_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-hidd-gfx_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-hidd-gfx_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-hidd-gfx_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-hidd-gfx_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-hidd-gfx_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-hidd-gfx_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-hidd-gfx_DEPS),) + ifneq (test-hidd-gfx test-hidd-gfx-quick,) + ifneq ($(findstring $(TARGET),test-hidd-gfx test-hidd-gfx-quick),) + -include $(test-hidd-gfx_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-hidd-gfx_DEPS) + endif + endif +endif + + +ifneq ($(test-hidd-gfx_DEPS) $(test-hidd-gfx_OBJS) $(addprefix $(test-hidd-gfx_TARGETDIR)/,$(test-hidd-gfx_FILES)),) +$(test-hidd-gfx_DEPS) $(test-hidd-gfx_OBJS) $(addprefix $(test-hidd-gfx_TARGETDIR)/,$(test-hidd-gfx_FILES)) : | $(test-hidd-gfx_TARGETDIR) $(test-hidd-gfx_OBJDIR) +else +$(test-hidd-gfx_DEPS) $(test-hidd-gfx_OBJS) $(addprefix $(test-hidd-gfx_TARGETDIR)/,$(test-hidd-gfx_FILES)) :: $(test-hidd-gfx_TARGETDIR) $(test-hidd-gfx_OBJDIR) +endif + +GLOB_MKDIRS += $(test-hidd-gfx_TARGETDIR) $(test-hidd-gfx_OBJDIR) + + +test-hidd-gfx-clean : FILES := $(test-hidd-gfx_OBJS) $(test-hidd-gfx_EXES) $(test-hidd-gfx_DEPS) +#MM +test-hidd-gfx-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-hidd-gfx" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/hidds/gfx/obsolete/mmakefile b/developer/debug/test/hidds/gfx/obsolete/mmakefile new file mode 100644 index 00000000000..708764e1f1b --- /dev/null +++ b/developer/debug/test/hidds/gfx/obsolete/mmakefile @@ -0,0 +1,152 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#INCLUDES := -I$(AROSDIR)/include -I$(TOP)/amiga/include +EXEDIR := $(AROSDIR)/Demos +OBJDIR := $(GENDIR)/test/HiddGraphics + +STARTUP = $(AROS_LIB)/startup.o +LIBS = -L$(AROS_LIB) -larossupport -lamiga $(TOOL).a -lstdc + +FILES := \ + BitMapNewDispose \ + GCNewDispose \ + GCReadWritePixelDirect \ + GCWritePixel \ + GCDrawLine \ + GCCopyArea \ + GCDrawRect \ + GCDrawPolygon \ + GCDrawEllipse \ + GCDrawText + +TOOL := gfxhiddtool + +EXES := $(foreach f,$(FILES),$(EXEDIR)/$(f)) +OBJS := $(foreach f,$(FILES),$(OBJDIR)/$(f).o) +DEPS := $(foreach f,$(FILES) $(TOOL),$(OBJDIR)/$(f).d) + +#MM obsolete-test-hidd-graphics : includes +obsolete-test-hidd-graphics : $(EXES) + @$(NOP) + +#MM obsolete-test-hidd-graphics-quick : +obsolete-test-hidd-graphics-quick : $(EXES) + @$(NOP) + + +ifneq (setup,) +setup : | $(EXEDIR) $(OBJDIR) +else +setup :: $(EXEDIR) $(OBJDIR) +endif + +GLOB_MKDIRS += $(EXEDIR) $(OBJDIR) + + +#MM +clean :: + -$(RM) $(EXES) + +$(EXEDIR)/% : $(OBJDIR)/%.o $(TOOL).a $(AROS_LIB)/startup.o $(DEPLIBS) | $(EXEDIR) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(GENDIR)/$(CURDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(strip $(AROS_CC) $(TARGET_SYSROOT)) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(strip $(AROS_CC) $(TARGET_SYSROOT)) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(GENDIR)/$(CURDIR)/$$COVERAGEFILE ; then \ + $(CP) $(GENDIR)/$(CURDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +$(OBJDIR)/%.o : %.c | $(OBJDIR) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(APPCFLAGS) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(APPCFLAGS) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(APPCFLAGS) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(OBJDIR)/%.d : %.c | $(OBJDIR) + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(strip $(AROS_CC) $(TARGET_SYSROOT))" $(MKDEPEND) $(strip $(CFLAGS) $(CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +$(TOOL).a : $(OBJDIR)/$(TOOL).o + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(AR) $@ $(OBJDIR)/$(TOOL).o + $(Q)$(RANLIB) $@ + +$(OBJDIR)/$(TOOL).o : $(TOOL).c | $(OBJDIR) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +ifneq ($(DEPS),) + ifneq (,) + ifneq ($(findstring $(TARGET),),) + -include $(DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(DEPS) + endif + endif +endif + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/icon/mmakefile b/developer/debug/test/icon/mmakefile new file mode 100644 index 00000000000..61802c52be4 --- /dev/null +++ b/developer/debug/test/icon/mmakefile @@ -0,0 +1,295 @@ +# Copyright © 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := examine writetooltypes diskobj render +EXEDIR := $(AROS_TESTS)/Icon + +#MM- test : test-icon +#MM test-icon: +#MM test-icon-quick: + + +.PHONY : test-icon + +test-icon_OBJDIR := $(GENDIR)/$(CURDIR) +test-icon_TARGETDIR := $(EXEDIR) +test-icon_LIBS := + +test-icon_FILES := $(FILES) +test-icon_OBJS := $(addsuffix .o,$(addprefix $(test-icon_OBJDIR)/,$(test-icon_FILES))) +test-icon_DEPS := $(addsuffix .d,$(addprefix $(test-icon_OBJDIR)/,$(test-icon_FILES))) +test-icon_EXES := $(addprefix $(test-icon_TARGETDIR)/,$(test-icon_FILES)) + +test-icon_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-icon_CPPFLAGS += -I +endif +test-icon_CFLAGS := $(CFLAGS) +test-icon_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-icon_COVERAGE := yes +test-icon_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-icon_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-icon_CFLAGS := $(strip $(test-icon_COVERAGEFLAGS) $(test-icon_CFLAGS)) +test-icon_LIBS += $(test-icon_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-icon_FUNCINSTR := yes +test-icon_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-icon_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-icon_CFLAGS := $(strip $(test-icon_INSTRFUNCFLAGS) $(test-icon_CFLAGS)) +test-icon_LIBS += $(test-icon_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-icon_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-icon_CFLAGS)) +endif +endif +ifneq (,) + test-icon_DFLAGS := +else + test-icon_DFLAGS := $(test-icon_CFLAGS) +endif +ifeq (target,target) +test-icon_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-icon_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-icon_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-icon_LDFLAGS += -L +endif + +#MM +test-icon-quick : test-icon + +#MM test-icon : includes-generate-deps core-linklibs +test-icon : $(test-icon_EXES) + +ifneq ($(filter $(TARGET),test-icon test-icon-quick),) + +ifeq (,) +test-icon_MC_SRCWILDCARD := % +else +test-icon_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-icon_OBJDIR),) +test-icon_MC_TARGETS := $(addsuffix .o,$(test-icon_FILES)) +test-icon_MC_DTARGETS := $(addsuffix .d,$(test-icon_FILES)) +test-icon_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-icon_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-icon_OBJDIR)/,$(notdir $(test-icon_FILES)))) + test-icon_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-icon_OBJDIR)/,$(notdir $(test-icon_FILES)))) +else +ifeq (,) + test-icon_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-icon_OBJDIR)/,$(test-icon_FILES))) + test-icon_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-icon_OBJDIR)/,$(test-icon_FILES))) +else + test-icon_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-icon_OBJDIR)/,$(patsubst /%,%,$(test-icon_FILES)))) + test-icon_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-icon_OBJDIR)/,$(patsubst /%,%,$(test-icon_FILES)))) +endif +endif +test-icon_MC_TGTWILDCARD := $(test-icon_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : | $(addsuffix .c,$(test-icon_FILES)) + +# Be sure that all .c files are found +test-icon_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-icon_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-icon_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-icon_MC_DIRS := $(foreach dir, $(test-icon_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-icon_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-icon_MC_DIRS),) + test-icon_MC_DIRS := $(shell echo $(test-icon_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-icon_MC_DIRS) +endif + +endif + +test-icon_MC_CPPFLAGS := $(test-icon_CPPFLAGS) +test-icon_CFLAGS := $(test-icon_CFLAGS) +ifeq ($(test-icon_DFLAGS),) + test-icon_DFLAGS := $(test-icon_CFLAGS) +else + test-icon_DFLAGS := $(test-icon_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-icon_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-icon_STRIP ?= $(TARGET_STRIP) +test-icon_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_MC_CPPFLAGS:=$(strip $(test-icon_MC_CPPFLAGS) $(test-icon_MC_EXTRA_CPPFLAGS)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_CFLAGS:=$(strip $(test-icon_CFLAGS) $(SAFETY_CFLAGS)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_DFLAGS:=$(test-icon_DFLAGS) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-icon_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-icon_STRIP ?= $(HOST_STRIP) +test-icon_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-icon_MC_CPPFLAGS) $(test-icon_MC_EXTRA_CPPFLAGS)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-icon_CFLAGS)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-icon_DFLAGS)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_IQUOTE:=$(HOST_IQUOTE) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-icon_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-icon_STRIP ?= $(ECHO) >/dev/null +test-icon_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-icon_MC_CPPFLAGS) $(test-icon_MC_EXTRA_CPPFLAGS)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-icon_CFLAGS)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-icon_DFLAGS)) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_IQUOTE:=$(KERNEL_IQUOTE) +$(test-icon_MC_TARGETS) $(test-icon_MC_DTARGETS) : test-icon_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-icon_MC_TARGETS) : CPPFLAGS := $(test-icon_MC_CPPFLAGS) +$(test-icon_MC_TARGETS) : CFLAGS := $(test-icon_CFLAGS) +$(test-icon_MC_TARGETS) : $(test-icon_MC_TGTWILDCARD).o : $(test-icon_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-icon_IQUOTE) $(dir $<) $(test-icon_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-icon_IQUOTE) . $(test-icon_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-icon_IQUOTE) $(dir $<) $(test-icon_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-icon_IQUOTE) . $(test-icon_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-icon_IQUOTE) $(dir $<) $(test-icon_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-icon_IQUOTE) . $(test-icon_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-icon_MC_DTARGETS) : $(test-icon_MC_TGTWILDCARD).d : $(test-icon_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-icon_DFLAGS) $(test-icon_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-icon-link_EXTRA_LDFLAGS := +test-icon-link_EXTRA_LIBS := +ifeq (no,yes) + test-icon-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-icon-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-icon-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-icon-link_DIRS := $(subst -L ,-L,$(strip $(test-icon_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-icon-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-icon-link_DIRS))) +# Add trailing / +test-icon-link_DIRS := $(subst //,/,$(addsuffix /,$(test-icon-link_DIRS))) +# Add normal linklib path +test-icon-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-icon-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-icon_LIBS) $(test-icon-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-icon-link_DEPLIBS := $(foreach lib,$(test-icon-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-icon-link_DIRS)))) \ +) +test-icon-link_PROGS := $(addprefix $(test-icon_TARGETDIR)/,$(test-icon_FILES)) + +$(test-icon-link_PROGS) : OBJDIR := $(test-icon_OBJDIR) +$(test-icon-link_PROGS) : LDFLAGS := $(strip $(test-icon_LDFLAGS) $(test-icon-link_EXTRA_LDFLAGS)) +$(test-icon-link_PROGS) : LIBS := $(addprefix -l,$(test-icon_LIBS) $(test-icon-link_EXTRA_LIBS) ) +$(test-icon-link_PROGS) : $(test-icon_TARGETDIR)/% : $(test-icon_OBJDIR)/%.o $(test-icon-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-icon_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-icon_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-icon_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-icon_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-icon_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-icon_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-icon_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-icon_DEPS),) + ifneq (test-icon test-icon-quick,) + ifneq ($(findstring $(TARGET),test-icon test-icon-quick),) + -include $(test-icon_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-icon_DEPS) + endif + endif +endif + + +ifneq ($(test-icon_DEPS) $(test-icon_OBJS) $(addprefix $(test-icon_TARGETDIR)/,$(test-icon_FILES)),) +$(test-icon_DEPS) $(test-icon_OBJS) $(addprefix $(test-icon_TARGETDIR)/,$(test-icon_FILES)) : | $(test-icon_TARGETDIR) $(test-icon_OBJDIR) +else +$(test-icon_DEPS) $(test-icon_OBJS) $(addprefix $(test-icon_TARGETDIR)/,$(test-icon_FILES)) :: $(test-icon_TARGETDIR) $(test-icon_OBJDIR) +endif + +GLOB_MKDIRS += $(test-icon_TARGETDIR) $(test-icon_OBJDIR) + + +test-icon-clean : FILES := $(test-icon_OBJS) $(test-icon_EXES) $(test-icon_DEPS) +#MM +test-icon-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-icon" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/intuition/mmakefile b/developer/debug/test/intuition/mmakefile new file mode 100644 index 00000000000..895b728ff9d --- /dev/null +++ b/developer/debug/test/intuition/mmakefile @@ -0,0 +1,302 @@ +# $Id$ +# +# Makefile for AROS intuition.library tests + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + customscreen \ + displayalert \ + drawinfoattr \ + gamma \ + monitorclass \ + pubscreen \ + screenclass \ + screentest \ + scrollerwin + +EXEDIR := $(AROS_TESTS)/intuition + + +.PHONY : test-intuition + +test-intuition_OBJDIR := $(GENDIR)/$(CURDIR) +test-intuition_TARGETDIR := $(EXEDIR) +test-intuition_LIBS := + +test-intuition_FILES := $(FILES) +test-intuition_OBJS := $(addsuffix .o,$(addprefix $(test-intuition_OBJDIR)/,$(test-intuition_FILES))) +test-intuition_DEPS := $(addsuffix .d,$(addprefix $(test-intuition_OBJDIR)/,$(test-intuition_FILES))) +test-intuition_EXES := $(addprefix $(test-intuition_TARGETDIR)/,$(test-intuition_FILES)) + +test-intuition_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-intuition_CPPFLAGS += -I +endif +test-intuition_CFLAGS := $(CFLAGS) +test-intuition_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-intuition_COVERAGE := yes +test-intuition_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-intuition_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-intuition_CFLAGS := $(strip $(test-intuition_COVERAGEFLAGS) $(test-intuition_CFLAGS)) +test-intuition_LIBS += $(test-intuition_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-intuition_FUNCINSTR := yes +test-intuition_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-intuition_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-intuition_CFLAGS := $(strip $(test-intuition_INSTRFUNCFLAGS) $(test-intuition_CFLAGS)) +test-intuition_LIBS += $(test-intuition_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-intuition_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-intuition_CFLAGS)) +endif +endif +ifneq (,) + test-intuition_DFLAGS := +else + test-intuition_DFLAGS := $(test-intuition_CFLAGS) +endif +ifeq (target,target) +test-intuition_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-intuition_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-intuition_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-intuition_LDFLAGS += -L +endif + +#MM +test-intuition-quick : test-intuition + +#MM test-intuition : includes-generate-deps core-linklibs +test-intuition : $(test-intuition_EXES) + +ifneq ($(filter $(TARGET),test-intuition test-intuition-quick),) + +ifeq (,) +test-intuition_MC_SRCWILDCARD := % +else +test-intuition_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-intuition_OBJDIR),) +test-intuition_MC_TARGETS := $(addsuffix .o,$(test-intuition_FILES)) +test-intuition_MC_DTARGETS := $(addsuffix .d,$(test-intuition_FILES)) +test-intuition_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-intuition_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-intuition_OBJDIR)/,$(notdir $(test-intuition_FILES)))) + test-intuition_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-intuition_OBJDIR)/,$(notdir $(test-intuition_FILES)))) +else +ifeq (,) + test-intuition_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-intuition_OBJDIR)/,$(test-intuition_FILES))) + test-intuition_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-intuition_OBJDIR)/,$(test-intuition_FILES))) +else + test-intuition_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-intuition_OBJDIR)/,$(patsubst /%,%,$(test-intuition_FILES)))) + test-intuition_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-intuition_OBJDIR)/,$(patsubst /%,%,$(test-intuition_FILES)))) +endif +endif +test-intuition_MC_TGTWILDCARD := $(test-intuition_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : | $(addsuffix .c,$(test-intuition_FILES)) + +# Be sure that all .c files are found +test-intuition_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-intuition_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-intuition_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-intuition_MC_DIRS := $(foreach dir, $(test-intuition_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-intuition_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-intuition_MC_DIRS),) + test-intuition_MC_DIRS := $(shell echo $(test-intuition_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-intuition_MC_DIRS) +endif + +endif + +test-intuition_MC_CPPFLAGS := $(test-intuition_CPPFLAGS) +test-intuition_CFLAGS := $(test-intuition_CFLAGS) +ifeq ($(test-intuition_DFLAGS),) + test-intuition_DFLAGS := $(test-intuition_CFLAGS) +else + test-intuition_DFLAGS := $(test-intuition_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-intuition_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-intuition_STRIP ?= $(TARGET_STRIP) +test-intuition_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_MC_CPPFLAGS:=$(strip $(test-intuition_MC_CPPFLAGS) $(test-intuition_MC_EXTRA_CPPFLAGS)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_CFLAGS:=$(strip $(test-intuition_CFLAGS) $(SAFETY_CFLAGS)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_DFLAGS:=$(test-intuition_DFLAGS) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-intuition_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-intuition_STRIP ?= $(HOST_STRIP) +test-intuition_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-intuition_MC_CPPFLAGS) $(test-intuition_MC_EXTRA_CPPFLAGS)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-intuition_CFLAGS)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-intuition_DFLAGS)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_IQUOTE:=$(HOST_IQUOTE) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-intuition_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-intuition_STRIP ?= $(ECHO) >/dev/null +test-intuition_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-intuition_MC_CPPFLAGS) $(test-intuition_MC_EXTRA_CPPFLAGS)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-intuition_CFLAGS)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-intuition_DFLAGS)) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_IQUOTE:=$(KERNEL_IQUOTE) +$(test-intuition_MC_TARGETS) $(test-intuition_MC_DTARGETS) : test-intuition_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-intuition_MC_TARGETS) : CPPFLAGS := $(test-intuition_MC_CPPFLAGS) +$(test-intuition_MC_TARGETS) : CFLAGS := $(test-intuition_CFLAGS) +$(test-intuition_MC_TARGETS) : $(test-intuition_MC_TGTWILDCARD).o : $(test-intuition_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-intuition_IQUOTE) $(dir $<) $(test-intuition_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-intuition_IQUOTE) . $(test-intuition_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-intuition_IQUOTE) $(dir $<) $(test-intuition_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-intuition_IQUOTE) . $(test-intuition_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-intuition_IQUOTE) $(dir $<) $(test-intuition_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-intuition_IQUOTE) . $(test-intuition_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-intuition_MC_DTARGETS) : $(test-intuition_MC_TGTWILDCARD).d : $(test-intuition_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-intuition_DFLAGS) $(test-intuition_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-intuition-link_EXTRA_LDFLAGS := +test-intuition-link_EXTRA_LIBS := +ifeq (no,yes) + test-intuition-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-intuition-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-intuition-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-intuition-link_DIRS := $(subst -L ,-L,$(strip $(test-intuition_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-intuition-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-intuition-link_DIRS))) +# Add trailing / +test-intuition-link_DIRS := $(subst //,/,$(addsuffix /,$(test-intuition-link_DIRS))) +# Add normal linklib path +test-intuition-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-intuition-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-intuition_LIBS) $(test-intuition-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-intuition-link_DEPLIBS := $(foreach lib,$(test-intuition-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-intuition-link_DIRS)))) \ +) +test-intuition-link_PROGS := $(addprefix $(test-intuition_TARGETDIR)/,$(test-intuition_FILES)) + +$(test-intuition-link_PROGS) : OBJDIR := $(test-intuition_OBJDIR) +$(test-intuition-link_PROGS) : LDFLAGS := $(strip $(test-intuition_LDFLAGS) $(test-intuition-link_EXTRA_LDFLAGS)) +$(test-intuition-link_PROGS) : LIBS := $(addprefix -l,$(test-intuition_LIBS) $(test-intuition-link_EXTRA_LIBS) ) +$(test-intuition-link_PROGS) : $(test-intuition_TARGETDIR)/% : $(test-intuition_OBJDIR)/%.o $(test-intuition-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-intuition_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-intuition_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-intuition_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-intuition_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-intuition_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-intuition_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-intuition_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-intuition_DEPS),) + ifneq (test-intuition test-intuition-quick,) + ifneq ($(findstring $(TARGET),test-intuition test-intuition-quick),) + -include $(test-intuition_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-intuition_DEPS) + endif + endif +endif + + +ifneq ($(test-intuition_DEPS) $(test-intuition_OBJS) $(addprefix $(test-intuition_TARGETDIR)/,$(test-intuition_FILES)),) +$(test-intuition_DEPS) $(test-intuition_OBJS) $(addprefix $(test-intuition_TARGETDIR)/,$(test-intuition_FILES)) : | $(test-intuition_TARGETDIR) $(test-intuition_OBJDIR) +else +$(test-intuition_DEPS) $(test-intuition_OBJS) $(addprefix $(test-intuition_TARGETDIR)/,$(test-intuition_FILES)) :: $(test-intuition_TARGETDIR) $(test-intuition_OBJDIR) +endif + +GLOB_MKDIRS += $(test-intuition_TARGETDIR) $(test-intuition_OBJDIR) + + +test-intuition-clean : FILES := $(test-intuition_OBJS) $(test-intuition_EXES) $(test-intuition_DEPS) +#MM +test-intuition-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-intuition" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/kernel/mmakefile b/developer/debug/test/kernel/mmakefile new file mode 100644 index 00000000000..5610d08d781 --- /dev/null +++ b/developer/debug/test/kernel/mmakefile @@ -0,0 +1,295 @@ +# $Id$ +# +# Makefile for AROS kernel.resource tests + +include $(SRCDIR)/config/aros.cfg + +FILES := mmap stackcheck + +EXEDIR := $(AROS_TESTS)/kernel + +#MM test-kernel : includes includes-copy linklibs includes-kernel + + +.PHONY : test-kernel + +test-kernel_OBJDIR := $(GENDIR)/$(CURDIR) +test-kernel_TARGETDIR := $(EXEDIR) +test-kernel_LIBS := + +test-kernel_FILES := $(FILES) +test-kernel_OBJS := $(addsuffix .o,$(addprefix $(test-kernel_OBJDIR)/,$(test-kernel_FILES))) +test-kernel_DEPS := $(addsuffix .d,$(addprefix $(test-kernel_OBJDIR)/,$(test-kernel_FILES))) +test-kernel_EXES := $(addprefix $(test-kernel_TARGETDIR)/,$(test-kernel_FILES)) + +test-kernel_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-kernel_CPPFLAGS += -I +endif +test-kernel_CFLAGS := $(CFLAGS) +test-kernel_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-kernel_COVERAGE := yes +test-kernel_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-kernel_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-kernel_CFLAGS := $(strip $(test-kernel_COVERAGEFLAGS) $(test-kernel_CFLAGS)) +test-kernel_LIBS += $(test-kernel_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-kernel_FUNCINSTR := yes +test-kernel_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-kernel_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-kernel_CFLAGS := $(strip $(test-kernel_INSTRFUNCFLAGS) $(test-kernel_CFLAGS)) +test-kernel_LIBS += $(test-kernel_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-kernel_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-kernel_CFLAGS)) +endif +endif +ifneq (,) + test-kernel_DFLAGS := +else + test-kernel_DFLAGS := $(test-kernel_CFLAGS) +endif +ifeq (target,target) +test-kernel_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-kernel_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-kernel_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-kernel_LDFLAGS += -L +endif + +#MM +test-kernel-quick : test-kernel + +#MM test-kernel : includes-generate-deps core-linklibs +test-kernel : $(test-kernel_EXES) + +ifneq ($(filter $(TARGET),test-kernel test-kernel-quick),) + +ifeq (,) +test-kernel_MC_SRCWILDCARD := % +else +test-kernel_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-kernel_OBJDIR),) +test-kernel_MC_TARGETS := $(addsuffix .o,$(test-kernel_FILES)) +test-kernel_MC_DTARGETS := $(addsuffix .d,$(test-kernel_FILES)) +test-kernel_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-kernel_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-kernel_OBJDIR)/,$(notdir $(test-kernel_FILES)))) + test-kernel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-kernel_OBJDIR)/,$(notdir $(test-kernel_FILES)))) +else +ifeq (,) + test-kernel_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-kernel_OBJDIR)/,$(test-kernel_FILES))) + test-kernel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-kernel_OBJDIR)/,$(test-kernel_FILES))) +else + test-kernel_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-kernel_OBJDIR)/,$(patsubst /%,%,$(test-kernel_FILES)))) + test-kernel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-kernel_OBJDIR)/,$(patsubst /%,%,$(test-kernel_FILES)))) +endif +endif +test-kernel_MC_TGTWILDCARD := $(test-kernel_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : | $(addsuffix .c,$(test-kernel_FILES)) + +# Be sure that all .c files are found +test-kernel_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-kernel_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-kernel_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-kernel_MC_DIRS := $(foreach dir, $(test-kernel_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-kernel_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-kernel_MC_DIRS),) + test-kernel_MC_DIRS := $(shell echo $(test-kernel_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-kernel_MC_DIRS) +endif + +endif + +test-kernel_MC_CPPFLAGS := $(test-kernel_CPPFLAGS) +test-kernel_CFLAGS := $(test-kernel_CFLAGS) +ifeq ($(test-kernel_DFLAGS),) + test-kernel_DFLAGS := $(test-kernel_CFLAGS) +else + test-kernel_DFLAGS := $(test-kernel_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-kernel_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-kernel_STRIP ?= $(TARGET_STRIP) +test-kernel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_MC_CPPFLAGS:=$(strip $(test-kernel_MC_CPPFLAGS) $(test-kernel_MC_EXTRA_CPPFLAGS)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_CFLAGS:=$(strip $(test-kernel_CFLAGS) $(SAFETY_CFLAGS)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_DFLAGS:=$(test-kernel_DFLAGS) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-kernel_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-kernel_STRIP ?= $(HOST_STRIP) +test-kernel_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-kernel_MC_CPPFLAGS) $(test-kernel_MC_EXTRA_CPPFLAGS)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-kernel_CFLAGS)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-kernel_DFLAGS)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_IQUOTE:=$(HOST_IQUOTE) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-kernel_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-kernel_STRIP ?= $(ECHO) >/dev/null +test-kernel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-kernel_MC_CPPFLAGS) $(test-kernel_MC_EXTRA_CPPFLAGS)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-kernel_CFLAGS)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-kernel_DFLAGS)) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_IQUOTE:=$(KERNEL_IQUOTE) +$(test-kernel_MC_TARGETS) $(test-kernel_MC_DTARGETS) : test-kernel_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-kernel_MC_TARGETS) : CPPFLAGS := $(test-kernel_MC_CPPFLAGS) +$(test-kernel_MC_TARGETS) : CFLAGS := $(test-kernel_CFLAGS) +$(test-kernel_MC_TARGETS) : $(test-kernel_MC_TGTWILDCARD).o : $(test-kernel_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-kernel_IQUOTE) $(dir $<) $(test-kernel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-kernel_IQUOTE) . $(test-kernel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-kernel_IQUOTE) $(dir $<) $(test-kernel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-kernel_IQUOTE) . $(test-kernel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-kernel_IQUOTE) $(dir $<) $(test-kernel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-kernel_IQUOTE) . $(test-kernel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-kernel_MC_DTARGETS) : $(test-kernel_MC_TGTWILDCARD).d : $(test-kernel_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-kernel_DFLAGS) $(test-kernel_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-kernel-link_EXTRA_LDFLAGS := +test-kernel-link_EXTRA_LIBS := +ifeq (no,yes) + test-kernel-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-kernel-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-kernel-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-kernel-link_DIRS := $(subst -L ,-L,$(strip $(test-kernel_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-kernel-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-kernel-link_DIRS))) +# Add trailing / +test-kernel-link_DIRS := $(subst //,/,$(addsuffix /,$(test-kernel-link_DIRS))) +# Add normal linklib path +test-kernel-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-kernel-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-kernel_LIBS) $(test-kernel-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-kernel-link_DEPLIBS := $(foreach lib,$(test-kernel-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-kernel-link_DIRS)))) \ +) +test-kernel-link_PROGS := $(addprefix $(test-kernel_TARGETDIR)/,$(test-kernel_FILES)) + +$(test-kernel-link_PROGS) : OBJDIR := $(test-kernel_OBJDIR) +$(test-kernel-link_PROGS) : LDFLAGS := $(strip $(test-kernel_LDFLAGS) $(test-kernel-link_EXTRA_LDFLAGS)) +$(test-kernel-link_PROGS) : LIBS := $(addprefix -l,$(test-kernel_LIBS) $(test-kernel-link_EXTRA_LIBS) ) +$(test-kernel-link_PROGS) : $(test-kernel_TARGETDIR)/% : $(test-kernel_OBJDIR)/%.o $(test-kernel-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-kernel_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-kernel_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-kernel_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-kernel_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-kernel_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-kernel_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-kernel_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-kernel_DEPS),) + ifneq (test-kernel test-kernel-quick,) + ifneq ($(findstring $(TARGET),test-kernel test-kernel-quick),) + -include $(test-kernel_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-kernel_DEPS) + endif + endif +endif + + +ifneq ($(test-kernel_DEPS) $(test-kernel_OBJS) $(addprefix $(test-kernel_TARGETDIR)/,$(test-kernel_FILES)),) +$(test-kernel_DEPS) $(test-kernel_OBJS) $(addprefix $(test-kernel_TARGETDIR)/,$(test-kernel_FILES)) : | $(test-kernel_TARGETDIR) $(test-kernel_OBJDIR) +else +$(test-kernel_DEPS) $(test-kernel_OBJS) $(addprefix $(test-kernel_TARGETDIR)/,$(test-kernel_FILES)) :: $(test-kernel_TARGETDIR) $(test-kernel_OBJDIR) +endif + +GLOB_MKDIRS += $(test-kernel_TARGETDIR) $(test-kernel_OBJDIR) + + +test-kernel-clean : FILES := $(test-kernel_OBJS) $(test-kernel_EXES) $(test-kernel_DEPS) +#MM +test-kernel-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-kernel" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/keymap/mmakefile b/developer/debug/test/keymap/mmakefile new file mode 100644 index 00000000000..e35fd6257b5 --- /dev/null +++ b/developer/debug/test/keymap/mmakefile @@ -0,0 +1,297 @@ +# Copyright © 2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + keymaptest \ + printnativekeytable \ + +EXEDIR := $(AROS_TESTS)/keymap + +#MM- test : test-keymap +#MM- test-quick : test-keymap-quick + + +.PHONY : test-keymap + +test-keymap_OBJDIR := $(GENDIR)/$(CURDIR) +test-keymap_TARGETDIR := $(EXEDIR) +test-keymap_LIBS := + +test-keymap_FILES := $(FILES) +test-keymap_OBJS := $(addsuffix .o,$(addprefix $(test-keymap_OBJDIR)/,$(test-keymap_FILES))) +test-keymap_DEPS := $(addsuffix .d,$(addprefix $(test-keymap_OBJDIR)/,$(test-keymap_FILES))) +test-keymap_EXES := $(addprefix $(test-keymap_TARGETDIR)/,$(test-keymap_FILES)) + +test-keymap_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-keymap_CPPFLAGS += -I +endif +test-keymap_CFLAGS := $(CFLAGS) +test-keymap_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-keymap_COVERAGE := yes +test-keymap_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-keymap_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-keymap_CFLAGS := $(strip $(test-keymap_COVERAGEFLAGS) $(test-keymap_CFLAGS)) +test-keymap_LIBS += $(test-keymap_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-keymap_FUNCINSTR := yes +test-keymap_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-keymap_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-keymap_CFLAGS := $(strip $(test-keymap_INSTRFUNCFLAGS) $(test-keymap_CFLAGS)) +test-keymap_LIBS += $(test-keymap_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-keymap_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-keymap_CFLAGS)) +endif +endif +ifneq (,) + test-keymap_DFLAGS := +else + test-keymap_DFLAGS := $(test-keymap_CFLAGS) +endif +ifeq (target,target) +test-keymap_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-keymap_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-keymap_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-keymap_LDFLAGS += -L +endif + +#MM +test-keymap-quick : test-keymap + +#MM test-keymap : includes-generate-deps core-linklibs +test-keymap : $(test-keymap_EXES) + +ifneq ($(filter $(TARGET),test-keymap test-keymap-quick),) + +ifeq (,) +test-keymap_MC_SRCWILDCARD := % +else +test-keymap_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-keymap_OBJDIR),) +test-keymap_MC_TARGETS := $(addsuffix .o,$(test-keymap_FILES)) +test-keymap_MC_DTARGETS := $(addsuffix .d,$(test-keymap_FILES)) +test-keymap_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-keymap_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-keymap_OBJDIR)/,$(notdir $(test-keymap_FILES)))) + test-keymap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-keymap_OBJDIR)/,$(notdir $(test-keymap_FILES)))) +else +ifeq (,) + test-keymap_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-keymap_OBJDIR)/,$(test-keymap_FILES))) + test-keymap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-keymap_OBJDIR)/,$(test-keymap_FILES))) +else + test-keymap_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-keymap_OBJDIR)/,$(patsubst /%,%,$(test-keymap_FILES)))) + test-keymap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-keymap_OBJDIR)/,$(patsubst /%,%,$(test-keymap_FILES)))) +endif +endif +test-keymap_MC_TGTWILDCARD := $(test-keymap_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : | $(addsuffix .c,$(test-keymap_FILES)) + +# Be sure that all .c files are found +test-keymap_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-keymap_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-keymap_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-keymap_MC_DIRS := $(foreach dir, $(test-keymap_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-keymap_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-keymap_MC_DIRS),) + test-keymap_MC_DIRS := $(shell echo $(test-keymap_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-keymap_MC_DIRS) +endif + +endif + +test-keymap_MC_CPPFLAGS := $(test-keymap_CPPFLAGS) +test-keymap_CFLAGS := $(test-keymap_CFLAGS) +ifeq ($(test-keymap_DFLAGS),) + test-keymap_DFLAGS := $(test-keymap_CFLAGS) +else + test-keymap_DFLAGS := $(test-keymap_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-keymap_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-keymap_STRIP ?= $(TARGET_STRIP) +test-keymap_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_MC_CPPFLAGS:=$(strip $(test-keymap_MC_CPPFLAGS) $(test-keymap_MC_EXTRA_CPPFLAGS)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_CFLAGS:=$(strip $(test-keymap_CFLAGS) $(SAFETY_CFLAGS)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_DFLAGS:=$(test-keymap_DFLAGS) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-keymap_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-keymap_STRIP ?= $(HOST_STRIP) +test-keymap_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-keymap_MC_CPPFLAGS) $(test-keymap_MC_EXTRA_CPPFLAGS)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-keymap_CFLAGS)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-keymap_DFLAGS)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_IQUOTE:=$(HOST_IQUOTE) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-keymap_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-keymap_STRIP ?= $(ECHO) >/dev/null +test-keymap_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-keymap_MC_CPPFLAGS) $(test-keymap_MC_EXTRA_CPPFLAGS)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-keymap_CFLAGS)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-keymap_DFLAGS)) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_IQUOTE:=$(KERNEL_IQUOTE) +$(test-keymap_MC_TARGETS) $(test-keymap_MC_DTARGETS) : test-keymap_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-keymap_MC_TARGETS) : CPPFLAGS := $(test-keymap_MC_CPPFLAGS) +$(test-keymap_MC_TARGETS) : CFLAGS := $(test-keymap_CFLAGS) +$(test-keymap_MC_TARGETS) : $(test-keymap_MC_TGTWILDCARD).o : $(test-keymap_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-keymap_IQUOTE) $(dir $<) $(test-keymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-keymap_IQUOTE) . $(test-keymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-keymap_IQUOTE) $(dir $<) $(test-keymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-keymap_IQUOTE) . $(test-keymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-keymap_IQUOTE) $(dir $<) $(test-keymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-keymap_IQUOTE) . $(test-keymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-keymap_MC_DTARGETS) : $(test-keymap_MC_TGTWILDCARD).d : $(test-keymap_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-keymap_DFLAGS) $(test-keymap_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-keymap-link_EXTRA_LDFLAGS := +test-keymap-link_EXTRA_LIBS := +ifeq (no,yes) + test-keymap-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-keymap-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-keymap-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-keymap-link_DIRS := $(subst -L ,-L,$(strip $(test-keymap_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-keymap-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-keymap-link_DIRS))) +# Add trailing / +test-keymap-link_DIRS := $(subst //,/,$(addsuffix /,$(test-keymap-link_DIRS))) +# Add normal linklib path +test-keymap-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-keymap-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-keymap_LIBS) $(test-keymap-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-keymap-link_DEPLIBS := $(foreach lib,$(test-keymap-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-keymap-link_DIRS)))) \ +) +test-keymap-link_PROGS := $(addprefix $(test-keymap_TARGETDIR)/,$(test-keymap_FILES)) + +$(test-keymap-link_PROGS) : OBJDIR := $(test-keymap_OBJDIR) +$(test-keymap-link_PROGS) : LDFLAGS := $(strip $(test-keymap_LDFLAGS) $(test-keymap-link_EXTRA_LDFLAGS)) +$(test-keymap-link_PROGS) : LIBS := $(addprefix -l,$(test-keymap_LIBS) $(test-keymap-link_EXTRA_LIBS) ) +$(test-keymap-link_PROGS) : $(test-keymap_TARGETDIR)/% : $(test-keymap_OBJDIR)/%.o $(test-keymap-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-keymap_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-keymap_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-keymap_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-keymap_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-keymap_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-keymap_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-keymap_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-keymap_DEPS),) + ifneq (test-keymap test-keymap-quick,) + ifneq ($(findstring $(TARGET),test-keymap test-keymap-quick),) + -include $(test-keymap_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-keymap_DEPS) + endif + endif +endif + + +ifneq ($(test-keymap_DEPS) $(test-keymap_OBJS) $(addprefix $(test-keymap_TARGETDIR)/,$(test-keymap_FILES)),) +$(test-keymap_DEPS) $(test-keymap_OBJS) $(addprefix $(test-keymap_TARGETDIR)/,$(test-keymap_FILES)) : | $(test-keymap_TARGETDIR) $(test-keymap_OBJDIR) +else +$(test-keymap_DEPS) $(test-keymap_OBJS) $(addprefix $(test-keymap_TARGETDIR)/,$(test-keymap_FILES)) :: $(test-keymap_TARGETDIR) $(test-keymap_OBJDIR) +endif + +GLOB_MKDIRS += $(test-keymap_TARGETDIR) $(test-keymap_OBJDIR) + + +test-keymap-clean : FILES := $(test-keymap_OBJS) $(test-keymap_EXES) $(test-keymap_DEPS) +#MM +test-keymap-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-keymap" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/layers/mmakefile b/developer/debug/test/layers/mmakefile new file mode 100644 index 00000000000..e33c6acd6c3 --- /dev/null +++ b/developer/debug/test/layers/mmakefile @@ -0,0 +1,287 @@ +include $(SRCDIR)/config/aros.cfg + +FILES := CRList DamageList clippingtest layerstest sortlayercr + + +.PHONY : test-layers + +test-layers_OBJDIR := $(GENDIR)/$(CURDIR) +test-layers_TARGETDIR := $(AROS_TESTS)/layers +test-layers_LIBS := + +test-layers_FILES := $(FILES) +test-layers_OBJS := $(addsuffix .o,$(addprefix $(test-layers_OBJDIR)/,$(test-layers_FILES))) +test-layers_DEPS := $(addsuffix .d,$(addprefix $(test-layers_OBJDIR)/,$(test-layers_FILES))) +test-layers_EXES := $(addprefix $(test-layers_TARGETDIR)/,$(test-layers_FILES)) + +test-layers_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-layers_CPPFLAGS += -I +endif +test-layers_CFLAGS := $(CFLAGS) +test-layers_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-layers_COVERAGE := yes +test-layers_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-layers_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-layers_CFLAGS := $(strip $(test-layers_COVERAGEFLAGS) $(test-layers_CFLAGS)) +test-layers_LIBS += $(test-layers_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-layers_FUNCINSTR := yes +test-layers_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-layers_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-layers_CFLAGS := $(strip $(test-layers_INSTRFUNCFLAGS) $(test-layers_CFLAGS)) +test-layers_LIBS += $(test-layers_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-layers_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-layers_CFLAGS)) +endif +endif +ifneq (,) + test-layers_DFLAGS := +else + test-layers_DFLAGS := $(test-layers_CFLAGS) +endif +ifeq (target,target) +test-layers_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-layers_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-layers_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-layers_LDFLAGS += -L +endif + +#MM +test-layers-quick : test-layers + +#MM test-layers : includes-generate-deps core-linklibs +test-layers : $(test-layers_EXES) + +ifneq ($(filter $(TARGET),test-layers test-layers-quick),) + +ifeq (,) +test-layers_MC_SRCWILDCARD := % +else +test-layers_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-layers_OBJDIR),) +test-layers_MC_TARGETS := $(addsuffix .o,$(test-layers_FILES)) +test-layers_MC_DTARGETS := $(addsuffix .d,$(test-layers_FILES)) +test-layers_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-layers_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-layers_OBJDIR)/,$(notdir $(test-layers_FILES)))) + test-layers_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-layers_OBJDIR)/,$(notdir $(test-layers_FILES)))) +else +ifeq (,) + test-layers_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-layers_OBJDIR)/,$(test-layers_FILES))) + test-layers_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-layers_OBJDIR)/,$(test-layers_FILES))) +else + test-layers_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-layers_OBJDIR)/,$(patsubst /%,%,$(test-layers_FILES)))) + test-layers_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-layers_OBJDIR)/,$(patsubst /%,%,$(test-layers_FILES)))) +endif +endif +test-layers_MC_TGTWILDCARD := $(test-layers_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : | $(addsuffix .c,$(test-layers_FILES)) + +# Be sure that all .c files are found +test-layers_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-layers_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-layers_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-layers_MC_DIRS := $(foreach dir, $(test-layers_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-layers_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-layers_MC_DIRS),) + test-layers_MC_DIRS := $(shell echo $(test-layers_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-layers_MC_DIRS) +endif + +endif + +test-layers_MC_CPPFLAGS := $(test-layers_CPPFLAGS) +test-layers_CFLAGS := $(test-layers_CFLAGS) +ifeq ($(test-layers_DFLAGS),) + test-layers_DFLAGS := $(test-layers_CFLAGS) +else + test-layers_DFLAGS := $(test-layers_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-layers_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-layers_STRIP ?= $(TARGET_STRIP) +test-layers_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_MC_CPPFLAGS:=$(strip $(test-layers_MC_CPPFLAGS) $(test-layers_MC_EXTRA_CPPFLAGS)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_CFLAGS:=$(strip $(test-layers_CFLAGS) $(SAFETY_CFLAGS)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_DFLAGS:=$(test-layers_DFLAGS) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-layers_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-layers_STRIP ?= $(HOST_STRIP) +test-layers_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-layers_MC_CPPFLAGS) $(test-layers_MC_EXTRA_CPPFLAGS)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-layers_CFLAGS)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-layers_DFLAGS)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_IQUOTE:=$(HOST_IQUOTE) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-layers_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-layers_STRIP ?= $(ECHO) >/dev/null +test-layers_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-layers_MC_CPPFLAGS) $(test-layers_MC_EXTRA_CPPFLAGS)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-layers_CFLAGS)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-layers_DFLAGS)) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_IQUOTE:=$(KERNEL_IQUOTE) +$(test-layers_MC_TARGETS) $(test-layers_MC_DTARGETS) : test-layers_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-layers_MC_TARGETS) : CPPFLAGS := $(test-layers_MC_CPPFLAGS) +$(test-layers_MC_TARGETS) : CFLAGS := $(test-layers_CFLAGS) +$(test-layers_MC_TARGETS) : $(test-layers_MC_TGTWILDCARD).o : $(test-layers_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-layers_IQUOTE) $(dir $<) $(test-layers_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-layers_IQUOTE) . $(test-layers_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-layers_IQUOTE) $(dir $<) $(test-layers_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-layers_IQUOTE) . $(test-layers_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-layers_IQUOTE) $(dir $<) $(test-layers_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-layers_IQUOTE) . $(test-layers_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-layers_MC_DTARGETS) : $(test-layers_MC_TGTWILDCARD).d : $(test-layers_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-layers_DFLAGS) $(test-layers_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-layers-link_EXTRA_LDFLAGS := +test-layers-link_EXTRA_LIBS := +ifeq (no,yes) + test-layers-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-layers-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-layers-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-layers-link_DIRS := $(subst -L ,-L,$(strip $(test-layers_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-layers-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-layers-link_DIRS))) +# Add trailing / +test-layers-link_DIRS := $(subst //,/,$(addsuffix /,$(test-layers-link_DIRS))) +# Add normal linklib path +test-layers-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-layers-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-layers_LIBS) $(test-layers-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-layers-link_DEPLIBS := $(foreach lib,$(test-layers-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-layers-link_DIRS)))) \ +) +test-layers-link_PROGS := $(addprefix $(test-layers_TARGETDIR)/,$(test-layers_FILES)) + +$(test-layers-link_PROGS) : OBJDIR := $(test-layers_OBJDIR) +$(test-layers-link_PROGS) : LDFLAGS := $(strip $(test-layers_LDFLAGS) $(test-layers-link_EXTRA_LDFLAGS)) +$(test-layers-link_PROGS) : LIBS := $(addprefix -l,$(test-layers_LIBS) $(test-layers-link_EXTRA_LIBS) ) +$(test-layers-link_PROGS) : $(test-layers_TARGETDIR)/% : $(test-layers_OBJDIR)/%.o $(test-layers-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-layers_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-layers_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-layers_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-layers_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-layers_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-layers_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-layers_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-layers_DEPS),) + ifneq (test-layers test-layers-quick,) + ifneq ($(findstring $(TARGET),test-layers test-layers-quick),) + -include $(test-layers_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-layers_DEPS) + endif + endif +endif + + +ifneq ($(test-layers_DEPS) $(test-layers_OBJS) $(addprefix $(test-layers_TARGETDIR)/,$(test-layers_FILES)),) +$(test-layers_DEPS) $(test-layers_OBJS) $(addprefix $(test-layers_TARGETDIR)/,$(test-layers_FILES)) : | $(test-layers_TARGETDIR) $(test-layers_OBJDIR) +else +$(test-layers_DEPS) $(test-layers_OBJS) $(addprefix $(test-layers_TARGETDIR)/,$(test-layers_FILES)) :: $(test-layers_TARGETDIR) $(test-layers_OBJDIR) +endif + +GLOB_MKDIRS += $(test-layers_TARGETDIR) $(test-layers_OBJDIR) + + +test-layers-clean : FILES := $(test-layers_OBJS) $(test-layers_EXES) $(test-layers_DEPS) +#MM +test-layers-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-layers" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/library/mmakefile b/developer/debug/test/library/mmakefile new file mode 100644 index 00000000000..ff128377f49 --- /dev/null +++ b/developer/debug/test/library/mmakefile @@ -0,0 +1,9678 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- test : test-library +#MM- test-library : test-library-dummytest \ +#MM test-library-dummytest_auto \ +#MM test-library-usereltest \ +#MM test-library-peropenertest \ +#MM test-library-peropenertest_child +#MM- test-library-userellib: includes-pertask includes-dummy linklibs-pertask linklibs-dummy +#MM test-library-dummytest : test-library-dummylib +#MM test-library-dummytest_auto : test-library-dummylib +#MM test-library-peropenertest : test-library-peropenerlib \ +#MM test-library-pertasklib +#MM test-library-peropenertest_child : \ +#MM test-library-pertasklib +#MM test-library-usereltest : test-library-userellib +#MM- test-library-clean : \ +#MM test-library-dummytest-clean \ +#MM test-library-dummytest_auto-clean \ +#MM test-library-peropenertest-clean \ +#MM test-library-dummylib-clean \ +#MM test-library-peropenerlib-clean \ +#MM test-library-pertasklib-clean \ +#MM test-library-userellib-clean + +TARGETDIR := $(AROS_TESTS)/Library + +USER_INCLUDES := -I$(TARGETDIR)/$(AROS_DIR_DEVELOPER)/include +USER_LDFLAGS := -L$(TARGETDIR)/$(AROS_DIR_DEVELOPER)/lib + + +.PHONY : test-library-peropenertest + +test-library-peropenertest_PROGNAME := peropenertest +test-library-peropenertest_OBJDIR := $(GENDIR)/$(CURDIR) +test-library-peropenertest_TARGETDIR := $(TARGETDIR) +test-library-peropenertest_LINKER := +test-library-peropenertest_LIBS := peropener +# If not supplied, linker is equal to compiler +ifeq ($(test-library-peropenertest_LINKER),) + test-library-peropenertest_LINKER := target +endif + +ifneq ("$(strip )","") + test-library-peropenertest_FILES := + test-library-peropenertest_OBJCFILES := + test-library-peropenertest_ASMFILES := + test-library-peropenertest_CXXFILES := +else + test-library-peropenertest_FILES := $(test-library-peropenertest_PROGNAME) + test-library-peropenertest_OBJCFILES := + test-library-peropenertest_ASMFILES := + test-library-peropenertest_CXXFILES := +endif + +test-library-peropenertest_ARCHOBJS := $(wildcard $(test-library-peropenertest_OBJDIR)/arch/*.o) +test-library-peropenertest_ARCHFILES := $(basename $(notdir $(test-library-peropenertest_ARCHOBJS))) +test-library-peropenertest_C_NARCHFILES := $(filter-out $(test-library-peropenertest_ARCHFILES),$(test-library-peropenertest_FILES)) +test-library-peropenertest_CXX_NARCHFILES := $(filter-out $(test-library-peropenertest_ARCHFILES),$(test-library-peropenertest_CXXFILES)) +test-library-peropenertest_OBJC_NARCHFILES := $(filter-out $(test-library-peropenertest_ARCHFILES),$(test-library-peropenertest_OBJCFILES)) + +TMP_FILES := $(test-library-peropenertest_C_NARCHFILES) $(test-library-peropenertest_CXX_NARCHFILES) $(test-library-peropenertest_ASMFILES) $(test-library-peropenertest_OBJC_NARCHFILES) +test-library-peropenertest_OBJS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-library-peropenertest_DEPS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-library-peropenertest_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-library-peropenertest_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-library-peropenertest_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-library-peropenertest_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-library-peropenertest_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-library-peropenertest_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-peropenertest_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-library-peropenertest_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-library-peropenertest_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-library-peropenertest_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-peropenertest_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-library-peropenertest_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-library-peropenertest_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-library-peropenertest_LDFLAGS := +endif + +test-library-peropenertest_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-library-peropenertest_COVERAGE := yes +test-library-peropenertest_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-library-peropenertest_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-library-peropenertest_CFLAGS := $(strip $(test-library-peropenertest_COVERAGEFLAGS) $(test-library-peropenertest_CFLAGS)) +test-library-peropenertest_CXXFLAGS := $(strip $(test-library-peropenertest_COVERAGEFLAGS) $(test-library-peropenertest_CXXFLAGS)) +test-library-peropenertest_LIBS += $(test-library-peropenertest_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-peropenertest_FUNCINSTR := yes +test-library-peropenertest_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-library-peropenertest_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-peropenertest_CFLAGS := $(strip $(test-library-peropenertest_INSTRFUNCFLAGS) $(test-library-peropenertest_CFLAGS)) +test-library-peropenertest_CXXFLAGS := $(strip $(test-library-peropenertest_INSTRFUNCFLAGS) $(test-library-peropenertest_CXXFLAGS)) +test-library-peropenertest_LIBS += $(test-library-peropenertest_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-library-peropenertest_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-peropenertest_CFLAGS)) +test-library-peropenertest_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-peropenertest_CXXFLAGS)) +endif +endif +test-library-peropenertest_AFLAGS := $(AFLAGS) +ifneq (,) + test-library-peropenertest_DFLAGS := +else + test-library-peropenertest_DFLAGS := $(test-library-peropenertest_CFLAGS) +endif +ifneq (,) + test-library-peropenertest_DXXFLAGS := +else + test-library-peropenertest_DXXFLAGS := $(test-library-peropenertest_CXXFLAGS) +endif +ifeq (target,target) +test-library-peropenertest_LDFLAGS := $(test-library-peropenertest_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-peropenertest_LDFLAGS := $(test-library-peropenertest_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-peropenertest_LDFLAGS := $(test-library-peropenertest_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-library-peropenertest_LDFLAGS += -L +endif + +#MM +test-library-peropenertest-quick : test-library-peropenertest + +#MM test-library-peropenertest : includes-generate-deps core-linklibs +test-library-peropenertest : $(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) + +ifneq ($(filter $(TARGET),test-library-peropenertest test-library-peropenertest-quick test-library-peropenertest-gz-quick),) + +test-library-peropenertest_CXXABSBASENAMES := $(foreach test-library-peropenertest_CXXBASE,$(test-library-peropenertest_CXX_NARCHFILES),$(if $(filter /%,$(test-library-peropenertest_CXXBASE)),$(test-library-peropenertest_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-peropenertest_CXXBASE)))) + +ifneq ($(test-library-peropenertest_CXXABSBASENAMES),) + +test-library-peropenertest_CXXBASENAMES := $(basename $(test-library-peropenertest_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-peropenertest_MCXX_FILES := $(strip $(foreach test-library-peropenertest_CXXBASE,$(test-library-peropenertest_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-peropenertest_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-peropenertest_EXT),$(test-library-peropenertest_CXXBASE))))))) + +ifeq (,) +test-library-peropenertest_MCXX_SRCWILDCARD := % +else +test-library-peropenertest_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenertest_OBJDIR),) + test-library-peropenertest_CXXTARGETS := $(notdir $(test-library-peropenertest_CXXBASENAMES:=.o)) + test-library-peropenertest_CXXDTARGETS := $(notdir $(test-library-peropenertest_CXXBASENAMES:=.d)) + test-library-peropenertest_MCXX_WILDCARD := % +else + test-library-peropenertest_CXXTARGETS := $(addprefix $(test-library-peropenertest_OBJDIR)/,$(notdir $(test-library-peropenertest_CXXBASENAMES:=.o))) + test-library-peropenertest_CXXDTARGETS := $(addprefix $(test-library-peropenertest_OBJDIR)/,$(notdir $(test-library-peropenertest_CXXBASENAMES:=.d))) + test-library-peropenertest_MCXX_WILDCARD := $(test-library-peropenertest_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-peropenertest_CXXTARGETS) $(test-library-peropenertest_CXXDTARGETS) : | $(test-library-peropenertest_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-peropenertest_MCXX_CPPFLAGS := $(test-library-peropenertest_CPPFLAGS) +test-library-peropenertest_CXXFLAGS := $(test-library-peropenertest_CXXFLAGS) +ifeq ($(test-library-peropenertest_DXXFLAGS),) + test-library-peropenertest_DXXFLAGS := $(test-library-peropenertest_CXXFLAGS) +else + test-library-peropenertest_DXXFLAGS := $(test-library-peropenertest_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-peropenertest_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-peropenertest_STRIP ?= $(HOST_STRIP) + test-library-peropenertest_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-peropenertest_CXXCMD:=$(HOST_CXX) + test-library-peropenertest_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-peropenertest_MCXX_CPPFLAGS) $(test-library-peropenertest_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenertest_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-peropenertest_CXXFLAGS)) + test-library-peropenertest_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-peropenertest_DXXFLAGS)) + test-library-peropenertest_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-peropenertest_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-peropenertest_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-peropenertest_STRIP ?= $(TARGET_STRIP) + test-library-peropenertest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-peropenertest_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-peropenertest_MCXX_CPPFLAGS := $(strip $(test-library-peropenertest_MCXX_CPPFLAGS) $(test-library-peropenertest_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenertest_CXXFLAGS := $(strip $(test-library-peropenertest_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-peropenertest_DXXFLAGS := $(test-library-peropenertest_DXXFLAGS) + test-library-peropenertest_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-peropenertest_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-peropenertest_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-peropenertest_STRIP ?= $(ECHO) >/dev/null + test-library-peropenertest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-peropenertest_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-peropenertest_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-peropenertest_MCXX_CPPFLAGS) $(test-library-peropenertest_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenertest_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-peropenertest_CXXFLAGS)) + test-library-peropenertest_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-peropenertest_DXXFLAGS)) + test-library-peropenertest_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-peropenertest_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-peropenertest_CXXCMD) $(test-library-peropenertest_CXXIQUOTE) $(dir $(2)) $(test-library-peropenertest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_CXXIQUOTE) . $(test-library-peropenertest_CXXIQUOTE_END) $(strip $(test-library-peropenertest_CXXFLAGS) $(test-library-peropenertest_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-peropenertest_CXXCMD) $(test-library-peropenertest_CXXIQUOTE) $(dir $(2)) $(test-library-peropenertest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_CXXIQUOTE) . $(test-library-peropenertest_CXXIQUOTE_END) $(strip $(test-library-peropenertest_CXXFLAGS) $(test-library-peropenertest_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-peropenertest_CXXCMD) $(test-library-peropenertest_CXXIQUOTE) $(dir $(2)) $(test-library-peropenertest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_CXXIQUOTE) . $(test-library-peropenertest_CXXIQUOTE_END) $(strip $(test-library-peropenertest_CXXFLAGS) $(test-library-peropenertest_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-peropenertest_CXXCMD)" $(MKDEPEND) $(strip $(test-library-peropenertest_DXXFLAGS) $(test-library-peropenertest_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-peropenertest_OBJDIR),) + $(foreach test-library-peropenertest_CXXFILE,$(test-library-peropenertest_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-peropenertest_CXXFILE))),$(test-library-peropenertest_CXXFILE)))) +else + $(foreach test-library-peropenertest_CXXFILE,$(test-library-peropenertest_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(notdir $(basename $(test-library-peropenertest_CXXFILE)))),$(test-library-peropenertest_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-peropenertest_OBJC_NARCHFILES),) + +ifeq (,) +test-library-peropenertest_MOBJC_SRCWILDCARD := % +else +test-library-peropenertest_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenertest_OBJDIR),) + test-library-peropenertest_MOBJC_TARGETS := $(addsuffix .o,$(test-library-peropenertest_OBJC_NARCHFILES)) + test-library-peropenertest_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-peropenertest_OBJC_NARCHFILES)) + test-library-peropenertest_MOBJC_WILDCARD := % +else + test-library-peropenertest_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(test-library-peropenertest_OBJC_NARCHFILES))) + test-library-peropenertest_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(test-library-peropenertest_OBJC_NARCHFILES))) + test-library-peropenertest_MOBJC_WILDCARD := $(test-library-peropenertest_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-peropenertest_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-peropenertest_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-peropenertest_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenertest_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-peropenertest_MOBJC_DIRS := $(foreach dir, $(test-library-peropenertest_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenertest_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-peropenertest_MOBJC_DIRS),) + test-library-peropenertest_MOBJC_DIRS := $(shell echo $(test-library-peropenertest_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-peropenertest_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-peropenertest_CC := $(TARGET_CC) +else + test-library-peropenertest_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-peropenertest_MOBJC_CPPFLAGS := $(test-library-peropenertest_CPPFLAGS) +test-library-peropenertest_OBJCFLAGS := $(test-library-peropenertest_CFLAGS) +test-library-peropenertest_OBJCFLAGS := $(test-library-peropenertest_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-peropenertest_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-peropenertest_OBJCFLAGS))) +ifeq ($(test-library-peropenertest_DFLAGS),) + test-library-peropenertest_OBJCDFLAGS := $(test-library-peropenertest_CFLAGS) +else + test-library-peropenertest_OBJCDFLAGS := $(test-library-peropenertest_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-peropenertest_LINK ?= $(strip $(test-library-peropenertest_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-peropenertest_STRIP ?= $(TARGET_STRIP) + test-library-peropenertest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-peropenertest_CC) $(TARGET_SYSROOT)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_MOBJC_CPPFLAGS:=$(strip $(test-library-peropenertest_MOBJC_CPPFLAGS) $(test-library-peropenertest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_OBJCFLAGS:=$(strip $(test-library-peropenertest_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_OBJCDFLAGS:=$(test-library-peropenertest_OBJCDFLAGS) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-peropenertest_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-peropenertest_STRIP ?= $(HOST_STRIP) + test-library-peropenertest_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-peropenertest_MOBJC_CPPFLAGS) $(test-library-peropenertest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenertest_OBJCFLAGS)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenertest_OBJCDFLAGS)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_IQUOTE:=$(HOST_IQUOTE) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-peropenertest_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-peropenertest_STRIP ?= $(ECHO) >/dev/null + test-library-peropenertest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-peropenertest_MOBJC_CPPFLAGS) $(test-library-peropenertest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenertest_OBJCFLAGS)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenertest_OBJCDFLAGS)) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-peropenertest_MOBJC_TARGETS) $(test-library-peropenertest_MOBJC_DTARGETS) : test-library-peropenertest_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenertest_MOBJC_TARGETS) : CPPFLAGS := $(test-library-peropenertest_MOBJC_CPPFLAGS) +$(test-library-peropenertest_MOBJC_TARGETS) : CFLAGS := $(test-library-peropenertest_OBJCFLAGS) +$(test-library-peropenertest_MOBJC_TARGETS) : $(test-library-peropenertest_MOBJC_WILDCARD).o : $(test-library-peropenertest_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenertest_IQUOTE) $(dir $<) $(test-library-peropenertest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_IQUOTE) . $(test-library-peropenertest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenertest_IQUOTE) $(dir $<) $(test-library-peropenertest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_IQUOTE) . $(test-library-peropenertest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenertest_IQUOTE) $(dir $<) $(test-library-peropenertest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_IQUOTE) . $(test-library-peropenertest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenertest_MOBJC_DTARGETS) : $(test-library-peropenertest_MOBJC_WILDCARD).d : $(test-library-peropenertest_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenertest_OBJCDFLAGS) $(test-library-peropenertest_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-peropenertest_MC_SRCWILDCARD := % +else +test-library-peropenertest_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenertest_OBJDIR),) +test-library-peropenertest_MC_TARGETS := $(addsuffix .o,$(test-library-peropenertest_C_NARCHFILES)) +test-library-peropenertest_MC_DTARGETS := $(addsuffix .d,$(test-library-peropenertest_C_NARCHFILES)) +test-library-peropenertest_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-peropenertest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(notdir $(test-library-peropenertest_C_NARCHFILES)))) + test-library-peropenertest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(notdir $(test-library-peropenertest_C_NARCHFILES)))) +else +ifeq (,) + test-library-peropenertest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(test-library-peropenertest_C_NARCHFILES))) + test-library-peropenertest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(test-library-peropenertest_C_NARCHFILES))) +else + test-library-peropenertest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(patsubst /%,%,$(test-library-peropenertest_C_NARCHFILES)))) + test-library-peropenertest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(patsubst /%,%,$(test-library-peropenertest_C_NARCHFILES)))) +endif +endif +test-library-peropenertest_MC_TGTWILDCARD := $(test-library-peropenertest_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : | $(addsuffix .c,$(test-library-peropenertest_C_NARCHFILES)) + +# Be sure that all .c files are found +test-library-peropenertest_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenertest_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenertest_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenertest_MC_DIRS := $(foreach dir, $(test-library-peropenertest_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenertest_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenertest_MC_DIRS),) + test-library-peropenertest_MC_DIRS := $(shell echo $(test-library-peropenertest_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-peropenertest_MC_DIRS) +endif + +endif + +test-library-peropenertest_MC_CPPFLAGS := $(test-library-peropenertest_CPPFLAGS) +test-library-peropenertest_CFLAGS := $(test-library-peropenertest_CFLAGS) +ifeq ($(test-library-peropenertest_DFLAGS),) + test-library-peropenertest_DFLAGS := $(test-library-peropenertest_CFLAGS) +else + test-library-peropenertest_DFLAGS := $(test-library-peropenertest_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-peropenertest_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-peropenertest_STRIP ?= $(TARGET_STRIP) +test-library-peropenertest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_MC_CPPFLAGS:=$(strip $(test-library-peropenertest_MC_CPPFLAGS) $(test-library-peropenertest_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_CFLAGS:=$(strip $(test-library-peropenertest_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_DFLAGS:=$(test-library-peropenertest_DFLAGS) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-peropenertest_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-peropenertest_STRIP ?= $(HOST_STRIP) +test-library-peropenertest_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-peropenertest_MC_CPPFLAGS) $(test-library-peropenertest_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenertest_CFLAGS)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenertest_DFLAGS)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_IQUOTE:=$(HOST_IQUOTE) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-peropenertest_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-peropenertest_STRIP ?= $(ECHO) >/dev/null +test-library-peropenertest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-peropenertest_MC_CPPFLAGS) $(test-library-peropenertest_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenertest_CFLAGS)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenertest_DFLAGS)) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-peropenertest_MC_TARGETS) $(test-library-peropenertest_MC_DTARGETS) : test-library-peropenertest_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenertest_MC_TARGETS) : CPPFLAGS := $(test-library-peropenertest_MC_CPPFLAGS) +$(test-library-peropenertest_MC_TARGETS) : CFLAGS := $(test-library-peropenertest_CFLAGS) +$(test-library-peropenertest_MC_TARGETS) : $(test-library-peropenertest_MC_TGTWILDCARD).o : $(test-library-peropenertest_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenertest_IQUOTE) $(dir $<) $(test-library-peropenertest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_IQUOTE) . $(test-library-peropenertest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenertest_IQUOTE) $(dir $<) $(test-library-peropenertest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_IQUOTE) . $(test-library-peropenertest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenertest_IQUOTE) $(dir $<) $(test-library-peropenertest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_IQUOTE) . $(test-library-peropenertest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenertest_MC_DTARGETS) : $(test-library-peropenertest_MC_TGTWILDCARD).d : $(test-library-peropenertest_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenertest_DFLAGS) $(test-library-peropenertest_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-peropenertest_OBJDIR),) +test-library-peropenertest-MA_TARGETS := $(addsuffix .o,$(test-library-peropenertest_ASMFILES)) +test-library-peropenertest-MA_WILDCARD := % +else +test-library-peropenertest-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_OBJDIR)/,$(notdir $(test-library-peropenertest_ASMFILES)))) +test-library-peropenertest-MA_WILDCARD := $(test-library-peropenertest_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-library-peropenertest-MA_TARGETS) : | $(addsuffix .s,$(test-library-peropenertest_ASMFILES)) + +# Be sure that all .c files are found +test-library-peropenertest-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenertest-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenertest_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenertest-MA_DIRS := $(foreach dir, $(test-library-peropenertest-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenertest-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenertest-MA_DIRS),) + test-library-peropenertest-MA_DIRS := $(shell echo $(test-library-peropenertest-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-library-peropenertest-MA_DIRS) +endif + +endif + +test-library-peropenertest-MA_ASSEMBLER ?= $(test-library-peropenertest_ASSEMBLER) + +$(test-library-peropenertest-MA_TARGETS) : test-library-peropenertest-MA_CMD:= $(test-library-peropenertest-MA_ASSEMBLER) + +$(test-library-peropenertest-MA_TARGETS) : CPPFLAGS := $(test-library-peropenertest_CPPFLAGS) +$(test-library-peropenertest-MA_TARGETS) : AFLAGS := $(test-library-peropenertest_AFLAGS) +$(test-library-peropenertest-MA_TARGETS) : $(test-library-peropenertest-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-peropenertest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-peropenertest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-peropenertest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-library-peropenertest-link_EXTRA_LDFLAGS := +test-library-peropenertest-link_EXTRA_LIBS := +ifeq (no,yes) + test-library-peropenertest-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-library-peropenertest-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-library-peropenertest-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-library-peropenertest-link_DIRS := $(subst -L ,-L,$(strip $(test-library-peropenertest_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-library-peropenertest-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-library-peropenertest-link_DIRS))) +# Add trailing / +test-library-peropenertest-link_DIRS := $(subst //,/,$(addsuffix /,$(test-library-peropenertest-link_DIRS))) +# Add normal linklib path +test-library-peropenertest-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-library-peropenertest-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-peropenertest_LIBS) $(test-library-peropenertest-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-library-peropenertest-link_LIBS += startup.o +endif +ifeq (no,yes) + test-library-peropenertest-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-library-peropenertest-link_DEPLIBS := $(foreach lib,$(test-library-peropenertest-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-library-peropenertest-link_DIRS)))) \ +) + +$(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) : OBJDIR := $(test-library-peropenertest_OBJDIR) +$(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) : OBJS := $(test-library-peropenertest_OBJS) $(test-library-peropenertest_ARCHOBJS) $(USER_OBJS) +$(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) : LDFLAGS := $(strip $(test-library-peropenertest_LDFLAGS) $(test-library-peropenertest-link_EXTRA_LDFLAGS)) +$(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) : LIBS := $(addprefix -l,$(test-library-peropenertest_LIBS) $(test-library-peropenertest-link_EXTRA_LIBS) ) +$(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) : $(test-library-peropenertest_OBJS) $(test-library-peropenertest_ARCHOBJS) $(USER_OBJS) $(test-library-peropenertest-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-library-peropenertest_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-library-peropenertest_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-library-peropenertest_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-peropenertest_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-library-peropenertest_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-library-peropenertest_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-peropenertest_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-library-peropenertest_DEPS),) + ifneq (test-library-peropenertest test-library-peropenertest-quick,) + ifneq ($(findstring $(TARGET),test-library-peropenertest test-library-peropenertest-quick),) + -include $(test-library-peropenertest_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-peropenertest_DEPS) + endif + endif +endif + + +ifneq ($(test-library-peropenertest_OBJS) $(test-library-peropenertest_DEPS) $(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME),) +$(test-library-peropenertest_OBJS) $(test-library-peropenertest_DEPS) $(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) : | $(test-library-peropenertest_OBJDIR) $(test-library-peropenertest_TARGETDIR) +else +$(test-library-peropenertest_OBJS) $(test-library-peropenertest_DEPS) $(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) :: $(test-library-peropenertest_OBJDIR) $(test-library-peropenertest_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-library-peropenertest_OBJDIR) $(test-library-peropenertest_TARGETDIR) + + +test-library-peropenertest-clean : FILES := $(test-library-peropenertest_OBJS) $(test-library-peropenertest_TARGETDIR)/$(test-library-peropenertest_PROGNAME) $(test-library-peropenertest_DEPS) +#MM +test-library-peropenertest-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-library-peropenertest" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-library-peropenertest_child + +test-library-peropenertest_child_PROGNAME := peropenertest_child +test-library-peropenertest_child_OBJDIR := $(GENDIR)/$(CURDIR) +test-library-peropenertest_child_TARGETDIR := $(TARGETDIR) +test-library-peropenertest_child_LINKER := +test-library-peropenertest_child_LIBS := pertask +# If not supplied, linker is equal to compiler +ifeq ($(test-library-peropenertest_child_LINKER),) + test-library-peropenertest_child_LINKER := target +endif + +ifneq ("$(strip )","") + test-library-peropenertest_child_FILES := + test-library-peropenertest_child_OBJCFILES := + test-library-peropenertest_child_ASMFILES := + test-library-peropenertest_child_CXXFILES := +else + test-library-peropenertest_child_FILES := $(test-library-peropenertest_child_PROGNAME) + test-library-peropenertest_child_OBJCFILES := + test-library-peropenertest_child_ASMFILES := + test-library-peropenertest_child_CXXFILES := +endif + +test-library-peropenertest_child_ARCHOBJS := $(wildcard $(test-library-peropenertest_child_OBJDIR)/arch/*.o) +test-library-peropenertest_child_ARCHFILES := $(basename $(notdir $(test-library-peropenertest_child_ARCHOBJS))) +test-library-peropenertest_child_C_NARCHFILES := $(filter-out $(test-library-peropenertest_child_ARCHFILES),$(test-library-peropenertest_child_FILES)) +test-library-peropenertest_child_CXX_NARCHFILES := $(filter-out $(test-library-peropenertest_child_ARCHFILES),$(test-library-peropenertest_child_CXXFILES)) +test-library-peropenertest_child_OBJC_NARCHFILES := $(filter-out $(test-library-peropenertest_child_ARCHFILES),$(test-library-peropenertest_child_OBJCFILES)) + +TMP_FILES := $(test-library-peropenertest_child_C_NARCHFILES) $(test-library-peropenertest_child_CXX_NARCHFILES) $(test-library-peropenertest_child_ASMFILES) $(test-library-peropenertest_child_OBJC_NARCHFILES) +test-library-peropenertest_child_OBJS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-library-peropenertest_child_DEPS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-library-peropenertest_child_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-library-peropenertest_child_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-library-peropenertest_child_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-library-peropenertest_child_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-library-peropenertest_child_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-library-peropenertest_child_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-peropenertest_child_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-library-peropenertest_child_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-library-peropenertest_child_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-library-peropenertest_child_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-peropenertest_child_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-library-peropenertest_child_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-library-peropenertest_child_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-library-peropenertest_child_LDFLAGS := +endif + +test-library-peropenertest_child_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-library-peropenertest_child_COVERAGE := yes +test-library-peropenertest_child_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-library-peropenertest_child_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-library-peropenertest_child_CFLAGS := $(strip $(test-library-peropenertest_child_COVERAGEFLAGS) $(test-library-peropenertest_child_CFLAGS)) +test-library-peropenertest_child_CXXFLAGS := $(strip $(test-library-peropenertest_child_COVERAGEFLAGS) $(test-library-peropenertest_child_CXXFLAGS)) +test-library-peropenertest_child_LIBS += $(test-library-peropenertest_child_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-peropenertest_child_FUNCINSTR := yes +test-library-peropenertest_child_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-library-peropenertest_child_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-peropenertest_child_CFLAGS := $(strip $(test-library-peropenertest_child_INSTRFUNCFLAGS) $(test-library-peropenertest_child_CFLAGS)) +test-library-peropenertest_child_CXXFLAGS := $(strip $(test-library-peropenertest_child_INSTRFUNCFLAGS) $(test-library-peropenertest_child_CXXFLAGS)) +test-library-peropenertest_child_LIBS += $(test-library-peropenertest_child_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-library-peropenertest_child_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-peropenertest_child_CFLAGS)) +test-library-peropenertest_child_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-peropenertest_child_CXXFLAGS)) +endif +endif +test-library-peropenertest_child_AFLAGS := $(AFLAGS) +ifneq (,) + test-library-peropenertest_child_DFLAGS := +else + test-library-peropenertest_child_DFLAGS := $(test-library-peropenertest_child_CFLAGS) +endif +ifneq (,) + test-library-peropenertest_child_DXXFLAGS := +else + test-library-peropenertest_child_DXXFLAGS := $(test-library-peropenertest_child_CXXFLAGS) +endif +ifeq (target,target) +test-library-peropenertest_child_LDFLAGS := $(test-library-peropenertest_child_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-peropenertest_child_LDFLAGS := $(test-library-peropenertest_child_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-peropenertest_child_LDFLAGS := $(test-library-peropenertest_child_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-library-peropenertest_child_LDFLAGS += -L +endif + +#MM +test-library-peropenertest_child-quick : test-library-peropenertest_child + +#MM test-library-peropenertest_child : includes-generate-deps core-linklibs +test-library-peropenertest_child : $(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) + +ifneq ($(filter $(TARGET),test-library-peropenertest_child test-library-peropenertest_child-quick test-library-peropenertest_child-gz-quick),) + +test-library-peropenertest_child_CXXABSBASENAMES := $(foreach test-library-peropenertest_child_CXXBASE,$(test-library-peropenertest_child_CXX_NARCHFILES),$(if $(filter /%,$(test-library-peropenertest_child_CXXBASE)),$(test-library-peropenertest_child_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-peropenertest_child_CXXBASE)))) + +ifneq ($(test-library-peropenertest_child_CXXABSBASENAMES),) + +test-library-peropenertest_child_CXXBASENAMES := $(basename $(test-library-peropenertest_child_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-peropenertest_child_MCXX_FILES := $(strip $(foreach test-library-peropenertest_child_CXXBASE,$(test-library-peropenertest_child_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-peropenertest_child_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-peropenertest_child_EXT),$(test-library-peropenertest_child_CXXBASE))))))) + +ifeq (,) +test-library-peropenertest_child_MCXX_SRCWILDCARD := % +else +test-library-peropenertest_child_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenertest_child_OBJDIR),) + test-library-peropenertest_child_CXXTARGETS := $(notdir $(test-library-peropenertest_child_CXXBASENAMES:=.o)) + test-library-peropenertest_child_CXXDTARGETS := $(notdir $(test-library-peropenertest_child_CXXBASENAMES:=.d)) + test-library-peropenertest_child_MCXX_WILDCARD := % +else + test-library-peropenertest_child_CXXTARGETS := $(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(notdir $(test-library-peropenertest_child_CXXBASENAMES:=.o))) + test-library-peropenertest_child_CXXDTARGETS := $(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(notdir $(test-library-peropenertest_child_CXXBASENAMES:=.d))) + test-library-peropenertest_child_MCXX_WILDCARD := $(test-library-peropenertest_child_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-peropenertest_child_CXXTARGETS) $(test-library-peropenertest_child_CXXDTARGETS) : | $(test-library-peropenertest_child_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-peropenertest_child_MCXX_CPPFLAGS := $(test-library-peropenertest_child_CPPFLAGS) +test-library-peropenertest_child_CXXFLAGS := $(test-library-peropenertest_child_CXXFLAGS) +ifeq ($(test-library-peropenertest_child_DXXFLAGS),) + test-library-peropenertest_child_DXXFLAGS := $(test-library-peropenertest_child_CXXFLAGS) +else + test-library-peropenertest_child_DXXFLAGS := $(test-library-peropenertest_child_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-peropenertest_child_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-peropenertest_child_STRIP ?= $(HOST_STRIP) + test-library-peropenertest_child_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-peropenertest_child_CXXCMD:=$(HOST_CXX) + test-library-peropenertest_child_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-peropenertest_child_MCXX_CPPFLAGS) $(test-library-peropenertest_child_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenertest_child_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-peropenertest_child_CXXFLAGS)) + test-library-peropenertest_child_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-peropenertest_child_DXXFLAGS)) + test-library-peropenertest_child_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-peropenertest_child_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-peropenertest_child_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-peropenertest_child_STRIP ?= $(TARGET_STRIP) + test-library-peropenertest_child_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-peropenertest_child_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-peropenertest_child_MCXX_CPPFLAGS := $(strip $(test-library-peropenertest_child_MCXX_CPPFLAGS) $(test-library-peropenertest_child_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenertest_child_CXXFLAGS := $(strip $(test-library-peropenertest_child_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-peropenertest_child_DXXFLAGS := $(test-library-peropenertest_child_DXXFLAGS) + test-library-peropenertest_child_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-peropenertest_child_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-peropenertest_child_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-peropenertest_child_STRIP ?= $(ECHO) >/dev/null + test-library-peropenertest_child_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-peropenertest_child_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-peropenertest_child_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-peropenertest_child_MCXX_CPPFLAGS) $(test-library-peropenertest_child_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenertest_child_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-peropenertest_child_CXXFLAGS)) + test-library-peropenertest_child_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-peropenertest_child_DXXFLAGS)) + test-library-peropenertest_child_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-peropenertest_child_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-peropenertest_child_CXXCMD) $(test-library-peropenertest_child_CXXIQUOTE) $(dir $(2)) $(test-library-peropenertest_child_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_CXXIQUOTE) . $(test-library-peropenertest_child_CXXIQUOTE_END) $(strip $(test-library-peropenertest_child_CXXFLAGS) $(test-library-peropenertest_child_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-peropenertest_child_CXXCMD) $(test-library-peropenertest_child_CXXIQUOTE) $(dir $(2)) $(test-library-peropenertest_child_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_CXXIQUOTE) . $(test-library-peropenertest_child_CXXIQUOTE_END) $(strip $(test-library-peropenertest_child_CXXFLAGS) $(test-library-peropenertest_child_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-peropenertest_child_CXXCMD) $(test-library-peropenertest_child_CXXIQUOTE) $(dir $(2)) $(test-library-peropenertest_child_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_CXXIQUOTE) . $(test-library-peropenertest_child_CXXIQUOTE_END) $(strip $(test-library-peropenertest_child_CXXFLAGS) $(test-library-peropenertest_child_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-peropenertest_child_CXXCMD)" $(MKDEPEND) $(strip $(test-library-peropenertest_child_DXXFLAGS) $(test-library-peropenertest_child_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-peropenertest_child_OBJDIR),) + $(foreach test-library-peropenertest_child_CXXFILE,$(test-library-peropenertest_child_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-peropenertest_child_CXXFILE))),$(test-library-peropenertest_child_CXXFILE)))) +else + $(foreach test-library-peropenertest_child_CXXFILE,$(test-library-peropenertest_child_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(notdir $(basename $(test-library-peropenertest_child_CXXFILE)))),$(test-library-peropenertest_child_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-peropenertest_child_OBJC_NARCHFILES),) + +ifeq (,) +test-library-peropenertest_child_MOBJC_SRCWILDCARD := % +else +test-library-peropenertest_child_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenertest_child_OBJDIR),) + test-library-peropenertest_child_MOBJC_TARGETS := $(addsuffix .o,$(test-library-peropenertest_child_OBJC_NARCHFILES)) + test-library-peropenertest_child_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-peropenertest_child_OBJC_NARCHFILES)) + test-library-peropenertest_child_MOBJC_WILDCARD := % +else + test-library-peropenertest_child_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(test-library-peropenertest_child_OBJC_NARCHFILES))) + test-library-peropenertest_child_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(test-library-peropenertest_child_OBJC_NARCHFILES))) + test-library-peropenertest_child_MOBJC_WILDCARD := $(test-library-peropenertest_child_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-peropenertest_child_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-peropenertest_child_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-peropenertest_child_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenertest_child_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-peropenertest_child_MOBJC_DIRS := $(foreach dir, $(test-library-peropenertest_child_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenertest_child_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-peropenertest_child_MOBJC_DIRS),) + test-library-peropenertest_child_MOBJC_DIRS := $(shell echo $(test-library-peropenertest_child_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-peropenertest_child_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-peropenertest_child_CC := $(TARGET_CC) +else + test-library-peropenertest_child_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-peropenertest_child_MOBJC_CPPFLAGS := $(test-library-peropenertest_child_CPPFLAGS) +test-library-peropenertest_child_OBJCFLAGS := $(test-library-peropenertest_child_CFLAGS) +test-library-peropenertest_child_OBJCFLAGS := $(test-library-peropenertest_child_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-peropenertest_child_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-peropenertest_child_OBJCFLAGS))) +ifeq ($(test-library-peropenertest_child_DFLAGS),) + test-library-peropenertest_child_OBJCDFLAGS := $(test-library-peropenertest_child_CFLAGS) +else + test-library-peropenertest_child_OBJCDFLAGS := $(test-library-peropenertest_child_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-peropenertest_child_LINK ?= $(strip $(test-library-peropenertest_child_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-peropenertest_child_STRIP ?= $(TARGET_STRIP) + test-library-peropenertest_child_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-peropenertest_child_CC) $(TARGET_SYSROOT)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_MOBJC_CPPFLAGS:=$(strip $(test-library-peropenertest_child_MOBJC_CPPFLAGS) $(test-library-peropenertest_child_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_OBJCFLAGS:=$(strip $(test-library-peropenertest_child_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_OBJCDFLAGS:=$(test-library-peropenertest_child_OBJCDFLAGS) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-peropenertest_child_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-peropenertest_child_STRIP ?= $(HOST_STRIP) + test-library-peropenertest_child_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-peropenertest_child_MOBJC_CPPFLAGS) $(test-library-peropenertest_child_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenertest_child_OBJCFLAGS)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenertest_child_OBJCDFLAGS)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_IQUOTE:=$(HOST_IQUOTE) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-peropenertest_child_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-peropenertest_child_STRIP ?= $(ECHO) >/dev/null + test-library-peropenertest_child_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-peropenertest_child_MOBJC_CPPFLAGS) $(test-library-peropenertest_child_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenertest_child_OBJCFLAGS)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenertest_child_OBJCDFLAGS)) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-peropenertest_child_MOBJC_TARGETS) $(test-library-peropenertest_child_MOBJC_DTARGETS) : test-library-peropenertest_child_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenertest_child_MOBJC_TARGETS) : CPPFLAGS := $(test-library-peropenertest_child_MOBJC_CPPFLAGS) +$(test-library-peropenertest_child_MOBJC_TARGETS) : CFLAGS := $(test-library-peropenertest_child_OBJCFLAGS) +$(test-library-peropenertest_child_MOBJC_TARGETS) : $(test-library-peropenertest_child_MOBJC_WILDCARD).o : $(test-library-peropenertest_child_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenertest_child_IQUOTE) $(dir $<) $(test-library-peropenertest_child_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_IQUOTE) . $(test-library-peropenertest_child_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenertest_child_IQUOTE) $(dir $<) $(test-library-peropenertest_child_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_IQUOTE) . $(test-library-peropenertest_child_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenertest_child_IQUOTE) $(dir $<) $(test-library-peropenertest_child_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_IQUOTE) . $(test-library-peropenertest_child_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenertest_child_MOBJC_DTARGETS) : $(test-library-peropenertest_child_MOBJC_WILDCARD).d : $(test-library-peropenertest_child_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenertest_child_OBJCDFLAGS) $(test-library-peropenertest_child_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-peropenertest_child_MC_SRCWILDCARD := % +else +test-library-peropenertest_child_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenertest_child_OBJDIR),) +test-library-peropenertest_child_MC_TARGETS := $(addsuffix .o,$(test-library-peropenertest_child_C_NARCHFILES)) +test-library-peropenertest_child_MC_DTARGETS := $(addsuffix .d,$(test-library-peropenertest_child_C_NARCHFILES)) +test-library-peropenertest_child_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-peropenertest_child_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(notdir $(test-library-peropenertest_child_C_NARCHFILES)))) + test-library-peropenertest_child_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(notdir $(test-library-peropenertest_child_C_NARCHFILES)))) +else +ifeq (,) + test-library-peropenertest_child_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(test-library-peropenertest_child_C_NARCHFILES))) + test-library-peropenertest_child_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(test-library-peropenertest_child_C_NARCHFILES))) +else + test-library-peropenertest_child_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(patsubst /%,%,$(test-library-peropenertest_child_C_NARCHFILES)))) + test-library-peropenertest_child_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(patsubst /%,%,$(test-library-peropenertest_child_C_NARCHFILES)))) +endif +endif +test-library-peropenertest_child_MC_TGTWILDCARD := $(test-library-peropenertest_child_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : | $(addsuffix .c,$(test-library-peropenertest_child_C_NARCHFILES)) + +# Be sure that all .c files are found +test-library-peropenertest_child_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenertest_child_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenertest_child_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenertest_child_MC_DIRS := $(foreach dir, $(test-library-peropenertest_child_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenertest_child_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenertest_child_MC_DIRS),) + test-library-peropenertest_child_MC_DIRS := $(shell echo $(test-library-peropenertest_child_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-peropenertest_child_MC_DIRS) +endif + +endif + +test-library-peropenertest_child_MC_CPPFLAGS := $(test-library-peropenertest_child_CPPFLAGS) +test-library-peropenertest_child_CFLAGS := $(test-library-peropenertest_child_CFLAGS) +ifeq ($(test-library-peropenertest_child_DFLAGS),) + test-library-peropenertest_child_DFLAGS := $(test-library-peropenertest_child_CFLAGS) +else + test-library-peropenertest_child_DFLAGS := $(test-library-peropenertest_child_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-peropenertest_child_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-peropenertest_child_STRIP ?= $(TARGET_STRIP) +test-library-peropenertest_child_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_MC_CPPFLAGS:=$(strip $(test-library-peropenertest_child_MC_CPPFLAGS) $(test-library-peropenertest_child_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_CFLAGS:=$(strip $(test-library-peropenertest_child_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_DFLAGS:=$(test-library-peropenertest_child_DFLAGS) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-peropenertest_child_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-peropenertest_child_STRIP ?= $(HOST_STRIP) +test-library-peropenertest_child_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-peropenertest_child_MC_CPPFLAGS) $(test-library-peropenertest_child_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenertest_child_CFLAGS)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenertest_child_DFLAGS)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_IQUOTE:=$(HOST_IQUOTE) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-peropenertest_child_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-peropenertest_child_STRIP ?= $(ECHO) >/dev/null +test-library-peropenertest_child_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-peropenertest_child_MC_CPPFLAGS) $(test-library-peropenertest_child_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenertest_child_CFLAGS)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenertest_child_DFLAGS)) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-peropenertest_child_MC_TARGETS) $(test-library-peropenertest_child_MC_DTARGETS) : test-library-peropenertest_child_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenertest_child_MC_TARGETS) : CPPFLAGS := $(test-library-peropenertest_child_MC_CPPFLAGS) +$(test-library-peropenertest_child_MC_TARGETS) : CFLAGS := $(test-library-peropenertest_child_CFLAGS) +$(test-library-peropenertest_child_MC_TARGETS) : $(test-library-peropenertest_child_MC_TGTWILDCARD).o : $(test-library-peropenertest_child_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenertest_child_IQUOTE) $(dir $<) $(test-library-peropenertest_child_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_IQUOTE) . $(test-library-peropenertest_child_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenertest_child_IQUOTE) $(dir $<) $(test-library-peropenertest_child_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_IQUOTE) . $(test-library-peropenertest_child_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenertest_child_IQUOTE) $(dir $<) $(test-library-peropenertest_child_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenertest_child_IQUOTE) . $(test-library-peropenertest_child_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenertest_child_MC_DTARGETS) : $(test-library-peropenertest_child_MC_TGTWILDCARD).d : $(test-library-peropenertest_child_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenertest_child_DFLAGS) $(test-library-peropenertest_child_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-peropenertest_child_OBJDIR),) +test-library-peropenertest_child-MA_TARGETS := $(addsuffix .o,$(test-library-peropenertest_child_ASMFILES)) +test-library-peropenertest_child-MA_WILDCARD := % +else +test-library-peropenertest_child-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenertest_child_OBJDIR)/,$(notdir $(test-library-peropenertest_child_ASMFILES)))) +test-library-peropenertest_child-MA_WILDCARD := $(test-library-peropenertest_child_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-library-peropenertest_child-MA_TARGETS) : | $(addsuffix .s,$(test-library-peropenertest_child_ASMFILES)) + +# Be sure that all .c files are found +test-library-peropenertest_child-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenertest_child-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenertest_child_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenertest_child-MA_DIRS := $(foreach dir, $(test-library-peropenertest_child-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenertest_child-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenertest_child-MA_DIRS),) + test-library-peropenertest_child-MA_DIRS := $(shell echo $(test-library-peropenertest_child-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-library-peropenertest_child-MA_DIRS) +endif + +endif + +test-library-peropenertest_child-MA_ASSEMBLER ?= $(test-library-peropenertest_child_ASSEMBLER) + +$(test-library-peropenertest_child-MA_TARGETS) : test-library-peropenertest_child-MA_CMD:= $(test-library-peropenertest_child-MA_ASSEMBLER) + +$(test-library-peropenertest_child-MA_TARGETS) : CPPFLAGS := $(test-library-peropenertest_child_CPPFLAGS) +$(test-library-peropenertest_child-MA_TARGETS) : AFLAGS := $(test-library-peropenertest_child_AFLAGS) +$(test-library-peropenertest_child-MA_TARGETS) : $(test-library-peropenertest_child-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-peropenertest_child-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-peropenertest_child-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-peropenertest_child-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-library-peropenertest_child-link_EXTRA_LDFLAGS := +test-library-peropenertest_child-link_EXTRA_LIBS := +ifeq (no,yes) + test-library-peropenertest_child-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-library-peropenertest_child-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-library-peropenertest_child-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-library-peropenertest_child-link_DIRS := $(subst -L ,-L,$(strip $(test-library-peropenertest_child_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-library-peropenertest_child-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-library-peropenertest_child-link_DIRS))) +# Add trailing / +test-library-peropenertest_child-link_DIRS := $(subst //,/,$(addsuffix /,$(test-library-peropenertest_child-link_DIRS))) +# Add normal linklib path +test-library-peropenertest_child-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-library-peropenertest_child-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-peropenertest_child_LIBS) $(test-library-peropenertest_child-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-library-peropenertest_child-link_LIBS += startup.o +endif +ifeq (no,yes) + test-library-peropenertest_child-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-library-peropenertest_child-link_DEPLIBS := $(foreach lib,$(test-library-peropenertest_child-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-library-peropenertest_child-link_DIRS)))) \ +) + +$(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) : OBJDIR := $(test-library-peropenertest_child_OBJDIR) +$(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) : OBJS := $(test-library-peropenertest_child_OBJS) $(test-library-peropenertest_child_ARCHOBJS) $(USER_OBJS) +$(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) : LDFLAGS := $(strip $(test-library-peropenertest_child_LDFLAGS) $(test-library-peropenertest_child-link_EXTRA_LDFLAGS)) +$(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) : LIBS := $(addprefix -l,$(test-library-peropenertest_child_LIBS) $(test-library-peropenertest_child-link_EXTRA_LIBS) ) +$(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) : $(test-library-peropenertest_child_OBJS) $(test-library-peropenertest_child_ARCHOBJS) $(USER_OBJS) $(test-library-peropenertest_child-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-library-peropenertest_child_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-library-peropenertest_child_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-library-peropenertest_child_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-peropenertest_child_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-library-peropenertest_child_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-library-peropenertest_child_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-peropenertest_child_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-library-peropenertest_child_DEPS),) + ifneq (test-library-peropenertest_child test-library-peropenertest_child-quick,) + ifneq ($(findstring $(TARGET),test-library-peropenertest_child test-library-peropenertest_child-quick),) + -include $(test-library-peropenertest_child_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-peropenertest_child_DEPS) + endif + endif +endif + + +ifneq ($(test-library-peropenertest_child_OBJS) $(test-library-peropenertest_child_DEPS) $(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME),) +$(test-library-peropenertest_child_OBJS) $(test-library-peropenertest_child_DEPS) $(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) : | $(test-library-peropenertest_child_OBJDIR) $(test-library-peropenertest_child_TARGETDIR) +else +$(test-library-peropenertest_child_OBJS) $(test-library-peropenertest_child_DEPS) $(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) :: $(test-library-peropenertest_child_OBJDIR) $(test-library-peropenertest_child_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-library-peropenertest_child_OBJDIR) $(test-library-peropenertest_child_TARGETDIR) + + +test-library-peropenertest_child-clean : FILES := $(test-library-peropenertest_child_OBJS) $(test-library-peropenertest_child_TARGETDIR)/$(test-library-peropenertest_child_PROGNAME) $(test-library-peropenertest_child_DEPS) +#MM +test-library-peropenertest_child-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-library-peropenertest_child" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-library-dummytest + +test-library-dummytest_PROGNAME := dummytest +test-library-dummytest_OBJDIR := $(GENDIR)/$(CURDIR) +test-library-dummytest_TARGETDIR := $(TARGETDIR) +test-library-dummytest_LINKER := +test-library-dummytest_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-library-dummytest_LINKER),) + test-library-dummytest_LINKER := target +endif + +ifneq ("$(strip )","") + test-library-dummytest_FILES := + test-library-dummytest_OBJCFILES := + test-library-dummytest_ASMFILES := + test-library-dummytest_CXXFILES := +else + test-library-dummytest_FILES := $(test-library-dummytest_PROGNAME) + test-library-dummytest_OBJCFILES := + test-library-dummytest_ASMFILES := + test-library-dummytest_CXXFILES := +endif + +test-library-dummytest_ARCHOBJS := $(wildcard $(test-library-dummytest_OBJDIR)/arch/*.o) +test-library-dummytest_ARCHFILES := $(basename $(notdir $(test-library-dummytest_ARCHOBJS))) +test-library-dummytest_C_NARCHFILES := $(filter-out $(test-library-dummytest_ARCHFILES),$(test-library-dummytest_FILES)) +test-library-dummytest_CXX_NARCHFILES := $(filter-out $(test-library-dummytest_ARCHFILES),$(test-library-dummytest_CXXFILES)) +test-library-dummytest_OBJC_NARCHFILES := $(filter-out $(test-library-dummytest_ARCHFILES),$(test-library-dummytest_OBJCFILES)) + +TMP_FILES := $(test-library-dummytest_C_NARCHFILES) $(test-library-dummytest_CXX_NARCHFILES) $(test-library-dummytest_ASMFILES) $(test-library-dummytest_OBJC_NARCHFILES) +test-library-dummytest_OBJS := $(addsuffix .o,$(addprefix $(test-library-dummytest_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-library-dummytest_DEPS := $(addsuffix .d,$(addprefix $(test-library-dummytest_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-library-dummytest_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-library-dummytest_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-library-dummytest_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-library-dummytest_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-library-dummytest_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-library-dummytest_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-dummytest_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-library-dummytest_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-library-dummytest_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-library-dummytest_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-dummytest_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-library-dummytest_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-library-dummytest_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-library-dummytest_LDFLAGS := +endif + +test-library-dummytest_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-library-dummytest_COVERAGE := yes +test-library-dummytest_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-library-dummytest_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-library-dummytest_CFLAGS := $(strip $(test-library-dummytest_COVERAGEFLAGS) $(test-library-dummytest_CFLAGS)) +test-library-dummytest_CXXFLAGS := $(strip $(test-library-dummytest_COVERAGEFLAGS) $(test-library-dummytest_CXXFLAGS)) +test-library-dummytest_LIBS += $(test-library-dummytest_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-dummytest_FUNCINSTR := yes +test-library-dummytest_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-library-dummytest_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-dummytest_CFLAGS := $(strip $(test-library-dummytest_INSTRFUNCFLAGS) $(test-library-dummytest_CFLAGS)) +test-library-dummytest_CXXFLAGS := $(strip $(test-library-dummytest_INSTRFUNCFLAGS) $(test-library-dummytest_CXXFLAGS)) +test-library-dummytest_LIBS += $(test-library-dummytest_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-library-dummytest_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-dummytest_CFLAGS)) +test-library-dummytest_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-dummytest_CXXFLAGS)) +endif +endif +test-library-dummytest_AFLAGS := $(AFLAGS) +ifneq (,) + test-library-dummytest_DFLAGS := +else + test-library-dummytest_DFLAGS := $(test-library-dummytest_CFLAGS) +endif +ifneq (,) + test-library-dummytest_DXXFLAGS := +else + test-library-dummytest_DXXFLAGS := $(test-library-dummytest_CXXFLAGS) +endif +ifeq (target,target) +test-library-dummytest_LDFLAGS := $(test-library-dummytest_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-dummytest_LDFLAGS := $(test-library-dummytest_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-dummytest_LDFLAGS := $(test-library-dummytest_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-library-dummytest_LDFLAGS += -L +endif + +#MM +test-library-dummytest-quick : test-library-dummytest + +#MM test-library-dummytest : includes-generate-deps core-linklibs +test-library-dummytest : $(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) + +ifneq ($(filter $(TARGET),test-library-dummytest test-library-dummytest-quick test-library-dummytest-gz-quick),) + +test-library-dummytest_CXXABSBASENAMES := $(foreach test-library-dummytest_CXXBASE,$(test-library-dummytest_CXX_NARCHFILES),$(if $(filter /%,$(test-library-dummytest_CXXBASE)),$(test-library-dummytest_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-dummytest_CXXBASE)))) + +ifneq ($(test-library-dummytest_CXXABSBASENAMES),) + +test-library-dummytest_CXXBASENAMES := $(basename $(test-library-dummytest_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-dummytest_MCXX_FILES := $(strip $(foreach test-library-dummytest_CXXBASE,$(test-library-dummytest_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-dummytest_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-dummytest_EXT),$(test-library-dummytest_CXXBASE))))))) + +ifeq (,) +test-library-dummytest_MCXX_SRCWILDCARD := % +else +test-library-dummytest_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummytest_OBJDIR),) + test-library-dummytest_CXXTARGETS := $(notdir $(test-library-dummytest_CXXBASENAMES:=.o)) + test-library-dummytest_CXXDTARGETS := $(notdir $(test-library-dummytest_CXXBASENAMES:=.d)) + test-library-dummytest_MCXX_WILDCARD := % +else + test-library-dummytest_CXXTARGETS := $(addprefix $(test-library-dummytest_OBJDIR)/,$(notdir $(test-library-dummytest_CXXBASENAMES:=.o))) + test-library-dummytest_CXXDTARGETS := $(addprefix $(test-library-dummytest_OBJDIR)/,$(notdir $(test-library-dummytest_CXXBASENAMES:=.d))) + test-library-dummytest_MCXX_WILDCARD := $(test-library-dummytest_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-dummytest_CXXTARGETS) $(test-library-dummytest_CXXDTARGETS) : | $(test-library-dummytest_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-dummytest_MCXX_CPPFLAGS := $(test-library-dummytest_CPPFLAGS) +test-library-dummytest_CXXFLAGS := $(test-library-dummytest_CXXFLAGS) +ifeq ($(test-library-dummytest_DXXFLAGS),) + test-library-dummytest_DXXFLAGS := $(test-library-dummytest_CXXFLAGS) +else + test-library-dummytest_DXXFLAGS := $(test-library-dummytest_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-dummytest_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-dummytest_STRIP ?= $(HOST_STRIP) + test-library-dummytest_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-dummytest_CXXCMD:=$(HOST_CXX) + test-library-dummytest_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-dummytest_MCXX_CPPFLAGS) $(test-library-dummytest_MCXX_EXTRA_CPPFLAGS)) + test-library-dummytest_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-dummytest_CXXFLAGS)) + test-library-dummytest_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-dummytest_DXXFLAGS)) + test-library-dummytest_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-dummytest_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-dummytest_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-dummytest_STRIP ?= $(TARGET_STRIP) + test-library-dummytest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-dummytest_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-dummytest_MCXX_CPPFLAGS := $(strip $(test-library-dummytest_MCXX_CPPFLAGS) $(test-library-dummytest_MCXX_EXTRA_CPPFLAGS)) + test-library-dummytest_CXXFLAGS := $(strip $(test-library-dummytest_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-dummytest_DXXFLAGS := $(test-library-dummytest_DXXFLAGS) + test-library-dummytest_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-dummytest_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-dummytest_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-dummytest_STRIP ?= $(ECHO) >/dev/null + test-library-dummytest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-dummytest_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-dummytest_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-dummytest_MCXX_CPPFLAGS) $(test-library-dummytest_MCXX_EXTRA_CPPFLAGS)) + test-library-dummytest_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-dummytest_CXXFLAGS)) + test-library-dummytest_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-dummytest_DXXFLAGS)) + test-library-dummytest_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-dummytest_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-dummytest_CXXCMD) $(test-library-dummytest_CXXIQUOTE) $(dir $(2)) $(test-library-dummytest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_CXXIQUOTE) . $(test-library-dummytest_CXXIQUOTE_END) $(strip $(test-library-dummytest_CXXFLAGS) $(test-library-dummytest_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-dummytest_CXXCMD) $(test-library-dummytest_CXXIQUOTE) $(dir $(2)) $(test-library-dummytest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_CXXIQUOTE) . $(test-library-dummytest_CXXIQUOTE_END) $(strip $(test-library-dummytest_CXXFLAGS) $(test-library-dummytest_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-dummytest_CXXCMD) $(test-library-dummytest_CXXIQUOTE) $(dir $(2)) $(test-library-dummytest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_CXXIQUOTE) . $(test-library-dummytest_CXXIQUOTE_END) $(strip $(test-library-dummytest_CXXFLAGS) $(test-library-dummytest_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-dummytest_CXXCMD)" $(MKDEPEND) $(strip $(test-library-dummytest_DXXFLAGS) $(test-library-dummytest_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-dummytest_OBJDIR),) + $(foreach test-library-dummytest_CXXFILE,$(test-library-dummytest_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-dummytest_CXXFILE))),$(test-library-dummytest_CXXFILE)))) +else + $(foreach test-library-dummytest_CXXFILE,$(test-library-dummytest_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-dummytest_OBJDIR)/,$(notdir $(basename $(test-library-dummytest_CXXFILE)))),$(test-library-dummytest_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-dummytest_OBJC_NARCHFILES),) + +ifeq (,) +test-library-dummytest_MOBJC_SRCWILDCARD := % +else +test-library-dummytest_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummytest_OBJDIR),) + test-library-dummytest_MOBJC_TARGETS := $(addsuffix .o,$(test-library-dummytest_OBJC_NARCHFILES)) + test-library-dummytest_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-dummytest_OBJC_NARCHFILES)) + test-library-dummytest_MOBJC_WILDCARD := % +else + test-library-dummytest_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_OBJDIR)/,$(test-library-dummytest_OBJC_NARCHFILES))) + test-library-dummytest_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummytest_OBJDIR)/,$(test-library-dummytest_OBJC_NARCHFILES))) + test-library-dummytest_MOBJC_WILDCARD := $(test-library-dummytest_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-dummytest_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-dummytest_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-dummytest_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummytest_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-dummytest_MOBJC_DIRS := $(foreach dir, $(test-library-dummytest_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummytest_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-dummytest_MOBJC_DIRS),) + test-library-dummytest_MOBJC_DIRS := $(shell echo $(test-library-dummytest_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-dummytest_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-dummytest_CC := $(TARGET_CC) +else + test-library-dummytest_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-dummytest_MOBJC_CPPFLAGS := $(test-library-dummytest_CPPFLAGS) +test-library-dummytest_OBJCFLAGS := $(test-library-dummytest_CFLAGS) +test-library-dummytest_OBJCFLAGS := $(test-library-dummytest_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-dummytest_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-dummytest_OBJCFLAGS))) +ifeq ($(test-library-dummytest_DFLAGS),) + test-library-dummytest_OBJCDFLAGS := $(test-library-dummytest_CFLAGS) +else + test-library-dummytest_OBJCDFLAGS := $(test-library-dummytest_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-dummytest_LINK ?= $(strip $(test-library-dummytest_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-dummytest_STRIP ?= $(TARGET_STRIP) + test-library-dummytest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-dummytest_CC) $(TARGET_SYSROOT)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_MOBJC_CPPFLAGS:=$(strip $(test-library-dummytest_MOBJC_CPPFLAGS) $(test-library-dummytest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_OBJCFLAGS:=$(strip $(test-library-dummytest_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_OBJCDFLAGS:=$(test-library-dummytest_OBJCDFLAGS) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-dummytest_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-dummytest_STRIP ?= $(HOST_STRIP) + test-library-dummytest_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-dummytest_MOBJC_CPPFLAGS) $(test-library-dummytest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummytest_OBJCFLAGS)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummytest_OBJCDFLAGS)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_IQUOTE:=$(HOST_IQUOTE) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-dummytest_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-dummytest_STRIP ?= $(ECHO) >/dev/null + test-library-dummytest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-dummytest_MOBJC_CPPFLAGS) $(test-library-dummytest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummytest_OBJCFLAGS)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummytest_OBJCDFLAGS)) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-dummytest_MOBJC_TARGETS) $(test-library-dummytest_MOBJC_DTARGETS) : test-library-dummytest_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummytest_MOBJC_TARGETS) : CPPFLAGS := $(test-library-dummytest_MOBJC_CPPFLAGS) +$(test-library-dummytest_MOBJC_TARGETS) : CFLAGS := $(test-library-dummytest_OBJCFLAGS) +$(test-library-dummytest_MOBJC_TARGETS) : $(test-library-dummytest_MOBJC_WILDCARD).o : $(test-library-dummytest_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummytest_IQUOTE) $(dir $<) $(test-library-dummytest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_IQUOTE) . $(test-library-dummytest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummytest_IQUOTE) $(dir $<) $(test-library-dummytest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_IQUOTE) . $(test-library-dummytest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummytest_IQUOTE) $(dir $<) $(test-library-dummytest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_IQUOTE) . $(test-library-dummytest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummytest_MOBJC_DTARGETS) : $(test-library-dummytest_MOBJC_WILDCARD).d : $(test-library-dummytest_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummytest_OBJCDFLAGS) $(test-library-dummytest_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-dummytest_MC_SRCWILDCARD := % +else +test-library-dummytest_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummytest_OBJDIR),) +test-library-dummytest_MC_TARGETS := $(addsuffix .o,$(test-library-dummytest_C_NARCHFILES)) +test-library-dummytest_MC_DTARGETS := $(addsuffix .d,$(test-library-dummytest_C_NARCHFILES)) +test-library-dummytest_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-dummytest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_OBJDIR)/,$(notdir $(test-library-dummytest_C_NARCHFILES)))) + test-library-dummytest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummytest_OBJDIR)/,$(notdir $(test-library-dummytest_C_NARCHFILES)))) +else +ifeq (,) + test-library-dummytest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_OBJDIR)/,$(test-library-dummytest_C_NARCHFILES))) + test-library-dummytest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummytest_OBJDIR)/,$(test-library-dummytest_C_NARCHFILES))) +else + test-library-dummytest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_OBJDIR)/,$(patsubst /%,%,$(test-library-dummytest_C_NARCHFILES)))) + test-library-dummytest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummytest_OBJDIR)/,$(patsubst /%,%,$(test-library-dummytest_C_NARCHFILES)))) +endif +endif +test-library-dummytest_MC_TGTWILDCARD := $(test-library-dummytest_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : | $(addsuffix .c,$(test-library-dummytest_C_NARCHFILES)) + +# Be sure that all .c files are found +test-library-dummytest_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummytest_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummytest_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummytest_MC_DIRS := $(foreach dir, $(test-library-dummytest_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummytest_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummytest_MC_DIRS),) + test-library-dummytest_MC_DIRS := $(shell echo $(test-library-dummytest_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-dummytest_MC_DIRS) +endif + +endif + +test-library-dummytest_MC_CPPFLAGS := $(test-library-dummytest_CPPFLAGS) +test-library-dummytest_CFLAGS := $(test-library-dummytest_CFLAGS) +ifeq ($(test-library-dummytest_DFLAGS),) + test-library-dummytest_DFLAGS := $(test-library-dummytest_CFLAGS) +else + test-library-dummytest_DFLAGS := $(test-library-dummytest_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-dummytest_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-dummytest_STRIP ?= $(TARGET_STRIP) +test-library-dummytest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_MC_CPPFLAGS:=$(strip $(test-library-dummytest_MC_CPPFLAGS) $(test-library-dummytest_MC_EXTRA_CPPFLAGS)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_CFLAGS:=$(strip $(test-library-dummytest_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_DFLAGS:=$(test-library-dummytest_DFLAGS) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-dummytest_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-dummytest_STRIP ?= $(HOST_STRIP) +test-library-dummytest_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-dummytest_MC_CPPFLAGS) $(test-library-dummytest_MC_EXTRA_CPPFLAGS)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummytest_CFLAGS)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummytest_DFLAGS)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_IQUOTE:=$(HOST_IQUOTE) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-dummytest_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-dummytest_STRIP ?= $(ECHO) >/dev/null +test-library-dummytest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-dummytest_MC_CPPFLAGS) $(test-library-dummytest_MC_EXTRA_CPPFLAGS)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummytest_CFLAGS)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummytest_DFLAGS)) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-dummytest_MC_TARGETS) $(test-library-dummytest_MC_DTARGETS) : test-library-dummytest_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummytest_MC_TARGETS) : CPPFLAGS := $(test-library-dummytest_MC_CPPFLAGS) +$(test-library-dummytest_MC_TARGETS) : CFLAGS := $(test-library-dummytest_CFLAGS) +$(test-library-dummytest_MC_TARGETS) : $(test-library-dummytest_MC_TGTWILDCARD).o : $(test-library-dummytest_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummytest_IQUOTE) $(dir $<) $(test-library-dummytest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_IQUOTE) . $(test-library-dummytest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummytest_IQUOTE) $(dir $<) $(test-library-dummytest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_IQUOTE) . $(test-library-dummytest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummytest_IQUOTE) $(dir $<) $(test-library-dummytest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_IQUOTE) . $(test-library-dummytest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummytest_MC_DTARGETS) : $(test-library-dummytest_MC_TGTWILDCARD).d : $(test-library-dummytest_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummytest_DFLAGS) $(test-library-dummytest_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-dummytest_OBJDIR),) +test-library-dummytest-MA_TARGETS := $(addsuffix .o,$(test-library-dummytest_ASMFILES)) +test-library-dummytest-MA_WILDCARD := % +else +test-library-dummytest-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_OBJDIR)/,$(notdir $(test-library-dummytest_ASMFILES)))) +test-library-dummytest-MA_WILDCARD := $(test-library-dummytest_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-library-dummytest-MA_TARGETS) : | $(addsuffix .s,$(test-library-dummytest_ASMFILES)) + +# Be sure that all .c files are found +test-library-dummytest-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummytest-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummytest_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummytest-MA_DIRS := $(foreach dir, $(test-library-dummytest-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummytest-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummytest-MA_DIRS),) + test-library-dummytest-MA_DIRS := $(shell echo $(test-library-dummytest-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-library-dummytest-MA_DIRS) +endif + +endif + +test-library-dummytest-MA_ASSEMBLER ?= $(test-library-dummytest_ASSEMBLER) + +$(test-library-dummytest-MA_TARGETS) : test-library-dummytest-MA_CMD:= $(test-library-dummytest-MA_ASSEMBLER) + +$(test-library-dummytest-MA_TARGETS) : CPPFLAGS := $(test-library-dummytest_CPPFLAGS) +$(test-library-dummytest-MA_TARGETS) : AFLAGS := $(test-library-dummytest_AFLAGS) +$(test-library-dummytest-MA_TARGETS) : $(test-library-dummytest-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-dummytest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-dummytest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-dummytest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-library-dummytest-link_EXTRA_LDFLAGS := +test-library-dummytest-link_EXTRA_LIBS := +ifeq (no,yes) + test-library-dummytest-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-library-dummytest-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-library-dummytest-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-library-dummytest-link_DIRS := $(subst -L ,-L,$(strip $(test-library-dummytest_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-library-dummytest-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-library-dummytest-link_DIRS))) +# Add trailing / +test-library-dummytest-link_DIRS := $(subst //,/,$(addsuffix /,$(test-library-dummytest-link_DIRS))) +# Add normal linklib path +test-library-dummytest-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-library-dummytest-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-dummytest_LIBS) $(test-library-dummytest-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-library-dummytest-link_LIBS += startup.o +endif +ifeq (no,yes) + test-library-dummytest-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-library-dummytest-link_DEPLIBS := $(foreach lib,$(test-library-dummytest-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-library-dummytest-link_DIRS)))) \ +) + +$(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) : OBJDIR := $(test-library-dummytest_OBJDIR) +$(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) : OBJS := $(test-library-dummytest_OBJS) $(test-library-dummytest_ARCHOBJS) $(USER_OBJS) +$(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) : LDFLAGS := $(strip $(test-library-dummytest_LDFLAGS) $(test-library-dummytest-link_EXTRA_LDFLAGS)) +$(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) : LIBS := $(addprefix -l,$(test-library-dummytest_LIBS) $(test-library-dummytest-link_EXTRA_LIBS) ) +$(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) : $(test-library-dummytest_OBJS) $(test-library-dummytest_ARCHOBJS) $(USER_OBJS) $(test-library-dummytest-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-library-dummytest_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-library-dummytest_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-library-dummytest_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-dummytest_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-library-dummytest_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-library-dummytest_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-dummytest_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-library-dummytest_DEPS),) + ifneq (test-library-dummytest test-library-dummytest-quick,) + ifneq ($(findstring $(TARGET),test-library-dummytest test-library-dummytest-quick),) + -include $(test-library-dummytest_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-dummytest_DEPS) + endif + endif +endif + + +ifneq ($(test-library-dummytest_OBJS) $(test-library-dummytest_DEPS) $(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME),) +$(test-library-dummytest_OBJS) $(test-library-dummytest_DEPS) $(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) : | $(test-library-dummytest_OBJDIR) $(test-library-dummytest_TARGETDIR) +else +$(test-library-dummytest_OBJS) $(test-library-dummytest_DEPS) $(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) :: $(test-library-dummytest_OBJDIR) $(test-library-dummytest_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-library-dummytest_OBJDIR) $(test-library-dummytest_TARGETDIR) + + +test-library-dummytest-clean : FILES := $(test-library-dummytest_OBJS) $(test-library-dummytest_TARGETDIR)/$(test-library-dummytest_PROGNAME) $(test-library-dummytest_DEPS) +#MM +test-library-dummytest-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-library-dummytest" + $(Q)$(RM) $(FILES) + + +.PHONY : test-library-dummytest_auto + +test-library-dummytest_auto_PROGNAME := dummytest_auto +test-library-dummytest_auto_OBJDIR := $(GENDIR)/$(CURDIR) +test-library-dummytest_auto_TARGETDIR := $(TARGETDIR) +test-library-dummytest_auto_LINKER := +test-library-dummytest_auto_LIBS := dummy +# If not supplied, linker is equal to compiler +ifeq ($(test-library-dummytest_auto_LINKER),) + test-library-dummytest_auto_LINKER := target +endif + +ifneq ("$(strip dummytest_auto )","") + test-library-dummytest_auto_FILES := dummytest_auto + test-library-dummytest_auto_OBJCFILES := + test-library-dummytest_auto_ASMFILES := + test-library-dummytest_auto_CXXFILES := +else + test-library-dummytest_auto_FILES := $(test-library-dummytest_auto_PROGNAME) + test-library-dummytest_auto_OBJCFILES := + test-library-dummytest_auto_ASMFILES := + test-library-dummytest_auto_CXXFILES := +endif + +test-library-dummytest_auto_ARCHOBJS := $(wildcard $(test-library-dummytest_auto_OBJDIR)/arch/*.o) +test-library-dummytest_auto_ARCHFILES := $(basename $(notdir $(test-library-dummytest_auto_ARCHOBJS))) +test-library-dummytest_auto_C_NARCHFILES := $(filter-out $(test-library-dummytest_auto_ARCHFILES),$(test-library-dummytest_auto_FILES)) +test-library-dummytest_auto_CXX_NARCHFILES := $(filter-out $(test-library-dummytest_auto_ARCHFILES),$(test-library-dummytest_auto_CXXFILES)) +test-library-dummytest_auto_OBJC_NARCHFILES := $(filter-out $(test-library-dummytest_auto_ARCHFILES),$(test-library-dummytest_auto_OBJCFILES)) + +TMP_FILES := $(test-library-dummytest_auto_C_NARCHFILES) $(test-library-dummytest_auto_CXX_NARCHFILES) $(test-library-dummytest_auto_ASMFILES) $(test-library-dummytest_auto_OBJC_NARCHFILES) +test-library-dummytest_auto_OBJS := $(addsuffix .o,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-library-dummytest_auto_DEPS := $(addsuffix .d,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-library-dummytest_auto_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-library-dummytest_auto_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-library-dummytest_auto_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-library-dummytest_auto_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-library-dummytest_auto_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-library-dummytest_auto_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-dummytest_auto_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-library-dummytest_auto_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-library-dummytest_auto_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-library-dummytest_auto_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-dummytest_auto_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-library-dummytest_auto_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-library-dummytest_auto_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-library-dummytest_auto_LDFLAGS := +endif + +test-library-dummytest_auto_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-library-dummytest_auto_COVERAGE := yes +test-library-dummytest_auto_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-library-dummytest_auto_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-library-dummytest_auto_CFLAGS := $(strip $(test-library-dummytest_auto_COVERAGEFLAGS) $(test-library-dummytest_auto_CFLAGS)) +test-library-dummytest_auto_CXXFLAGS := $(strip $(test-library-dummytest_auto_COVERAGEFLAGS) $(test-library-dummytest_auto_CXXFLAGS)) +test-library-dummytest_auto_LIBS += $(test-library-dummytest_auto_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-dummytest_auto_FUNCINSTR := yes +test-library-dummytest_auto_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-library-dummytest_auto_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-dummytest_auto_CFLAGS := $(strip $(test-library-dummytest_auto_INSTRFUNCFLAGS) $(test-library-dummytest_auto_CFLAGS)) +test-library-dummytest_auto_CXXFLAGS := $(strip $(test-library-dummytest_auto_INSTRFUNCFLAGS) $(test-library-dummytest_auto_CXXFLAGS)) +test-library-dummytest_auto_LIBS += $(test-library-dummytest_auto_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-library-dummytest_auto_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-dummytest_auto_CFLAGS)) +test-library-dummytest_auto_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-dummytest_auto_CXXFLAGS)) +endif +endif +test-library-dummytest_auto_AFLAGS := $(AFLAGS) +ifneq (,) + test-library-dummytest_auto_DFLAGS := +else + test-library-dummytest_auto_DFLAGS := $(test-library-dummytest_auto_CFLAGS) +endif +ifneq (,) + test-library-dummytest_auto_DXXFLAGS := +else + test-library-dummytest_auto_DXXFLAGS := $(test-library-dummytest_auto_CXXFLAGS) +endif +ifeq (target,target) +test-library-dummytest_auto_LDFLAGS := $(test-library-dummytest_auto_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-dummytest_auto_LDFLAGS := $(test-library-dummytest_auto_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-dummytest_auto_LDFLAGS := $(test-library-dummytest_auto_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-library-dummytest_auto_LDFLAGS += -L +endif + +#MM +test-library-dummytest_auto-quick : test-library-dummytest_auto + +#MM test-library-dummytest_auto : includes-generate-deps core-linklibs +test-library-dummytest_auto : $(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) + +ifneq ($(filter $(TARGET),test-library-dummytest_auto test-library-dummytest_auto-quick test-library-dummytest_auto-gz-quick),) + +test-library-dummytest_auto_CXXABSBASENAMES := $(foreach test-library-dummytest_auto_CXXBASE,$(test-library-dummytest_auto_CXX_NARCHFILES),$(if $(filter /%,$(test-library-dummytest_auto_CXXBASE)),$(test-library-dummytest_auto_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-dummytest_auto_CXXBASE)))) + +ifneq ($(test-library-dummytest_auto_CXXABSBASENAMES),) + +test-library-dummytest_auto_CXXBASENAMES := $(basename $(test-library-dummytest_auto_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-dummytest_auto_MCXX_FILES := $(strip $(foreach test-library-dummytest_auto_CXXBASE,$(test-library-dummytest_auto_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-dummytest_auto_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-dummytest_auto_EXT),$(test-library-dummytest_auto_CXXBASE))))))) + +ifeq (,) +test-library-dummytest_auto_MCXX_SRCWILDCARD := % +else +test-library-dummytest_auto_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummytest_auto_OBJDIR),) + test-library-dummytest_auto_CXXTARGETS := $(notdir $(test-library-dummytest_auto_CXXBASENAMES:=.o)) + test-library-dummytest_auto_CXXDTARGETS := $(notdir $(test-library-dummytest_auto_CXXBASENAMES:=.d)) + test-library-dummytest_auto_MCXX_WILDCARD := % +else + test-library-dummytest_auto_CXXTARGETS := $(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(notdir $(test-library-dummytest_auto_CXXBASENAMES:=.o))) + test-library-dummytest_auto_CXXDTARGETS := $(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(notdir $(test-library-dummytest_auto_CXXBASENAMES:=.d))) + test-library-dummytest_auto_MCXX_WILDCARD := $(test-library-dummytest_auto_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-dummytest_auto_CXXTARGETS) $(test-library-dummytest_auto_CXXDTARGETS) : | $(test-library-dummytest_auto_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-dummytest_auto_MCXX_CPPFLAGS := $(test-library-dummytest_auto_CPPFLAGS) +test-library-dummytest_auto_CXXFLAGS := $(test-library-dummytest_auto_CXXFLAGS) +ifeq ($(test-library-dummytest_auto_DXXFLAGS),) + test-library-dummytest_auto_DXXFLAGS := $(test-library-dummytest_auto_CXXFLAGS) +else + test-library-dummytest_auto_DXXFLAGS := $(test-library-dummytest_auto_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-dummytest_auto_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-dummytest_auto_STRIP ?= $(HOST_STRIP) + test-library-dummytest_auto_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-dummytest_auto_CXXCMD:=$(HOST_CXX) + test-library-dummytest_auto_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-dummytest_auto_MCXX_CPPFLAGS) $(test-library-dummytest_auto_MCXX_EXTRA_CPPFLAGS)) + test-library-dummytest_auto_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-dummytest_auto_CXXFLAGS)) + test-library-dummytest_auto_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-dummytest_auto_DXXFLAGS)) + test-library-dummytest_auto_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-dummytest_auto_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-dummytest_auto_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-dummytest_auto_STRIP ?= $(TARGET_STRIP) + test-library-dummytest_auto_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-dummytest_auto_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-dummytest_auto_MCXX_CPPFLAGS := $(strip $(test-library-dummytest_auto_MCXX_CPPFLAGS) $(test-library-dummytest_auto_MCXX_EXTRA_CPPFLAGS)) + test-library-dummytest_auto_CXXFLAGS := $(strip $(test-library-dummytest_auto_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-dummytest_auto_DXXFLAGS := $(test-library-dummytest_auto_DXXFLAGS) + test-library-dummytest_auto_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-dummytest_auto_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-dummytest_auto_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-dummytest_auto_STRIP ?= $(ECHO) >/dev/null + test-library-dummytest_auto_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-dummytest_auto_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-dummytest_auto_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-dummytest_auto_MCXX_CPPFLAGS) $(test-library-dummytest_auto_MCXX_EXTRA_CPPFLAGS)) + test-library-dummytest_auto_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-dummytest_auto_CXXFLAGS)) + test-library-dummytest_auto_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-dummytest_auto_DXXFLAGS)) + test-library-dummytest_auto_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-dummytest_auto_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-dummytest_auto_CXXCMD) $(test-library-dummytest_auto_CXXIQUOTE) $(dir $(2)) $(test-library-dummytest_auto_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_CXXIQUOTE) . $(test-library-dummytest_auto_CXXIQUOTE_END) $(strip $(test-library-dummytest_auto_CXXFLAGS) $(test-library-dummytest_auto_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-dummytest_auto_CXXCMD) $(test-library-dummytest_auto_CXXIQUOTE) $(dir $(2)) $(test-library-dummytest_auto_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_CXXIQUOTE) . $(test-library-dummytest_auto_CXXIQUOTE_END) $(strip $(test-library-dummytest_auto_CXXFLAGS) $(test-library-dummytest_auto_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-dummytest_auto_CXXCMD) $(test-library-dummytest_auto_CXXIQUOTE) $(dir $(2)) $(test-library-dummytest_auto_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_CXXIQUOTE) . $(test-library-dummytest_auto_CXXIQUOTE_END) $(strip $(test-library-dummytest_auto_CXXFLAGS) $(test-library-dummytest_auto_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-dummytest_auto_CXXCMD)" $(MKDEPEND) $(strip $(test-library-dummytest_auto_DXXFLAGS) $(test-library-dummytest_auto_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-dummytest_auto_OBJDIR),) + $(foreach test-library-dummytest_auto_CXXFILE,$(test-library-dummytest_auto_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-dummytest_auto_CXXFILE))),$(test-library-dummytest_auto_CXXFILE)))) +else + $(foreach test-library-dummytest_auto_CXXFILE,$(test-library-dummytest_auto_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(notdir $(basename $(test-library-dummytest_auto_CXXFILE)))),$(test-library-dummytest_auto_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-dummytest_auto_OBJC_NARCHFILES),) + +ifeq (,) +test-library-dummytest_auto_MOBJC_SRCWILDCARD := % +else +test-library-dummytest_auto_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummytest_auto_OBJDIR),) + test-library-dummytest_auto_MOBJC_TARGETS := $(addsuffix .o,$(test-library-dummytest_auto_OBJC_NARCHFILES)) + test-library-dummytest_auto_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-dummytest_auto_OBJC_NARCHFILES)) + test-library-dummytest_auto_MOBJC_WILDCARD := % +else + test-library-dummytest_auto_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(test-library-dummytest_auto_OBJC_NARCHFILES))) + test-library-dummytest_auto_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(test-library-dummytest_auto_OBJC_NARCHFILES))) + test-library-dummytest_auto_MOBJC_WILDCARD := $(test-library-dummytest_auto_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-dummytest_auto_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-dummytest_auto_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-dummytest_auto_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummytest_auto_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-dummytest_auto_MOBJC_DIRS := $(foreach dir, $(test-library-dummytest_auto_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummytest_auto_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-dummytest_auto_MOBJC_DIRS),) + test-library-dummytest_auto_MOBJC_DIRS := $(shell echo $(test-library-dummytest_auto_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-dummytest_auto_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-dummytest_auto_CC := $(TARGET_CC) +else + test-library-dummytest_auto_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-dummytest_auto_MOBJC_CPPFLAGS := $(test-library-dummytest_auto_CPPFLAGS) +test-library-dummytest_auto_OBJCFLAGS := $(test-library-dummytest_auto_CFLAGS) +test-library-dummytest_auto_OBJCFLAGS := $(test-library-dummytest_auto_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-dummytest_auto_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-dummytest_auto_OBJCFLAGS))) +ifeq ($(test-library-dummytest_auto_DFLAGS),) + test-library-dummytest_auto_OBJCDFLAGS := $(test-library-dummytest_auto_CFLAGS) +else + test-library-dummytest_auto_OBJCDFLAGS := $(test-library-dummytest_auto_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-dummytest_auto_LINK ?= $(strip $(test-library-dummytest_auto_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-dummytest_auto_STRIP ?= $(TARGET_STRIP) + test-library-dummytest_auto_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-dummytest_auto_CC) $(TARGET_SYSROOT)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_MOBJC_CPPFLAGS:=$(strip $(test-library-dummytest_auto_MOBJC_CPPFLAGS) $(test-library-dummytest_auto_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_OBJCFLAGS:=$(strip $(test-library-dummytest_auto_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_OBJCDFLAGS:=$(test-library-dummytest_auto_OBJCDFLAGS) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-dummytest_auto_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-dummytest_auto_STRIP ?= $(HOST_STRIP) + test-library-dummytest_auto_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-dummytest_auto_MOBJC_CPPFLAGS) $(test-library-dummytest_auto_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummytest_auto_OBJCFLAGS)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummytest_auto_OBJCDFLAGS)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_IQUOTE:=$(HOST_IQUOTE) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-dummytest_auto_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-dummytest_auto_STRIP ?= $(ECHO) >/dev/null + test-library-dummytest_auto_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-dummytest_auto_MOBJC_CPPFLAGS) $(test-library-dummytest_auto_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummytest_auto_OBJCFLAGS)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummytest_auto_OBJCDFLAGS)) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-dummytest_auto_MOBJC_TARGETS) $(test-library-dummytest_auto_MOBJC_DTARGETS) : test-library-dummytest_auto_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummytest_auto_MOBJC_TARGETS) : CPPFLAGS := $(test-library-dummytest_auto_MOBJC_CPPFLAGS) +$(test-library-dummytest_auto_MOBJC_TARGETS) : CFLAGS := $(test-library-dummytest_auto_OBJCFLAGS) +$(test-library-dummytest_auto_MOBJC_TARGETS) : $(test-library-dummytest_auto_MOBJC_WILDCARD).o : $(test-library-dummytest_auto_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummytest_auto_IQUOTE) $(dir $<) $(test-library-dummytest_auto_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_IQUOTE) . $(test-library-dummytest_auto_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummytest_auto_IQUOTE) $(dir $<) $(test-library-dummytest_auto_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_IQUOTE) . $(test-library-dummytest_auto_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummytest_auto_IQUOTE) $(dir $<) $(test-library-dummytest_auto_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_IQUOTE) . $(test-library-dummytest_auto_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummytest_auto_MOBJC_DTARGETS) : $(test-library-dummytest_auto_MOBJC_WILDCARD).d : $(test-library-dummytest_auto_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummytest_auto_OBJCDFLAGS) $(test-library-dummytest_auto_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-dummytest_auto_MC_SRCWILDCARD := % +else +test-library-dummytest_auto_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummytest_auto_OBJDIR),) +test-library-dummytest_auto_MC_TARGETS := $(addsuffix .o,$(test-library-dummytest_auto_C_NARCHFILES)) +test-library-dummytest_auto_MC_DTARGETS := $(addsuffix .d,$(test-library-dummytest_auto_C_NARCHFILES)) +test-library-dummytest_auto_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-dummytest_auto_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(notdir $(test-library-dummytest_auto_C_NARCHFILES)))) + test-library-dummytest_auto_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(notdir $(test-library-dummytest_auto_C_NARCHFILES)))) +else +ifeq (,) + test-library-dummytest_auto_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(test-library-dummytest_auto_C_NARCHFILES))) + test-library-dummytest_auto_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(test-library-dummytest_auto_C_NARCHFILES))) +else + test-library-dummytest_auto_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(patsubst /%,%,$(test-library-dummytest_auto_C_NARCHFILES)))) + test-library-dummytest_auto_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(patsubst /%,%,$(test-library-dummytest_auto_C_NARCHFILES)))) +endif +endif +test-library-dummytest_auto_MC_TGTWILDCARD := $(test-library-dummytest_auto_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : | $(addsuffix .c,$(test-library-dummytest_auto_C_NARCHFILES)) + +# Be sure that all .c files are found +test-library-dummytest_auto_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummytest_auto_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummytest_auto_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummytest_auto_MC_DIRS := $(foreach dir, $(test-library-dummytest_auto_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummytest_auto_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummytest_auto_MC_DIRS),) + test-library-dummytest_auto_MC_DIRS := $(shell echo $(test-library-dummytest_auto_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-dummytest_auto_MC_DIRS) +endif + +endif + +test-library-dummytest_auto_MC_CPPFLAGS := $(test-library-dummytest_auto_CPPFLAGS) +test-library-dummytest_auto_CFLAGS := $(test-library-dummytest_auto_CFLAGS) +ifeq ($(test-library-dummytest_auto_DFLAGS),) + test-library-dummytest_auto_DFLAGS := $(test-library-dummytest_auto_CFLAGS) +else + test-library-dummytest_auto_DFLAGS := $(test-library-dummytest_auto_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-dummytest_auto_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-dummytest_auto_STRIP ?= $(TARGET_STRIP) +test-library-dummytest_auto_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_MC_CPPFLAGS:=$(strip $(test-library-dummytest_auto_MC_CPPFLAGS) $(test-library-dummytest_auto_MC_EXTRA_CPPFLAGS)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_CFLAGS:=$(strip $(test-library-dummytest_auto_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_DFLAGS:=$(test-library-dummytest_auto_DFLAGS) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-dummytest_auto_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-dummytest_auto_STRIP ?= $(HOST_STRIP) +test-library-dummytest_auto_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-dummytest_auto_MC_CPPFLAGS) $(test-library-dummytest_auto_MC_EXTRA_CPPFLAGS)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummytest_auto_CFLAGS)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummytest_auto_DFLAGS)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_IQUOTE:=$(HOST_IQUOTE) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-dummytest_auto_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-dummytest_auto_STRIP ?= $(ECHO) >/dev/null +test-library-dummytest_auto_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-dummytest_auto_MC_CPPFLAGS) $(test-library-dummytest_auto_MC_EXTRA_CPPFLAGS)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummytest_auto_CFLAGS)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummytest_auto_DFLAGS)) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-dummytest_auto_MC_TARGETS) $(test-library-dummytest_auto_MC_DTARGETS) : test-library-dummytest_auto_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummytest_auto_MC_TARGETS) : CPPFLAGS := $(test-library-dummytest_auto_MC_CPPFLAGS) +$(test-library-dummytest_auto_MC_TARGETS) : CFLAGS := $(test-library-dummytest_auto_CFLAGS) +$(test-library-dummytest_auto_MC_TARGETS) : $(test-library-dummytest_auto_MC_TGTWILDCARD).o : $(test-library-dummytest_auto_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummytest_auto_IQUOTE) $(dir $<) $(test-library-dummytest_auto_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_IQUOTE) . $(test-library-dummytest_auto_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummytest_auto_IQUOTE) $(dir $<) $(test-library-dummytest_auto_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_IQUOTE) . $(test-library-dummytest_auto_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummytest_auto_IQUOTE) $(dir $<) $(test-library-dummytest_auto_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummytest_auto_IQUOTE) . $(test-library-dummytest_auto_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummytest_auto_MC_DTARGETS) : $(test-library-dummytest_auto_MC_TGTWILDCARD).d : $(test-library-dummytest_auto_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummytest_auto_DFLAGS) $(test-library-dummytest_auto_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-dummytest_auto_OBJDIR),) +test-library-dummytest_auto-MA_TARGETS := $(addsuffix .o,$(test-library-dummytest_auto_ASMFILES)) +test-library-dummytest_auto-MA_WILDCARD := % +else +test-library-dummytest_auto-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummytest_auto_OBJDIR)/,$(notdir $(test-library-dummytest_auto_ASMFILES)))) +test-library-dummytest_auto-MA_WILDCARD := $(test-library-dummytest_auto_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-library-dummytest_auto-MA_TARGETS) : | $(addsuffix .s,$(test-library-dummytest_auto_ASMFILES)) + +# Be sure that all .c files are found +test-library-dummytest_auto-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummytest_auto-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummytest_auto_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummytest_auto-MA_DIRS := $(foreach dir, $(test-library-dummytest_auto-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummytest_auto-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummytest_auto-MA_DIRS),) + test-library-dummytest_auto-MA_DIRS := $(shell echo $(test-library-dummytest_auto-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-library-dummytest_auto-MA_DIRS) +endif + +endif + +test-library-dummytest_auto-MA_ASSEMBLER ?= $(test-library-dummytest_auto_ASSEMBLER) + +$(test-library-dummytest_auto-MA_TARGETS) : test-library-dummytest_auto-MA_CMD:= $(test-library-dummytest_auto-MA_ASSEMBLER) + +$(test-library-dummytest_auto-MA_TARGETS) : CPPFLAGS := $(test-library-dummytest_auto_CPPFLAGS) +$(test-library-dummytest_auto-MA_TARGETS) : AFLAGS := $(test-library-dummytest_auto_AFLAGS) +$(test-library-dummytest_auto-MA_TARGETS) : $(test-library-dummytest_auto-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-dummytest_auto-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-dummytest_auto-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-dummytest_auto-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-library-dummytest_auto-link_EXTRA_LDFLAGS := +test-library-dummytest_auto-link_EXTRA_LIBS := +ifeq (no,yes) + test-library-dummytest_auto-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-library-dummytest_auto-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-library-dummytest_auto-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-library-dummytest_auto-link_DIRS := $(subst -L ,-L,$(strip $(test-library-dummytest_auto_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-library-dummytest_auto-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-library-dummytest_auto-link_DIRS))) +# Add trailing / +test-library-dummytest_auto-link_DIRS := $(subst //,/,$(addsuffix /,$(test-library-dummytest_auto-link_DIRS))) +# Add normal linklib path +test-library-dummytest_auto-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-library-dummytest_auto-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-dummytest_auto_LIBS) $(test-library-dummytest_auto-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-library-dummytest_auto-link_LIBS += startup.o +endif +ifeq (no,yes) + test-library-dummytest_auto-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-library-dummytest_auto-link_DEPLIBS := $(foreach lib,$(test-library-dummytest_auto-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-library-dummytest_auto-link_DIRS)))) \ +) + +$(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) : OBJDIR := $(test-library-dummytest_auto_OBJDIR) +$(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) : OBJS := $(test-library-dummytest_auto_OBJS) $(test-library-dummytest_auto_ARCHOBJS) $(USER_OBJS) +$(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) : LDFLAGS := $(strip $(test-library-dummytest_auto_LDFLAGS) $(test-library-dummytest_auto-link_EXTRA_LDFLAGS)) +$(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) : LIBS := $(addprefix -l,$(test-library-dummytest_auto_LIBS) $(test-library-dummytest_auto-link_EXTRA_LIBS) ) +$(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) : $(test-library-dummytest_auto_OBJS) $(test-library-dummytest_auto_ARCHOBJS) $(USER_OBJS) $(test-library-dummytest_auto-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-library-dummytest_auto_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-library-dummytest_auto_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-library-dummytest_auto_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-dummytest_auto_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-library-dummytest_auto_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-library-dummytest_auto_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-dummytest_auto_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-library-dummytest_auto_DEPS),) + ifneq (test-library-dummytest_auto test-library-dummytest_auto-quick,) + ifneq ($(findstring $(TARGET),test-library-dummytest_auto test-library-dummytest_auto-quick),) + -include $(test-library-dummytest_auto_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-dummytest_auto_DEPS) + endif + endif +endif + + +ifneq ($(test-library-dummytest_auto_OBJS) $(test-library-dummytest_auto_DEPS) $(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME),) +$(test-library-dummytest_auto_OBJS) $(test-library-dummytest_auto_DEPS) $(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) : | $(test-library-dummytest_auto_OBJDIR) $(test-library-dummytest_auto_TARGETDIR) +else +$(test-library-dummytest_auto_OBJS) $(test-library-dummytest_auto_DEPS) $(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) :: $(test-library-dummytest_auto_OBJDIR) $(test-library-dummytest_auto_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-library-dummytest_auto_OBJDIR) $(test-library-dummytest_auto_TARGETDIR) + + +test-library-dummytest_auto-clean : FILES := $(test-library-dummytest_auto_OBJS) $(test-library-dummytest_auto_TARGETDIR)/$(test-library-dummytest_auto_PROGNAME) $(test-library-dummytest_auto_DEPS) +#MM +test-library-dummytest_auto-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-library-dummytest_auto" + $(Q)$(RM) $(FILES) + + + +.PHONY : test-library-usereltest + +test-library-usereltest_PROGNAME := usereltest +test-library-usereltest_OBJDIR := $(GENDIR)/$(CURDIR) +test-library-usereltest_TARGETDIR := $(TARGETDIR) +test-library-usereltest_LINKER := +test-library-usereltest_LIBS := userel pertask +# If not supplied, linker is equal to compiler +ifeq ($(test-library-usereltest_LINKER),) + test-library-usereltest_LINKER := target +endif + +ifneq ("$(strip )","") + test-library-usereltest_FILES := + test-library-usereltest_OBJCFILES := + test-library-usereltest_ASMFILES := + test-library-usereltest_CXXFILES := +else + test-library-usereltest_FILES := $(test-library-usereltest_PROGNAME) + test-library-usereltest_OBJCFILES := + test-library-usereltest_ASMFILES := + test-library-usereltest_CXXFILES := +endif + +test-library-usereltest_ARCHOBJS := $(wildcard $(test-library-usereltest_OBJDIR)/arch/*.o) +test-library-usereltest_ARCHFILES := $(basename $(notdir $(test-library-usereltest_ARCHOBJS))) +test-library-usereltest_C_NARCHFILES := $(filter-out $(test-library-usereltest_ARCHFILES),$(test-library-usereltest_FILES)) +test-library-usereltest_CXX_NARCHFILES := $(filter-out $(test-library-usereltest_ARCHFILES),$(test-library-usereltest_CXXFILES)) +test-library-usereltest_OBJC_NARCHFILES := $(filter-out $(test-library-usereltest_ARCHFILES),$(test-library-usereltest_OBJCFILES)) + +TMP_FILES := $(test-library-usereltest_C_NARCHFILES) $(test-library-usereltest_CXX_NARCHFILES) $(test-library-usereltest_ASMFILES) $(test-library-usereltest_OBJC_NARCHFILES) +test-library-usereltest_OBJS := $(addsuffix .o,$(addprefix $(test-library-usereltest_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-library-usereltest_DEPS := $(addsuffix .d,$(addprefix $(test-library-usereltest_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-library-usereltest_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-library-usereltest_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-library-usereltest_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-library-usereltest_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-library-usereltest_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-library-usereltest_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-usereltest_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-library-usereltest_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-library-usereltest_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-library-usereltest_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-usereltest_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-library-usereltest_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-library-usereltest_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-library-usereltest_LDFLAGS := +endif + +test-library-usereltest_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-library-usereltest_COVERAGE := yes +test-library-usereltest_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-library-usereltest_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-library-usereltest_CFLAGS := $(strip $(test-library-usereltest_COVERAGEFLAGS) $(test-library-usereltest_CFLAGS)) +test-library-usereltest_CXXFLAGS := $(strip $(test-library-usereltest_COVERAGEFLAGS) $(test-library-usereltest_CXXFLAGS)) +test-library-usereltest_LIBS += $(test-library-usereltest_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-usereltest_FUNCINSTR := yes +test-library-usereltest_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-library-usereltest_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-usereltest_CFLAGS := $(strip $(test-library-usereltest_INSTRFUNCFLAGS) $(test-library-usereltest_CFLAGS)) +test-library-usereltest_CXXFLAGS := $(strip $(test-library-usereltest_INSTRFUNCFLAGS) $(test-library-usereltest_CXXFLAGS)) +test-library-usereltest_LIBS += $(test-library-usereltest_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-library-usereltest_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-usereltest_CFLAGS)) +test-library-usereltest_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-usereltest_CXXFLAGS)) +endif +endif +test-library-usereltest_AFLAGS := $(AFLAGS) +ifneq (,) + test-library-usereltest_DFLAGS := +else + test-library-usereltest_DFLAGS := $(test-library-usereltest_CFLAGS) +endif +ifneq (,) + test-library-usereltest_DXXFLAGS := +else + test-library-usereltest_DXXFLAGS := $(test-library-usereltest_CXXFLAGS) +endif +ifeq (target,target) +test-library-usereltest_LDFLAGS := $(test-library-usereltest_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-usereltest_LDFLAGS := $(test-library-usereltest_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-usereltest_LDFLAGS := $(test-library-usereltest_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-library-usereltest_LDFLAGS += -L +endif + +#MM +test-library-usereltest-quick : test-library-usereltest + +#MM test-library-usereltest : includes-generate-deps core-linklibs +test-library-usereltest : $(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) + +ifneq ($(filter $(TARGET),test-library-usereltest test-library-usereltest-quick test-library-usereltest-gz-quick),) + +test-library-usereltest_CXXABSBASENAMES := $(foreach test-library-usereltest_CXXBASE,$(test-library-usereltest_CXX_NARCHFILES),$(if $(filter /%,$(test-library-usereltest_CXXBASE)),$(test-library-usereltest_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-usereltest_CXXBASE)))) + +ifneq ($(test-library-usereltest_CXXABSBASENAMES),) + +test-library-usereltest_CXXBASENAMES := $(basename $(test-library-usereltest_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-usereltest_MCXX_FILES := $(strip $(foreach test-library-usereltest_CXXBASE,$(test-library-usereltest_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-usereltest_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-usereltest_EXT),$(test-library-usereltest_CXXBASE))))))) + +ifeq (,) +test-library-usereltest_MCXX_SRCWILDCARD := % +else +test-library-usereltest_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-usereltest_OBJDIR),) + test-library-usereltest_CXXTARGETS := $(notdir $(test-library-usereltest_CXXBASENAMES:=.o)) + test-library-usereltest_CXXDTARGETS := $(notdir $(test-library-usereltest_CXXBASENAMES:=.d)) + test-library-usereltest_MCXX_WILDCARD := % +else + test-library-usereltest_CXXTARGETS := $(addprefix $(test-library-usereltest_OBJDIR)/,$(notdir $(test-library-usereltest_CXXBASENAMES:=.o))) + test-library-usereltest_CXXDTARGETS := $(addprefix $(test-library-usereltest_OBJDIR)/,$(notdir $(test-library-usereltest_CXXBASENAMES:=.d))) + test-library-usereltest_MCXX_WILDCARD := $(test-library-usereltest_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-usereltest_CXXTARGETS) $(test-library-usereltest_CXXDTARGETS) : | $(test-library-usereltest_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-usereltest_MCXX_CPPFLAGS := $(test-library-usereltest_CPPFLAGS) +test-library-usereltest_CXXFLAGS := $(test-library-usereltest_CXXFLAGS) +ifeq ($(test-library-usereltest_DXXFLAGS),) + test-library-usereltest_DXXFLAGS := $(test-library-usereltest_CXXFLAGS) +else + test-library-usereltest_DXXFLAGS := $(test-library-usereltest_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-usereltest_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-usereltest_STRIP ?= $(HOST_STRIP) + test-library-usereltest_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-usereltest_CXXCMD:=$(HOST_CXX) + test-library-usereltest_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-usereltest_MCXX_CPPFLAGS) $(test-library-usereltest_MCXX_EXTRA_CPPFLAGS)) + test-library-usereltest_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-usereltest_CXXFLAGS)) + test-library-usereltest_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-usereltest_DXXFLAGS)) + test-library-usereltest_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-usereltest_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-usereltest_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-usereltest_STRIP ?= $(TARGET_STRIP) + test-library-usereltest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-usereltest_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-usereltest_MCXX_CPPFLAGS := $(strip $(test-library-usereltest_MCXX_CPPFLAGS) $(test-library-usereltest_MCXX_EXTRA_CPPFLAGS)) + test-library-usereltest_CXXFLAGS := $(strip $(test-library-usereltest_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-usereltest_DXXFLAGS := $(test-library-usereltest_DXXFLAGS) + test-library-usereltest_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-usereltest_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-usereltest_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-usereltest_STRIP ?= $(ECHO) >/dev/null + test-library-usereltest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-usereltest_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-usereltest_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-usereltest_MCXX_CPPFLAGS) $(test-library-usereltest_MCXX_EXTRA_CPPFLAGS)) + test-library-usereltest_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-usereltest_CXXFLAGS)) + test-library-usereltest_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-usereltest_DXXFLAGS)) + test-library-usereltest_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-usereltest_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-usereltest_CXXCMD) $(test-library-usereltest_CXXIQUOTE) $(dir $(2)) $(test-library-usereltest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_CXXIQUOTE) . $(test-library-usereltest_CXXIQUOTE_END) $(strip $(test-library-usereltest_CXXFLAGS) $(test-library-usereltest_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-usereltest_CXXCMD) $(test-library-usereltest_CXXIQUOTE) $(dir $(2)) $(test-library-usereltest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_CXXIQUOTE) . $(test-library-usereltest_CXXIQUOTE_END) $(strip $(test-library-usereltest_CXXFLAGS) $(test-library-usereltest_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-usereltest_CXXCMD) $(test-library-usereltest_CXXIQUOTE) $(dir $(2)) $(test-library-usereltest_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_CXXIQUOTE) . $(test-library-usereltest_CXXIQUOTE_END) $(strip $(test-library-usereltest_CXXFLAGS) $(test-library-usereltest_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-usereltest_CXXCMD)" $(MKDEPEND) $(strip $(test-library-usereltest_DXXFLAGS) $(test-library-usereltest_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-usereltest_OBJDIR),) + $(foreach test-library-usereltest_CXXFILE,$(test-library-usereltest_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-usereltest_CXXFILE))),$(test-library-usereltest_CXXFILE)))) +else + $(foreach test-library-usereltest_CXXFILE,$(test-library-usereltest_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-usereltest_OBJDIR)/,$(notdir $(basename $(test-library-usereltest_CXXFILE)))),$(test-library-usereltest_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-usereltest_OBJC_NARCHFILES),) + +ifeq (,) +test-library-usereltest_MOBJC_SRCWILDCARD := % +else +test-library-usereltest_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-usereltest_OBJDIR),) + test-library-usereltest_MOBJC_TARGETS := $(addsuffix .o,$(test-library-usereltest_OBJC_NARCHFILES)) + test-library-usereltest_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-usereltest_OBJC_NARCHFILES)) + test-library-usereltest_MOBJC_WILDCARD := % +else + test-library-usereltest_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-usereltest_OBJDIR)/,$(test-library-usereltest_OBJC_NARCHFILES))) + test-library-usereltest_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-usereltest_OBJDIR)/,$(test-library-usereltest_OBJC_NARCHFILES))) + test-library-usereltest_MOBJC_WILDCARD := $(test-library-usereltest_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-usereltest_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-usereltest_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-usereltest_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-usereltest_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-usereltest_MOBJC_DIRS := $(foreach dir, $(test-library-usereltest_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-usereltest_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-usereltest_MOBJC_DIRS),) + test-library-usereltest_MOBJC_DIRS := $(shell echo $(test-library-usereltest_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-usereltest_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-usereltest_CC := $(TARGET_CC) +else + test-library-usereltest_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-usereltest_MOBJC_CPPFLAGS := $(test-library-usereltest_CPPFLAGS) +test-library-usereltest_OBJCFLAGS := $(test-library-usereltest_CFLAGS) +test-library-usereltest_OBJCFLAGS := $(test-library-usereltest_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-usereltest_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-usereltest_OBJCFLAGS))) +ifeq ($(test-library-usereltest_DFLAGS),) + test-library-usereltest_OBJCDFLAGS := $(test-library-usereltest_CFLAGS) +else + test-library-usereltest_OBJCDFLAGS := $(test-library-usereltest_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-usereltest_LINK ?= $(strip $(test-library-usereltest_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-usereltest_STRIP ?= $(TARGET_STRIP) + test-library-usereltest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-usereltest_CC) $(TARGET_SYSROOT)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_MOBJC_CPPFLAGS:=$(strip $(test-library-usereltest_MOBJC_CPPFLAGS) $(test-library-usereltest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_OBJCFLAGS:=$(strip $(test-library-usereltest_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_OBJCDFLAGS:=$(test-library-usereltest_OBJCDFLAGS) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-usereltest_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-usereltest_STRIP ?= $(HOST_STRIP) + test-library-usereltest_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-usereltest_MOBJC_CPPFLAGS) $(test-library-usereltest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-usereltest_OBJCFLAGS)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-usereltest_OBJCDFLAGS)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_IQUOTE:=$(HOST_IQUOTE) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-usereltest_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-usereltest_STRIP ?= $(ECHO) >/dev/null + test-library-usereltest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-usereltest_MOBJC_CPPFLAGS) $(test-library-usereltest_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-usereltest_OBJCFLAGS)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-usereltest_OBJCDFLAGS)) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-usereltest_MOBJC_TARGETS) $(test-library-usereltest_MOBJC_DTARGETS) : test-library-usereltest_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-usereltest_MOBJC_TARGETS) : CPPFLAGS := $(test-library-usereltest_MOBJC_CPPFLAGS) +$(test-library-usereltest_MOBJC_TARGETS) : CFLAGS := $(test-library-usereltest_OBJCFLAGS) +$(test-library-usereltest_MOBJC_TARGETS) : $(test-library-usereltest_MOBJC_WILDCARD).o : $(test-library-usereltest_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-usereltest_IQUOTE) $(dir $<) $(test-library-usereltest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_IQUOTE) . $(test-library-usereltest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-usereltest_IQUOTE) $(dir $<) $(test-library-usereltest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_IQUOTE) . $(test-library-usereltest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-usereltest_IQUOTE) $(dir $<) $(test-library-usereltest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_IQUOTE) . $(test-library-usereltest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-usereltest_MOBJC_DTARGETS) : $(test-library-usereltest_MOBJC_WILDCARD).d : $(test-library-usereltest_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-usereltest_OBJCDFLAGS) $(test-library-usereltest_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-usereltest_MC_SRCWILDCARD := % +else +test-library-usereltest_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-usereltest_OBJDIR),) +test-library-usereltest_MC_TARGETS := $(addsuffix .o,$(test-library-usereltest_C_NARCHFILES)) +test-library-usereltest_MC_DTARGETS := $(addsuffix .d,$(test-library-usereltest_C_NARCHFILES)) +test-library-usereltest_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-usereltest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-usereltest_OBJDIR)/,$(notdir $(test-library-usereltest_C_NARCHFILES)))) + test-library-usereltest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-usereltest_OBJDIR)/,$(notdir $(test-library-usereltest_C_NARCHFILES)))) +else +ifeq (,) + test-library-usereltest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-usereltest_OBJDIR)/,$(test-library-usereltest_C_NARCHFILES))) + test-library-usereltest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-usereltest_OBJDIR)/,$(test-library-usereltest_C_NARCHFILES))) +else + test-library-usereltest_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-usereltest_OBJDIR)/,$(patsubst /%,%,$(test-library-usereltest_C_NARCHFILES)))) + test-library-usereltest_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-usereltest_OBJDIR)/,$(patsubst /%,%,$(test-library-usereltest_C_NARCHFILES)))) +endif +endif +test-library-usereltest_MC_TGTWILDCARD := $(test-library-usereltest_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : | $(addsuffix .c,$(test-library-usereltest_C_NARCHFILES)) + +# Be sure that all .c files are found +test-library-usereltest_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-usereltest_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-usereltest_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-usereltest_MC_DIRS := $(foreach dir, $(test-library-usereltest_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-usereltest_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-usereltest_MC_DIRS),) + test-library-usereltest_MC_DIRS := $(shell echo $(test-library-usereltest_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-usereltest_MC_DIRS) +endif + +endif + +test-library-usereltest_MC_CPPFLAGS := $(test-library-usereltest_CPPFLAGS) +test-library-usereltest_CFLAGS := $(test-library-usereltest_CFLAGS) +ifeq ($(test-library-usereltest_DFLAGS),) + test-library-usereltest_DFLAGS := $(test-library-usereltest_CFLAGS) +else + test-library-usereltest_DFLAGS := $(test-library-usereltest_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-usereltest_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-usereltest_STRIP ?= $(TARGET_STRIP) +test-library-usereltest_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_MC_CPPFLAGS:=$(strip $(test-library-usereltest_MC_CPPFLAGS) $(test-library-usereltest_MC_EXTRA_CPPFLAGS)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_CFLAGS:=$(strip $(test-library-usereltest_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_DFLAGS:=$(test-library-usereltest_DFLAGS) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-usereltest_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-usereltest_STRIP ?= $(HOST_STRIP) +test-library-usereltest_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-usereltest_MC_CPPFLAGS) $(test-library-usereltest_MC_EXTRA_CPPFLAGS)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-usereltest_CFLAGS)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-usereltest_DFLAGS)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_IQUOTE:=$(HOST_IQUOTE) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-usereltest_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-usereltest_STRIP ?= $(ECHO) >/dev/null +test-library-usereltest_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-usereltest_MC_CPPFLAGS) $(test-library-usereltest_MC_EXTRA_CPPFLAGS)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-usereltest_CFLAGS)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-usereltest_DFLAGS)) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-usereltest_MC_TARGETS) $(test-library-usereltest_MC_DTARGETS) : test-library-usereltest_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-usereltest_MC_TARGETS) : CPPFLAGS := $(test-library-usereltest_MC_CPPFLAGS) +$(test-library-usereltest_MC_TARGETS) : CFLAGS := $(test-library-usereltest_CFLAGS) +$(test-library-usereltest_MC_TARGETS) : $(test-library-usereltest_MC_TGTWILDCARD).o : $(test-library-usereltest_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-usereltest_IQUOTE) $(dir $<) $(test-library-usereltest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_IQUOTE) . $(test-library-usereltest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-usereltest_IQUOTE) $(dir $<) $(test-library-usereltest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_IQUOTE) . $(test-library-usereltest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-usereltest_IQUOTE) $(dir $<) $(test-library-usereltest_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-usereltest_IQUOTE) . $(test-library-usereltest_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-usereltest_MC_DTARGETS) : $(test-library-usereltest_MC_TGTWILDCARD).d : $(test-library-usereltest_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-usereltest_DFLAGS) $(test-library-usereltest_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-usereltest_OBJDIR),) +test-library-usereltest-MA_TARGETS := $(addsuffix .o,$(test-library-usereltest_ASMFILES)) +test-library-usereltest-MA_WILDCARD := % +else +test-library-usereltest-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-usereltest_OBJDIR)/,$(notdir $(test-library-usereltest_ASMFILES)))) +test-library-usereltest-MA_WILDCARD := $(test-library-usereltest_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-library-usereltest-MA_TARGETS) : | $(addsuffix .s,$(test-library-usereltest_ASMFILES)) + +# Be sure that all .c files are found +test-library-usereltest-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-usereltest-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-usereltest_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-usereltest-MA_DIRS := $(foreach dir, $(test-library-usereltest-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-usereltest-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-usereltest-MA_DIRS),) + test-library-usereltest-MA_DIRS := $(shell echo $(test-library-usereltest-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-library-usereltest-MA_DIRS) +endif + +endif + +test-library-usereltest-MA_ASSEMBLER ?= $(test-library-usereltest_ASSEMBLER) + +$(test-library-usereltest-MA_TARGETS) : test-library-usereltest-MA_CMD:= $(test-library-usereltest-MA_ASSEMBLER) + +$(test-library-usereltest-MA_TARGETS) : CPPFLAGS := $(test-library-usereltest_CPPFLAGS) +$(test-library-usereltest-MA_TARGETS) : AFLAGS := $(test-library-usereltest_AFLAGS) +$(test-library-usereltest-MA_TARGETS) : $(test-library-usereltest-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-usereltest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-usereltest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-usereltest-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-library-usereltest-link_EXTRA_LDFLAGS := +test-library-usereltest-link_EXTRA_LIBS := +ifeq (no,yes) + test-library-usereltest-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-library-usereltest-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-library-usereltest-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-library-usereltest-link_DIRS := $(subst -L ,-L,$(strip $(test-library-usereltest_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-library-usereltest-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-library-usereltest-link_DIRS))) +# Add trailing / +test-library-usereltest-link_DIRS := $(subst //,/,$(addsuffix /,$(test-library-usereltest-link_DIRS))) +# Add normal linklib path +test-library-usereltest-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-library-usereltest-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-usereltest_LIBS) $(test-library-usereltest-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-library-usereltest-link_LIBS += startup.o +endif +ifeq (no,yes) + test-library-usereltest-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-library-usereltest-link_DEPLIBS := $(foreach lib,$(test-library-usereltest-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-library-usereltest-link_DIRS)))) \ +) + +$(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) : OBJDIR := $(test-library-usereltest_OBJDIR) +$(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) : OBJS := $(test-library-usereltest_OBJS) $(test-library-usereltest_ARCHOBJS) $(USER_OBJS) +$(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) : LDFLAGS := $(strip $(test-library-usereltest_LDFLAGS) $(test-library-usereltest-link_EXTRA_LDFLAGS)) +$(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) : LIBS := $(addprefix -l,$(test-library-usereltest_LIBS) $(test-library-usereltest-link_EXTRA_LIBS) ) +$(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) : $(test-library-usereltest_OBJS) $(test-library-usereltest_ARCHOBJS) $(USER_OBJS) $(test-library-usereltest-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-library-usereltest_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-library-usereltest_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-library-usereltest_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-usereltest_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-library-usereltest_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-library-usereltest_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-usereltest_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-library-usereltest_DEPS),) + ifneq (test-library-usereltest test-library-usereltest-quick,) + ifneq ($(findstring $(TARGET),test-library-usereltest test-library-usereltest-quick),) + -include $(test-library-usereltest_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-usereltest_DEPS) + endif + endif +endif + + +ifneq ($(test-library-usereltest_OBJS) $(test-library-usereltest_DEPS) $(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME),) +$(test-library-usereltest_OBJS) $(test-library-usereltest_DEPS) $(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) : | $(test-library-usereltest_OBJDIR) $(test-library-usereltest_TARGETDIR) +else +$(test-library-usereltest_OBJS) $(test-library-usereltest_DEPS) $(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) :: $(test-library-usereltest_OBJDIR) $(test-library-usereltest_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-library-usereltest_OBJDIR) $(test-library-usereltest_TARGETDIR) + + +test-library-usereltest-clean : FILES := $(test-library-usereltest_OBJS) $(test-library-usereltest_TARGETDIR)/$(test-library-usereltest_PROGNAME) $(test-library-usereltest_DEPS) +#MM +test-library-usereltest-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-library-usereltest" + $(Q)$(RM) $(FILES) + + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM test-library-dummylib +#MM test-library-dummylib-quick +#MM test-library-dummylib-makefile +#MM test-library-dummylib-clean + +# ABI targets: +#MM- includes-all : test-library-dummylib-includes +#MM- linklibs-dummy: test-library-dummylib-linklib +#MM- linklibs-dummy_rel : test-library-dummylib-linklib +#MM- includes-dummy: test-library-dummylib-includes +#MM- includes-dummy_rel : test-library-dummylib-includes +#MM- test-library-dummylib : test-library-dummylib-includes core-linklibs linklibs- +#MM test-library-dummylib-linklib : test-library-dummylib-includes includes- +#MM- test-library-dummylib-quick : test-library-dummylib-includes-quick +#MM test-library-dummylib-includes : test-library-dummylib-makefile test-library-dummylib-includes-dirs \ +#MM includes-generate-deps test-library-dummylib-fd +#MM test-library-dummylib-includes-quick +#MM test-library-dummylib-includes-dirs +#MM test-library-dummylib-fd + +# Library targets +#MM test-library-dummylib-kobj : core-linklibs linklibs- +#MM test-library-dummylib-kobj-quick : + +# Library with ABI targets: +#MM test-library-dummylib-kobj : test-library-dummylib-includes core-linklibs linklibs- +#MM test-library-dummylib-kobj-quick : test-library-dummylib-includes-quick + +# All MetaMake targets defined by this macro +test-library-dummylib_ALLTARGETS := test-library-dummylib test-library-dummylib-quick test-library-dummylib-clean + +ifeq (M,M) +test-library-dummylib_ALLTARGETS += test-library-dummylib-kobj test-library-dummylib-kobj-quick +endif + +ifeq (M,M) +test-library-dummylib_ALLTARGETS += test-library-dummylib-includes \ + test-library-dummylib-includes-quick test-library-dummylib-includes-dirs \ + test-library-dummylib-linklib test-library-dummylib-fd +endif + +.PHONY : $(test-library-dummylib_ALLTARGETS) test-library-dummylib-makefile + +ifeq (dummy,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + test-library-dummylib_DEFNAME := dummy_ +else + test-library-dummylib_DEFNAME := dummy +endif +test-library-dummylib_DEFLINKLIBNAME := $(test-library-dummylib_DEFNAME) +ifneq (,) + test-library-dummylib_LINKLIBNAME := +else + test-library-dummylib_LINKLIBNAME = $(test-library-dummylib_DEFLINKLIBNAME) +endif +test-library-dummylib_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-library-dummylib_DEFCPPFLAGS += -I +endif +test-library-dummylib_DEFDFLAGS := $(CFLAGS) +ifneq (,) + test-library-dummylib_DFLAGS := +else + test-library-dummylib_DFLAGS = $(test-library-dummylib_DEFDFLAGS) +endif +test-library-dummylib_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + test-library-dummylib_DXXFLAGS := +else + test-library-dummylib_DXXFLAGS = $(test-library-dummylib_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-library-dummylib_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(test-library-dummylib_DEFDFLAGS)) +test-library-dummylib_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(test-library-dummylib_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-dummylib_FUNCINSTR := yes +test-library-dummylib_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-library-dummylib_DEFDFLAGS)) +test-library-dummylib_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-library-dummylib_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +test-library-dummylib_OBJDIR := +else +test-library-dummylib_OBJDIR := $(OBJDIR)/$(test-library-dummylib_DEFNAME) +endif +ifneq (,) +test-library-dummylib_OBJDIR := $(test-library-dummylib_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +test-library-dummylib-makefile := $(test-library-dummylib_OBJDIR)/Makefile.$(test-library-dummylib_DEFNAME)library +test-library-dummylib-genmakefile : $(test-library-dummylib-makefile) + + +test-library-dummylib-genmakefile_OPTS := +ifneq (,) + test-library-dummylib-genmakefile_OPTS += -f + test-library-dummylib-genmakefile_MODNAME := dummy_ +else + test-library-dummylib-genmakefile_MODNAME := dummy +endif +test-library-dummylib-genmakefile_TARGET := Makefile.$(test-library-dummylib-genmakefile_MODNAME)library +test-library-dummylib-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-dummylib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-dummylib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-dummylib-genmakefile_OPTS += -c + test-library-dummylib-genmakefile_DEPS += + endif +else + test-library-dummylib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/dummy.conf + test-library-dummylib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/dummy.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-dummylib-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-dummylib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-dummylib-genmakefile_OPTS += -o + test-library-dummylib-genmakefile_DEPS += + endif +endif +ifneq (,) + test-library-dummylib-genmakefile_OPTS += -s +endif +ifneq ($(test-library-dummylib_OBJDIR),) + test-library-dummylib-genmakefile_OPTS += -d $(test-library-dummylib_OBJDIR) + test-library-dummylib-genmakefile_TARGET := $(test-library-dummylib_OBJDIR)/$(test-library-dummylib-genmakefile_TARGET) +endif + +$(test-library-dummylib-genmakefile_TARGET) : OPTS := $(test-library-dummylib-genmakefile_OPTS) +$(test-library-dummylib-genmakefile_TARGET) : MODNAME := dummy +$(test-library-dummylib-genmakefile_TARGET) : MODTYPE := library +$(test-library-dummylib-genmakefile_TARGET) : $(test-library-dummylib-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(test-library-dummylib-makefile),) +$(test-library-dummylib-makefile) : | $(test-library-dummylib_OBJDIR) +else +$(test-library-dummylib-makefile) :: $(test-library-dummylib_OBJDIR) +endif + +GLOB_MKDIRS += $(test-library-dummylib_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(test-library-dummylib_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(test-library-dummylib-makefile) + +test-library-dummylib_DEFMODDIR := $($(test-library-dummylib_DEFNAME)_MODDIR) +ifeq (no,yes) +test-library-dummylib_DEFMODDIR := $(AROS_DIR_ARCH)/$(test-library-dummylib_DEFMODDIR) +endif +ifneq (,) + test-library-dummylib_MODDIR := +else + test-library-dummylib_MODDIR := $(test-library-dummylib_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +test-library-dummylib_INCDIR := +else +test-library-dummylib_INCDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +test-library-dummylib_LIBDEFSINC := $(test-library-dummylib_OBJDIR)/include/$(test-library-dummylib_DEFNAME)_libdefs.h +test-library-dummylib_DEFLIBDEFSINC := $(test-library-dummylib_OBJDIR)/include/$(test-library-dummylib_DEFNAME)_deflibdefs.h + +ifeq (M,M) +test-library-dummylib-includes-quick : test-library-dummylib-includes +test-library-dummylib-includes : $(addprefix $(GENINCDIR)/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) \ + $(addprefix $(test-library-dummylib_INCDIR)/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) \ + $(test-library-dummylib_LIBDEFSINC) $(test-library-dummylib_DEFLIBDEFSINC) + +ifneq ($($(test-library-dummylib_DEFNAME)_INCLUDES),) + +ifneq (,) + test-library-dummylib-includes_MODNAME := dummy_ +else + test-library-dummylib-includes_MODNAME := dummy +endif + +ifneq ($($(test-library-dummylib-includes_MODNAME)_INCLUDES),) + +test-library-dummylib-includes_TARGETS := $($(test-library-dummylib-includes_MODNAME)_INCLUDES) + +test-library-dummylib-includes_DEPS := $(GENMODULE) +test-library-dummylib-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + test-library-dummylib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-dummylib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-dummylib-includes_OPTS += -c + test-library-dummylib-includes_DEPS += + endif +else + test-library-dummylib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/dummy.conf + test-library-dummylib-includes_DEPS += $(SRCDIR)/$(CURDIR)/dummy.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-dummylib-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-dummylib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-dummylib-includes_OPTS += -o + test-library-dummylib-includes_DEPS += + endif +endif +ifneq (,) + test-library-dummylib-includes_OPTS += -s +endif +ifneq ($(test-library-dummylib_OBJDIR)/include,) + test-library-dummylib-includes_OPTS += -d $(test-library-dummylib_OBJDIR)/include + test-library-dummylib-includes_TARGETS := $(addprefix $(test-library-dummylib_OBJDIR)/include/,$(test-library-dummylib-includes_TARGETS)) + test-library-dummylib-includes_GENINCFLAG=$(test-library-dummylib_OBJDIR)/include/.dummy.library-includes +else + test-library-dummylib-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.dummy.library-includes +endif + +$(test-library-dummylib-includes_TARGETS) : $(test-library-dummylib-includes_DEPS) $(test-library-dummylib-includes_GENINCFLAG) + +$(test-library-dummylib-includes_GENINCFLAG) : OPTS := $(test-library-dummylib-includes_OPTS) +$(test-library-dummylib-includes_GENINCFLAG) : MODNAME := dummy +$(test-library-dummylib-includes_GENINCFLAG) : MODTYPE := library +$(test-library-dummylib-includes_GENINCFLAG) : $(test-library-dummylib-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(test-library-dummylib_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) : | $(test-library-dummylib_OBJDIR)/dummy_geninc + +$(test-library-dummylib_OBJDIR)/dummy_geninc : COPYSRCDIR := $(test-library-dummylib_OBJDIR)/include +$(test-library-dummylib_OBJDIR)/dummy_geninc : TGTDIR := $(GENINCDIR) +$(test-library-dummylib_OBJDIR)/dummy_geninc : FILES := $($(test-library-dummylib_DEFNAME)_INCLUDES) +$(test-library-dummylib_OBJDIR)/dummy_geninc : $(addprefix $(test-library-dummylib_OBJDIR)/include/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(test-library-dummylib_OBJDIR)/include + +$(addprefix $(test-library-dummylib_INCDIR)/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) : | $(test-library-dummylib_OBJDIR)/dummy_incs + +$(test-library-dummylib_OBJDIR)/dummy_incs : COPYSRCDIR := $(test-library-dummylib_OBJDIR)/include +$(test-library-dummylib_OBJDIR)/dummy_incs : TGTDIR := $(test-library-dummylib_INCDIR) +$(test-library-dummylib_OBJDIR)/dummy_incs : FILES := $($(test-library-dummylib_DEFNAME)_INCLUDES) +$(test-library-dummylib_OBJDIR)/dummy_incs : $(addprefix $(test-library-dummylib_OBJDIR)/include/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +test-library-dummylib_INCDIRS := $(filter-out ./,$(sort $(dir $($(test-library-dummylib_DEFNAME)_INCLUDES)))) + +TMPdummy_INCDIRS := \ + $(test-library-dummylib_OBJDIR)/include $(addprefix $(test-library-dummylib_OBJDIR)/include/,$(test-library-dummylib_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(test-library-dummylib_INCDIRS)) \ + $(test-library-dummylib_INCDIR) $(addprefix $(test-library-dummylib_INCDIR)/,$(test-library-dummylib_INCDIRS)) + +ifneq (test-library-dummylib-includes-dirs,) +test-library-dummylib-includes-dirs : | $(TMPdummy_INCDIRS) +else +test-library-dummylib-includes-dirs :: $(TMPdummy_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPdummy_INCDIRS) + + +endif + +endif + + +test-library-dummylib-genlibdefs_OPTS := +ifneq (,) + test-library-dummylib-genlibdefs_OPTS += -f + test-library-dummylib-genlibdefs_MODNAME := dummy_ +else + test-library-dummylib-genlibdefs_MODNAME := dummy +endif +test-library-dummylib-genlibdefs_TARGET := $(test-library-dummylib-genlibdefs_MODNAME)_libdefs.h +test-library-dummylib-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-dummylib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-dummylib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-dummylib-genlibdefs_OPTS += -c + test-library-dummylib-genlibdefs_DEPS += + endif +else + test-library-dummylib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/dummy.conf + test-library-dummylib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/dummy.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-dummylib-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-dummylib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-dummylib-genlibdefs_OPTS += -o + test-library-dummylib-genlibdefs_DEPS += + endif +endif +ifneq (,) + test-library-dummylib-genlibdefs_OPTS += -s +endif +ifneq ($(test-library-dummylib_OBJDIR)/include,) + test-library-dummylib-genlibdefs_OPTS += -d $(test-library-dummylib_OBJDIR)/include + test-library-dummylib-genlibdefs_TARGET := $(test-library-dummylib_OBJDIR)/include/$(test-library-dummylib-genlibdefs_TARGET) +endif +ifneq (,) + test-library-dummylib-genlibdefs_OPTS += -v +endif + +$(test-library-dummylib-genlibdefs_TARGET) : OPTS := $(test-library-dummylib-genlibdefs_OPTS) +$(test-library-dummylib-genlibdefs_TARGET) : MODNAME := dummy +$(test-library-dummylib-genlibdefs_TARGET) : MODTYPE := library +$(test-library-dummylib-genlibdefs_TARGET) : $(test-library-dummylib-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(test-library-dummylib_DEFLIBDEFSINC) : FILENAME := $(test-library-dummylib_LIBDEFSINC) +$(test-library-dummylib_DEFLIBDEFSINC) : $(test-library-dummylib_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(test-library-dummylib_LIBDEFSINC) $(test-library-dummylib_DEFLIBDEFSINC) : | $(test-library-dummylib_OBJDIR)/include + +ifneq (test-library-dummylib-includes-dirs,) +test-library-dummylib-includes-dirs : | $(test-library-dummylib_OBJDIR)/include +else +test-library-dummylib-includes-dirs :: $(test-library-dummylib_OBJDIR)/include +endif + +GLOB_MKDIRS += $(test-library-dummylib_OBJDIR)/include + + +## Extra genmodule src files generation +## + +test-library-dummylib-genmodfiles_OPTS := +ifneq (,) + test-library-dummylib-genmodfiles_OPTS += -f + test-library-dummylib-genmodfiles_MODNAME := dummy_ +else + test-library-dummylib-genmodfiles_MODNAME := dummy +endif +test-library-dummylib-genmodfiles_GENTARGETS := $($(test-library-dummylib-genmodfiles_MODNAME)_STARTFILES) $($(test-library-dummylib-genmodfiles_MODNAME)_ENDFILES) +test-library-dummylib-genmodfiles_STUBTARGETS := $($(test-library-dummylib-genmodfiles_MODNAME)_LINKLIBFILES) $($(test-library-dummylib-genmodfiles_MODNAME)_RELLINKLIBFILES) +test-library-dummylib-genmodfiles_GENTARGETS := $(addsuffix .c,$(test-library-dummylib-genmodfiles_GENTARGETS)) +test-library-dummylib-genmodfiles_STUBTARGETS := $(addsuffix .c,$(test-library-dummylib-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(test-library-dummylib-genmodfiles_MODNAME)_LINKLIBAFILES) $($(test-library-dummylib-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +test-library-dummylib-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-dummylib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-dummylib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-dummylib-genmodfiles_OPTS += -c + test-library-dummylib-genmodfiles_DEPS += + endif +else + test-library-dummylib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/dummy.conf + test-library-dummylib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/dummy.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-dummylib-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-dummylib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-dummylib-genmodfiles_OPTS += -o + test-library-dummylib-genmodfiles_DEPS += + endif +endif +ifneq (,) + test-library-dummylib-genmodfiles_OPTS += -s +endif +ifneq ($(test-library-dummylib_OBJDIR),) + test-library-dummylib-genmodfiles_OPTS += -d $(test-library-dummylib_OBJDIR) + test-library-dummylib-genmodfiles_TARGETDIR := $(shell echo $(test-library-dummylib_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-dummylib-genmodfiles_GENTARGETS := $(addprefix $(test-library-dummylib-genmodfiles_TARGETDIR)/,$(test-library-dummylib-genmodfiles_GENTARGETS)) + test-library-dummylib-genmodfiles_GENFILEFLAG=$(test-library-dummylib-genmodfiles_TARGETDIR)/.dummy.library-genfiles +else + test-library-dummylib-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.dummy.library-genfiles +endif +ifneq ($(test-library-dummylib_OBJDIR)/linklib,) + test-library-dummylib-genmodfiles_OPTS += -l $(test-library-dummylib_OBJDIR)/linklib + test-library-dummylib-genmodfiles_STUBTARGETDIR := $(shell echo $(test-library-dummylib_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + test-library-dummylib-genmodfiles_STUBTARGETS := $(addprefix $(test-library-dummylib-genmodfiles_STUBTARGETDIR)/,$(test-library-dummylib-genmodfiles_STUBTARGETS)) + test-library-dummylib-genmodfiles_TARGETDIRS += $(test-library-dummylib_OBJDIR)/linklib +else +ifneq ($(test-library-dummylib_OBJDIR),) + test-library-dummylib-genmodfiles_STUBTARGETS := $(addprefix $(test-library-dummylib-genmodfiles_TARGETDIR)/,$(test-library-dummylib-genmodfiles_STUBTARGETS)) +endif +endif + +test-library-dummylib-genmodfiles_TARGETS := $(test-library-dummylib-genmodfiles_GENTARGETS) $(test-library-dummylib-genmodfiles_STUBTARGETS) +ifneq ($(test-library-dummylib-genmodfiles_TARGETDIRS),) +$(test-library-dummylib-genmodfiles_TARGETS) : | $(test-library-dummylib-genmodfiles_TARGETDIRS) +endif + +$(test-library-dummylib-genmodfiles_TARGETS) : $(test-library-dummylib-genmodfiles_DEPS) $(test-library-dummylib-genmodfiles_GENFILEFLAG) + +$(test-library-dummylib-genmodfiles_GENFILEFLAG) : OPTS := $(test-library-dummylib-genmodfiles_OPTS) +$(test-library-dummylib-genmodfiles_GENFILEFLAG) : MODNAME := dummy +$(test-library-dummylib-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(test-library-dummylib-genmodfiles_GENFILEFLAG) : $(test-library-dummylib-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(test-library-dummylib-genmodfiles_GENFILEFLAG) : $(test-library-dummylib_DEFLIBDEFSINC) $(test-library-dummylib-makefile) + + +ifneq ($(test-library-dummylib-genmodfiles_GENFILEFLAG),) +$(test-library-dummylib-genmodfiles_GENFILEFLAG) : | $(test-library-dummylib_OBJDIR)/linklib +else +$(test-library-dummylib-genmodfiles_GENFILEFLAG) :: $(test-library-dummylib_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(test-library-dummylib_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +test-library-dummylib_FDDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +test-library-dummylib_FDDIR := /../$(AROS_DIR_FD) +endif +test-library-dummylib-fd : $(test-library-dummylib_FDDIR)/dummy_lib.fd + + +TMP_TARGET := dummy_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/dummy.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/dummy.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(test-library-dummylib_FDDIR),) + TMP_OPTS += -d $(test-library-dummylib_FDDIR) + TMP_TARGET := $(test-library-dummylib_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := dummy +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(test-library-dummylib_FDDIR)/dummy_lib.fd : | $(test-library-dummylib_FDDIR) + + +ifneq (test-library-dummylib-fd-setup,) +test-library-dummylib-fd-setup : | $(test-library-dummylib_FDDIR) +else +test-library-dummylib-fd-setup :: $(test-library-dummylib_FDDIR) +endif + +GLOB_MKDIRS += $(test-library-dummylib_FDDIR) + +endif + +## Compilation +## +test-library-dummylib_FILES := dummylib +test-library-dummylib_OBJCFILES := +test-library-dummylib_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +test-library-dummylib_LIBFILES := +test-library-dummylib_LIBS := + +test-library-dummylib_FDIRS := $(sort $(dir $(test-library-dummylib_FILES))) + +test-library-dummylib_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +test-library-dummylib_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call test-library-dummylib_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +test-library-dummylib_FILTERARCH = $(filter-out $(call test-library-dummylib_MATCHARCH,$(1),$(2)),$(2)) +test-library-dummylib_STARTFILES := $(addprefix $(test-library-dummylib_OBJDIR)/,$($(test-library-dummylib_DEFNAME)_STARTFILES)) +test-library-dummylib_ENDFILES := $(addprefix $(test-library-dummylib_OBJDIR)/,$($(test-library-dummylib_DEFNAME)_ENDFILES)) + +test-library-dummylib_ARCHOBJS := $(wildcard $(test-library-dummylib_OBJDIR)/arch/*.o) +test-library-dummylib_LIBARCHOBJS := $(wildcard $(test-library-dummylib_OBJDIR)/linklib/arch/*.o) +test-library-dummylib_ARCHFILES := $(basename $(notdir $(test-library-dummylib_ARCHOBJS))) +test-library-dummylib_LIBARCHFILES := $(basename $(notdir $(test-library-dummylib_LIBARCHOBJS))) +test-library-dummylib_C_NARCHFILES := $(call test-library-dummylib_FILTERARCH,$(test-library-dummylib_ARCHFILES),$(test-library-dummylib_FILES)) +test-library-dummylib_CXX_NARCHFILES := $(call test-library-dummylib_FILTERARCH,$(test-library-dummylib_ARCHFILES),$(test-library-dummylib_CXXFILES)) +test-library-dummylib_OBJC_NARCHFILES := $(call test-library-dummylib_FILTERARCH,$(test-library-dummylib_ARCHFILES),$(test-library-dummylib_OBJCFILES)) +test-library-dummylib_NLIBARCHFILES := $(call test-library-dummylib_FILTERARCH,$(test-library-dummylib_LIBARCHFILES),$(test-library-dummylib_LIBFILES)) +test-library-dummylib_ARCHNLIBFILES := $(call test-library-dummylib_FILTERARCH,$(test-library-dummylib_LIBFILES),$(test-library-dummylib_LIBARCHFILES)) + +test-library-dummylib_CPPFLAGS := $(strip $(CPPFLAGS) -I$(test-library-dummylib_OBJDIR)/include -include $(test-library-dummylib_DEFLIBDEFSINC)) +ifneq (,) +test-library-dummylib_CPPFLAGS += -I +endif +test-library-dummylib_LINKLIBCPPFLAGS := $(test-library-dummylib_CPPFLAGS) +test-library-dummylib_CPPFLAGS += $(strip $($(test-library-dummylib_DEFNAME)_CPPFLAGS)) +test-library-dummylib_LINKLIBCPPFLAGS += $(strip $($(test-library-dummylib_DEFNAME)_LINKLIBCPPFLAGS)) +test-library-dummylib_CFLAGS := $(strip $(CFLAGS) $($(test-library-dummylib_DEFNAME)_CFLAGS)) +test-library-dummylib_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(test-library-dummylib_DEFNAME)_LINKLIBCFLAGS)) +test-library-dummylib_CXXFLAGS := $(strip $(CXXFLAGS) $($(test-library-dummylib_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-library-dummylib_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +test-library-dummylib_CFLAGS := $(strip $(test-library-dummylib_LTOFLAGS) $(test-library-dummylib_CFLAGS)) +test-library-dummylib_LINKLIBCFLAGS := $(strip $(test-library-dummylib_LTOFLAGS) $(test-library-dummylib_LINKLIBCFLAGS)) +test-library-dummylib_CXXFLAGS := $(strip $(test-library-dummylib_LTOFLAGS) $(test-library-dummylib_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-dummylib_SUBSTNULL := +test-library-dummylib_SUBSTSPACE := $(test-library-dummylib_SUBSTNULL) # +test-library-dummylib_SUBSTCOMMA := , +test-library-dummylib_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(test-library-dummylib_SUBSTSPACE),$(test-library-dummylib_SUBSTCOMMA),$(strip $($(test-library-dummylib_DEFNAME)_STARTFILES)))) +test-library-dummylib_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-dummylib_CFLAGS := $(strip $(test-library-dummylib_INSTRFUNCFLAGS) $(test-library-dummylib_CFLAGS)) +test-library-dummylib_CXXFLAGS := $(strip $(test-library-dummylib_INSTRFUNCFLAGS) $(test-library-dummylib_CXXFLAGS)) +test-library-dummylib_LIBS += $(test-library-dummylib_INSTRFUNCLIBS) +endif +endif +test-library-dummylib_DFLAGS := $(strip $(test-library-dummylib_DFLAGS) $($(test-library-dummylib_DEFNAME)_DFLAGS)) +test-library-dummylib_LINKLIBDFLAGS := $(strip $(test-library-dummylib_DFLAGS) $($(test-library-dummylib_DEFNAME)_LINKLIBDFLAGS)) +test-library-dummylib_DXXFLAGS := $(strip $(test-library-dummylib_DXXFLAGS) $($(test-library-dummylib_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + test-library-dummylib_LIBSUFFIX := +else + test-library-dummylib_LIBSUFFIX := .library +endif + +ifeq (,) +test-library-dummylib_LIBDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +test-library-dummylib_LIBDIR := +endif + +ifeq (M,M) +test-library-dummylib_LINKLIBCFILES := $(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$($(test-library-dummylib_DEFNAME)_LINKLIBFILES)) +test-library-dummylib_LINKLIBAFILES := $(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$($(test-library-dummylib_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(test-library-dummylib_DEFNAME)_LINKLIBFILES) $($(test-library-dummylib_DEFNAME)_LINKLIBAFILES) $(test-library-dummylib_ARCHNLIBFILES)),) + test-library-dummylib_LINKLIB := +else + test-library-dummylib_LINKLIB := $(test-library-dummylib_LIBDIR)/libdummy$(test-library-dummylib_LIBSUFFIX).a + ifneq (dummy,$(test-library-dummylib_LINKLIBNAME)) + test-library-dummylib_LINKLIB += $(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)$(test-library-dummylib_LIBSUFFIX).a + endif +endif +test-library-dummylib_LINKLIBFILES := $(test-library-dummylib_LINKLIBCFILES) $(test-library-dummylib_LINKLIBAFILES) + +test-library-dummylib_RELLINKLIBCFILES := $(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$($(test-library-dummylib_DEFNAME)_RELLINKLIBFILES)) +test-library-dummylib_RELLINKLIBAFILES := $(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$($(test-library-dummylib_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(test-library-dummylib_DEFNAME)_RELLINKLIBFILES) $($(test-library-dummylib_DEFNAME)_RELLINKLIBAFILES) $(test-library-dummylib_ARCHNLIBFILES)),) + test-library-dummylib_RELLINKLIB := +else + test-library-dummylib_RELLINKLIB := $(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_DEFNAME)_rel$(test-library-dummylib_LIBSUFFIX).a + ifneq (dummy,$(test-library-dummylib_LINKLIBNAME)) + test-library-dummylib_RELLINKLIB += $(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)_rel$(test-library-dummylib_LIBSUFFIX).a + endif +endif +test-library-dummylib_RELLINKLIBFILES := $(test-library-dummylib_RELLINKLIBCFILES) $(test-library-dummylib_RELLINKLIBAFILES) +endif + +test-library-dummylib_ENDOBJS := $(addsuffix .o,$(test-library-dummylib_ENDFILES)) +test-library-dummylib_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(notdir $(test-library-dummylib_NLIBARCHFILES))) $(addprefix $(test-library-dummylib_OBJDIR)/linklib/arch/,$(notdir $(test-library-dummylib_ARCHNLIBFILES))) $(test-library-dummylib_LINKLIBFILES)) \ + +test-library-dummylib_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(notdir $(test-library-dummylib_NLIBARCHFILES))) $(addprefix $(test-library-dummylib_OBJDIR)/linklib/arch/,$(notdir $(test-library-dummylib_ARCHNLIBFILES))) $(test-library-dummylib_RELLINKLIBFILES)) \ + +$(test-library-dummylib_LINKLIBFILES) $(test-library-dummylib_RELLINKLIBFILES) : | $(test-library-dummylib_OBJDIR)/linklib +$(test-library-dummylib_LINKLIBOBJS) $(test-library-dummylib_RELLINKLIBOBJS) : | $(test-library-dummylib_OBJDIR)/linklib + +test-library-dummylib_CCFILES := $(test-library-dummylib_C_NARCHFILES) +test-library-dummylib_TARGETCCFILES := $(strip $(test-library-dummylib_STARTFILES) $(test-library-dummylib_ENDFILES)) +test-library-dummylib_LINKLIBCCFILES := $(strip $(test-library-dummylib_NLIBARCHFILES) $(test-library-dummylib_LINKLIBCFILES) $(test-library-dummylib_RELLINKLIBCFILES)) +test-library-dummylib_LINKLIBCCGENFILES := $(strip $(test-library-dummylib_LINKLIBCFILES) $(test-library-dummylib_RELLINKLIBCFILES)) + + +test-library-dummylib_CXXABSBASENAMES := $(foreach test-library-dummylib_CXXBASE,$(test-library-dummylib_CXX_NARCHFILES),$(if $(filter /%,$(test-library-dummylib_CXXBASE)),$(test-library-dummylib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-dummylib_CXXBASE)))) + +ifneq ($(test-library-dummylib_CXXABSBASENAMES),) + +test-library-dummylib_CXXBASENAMES := $(basename $(test-library-dummylib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-dummylib_MCXX_FILES := $(strip $(foreach test-library-dummylib_CXXBASE,$(test-library-dummylib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-dummylib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-dummylib_EXT),$(test-library-dummylib_CXXBASE))))))) + +ifeq (,) +test-library-dummylib_MCXX_SRCWILDCARD := % +else +test-library-dummylib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummylib_OBJDIR),) + test-library-dummylib_CXXTARGETS := $(notdir $(test-library-dummylib_CXXBASENAMES:=.o)) + test-library-dummylib_CXXDTARGETS := $(notdir $(test-library-dummylib_CXXBASENAMES:=.d)) + test-library-dummylib_MCXX_WILDCARD := % +else + test-library-dummylib_CXXTARGETS := $(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(test-library-dummylib_CXXBASENAMES:=.o))) + test-library-dummylib_CXXDTARGETS := $(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(test-library-dummylib_CXXBASENAMES:=.d))) + test-library-dummylib_MCXX_WILDCARD := $(test-library-dummylib_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-dummylib_CXXTARGETS) $(test-library-dummylib_CXXDTARGETS) : | $(test-library-dummylib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-dummylib_MCXX_CPPFLAGS := $(test-library-dummylib_CPPFLAGS) +test-library-dummylib_CXXFLAGS := $(test-library-dummylib_CXXFLAGS) +ifeq ($(test-library-dummylib_DXXFLAGS),) + test-library-dummylib_DXXFLAGS := $(test-library-dummylib_CXXFLAGS) +else + test-library-dummylib_DXXFLAGS := $(test-library-dummylib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-dummylib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-dummylib_STRIP ?= $(HOST_STRIP) + test-library-dummylib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-dummylib_CXXCMD:=$(HOST_CXX) + test-library-dummylib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-dummylib_MCXX_CPPFLAGS) $(test-library-dummylib_MCXX_EXTRA_CPPFLAGS)) + test-library-dummylib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-dummylib_CXXFLAGS)) + test-library-dummylib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-dummylib_DXXFLAGS)) + test-library-dummylib_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-dummylib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-dummylib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-dummylib_STRIP ?= $(TARGET_STRIP) + test-library-dummylib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-dummylib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-dummylib_MCXX_CPPFLAGS := $(strip $(test-library-dummylib_MCXX_CPPFLAGS) $(test-library-dummylib_MCXX_EXTRA_CPPFLAGS)) + test-library-dummylib_CXXFLAGS := $(strip $(test-library-dummylib_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-dummylib_DXXFLAGS := $(test-library-dummylib_DXXFLAGS) + test-library-dummylib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-dummylib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-dummylib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-dummylib_STRIP ?= $(ECHO) >/dev/null + test-library-dummylib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-dummylib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-dummylib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-dummylib_MCXX_CPPFLAGS) $(test-library-dummylib_MCXX_EXTRA_CPPFLAGS)) + test-library-dummylib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-dummylib_CXXFLAGS)) + test-library-dummylib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-dummylib_DXXFLAGS)) + test-library-dummylib_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-dummylib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-dummylib_CXXCMD) $(test-library-dummylib_CXXIQUOTE) $(dir $(2)) $(test-library-dummylib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_CXXIQUOTE) . $(test-library-dummylib_CXXIQUOTE_END) $(strip $(test-library-dummylib_CXXFLAGS) $(test-library-dummylib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-dummylib_CXXCMD) $(test-library-dummylib_CXXIQUOTE) $(dir $(2)) $(test-library-dummylib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_CXXIQUOTE) . $(test-library-dummylib_CXXIQUOTE_END) $(strip $(test-library-dummylib_CXXFLAGS) $(test-library-dummylib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-dummylib_CXXCMD) $(test-library-dummylib_CXXIQUOTE) $(dir $(2)) $(test-library-dummylib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_CXXIQUOTE) . $(test-library-dummylib_CXXIQUOTE_END) $(strip $(test-library-dummylib_CXXFLAGS) $(test-library-dummylib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-dummylib_CXXCMD)" $(MKDEPEND) $(strip $(test-library-dummylib_DXXFLAGS) $(test-library-dummylib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-dummylib_OBJDIR),) + $(foreach test-library-dummylib_CXXFILE,$(test-library-dummylib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-dummylib_CXXFILE))),$(test-library-dummylib_CXXFILE)))) +else + $(foreach test-library-dummylib_CXXFILE,$(test-library-dummylib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(basename $(test-library-dummylib_CXXFILE)))),$(test-library-dummylib_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-dummylib_OBJC_NARCHFILES),) + +ifeq (,) +test-library-dummylib_MOBJC_SRCWILDCARD := % +else +test-library-dummylib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummylib_OBJDIR),) + test-library-dummylib_MOBJC_TARGETS := $(addsuffix .o,$(test-library-dummylib_OBJC_NARCHFILES)) + test-library-dummylib_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-dummylib_OBJC_NARCHFILES)) + test-library-dummylib_MOBJC_WILDCARD := % +else + test-library-dummylib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/,$(test-library-dummylib_OBJC_NARCHFILES))) + test-library-dummylib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/,$(test-library-dummylib_OBJC_NARCHFILES))) + test-library-dummylib_MOBJC_WILDCARD := $(test-library-dummylib_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-dummylib_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-dummylib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-dummylib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummylib_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-dummylib_MOBJC_DIRS := $(foreach dir, $(test-library-dummylib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummylib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-dummylib_MOBJC_DIRS),) + test-library-dummylib_MOBJC_DIRS := $(shell echo $(test-library-dummylib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-dummylib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-dummylib_CC := $(TARGET_CC) +else + test-library-dummylib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-dummylib_MOBJC_CPPFLAGS := $(test-library-dummylib_CPPFLAGS) +test-library-dummylib_OBJCFLAGS := $(test-library-dummylib_CFLAGS) +test-library-dummylib_OBJCFLAGS := $(test-library-dummylib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-dummylib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-dummylib_OBJCFLAGS))) +ifeq ($(test-library-dummylib_DFLAGS),) + test-library-dummylib_OBJCDFLAGS := $(test-library-dummylib_CFLAGS) +else + test-library-dummylib_OBJCDFLAGS := $(test-library-dummylib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-dummylib_LINK ?= $(strip $(test-library-dummylib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-dummylib_STRIP ?= $(TARGET_STRIP) + test-library-dummylib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-dummylib_CC) $(TARGET_SYSROOT)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_MOBJC_CPPFLAGS:=$(strip $(test-library-dummylib_MOBJC_CPPFLAGS) $(test-library-dummylib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_OBJCFLAGS:=$(strip $(test-library-dummylib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_OBJCDFLAGS:=$(test-library-dummylib_OBJCDFLAGS) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-dummylib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-dummylib_STRIP ?= $(HOST_STRIP) + test-library-dummylib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-dummylib_MOBJC_CPPFLAGS) $(test-library-dummylib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_OBJCFLAGS)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_OBJCDFLAGS)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_IQUOTE:=$(HOST_IQUOTE) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-dummylib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-dummylib_STRIP ?= $(ECHO) >/dev/null + test-library-dummylib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-dummylib_MOBJC_CPPFLAGS) $(test-library-dummylib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_OBJCFLAGS)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_OBJCDFLAGS)) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-dummylib_MOBJC_TARGETS) $(test-library-dummylib_MOBJC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummylib_MOBJC_TARGETS) : CPPFLAGS := $(test-library-dummylib_MOBJC_CPPFLAGS) +$(test-library-dummylib_MOBJC_TARGETS) : CFLAGS := $(test-library-dummylib_OBJCFLAGS) +$(test-library-dummylib_MOBJC_TARGETS) : $(test-library-dummylib_MOBJC_WILDCARD).o : $(test-library-dummylib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummylib_MOBJC_DTARGETS) : $(test-library-dummylib_MOBJC_WILDCARD).d : $(test-library-dummylib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummylib_OBJCDFLAGS) $(test-library-dummylib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-dummylib_MC_SRCWILDCARD := % +else +test-library-dummylib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummylib_OBJDIR),) +test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(test-library-dummylib_CCFILES)) +test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(test-library-dummylib_CCFILES)) +test-library-dummylib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(test-library-dummylib_CCFILES)))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(test-library-dummylib_CCFILES)))) +else +ifeq (,) + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/,$(test-library-dummylib_CCFILES))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/,$(test-library-dummylib_CCFILES))) +else + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/,$(patsubst /%,%,$(test-library-dummylib_CCFILES)))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/,$(patsubst /%,%,$(test-library-dummylib_CCFILES)))) +endif +endif +test-library-dummylib_MC_TGTWILDCARD := $(test-library-dummylib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-dummylib_CCFILES)) + +# Be sure that all .c files are found +test-library-dummylib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummylib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummylib_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummylib_MC_DIRS := $(foreach dir, $(test-library-dummylib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummylib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummylib_MC_DIRS),) + test-library-dummylib_MC_DIRS := $(shell echo $(test-library-dummylib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-dummylib_MC_DIRS) +endif + +endif + +test-library-dummylib_MC_CPPFLAGS := $(test-library-dummylib_CPPFLAGS) +test-library-dummylib_CFLAGS := $(test-library-dummylib_CFLAGS) +ifeq ($(test-library-dummylib_DFLAGS),) + test-library-dummylib_DFLAGS := $(test-library-dummylib_CFLAGS) +else + test-library-dummylib_DFLAGS := $(test-library-dummylib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-dummylib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-dummylib_STRIP ?= $(TARGET_STRIP) +test-library-dummylib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(test-library-dummylib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(test-library-dummylib_DFLAGS) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-dummylib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-dummylib_STRIP ?= $(HOST_STRIP) +test-library-dummylib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_DFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-dummylib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-dummylib_STRIP ?= $(ECHO) >/dev/null +test-library-dummylib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_DFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummylib_MC_TARGETS) : CPPFLAGS := $(test-library-dummylib_MC_CPPFLAGS) +$(test-library-dummylib_MC_TARGETS) : CFLAGS := $(test-library-dummylib_CFLAGS) +$(test-library-dummylib_MC_TARGETS) : $(test-library-dummylib_MC_TGTWILDCARD).o : $(test-library-dummylib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummylib_MC_DTARGETS) : $(test-library-dummylib_MC_TGTWILDCARD).d : $(test-library-dummylib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummylib_DFLAGS) $(test-library-dummylib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +test-library-dummylib_MC_SRCWILDCARD := % +else +test-library-dummylib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummylib_OBJDIR),) +test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(test-library-dummylib_TARGETCCFILES)) +test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(test-library-dummylib_TARGETCCFILES)) +test-library-dummylib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(test-library-dummylib_TARGETCCFILES)))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(test-library-dummylib_TARGETCCFILES)))) +else +ifeq (,) + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/,$(test-library-dummylib_TARGETCCFILES))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/,$(test-library-dummylib_TARGETCCFILES))) +else + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/,$(patsubst /%,%,$(test-library-dummylib_TARGETCCFILES)))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/,$(patsubst /%,%,$(test-library-dummylib_TARGETCCFILES)))) +endif +endif +test-library-dummylib_MC_TGTWILDCARD := $(test-library-dummylib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-dummylib_TARGETCCFILES)) + +# Be sure that all .c files are found +test-library-dummylib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummylib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummylib_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummylib_MC_DIRS := $(foreach dir, $(test-library-dummylib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummylib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummylib_MC_DIRS),) + test-library-dummylib_MC_DIRS := $(shell echo $(test-library-dummylib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-dummylib_MC_DIRS) +endif + +endif + +test-library-dummylib_MC_CPPFLAGS := $(test-library-dummylib_CPPFLAGS) -D__AROS__ +test-library-dummylib_CFLAGS := $(test-library-dummylib_CFLAGS) +ifeq ($(test-library-dummylib_DFLAGS),) + test-library-dummylib_DFLAGS := $(test-library-dummylib_CFLAGS) +else + test-library-dummylib_DFLAGS := $(test-library-dummylib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-dummylib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-dummylib_STRIP ?= $(TARGET_STRIP) +test-library-dummylib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(test-library-dummylib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(test-library-dummylib_DFLAGS) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-dummylib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-dummylib_STRIP ?= $(HOST_STRIP) +test-library-dummylib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_DFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-dummylib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-dummylib_STRIP ?= $(ECHO) >/dev/null +test-library-dummylib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_DFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummylib_MC_TARGETS) : CPPFLAGS := $(test-library-dummylib_MC_CPPFLAGS) +$(test-library-dummylib_MC_TARGETS) : CFLAGS := $(test-library-dummylib_CFLAGS) +$(test-library-dummylib_MC_TARGETS) : $(test-library-dummylib_MC_TGTWILDCARD).o : $(test-library-dummylib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummylib_MC_DTARGETS) : $(test-library-dummylib_MC_TGTWILDCARD).d : $(test-library-dummylib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummylib_DFLAGS) $(test-library-dummylib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +test-library-dummylib_MC_SRCWILDCARD := % +else +test-library-dummylib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-dummylib_OBJDIR)/linklib,) +test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(test-library-dummylib_NLIBARCHFILES)) +test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(test-library-dummylib_NLIBARCHFILES)) +test-library-dummylib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(notdir $(test-library-dummylib_NLIBARCHFILES)))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(notdir $(test-library-dummylib_NLIBARCHFILES)))) +else +ifeq (,) + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(test-library-dummylib_NLIBARCHFILES))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(test-library-dummylib_NLIBARCHFILES))) +else + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(patsubst /%,%,$(test-library-dummylib_NLIBARCHFILES)))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(patsubst /%,%,$(test-library-dummylib_NLIBARCHFILES)))) +endif +endif +test-library-dummylib_MC_TGTWILDCARD := $(test-library-dummylib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-dummylib_NLIBARCHFILES)) + +# Be sure that all .c files are found +test-library-dummylib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummylib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummylib_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummylib_MC_DIRS := $(foreach dir, $(test-library-dummylib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummylib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummylib_MC_DIRS),) + test-library-dummylib_MC_DIRS := $(shell echo $(test-library-dummylib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-dummylib_MC_DIRS) +endif + +endif + +test-library-dummylib_MC_CPPFLAGS := $(test-library-dummylib_LINKLIBCPPFLAGS) -D__AROS__ +test-library-dummylib_CFLAGS := $(test-library-dummylib_LINKLIBCFLAGS) +ifeq ($(test-library-dummylib_LINKLIBDFLAGS),) + test-library-dummylib_DFLAGS := $(test-library-dummylib_LINKLIBCFLAGS) +else + test-library-dummylib_DFLAGS := $(test-library-dummylib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-dummylib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-dummylib_STRIP ?= $(TARGET_STRIP) +test-library-dummylib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(test-library-dummylib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(test-library-dummylib_DFLAGS) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-dummylib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-dummylib_STRIP ?= $(HOST_STRIP) +test-library-dummylib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_DFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-dummylib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-dummylib_STRIP ?= $(ECHO) >/dev/null +test-library-dummylib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_DFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummylib_MC_TARGETS) : CPPFLAGS := $(test-library-dummylib_MC_CPPFLAGS) +$(test-library-dummylib_MC_TARGETS) : CFLAGS := $(test-library-dummylib_CFLAGS) +$(test-library-dummylib_MC_TARGETS) : $(test-library-dummylib_MC_TGTWILDCARD).o : $(test-library-dummylib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummylib_MC_DTARGETS) : $(test-library-dummylib_MC_TGTWILDCARD).d : $(test-library-dummylib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummylib_DFLAGS) $(test-library-dummylib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-dummylib_OBJDIR)/linklib,) +test-library-dummylib_MC_SRCWILDCARD := % +else +test-library-dummylib_MC_SRCWILDCARD := $(test-library-dummylib_OBJDIR)/linklib/% +endif + +ifeq ($(test-library-dummylib_OBJDIR)/linklib,) +test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(test-library-dummylib_LINKLIBCCGENFILES)) +test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(test-library-dummylib_LINKLIBCCGENFILES)) +test-library-dummylib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(notdir $(test-library-dummylib_LINKLIBCCGENFILES)))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(notdir $(test-library-dummylib_LINKLIBCCGENFILES)))) +else +ifeq ($(test-library-dummylib_OBJDIR)/linklib,) + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(test-library-dummylib_LINKLIBCCGENFILES))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(test-library-dummylib_LINKLIBCCGENFILES))) +else + test-library-dummylib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(patsubst $(test-library-dummylib_OBJDIR)/linklib/%,%,$(test-library-dummylib_LINKLIBCCGENFILES)))) + test-library-dummylib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(patsubst $(test-library-dummylib_OBJDIR)/linklib/%,%,$(test-library-dummylib_LINKLIBCCGENFILES)))) +endif +endif +test-library-dummylib_MC_TGTWILDCARD := $(test-library-dummylib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-dummylib_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +test-library-dummylib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummylib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummylib_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummylib_MC_DIRS := $(foreach dir, $(test-library-dummylib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummylib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummylib_MC_DIRS),) + test-library-dummylib_MC_DIRS := $(shell echo $(test-library-dummylib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-dummylib_MC_DIRS) +endif + +endif + +test-library-dummylib_MC_CPPFLAGS := $(test-library-dummylib_LINKLIBCPPFLAGS) -D__AROS__ +test-library-dummylib_CFLAGS := $(test-library-dummylib_LINKLIBCFLAGS) +ifeq ($(test-library-dummylib_LINKLIBDFLAGS),) + test-library-dummylib_DFLAGS := $(test-library-dummylib_LINKLIBCFLAGS) +else + test-library-dummylib_DFLAGS := $(test-library-dummylib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-dummylib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-dummylib_STRIP ?= $(TARGET_STRIP) +test-library-dummylib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(test-library-dummylib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(test-library-dummylib_DFLAGS) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-dummylib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-dummylib_STRIP ?= $(HOST_STRIP) +test-library-dummylib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-dummylib_DFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-dummylib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-dummylib_STRIP ?= $(ECHO) >/dev/null +test-library-dummylib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-dummylib_MC_CPPFLAGS) $(test-library-dummylib_MC_EXTRA_CPPFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_CFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-dummylib_DFLAGS)) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-dummylib_MC_TARGETS) $(test-library-dummylib_MC_DTARGETS) : test-library-dummylib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-dummylib_MC_TARGETS) : CPPFLAGS := $(test-library-dummylib_MC_CPPFLAGS) +$(test-library-dummylib_MC_TARGETS) : CFLAGS := $(test-library-dummylib_CFLAGS) +$(test-library-dummylib_MC_TARGETS) : $(test-library-dummylib_MC_TGTWILDCARD).o : $(test-library-dummylib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-dummylib_IQUOTE) $(dir $<) $(test-library-dummylib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-dummylib_IQUOTE) . $(test-library-dummylib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-dummylib_MC_DTARGETS) : $(test-library-dummylib_MC_TGTWILDCARD).d : $(test-library-dummylib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-dummylib_DFLAGS) $(test-library-dummylib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(test-library-dummylib_LINKLIBAFILES),) + +ifeq ($(test-library-dummylib_OBJDIR)/linklib,) +test-library-dummylib-MA_TARGETS := $(addsuffix .o,$(test-library-dummylib_LINKLIBAFILES) $(test-library-dummylib_RELLINKLIBAFILES)) +test-library-dummylib-MA_WILDCARD := % +else +test-library-dummylib-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(notdir $(test-library-dummylib_LINKLIBAFILES) $(test-library-dummylib_RELLINKLIBAFILES)))) +test-library-dummylib-MA_WILDCARD := $(test-library-dummylib_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(test-library-dummylib-MA_TARGETS) : | $(addsuffix .S,$(test-library-dummylib_LINKLIBAFILES) $(test-library-dummylib_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +test-library-dummylib-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-dummylib-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-dummylib_LINKLIBAFILES) $(test-library-dummylib_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-dummylib-MA_DIRS := $(foreach dir, $(test-library-dummylib-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-dummylib-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-dummylib-MA_DIRS),) + test-library-dummylib-MA_DIRS := $(shell echo $(test-library-dummylib-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(test-library-dummylib-MA_DIRS) +endif + +endif + +test-library-dummylib-MA_ASSEMBLER ?= $(test-library-dummylib_ASSEMBLER) + +$(test-library-dummylib-MA_TARGETS) : test-library-dummylib-MA_CMD:= $(test-library-dummylib-MA_ASSEMBLER) + +$(test-library-dummylib-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(test-library-dummylib-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(test-library-dummylib-MA_TARGETS) : $(test-library-dummylib-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-dummylib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-dummylib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-dummylib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +test-library-dummylib_SUFFIX := library +else +test-library-dummylib_SUFFIX := +endif + +ifeq (target,target) +test-library-dummylib_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-dummylib_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-dummylib_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(test-library-dummylib_SUFFIX),handler) +test-library-dummylib_MODULE := $(TARGETDIR)/$(test-library-dummylib_MODDIR)/$(test-library-dummylib_DEFNAME)-$(test-library-dummylib_SUFFIX) +else +test-library-dummylib_MODULE := $(TARGETDIR)/$(test-library-dummylib_MODDIR)/$(test-library-dummylib_DEFNAME).$(test-library-dummylib_SUFFIX) +endif +test-library-dummylib_KOBJ := $(KOBJSDIR)/$(test-library-dummylib_DEFNAME)_$(test-library-dummylib_SUFFIX).o +else +test-library-dummylib_MODULE := +test-library-dummylib_KOBJ := +endif + +test-library-dummylib-quick : test-library-dummylib +test-library-dummylib : $(test-library-dummylib_MODULE) $(test-library-dummylib_LINKLIB) $(test-library-dummylib_RELLINKLIB) +ifeq (M,M) +test-library-dummylib-kobj : $(test-library-dummylib_KOBJ) $(test-library-dummylib_LINKLIB) $(test-library-dummylib_RELLINKLIB) +test-library-dummylib-kobj-quick : $(test-library-dummylib_KOBJ) $(test-library-dummylib_LINKLIB) $(test-library-dummylib_RELLINKLIB) +endif +ifeq (M,M) +test-library-dummylib-linklib : $(test-library-dummylib_LINKLIB) $(test-library-dummylib_RELLINKLIB) +endif + +test-library-dummylib_OBJS := $(addsuffix .o,$(test-library-dummylib_STARTFILES)) $(test-library-dummylib_ARCHOBJS) \ + $(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(test-library-dummylib_C_NARCHFILES:=.o) $(test-library-dummylib_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +test-library-dummylib_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (dummy,con) + test-library-dummylib_ERR := $(notdir $(test-library-dummylib_MODULE)).err +else + test-library-dummylib_ERR := dummy.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(test-library-dummylib_DEFNAME)_LDFLAGS) $(test-library-dummylib_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-dummylib_LIBS) $($(test-library-dummylib_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(test-library-dummylib_MODULE) : LIB_NAMES := $(test-library-dummylib_LIBS) $($(test-library-dummylib_DEFNAME)_LIBS) +$(test-library-dummylib_MODULE) : OBJS := $(test-library-dummylib_STARTOBJS) $(test-library-dummylib_OBJS) $(USER_OBJS) +$(test-library-dummylib_MODULE) : ENDTAG := $(test-library-dummylib_ENDOBJS) +$(test-library-dummylib_MODULE) : ERR := $(test-library-dummylib_ERR) +$(test-library-dummylib_MODULE) : OBJDIR := $(test-library-dummylib_OBJDIR) +$(test-library-dummylib_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(test-library-dummylib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(test-library-dummylib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(test-library-dummylib_MODULE) : $(test-library-dummylib_STARTOBJS) $(test-library-dummylib_OBJS) $(USER_OBJS) $(test-library-dummylib_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(test-library-dummylib_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(test-library-dummylib_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +test-library-dummylib_LC_LINKLIBNAME := $(shell echo $(test-library-dummylib_LINKLIBNAME) | tr A-Z a-z) +test-library-dummylib_LC_MODNAME := $(shell echo dummy | tr A-Z a-z) +ifneq ($(test-library-dummylib_LINKLIB),) + +ifeq (target,target) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(HOST_AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(KERNEL_AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)$(test-library-dummylib_LIBSUFFIX).a : $(test-library-dummylib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-dummylib_AR) $@ $^ + $(Q)$(test-library-dummylib_RANLIB) $@ +ifneq ($(test-library-dummylib_LC_MODNAME),$(test-library-dummylib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(test-library-dummylib_LIBDIR)/libdummy$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(AR) +$(test-library-dummylib_LIBDIR)/libdummy$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-dummylib_LIBDIR)/libdummy$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(HOST_AR) +$(test-library-dummylib_LIBDIR)/libdummy$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-dummylib_LIBDIR)/libdummy$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(KERNEL_AR) +$(test-library-dummylib_LIBDIR)/libdummy$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-dummylib_LIBDIR)/libdummy$(test-library-dummylib_LIBSUFFIX).a : $(test-library-dummylib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-dummylib_AR) $@ $^ + $(Q)$(test-library-dummylib_RANLIB) $@ +endif + + +ifneq ($(test-library-dummylib_LINKLIB),) +$(test-library-dummylib_LINKLIB) : | $(test-library-dummylib_LIBDIR) +else +$(test-library-dummylib_LINKLIB) :: $(test-library-dummylib_LIBDIR) +endif + +GLOB_MKDIRS += $(test-library-dummylib_LIBDIR) + +endif + +ifneq ($(test-library-dummylib_RELLINKLIB),) + +ifeq (target,target) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(HOST_AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(KERNEL_AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_LINKLIBNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : $(test-library-dummylib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-dummylib_AR) $@ $^ + $(Q)$(test-library-dummylib_RANLIB) $@ +ifneq ($(test-library-dummylib_LC_MODNAME),$(test-library-dummylib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_DEFNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_DEFNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_DEFNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(HOST_AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_DEFNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_DEFNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_AR:=$(KERNEL_AR) +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_DEFNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : test-library-dummylib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-dummylib_LIBDIR)/lib$(test-library-dummylib_DEFNAME)_rel$(test-library-dummylib_LIBSUFFIX).a : $(test-library-dummylib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-dummylib_AR) $@ $^ + $(Q)$(test-library-dummylib_RANLIB) $@ +endif + + +ifneq ($(test-library-dummylib_RELLINKLIB),) +$(test-library-dummylib_RELLINKLIB) : | $(test-library-dummylib_LIBDIR) +else +$(test-library-dummylib_RELLINKLIB) :: $(test-library-dummylib_LIBDIR) +endif + +GLOB_MKDIRS += $(test-library-dummylib_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +test-library-dummylib_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +test-library-dummylib_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +test-library-dummylib_SYMBOLS := $(test-library-dummylib_KBASE) + +test-library-dummylib_KLIB := hiddstubs amiga arossupport autoinit libinit +test-library-dummylib_KOBJ_LIBS := $(filter-out $(test-library-dummylib_KLIB),$(test-library-dummylib_LIBS)) $(test-library-dummylib_KAUTOLIB) +$(test-library-dummylib_KOBJ) : LINKLIBS:=$(test-library-dummylib_KOBJ_LIBS) $($(test-library-dummylib_DEFNAME)_LIBS) +$(test-library-dummylib_KOBJ) : FILTBASES:=$(addprefix -L ,$(test-library-dummylib_SYMBOLS)) +$(test-library-dummylib_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(test-library-dummylib_KOBJ) : $(test-library-dummylib_OBJS) $(USER_OBJS) $(test-library-dummylib_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +test-library-dummylib_DEPS := $(addprefix $(test-library-dummylib_OBJDIR)/,$(notdir $(test-library-dummylib_CCFILES:=.d) $(test-library-dummylib_TARGETCCFILES:=.d) $(test-library-dummylib_CXXFILES:=.d))) $(addprefix $(test-library-dummylib_OBJDIR)/linklib/,$(notdir $(test-library-dummylib_LINKLIBCCFILES:=.d))) + +ifneq ($(test-library-dummylib_DEPS),) + ifneq (test-library-dummylib test-library-dummylib-quick test-library-dummylib-kobj test-library-dummylib-kobj-quick,) + ifneq ($(findstring $(TARGET),test-library-dummylib test-library-dummylib-quick test-library-dummylib-kobj test-library-dummylib-kobj-quick),) + -include $(test-library-dummylib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-dummylib_DEPS) + endif + endif +endif + +$(test-library-dummylib_OBJS) $(test-library-dummylib_DEPS) : | $(test-library-dummylib_OBJDIR)/linklib + +ifneq ($(test-library-dummylib_OBJS) $(test-library-dummylib_DEPS) $(test-library-dummylib_MODULE) $(test-library-dummylib_KOBJ),) +$(test-library-dummylib_OBJS) $(test-library-dummylib_DEPS) $(test-library-dummylib_MODULE) $(test-library-dummylib_KOBJ) : | $(test-library-dummylib_OBJDIR) $(TARGETDIR)/$(test-library-dummylib_MODDIR) $(KOBJSDIR) +else +$(test-library-dummylib_OBJS) $(test-library-dummylib_DEPS) $(test-library-dummylib_MODULE) $(test-library-dummylib_KOBJ) :: $(test-library-dummylib_OBJDIR) $(TARGETDIR)/$(test-library-dummylib_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(test-library-dummylib_OBJDIR) $(TARGETDIR)/$(test-library-dummylib_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),test-library-dummylib test-library-dummylib-includes test-library-dummylib-quick test-library-dummylib-kobj test-library-dummylib-kobj-quick),) # Only for this target these deps are wanted + +test-library-dummylib_DFILE_DEPS := $(test-library-dummylib_LIBDEFSINC) $(test-library-dummylib_DEFLIBDEFSINC) \ + $(addprefix $(test-library-dummylib_INCDIR)/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) +$(test-library-dummylib_DEPS) : $(test-library-dummylib_DFILE_DEPS) +endif + +test-library-dummylib_TOCLEAN := $(test-library-dummylib_OBJS) $(test-library-dummylib_DEPS) \ + $(test-library-dummylib_MODULE) $(test-library-dummylib_LINKLIB) $(test-library-dummylib_KOBJ) \ + $(test-library-dummylib_OBJDIR)/Makefile.dummylibrary \ + $(addprefix $(test-library-dummylib_OBJDIR)/include/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) \ + $(addprefix $(test-library-dummylib_INCDIR)/,$($(test-library-dummylib_DEFNAME)_INCLUDES)) \ + $(test-library-dummylib_OBJDIR)/dummy_geninc $(test-library-dummylib_OBJDIR)/dummy_incs \ + $(addsuffix .c,$(test-library-dummylib_LINKLIBFILES)) $(test-library-dummylib_LINKLIBOBJS) $(test-library-dummylib_LIBDEFSINC) \ + $(test-library-dummylib_DEFLIBDEFSINC) $(addsuffix .c,$(test-library-dummylib_STARTFILES) $(test-library-dummylib_ENDFILES)) \ + $(test-library-dummylib_ENDOBJS) +test-library-dummylib-clean : FILES := $(test-library-dummylib_TOCLEAN) +test-library-dummylib-clean :: + $(Q)$(ECHO) "Cleaning up for module dummy" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(test-library-dummylib_ALLTARGETS) + + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM test-library-peropenerlib +#MM test-library-peropenerlib-quick +#MM test-library-peropenerlib-makefile +#MM test-library-peropenerlib-clean + +# ABI targets: +#MM- includes-all : test-library-peropenerlib-includes +#MM- linklibs-peropener: test-library-peropenerlib-linklib +#MM- linklibs-peropener_rel : test-library-peropenerlib-linklib +#MM- includes-peropener: test-library-peropenerlib-includes +#MM- includes-peropener_rel : test-library-peropenerlib-includes +#MM- test-library-peropenerlib : test-library-peropenerlib-includes core-linklibs linklibs- +#MM test-library-peropenerlib-linklib : test-library-peropenerlib-includes includes- +#MM- test-library-peropenerlib-quick : test-library-peropenerlib-includes-quick +#MM test-library-peropenerlib-includes : test-library-peropenerlib-makefile test-library-peropenerlib-includes-dirs \ +#MM includes-generate-deps test-library-peropenerlib-fd +#MM test-library-peropenerlib-includes-quick +#MM test-library-peropenerlib-includes-dirs +#MM test-library-peropenerlib-fd + +# Library targets +#MM test-library-peropenerlib-kobj : core-linklibs linklibs- +#MM test-library-peropenerlib-kobj-quick : + +# Library with ABI targets: +#MM test-library-peropenerlib-kobj : test-library-peropenerlib-includes core-linklibs linklibs- +#MM test-library-peropenerlib-kobj-quick : test-library-peropenerlib-includes-quick + +# All MetaMake targets defined by this macro +test-library-peropenerlib_ALLTARGETS := test-library-peropenerlib test-library-peropenerlib-quick test-library-peropenerlib-clean + +ifeq (M,M) +test-library-peropenerlib_ALLTARGETS += test-library-peropenerlib-kobj test-library-peropenerlib-kobj-quick +endif + +ifeq (M,M) +test-library-peropenerlib_ALLTARGETS += test-library-peropenerlib-includes \ + test-library-peropenerlib-includes-quick test-library-peropenerlib-includes-dirs \ + test-library-peropenerlib-linklib test-library-peropenerlib-fd +endif + +.PHONY : $(test-library-peropenerlib_ALLTARGETS) test-library-peropenerlib-makefile + +ifeq (peropener,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + test-library-peropenerlib_DEFNAME := peropener_ +else + test-library-peropenerlib_DEFNAME := peropener +endif +test-library-peropenerlib_DEFLINKLIBNAME := $(test-library-peropenerlib_DEFNAME) +ifneq (,) + test-library-peropenerlib_LINKLIBNAME := +else + test-library-peropenerlib_LINKLIBNAME = $(test-library-peropenerlib_DEFLINKLIBNAME) +endif +test-library-peropenerlib_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-library-peropenerlib_DEFCPPFLAGS += -I +endif +test-library-peropenerlib_DEFDFLAGS := $(CFLAGS) +ifneq (,) + test-library-peropenerlib_DFLAGS := +else + test-library-peropenerlib_DFLAGS = $(test-library-peropenerlib_DEFDFLAGS) +endif +test-library-peropenerlib_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + test-library-peropenerlib_DXXFLAGS := +else + test-library-peropenerlib_DXXFLAGS = $(test-library-peropenerlib_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-library-peropenerlib_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(test-library-peropenerlib_DEFDFLAGS)) +test-library-peropenerlib_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(test-library-peropenerlib_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-peropenerlib_FUNCINSTR := yes +test-library-peropenerlib_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-library-peropenerlib_DEFDFLAGS)) +test-library-peropenerlib_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-library-peropenerlib_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +test-library-peropenerlib_OBJDIR := +else +test-library-peropenerlib_OBJDIR := $(OBJDIR)/$(test-library-peropenerlib_DEFNAME) +endif +ifneq (,) +test-library-peropenerlib_OBJDIR := $(test-library-peropenerlib_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +test-library-peropenerlib-makefile := $(test-library-peropenerlib_OBJDIR)/Makefile.$(test-library-peropenerlib_DEFNAME)library +test-library-peropenerlib-genmakefile : $(test-library-peropenerlib-makefile) + + +test-library-peropenerlib-genmakefile_OPTS := +ifneq (,) + test-library-peropenerlib-genmakefile_OPTS += -f + test-library-peropenerlib-genmakefile_MODNAME := peropener_ +else + test-library-peropenerlib-genmakefile_MODNAME := peropener +endif +test-library-peropenerlib-genmakefile_TARGET := Makefile.$(test-library-peropenerlib-genmakefile_MODNAME)library +test-library-peropenerlib-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-peropenerlib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-peropenerlib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-peropenerlib-genmakefile_OPTS += -c + test-library-peropenerlib-genmakefile_DEPS += + endif +else + test-library-peropenerlib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/peropener.conf + test-library-peropenerlib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/peropener.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-peropenerlib-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-peropenerlib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-peropenerlib-genmakefile_OPTS += -o + test-library-peropenerlib-genmakefile_DEPS += + endif +endif +ifneq (,) + test-library-peropenerlib-genmakefile_OPTS += -s +endif +ifneq ($(test-library-peropenerlib_OBJDIR),) + test-library-peropenerlib-genmakefile_OPTS += -d $(test-library-peropenerlib_OBJDIR) + test-library-peropenerlib-genmakefile_TARGET := $(test-library-peropenerlib_OBJDIR)/$(test-library-peropenerlib-genmakefile_TARGET) +endif + +$(test-library-peropenerlib-genmakefile_TARGET) : OPTS := $(test-library-peropenerlib-genmakefile_OPTS) +$(test-library-peropenerlib-genmakefile_TARGET) : MODNAME := peropener +$(test-library-peropenerlib-genmakefile_TARGET) : MODTYPE := library +$(test-library-peropenerlib-genmakefile_TARGET) : $(test-library-peropenerlib-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(test-library-peropenerlib-makefile),) +$(test-library-peropenerlib-makefile) : | $(test-library-peropenerlib_OBJDIR) +else +$(test-library-peropenerlib-makefile) :: $(test-library-peropenerlib_OBJDIR) +endif + +GLOB_MKDIRS += $(test-library-peropenerlib_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(test-library-peropenerlib_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(test-library-peropenerlib-makefile) + +test-library-peropenerlib_DEFMODDIR := $($(test-library-peropenerlib_DEFNAME)_MODDIR) +ifeq (no,yes) +test-library-peropenerlib_DEFMODDIR := $(AROS_DIR_ARCH)/$(test-library-peropenerlib_DEFMODDIR) +endif +ifneq (,) + test-library-peropenerlib_MODDIR := +else + test-library-peropenerlib_MODDIR := $(test-library-peropenerlib_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +test-library-peropenerlib_INCDIR := +else +test-library-peropenerlib_INCDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +test-library-peropenerlib_LIBDEFSINC := $(test-library-peropenerlib_OBJDIR)/include/$(test-library-peropenerlib_DEFNAME)_libdefs.h +test-library-peropenerlib_DEFLIBDEFSINC := $(test-library-peropenerlib_OBJDIR)/include/$(test-library-peropenerlib_DEFNAME)_deflibdefs.h + +ifeq (M,M) +test-library-peropenerlib-includes-quick : test-library-peropenerlib-includes +test-library-peropenerlib-includes : $(addprefix $(GENINCDIR)/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) \ + $(addprefix $(test-library-peropenerlib_INCDIR)/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) \ + $(test-library-peropenerlib_LIBDEFSINC) $(test-library-peropenerlib_DEFLIBDEFSINC) + +ifneq ($($(test-library-peropenerlib_DEFNAME)_INCLUDES),) + +ifneq (,) + test-library-peropenerlib-includes_MODNAME := peropener_ +else + test-library-peropenerlib-includes_MODNAME := peropener +endif + +ifneq ($($(test-library-peropenerlib-includes_MODNAME)_INCLUDES),) + +test-library-peropenerlib-includes_TARGETS := $($(test-library-peropenerlib-includes_MODNAME)_INCLUDES) + +test-library-peropenerlib-includes_DEPS := $(GENMODULE) +test-library-peropenerlib-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + test-library-peropenerlib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-peropenerlib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-peropenerlib-includes_OPTS += -c + test-library-peropenerlib-includes_DEPS += + endif +else + test-library-peropenerlib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/peropener.conf + test-library-peropenerlib-includes_DEPS += $(SRCDIR)/$(CURDIR)/peropener.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-peropenerlib-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-peropenerlib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-peropenerlib-includes_OPTS += -o + test-library-peropenerlib-includes_DEPS += + endif +endif +ifneq (,) + test-library-peropenerlib-includes_OPTS += -s +endif +ifneq ($(test-library-peropenerlib_OBJDIR)/include,) + test-library-peropenerlib-includes_OPTS += -d $(test-library-peropenerlib_OBJDIR)/include + test-library-peropenerlib-includes_TARGETS := $(addprefix $(test-library-peropenerlib_OBJDIR)/include/,$(test-library-peropenerlib-includes_TARGETS)) + test-library-peropenerlib-includes_GENINCFLAG=$(test-library-peropenerlib_OBJDIR)/include/.peropener.library-includes +else + test-library-peropenerlib-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.peropener.library-includes +endif + +$(test-library-peropenerlib-includes_TARGETS) : $(test-library-peropenerlib-includes_DEPS) $(test-library-peropenerlib-includes_GENINCFLAG) + +$(test-library-peropenerlib-includes_GENINCFLAG) : OPTS := $(test-library-peropenerlib-includes_OPTS) +$(test-library-peropenerlib-includes_GENINCFLAG) : MODNAME := peropener +$(test-library-peropenerlib-includes_GENINCFLAG) : MODTYPE := library +$(test-library-peropenerlib-includes_GENINCFLAG) : $(test-library-peropenerlib-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(test-library-peropenerlib_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) : | $(test-library-peropenerlib_OBJDIR)/peropener_geninc + +$(test-library-peropenerlib_OBJDIR)/peropener_geninc : COPYSRCDIR := $(test-library-peropenerlib_OBJDIR)/include +$(test-library-peropenerlib_OBJDIR)/peropener_geninc : TGTDIR := $(GENINCDIR) +$(test-library-peropenerlib_OBJDIR)/peropener_geninc : FILES := $($(test-library-peropenerlib_DEFNAME)_INCLUDES) +$(test-library-peropenerlib_OBJDIR)/peropener_geninc : $(addprefix $(test-library-peropenerlib_OBJDIR)/include/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(test-library-peropenerlib_OBJDIR)/include + +$(addprefix $(test-library-peropenerlib_INCDIR)/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) : | $(test-library-peropenerlib_OBJDIR)/peropener_incs + +$(test-library-peropenerlib_OBJDIR)/peropener_incs : COPYSRCDIR := $(test-library-peropenerlib_OBJDIR)/include +$(test-library-peropenerlib_OBJDIR)/peropener_incs : TGTDIR := $(test-library-peropenerlib_INCDIR) +$(test-library-peropenerlib_OBJDIR)/peropener_incs : FILES := $($(test-library-peropenerlib_DEFNAME)_INCLUDES) +$(test-library-peropenerlib_OBJDIR)/peropener_incs : $(addprefix $(test-library-peropenerlib_OBJDIR)/include/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +test-library-peropenerlib_INCDIRS := $(filter-out ./,$(sort $(dir $($(test-library-peropenerlib_DEFNAME)_INCLUDES)))) + +TMPperopener_INCDIRS := \ + $(test-library-peropenerlib_OBJDIR)/include $(addprefix $(test-library-peropenerlib_OBJDIR)/include/,$(test-library-peropenerlib_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(test-library-peropenerlib_INCDIRS)) \ + $(test-library-peropenerlib_INCDIR) $(addprefix $(test-library-peropenerlib_INCDIR)/,$(test-library-peropenerlib_INCDIRS)) + +ifneq (test-library-peropenerlib-includes-dirs,) +test-library-peropenerlib-includes-dirs : | $(TMPperopener_INCDIRS) +else +test-library-peropenerlib-includes-dirs :: $(TMPperopener_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPperopener_INCDIRS) + + +endif + +endif + + +test-library-peropenerlib-genlibdefs_OPTS := +ifneq (,) + test-library-peropenerlib-genlibdefs_OPTS += -f + test-library-peropenerlib-genlibdefs_MODNAME := peropener_ +else + test-library-peropenerlib-genlibdefs_MODNAME := peropener +endif +test-library-peropenerlib-genlibdefs_TARGET := $(test-library-peropenerlib-genlibdefs_MODNAME)_libdefs.h +test-library-peropenerlib-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-peropenerlib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-peropenerlib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-peropenerlib-genlibdefs_OPTS += -c + test-library-peropenerlib-genlibdefs_DEPS += + endif +else + test-library-peropenerlib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/peropener.conf + test-library-peropenerlib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/peropener.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-peropenerlib-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-peropenerlib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-peropenerlib-genlibdefs_OPTS += -o + test-library-peropenerlib-genlibdefs_DEPS += + endif +endif +ifneq (,) + test-library-peropenerlib-genlibdefs_OPTS += -s +endif +ifneq ($(test-library-peropenerlib_OBJDIR)/include,) + test-library-peropenerlib-genlibdefs_OPTS += -d $(test-library-peropenerlib_OBJDIR)/include + test-library-peropenerlib-genlibdefs_TARGET := $(test-library-peropenerlib_OBJDIR)/include/$(test-library-peropenerlib-genlibdefs_TARGET) +endif +ifneq (,) + test-library-peropenerlib-genlibdefs_OPTS += -v +endif + +$(test-library-peropenerlib-genlibdefs_TARGET) : OPTS := $(test-library-peropenerlib-genlibdefs_OPTS) +$(test-library-peropenerlib-genlibdefs_TARGET) : MODNAME := peropener +$(test-library-peropenerlib-genlibdefs_TARGET) : MODTYPE := library +$(test-library-peropenerlib-genlibdefs_TARGET) : $(test-library-peropenerlib-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(test-library-peropenerlib_DEFLIBDEFSINC) : FILENAME := $(test-library-peropenerlib_LIBDEFSINC) +$(test-library-peropenerlib_DEFLIBDEFSINC) : $(test-library-peropenerlib_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(test-library-peropenerlib_LIBDEFSINC) $(test-library-peropenerlib_DEFLIBDEFSINC) : | $(test-library-peropenerlib_OBJDIR)/include + +ifneq (test-library-peropenerlib-includes-dirs,) +test-library-peropenerlib-includes-dirs : | $(test-library-peropenerlib_OBJDIR)/include +else +test-library-peropenerlib-includes-dirs :: $(test-library-peropenerlib_OBJDIR)/include +endif + +GLOB_MKDIRS += $(test-library-peropenerlib_OBJDIR)/include + + +## Extra genmodule src files generation +## + +test-library-peropenerlib-genmodfiles_OPTS := +ifneq (,) + test-library-peropenerlib-genmodfiles_OPTS += -f + test-library-peropenerlib-genmodfiles_MODNAME := peropener_ +else + test-library-peropenerlib-genmodfiles_MODNAME := peropener +endif +test-library-peropenerlib-genmodfiles_GENTARGETS := $($(test-library-peropenerlib-genmodfiles_MODNAME)_STARTFILES) $($(test-library-peropenerlib-genmodfiles_MODNAME)_ENDFILES) +test-library-peropenerlib-genmodfiles_STUBTARGETS := $($(test-library-peropenerlib-genmodfiles_MODNAME)_LINKLIBFILES) $($(test-library-peropenerlib-genmodfiles_MODNAME)_RELLINKLIBFILES) +test-library-peropenerlib-genmodfiles_GENTARGETS := $(addsuffix .c,$(test-library-peropenerlib-genmodfiles_GENTARGETS)) +test-library-peropenerlib-genmodfiles_STUBTARGETS := $(addsuffix .c,$(test-library-peropenerlib-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(test-library-peropenerlib-genmodfiles_MODNAME)_LINKLIBAFILES) $($(test-library-peropenerlib-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +test-library-peropenerlib-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-peropenerlib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-peropenerlib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-peropenerlib-genmodfiles_OPTS += -c + test-library-peropenerlib-genmodfiles_DEPS += + endif +else + test-library-peropenerlib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/peropener.conf + test-library-peropenerlib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/peropener.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-peropenerlib-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-peropenerlib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-peropenerlib-genmodfiles_OPTS += -o + test-library-peropenerlib-genmodfiles_DEPS += + endif +endif +ifneq (,) + test-library-peropenerlib-genmodfiles_OPTS += -s +endif +ifneq ($(test-library-peropenerlib_OBJDIR),) + test-library-peropenerlib-genmodfiles_OPTS += -d $(test-library-peropenerlib_OBJDIR) + test-library-peropenerlib-genmodfiles_TARGETDIR := $(shell echo $(test-library-peropenerlib_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-peropenerlib-genmodfiles_GENTARGETS := $(addprefix $(test-library-peropenerlib-genmodfiles_TARGETDIR)/,$(test-library-peropenerlib-genmodfiles_GENTARGETS)) + test-library-peropenerlib-genmodfiles_GENFILEFLAG=$(test-library-peropenerlib-genmodfiles_TARGETDIR)/.peropener.library-genfiles +else + test-library-peropenerlib-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.peropener.library-genfiles +endif +ifneq ($(test-library-peropenerlib_OBJDIR)/linklib,) + test-library-peropenerlib-genmodfiles_OPTS += -l $(test-library-peropenerlib_OBJDIR)/linklib + test-library-peropenerlib-genmodfiles_STUBTARGETDIR := $(shell echo $(test-library-peropenerlib_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + test-library-peropenerlib-genmodfiles_STUBTARGETS := $(addprefix $(test-library-peropenerlib-genmodfiles_STUBTARGETDIR)/,$(test-library-peropenerlib-genmodfiles_STUBTARGETS)) + test-library-peropenerlib-genmodfiles_TARGETDIRS += $(test-library-peropenerlib_OBJDIR)/linklib +else +ifneq ($(test-library-peropenerlib_OBJDIR),) + test-library-peropenerlib-genmodfiles_STUBTARGETS := $(addprefix $(test-library-peropenerlib-genmodfiles_TARGETDIR)/,$(test-library-peropenerlib-genmodfiles_STUBTARGETS)) +endif +endif + +test-library-peropenerlib-genmodfiles_TARGETS := $(test-library-peropenerlib-genmodfiles_GENTARGETS) $(test-library-peropenerlib-genmodfiles_STUBTARGETS) +ifneq ($(test-library-peropenerlib-genmodfiles_TARGETDIRS),) +$(test-library-peropenerlib-genmodfiles_TARGETS) : | $(test-library-peropenerlib-genmodfiles_TARGETDIRS) +endif + +$(test-library-peropenerlib-genmodfiles_TARGETS) : $(test-library-peropenerlib-genmodfiles_DEPS) $(test-library-peropenerlib-genmodfiles_GENFILEFLAG) + +$(test-library-peropenerlib-genmodfiles_GENFILEFLAG) : OPTS := $(test-library-peropenerlib-genmodfiles_OPTS) +$(test-library-peropenerlib-genmodfiles_GENFILEFLAG) : MODNAME := peropener +$(test-library-peropenerlib-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(test-library-peropenerlib-genmodfiles_GENFILEFLAG) : $(test-library-peropenerlib-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(test-library-peropenerlib-genmodfiles_GENFILEFLAG) : $(test-library-peropenerlib_DEFLIBDEFSINC) $(test-library-peropenerlib-makefile) + + +ifneq ($(test-library-peropenerlib-genmodfiles_GENFILEFLAG),) +$(test-library-peropenerlib-genmodfiles_GENFILEFLAG) : | $(test-library-peropenerlib_OBJDIR)/linklib +else +$(test-library-peropenerlib-genmodfiles_GENFILEFLAG) :: $(test-library-peropenerlib_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(test-library-peropenerlib_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +test-library-peropenerlib_FDDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +test-library-peropenerlib_FDDIR := /../$(AROS_DIR_FD) +endif +test-library-peropenerlib-fd : $(test-library-peropenerlib_FDDIR)/peropener_lib.fd + + +TMP_TARGET := peropener_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/peropener.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/peropener.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(test-library-peropenerlib_FDDIR),) + TMP_OPTS += -d $(test-library-peropenerlib_FDDIR) + TMP_TARGET := $(test-library-peropenerlib_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := peropener +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(test-library-peropenerlib_FDDIR)/peropener_lib.fd : | $(test-library-peropenerlib_FDDIR) + + +ifneq (test-library-peropenerlib-fd-setup,) +test-library-peropenerlib-fd-setup : | $(test-library-peropenerlib_FDDIR) +else +test-library-peropenerlib-fd-setup :: $(test-library-peropenerlib_FDDIR) +endif + +GLOB_MKDIRS += $(test-library-peropenerlib_FDDIR) + +endif + +## Compilation +## +test-library-peropenerlib_FILES := peropenervalue peropenernolib peropenernamechange +test-library-peropenerlib_OBJCFILES := +test-library-peropenerlib_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +test-library-peropenerlib_LIBFILES := +test-library-peropenerlib_LIBS := + +test-library-peropenerlib_FDIRS := $(sort $(dir $(test-library-peropenerlib_FILES))) + +test-library-peropenerlib_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +test-library-peropenerlib_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call test-library-peropenerlib_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +test-library-peropenerlib_FILTERARCH = $(filter-out $(call test-library-peropenerlib_MATCHARCH,$(1),$(2)),$(2)) +test-library-peropenerlib_STARTFILES := $(addprefix $(test-library-peropenerlib_OBJDIR)/,$($(test-library-peropenerlib_DEFNAME)_STARTFILES)) +test-library-peropenerlib_ENDFILES := $(addprefix $(test-library-peropenerlib_OBJDIR)/,$($(test-library-peropenerlib_DEFNAME)_ENDFILES)) + +test-library-peropenerlib_ARCHOBJS := $(wildcard $(test-library-peropenerlib_OBJDIR)/arch/*.o) +test-library-peropenerlib_LIBARCHOBJS := $(wildcard $(test-library-peropenerlib_OBJDIR)/linklib/arch/*.o) +test-library-peropenerlib_ARCHFILES := $(basename $(notdir $(test-library-peropenerlib_ARCHOBJS))) +test-library-peropenerlib_LIBARCHFILES := $(basename $(notdir $(test-library-peropenerlib_LIBARCHOBJS))) +test-library-peropenerlib_C_NARCHFILES := $(call test-library-peropenerlib_FILTERARCH,$(test-library-peropenerlib_ARCHFILES),$(test-library-peropenerlib_FILES)) +test-library-peropenerlib_CXX_NARCHFILES := $(call test-library-peropenerlib_FILTERARCH,$(test-library-peropenerlib_ARCHFILES),$(test-library-peropenerlib_CXXFILES)) +test-library-peropenerlib_OBJC_NARCHFILES := $(call test-library-peropenerlib_FILTERARCH,$(test-library-peropenerlib_ARCHFILES),$(test-library-peropenerlib_OBJCFILES)) +test-library-peropenerlib_NLIBARCHFILES := $(call test-library-peropenerlib_FILTERARCH,$(test-library-peropenerlib_LIBARCHFILES),$(test-library-peropenerlib_LIBFILES)) +test-library-peropenerlib_ARCHNLIBFILES := $(call test-library-peropenerlib_FILTERARCH,$(test-library-peropenerlib_LIBFILES),$(test-library-peropenerlib_LIBARCHFILES)) + +test-library-peropenerlib_CPPFLAGS := $(strip $(CPPFLAGS) -I$(test-library-peropenerlib_OBJDIR)/include -include $(test-library-peropenerlib_DEFLIBDEFSINC)) +ifneq (,) +test-library-peropenerlib_CPPFLAGS += -I +endif +test-library-peropenerlib_LINKLIBCPPFLAGS := $(test-library-peropenerlib_CPPFLAGS) +test-library-peropenerlib_CPPFLAGS += $(strip $($(test-library-peropenerlib_DEFNAME)_CPPFLAGS)) +test-library-peropenerlib_LINKLIBCPPFLAGS += $(strip $($(test-library-peropenerlib_DEFNAME)_LINKLIBCPPFLAGS)) +test-library-peropenerlib_CFLAGS := $(strip $(CFLAGS) $($(test-library-peropenerlib_DEFNAME)_CFLAGS)) +test-library-peropenerlib_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(test-library-peropenerlib_DEFNAME)_LINKLIBCFLAGS)) +test-library-peropenerlib_CXXFLAGS := $(strip $(CXXFLAGS) $($(test-library-peropenerlib_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-library-peropenerlib_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +test-library-peropenerlib_CFLAGS := $(strip $(test-library-peropenerlib_LTOFLAGS) $(test-library-peropenerlib_CFLAGS)) +test-library-peropenerlib_LINKLIBCFLAGS := $(strip $(test-library-peropenerlib_LTOFLAGS) $(test-library-peropenerlib_LINKLIBCFLAGS)) +test-library-peropenerlib_CXXFLAGS := $(strip $(test-library-peropenerlib_LTOFLAGS) $(test-library-peropenerlib_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-peropenerlib_SUBSTNULL := +test-library-peropenerlib_SUBSTSPACE := $(test-library-peropenerlib_SUBSTNULL) # +test-library-peropenerlib_SUBSTCOMMA := , +test-library-peropenerlib_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(test-library-peropenerlib_SUBSTSPACE),$(test-library-peropenerlib_SUBSTCOMMA),$(strip $($(test-library-peropenerlib_DEFNAME)_STARTFILES)))) +test-library-peropenerlib_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-peropenerlib_CFLAGS := $(strip $(test-library-peropenerlib_INSTRFUNCFLAGS) $(test-library-peropenerlib_CFLAGS)) +test-library-peropenerlib_CXXFLAGS := $(strip $(test-library-peropenerlib_INSTRFUNCFLAGS) $(test-library-peropenerlib_CXXFLAGS)) +test-library-peropenerlib_LIBS += $(test-library-peropenerlib_INSTRFUNCLIBS) +endif +endif +test-library-peropenerlib_DFLAGS := $(strip $(test-library-peropenerlib_DFLAGS) $($(test-library-peropenerlib_DEFNAME)_DFLAGS)) +test-library-peropenerlib_LINKLIBDFLAGS := $(strip $(test-library-peropenerlib_DFLAGS) $($(test-library-peropenerlib_DEFNAME)_LINKLIBDFLAGS)) +test-library-peropenerlib_DXXFLAGS := $(strip $(test-library-peropenerlib_DXXFLAGS) $($(test-library-peropenerlib_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + test-library-peropenerlib_LIBSUFFIX := +else + test-library-peropenerlib_LIBSUFFIX := .library +endif + +ifeq (,) +test-library-peropenerlib_LIBDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +test-library-peropenerlib_LIBDIR := +endif + +ifeq (M,M) +test-library-peropenerlib_LINKLIBCFILES := $(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$($(test-library-peropenerlib_DEFNAME)_LINKLIBFILES)) +test-library-peropenerlib_LINKLIBAFILES := $(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$($(test-library-peropenerlib_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(test-library-peropenerlib_DEFNAME)_LINKLIBFILES) $($(test-library-peropenerlib_DEFNAME)_LINKLIBAFILES) $(test-library-peropenerlib_ARCHNLIBFILES)),) + test-library-peropenerlib_LINKLIB := +else + test-library-peropenerlib_LINKLIB := $(test-library-peropenerlib_LIBDIR)/libperopener$(test-library-peropenerlib_LIBSUFFIX).a + ifneq (peropener,$(test-library-peropenerlib_LINKLIBNAME)) + test-library-peropenerlib_LINKLIB += $(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)$(test-library-peropenerlib_LIBSUFFIX).a + endif +endif +test-library-peropenerlib_LINKLIBFILES := $(test-library-peropenerlib_LINKLIBCFILES) $(test-library-peropenerlib_LINKLIBAFILES) + +test-library-peropenerlib_RELLINKLIBCFILES := $(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$($(test-library-peropenerlib_DEFNAME)_RELLINKLIBFILES)) +test-library-peropenerlib_RELLINKLIBAFILES := $(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$($(test-library-peropenerlib_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(test-library-peropenerlib_DEFNAME)_RELLINKLIBFILES) $($(test-library-peropenerlib_DEFNAME)_RELLINKLIBAFILES) $(test-library-peropenerlib_ARCHNLIBFILES)),) + test-library-peropenerlib_RELLINKLIB := +else + test-library-peropenerlib_RELLINKLIB := $(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_DEFNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a + ifneq (peropener,$(test-library-peropenerlib_LINKLIBNAME)) + test-library-peropenerlib_RELLINKLIB += $(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a + endif +endif +test-library-peropenerlib_RELLINKLIBFILES := $(test-library-peropenerlib_RELLINKLIBCFILES) $(test-library-peropenerlib_RELLINKLIBAFILES) +endif + +test-library-peropenerlib_ENDOBJS := $(addsuffix .o,$(test-library-peropenerlib_ENDFILES)) +test-library-peropenerlib_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(notdir $(test-library-peropenerlib_NLIBARCHFILES))) $(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/arch/,$(notdir $(test-library-peropenerlib_ARCHNLIBFILES))) $(test-library-peropenerlib_LINKLIBFILES)) \ + +test-library-peropenerlib_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(notdir $(test-library-peropenerlib_NLIBARCHFILES))) $(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/arch/,$(notdir $(test-library-peropenerlib_ARCHNLIBFILES))) $(test-library-peropenerlib_RELLINKLIBFILES)) \ + +$(test-library-peropenerlib_LINKLIBFILES) $(test-library-peropenerlib_RELLINKLIBFILES) : | $(test-library-peropenerlib_OBJDIR)/linklib +$(test-library-peropenerlib_LINKLIBOBJS) $(test-library-peropenerlib_RELLINKLIBOBJS) : | $(test-library-peropenerlib_OBJDIR)/linklib + +test-library-peropenerlib_CCFILES := $(test-library-peropenerlib_C_NARCHFILES) +test-library-peropenerlib_TARGETCCFILES := $(strip $(test-library-peropenerlib_STARTFILES) $(test-library-peropenerlib_ENDFILES)) +test-library-peropenerlib_LINKLIBCCFILES := $(strip $(test-library-peropenerlib_NLIBARCHFILES) $(test-library-peropenerlib_LINKLIBCFILES) $(test-library-peropenerlib_RELLINKLIBCFILES)) +test-library-peropenerlib_LINKLIBCCGENFILES := $(strip $(test-library-peropenerlib_LINKLIBCFILES) $(test-library-peropenerlib_RELLINKLIBCFILES)) + + +test-library-peropenerlib_CXXABSBASENAMES := $(foreach test-library-peropenerlib_CXXBASE,$(test-library-peropenerlib_CXX_NARCHFILES),$(if $(filter /%,$(test-library-peropenerlib_CXXBASE)),$(test-library-peropenerlib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-peropenerlib_CXXBASE)))) + +ifneq ($(test-library-peropenerlib_CXXABSBASENAMES),) + +test-library-peropenerlib_CXXBASENAMES := $(basename $(test-library-peropenerlib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-peropenerlib_MCXX_FILES := $(strip $(foreach test-library-peropenerlib_CXXBASE,$(test-library-peropenerlib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-peropenerlib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-peropenerlib_EXT),$(test-library-peropenerlib_CXXBASE))))))) + +ifeq (,) +test-library-peropenerlib_MCXX_SRCWILDCARD := % +else +test-library-peropenerlib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenerlib_OBJDIR),) + test-library-peropenerlib_CXXTARGETS := $(notdir $(test-library-peropenerlib_CXXBASENAMES:=.o)) + test-library-peropenerlib_CXXDTARGETS := $(notdir $(test-library-peropenerlib_CXXBASENAMES:=.d)) + test-library-peropenerlib_MCXX_WILDCARD := % +else + test-library-peropenerlib_CXXTARGETS := $(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(test-library-peropenerlib_CXXBASENAMES:=.o))) + test-library-peropenerlib_CXXDTARGETS := $(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(test-library-peropenerlib_CXXBASENAMES:=.d))) + test-library-peropenerlib_MCXX_WILDCARD := $(test-library-peropenerlib_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-peropenerlib_CXXTARGETS) $(test-library-peropenerlib_CXXDTARGETS) : | $(test-library-peropenerlib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-peropenerlib_MCXX_CPPFLAGS := $(test-library-peropenerlib_CPPFLAGS) +test-library-peropenerlib_CXXFLAGS := $(test-library-peropenerlib_CXXFLAGS) +ifeq ($(test-library-peropenerlib_DXXFLAGS),) + test-library-peropenerlib_DXXFLAGS := $(test-library-peropenerlib_CXXFLAGS) +else + test-library-peropenerlib_DXXFLAGS := $(test-library-peropenerlib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-peropenerlib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-peropenerlib_STRIP ?= $(HOST_STRIP) + test-library-peropenerlib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-peropenerlib_CXXCMD:=$(HOST_CXX) + test-library-peropenerlib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-peropenerlib_MCXX_CPPFLAGS) $(test-library-peropenerlib_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenerlib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-peropenerlib_CXXFLAGS)) + test-library-peropenerlib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-peropenerlib_DXXFLAGS)) + test-library-peropenerlib_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-peropenerlib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-peropenerlib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-peropenerlib_STRIP ?= $(TARGET_STRIP) + test-library-peropenerlib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-peropenerlib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-peropenerlib_MCXX_CPPFLAGS := $(strip $(test-library-peropenerlib_MCXX_CPPFLAGS) $(test-library-peropenerlib_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenerlib_CXXFLAGS := $(strip $(test-library-peropenerlib_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-peropenerlib_DXXFLAGS := $(test-library-peropenerlib_DXXFLAGS) + test-library-peropenerlib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-peropenerlib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-peropenerlib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-peropenerlib_STRIP ?= $(ECHO) >/dev/null + test-library-peropenerlib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-peropenerlib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-peropenerlib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-peropenerlib_MCXX_CPPFLAGS) $(test-library-peropenerlib_MCXX_EXTRA_CPPFLAGS)) + test-library-peropenerlib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-peropenerlib_CXXFLAGS)) + test-library-peropenerlib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-peropenerlib_DXXFLAGS)) + test-library-peropenerlib_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-peropenerlib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-peropenerlib_CXXCMD) $(test-library-peropenerlib_CXXIQUOTE) $(dir $(2)) $(test-library-peropenerlib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_CXXIQUOTE) . $(test-library-peropenerlib_CXXIQUOTE_END) $(strip $(test-library-peropenerlib_CXXFLAGS) $(test-library-peropenerlib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-peropenerlib_CXXCMD) $(test-library-peropenerlib_CXXIQUOTE) $(dir $(2)) $(test-library-peropenerlib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_CXXIQUOTE) . $(test-library-peropenerlib_CXXIQUOTE_END) $(strip $(test-library-peropenerlib_CXXFLAGS) $(test-library-peropenerlib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-peropenerlib_CXXCMD) $(test-library-peropenerlib_CXXIQUOTE) $(dir $(2)) $(test-library-peropenerlib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_CXXIQUOTE) . $(test-library-peropenerlib_CXXIQUOTE_END) $(strip $(test-library-peropenerlib_CXXFLAGS) $(test-library-peropenerlib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-peropenerlib_CXXCMD)" $(MKDEPEND) $(strip $(test-library-peropenerlib_DXXFLAGS) $(test-library-peropenerlib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-peropenerlib_OBJDIR),) + $(foreach test-library-peropenerlib_CXXFILE,$(test-library-peropenerlib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-peropenerlib_CXXFILE))),$(test-library-peropenerlib_CXXFILE)))) +else + $(foreach test-library-peropenerlib_CXXFILE,$(test-library-peropenerlib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(basename $(test-library-peropenerlib_CXXFILE)))),$(test-library-peropenerlib_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-peropenerlib_OBJC_NARCHFILES),) + +ifeq (,) +test-library-peropenerlib_MOBJC_SRCWILDCARD := % +else +test-library-peropenerlib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenerlib_OBJDIR),) + test-library-peropenerlib_MOBJC_TARGETS := $(addsuffix .o,$(test-library-peropenerlib_OBJC_NARCHFILES)) + test-library-peropenerlib_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-peropenerlib_OBJC_NARCHFILES)) + test-library-peropenerlib_MOBJC_WILDCARD := % +else + test-library-peropenerlib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(test-library-peropenerlib_OBJC_NARCHFILES))) + test-library-peropenerlib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(test-library-peropenerlib_OBJC_NARCHFILES))) + test-library-peropenerlib_MOBJC_WILDCARD := $(test-library-peropenerlib_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-peropenerlib_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-peropenerlib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-peropenerlib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenerlib_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-peropenerlib_MOBJC_DIRS := $(foreach dir, $(test-library-peropenerlib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenerlib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-peropenerlib_MOBJC_DIRS),) + test-library-peropenerlib_MOBJC_DIRS := $(shell echo $(test-library-peropenerlib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-peropenerlib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-peropenerlib_CC := $(TARGET_CC) +else + test-library-peropenerlib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-peropenerlib_MOBJC_CPPFLAGS := $(test-library-peropenerlib_CPPFLAGS) +test-library-peropenerlib_OBJCFLAGS := $(test-library-peropenerlib_CFLAGS) +test-library-peropenerlib_OBJCFLAGS := $(test-library-peropenerlib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-peropenerlib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-peropenerlib_OBJCFLAGS))) +ifeq ($(test-library-peropenerlib_DFLAGS),) + test-library-peropenerlib_OBJCDFLAGS := $(test-library-peropenerlib_CFLAGS) +else + test-library-peropenerlib_OBJCDFLAGS := $(test-library-peropenerlib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-peropenerlib_LINK ?= $(strip $(test-library-peropenerlib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-peropenerlib_STRIP ?= $(TARGET_STRIP) + test-library-peropenerlib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-peropenerlib_CC) $(TARGET_SYSROOT)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_MOBJC_CPPFLAGS:=$(strip $(test-library-peropenerlib_MOBJC_CPPFLAGS) $(test-library-peropenerlib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_OBJCFLAGS:=$(strip $(test-library-peropenerlib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_OBJCDFLAGS:=$(test-library-peropenerlib_OBJCDFLAGS) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-peropenerlib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-peropenerlib_STRIP ?= $(HOST_STRIP) + test-library-peropenerlib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-peropenerlib_MOBJC_CPPFLAGS) $(test-library-peropenerlib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_OBJCFLAGS)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_OBJCDFLAGS)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(HOST_IQUOTE) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-peropenerlib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-peropenerlib_STRIP ?= $(ECHO) >/dev/null + test-library-peropenerlib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-peropenerlib_MOBJC_CPPFLAGS) $(test-library-peropenerlib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_OBJCFLAGS)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_OBJCDFLAGS)) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-peropenerlib_MOBJC_TARGETS) $(test-library-peropenerlib_MOBJC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenerlib_MOBJC_TARGETS) : CPPFLAGS := $(test-library-peropenerlib_MOBJC_CPPFLAGS) +$(test-library-peropenerlib_MOBJC_TARGETS) : CFLAGS := $(test-library-peropenerlib_OBJCFLAGS) +$(test-library-peropenerlib_MOBJC_TARGETS) : $(test-library-peropenerlib_MOBJC_WILDCARD).o : $(test-library-peropenerlib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenerlib_MOBJC_DTARGETS) : $(test-library-peropenerlib_MOBJC_WILDCARD).d : $(test-library-peropenerlib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenerlib_OBJCDFLAGS) $(test-library-peropenerlib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-peropenerlib_MC_SRCWILDCARD := % +else +test-library-peropenerlib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenerlib_OBJDIR),) +test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(test-library-peropenerlib_CCFILES)) +test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(test-library-peropenerlib_CCFILES)) +test-library-peropenerlib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(test-library-peropenerlib_CCFILES)))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(test-library-peropenerlib_CCFILES)))) +else +ifeq (,) + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(test-library-peropenerlib_CCFILES))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(test-library-peropenerlib_CCFILES))) +else + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(patsubst /%,%,$(test-library-peropenerlib_CCFILES)))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(patsubst /%,%,$(test-library-peropenerlib_CCFILES)))) +endif +endif +test-library-peropenerlib_MC_TGTWILDCARD := $(test-library-peropenerlib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-peropenerlib_CCFILES)) + +# Be sure that all .c files are found +test-library-peropenerlib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenerlib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenerlib_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenerlib_MC_DIRS := $(foreach dir, $(test-library-peropenerlib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenerlib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenerlib_MC_DIRS),) + test-library-peropenerlib_MC_DIRS := $(shell echo $(test-library-peropenerlib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-peropenerlib_MC_DIRS) +endif + +endif + +test-library-peropenerlib_MC_CPPFLAGS := $(test-library-peropenerlib_CPPFLAGS) +test-library-peropenerlib_CFLAGS := $(test-library-peropenerlib_CFLAGS) +ifeq ($(test-library-peropenerlib_DFLAGS),) + test-library-peropenerlib_DFLAGS := $(test-library-peropenerlib_CFLAGS) +else + test-library-peropenerlib_DFLAGS := $(test-library-peropenerlib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-peropenerlib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(TARGET_STRIP) +test-library-peropenerlib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(test-library-peropenerlib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(test-library-peropenerlib_DFLAGS) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-peropenerlib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(HOST_STRIP) +test-library-peropenerlib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_DFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-peropenerlib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(ECHO) >/dev/null +test-library-peropenerlib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_DFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenerlib_MC_TARGETS) : CPPFLAGS := $(test-library-peropenerlib_MC_CPPFLAGS) +$(test-library-peropenerlib_MC_TARGETS) : CFLAGS := $(test-library-peropenerlib_CFLAGS) +$(test-library-peropenerlib_MC_TARGETS) : $(test-library-peropenerlib_MC_TGTWILDCARD).o : $(test-library-peropenerlib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenerlib_MC_DTARGETS) : $(test-library-peropenerlib_MC_TGTWILDCARD).d : $(test-library-peropenerlib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenerlib_DFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +test-library-peropenerlib_MC_SRCWILDCARD := % +else +test-library-peropenerlib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenerlib_OBJDIR),) +test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(test-library-peropenerlib_TARGETCCFILES)) +test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(test-library-peropenerlib_TARGETCCFILES)) +test-library-peropenerlib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(test-library-peropenerlib_TARGETCCFILES)))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(test-library-peropenerlib_TARGETCCFILES)))) +else +ifeq (,) + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(test-library-peropenerlib_TARGETCCFILES))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(test-library-peropenerlib_TARGETCCFILES))) +else + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(patsubst /%,%,$(test-library-peropenerlib_TARGETCCFILES)))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/,$(patsubst /%,%,$(test-library-peropenerlib_TARGETCCFILES)))) +endif +endif +test-library-peropenerlib_MC_TGTWILDCARD := $(test-library-peropenerlib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-peropenerlib_TARGETCCFILES)) + +# Be sure that all .c files are found +test-library-peropenerlib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenerlib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenerlib_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenerlib_MC_DIRS := $(foreach dir, $(test-library-peropenerlib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenerlib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenerlib_MC_DIRS),) + test-library-peropenerlib_MC_DIRS := $(shell echo $(test-library-peropenerlib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-peropenerlib_MC_DIRS) +endif + +endif + +test-library-peropenerlib_MC_CPPFLAGS := $(test-library-peropenerlib_CPPFLAGS) -D__AROS__ +test-library-peropenerlib_CFLAGS := $(test-library-peropenerlib_CFLAGS) +ifeq ($(test-library-peropenerlib_DFLAGS),) + test-library-peropenerlib_DFLAGS := $(test-library-peropenerlib_CFLAGS) +else + test-library-peropenerlib_DFLAGS := $(test-library-peropenerlib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-peropenerlib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(TARGET_STRIP) +test-library-peropenerlib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(test-library-peropenerlib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(test-library-peropenerlib_DFLAGS) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-peropenerlib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(HOST_STRIP) +test-library-peropenerlib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_DFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-peropenerlib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(ECHO) >/dev/null +test-library-peropenerlib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_DFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenerlib_MC_TARGETS) : CPPFLAGS := $(test-library-peropenerlib_MC_CPPFLAGS) +$(test-library-peropenerlib_MC_TARGETS) : CFLAGS := $(test-library-peropenerlib_CFLAGS) +$(test-library-peropenerlib_MC_TARGETS) : $(test-library-peropenerlib_MC_TGTWILDCARD).o : $(test-library-peropenerlib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenerlib_MC_DTARGETS) : $(test-library-peropenerlib_MC_TGTWILDCARD).d : $(test-library-peropenerlib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenerlib_DFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +test-library-peropenerlib_MC_SRCWILDCARD := % +else +test-library-peropenerlib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-peropenerlib_OBJDIR)/linklib,) +test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(test-library-peropenerlib_NLIBARCHFILES)) +test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(test-library-peropenerlib_NLIBARCHFILES)) +test-library-peropenerlib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(notdir $(test-library-peropenerlib_NLIBARCHFILES)))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(notdir $(test-library-peropenerlib_NLIBARCHFILES)))) +else +ifeq (,) + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(test-library-peropenerlib_NLIBARCHFILES))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(test-library-peropenerlib_NLIBARCHFILES))) +else + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(patsubst /%,%,$(test-library-peropenerlib_NLIBARCHFILES)))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(patsubst /%,%,$(test-library-peropenerlib_NLIBARCHFILES)))) +endif +endif +test-library-peropenerlib_MC_TGTWILDCARD := $(test-library-peropenerlib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-peropenerlib_NLIBARCHFILES)) + +# Be sure that all .c files are found +test-library-peropenerlib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenerlib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenerlib_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenerlib_MC_DIRS := $(foreach dir, $(test-library-peropenerlib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenerlib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenerlib_MC_DIRS),) + test-library-peropenerlib_MC_DIRS := $(shell echo $(test-library-peropenerlib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-peropenerlib_MC_DIRS) +endif + +endif + +test-library-peropenerlib_MC_CPPFLAGS := $(test-library-peropenerlib_LINKLIBCPPFLAGS) -D__AROS__ +test-library-peropenerlib_CFLAGS := $(test-library-peropenerlib_LINKLIBCFLAGS) +ifeq ($(test-library-peropenerlib_LINKLIBDFLAGS),) + test-library-peropenerlib_DFLAGS := $(test-library-peropenerlib_LINKLIBCFLAGS) +else + test-library-peropenerlib_DFLAGS := $(test-library-peropenerlib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-peropenerlib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(TARGET_STRIP) +test-library-peropenerlib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(test-library-peropenerlib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(test-library-peropenerlib_DFLAGS) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-peropenerlib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(HOST_STRIP) +test-library-peropenerlib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_DFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-peropenerlib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(ECHO) >/dev/null +test-library-peropenerlib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_DFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenerlib_MC_TARGETS) : CPPFLAGS := $(test-library-peropenerlib_MC_CPPFLAGS) +$(test-library-peropenerlib_MC_TARGETS) : CFLAGS := $(test-library-peropenerlib_CFLAGS) +$(test-library-peropenerlib_MC_TARGETS) : $(test-library-peropenerlib_MC_TGTWILDCARD).o : $(test-library-peropenerlib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenerlib_MC_DTARGETS) : $(test-library-peropenerlib_MC_TGTWILDCARD).d : $(test-library-peropenerlib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenerlib_DFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-peropenerlib_OBJDIR)/linklib,) +test-library-peropenerlib_MC_SRCWILDCARD := % +else +test-library-peropenerlib_MC_SRCWILDCARD := $(test-library-peropenerlib_OBJDIR)/linklib/% +endif + +ifeq ($(test-library-peropenerlib_OBJDIR)/linklib,) +test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(test-library-peropenerlib_LINKLIBCCGENFILES)) +test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(test-library-peropenerlib_LINKLIBCCGENFILES)) +test-library-peropenerlib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(notdir $(test-library-peropenerlib_LINKLIBCCGENFILES)))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(notdir $(test-library-peropenerlib_LINKLIBCCGENFILES)))) +else +ifeq ($(test-library-peropenerlib_OBJDIR)/linklib,) + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(test-library-peropenerlib_LINKLIBCCGENFILES))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(test-library-peropenerlib_LINKLIBCCGENFILES))) +else + test-library-peropenerlib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(patsubst $(test-library-peropenerlib_OBJDIR)/linklib/%,%,$(test-library-peropenerlib_LINKLIBCCGENFILES)))) + test-library-peropenerlib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(patsubst $(test-library-peropenerlib_OBJDIR)/linklib/%,%,$(test-library-peropenerlib_LINKLIBCCGENFILES)))) +endif +endif +test-library-peropenerlib_MC_TGTWILDCARD := $(test-library-peropenerlib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-peropenerlib_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +test-library-peropenerlib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenerlib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenerlib_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenerlib_MC_DIRS := $(foreach dir, $(test-library-peropenerlib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenerlib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenerlib_MC_DIRS),) + test-library-peropenerlib_MC_DIRS := $(shell echo $(test-library-peropenerlib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-peropenerlib_MC_DIRS) +endif + +endif + +test-library-peropenerlib_MC_CPPFLAGS := $(test-library-peropenerlib_LINKLIBCPPFLAGS) -D__AROS__ +test-library-peropenerlib_CFLAGS := $(test-library-peropenerlib_LINKLIBCFLAGS) +ifeq ($(test-library-peropenerlib_LINKLIBDFLAGS),) + test-library-peropenerlib_DFLAGS := $(test-library-peropenerlib_LINKLIBCFLAGS) +else + test-library-peropenerlib_DFLAGS := $(test-library-peropenerlib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-peropenerlib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(TARGET_STRIP) +test-library-peropenerlib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(test-library-peropenerlib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(test-library-peropenerlib_DFLAGS) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-peropenerlib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(HOST_STRIP) +test-library-peropenerlib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-peropenerlib_DFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-peropenerlib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-peropenerlib_STRIP ?= $(ECHO) >/dev/null +test-library-peropenerlib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS) $(test-library-peropenerlib_MC_EXTRA_CPPFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_CFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-peropenerlib_DFLAGS)) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-peropenerlib_MC_TARGETS) $(test-library-peropenerlib_MC_DTARGETS) : test-library-peropenerlib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-peropenerlib_MC_TARGETS) : CPPFLAGS := $(test-library-peropenerlib_MC_CPPFLAGS) +$(test-library-peropenerlib_MC_TARGETS) : CFLAGS := $(test-library-peropenerlib_CFLAGS) +$(test-library-peropenerlib_MC_TARGETS) : $(test-library-peropenerlib_MC_TGTWILDCARD).o : $(test-library-peropenerlib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-peropenerlib_IQUOTE) $(dir $<) $(test-library-peropenerlib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-peropenerlib_IQUOTE) . $(test-library-peropenerlib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-peropenerlib_MC_DTARGETS) : $(test-library-peropenerlib_MC_TGTWILDCARD).d : $(test-library-peropenerlib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-peropenerlib_DFLAGS) $(test-library-peropenerlib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(test-library-peropenerlib_LINKLIBAFILES),) + +ifeq ($(test-library-peropenerlib_OBJDIR)/linklib,) +test-library-peropenerlib-MA_TARGETS := $(addsuffix .o,$(test-library-peropenerlib_LINKLIBAFILES) $(test-library-peropenerlib_RELLINKLIBAFILES)) +test-library-peropenerlib-MA_WILDCARD := % +else +test-library-peropenerlib-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(notdir $(test-library-peropenerlib_LINKLIBAFILES) $(test-library-peropenerlib_RELLINKLIBAFILES)))) +test-library-peropenerlib-MA_WILDCARD := $(test-library-peropenerlib_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(test-library-peropenerlib-MA_TARGETS) : | $(addsuffix .S,$(test-library-peropenerlib_LINKLIBAFILES) $(test-library-peropenerlib_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +test-library-peropenerlib-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-peropenerlib-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-peropenerlib_LINKLIBAFILES) $(test-library-peropenerlib_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-peropenerlib-MA_DIRS := $(foreach dir, $(test-library-peropenerlib-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-peropenerlib-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-peropenerlib-MA_DIRS),) + test-library-peropenerlib-MA_DIRS := $(shell echo $(test-library-peropenerlib-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(test-library-peropenerlib-MA_DIRS) +endif + +endif + +test-library-peropenerlib-MA_ASSEMBLER ?= $(test-library-peropenerlib_ASSEMBLER) + +$(test-library-peropenerlib-MA_TARGETS) : test-library-peropenerlib-MA_CMD:= $(test-library-peropenerlib-MA_ASSEMBLER) + +$(test-library-peropenerlib-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(test-library-peropenerlib-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(test-library-peropenerlib-MA_TARGETS) : $(test-library-peropenerlib-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-peropenerlib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-peropenerlib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-peropenerlib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +test-library-peropenerlib_SUFFIX := library +else +test-library-peropenerlib_SUFFIX := +endif + +ifeq (target,target) +test-library-peropenerlib_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-peropenerlib_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-peropenerlib_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(test-library-peropenerlib_SUFFIX),handler) +test-library-peropenerlib_MODULE := $(TARGETDIR)/$(test-library-peropenerlib_MODDIR)/$(test-library-peropenerlib_DEFNAME)-$(test-library-peropenerlib_SUFFIX) +else +test-library-peropenerlib_MODULE := $(TARGETDIR)/$(test-library-peropenerlib_MODDIR)/$(test-library-peropenerlib_DEFNAME).$(test-library-peropenerlib_SUFFIX) +endif +test-library-peropenerlib_KOBJ := $(KOBJSDIR)/$(test-library-peropenerlib_DEFNAME)_$(test-library-peropenerlib_SUFFIX).o +else +test-library-peropenerlib_MODULE := +test-library-peropenerlib_KOBJ := +endif + +test-library-peropenerlib-quick : test-library-peropenerlib +test-library-peropenerlib : $(test-library-peropenerlib_MODULE) $(test-library-peropenerlib_LINKLIB) $(test-library-peropenerlib_RELLINKLIB) +ifeq (M,M) +test-library-peropenerlib-kobj : $(test-library-peropenerlib_KOBJ) $(test-library-peropenerlib_LINKLIB) $(test-library-peropenerlib_RELLINKLIB) +test-library-peropenerlib-kobj-quick : $(test-library-peropenerlib_KOBJ) $(test-library-peropenerlib_LINKLIB) $(test-library-peropenerlib_RELLINKLIB) +endif +ifeq (M,M) +test-library-peropenerlib-linklib : $(test-library-peropenerlib_LINKLIB) $(test-library-peropenerlib_RELLINKLIB) +endif + +test-library-peropenerlib_OBJS := $(addsuffix .o,$(test-library-peropenerlib_STARTFILES)) $(test-library-peropenerlib_ARCHOBJS) \ + $(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(test-library-peropenerlib_C_NARCHFILES:=.o) $(test-library-peropenerlib_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +test-library-peropenerlib_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (peropener,con) + test-library-peropenerlib_ERR := $(notdir $(test-library-peropenerlib_MODULE)).err +else + test-library-peropenerlib_ERR := peropener.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(test-library-peropenerlib_DEFNAME)_LDFLAGS) $(test-library-peropenerlib_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-peropenerlib_LIBS) $($(test-library-peropenerlib_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(test-library-peropenerlib_MODULE) : LIB_NAMES := $(test-library-peropenerlib_LIBS) $($(test-library-peropenerlib_DEFNAME)_LIBS) +$(test-library-peropenerlib_MODULE) : OBJS := $(test-library-peropenerlib_STARTOBJS) $(test-library-peropenerlib_OBJS) $(USER_OBJS) +$(test-library-peropenerlib_MODULE) : ENDTAG := $(test-library-peropenerlib_ENDOBJS) +$(test-library-peropenerlib_MODULE) : ERR := $(test-library-peropenerlib_ERR) +$(test-library-peropenerlib_MODULE) : OBJDIR := $(test-library-peropenerlib_OBJDIR) +$(test-library-peropenerlib_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(test-library-peropenerlib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(test-library-peropenerlib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(test-library-peropenerlib_MODULE) : $(test-library-peropenerlib_STARTOBJS) $(test-library-peropenerlib_OBJS) $(USER_OBJS) $(test-library-peropenerlib_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(test-library-peropenerlib_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(test-library-peropenerlib_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +test-library-peropenerlib_LC_LINKLIBNAME := $(shell echo $(test-library-peropenerlib_LINKLIBNAME) | tr A-Z a-z) +test-library-peropenerlib_LC_MODNAME := $(shell echo peropener | tr A-Z a-z) +ifneq ($(test-library-peropenerlib_LINKLIB),) + +ifeq (target,target) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(HOST_AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(KERNEL_AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)$(test-library-peropenerlib_LIBSUFFIX).a : $(test-library-peropenerlib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-peropenerlib_AR) $@ $^ + $(Q)$(test-library-peropenerlib_RANLIB) $@ +ifneq ($(test-library-peropenerlib_LC_MODNAME),$(test-library-peropenerlib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(test-library-peropenerlib_LIBDIR)/libperopener$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(AR) +$(test-library-peropenerlib_LIBDIR)/libperopener$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-peropenerlib_LIBDIR)/libperopener$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(HOST_AR) +$(test-library-peropenerlib_LIBDIR)/libperopener$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-peropenerlib_LIBDIR)/libperopener$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(KERNEL_AR) +$(test-library-peropenerlib_LIBDIR)/libperopener$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-peropenerlib_LIBDIR)/libperopener$(test-library-peropenerlib_LIBSUFFIX).a : $(test-library-peropenerlib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-peropenerlib_AR) $@ $^ + $(Q)$(test-library-peropenerlib_RANLIB) $@ +endif + + +ifneq ($(test-library-peropenerlib_LINKLIB),) +$(test-library-peropenerlib_LINKLIB) : | $(test-library-peropenerlib_LIBDIR) +else +$(test-library-peropenerlib_LINKLIB) :: $(test-library-peropenerlib_LIBDIR) +endif + +GLOB_MKDIRS += $(test-library-peropenerlib_LIBDIR) + +endif + +ifneq ($(test-library-peropenerlib_RELLINKLIB),) + +ifeq (target,target) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(HOST_AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(KERNEL_AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_LINKLIBNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : $(test-library-peropenerlib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-peropenerlib_AR) $@ $^ + $(Q)$(test-library-peropenerlib_RANLIB) $@ +ifneq ($(test-library-peropenerlib_LC_MODNAME),$(test-library-peropenerlib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_DEFNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_DEFNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_DEFNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(HOST_AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_DEFNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_DEFNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_AR:=$(KERNEL_AR) +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_DEFNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : test-library-peropenerlib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-peropenerlib_LIBDIR)/lib$(test-library-peropenerlib_DEFNAME)_rel$(test-library-peropenerlib_LIBSUFFIX).a : $(test-library-peropenerlib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-peropenerlib_AR) $@ $^ + $(Q)$(test-library-peropenerlib_RANLIB) $@ +endif + + +ifneq ($(test-library-peropenerlib_RELLINKLIB),) +$(test-library-peropenerlib_RELLINKLIB) : | $(test-library-peropenerlib_LIBDIR) +else +$(test-library-peropenerlib_RELLINKLIB) :: $(test-library-peropenerlib_LIBDIR) +endif + +GLOB_MKDIRS += $(test-library-peropenerlib_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +test-library-peropenerlib_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +test-library-peropenerlib_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +test-library-peropenerlib_SYMBOLS := $(test-library-peropenerlib_KBASE) + +test-library-peropenerlib_KLIB := hiddstubs amiga arossupport autoinit libinit +test-library-peropenerlib_KOBJ_LIBS := $(filter-out $(test-library-peropenerlib_KLIB),$(test-library-peropenerlib_LIBS)) $(test-library-peropenerlib_KAUTOLIB) +$(test-library-peropenerlib_KOBJ) : LINKLIBS:=$(test-library-peropenerlib_KOBJ_LIBS) $($(test-library-peropenerlib_DEFNAME)_LIBS) +$(test-library-peropenerlib_KOBJ) : FILTBASES:=$(addprefix -L ,$(test-library-peropenerlib_SYMBOLS)) +$(test-library-peropenerlib_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(test-library-peropenerlib_KOBJ) : $(test-library-peropenerlib_OBJS) $(USER_OBJS) $(test-library-peropenerlib_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +test-library-peropenerlib_DEPS := $(addprefix $(test-library-peropenerlib_OBJDIR)/,$(notdir $(test-library-peropenerlib_CCFILES:=.d) $(test-library-peropenerlib_TARGETCCFILES:=.d) $(test-library-peropenerlib_CXXFILES:=.d))) $(addprefix $(test-library-peropenerlib_OBJDIR)/linklib/,$(notdir $(test-library-peropenerlib_LINKLIBCCFILES:=.d))) + +ifneq ($(test-library-peropenerlib_DEPS),) + ifneq (test-library-peropenerlib test-library-peropenerlib-quick test-library-peropenerlib-kobj test-library-peropenerlib-kobj-quick,) + ifneq ($(findstring $(TARGET),test-library-peropenerlib test-library-peropenerlib-quick test-library-peropenerlib-kobj test-library-peropenerlib-kobj-quick),) + -include $(test-library-peropenerlib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-peropenerlib_DEPS) + endif + endif +endif + +$(test-library-peropenerlib_OBJS) $(test-library-peropenerlib_DEPS) : | $(test-library-peropenerlib_OBJDIR)/linklib + +ifneq ($(test-library-peropenerlib_OBJS) $(test-library-peropenerlib_DEPS) $(test-library-peropenerlib_MODULE) $(test-library-peropenerlib_KOBJ),) +$(test-library-peropenerlib_OBJS) $(test-library-peropenerlib_DEPS) $(test-library-peropenerlib_MODULE) $(test-library-peropenerlib_KOBJ) : | $(test-library-peropenerlib_OBJDIR) $(TARGETDIR)/$(test-library-peropenerlib_MODDIR) $(KOBJSDIR) +else +$(test-library-peropenerlib_OBJS) $(test-library-peropenerlib_DEPS) $(test-library-peropenerlib_MODULE) $(test-library-peropenerlib_KOBJ) :: $(test-library-peropenerlib_OBJDIR) $(TARGETDIR)/$(test-library-peropenerlib_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(test-library-peropenerlib_OBJDIR) $(TARGETDIR)/$(test-library-peropenerlib_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),test-library-peropenerlib test-library-peropenerlib-includes test-library-peropenerlib-quick test-library-peropenerlib-kobj test-library-peropenerlib-kobj-quick),) # Only for this target these deps are wanted + +test-library-peropenerlib_DFILE_DEPS := $(test-library-peropenerlib_LIBDEFSINC) $(test-library-peropenerlib_DEFLIBDEFSINC) \ + $(addprefix $(test-library-peropenerlib_INCDIR)/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) +$(test-library-peropenerlib_DEPS) : $(test-library-peropenerlib_DFILE_DEPS) +endif + +test-library-peropenerlib_TOCLEAN := $(test-library-peropenerlib_OBJS) $(test-library-peropenerlib_DEPS) \ + $(test-library-peropenerlib_MODULE) $(test-library-peropenerlib_LINKLIB) $(test-library-peropenerlib_KOBJ) \ + $(test-library-peropenerlib_OBJDIR)/Makefile.peropenerlibrary \ + $(addprefix $(test-library-peropenerlib_OBJDIR)/include/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) \ + $(addprefix $(test-library-peropenerlib_INCDIR)/,$($(test-library-peropenerlib_DEFNAME)_INCLUDES)) \ + $(test-library-peropenerlib_OBJDIR)/peropener_geninc $(test-library-peropenerlib_OBJDIR)/peropener_incs \ + $(addsuffix .c,$(test-library-peropenerlib_LINKLIBFILES)) $(test-library-peropenerlib_LINKLIBOBJS) $(test-library-peropenerlib_LIBDEFSINC) \ + $(test-library-peropenerlib_DEFLIBDEFSINC) $(addsuffix .c,$(test-library-peropenerlib_STARTFILES) $(test-library-peropenerlib_ENDFILES)) \ + $(test-library-peropenerlib_ENDOBJS) +test-library-peropenerlib-clean : FILES := $(test-library-peropenerlib_TOCLEAN) +test-library-peropenerlib-clean :: + $(Q)$(ECHO) "Cleaning up for module peropener" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(test-library-peropenerlib_ALLTARGETS) + + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM test-library-pertasklib +#MM test-library-pertasklib-quick +#MM test-library-pertasklib-makefile +#MM test-library-pertasklib-clean + +# ABI targets: +#MM- includes-all : test-library-pertasklib-includes +#MM- linklibs-pertask: test-library-pertasklib-linklib +#MM- linklibs-pertask_rel : test-library-pertasklib-linklib +#MM- includes-pertask: test-library-pertasklib-includes +#MM- includes-pertask_rel : test-library-pertasklib-includes +#MM- test-library-pertasklib : test-library-pertasklib-includes core-linklibs linklibs- +#MM test-library-pertasklib-linklib : test-library-pertasklib-includes includes- +#MM- test-library-pertasklib-quick : test-library-pertasklib-includes-quick +#MM test-library-pertasklib-includes : test-library-pertasklib-makefile test-library-pertasklib-includes-dirs \ +#MM includes-generate-deps test-library-pertasklib-fd +#MM test-library-pertasklib-includes-quick +#MM test-library-pertasklib-includes-dirs +#MM test-library-pertasklib-fd + +# Library targets +#MM test-library-pertasklib-kobj : core-linklibs linklibs- +#MM test-library-pertasklib-kobj-quick : + +# Library with ABI targets: +#MM test-library-pertasklib-kobj : test-library-pertasklib-includes core-linklibs linklibs- +#MM test-library-pertasklib-kobj-quick : test-library-pertasklib-includes-quick + +# All MetaMake targets defined by this macro +test-library-pertasklib_ALLTARGETS := test-library-pertasklib test-library-pertasklib-quick test-library-pertasklib-clean + +ifeq (M,M) +test-library-pertasklib_ALLTARGETS += test-library-pertasklib-kobj test-library-pertasklib-kobj-quick +endif + +ifeq (M,M) +test-library-pertasklib_ALLTARGETS += test-library-pertasklib-includes \ + test-library-pertasklib-includes-quick test-library-pertasklib-includes-dirs \ + test-library-pertasklib-linklib test-library-pertasklib-fd +endif + +.PHONY : $(test-library-pertasklib_ALLTARGETS) test-library-pertasklib-makefile + +ifeq (pertask,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + test-library-pertasklib_DEFNAME := pertask_ +else + test-library-pertasklib_DEFNAME := pertask +endif +test-library-pertasklib_DEFLINKLIBNAME := $(test-library-pertasklib_DEFNAME) +ifneq (,) + test-library-pertasklib_LINKLIBNAME := +else + test-library-pertasklib_LINKLIBNAME = $(test-library-pertasklib_DEFLINKLIBNAME) +endif +test-library-pertasklib_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-library-pertasklib_DEFCPPFLAGS += -I +endif +test-library-pertasklib_DEFDFLAGS := $(CFLAGS) +ifneq (,) + test-library-pertasklib_DFLAGS := +else + test-library-pertasklib_DFLAGS = $(test-library-pertasklib_DEFDFLAGS) +endif +test-library-pertasklib_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + test-library-pertasklib_DXXFLAGS := +else + test-library-pertasklib_DXXFLAGS = $(test-library-pertasklib_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-library-pertasklib_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(test-library-pertasklib_DEFDFLAGS)) +test-library-pertasklib_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(test-library-pertasklib_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-pertasklib_FUNCINSTR := yes +test-library-pertasklib_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-library-pertasklib_DEFDFLAGS)) +test-library-pertasklib_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-library-pertasklib_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +test-library-pertasklib_OBJDIR := +else +test-library-pertasklib_OBJDIR := $(OBJDIR)/$(test-library-pertasklib_DEFNAME) +endif +ifneq (,) +test-library-pertasklib_OBJDIR := $(test-library-pertasklib_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +test-library-pertasklib-makefile := $(test-library-pertasklib_OBJDIR)/Makefile.$(test-library-pertasklib_DEFNAME)library +test-library-pertasklib-genmakefile : $(test-library-pertasklib-makefile) + + +test-library-pertasklib-genmakefile_OPTS := +ifneq (,) + test-library-pertasklib-genmakefile_OPTS += -f + test-library-pertasklib-genmakefile_MODNAME := pertask_ +else + test-library-pertasklib-genmakefile_MODNAME := pertask +endif +test-library-pertasklib-genmakefile_TARGET := Makefile.$(test-library-pertasklib-genmakefile_MODNAME)library +test-library-pertasklib-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-pertasklib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-pertasklib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-pertasklib-genmakefile_OPTS += -c + test-library-pertasklib-genmakefile_DEPS += + endif +else + test-library-pertasklib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/pertask.conf + test-library-pertasklib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/pertask.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-pertasklib-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-pertasklib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-pertasklib-genmakefile_OPTS += -o + test-library-pertasklib-genmakefile_DEPS += + endif +endif +ifneq (,) + test-library-pertasklib-genmakefile_OPTS += -s +endif +ifneq ($(test-library-pertasklib_OBJDIR),) + test-library-pertasklib-genmakefile_OPTS += -d $(test-library-pertasklib_OBJDIR) + test-library-pertasklib-genmakefile_TARGET := $(test-library-pertasklib_OBJDIR)/$(test-library-pertasklib-genmakefile_TARGET) +endif + +$(test-library-pertasklib-genmakefile_TARGET) : OPTS := $(test-library-pertasklib-genmakefile_OPTS) +$(test-library-pertasklib-genmakefile_TARGET) : MODNAME := pertask +$(test-library-pertasklib-genmakefile_TARGET) : MODTYPE := library +$(test-library-pertasklib-genmakefile_TARGET) : $(test-library-pertasklib-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(test-library-pertasklib-makefile),) +$(test-library-pertasklib-makefile) : | $(test-library-pertasklib_OBJDIR) +else +$(test-library-pertasklib-makefile) :: $(test-library-pertasklib_OBJDIR) +endif + +GLOB_MKDIRS += $(test-library-pertasklib_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(test-library-pertasklib_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(test-library-pertasklib-makefile) + +test-library-pertasklib_DEFMODDIR := $($(test-library-pertasklib_DEFNAME)_MODDIR) +ifeq (no,yes) +test-library-pertasklib_DEFMODDIR := $(AROS_DIR_ARCH)/$(test-library-pertasklib_DEFMODDIR) +endif +ifneq (,) + test-library-pertasklib_MODDIR := +else + test-library-pertasklib_MODDIR := $(test-library-pertasklib_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +test-library-pertasklib_INCDIR := +else +test-library-pertasklib_INCDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +test-library-pertasklib_LIBDEFSINC := $(test-library-pertasklib_OBJDIR)/include/$(test-library-pertasklib_DEFNAME)_libdefs.h +test-library-pertasklib_DEFLIBDEFSINC := $(test-library-pertasklib_OBJDIR)/include/$(test-library-pertasklib_DEFNAME)_deflibdefs.h + +ifeq (M,M) +test-library-pertasklib-includes-quick : test-library-pertasklib-includes +test-library-pertasklib-includes : $(addprefix $(GENINCDIR)/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) \ + $(addprefix $(test-library-pertasklib_INCDIR)/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) \ + $(test-library-pertasklib_LIBDEFSINC) $(test-library-pertasklib_DEFLIBDEFSINC) + +ifneq ($($(test-library-pertasklib_DEFNAME)_INCLUDES),) + +ifneq (,) + test-library-pertasklib-includes_MODNAME := pertask_ +else + test-library-pertasklib-includes_MODNAME := pertask +endif + +ifneq ($($(test-library-pertasklib-includes_MODNAME)_INCLUDES),) + +test-library-pertasklib-includes_TARGETS := $($(test-library-pertasklib-includes_MODNAME)_INCLUDES) + +test-library-pertasklib-includes_DEPS := $(GENMODULE) +test-library-pertasklib-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + test-library-pertasklib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-pertasklib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-pertasklib-includes_OPTS += -c + test-library-pertasklib-includes_DEPS += + endif +else + test-library-pertasklib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/pertask.conf + test-library-pertasklib-includes_DEPS += $(SRCDIR)/$(CURDIR)/pertask.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-pertasklib-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-pertasklib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-pertasklib-includes_OPTS += -o + test-library-pertasklib-includes_DEPS += + endif +endif +ifneq (,) + test-library-pertasklib-includes_OPTS += -s +endif +ifneq ($(test-library-pertasklib_OBJDIR)/include,) + test-library-pertasklib-includes_OPTS += -d $(test-library-pertasklib_OBJDIR)/include + test-library-pertasklib-includes_TARGETS := $(addprefix $(test-library-pertasklib_OBJDIR)/include/,$(test-library-pertasklib-includes_TARGETS)) + test-library-pertasklib-includes_GENINCFLAG=$(test-library-pertasklib_OBJDIR)/include/.pertask.library-includes +else + test-library-pertasklib-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.pertask.library-includes +endif + +$(test-library-pertasklib-includes_TARGETS) : $(test-library-pertasklib-includes_DEPS) $(test-library-pertasklib-includes_GENINCFLAG) + +$(test-library-pertasklib-includes_GENINCFLAG) : OPTS := $(test-library-pertasklib-includes_OPTS) +$(test-library-pertasklib-includes_GENINCFLAG) : MODNAME := pertask +$(test-library-pertasklib-includes_GENINCFLAG) : MODTYPE := library +$(test-library-pertasklib-includes_GENINCFLAG) : $(test-library-pertasklib-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(test-library-pertasklib_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) : | $(test-library-pertasklib_OBJDIR)/pertask_geninc + +$(test-library-pertasklib_OBJDIR)/pertask_geninc : COPYSRCDIR := $(test-library-pertasklib_OBJDIR)/include +$(test-library-pertasklib_OBJDIR)/pertask_geninc : TGTDIR := $(GENINCDIR) +$(test-library-pertasklib_OBJDIR)/pertask_geninc : FILES := $($(test-library-pertasklib_DEFNAME)_INCLUDES) +$(test-library-pertasklib_OBJDIR)/pertask_geninc : $(addprefix $(test-library-pertasklib_OBJDIR)/include/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(test-library-pertasklib_OBJDIR)/include + +$(addprefix $(test-library-pertasklib_INCDIR)/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) : | $(test-library-pertasklib_OBJDIR)/pertask_incs + +$(test-library-pertasklib_OBJDIR)/pertask_incs : COPYSRCDIR := $(test-library-pertasklib_OBJDIR)/include +$(test-library-pertasklib_OBJDIR)/pertask_incs : TGTDIR := $(test-library-pertasklib_INCDIR) +$(test-library-pertasklib_OBJDIR)/pertask_incs : FILES := $($(test-library-pertasklib_DEFNAME)_INCLUDES) +$(test-library-pertasklib_OBJDIR)/pertask_incs : $(addprefix $(test-library-pertasklib_OBJDIR)/include/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +test-library-pertasklib_INCDIRS := $(filter-out ./,$(sort $(dir $($(test-library-pertasklib_DEFNAME)_INCLUDES)))) + +TMPpertask_INCDIRS := \ + $(test-library-pertasklib_OBJDIR)/include $(addprefix $(test-library-pertasklib_OBJDIR)/include/,$(test-library-pertasklib_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(test-library-pertasklib_INCDIRS)) \ + $(test-library-pertasklib_INCDIR) $(addprefix $(test-library-pertasklib_INCDIR)/,$(test-library-pertasklib_INCDIRS)) + +ifneq (test-library-pertasklib-includes-dirs,) +test-library-pertasklib-includes-dirs : | $(TMPpertask_INCDIRS) +else +test-library-pertasklib-includes-dirs :: $(TMPpertask_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPpertask_INCDIRS) + + +endif + +endif + + +test-library-pertasklib-genlibdefs_OPTS := +ifneq (,) + test-library-pertasklib-genlibdefs_OPTS += -f + test-library-pertasklib-genlibdefs_MODNAME := pertask_ +else + test-library-pertasklib-genlibdefs_MODNAME := pertask +endif +test-library-pertasklib-genlibdefs_TARGET := $(test-library-pertasklib-genlibdefs_MODNAME)_libdefs.h +test-library-pertasklib-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-pertasklib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-pertasklib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-pertasklib-genlibdefs_OPTS += -c + test-library-pertasklib-genlibdefs_DEPS += + endif +else + test-library-pertasklib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/pertask.conf + test-library-pertasklib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/pertask.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-pertasklib-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-pertasklib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-pertasklib-genlibdefs_OPTS += -o + test-library-pertasklib-genlibdefs_DEPS += + endif +endif +ifneq (,) + test-library-pertasklib-genlibdefs_OPTS += -s +endif +ifneq ($(test-library-pertasklib_OBJDIR)/include,) + test-library-pertasklib-genlibdefs_OPTS += -d $(test-library-pertasklib_OBJDIR)/include + test-library-pertasklib-genlibdefs_TARGET := $(test-library-pertasklib_OBJDIR)/include/$(test-library-pertasklib-genlibdefs_TARGET) +endif +ifneq (,) + test-library-pertasklib-genlibdefs_OPTS += -v +endif + +$(test-library-pertasklib-genlibdefs_TARGET) : OPTS := $(test-library-pertasklib-genlibdefs_OPTS) +$(test-library-pertasklib-genlibdefs_TARGET) : MODNAME := pertask +$(test-library-pertasklib-genlibdefs_TARGET) : MODTYPE := library +$(test-library-pertasklib-genlibdefs_TARGET) : $(test-library-pertasklib-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(test-library-pertasklib_DEFLIBDEFSINC) : FILENAME := $(test-library-pertasklib_LIBDEFSINC) +$(test-library-pertasklib_DEFLIBDEFSINC) : $(test-library-pertasklib_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(test-library-pertasklib_LIBDEFSINC) $(test-library-pertasklib_DEFLIBDEFSINC) : | $(test-library-pertasklib_OBJDIR)/include + +ifneq (test-library-pertasklib-includes-dirs,) +test-library-pertasklib-includes-dirs : | $(test-library-pertasklib_OBJDIR)/include +else +test-library-pertasklib-includes-dirs :: $(test-library-pertasklib_OBJDIR)/include +endif + +GLOB_MKDIRS += $(test-library-pertasklib_OBJDIR)/include + + +## Extra genmodule src files generation +## + +test-library-pertasklib-genmodfiles_OPTS := +ifneq (,) + test-library-pertasklib-genmodfiles_OPTS += -f + test-library-pertasklib-genmodfiles_MODNAME := pertask_ +else + test-library-pertasklib-genmodfiles_MODNAME := pertask +endif +test-library-pertasklib-genmodfiles_GENTARGETS := $($(test-library-pertasklib-genmodfiles_MODNAME)_STARTFILES) $($(test-library-pertasklib-genmodfiles_MODNAME)_ENDFILES) +test-library-pertasklib-genmodfiles_STUBTARGETS := $($(test-library-pertasklib-genmodfiles_MODNAME)_LINKLIBFILES) $($(test-library-pertasklib-genmodfiles_MODNAME)_RELLINKLIBFILES) +test-library-pertasklib-genmodfiles_GENTARGETS := $(addsuffix .c,$(test-library-pertasklib-genmodfiles_GENTARGETS)) +test-library-pertasklib-genmodfiles_STUBTARGETS := $(addsuffix .c,$(test-library-pertasklib-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(test-library-pertasklib-genmodfiles_MODNAME)_LINKLIBAFILES) $($(test-library-pertasklib-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +test-library-pertasklib-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-pertasklib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-pertasklib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-pertasklib-genmodfiles_OPTS += -c + test-library-pertasklib-genmodfiles_DEPS += + endif +else + test-library-pertasklib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/pertask.conf + test-library-pertasklib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/pertask.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-pertasklib-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-pertasklib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-pertasklib-genmodfiles_OPTS += -o + test-library-pertasklib-genmodfiles_DEPS += + endif +endif +ifneq (,) + test-library-pertasklib-genmodfiles_OPTS += -s +endif +ifneq ($(test-library-pertasklib_OBJDIR),) + test-library-pertasklib-genmodfiles_OPTS += -d $(test-library-pertasklib_OBJDIR) + test-library-pertasklib-genmodfiles_TARGETDIR := $(shell echo $(test-library-pertasklib_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-pertasklib-genmodfiles_GENTARGETS := $(addprefix $(test-library-pertasklib-genmodfiles_TARGETDIR)/,$(test-library-pertasklib-genmodfiles_GENTARGETS)) + test-library-pertasklib-genmodfiles_GENFILEFLAG=$(test-library-pertasklib-genmodfiles_TARGETDIR)/.pertask.library-genfiles +else + test-library-pertasklib-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.pertask.library-genfiles +endif +ifneq ($(test-library-pertasklib_OBJDIR)/linklib,) + test-library-pertasklib-genmodfiles_OPTS += -l $(test-library-pertasklib_OBJDIR)/linklib + test-library-pertasklib-genmodfiles_STUBTARGETDIR := $(shell echo $(test-library-pertasklib_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + test-library-pertasklib-genmodfiles_STUBTARGETS := $(addprefix $(test-library-pertasklib-genmodfiles_STUBTARGETDIR)/,$(test-library-pertasklib-genmodfiles_STUBTARGETS)) + test-library-pertasklib-genmodfiles_TARGETDIRS += $(test-library-pertasklib_OBJDIR)/linklib +else +ifneq ($(test-library-pertasklib_OBJDIR),) + test-library-pertasklib-genmodfiles_STUBTARGETS := $(addprefix $(test-library-pertasklib-genmodfiles_TARGETDIR)/,$(test-library-pertasklib-genmodfiles_STUBTARGETS)) +endif +endif + +test-library-pertasklib-genmodfiles_TARGETS := $(test-library-pertasklib-genmodfiles_GENTARGETS) $(test-library-pertasklib-genmodfiles_STUBTARGETS) +ifneq ($(test-library-pertasklib-genmodfiles_TARGETDIRS),) +$(test-library-pertasklib-genmodfiles_TARGETS) : | $(test-library-pertasklib-genmodfiles_TARGETDIRS) +endif + +$(test-library-pertasklib-genmodfiles_TARGETS) : $(test-library-pertasklib-genmodfiles_DEPS) $(test-library-pertasklib-genmodfiles_GENFILEFLAG) + +$(test-library-pertasklib-genmodfiles_GENFILEFLAG) : OPTS := $(test-library-pertasklib-genmodfiles_OPTS) +$(test-library-pertasklib-genmodfiles_GENFILEFLAG) : MODNAME := pertask +$(test-library-pertasklib-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(test-library-pertasklib-genmodfiles_GENFILEFLAG) : $(test-library-pertasklib-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(test-library-pertasklib-genmodfiles_GENFILEFLAG) : $(test-library-pertasklib_DEFLIBDEFSINC) $(test-library-pertasklib-makefile) + + +ifneq ($(test-library-pertasklib-genmodfiles_GENFILEFLAG),) +$(test-library-pertasklib-genmodfiles_GENFILEFLAG) : | $(test-library-pertasklib_OBJDIR)/linklib +else +$(test-library-pertasklib-genmodfiles_GENFILEFLAG) :: $(test-library-pertasklib_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(test-library-pertasklib_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +test-library-pertasklib_FDDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +test-library-pertasklib_FDDIR := /../$(AROS_DIR_FD) +endif +test-library-pertasklib-fd : $(test-library-pertasklib_FDDIR)/pertask_lib.fd + + +TMP_TARGET := pertask_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/pertask.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/pertask.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(test-library-pertasklib_FDDIR),) + TMP_OPTS += -d $(test-library-pertasklib_FDDIR) + TMP_TARGET := $(test-library-pertasklib_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := pertask +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(test-library-pertasklib_FDDIR)/pertask_lib.fd : | $(test-library-pertasklib_FDDIR) + + +ifneq (test-library-pertasklib-fd-setup,) +test-library-pertasklib-fd-setup : | $(test-library-pertasklib_FDDIR) +else +test-library-pertasklib-fd-setup :: $(test-library-pertasklib_FDDIR) +endif + +GLOB_MKDIRS += $(test-library-pertasklib_FDDIR) + +endif + +## Compilation +## +test-library-pertasklib_FILES := getparentbase pertaskvalue +test-library-pertasklib_OBJCFILES := +test-library-pertasklib_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +test-library-pertasklib_LIBFILES := pertaskvalue_linklib +test-library-pertasklib_LIBS := + +test-library-pertasklib_FDIRS := $(sort $(dir $(test-library-pertasklib_FILES))) + +test-library-pertasklib_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +test-library-pertasklib_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call test-library-pertasklib_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +test-library-pertasklib_FILTERARCH = $(filter-out $(call test-library-pertasklib_MATCHARCH,$(1),$(2)),$(2)) +test-library-pertasklib_STARTFILES := $(addprefix $(test-library-pertasklib_OBJDIR)/,$($(test-library-pertasklib_DEFNAME)_STARTFILES)) +test-library-pertasklib_ENDFILES := $(addprefix $(test-library-pertasklib_OBJDIR)/,$($(test-library-pertasklib_DEFNAME)_ENDFILES)) + +test-library-pertasklib_ARCHOBJS := $(wildcard $(test-library-pertasklib_OBJDIR)/arch/*.o) +test-library-pertasklib_LIBARCHOBJS := $(wildcard $(test-library-pertasklib_OBJDIR)/linklib/arch/*.o) +test-library-pertasklib_ARCHFILES := $(basename $(notdir $(test-library-pertasklib_ARCHOBJS))) +test-library-pertasklib_LIBARCHFILES := $(basename $(notdir $(test-library-pertasklib_LIBARCHOBJS))) +test-library-pertasklib_C_NARCHFILES := $(call test-library-pertasklib_FILTERARCH,$(test-library-pertasklib_ARCHFILES),$(test-library-pertasklib_FILES)) +test-library-pertasklib_CXX_NARCHFILES := $(call test-library-pertasklib_FILTERARCH,$(test-library-pertasklib_ARCHFILES),$(test-library-pertasklib_CXXFILES)) +test-library-pertasklib_OBJC_NARCHFILES := $(call test-library-pertasklib_FILTERARCH,$(test-library-pertasklib_ARCHFILES),$(test-library-pertasklib_OBJCFILES)) +test-library-pertasklib_NLIBARCHFILES := $(call test-library-pertasklib_FILTERARCH,$(test-library-pertasklib_LIBARCHFILES),$(test-library-pertasklib_LIBFILES)) +test-library-pertasklib_ARCHNLIBFILES := $(call test-library-pertasklib_FILTERARCH,$(test-library-pertasklib_LIBFILES),$(test-library-pertasklib_LIBARCHFILES)) + +test-library-pertasklib_CPPFLAGS := $(strip $(CPPFLAGS) -I$(test-library-pertasklib_OBJDIR)/include -include $(test-library-pertasklib_DEFLIBDEFSINC)) +ifneq (,) +test-library-pertasklib_CPPFLAGS += -I +endif +test-library-pertasklib_LINKLIBCPPFLAGS := $(test-library-pertasklib_CPPFLAGS) +test-library-pertasklib_CPPFLAGS += $(strip $($(test-library-pertasklib_DEFNAME)_CPPFLAGS)) +test-library-pertasklib_LINKLIBCPPFLAGS += $(strip $($(test-library-pertasklib_DEFNAME)_LINKLIBCPPFLAGS)) +test-library-pertasklib_CFLAGS := $(strip $(CFLAGS) $($(test-library-pertasklib_DEFNAME)_CFLAGS)) +test-library-pertasklib_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(test-library-pertasklib_DEFNAME)_LINKLIBCFLAGS)) +test-library-pertasklib_CXXFLAGS := $(strip $(CXXFLAGS) $($(test-library-pertasklib_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-library-pertasklib_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +test-library-pertasklib_CFLAGS := $(strip $(test-library-pertasklib_LTOFLAGS) $(test-library-pertasklib_CFLAGS)) +test-library-pertasklib_LINKLIBCFLAGS := $(strip $(test-library-pertasklib_LTOFLAGS) $(test-library-pertasklib_LINKLIBCFLAGS)) +test-library-pertasklib_CXXFLAGS := $(strip $(test-library-pertasklib_LTOFLAGS) $(test-library-pertasklib_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-pertasklib_SUBSTNULL := +test-library-pertasklib_SUBSTSPACE := $(test-library-pertasklib_SUBSTNULL) # +test-library-pertasklib_SUBSTCOMMA := , +test-library-pertasklib_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(test-library-pertasklib_SUBSTSPACE),$(test-library-pertasklib_SUBSTCOMMA),$(strip $($(test-library-pertasklib_DEFNAME)_STARTFILES)))) +test-library-pertasklib_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-pertasklib_CFLAGS := $(strip $(test-library-pertasklib_INSTRFUNCFLAGS) $(test-library-pertasklib_CFLAGS)) +test-library-pertasklib_CXXFLAGS := $(strip $(test-library-pertasklib_INSTRFUNCFLAGS) $(test-library-pertasklib_CXXFLAGS)) +test-library-pertasklib_LIBS += $(test-library-pertasklib_INSTRFUNCLIBS) +endif +endif +test-library-pertasklib_DFLAGS := $(strip $(test-library-pertasklib_DFLAGS) $($(test-library-pertasklib_DEFNAME)_DFLAGS)) +test-library-pertasklib_LINKLIBDFLAGS := $(strip $(test-library-pertasklib_DFLAGS) $($(test-library-pertasklib_DEFNAME)_LINKLIBDFLAGS)) +test-library-pertasklib_DXXFLAGS := $(strip $(test-library-pertasklib_DXXFLAGS) $($(test-library-pertasklib_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + test-library-pertasklib_LIBSUFFIX := +else + test-library-pertasklib_LIBSUFFIX := .library +endif + +ifeq (,) +test-library-pertasklib_LIBDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +test-library-pertasklib_LIBDIR := +endif + +ifeq (M,M) +test-library-pertasklib_LINKLIBCFILES := $(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$($(test-library-pertasklib_DEFNAME)_LINKLIBFILES)) +test-library-pertasklib_LINKLIBAFILES := $(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$($(test-library-pertasklib_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(test-library-pertasklib_DEFNAME)_LINKLIBFILES) $($(test-library-pertasklib_DEFNAME)_LINKLIBAFILES) pertaskvalue_linklib $(test-library-pertasklib_ARCHNLIBFILES)),) + test-library-pertasklib_LINKLIB := +else + test-library-pertasklib_LINKLIB := $(test-library-pertasklib_LIBDIR)/libpertask$(test-library-pertasklib_LIBSUFFIX).a + ifneq (pertask,$(test-library-pertasklib_LINKLIBNAME)) + test-library-pertasklib_LINKLIB += $(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)$(test-library-pertasklib_LIBSUFFIX).a + endif +endif +test-library-pertasklib_LINKLIBFILES := $(test-library-pertasklib_LINKLIBCFILES) $(test-library-pertasklib_LINKLIBAFILES) + +test-library-pertasklib_RELLINKLIBCFILES := $(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$($(test-library-pertasklib_DEFNAME)_RELLINKLIBFILES)) +test-library-pertasklib_RELLINKLIBAFILES := $(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$($(test-library-pertasklib_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(test-library-pertasklib_DEFNAME)_RELLINKLIBFILES) $($(test-library-pertasklib_DEFNAME)_RELLINKLIBAFILES) pertaskvalue_linklib $(test-library-pertasklib_ARCHNLIBFILES)),) + test-library-pertasklib_RELLINKLIB := +else + test-library-pertasklib_RELLINKLIB := $(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_DEFNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a + ifneq (pertask,$(test-library-pertasklib_LINKLIBNAME)) + test-library-pertasklib_RELLINKLIB += $(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a + endif +endif +test-library-pertasklib_RELLINKLIBFILES := $(test-library-pertasklib_RELLINKLIBCFILES) $(test-library-pertasklib_RELLINKLIBAFILES) +endif + +test-library-pertasklib_ENDOBJS := $(addsuffix .o,$(test-library-pertasklib_ENDFILES)) +test-library-pertasklib_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(notdir $(test-library-pertasklib_NLIBARCHFILES))) $(addprefix $(test-library-pertasklib_OBJDIR)/linklib/arch/,$(notdir $(test-library-pertasklib_ARCHNLIBFILES))) $(test-library-pertasklib_LINKLIBFILES)) \ + +test-library-pertasklib_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(notdir $(test-library-pertasklib_NLIBARCHFILES))) $(addprefix $(test-library-pertasklib_OBJDIR)/linklib/arch/,$(notdir $(test-library-pertasklib_ARCHNLIBFILES))) $(test-library-pertasklib_RELLINKLIBFILES)) \ + +$(test-library-pertasklib_LINKLIBFILES) $(test-library-pertasklib_RELLINKLIBFILES) : | $(test-library-pertasklib_OBJDIR)/linklib +$(test-library-pertasklib_LINKLIBOBJS) $(test-library-pertasklib_RELLINKLIBOBJS) : | $(test-library-pertasklib_OBJDIR)/linklib + +test-library-pertasklib_CCFILES := $(test-library-pertasklib_C_NARCHFILES) +test-library-pertasklib_TARGETCCFILES := $(strip $(test-library-pertasklib_STARTFILES) $(test-library-pertasklib_ENDFILES)) +test-library-pertasklib_LINKLIBCCFILES := $(strip $(test-library-pertasklib_NLIBARCHFILES) $(test-library-pertasklib_LINKLIBCFILES) $(test-library-pertasklib_RELLINKLIBCFILES)) +test-library-pertasklib_LINKLIBCCGENFILES := $(strip $(test-library-pertasklib_LINKLIBCFILES) $(test-library-pertasklib_RELLINKLIBCFILES)) + + +test-library-pertasklib_CXXABSBASENAMES := $(foreach test-library-pertasklib_CXXBASE,$(test-library-pertasklib_CXX_NARCHFILES),$(if $(filter /%,$(test-library-pertasklib_CXXBASE)),$(test-library-pertasklib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-pertasklib_CXXBASE)))) + +ifneq ($(test-library-pertasklib_CXXABSBASENAMES),) + +test-library-pertasklib_CXXBASENAMES := $(basename $(test-library-pertasklib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-pertasklib_MCXX_FILES := $(strip $(foreach test-library-pertasklib_CXXBASE,$(test-library-pertasklib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-pertasklib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-pertasklib_EXT),$(test-library-pertasklib_CXXBASE))))))) + +ifeq (,) +test-library-pertasklib_MCXX_SRCWILDCARD := % +else +test-library-pertasklib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-pertasklib_OBJDIR),) + test-library-pertasklib_CXXTARGETS := $(notdir $(test-library-pertasklib_CXXBASENAMES:=.o)) + test-library-pertasklib_CXXDTARGETS := $(notdir $(test-library-pertasklib_CXXBASENAMES:=.d)) + test-library-pertasklib_MCXX_WILDCARD := % +else + test-library-pertasklib_CXXTARGETS := $(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(test-library-pertasklib_CXXBASENAMES:=.o))) + test-library-pertasklib_CXXDTARGETS := $(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(test-library-pertasklib_CXXBASENAMES:=.d))) + test-library-pertasklib_MCXX_WILDCARD := $(test-library-pertasklib_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-pertasklib_CXXTARGETS) $(test-library-pertasklib_CXXDTARGETS) : | $(test-library-pertasklib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-pertasklib_MCXX_CPPFLAGS := $(test-library-pertasklib_CPPFLAGS) +test-library-pertasklib_CXXFLAGS := $(test-library-pertasklib_CXXFLAGS) +ifeq ($(test-library-pertasklib_DXXFLAGS),) + test-library-pertasklib_DXXFLAGS := $(test-library-pertasklib_CXXFLAGS) +else + test-library-pertasklib_DXXFLAGS := $(test-library-pertasklib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-pertasklib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-pertasklib_STRIP ?= $(HOST_STRIP) + test-library-pertasklib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-pertasklib_CXXCMD:=$(HOST_CXX) + test-library-pertasklib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-pertasklib_MCXX_CPPFLAGS) $(test-library-pertasklib_MCXX_EXTRA_CPPFLAGS)) + test-library-pertasklib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-pertasklib_CXXFLAGS)) + test-library-pertasklib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-pertasklib_DXXFLAGS)) + test-library-pertasklib_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-pertasklib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-pertasklib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-pertasklib_STRIP ?= $(TARGET_STRIP) + test-library-pertasklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-pertasklib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-pertasklib_MCXX_CPPFLAGS := $(strip $(test-library-pertasklib_MCXX_CPPFLAGS) $(test-library-pertasklib_MCXX_EXTRA_CPPFLAGS)) + test-library-pertasklib_CXXFLAGS := $(strip $(test-library-pertasklib_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-pertasklib_DXXFLAGS := $(test-library-pertasklib_DXXFLAGS) + test-library-pertasklib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-pertasklib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-pertasklib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-pertasklib_STRIP ?= $(ECHO) >/dev/null + test-library-pertasklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-pertasklib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-pertasklib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-pertasklib_MCXX_CPPFLAGS) $(test-library-pertasklib_MCXX_EXTRA_CPPFLAGS)) + test-library-pertasklib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-pertasklib_CXXFLAGS)) + test-library-pertasklib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-pertasklib_DXXFLAGS)) + test-library-pertasklib_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-pertasklib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-pertasklib_CXXCMD) $(test-library-pertasklib_CXXIQUOTE) $(dir $(2)) $(test-library-pertasklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_CXXIQUOTE) . $(test-library-pertasklib_CXXIQUOTE_END) $(strip $(test-library-pertasklib_CXXFLAGS) $(test-library-pertasklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-pertasklib_CXXCMD) $(test-library-pertasklib_CXXIQUOTE) $(dir $(2)) $(test-library-pertasklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_CXXIQUOTE) . $(test-library-pertasklib_CXXIQUOTE_END) $(strip $(test-library-pertasklib_CXXFLAGS) $(test-library-pertasklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-pertasklib_CXXCMD) $(test-library-pertasklib_CXXIQUOTE) $(dir $(2)) $(test-library-pertasklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_CXXIQUOTE) . $(test-library-pertasklib_CXXIQUOTE_END) $(strip $(test-library-pertasklib_CXXFLAGS) $(test-library-pertasklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-pertasklib_CXXCMD)" $(MKDEPEND) $(strip $(test-library-pertasklib_DXXFLAGS) $(test-library-pertasklib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-pertasklib_OBJDIR),) + $(foreach test-library-pertasklib_CXXFILE,$(test-library-pertasklib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-pertasklib_CXXFILE))),$(test-library-pertasklib_CXXFILE)))) +else + $(foreach test-library-pertasklib_CXXFILE,$(test-library-pertasklib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(basename $(test-library-pertasklib_CXXFILE)))),$(test-library-pertasklib_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-pertasklib_OBJC_NARCHFILES),) + +ifeq (,) +test-library-pertasklib_MOBJC_SRCWILDCARD := % +else +test-library-pertasklib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-pertasklib_OBJDIR),) + test-library-pertasklib_MOBJC_TARGETS := $(addsuffix .o,$(test-library-pertasklib_OBJC_NARCHFILES)) + test-library-pertasklib_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-pertasklib_OBJC_NARCHFILES)) + test-library-pertasklib_MOBJC_WILDCARD := % +else + test-library-pertasklib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(test-library-pertasklib_OBJC_NARCHFILES))) + test-library-pertasklib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(test-library-pertasklib_OBJC_NARCHFILES))) + test-library-pertasklib_MOBJC_WILDCARD := $(test-library-pertasklib_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-pertasklib_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-pertasklib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-pertasklib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-pertasklib_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-pertasklib_MOBJC_DIRS := $(foreach dir, $(test-library-pertasklib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-pertasklib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-pertasklib_MOBJC_DIRS),) + test-library-pertasklib_MOBJC_DIRS := $(shell echo $(test-library-pertasklib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-pertasklib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-pertasklib_CC := $(TARGET_CC) +else + test-library-pertasklib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-pertasklib_MOBJC_CPPFLAGS := $(test-library-pertasklib_CPPFLAGS) +test-library-pertasklib_OBJCFLAGS := $(test-library-pertasklib_CFLAGS) +test-library-pertasklib_OBJCFLAGS := $(test-library-pertasklib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-pertasklib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-pertasklib_OBJCFLAGS))) +ifeq ($(test-library-pertasklib_DFLAGS),) + test-library-pertasklib_OBJCDFLAGS := $(test-library-pertasklib_CFLAGS) +else + test-library-pertasklib_OBJCDFLAGS := $(test-library-pertasklib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-pertasklib_LINK ?= $(strip $(test-library-pertasklib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-pertasklib_STRIP ?= $(TARGET_STRIP) + test-library-pertasklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-pertasklib_CC) $(TARGET_SYSROOT)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_MOBJC_CPPFLAGS:=$(strip $(test-library-pertasklib_MOBJC_CPPFLAGS) $(test-library-pertasklib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_OBJCFLAGS:=$(strip $(test-library-pertasklib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_OBJCDFLAGS:=$(test-library-pertasklib_OBJCDFLAGS) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-pertasklib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-pertasklib_STRIP ?= $(HOST_STRIP) + test-library-pertasklib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-pertasklib_MOBJC_CPPFLAGS) $(test-library-pertasklib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_OBJCFLAGS)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_OBJCDFLAGS)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(HOST_IQUOTE) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-pertasklib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-pertasklib_STRIP ?= $(ECHO) >/dev/null + test-library-pertasklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-pertasklib_MOBJC_CPPFLAGS) $(test-library-pertasklib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_OBJCFLAGS)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_OBJCDFLAGS)) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-pertasklib_MOBJC_TARGETS) $(test-library-pertasklib_MOBJC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-pertasklib_MOBJC_TARGETS) : CPPFLAGS := $(test-library-pertasklib_MOBJC_CPPFLAGS) +$(test-library-pertasklib_MOBJC_TARGETS) : CFLAGS := $(test-library-pertasklib_OBJCFLAGS) +$(test-library-pertasklib_MOBJC_TARGETS) : $(test-library-pertasklib_MOBJC_WILDCARD).o : $(test-library-pertasklib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-pertasklib_MOBJC_DTARGETS) : $(test-library-pertasklib_MOBJC_WILDCARD).d : $(test-library-pertasklib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-pertasklib_OBJCDFLAGS) $(test-library-pertasklib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-pertasklib_MC_SRCWILDCARD := % +else +test-library-pertasklib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-pertasklib_OBJDIR),) +test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(test-library-pertasklib_CCFILES)) +test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(test-library-pertasklib_CCFILES)) +test-library-pertasklib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(test-library-pertasklib_CCFILES)))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(test-library-pertasklib_CCFILES)))) +else +ifeq (,) + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(test-library-pertasklib_CCFILES))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(test-library-pertasklib_CCFILES))) +else + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(patsubst /%,%,$(test-library-pertasklib_CCFILES)))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(patsubst /%,%,$(test-library-pertasklib_CCFILES)))) +endif +endif +test-library-pertasklib_MC_TGTWILDCARD := $(test-library-pertasklib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-pertasklib_CCFILES)) + +# Be sure that all .c files are found +test-library-pertasklib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-pertasklib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-pertasklib_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-pertasklib_MC_DIRS := $(foreach dir, $(test-library-pertasklib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-pertasklib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-pertasklib_MC_DIRS),) + test-library-pertasklib_MC_DIRS := $(shell echo $(test-library-pertasklib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-pertasklib_MC_DIRS) +endif + +endif + +test-library-pertasklib_MC_CPPFLAGS := $(test-library-pertasklib_CPPFLAGS) +test-library-pertasklib_CFLAGS := $(test-library-pertasklib_CFLAGS) +ifeq ($(test-library-pertasklib_DFLAGS),) + test-library-pertasklib_DFLAGS := $(test-library-pertasklib_CFLAGS) +else + test-library-pertasklib_DFLAGS := $(test-library-pertasklib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-pertasklib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(TARGET_STRIP) +test-library-pertasklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(test-library-pertasklib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(test-library-pertasklib_DFLAGS) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-pertasklib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(HOST_STRIP) +test-library-pertasklib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_DFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-pertasklib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(ECHO) >/dev/null +test-library-pertasklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_DFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-pertasklib_MC_TARGETS) : CPPFLAGS := $(test-library-pertasklib_MC_CPPFLAGS) +$(test-library-pertasklib_MC_TARGETS) : CFLAGS := $(test-library-pertasklib_CFLAGS) +$(test-library-pertasklib_MC_TARGETS) : $(test-library-pertasklib_MC_TGTWILDCARD).o : $(test-library-pertasklib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-pertasklib_MC_DTARGETS) : $(test-library-pertasklib_MC_TGTWILDCARD).d : $(test-library-pertasklib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-pertasklib_DFLAGS) $(test-library-pertasklib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +test-library-pertasklib_MC_SRCWILDCARD := % +else +test-library-pertasklib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-pertasklib_OBJDIR),) +test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(test-library-pertasklib_TARGETCCFILES)) +test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(test-library-pertasklib_TARGETCCFILES)) +test-library-pertasklib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(test-library-pertasklib_TARGETCCFILES)))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(test-library-pertasklib_TARGETCCFILES)))) +else +ifeq (,) + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(test-library-pertasklib_TARGETCCFILES))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(test-library-pertasklib_TARGETCCFILES))) +else + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(patsubst /%,%,$(test-library-pertasklib_TARGETCCFILES)))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/,$(patsubst /%,%,$(test-library-pertasklib_TARGETCCFILES)))) +endif +endif +test-library-pertasklib_MC_TGTWILDCARD := $(test-library-pertasklib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-pertasklib_TARGETCCFILES)) + +# Be sure that all .c files are found +test-library-pertasklib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-pertasklib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-pertasklib_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-pertasklib_MC_DIRS := $(foreach dir, $(test-library-pertasklib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-pertasklib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-pertasklib_MC_DIRS),) + test-library-pertasklib_MC_DIRS := $(shell echo $(test-library-pertasklib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-pertasklib_MC_DIRS) +endif + +endif + +test-library-pertasklib_MC_CPPFLAGS := $(test-library-pertasklib_CPPFLAGS) -D__AROS__ +test-library-pertasklib_CFLAGS := $(test-library-pertasklib_CFLAGS) +ifeq ($(test-library-pertasklib_DFLAGS),) + test-library-pertasklib_DFLAGS := $(test-library-pertasklib_CFLAGS) +else + test-library-pertasklib_DFLAGS := $(test-library-pertasklib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-pertasklib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(TARGET_STRIP) +test-library-pertasklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(test-library-pertasklib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(test-library-pertasklib_DFLAGS) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-pertasklib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(HOST_STRIP) +test-library-pertasklib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_DFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-pertasklib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(ECHO) >/dev/null +test-library-pertasklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_DFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-pertasklib_MC_TARGETS) : CPPFLAGS := $(test-library-pertasklib_MC_CPPFLAGS) +$(test-library-pertasklib_MC_TARGETS) : CFLAGS := $(test-library-pertasklib_CFLAGS) +$(test-library-pertasklib_MC_TARGETS) : $(test-library-pertasklib_MC_TGTWILDCARD).o : $(test-library-pertasklib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-pertasklib_MC_DTARGETS) : $(test-library-pertasklib_MC_TGTWILDCARD).d : $(test-library-pertasklib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-pertasklib_DFLAGS) $(test-library-pertasklib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +test-library-pertasklib_MC_SRCWILDCARD := % +else +test-library-pertasklib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-pertasklib_OBJDIR)/linklib,) +test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(test-library-pertasklib_NLIBARCHFILES)) +test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(test-library-pertasklib_NLIBARCHFILES)) +test-library-pertasklib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(notdir $(test-library-pertasklib_NLIBARCHFILES)))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(notdir $(test-library-pertasklib_NLIBARCHFILES)))) +else +ifeq (,) + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(test-library-pertasklib_NLIBARCHFILES))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(test-library-pertasklib_NLIBARCHFILES))) +else + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(patsubst /%,%,$(test-library-pertasklib_NLIBARCHFILES)))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(patsubst /%,%,$(test-library-pertasklib_NLIBARCHFILES)))) +endif +endif +test-library-pertasklib_MC_TGTWILDCARD := $(test-library-pertasklib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-pertasklib_NLIBARCHFILES)) + +# Be sure that all .c files are found +test-library-pertasklib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-pertasklib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-pertasklib_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-pertasklib_MC_DIRS := $(foreach dir, $(test-library-pertasklib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-pertasklib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-pertasklib_MC_DIRS),) + test-library-pertasklib_MC_DIRS := $(shell echo $(test-library-pertasklib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-pertasklib_MC_DIRS) +endif + +endif + +test-library-pertasklib_MC_CPPFLAGS := $(test-library-pertasklib_LINKLIBCPPFLAGS) -D__AROS__ +test-library-pertasklib_CFLAGS := $(test-library-pertasklib_LINKLIBCFLAGS) +ifeq ($(test-library-pertasklib_LINKLIBDFLAGS),) + test-library-pertasklib_DFLAGS := $(test-library-pertasklib_LINKLIBCFLAGS) +else + test-library-pertasklib_DFLAGS := $(test-library-pertasklib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-pertasklib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(TARGET_STRIP) +test-library-pertasklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(test-library-pertasklib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(test-library-pertasklib_DFLAGS) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-pertasklib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(HOST_STRIP) +test-library-pertasklib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_DFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-pertasklib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(ECHO) >/dev/null +test-library-pertasklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_DFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-pertasklib_MC_TARGETS) : CPPFLAGS := $(test-library-pertasklib_MC_CPPFLAGS) +$(test-library-pertasklib_MC_TARGETS) : CFLAGS := $(test-library-pertasklib_CFLAGS) +$(test-library-pertasklib_MC_TARGETS) : $(test-library-pertasklib_MC_TGTWILDCARD).o : $(test-library-pertasklib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-pertasklib_MC_DTARGETS) : $(test-library-pertasklib_MC_TGTWILDCARD).d : $(test-library-pertasklib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-pertasklib_DFLAGS) $(test-library-pertasklib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-pertasklib_OBJDIR)/linklib,) +test-library-pertasklib_MC_SRCWILDCARD := % +else +test-library-pertasklib_MC_SRCWILDCARD := $(test-library-pertasklib_OBJDIR)/linklib/% +endif + +ifeq ($(test-library-pertasklib_OBJDIR)/linklib,) +test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(test-library-pertasklib_LINKLIBCCGENFILES)) +test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(test-library-pertasklib_LINKLIBCCGENFILES)) +test-library-pertasklib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(notdir $(test-library-pertasklib_LINKLIBCCGENFILES)))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(notdir $(test-library-pertasklib_LINKLIBCCGENFILES)))) +else +ifeq ($(test-library-pertasklib_OBJDIR)/linklib,) + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(test-library-pertasklib_LINKLIBCCGENFILES))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(test-library-pertasklib_LINKLIBCCGENFILES))) +else + test-library-pertasklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(patsubst $(test-library-pertasklib_OBJDIR)/linklib/%,%,$(test-library-pertasklib_LINKLIBCCGENFILES)))) + test-library-pertasklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(patsubst $(test-library-pertasklib_OBJDIR)/linklib/%,%,$(test-library-pertasklib_LINKLIBCCGENFILES)))) +endif +endif +test-library-pertasklib_MC_TGTWILDCARD := $(test-library-pertasklib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-pertasklib_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +test-library-pertasklib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-pertasklib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-pertasklib_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-pertasklib_MC_DIRS := $(foreach dir, $(test-library-pertasklib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-pertasklib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-pertasklib_MC_DIRS),) + test-library-pertasklib_MC_DIRS := $(shell echo $(test-library-pertasklib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-pertasklib_MC_DIRS) +endif + +endif + +test-library-pertasklib_MC_CPPFLAGS := $(test-library-pertasklib_LINKLIBCPPFLAGS) -D__AROS__ +test-library-pertasklib_CFLAGS := $(test-library-pertasklib_LINKLIBCFLAGS) +ifeq ($(test-library-pertasklib_LINKLIBDFLAGS),) + test-library-pertasklib_DFLAGS := $(test-library-pertasklib_LINKLIBCFLAGS) +else + test-library-pertasklib_DFLAGS := $(test-library-pertasklib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-pertasklib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(TARGET_STRIP) +test-library-pertasklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(test-library-pertasklib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(test-library-pertasklib_DFLAGS) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-pertasklib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(HOST_STRIP) +test-library-pertasklib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-pertasklib_DFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-pertasklib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-pertasklib_STRIP ?= $(ECHO) >/dev/null +test-library-pertasklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-pertasklib_MC_CPPFLAGS) $(test-library-pertasklib_MC_EXTRA_CPPFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_CFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-pertasklib_DFLAGS)) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-pertasklib_MC_TARGETS) $(test-library-pertasklib_MC_DTARGETS) : test-library-pertasklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-pertasklib_MC_TARGETS) : CPPFLAGS := $(test-library-pertasklib_MC_CPPFLAGS) +$(test-library-pertasklib_MC_TARGETS) : CFLAGS := $(test-library-pertasklib_CFLAGS) +$(test-library-pertasklib_MC_TARGETS) : $(test-library-pertasklib_MC_TGTWILDCARD).o : $(test-library-pertasklib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-pertasklib_IQUOTE) $(dir $<) $(test-library-pertasklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-pertasklib_IQUOTE) . $(test-library-pertasklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-pertasklib_MC_DTARGETS) : $(test-library-pertasklib_MC_TGTWILDCARD).d : $(test-library-pertasklib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-pertasklib_DFLAGS) $(test-library-pertasklib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(test-library-pertasklib_LINKLIBAFILES),) + +ifeq ($(test-library-pertasklib_OBJDIR)/linklib,) +test-library-pertasklib-MA_TARGETS := $(addsuffix .o,$(test-library-pertasklib_LINKLIBAFILES) $(test-library-pertasklib_RELLINKLIBAFILES)) +test-library-pertasklib-MA_WILDCARD := % +else +test-library-pertasklib-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(notdir $(test-library-pertasklib_LINKLIBAFILES) $(test-library-pertasklib_RELLINKLIBAFILES)))) +test-library-pertasklib-MA_WILDCARD := $(test-library-pertasklib_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(test-library-pertasklib-MA_TARGETS) : | $(addsuffix .S,$(test-library-pertasklib_LINKLIBAFILES) $(test-library-pertasklib_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +test-library-pertasklib-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-pertasklib-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-pertasklib_LINKLIBAFILES) $(test-library-pertasklib_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-pertasklib-MA_DIRS := $(foreach dir, $(test-library-pertasklib-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-pertasklib-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-pertasklib-MA_DIRS),) + test-library-pertasklib-MA_DIRS := $(shell echo $(test-library-pertasklib-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(test-library-pertasklib-MA_DIRS) +endif + +endif + +test-library-pertasklib-MA_ASSEMBLER ?= $(test-library-pertasklib_ASSEMBLER) + +$(test-library-pertasklib-MA_TARGETS) : test-library-pertasklib-MA_CMD:= $(test-library-pertasklib-MA_ASSEMBLER) + +$(test-library-pertasklib-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(test-library-pertasklib-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(test-library-pertasklib-MA_TARGETS) : $(test-library-pertasklib-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-pertasklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-pertasklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-pertasklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +test-library-pertasklib_SUFFIX := library +else +test-library-pertasklib_SUFFIX := +endif + +ifeq (target,target) +test-library-pertasklib_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-pertasklib_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-pertasklib_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(test-library-pertasklib_SUFFIX),handler) +test-library-pertasklib_MODULE := $(TARGETDIR)/$(test-library-pertasklib_MODDIR)/$(test-library-pertasklib_DEFNAME)-$(test-library-pertasklib_SUFFIX) +else +test-library-pertasklib_MODULE := $(TARGETDIR)/$(test-library-pertasklib_MODDIR)/$(test-library-pertasklib_DEFNAME).$(test-library-pertasklib_SUFFIX) +endif +test-library-pertasklib_KOBJ := $(KOBJSDIR)/$(test-library-pertasklib_DEFNAME)_$(test-library-pertasklib_SUFFIX).o +else +test-library-pertasklib_MODULE := +test-library-pertasklib_KOBJ := +endif + +test-library-pertasklib-quick : test-library-pertasklib +test-library-pertasklib : $(test-library-pertasklib_MODULE) $(test-library-pertasklib_LINKLIB) $(test-library-pertasklib_RELLINKLIB) +ifeq (M,M) +test-library-pertasklib-kobj : $(test-library-pertasklib_KOBJ) $(test-library-pertasklib_LINKLIB) $(test-library-pertasklib_RELLINKLIB) +test-library-pertasklib-kobj-quick : $(test-library-pertasklib_KOBJ) $(test-library-pertasklib_LINKLIB) $(test-library-pertasklib_RELLINKLIB) +endif +ifeq (M,M) +test-library-pertasklib-linklib : $(test-library-pertasklib_LINKLIB) $(test-library-pertasklib_RELLINKLIB) +endif + +test-library-pertasklib_OBJS := $(addsuffix .o,$(test-library-pertasklib_STARTFILES)) $(test-library-pertasklib_ARCHOBJS) \ + $(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(test-library-pertasklib_C_NARCHFILES:=.o) $(test-library-pertasklib_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +test-library-pertasklib_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (pertask,con) + test-library-pertasklib_ERR := $(notdir $(test-library-pertasklib_MODULE)).err +else + test-library-pertasklib_ERR := pertask.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(test-library-pertasklib_DEFNAME)_LDFLAGS) $(test-library-pertasklib_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-pertasklib_LIBS) $($(test-library-pertasklib_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(test-library-pertasklib_MODULE) : LIB_NAMES := $(test-library-pertasklib_LIBS) $($(test-library-pertasklib_DEFNAME)_LIBS) +$(test-library-pertasklib_MODULE) : OBJS := $(test-library-pertasklib_STARTOBJS) $(test-library-pertasklib_OBJS) $(USER_OBJS) +$(test-library-pertasklib_MODULE) : ENDTAG := $(test-library-pertasklib_ENDOBJS) +$(test-library-pertasklib_MODULE) : ERR := $(test-library-pertasklib_ERR) +$(test-library-pertasklib_MODULE) : OBJDIR := $(test-library-pertasklib_OBJDIR) +$(test-library-pertasklib_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(test-library-pertasklib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(test-library-pertasklib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(test-library-pertasklib_MODULE) : $(test-library-pertasklib_STARTOBJS) $(test-library-pertasklib_OBJS) $(USER_OBJS) $(test-library-pertasklib_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(test-library-pertasklib_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(test-library-pertasklib_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +test-library-pertasklib_LC_LINKLIBNAME := $(shell echo $(test-library-pertasklib_LINKLIBNAME) | tr A-Z a-z) +test-library-pertasklib_LC_MODNAME := $(shell echo pertask | tr A-Z a-z) +ifneq ($(test-library-pertasklib_LINKLIB),) + +ifeq (target,target) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(HOST_AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(KERNEL_AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)$(test-library-pertasklib_LIBSUFFIX).a : $(test-library-pertasklib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-pertasklib_AR) $@ $^ + $(Q)$(test-library-pertasklib_RANLIB) $@ +ifneq ($(test-library-pertasklib_LC_MODNAME),$(test-library-pertasklib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(test-library-pertasklib_LIBDIR)/libpertask$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(AR) +$(test-library-pertasklib_LIBDIR)/libpertask$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-pertasklib_LIBDIR)/libpertask$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(HOST_AR) +$(test-library-pertasklib_LIBDIR)/libpertask$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-pertasklib_LIBDIR)/libpertask$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(KERNEL_AR) +$(test-library-pertasklib_LIBDIR)/libpertask$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-pertasklib_LIBDIR)/libpertask$(test-library-pertasklib_LIBSUFFIX).a : $(test-library-pertasklib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-pertasklib_AR) $@ $^ + $(Q)$(test-library-pertasklib_RANLIB) $@ +endif + + +ifneq ($(test-library-pertasklib_LINKLIB),) +$(test-library-pertasklib_LINKLIB) : | $(test-library-pertasklib_LIBDIR) +else +$(test-library-pertasklib_LINKLIB) :: $(test-library-pertasklib_LIBDIR) +endif + +GLOB_MKDIRS += $(test-library-pertasklib_LIBDIR) + +endif + +ifneq ($(test-library-pertasklib_RELLINKLIB),) + +ifeq (target,target) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(HOST_AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(KERNEL_AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_LINKLIBNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : $(test-library-pertasklib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-pertasklib_AR) $@ $^ + $(Q)$(test-library-pertasklib_RANLIB) $@ +ifneq ($(test-library-pertasklib_LC_MODNAME),$(test-library-pertasklib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_DEFNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_DEFNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_DEFNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(HOST_AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_DEFNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_DEFNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_AR:=$(KERNEL_AR) +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_DEFNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : test-library-pertasklib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-pertasklib_LIBDIR)/lib$(test-library-pertasklib_DEFNAME)_rel$(test-library-pertasklib_LIBSUFFIX).a : $(test-library-pertasklib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-pertasklib_AR) $@ $^ + $(Q)$(test-library-pertasklib_RANLIB) $@ +endif + + +ifneq ($(test-library-pertasklib_RELLINKLIB),) +$(test-library-pertasklib_RELLINKLIB) : | $(test-library-pertasklib_LIBDIR) +else +$(test-library-pertasklib_RELLINKLIB) :: $(test-library-pertasklib_LIBDIR) +endif + +GLOB_MKDIRS += $(test-library-pertasklib_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +test-library-pertasklib_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +test-library-pertasklib_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +test-library-pertasklib_SYMBOLS := $(test-library-pertasklib_KBASE) + +test-library-pertasklib_KLIB := hiddstubs amiga arossupport autoinit libinit +test-library-pertasklib_KOBJ_LIBS := $(filter-out $(test-library-pertasklib_KLIB),$(test-library-pertasklib_LIBS)) $(test-library-pertasklib_KAUTOLIB) +$(test-library-pertasklib_KOBJ) : LINKLIBS:=$(test-library-pertasklib_KOBJ_LIBS) $($(test-library-pertasklib_DEFNAME)_LIBS) +$(test-library-pertasklib_KOBJ) : FILTBASES:=$(addprefix -L ,$(test-library-pertasklib_SYMBOLS)) +$(test-library-pertasklib_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(test-library-pertasklib_KOBJ) : $(test-library-pertasklib_OBJS) $(USER_OBJS) $(test-library-pertasklib_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +test-library-pertasklib_DEPS := $(addprefix $(test-library-pertasklib_OBJDIR)/,$(notdir $(test-library-pertasklib_CCFILES:=.d) $(test-library-pertasklib_TARGETCCFILES:=.d) $(test-library-pertasklib_CXXFILES:=.d))) $(addprefix $(test-library-pertasklib_OBJDIR)/linklib/,$(notdir $(test-library-pertasklib_LINKLIBCCFILES:=.d))) + +ifneq ($(test-library-pertasklib_DEPS),) + ifneq (test-library-pertasklib test-library-pertasklib-quick test-library-pertasklib-kobj test-library-pertasklib-kobj-quick,) + ifneq ($(findstring $(TARGET),test-library-pertasklib test-library-pertasklib-quick test-library-pertasklib-kobj test-library-pertasklib-kobj-quick),) + -include $(test-library-pertasklib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-pertasklib_DEPS) + endif + endif +endif + +$(test-library-pertasklib_OBJS) $(test-library-pertasklib_DEPS) : | $(test-library-pertasklib_OBJDIR)/linklib + +ifneq ($(test-library-pertasklib_OBJS) $(test-library-pertasklib_DEPS) $(test-library-pertasklib_MODULE) $(test-library-pertasklib_KOBJ),) +$(test-library-pertasklib_OBJS) $(test-library-pertasklib_DEPS) $(test-library-pertasklib_MODULE) $(test-library-pertasklib_KOBJ) : | $(test-library-pertasklib_OBJDIR) $(TARGETDIR)/$(test-library-pertasklib_MODDIR) $(KOBJSDIR) +else +$(test-library-pertasklib_OBJS) $(test-library-pertasklib_DEPS) $(test-library-pertasklib_MODULE) $(test-library-pertasklib_KOBJ) :: $(test-library-pertasklib_OBJDIR) $(TARGETDIR)/$(test-library-pertasklib_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(test-library-pertasklib_OBJDIR) $(TARGETDIR)/$(test-library-pertasklib_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),test-library-pertasklib test-library-pertasklib-includes test-library-pertasklib-quick test-library-pertasklib-kobj test-library-pertasklib-kobj-quick),) # Only for this target these deps are wanted + +test-library-pertasklib_DFILE_DEPS := $(test-library-pertasklib_LIBDEFSINC) $(test-library-pertasklib_DEFLIBDEFSINC) \ + $(addprefix $(test-library-pertasklib_INCDIR)/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) +$(test-library-pertasklib_DEPS) : $(test-library-pertasklib_DFILE_DEPS) +endif + +test-library-pertasklib_TOCLEAN := $(test-library-pertasklib_OBJS) $(test-library-pertasklib_DEPS) \ + $(test-library-pertasklib_MODULE) $(test-library-pertasklib_LINKLIB) $(test-library-pertasklib_KOBJ) \ + $(test-library-pertasklib_OBJDIR)/Makefile.pertasklibrary \ + $(addprefix $(test-library-pertasklib_OBJDIR)/include/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) \ + $(addprefix $(test-library-pertasklib_INCDIR)/,$($(test-library-pertasklib_DEFNAME)_INCLUDES)) \ + $(test-library-pertasklib_OBJDIR)/pertask_geninc $(test-library-pertasklib_OBJDIR)/pertask_incs \ + $(addsuffix .c,$(test-library-pertasklib_LINKLIBFILES)) $(test-library-pertasklib_LINKLIBOBJS) $(test-library-pertasklib_LIBDEFSINC) \ + $(test-library-pertasklib_DEFLIBDEFSINC) $(addsuffix .c,$(test-library-pertasklib_STARTFILES) $(test-library-pertasklib_ENDFILES)) \ + $(test-library-pertasklib_ENDOBJS) +test-library-pertasklib-clean : FILES := $(test-library-pertasklib_TOCLEAN) +test-library-pertasklib-clean :: + $(Q)$(ECHO) "Cleaning up for module pertask" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(test-library-pertasklib_ALLTARGETS) + + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM test-library-userellib +#MM test-library-userellib-quick +#MM test-library-userellib-makefile +#MM test-library-userellib-clean + +# ABI targets: +#MM- includes-all : test-library-userellib-includes +#MM- linklibs-userel: test-library-userellib-linklib +#MM- linklibs-userel_rel : test-library-userellib-linklib +#MM- includes-userel: test-library-userellib-includes +#MM- includes-userel_rel : test-library-userellib-includes +#MM- test-library-userellib : test-library-userellib-includes core-linklibs linklibs- +#MM test-library-userellib-linklib : test-library-userellib-includes includes- +#MM- test-library-userellib-quick : test-library-userellib-includes-quick +#MM test-library-userellib-includes : test-library-userellib-makefile test-library-userellib-includes-dirs \ +#MM includes-generate-deps test-library-userellib-fd +#MM test-library-userellib-includes-quick +#MM test-library-userellib-includes-dirs +#MM test-library-userellib-fd + +# Library targets +#MM test-library-userellib-kobj : core-linklibs linklibs- +#MM test-library-userellib-kobj-quick : + +# Library with ABI targets: +#MM test-library-userellib-kobj : test-library-userellib-includes core-linklibs linklibs- +#MM test-library-userellib-kobj-quick : test-library-userellib-includes-quick + +# All MetaMake targets defined by this macro +test-library-userellib_ALLTARGETS := test-library-userellib test-library-userellib-quick test-library-userellib-clean + +ifeq (M,M) +test-library-userellib_ALLTARGETS += test-library-userellib-kobj test-library-userellib-kobj-quick +endif + +ifeq (M,M) +test-library-userellib_ALLTARGETS += test-library-userellib-includes \ + test-library-userellib-includes-quick test-library-userellib-includes-dirs \ + test-library-userellib-linklib test-library-userellib-fd +endif + +.PHONY : $(test-library-userellib_ALLTARGETS) test-library-userellib-makefile + +ifeq (userel,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + test-library-userellib_DEFNAME := userel_ +else + test-library-userellib_DEFNAME := userel +endif +test-library-userellib_DEFLINKLIBNAME := $(test-library-userellib_DEFNAME) +ifneq (,) + test-library-userellib_LINKLIBNAME := +else + test-library-userellib_LINKLIBNAME = $(test-library-userellib_DEFLINKLIBNAME) +endif +test-library-userellib_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-library-userellib_DEFCPPFLAGS += -I +endif +test-library-userellib_DEFDFLAGS := $(CFLAGS) +ifneq (,) + test-library-userellib_DFLAGS := +else + test-library-userellib_DFLAGS = $(test-library-userellib_DEFDFLAGS) +endif +test-library-userellib_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + test-library-userellib_DXXFLAGS := +else + test-library-userellib_DXXFLAGS = $(test-library-userellib_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-library-userellib_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(test-library-userellib_DEFDFLAGS)) +test-library-userellib_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(test-library-userellib_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-userellib_FUNCINSTR := yes +test-library-userellib_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-library-userellib_DEFDFLAGS)) +test-library-userellib_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-library-userellib_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +test-library-userellib_OBJDIR := +else +test-library-userellib_OBJDIR := $(OBJDIR)/$(test-library-userellib_DEFNAME) +endif +ifneq (,) +test-library-userellib_OBJDIR := $(test-library-userellib_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +test-library-userellib-makefile := $(test-library-userellib_OBJDIR)/Makefile.$(test-library-userellib_DEFNAME)library +test-library-userellib-genmakefile : $(test-library-userellib-makefile) + + +test-library-userellib-genmakefile_OPTS := +ifneq (,) + test-library-userellib-genmakefile_OPTS += -f + test-library-userellib-genmakefile_MODNAME := userel_ +else + test-library-userellib-genmakefile_MODNAME := userel +endif +test-library-userellib-genmakefile_TARGET := Makefile.$(test-library-userellib-genmakefile_MODNAME)library +test-library-userellib-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-userellib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-userellib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-userellib-genmakefile_OPTS += -c + test-library-userellib-genmakefile_DEPS += + endif +else + test-library-userellib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/userel.conf + test-library-userellib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/userel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-userellib-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-userellib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-userellib-genmakefile_OPTS += -o + test-library-userellib-genmakefile_DEPS += + endif +endif +ifneq (,) + test-library-userellib-genmakefile_OPTS += -s +endif +ifneq ($(test-library-userellib_OBJDIR),) + test-library-userellib-genmakefile_OPTS += -d $(test-library-userellib_OBJDIR) + test-library-userellib-genmakefile_TARGET := $(test-library-userellib_OBJDIR)/$(test-library-userellib-genmakefile_TARGET) +endif + +$(test-library-userellib-genmakefile_TARGET) : OPTS := $(test-library-userellib-genmakefile_OPTS) +$(test-library-userellib-genmakefile_TARGET) : MODNAME := userel +$(test-library-userellib-genmakefile_TARGET) : MODTYPE := library +$(test-library-userellib-genmakefile_TARGET) : $(test-library-userellib-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(test-library-userellib-makefile),) +$(test-library-userellib-makefile) : | $(test-library-userellib_OBJDIR) +else +$(test-library-userellib-makefile) :: $(test-library-userellib_OBJDIR) +endif + +GLOB_MKDIRS += $(test-library-userellib_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(test-library-userellib_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(test-library-userellib-makefile) + +test-library-userellib_DEFMODDIR := $($(test-library-userellib_DEFNAME)_MODDIR) +ifeq (no,yes) +test-library-userellib_DEFMODDIR := $(AROS_DIR_ARCH)/$(test-library-userellib_DEFMODDIR) +endif +ifneq (,) + test-library-userellib_MODDIR := +else + test-library-userellib_MODDIR := $(test-library-userellib_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +test-library-userellib_INCDIR := +else +test-library-userellib_INCDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +test-library-userellib_LIBDEFSINC := $(test-library-userellib_OBJDIR)/include/$(test-library-userellib_DEFNAME)_libdefs.h +test-library-userellib_DEFLIBDEFSINC := $(test-library-userellib_OBJDIR)/include/$(test-library-userellib_DEFNAME)_deflibdefs.h + +ifeq (M,M) +test-library-userellib-includes-quick : test-library-userellib-includes +test-library-userellib-includes : $(addprefix $(GENINCDIR)/,$($(test-library-userellib_DEFNAME)_INCLUDES)) \ + $(addprefix $(test-library-userellib_INCDIR)/,$($(test-library-userellib_DEFNAME)_INCLUDES)) \ + $(test-library-userellib_LIBDEFSINC) $(test-library-userellib_DEFLIBDEFSINC) + +ifneq ($($(test-library-userellib_DEFNAME)_INCLUDES),) + +ifneq (,) + test-library-userellib-includes_MODNAME := userel_ +else + test-library-userellib-includes_MODNAME := userel +endif + +ifneq ($($(test-library-userellib-includes_MODNAME)_INCLUDES),) + +test-library-userellib-includes_TARGETS := $($(test-library-userellib-includes_MODNAME)_INCLUDES) + +test-library-userellib-includes_DEPS := $(GENMODULE) +test-library-userellib-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + test-library-userellib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-userellib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-userellib-includes_OPTS += -c + test-library-userellib-includes_DEPS += + endif +else + test-library-userellib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/userel.conf + test-library-userellib-includes_DEPS += $(SRCDIR)/$(CURDIR)/userel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-userellib-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-userellib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-userellib-includes_OPTS += -o + test-library-userellib-includes_DEPS += + endif +endif +ifneq (,) + test-library-userellib-includes_OPTS += -s +endif +ifneq ($(test-library-userellib_OBJDIR)/include,) + test-library-userellib-includes_OPTS += -d $(test-library-userellib_OBJDIR)/include + test-library-userellib-includes_TARGETS := $(addprefix $(test-library-userellib_OBJDIR)/include/,$(test-library-userellib-includes_TARGETS)) + test-library-userellib-includes_GENINCFLAG=$(test-library-userellib_OBJDIR)/include/.userel.library-includes +else + test-library-userellib-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.userel.library-includes +endif + +$(test-library-userellib-includes_TARGETS) : $(test-library-userellib-includes_DEPS) $(test-library-userellib-includes_GENINCFLAG) + +$(test-library-userellib-includes_GENINCFLAG) : OPTS := $(test-library-userellib-includes_OPTS) +$(test-library-userellib-includes_GENINCFLAG) : MODNAME := userel +$(test-library-userellib-includes_GENINCFLAG) : MODTYPE := library +$(test-library-userellib-includes_GENINCFLAG) : $(test-library-userellib-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(test-library-userellib_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(test-library-userellib_DEFNAME)_INCLUDES)) : | $(test-library-userellib_OBJDIR)/userel_geninc + +$(test-library-userellib_OBJDIR)/userel_geninc : COPYSRCDIR := $(test-library-userellib_OBJDIR)/include +$(test-library-userellib_OBJDIR)/userel_geninc : TGTDIR := $(GENINCDIR) +$(test-library-userellib_OBJDIR)/userel_geninc : FILES := $($(test-library-userellib_DEFNAME)_INCLUDES) +$(test-library-userellib_OBJDIR)/userel_geninc : $(addprefix $(test-library-userellib_OBJDIR)/include/,$($(test-library-userellib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(test-library-userellib_OBJDIR)/include + +$(addprefix $(test-library-userellib_INCDIR)/,$($(test-library-userellib_DEFNAME)_INCLUDES)) : | $(test-library-userellib_OBJDIR)/userel_incs + +$(test-library-userellib_OBJDIR)/userel_incs : COPYSRCDIR := $(test-library-userellib_OBJDIR)/include +$(test-library-userellib_OBJDIR)/userel_incs : TGTDIR := $(test-library-userellib_INCDIR) +$(test-library-userellib_OBJDIR)/userel_incs : FILES := $($(test-library-userellib_DEFNAME)_INCLUDES) +$(test-library-userellib_OBJDIR)/userel_incs : $(addprefix $(test-library-userellib_OBJDIR)/include/,$($(test-library-userellib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +test-library-userellib_INCDIRS := $(filter-out ./,$(sort $(dir $($(test-library-userellib_DEFNAME)_INCLUDES)))) + +TMPuserel_INCDIRS := \ + $(test-library-userellib_OBJDIR)/include $(addprefix $(test-library-userellib_OBJDIR)/include/,$(test-library-userellib_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(test-library-userellib_INCDIRS)) \ + $(test-library-userellib_INCDIR) $(addprefix $(test-library-userellib_INCDIR)/,$(test-library-userellib_INCDIRS)) + +ifneq (test-library-userellib-includes-dirs,) +test-library-userellib-includes-dirs : | $(TMPuserel_INCDIRS) +else +test-library-userellib-includes-dirs :: $(TMPuserel_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPuserel_INCDIRS) + + +endif + +endif + + +test-library-userellib-genlibdefs_OPTS := +ifneq (,) + test-library-userellib-genlibdefs_OPTS += -f + test-library-userellib-genlibdefs_MODNAME := userel_ +else + test-library-userellib-genlibdefs_MODNAME := userel +endif +test-library-userellib-genlibdefs_TARGET := $(test-library-userellib-genlibdefs_MODNAME)_libdefs.h +test-library-userellib-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-userellib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-userellib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-userellib-genlibdefs_OPTS += -c + test-library-userellib-genlibdefs_DEPS += + endif +else + test-library-userellib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/userel.conf + test-library-userellib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/userel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-userellib-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-userellib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-userellib-genlibdefs_OPTS += -o + test-library-userellib-genlibdefs_DEPS += + endif +endif +ifneq (,) + test-library-userellib-genlibdefs_OPTS += -s +endif +ifneq ($(test-library-userellib_OBJDIR)/include,) + test-library-userellib-genlibdefs_OPTS += -d $(test-library-userellib_OBJDIR)/include + test-library-userellib-genlibdefs_TARGET := $(test-library-userellib_OBJDIR)/include/$(test-library-userellib-genlibdefs_TARGET) +endif +ifneq (,) + test-library-userellib-genlibdefs_OPTS += -v +endif + +$(test-library-userellib-genlibdefs_TARGET) : OPTS := $(test-library-userellib-genlibdefs_OPTS) +$(test-library-userellib-genlibdefs_TARGET) : MODNAME := userel +$(test-library-userellib-genlibdefs_TARGET) : MODTYPE := library +$(test-library-userellib-genlibdefs_TARGET) : $(test-library-userellib-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(test-library-userellib_DEFLIBDEFSINC) : FILENAME := $(test-library-userellib_LIBDEFSINC) +$(test-library-userellib_DEFLIBDEFSINC) : $(test-library-userellib_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(test-library-userellib_LIBDEFSINC) $(test-library-userellib_DEFLIBDEFSINC) : | $(test-library-userellib_OBJDIR)/include + +ifneq (test-library-userellib-includes-dirs,) +test-library-userellib-includes-dirs : | $(test-library-userellib_OBJDIR)/include +else +test-library-userellib-includes-dirs :: $(test-library-userellib_OBJDIR)/include +endif + +GLOB_MKDIRS += $(test-library-userellib_OBJDIR)/include + + +## Extra genmodule src files generation +## + +test-library-userellib-genmodfiles_OPTS := +ifneq (,) + test-library-userellib-genmodfiles_OPTS += -f + test-library-userellib-genmodfiles_MODNAME := userel_ +else + test-library-userellib-genmodfiles_MODNAME := userel +endif +test-library-userellib-genmodfiles_GENTARGETS := $($(test-library-userellib-genmodfiles_MODNAME)_STARTFILES) $($(test-library-userellib-genmodfiles_MODNAME)_ENDFILES) +test-library-userellib-genmodfiles_STUBTARGETS := $($(test-library-userellib-genmodfiles_MODNAME)_LINKLIBFILES) $($(test-library-userellib-genmodfiles_MODNAME)_RELLINKLIBFILES) +test-library-userellib-genmodfiles_GENTARGETS := $(addsuffix .c,$(test-library-userellib-genmodfiles_GENTARGETS)) +test-library-userellib-genmodfiles_STUBTARGETS := $(addsuffix .c,$(test-library-userellib-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(test-library-userellib-genmodfiles_MODNAME)_LINKLIBAFILES) $($(test-library-userellib-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +test-library-userellib-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + test-library-userellib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + test-library-userellib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-userellib-genmodfiles_OPTS += -c + test-library-userellib-genmodfiles_DEPS += + endif +else + test-library-userellib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/userel.conf + test-library-userellib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/userel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + test-library-userellib-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + test-library-userellib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + test-library-userellib-genmodfiles_OPTS += -o + test-library-userellib-genmodfiles_DEPS += + endif +endif +ifneq (,) + test-library-userellib-genmodfiles_OPTS += -s +endif +ifneq ($(test-library-userellib_OBJDIR),) + test-library-userellib-genmodfiles_OPTS += -d $(test-library-userellib_OBJDIR) + test-library-userellib-genmodfiles_TARGETDIR := $(shell echo $(test-library-userellib_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-userellib-genmodfiles_GENTARGETS := $(addprefix $(test-library-userellib-genmodfiles_TARGETDIR)/,$(test-library-userellib-genmodfiles_GENTARGETS)) + test-library-userellib-genmodfiles_GENFILEFLAG=$(test-library-userellib-genmodfiles_TARGETDIR)/.userel.library-genfiles +else + test-library-userellib-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.userel.library-genfiles +endif +ifneq ($(test-library-userellib_OBJDIR)/linklib,) + test-library-userellib-genmodfiles_OPTS += -l $(test-library-userellib_OBJDIR)/linklib + test-library-userellib-genmodfiles_STUBTARGETDIR := $(shell echo $(test-library-userellib_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + test-library-userellib-genmodfiles_STUBTARGETS := $(addprefix $(test-library-userellib-genmodfiles_STUBTARGETDIR)/,$(test-library-userellib-genmodfiles_STUBTARGETS)) + test-library-userellib-genmodfiles_TARGETDIRS += $(test-library-userellib_OBJDIR)/linklib +else +ifneq ($(test-library-userellib_OBJDIR),) + test-library-userellib-genmodfiles_STUBTARGETS := $(addprefix $(test-library-userellib-genmodfiles_TARGETDIR)/,$(test-library-userellib-genmodfiles_STUBTARGETS)) +endif +endif + +test-library-userellib-genmodfiles_TARGETS := $(test-library-userellib-genmodfiles_GENTARGETS) $(test-library-userellib-genmodfiles_STUBTARGETS) +ifneq ($(test-library-userellib-genmodfiles_TARGETDIRS),) +$(test-library-userellib-genmodfiles_TARGETS) : | $(test-library-userellib-genmodfiles_TARGETDIRS) +endif + +$(test-library-userellib-genmodfiles_TARGETS) : $(test-library-userellib-genmodfiles_DEPS) $(test-library-userellib-genmodfiles_GENFILEFLAG) + +$(test-library-userellib-genmodfiles_GENFILEFLAG) : OPTS := $(test-library-userellib-genmodfiles_OPTS) +$(test-library-userellib-genmodfiles_GENFILEFLAG) : MODNAME := userel +$(test-library-userellib-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(test-library-userellib-genmodfiles_GENFILEFLAG) : $(test-library-userellib-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(test-library-userellib-genmodfiles_GENFILEFLAG) : $(test-library-userellib_DEFLIBDEFSINC) $(test-library-userellib-makefile) + + +ifneq ($(test-library-userellib-genmodfiles_GENFILEFLAG),) +$(test-library-userellib-genmodfiles_GENFILEFLAG) : | $(test-library-userellib_OBJDIR)/linklib +else +$(test-library-userellib-genmodfiles_GENFILEFLAG) :: $(test-library-userellib_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(test-library-userellib_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +test-library-userellib_FDDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +test-library-userellib_FDDIR := /../$(AROS_DIR_FD) +endif +test-library-userellib-fd : $(test-library-userellib_FDDIR)/userel_lib.fd + + +TMP_TARGET := userel_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/userel.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/userel.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(test-library-userellib_FDDIR),) + TMP_OPTS += -d $(test-library-userellib_FDDIR) + TMP_TARGET := $(test-library-userellib_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := userel +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(test-library-userellib_FDDIR)/userel_lib.fd : | $(test-library-userellib_FDDIR) + + +ifneq (test-library-userellib-fd-setup,) +test-library-userellib-fd-setup : | $(test-library-userellib_FDDIR) +else +test-library-userellib-fd-setup :: $(test-library-userellib_FDDIR) +endif + +GLOB_MKDIRS += $(test-library-userellib_FDDIR) + +endif + +## Compilation +## +test-library-userellib_FILES := dummyadd pertaskgetparentbase dummyprint4 getchildvalue +test-library-userellib_OBJCFILES := +test-library-userellib_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +test-library-userellib_LIBFILES := +test-library-userellib_LIBS := + +test-library-userellib_FDIRS := $(sort $(dir $(test-library-userellib_FILES))) + +test-library-userellib_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +test-library-userellib_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call test-library-userellib_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +test-library-userellib_FILTERARCH = $(filter-out $(call test-library-userellib_MATCHARCH,$(1),$(2)),$(2)) +test-library-userellib_STARTFILES := $(addprefix $(test-library-userellib_OBJDIR)/,$($(test-library-userellib_DEFNAME)_STARTFILES)) +test-library-userellib_ENDFILES := $(addprefix $(test-library-userellib_OBJDIR)/,$($(test-library-userellib_DEFNAME)_ENDFILES)) + +test-library-userellib_ARCHOBJS := $(wildcard $(test-library-userellib_OBJDIR)/arch/*.o) +test-library-userellib_LIBARCHOBJS := $(wildcard $(test-library-userellib_OBJDIR)/linklib/arch/*.o) +test-library-userellib_ARCHFILES := $(basename $(notdir $(test-library-userellib_ARCHOBJS))) +test-library-userellib_LIBARCHFILES := $(basename $(notdir $(test-library-userellib_LIBARCHOBJS))) +test-library-userellib_C_NARCHFILES := $(call test-library-userellib_FILTERARCH,$(test-library-userellib_ARCHFILES),$(test-library-userellib_FILES)) +test-library-userellib_CXX_NARCHFILES := $(call test-library-userellib_FILTERARCH,$(test-library-userellib_ARCHFILES),$(test-library-userellib_CXXFILES)) +test-library-userellib_OBJC_NARCHFILES := $(call test-library-userellib_FILTERARCH,$(test-library-userellib_ARCHFILES),$(test-library-userellib_OBJCFILES)) +test-library-userellib_NLIBARCHFILES := $(call test-library-userellib_FILTERARCH,$(test-library-userellib_LIBARCHFILES),$(test-library-userellib_LIBFILES)) +test-library-userellib_ARCHNLIBFILES := $(call test-library-userellib_FILTERARCH,$(test-library-userellib_LIBFILES),$(test-library-userellib_LIBARCHFILES)) + +test-library-userellib_CPPFLAGS := $(strip $(CPPFLAGS) -I$(test-library-userellib_OBJDIR)/include -include $(test-library-userellib_DEFLIBDEFSINC)) +ifneq (,) +test-library-userellib_CPPFLAGS += -I +endif +test-library-userellib_LINKLIBCPPFLAGS := $(test-library-userellib_CPPFLAGS) +test-library-userellib_CPPFLAGS += $(strip $($(test-library-userellib_DEFNAME)_CPPFLAGS)) +test-library-userellib_LINKLIBCPPFLAGS += $(strip $($(test-library-userellib_DEFNAME)_LINKLIBCPPFLAGS)) +test-library-userellib_CFLAGS := $(strip $(CFLAGS) $($(test-library-userellib_DEFNAME)_CFLAGS)) +test-library-userellib_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(test-library-userellib_DEFNAME)_LINKLIBCFLAGS)) +test-library-userellib_CXXFLAGS := $(strip $(CXXFLAGS) $($(test-library-userellib_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-library-userellib_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +test-library-userellib_CFLAGS := $(strip $(test-library-userellib_LTOFLAGS) $(test-library-userellib_CFLAGS)) +test-library-userellib_LINKLIBCFLAGS := $(strip $(test-library-userellib_LTOFLAGS) $(test-library-userellib_LINKLIBCFLAGS)) +test-library-userellib_CXXFLAGS := $(strip $(test-library-userellib_LTOFLAGS) $(test-library-userellib_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-userellib_SUBSTNULL := +test-library-userellib_SUBSTSPACE := $(test-library-userellib_SUBSTNULL) # +test-library-userellib_SUBSTCOMMA := , +test-library-userellib_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(test-library-userellib_SUBSTSPACE),$(test-library-userellib_SUBSTCOMMA),$(strip $($(test-library-userellib_DEFNAME)_STARTFILES)))) +test-library-userellib_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-userellib_CFLAGS := $(strip $(test-library-userellib_INSTRFUNCFLAGS) $(test-library-userellib_CFLAGS)) +test-library-userellib_CXXFLAGS := $(strip $(test-library-userellib_INSTRFUNCFLAGS) $(test-library-userellib_CXXFLAGS)) +test-library-userellib_LIBS += $(test-library-userellib_INSTRFUNCLIBS) +endif +endif +test-library-userellib_DFLAGS := $(strip $(test-library-userellib_DFLAGS) $($(test-library-userellib_DEFNAME)_DFLAGS)) +test-library-userellib_LINKLIBDFLAGS := $(strip $(test-library-userellib_DFLAGS) $($(test-library-userellib_DEFNAME)_LINKLIBDFLAGS)) +test-library-userellib_DXXFLAGS := $(strip $(test-library-userellib_DXXFLAGS) $($(test-library-userellib_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + test-library-userellib_LIBSUFFIX := +else + test-library-userellib_LIBSUFFIX := .library +endif + +ifeq (,) +test-library-userellib_LIBDIR := $(TARGETDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +test-library-userellib_LIBDIR := +endif + +ifeq (M,M) +test-library-userellib_LINKLIBCFILES := $(addprefix $(test-library-userellib_OBJDIR)/linklib/,$($(test-library-userellib_DEFNAME)_LINKLIBFILES)) +test-library-userellib_LINKLIBAFILES := $(addprefix $(test-library-userellib_OBJDIR)/linklib/,$($(test-library-userellib_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(test-library-userellib_DEFNAME)_LINKLIBFILES) $($(test-library-userellib_DEFNAME)_LINKLIBAFILES) $(test-library-userellib_ARCHNLIBFILES)),) + test-library-userellib_LINKLIB := +else + test-library-userellib_LINKLIB := $(test-library-userellib_LIBDIR)/libuserel$(test-library-userellib_LIBSUFFIX).a + ifneq (userel,$(test-library-userellib_LINKLIBNAME)) + test-library-userellib_LINKLIB += $(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)$(test-library-userellib_LIBSUFFIX).a + endif +endif +test-library-userellib_LINKLIBFILES := $(test-library-userellib_LINKLIBCFILES) $(test-library-userellib_LINKLIBAFILES) + +test-library-userellib_RELLINKLIBCFILES := $(addprefix $(test-library-userellib_OBJDIR)/linklib/,$($(test-library-userellib_DEFNAME)_RELLINKLIBFILES)) +test-library-userellib_RELLINKLIBAFILES := $(addprefix $(test-library-userellib_OBJDIR)/linklib/,$($(test-library-userellib_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(test-library-userellib_DEFNAME)_RELLINKLIBFILES) $($(test-library-userellib_DEFNAME)_RELLINKLIBAFILES) $(test-library-userellib_ARCHNLIBFILES)),) + test-library-userellib_RELLINKLIB := +else + test-library-userellib_RELLINKLIB := $(test-library-userellib_LIBDIR)/lib$(test-library-userellib_DEFNAME)_rel$(test-library-userellib_LIBSUFFIX).a + ifneq (userel,$(test-library-userellib_LINKLIBNAME)) + test-library-userellib_RELLINKLIB += $(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)_rel$(test-library-userellib_LIBSUFFIX).a + endif +endif +test-library-userellib_RELLINKLIBFILES := $(test-library-userellib_RELLINKLIBCFILES) $(test-library-userellib_RELLINKLIBAFILES) +endif + +test-library-userellib_ENDOBJS := $(addsuffix .o,$(test-library-userellib_ENDFILES)) +test-library-userellib_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(notdir $(test-library-userellib_NLIBARCHFILES))) $(addprefix $(test-library-userellib_OBJDIR)/linklib/arch/,$(notdir $(test-library-userellib_ARCHNLIBFILES))) $(test-library-userellib_LINKLIBFILES)) \ + +test-library-userellib_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(notdir $(test-library-userellib_NLIBARCHFILES))) $(addprefix $(test-library-userellib_OBJDIR)/linklib/arch/,$(notdir $(test-library-userellib_ARCHNLIBFILES))) $(test-library-userellib_RELLINKLIBFILES)) \ + +$(test-library-userellib_LINKLIBFILES) $(test-library-userellib_RELLINKLIBFILES) : | $(test-library-userellib_OBJDIR)/linklib +$(test-library-userellib_LINKLIBOBJS) $(test-library-userellib_RELLINKLIBOBJS) : | $(test-library-userellib_OBJDIR)/linklib + +test-library-userellib_CCFILES := $(test-library-userellib_C_NARCHFILES) +test-library-userellib_TARGETCCFILES := $(strip $(test-library-userellib_STARTFILES) $(test-library-userellib_ENDFILES)) +test-library-userellib_LINKLIBCCFILES := $(strip $(test-library-userellib_NLIBARCHFILES) $(test-library-userellib_LINKLIBCFILES) $(test-library-userellib_RELLINKLIBCFILES)) +test-library-userellib_LINKLIBCCGENFILES := $(strip $(test-library-userellib_LINKLIBCFILES) $(test-library-userellib_RELLINKLIBCFILES)) + + +test-library-userellib_CXXABSBASENAMES := $(foreach test-library-userellib_CXXBASE,$(test-library-userellib_CXX_NARCHFILES),$(if $(filter /%,$(test-library-userellib_CXXBASE)),$(test-library-userellib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-userellib_CXXBASE)))) + +ifneq ($(test-library-userellib_CXXABSBASENAMES),) + +test-library-userellib_CXXBASENAMES := $(basename $(test-library-userellib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-userellib_MCXX_FILES := $(strip $(foreach test-library-userellib_CXXBASE,$(test-library-userellib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-userellib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-userellib_EXT),$(test-library-userellib_CXXBASE))))))) + +ifeq (,) +test-library-userellib_MCXX_SRCWILDCARD := % +else +test-library-userellib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-userellib_OBJDIR),) + test-library-userellib_CXXTARGETS := $(notdir $(test-library-userellib_CXXBASENAMES:=.o)) + test-library-userellib_CXXDTARGETS := $(notdir $(test-library-userellib_CXXBASENAMES:=.d)) + test-library-userellib_MCXX_WILDCARD := % +else + test-library-userellib_CXXTARGETS := $(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(test-library-userellib_CXXBASENAMES:=.o))) + test-library-userellib_CXXDTARGETS := $(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(test-library-userellib_CXXBASENAMES:=.d))) + test-library-userellib_MCXX_WILDCARD := $(test-library-userellib_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-userellib_CXXTARGETS) $(test-library-userellib_CXXDTARGETS) : | $(test-library-userellib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-userellib_MCXX_CPPFLAGS := $(test-library-userellib_CPPFLAGS) +test-library-userellib_CXXFLAGS := $(test-library-userellib_CXXFLAGS) +ifeq ($(test-library-userellib_DXXFLAGS),) + test-library-userellib_DXXFLAGS := $(test-library-userellib_CXXFLAGS) +else + test-library-userellib_DXXFLAGS := $(test-library-userellib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-userellib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-userellib_STRIP ?= $(HOST_STRIP) + test-library-userellib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-userellib_CXXCMD:=$(HOST_CXX) + test-library-userellib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-userellib_MCXX_CPPFLAGS) $(test-library-userellib_MCXX_EXTRA_CPPFLAGS)) + test-library-userellib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-userellib_CXXFLAGS)) + test-library-userellib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-userellib_DXXFLAGS)) + test-library-userellib_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-userellib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-userellib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-userellib_STRIP ?= $(TARGET_STRIP) + test-library-userellib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-userellib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-userellib_MCXX_CPPFLAGS := $(strip $(test-library-userellib_MCXX_CPPFLAGS) $(test-library-userellib_MCXX_EXTRA_CPPFLAGS)) + test-library-userellib_CXXFLAGS := $(strip $(test-library-userellib_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-userellib_DXXFLAGS := $(test-library-userellib_DXXFLAGS) + test-library-userellib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-userellib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-userellib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-userellib_STRIP ?= $(ECHO) >/dev/null + test-library-userellib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-userellib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-userellib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-userellib_MCXX_CPPFLAGS) $(test-library-userellib_MCXX_EXTRA_CPPFLAGS)) + test-library-userellib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-userellib_CXXFLAGS)) + test-library-userellib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-userellib_DXXFLAGS)) + test-library-userellib_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-userellib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-userellib_CXXCMD) $(test-library-userellib_CXXIQUOTE) $(dir $(2)) $(test-library-userellib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_CXXIQUOTE) . $(test-library-userellib_CXXIQUOTE_END) $(strip $(test-library-userellib_CXXFLAGS) $(test-library-userellib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-userellib_CXXCMD) $(test-library-userellib_CXXIQUOTE) $(dir $(2)) $(test-library-userellib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_CXXIQUOTE) . $(test-library-userellib_CXXIQUOTE_END) $(strip $(test-library-userellib_CXXFLAGS) $(test-library-userellib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-userellib_CXXCMD) $(test-library-userellib_CXXIQUOTE) $(dir $(2)) $(test-library-userellib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_CXXIQUOTE) . $(test-library-userellib_CXXIQUOTE_END) $(strip $(test-library-userellib_CXXFLAGS) $(test-library-userellib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-userellib_CXXCMD)" $(MKDEPEND) $(strip $(test-library-userellib_DXXFLAGS) $(test-library-userellib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-userellib_OBJDIR),) + $(foreach test-library-userellib_CXXFILE,$(test-library-userellib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-userellib_CXXFILE))),$(test-library-userellib_CXXFILE)))) +else + $(foreach test-library-userellib_CXXFILE,$(test-library-userellib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(basename $(test-library-userellib_CXXFILE)))),$(test-library-userellib_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-userellib_OBJC_NARCHFILES),) + +ifeq (,) +test-library-userellib_MOBJC_SRCWILDCARD := % +else +test-library-userellib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-userellib_OBJDIR),) + test-library-userellib_MOBJC_TARGETS := $(addsuffix .o,$(test-library-userellib_OBJC_NARCHFILES)) + test-library-userellib_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-userellib_OBJC_NARCHFILES)) + test-library-userellib_MOBJC_WILDCARD := % +else + test-library-userellib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/,$(test-library-userellib_OBJC_NARCHFILES))) + test-library-userellib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/,$(test-library-userellib_OBJC_NARCHFILES))) + test-library-userellib_MOBJC_WILDCARD := $(test-library-userellib_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-userellib_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-userellib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-userellib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-userellib_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-userellib_MOBJC_DIRS := $(foreach dir, $(test-library-userellib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-userellib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-userellib_MOBJC_DIRS),) + test-library-userellib_MOBJC_DIRS := $(shell echo $(test-library-userellib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-userellib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-userellib_CC := $(TARGET_CC) +else + test-library-userellib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-userellib_MOBJC_CPPFLAGS := $(test-library-userellib_CPPFLAGS) +test-library-userellib_OBJCFLAGS := $(test-library-userellib_CFLAGS) +test-library-userellib_OBJCFLAGS := $(test-library-userellib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-userellib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-userellib_OBJCFLAGS))) +ifeq ($(test-library-userellib_DFLAGS),) + test-library-userellib_OBJCDFLAGS := $(test-library-userellib_CFLAGS) +else + test-library-userellib_OBJCDFLAGS := $(test-library-userellib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-userellib_LINK ?= $(strip $(test-library-userellib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-userellib_STRIP ?= $(TARGET_STRIP) + test-library-userellib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-userellib_CC) $(TARGET_SYSROOT)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_MOBJC_CPPFLAGS:=$(strip $(test-library-userellib_MOBJC_CPPFLAGS) $(test-library-userellib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_OBJCFLAGS:=$(strip $(test-library-userellib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_OBJCDFLAGS:=$(test-library-userellib_OBJCDFLAGS) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-userellib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-userellib_STRIP ?= $(HOST_STRIP) + test-library-userellib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-userellib_MOBJC_CPPFLAGS) $(test-library-userellib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_OBJCFLAGS)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_OBJCDFLAGS)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_IQUOTE:=$(HOST_IQUOTE) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-userellib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-userellib_STRIP ?= $(ECHO) >/dev/null + test-library-userellib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-userellib_MOBJC_CPPFLAGS) $(test-library-userellib_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_OBJCFLAGS)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_OBJCDFLAGS)) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-userellib_MOBJC_TARGETS) $(test-library-userellib_MOBJC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-userellib_MOBJC_TARGETS) : CPPFLAGS := $(test-library-userellib_MOBJC_CPPFLAGS) +$(test-library-userellib_MOBJC_TARGETS) : CFLAGS := $(test-library-userellib_OBJCFLAGS) +$(test-library-userellib_MOBJC_TARGETS) : $(test-library-userellib_MOBJC_WILDCARD).o : $(test-library-userellib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-userellib_MOBJC_DTARGETS) : $(test-library-userellib_MOBJC_WILDCARD).d : $(test-library-userellib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-userellib_OBJCDFLAGS) $(test-library-userellib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-userellib_MC_SRCWILDCARD := % +else +test-library-userellib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-userellib_OBJDIR),) +test-library-userellib_MC_TARGETS := $(addsuffix .o,$(test-library-userellib_CCFILES)) +test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(test-library-userellib_CCFILES)) +test-library-userellib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(test-library-userellib_CCFILES)))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(test-library-userellib_CCFILES)))) +else +ifeq (,) + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/,$(test-library-userellib_CCFILES))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/,$(test-library-userellib_CCFILES))) +else + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/,$(patsubst /%,%,$(test-library-userellib_CCFILES)))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/,$(patsubst /%,%,$(test-library-userellib_CCFILES)))) +endif +endif +test-library-userellib_MC_TGTWILDCARD := $(test-library-userellib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-userellib_CCFILES)) + +# Be sure that all .c files are found +test-library-userellib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-userellib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-userellib_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-userellib_MC_DIRS := $(foreach dir, $(test-library-userellib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-userellib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-userellib_MC_DIRS),) + test-library-userellib_MC_DIRS := $(shell echo $(test-library-userellib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-userellib_MC_DIRS) +endif + +endif + +test-library-userellib_MC_CPPFLAGS := $(test-library-userellib_CPPFLAGS) +test-library-userellib_CFLAGS := $(test-library-userellib_CFLAGS) +ifeq ($(test-library-userellib_DFLAGS),) + test-library-userellib_DFLAGS := $(test-library-userellib_CFLAGS) +else + test-library-userellib_DFLAGS := $(test-library-userellib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-userellib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-userellib_STRIP ?= $(TARGET_STRIP) +test-library-userellib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(test-library-userellib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(test-library-userellib_DFLAGS) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-userellib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-userellib_STRIP ?= $(HOST_STRIP) +test-library-userellib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_DFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-userellib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-userellib_STRIP ?= $(ECHO) >/dev/null +test-library-userellib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_DFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-userellib_MC_TARGETS) : CPPFLAGS := $(test-library-userellib_MC_CPPFLAGS) +$(test-library-userellib_MC_TARGETS) : CFLAGS := $(test-library-userellib_CFLAGS) +$(test-library-userellib_MC_TARGETS) : $(test-library-userellib_MC_TGTWILDCARD).o : $(test-library-userellib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-userellib_MC_DTARGETS) : $(test-library-userellib_MC_TGTWILDCARD).d : $(test-library-userellib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-userellib_DFLAGS) $(test-library-userellib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +test-library-userellib_MC_SRCWILDCARD := % +else +test-library-userellib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-userellib_OBJDIR),) +test-library-userellib_MC_TARGETS := $(addsuffix .o,$(test-library-userellib_TARGETCCFILES)) +test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(test-library-userellib_TARGETCCFILES)) +test-library-userellib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(test-library-userellib_TARGETCCFILES)))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(test-library-userellib_TARGETCCFILES)))) +else +ifeq (,) + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/,$(test-library-userellib_TARGETCCFILES))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/,$(test-library-userellib_TARGETCCFILES))) +else + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/,$(patsubst /%,%,$(test-library-userellib_TARGETCCFILES)))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/,$(patsubst /%,%,$(test-library-userellib_TARGETCCFILES)))) +endif +endif +test-library-userellib_MC_TGTWILDCARD := $(test-library-userellib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-userellib_TARGETCCFILES)) + +# Be sure that all .c files are found +test-library-userellib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-userellib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-userellib_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-userellib_MC_DIRS := $(foreach dir, $(test-library-userellib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-userellib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-userellib_MC_DIRS),) + test-library-userellib_MC_DIRS := $(shell echo $(test-library-userellib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-userellib_MC_DIRS) +endif + +endif + +test-library-userellib_MC_CPPFLAGS := $(test-library-userellib_CPPFLAGS) -D__AROS__ +test-library-userellib_CFLAGS := $(test-library-userellib_CFLAGS) +ifeq ($(test-library-userellib_DFLAGS),) + test-library-userellib_DFLAGS := $(test-library-userellib_CFLAGS) +else + test-library-userellib_DFLAGS := $(test-library-userellib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-userellib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-userellib_STRIP ?= $(TARGET_STRIP) +test-library-userellib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(test-library-userellib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(test-library-userellib_DFLAGS) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-userellib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-userellib_STRIP ?= $(HOST_STRIP) +test-library-userellib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_DFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-userellib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-userellib_STRIP ?= $(ECHO) >/dev/null +test-library-userellib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_DFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-userellib_MC_TARGETS) : CPPFLAGS := $(test-library-userellib_MC_CPPFLAGS) +$(test-library-userellib_MC_TARGETS) : CFLAGS := $(test-library-userellib_CFLAGS) +$(test-library-userellib_MC_TARGETS) : $(test-library-userellib_MC_TGTWILDCARD).o : $(test-library-userellib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-userellib_MC_DTARGETS) : $(test-library-userellib_MC_TGTWILDCARD).d : $(test-library-userellib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-userellib_DFLAGS) $(test-library-userellib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +test-library-userellib_MC_SRCWILDCARD := % +else +test-library-userellib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-userellib_OBJDIR)/linklib,) +test-library-userellib_MC_TARGETS := $(addsuffix .o,$(test-library-userellib_NLIBARCHFILES)) +test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(test-library-userellib_NLIBARCHFILES)) +test-library-userellib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(notdir $(test-library-userellib_NLIBARCHFILES)))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(notdir $(test-library-userellib_NLIBARCHFILES)))) +else +ifeq (,) + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(test-library-userellib_NLIBARCHFILES))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(test-library-userellib_NLIBARCHFILES))) +else + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(patsubst /%,%,$(test-library-userellib_NLIBARCHFILES)))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(patsubst /%,%,$(test-library-userellib_NLIBARCHFILES)))) +endif +endif +test-library-userellib_MC_TGTWILDCARD := $(test-library-userellib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-userellib_NLIBARCHFILES)) + +# Be sure that all .c files are found +test-library-userellib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-userellib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-userellib_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-userellib_MC_DIRS := $(foreach dir, $(test-library-userellib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-userellib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-userellib_MC_DIRS),) + test-library-userellib_MC_DIRS := $(shell echo $(test-library-userellib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-userellib_MC_DIRS) +endif + +endif + +test-library-userellib_MC_CPPFLAGS := $(test-library-userellib_LINKLIBCPPFLAGS) -D__AROS__ +test-library-userellib_CFLAGS := $(test-library-userellib_LINKLIBCFLAGS) +ifeq ($(test-library-userellib_LINKLIBDFLAGS),) + test-library-userellib_DFLAGS := $(test-library-userellib_LINKLIBCFLAGS) +else + test-library-userellib_DFLAGS := $(test-library-userellib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-userellib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-userellib_STRIP ?= $(TARGET_STRIP) +test-library-userellib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(test-library-userellib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(test-library-userellib_DFLAGS) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-userellib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-userellib_STRIP ?= $(HOST_STRIP) +test-library-userellib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_DFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-userellib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-userellib_STRIP ?= $(ECHO) >/dev/null +test-library-userellib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_DFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-userellib_MC_TARGETS) : CPPFLAGS := $(test-library-userellib_MC_CPPFLAGS) +$(test-library-userellib_MC_TARGETS) : CFLAGS := $(test-library-userellib_CFLAGS) +$(test-library-userellib_MC_TARGETS) : $(test-library-userellib_MC_TGTWILDCARD).o : $(test-library-userellib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-userellib_MC_DTARGETS) : $(test-library-userellib_MC_TGTWILDCARD).d : $(test-library-userellib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-userellib_DFLAGS) $(test-library-userellib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-userellib_OBJDIR)/linklib,) +test-library-userellib_MC_SRCWILDCARD := % +else +test-library-userellib_MC_SRCWILDCARD := $(test-library-userellib_OBJDIR)/linklib/% +endif + +ifeq ($(test-library-userellib_OBJDIR)/linklib,) +test-library-userellib_MC_TARGETS := $(addsuffix .o,$(test-library-userellib_LINKLIBCCGENFILES)) +test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(test-library-userellib_LINKLIBCCGENFILES)) +test-library-userellib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(notdir $(test-library-userellib_LINKLIBCCGENFILES)))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(notdir $(test-library-userellib_LINKLIBCCGENFILES)))) +else +ifeq ($(test-library-userellib_OBJDIR)/linklib,) + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(test-library-userellib_LINKLIBCCGENFILES))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(test-library-userellib_LINKLIBCCGENFILES))) +else + test-library-userellib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(patsubst $(test-library-userellib_OBJDIR)/linklib/%,%,$(test-library-userellib_LINKLIBCCGENFILES)))) + test-library-userellib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(patsubst $(test-library-userellib_OBJDIR)/linklib/%,%,$(test-library-userellib_LINKLIBCCGENFILES)))) +endif +endif +test-library-userellib_MC_TGTWILDCARD := $(test-library-userellib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : | $(addsuffix .c,$(test-library-userellib_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +test-library-userellib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-userellib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-userellib_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-userellib_MC_DIRS := $(foreach dir, $(test-library-userellib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-userellib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-userellib_MC_DIRS),) + test-library-userellib_MC_DIRS := $(shell echo $(test-library-userellib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-userellib_MC_DIRS) +endif + +endif + +test-library-userellib_MC_CPPFLAGS := $(test-library-userellib_LINKLIBCPPFLAGS) -D__AROS__ +test-library-userellib_CFLAGS := $(test-library-userellib_LINKLIBCFLAGS) +ifeq ($(test-library-userellib_LINKLIBDFLAGS),) + test-library-userellib_DFLAGS := $(test-library-userellib_LINKLIBCFLAGS) +else + test-library-userellib_DFLAGS := $(test-library-userellib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-userellib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-userellib_STRIP ?= $(TARGET_STRIP) +test-library-userellib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(test-library-userellib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(test-library-userellib_DFLAGS) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-userellib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-userellib_STRIP ?= $(HOST_STRIP) +test-library-userellib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-userellib_DFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(HOST_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-userellib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-userellib_STRIP ?= $(ECHO) >/dev/null +test-library-userellib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-userellib_MC_CPPFLAGS) $(test-library-userellib_MC_EXTRA_CPPFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_CFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-userellib_DFLAGS)) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-userellib_MC_TARGETS) $(test-library-userellib_MC_DTARGETS) : test-library-userellib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-userellib_MC_TARGETS) : CPPFLAGS := $(test-library-userellib_MC_CPPFLAGS) +$(test-library-userellib_MC_TARGETS) : CFLAGS := $(test-library-userellib_CFLAGS) +$(test-library-userellib_MC_TARGETS) : $(test-library-userellib_MC_TGTWILDCARD).o : $(test-library-userellib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-userellib_IQUOTE) $(dir $<) $(test-library-userellib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-userellib_IQUOTE) . $(test-library-userellib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-userellib_MC_DTARGETS) : $(test-library-userellib_MC_TGTWILDCARD).d : $(test-library-userellib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-userellib_DFLAGS) $(test-library-userellib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(test-library-userellib_LINKLIBAFILES),) + +ifeq ($(test-library-userellib_OBJDIR)/linklib,) +test-library-userellib-MA_TARGETS := $(addsuffix .o,$(test-library-userellib_LINKLIBAFILES) $(test-library-userellib_RELLINKLIBAFILES)) +test-library-userellib-MA_WILDCARD := % +else +test-library-userellib-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(notdir $(test-library-userellib_LINKLIBAFILES) $(test-library-userellib_RELLINKLIBAFILES)))) +test-library-userellib-MA_WILDCARD := $(test-library-userellib_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(test-library-userellib-MA_TARGETS) : | $(addsuffix .S,$(test-library-userellib_LINKLIBAFILES) $(test-library-userellib_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +test-library-userellib-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-userellib-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-userellib_LINKLIBAFILES) $(test-library-userellib_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-userellib-MA_DIRS := $(foreach dir, $(test-library-userellib-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-userellib-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-userellib-MA_DIRS),) + test-library-userellib-MA_DIRS := $(shell echo $(test-library-userellib-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(test-library-userellib-MA_DIRS) +endif + +endif + +test-library-userellib-MA_ASSEMBLER ?= $(test-library-userellib_ASSEMBLER) + +$(test-library-userellib-MA_TARGETS) : test-library-userellib-MA_CMD:= $(test-library-userellib-MA_ASSEMBLER) + +$(test-library-userellib-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(test-library-userellib-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(test-library-userellib-MA_TARGETS) : $(test-library-userellib-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-userellib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-userellib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-userellib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +test-library-userellib_SUFFIX := library +else +test-library-userellib_SUFFIX := +endif + +ifeq (target,target) +test-library-userellib_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-userellib_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-userellib_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(test-library-userellib_SUFFIX),handler) +test-library-userellib_MODULE := $(TARGETDIR)/$(test-library-userellib_MODDIR)/$(test-library-userellib_DEFNAME)-$(test-library-userellib_SUFFIX) +else +test-library-userellib_MODULE := $(TARGETDIR)/$(test-library-userellib_MODDIR)/$(test-library-userellib_DEFNAME).$(test-library-userellib_SUFFIX) +endif +test-library-userellib_KOBJ := $(KOBJSDIR)/$(test-library-userellib_DEFNAME)_$(test-library-userellib_SUFFIX).o +else +test-library-userellib_MODULE := +test-library-userellib_KOBJ := +endif + +test-library-userellib-quick : test-library-userellib +test-library-userellib : $(test-library-userellib_MODULE) $(test-library-userellib_LINKLIB) $(test-library-userellib_RELLINKLIB) +ifeq (M,M) +test-library-userellib-kobj : $(test-library-userellib_KOBJ) $(test-library-userellib_LINKLIB) $(test-library-userellib_RELLINKLIB) +test-library-userellib-kobj-quick : $(test-library-userellib_KOBJ) $(test-library-userellib_LINKLIB) $(test-library-userellib_RELLINKLIB) +endif +ifeq (M,M) +test-library-userellib-linklib : $(test-library-userellib_LINKLIB) $(test-library-userellib_RELLINKLIB) +endif + +test-library-userellib_OBJS := $(addsuffix .o,$(test-library-userellib_STARTFILES)) $(test-library-userellib_ARCHOBJS) \ + $(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(test-library-userellib_C_NARCHFILES:=.o) $(test-library-userellib_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +test-library-userellib_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (userel,con) + test-library-userellib_ERR := $(notdir $(test-library-userellib_MODULE)).err +else + test-library-userellib_ERR := userel.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(test-library-userellib_DEFNAME)_LDFLAGS) $(test-library-userellib_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-userellib_LIBS) $($(test-library-userellib_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(test-library-userellib_MODULE) : LIB_NAMES := $(test-library-userellib_LIBS) $($(test-library-userellib_DEFNAME)_LIBS) +$(test-library-userellib_MODULE) : OBJS := $(test-library-userellib_STARTOBJS) $(test-library-userellib_OBJS) $(USER_OBJS) +$(test-library-userellib_MODULE) : ENDTAG := $(test-library-userellib_ENDOBJS) +$(test-library-userellib_MODULE) : ERR := $(test-library-userellib_ERR) +$(test-library-userellib_MODULE) : OBJDIR := $(test-library-userellib_OBJDIR) +$(test-library-userellib_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(test-library-userellib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(test-library-userellib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(test-library-userellib_MODULE) : $(test-library-userellib_STARTOBJS) $(test-library-userellib_OBJS) $(USER_OBJS) $(test-library-userellib_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(test-library-userellib_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(test-library-userellib_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +test-library-userellib_LC_LINKLIBNAME := $(shell echo $(test-library-userellib_LINKLIBNAME) | tr A-Z a-z) +test-library-userellib_LC_MODNAME := $(shell echo userel | tr A-Z a-z) +ifneq ($(test-library-userellib_LINKLIB),) + +ifeq (target,target) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(HOST_AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(KERNEL_AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)$(test-library-userellib_LIBSUFFIX).a : $(test-library-userellib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-userellib_AR) $@ $^ + $(Q)$(test-library-userellib_RANLIB) $@ +ifneq ($(test-library-userellib_LC_MODNAME),$(test-library-userellib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(test-library-userellib_LIBDIR)/libuserel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(AR) +$(test-library-userellib_LIBDIR)/libuserel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-userellib_LIBDIR)/libuserel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(HOST_AR) +$(test-library-userellib_LIBDIR)/libuserel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-userellib_LIBDIR)/libuserel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(KERNEL_AR) +$(test-library-userellib_LIBDIR)/libuserel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-userellib_LIBDIR)/libuserel$(test-library-userellib_LIBSUFFIX).a : $(test-library-userellib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-userellib_AR) $@ $^ + $(Q)$(test-library-userellib_RANLIB) $@ +endif + + +ifneq ($(test-library-userellib_LINKLIB),) +$(test-library-userellib_LINKLIB) : | $(test-library-userellib_LIBDIR) +else +$(test-library-userellib_LINKLIB) :: $(test-library-userellib_LIBDIR) +endif + +GLOB_MKDIRS += $(test-library-userellib_LIBDIR) + +endif + +ifneq ($(test-library-userellib_RELLINKLIB),) + +ifeq (target,target) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(HOST_AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(KERNEL_AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_LINKLIBNAME)_rel$(test-library-userellib_LIBSUFFIX).a : $(test-library-userellib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-userellib_AR) $@ $^ + $(Q)$(test-library-userellib_RANLIB) $@ +ifneq ($(test-library-userellib_LC_MODNAME),$(test-library-userellib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_DEFNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_DEFNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_DEFNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(HOST_AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_DEFNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_DEFNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_AR:=$(KERNEL_AR) +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_DEFNAME)_rel$(test-library-userellib_LIBSUFFIX).a : test-library-userellib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(test-library-userellib_LIBDIR)/lib$(test-library-userellib_DEFNAME)_rel$(test-library-userellib_LIBSUFFIX).a : $(test-library-userellib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-library-userellib_AR) $@ $^ + $(Q)$(test-library-userellib_RANLIB) $@ +endif + + +ifneq ($(test-library-userellib_RELLINKLIB),) +$(test-library-userellib_RELLINKLIB) : | $(test-library-userellib_LIBDIR) +else +$(test-library-userellib_RELLINKLIB) :: $(test-library-userellib_LIBDIR) +endif + +GLOB_MKDIRS += $(test-library-userellib_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +test-library-userellib_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +test-library-userellib_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +test-library-userellib_SYMBOLS := $(test-library-userellib_KBASE) + +test-library-userellib_KLIB := hiddstubs amiga arossupport autoinit libinit +test-library-userellib_KOBJ_LIBS := $(filter-out $(test-library-userellib_KLIB),$(test-library-userellib_LIBS)) $(test-library-userellib_KAUTOLIB) +$(test-library-userellib_KOBJ) : LINKLIBS:=$(test-library-userellib_KOBJ_LIBS) $($(test-library-userellib_DEFNAME)_LIBS) +$(test-library-userellib_KOBJ) : FILTBASES:=$(addprefix -L ,$(test-library-userellib_SYMBOLS)) +$(test-library-userellib_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(test-library-userellib_KOBJ) : $(test-library-userellib_OBJS) $(USER_OBJS) $(test-library-userellib_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +test-library-userellib_DEPS := $(addprefix $(test-library-userellib_OBJDIR)/,$(notdir $(test-library-userellib_CCFILES:=.d) $(test-library-userellib_TARGETCCFILES:=.d) $(test-library-userellib_CXXFILES:=.d))) $(addprefix $(test-library-userellib_OBJDIR)/linklib/,$(notdir $(test-library-userellib_LINKLIBCCFILES:=.d))) + +ifneq ($(test-library-userellib_DEPS),) + ifneq (test-library-userellib test-library-userellib-quick test-library-userellib-kobj test-library-userellib-kobj-quick,) + ifneq ($(findstring $(TARGET),test-library-userellib test-library-userellib-quick test-library-userellib-kobj test-library-userellib-kobj-quick),) + -include $(test-library-userellib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-userellib_DEPS) + endif + endif +endif + +$(test-library-userellib_OBJS) $(test-library-userellib_DEPS) : | $(test-library-userellib_OBJDIR)/linklib + +ifneq ($(test-library-userellib_OBJS) $(test-library-userellib_DEPS) $(test-library-userellib_MODULE) $(test-library-userellib_KOBJ),) +$(test-library-userellib_OBJS) $(test-library-userellib_DEPS) $(test-library-userellib_MODULE) $(test-library-userellib_KOBJ) : | $(test-library-userellib_OBJDIR) $(TARGETDIR)/$(test-library-userellib_MODDIR) $(KOBJSDIR) +else +$(test-library-userellib_OBJS) $(test-library-userellib_DEPS) $(test-library-userellib_MODULE) $(test-library-userellib_KOBJ) :: $(test-library-userellib_OBJDIR) $(TARGETDIR)/$(test-library-userellib_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(test-library-userellib_OBJDIR) $(TARGETDIR)/$(test-library-userellib_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),test-library-userellib test-library-userellib-includes test-library-userellib-quick test-library-userellib-kobj test-library-userellib-kobj-quick),) # Only for this target these deps are wanted + +test-library-userellib_DFILE_DEPS := $(test-library-userellib_LIBDEFSINC) $(test-library-userellib_DEFLIBDEFSINC) \ + $(addprefix $(test-library-userellib_INCDIR)/,$($(test-library-userellib_DEFNAME)_INCLUDES)) +$(test-library-userellib_DEPS) : $(test-library-userellib_DFILE_DEPS) +endif + +test-library-userellib_TOCLEAN := $(test-library-userellib_OBJS) $(test-library-userellib_DEPS) \ + $(test-library-userellib_MODULE) $(test-library-userellib_LINKLIB) $(test-library-userellib_KOBJ) \ + $(test-library-userellib_OBJDIR)/Makefile.userellibrary \ + $(addprefix $(test-library-userellib_OBJDIR)/include/,$($(test-library-userellib_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(test-library-userellib_DEFNAME)_INCLUDES)) \ + $(addprefix $(test-library-userellib_INCDIR)/,$($(test-library-userellib_DEFNAME)_INCLUDES)) \ + $(test-library-userellib_OBJDIR)/userel_geninc $(test-library-userellib_OBJDIR)/userel_incs \ + $(addsuffix .c,$(test-library-userellib_LINKLIBFILES)) $(test-library-userellib_LINKLIBOBJS) $(test-library-userellib_LIBDEFSINC) \ + $(test-library-userellib_DEFLIBDEFSINC) $(addsuffix .c,$(test-library-userellib_STARTFILES) $(test-library-userellib_ENDFILES)) \ + $(test-library-userellib_ENDOBJS) +test-library-userellib-clean : FILES := $(test-library-userellib_TOCLEAN) +test-library-userellib-clean :: + $(Q)$(ECHO) "Cleaning up for module userel" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(test-library-userellib_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/locale/mmakefile b/developer/debug/test/locale/mmakefile new file mode 100644 index 00000000000..952c6f66dfe --- /dev/null +++ b/developer/debug/test/locale/mmakefile @@ -0,0 +1,318 @@ +# Copyright © 2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + localetest \ + openlocale + +EXEDIR := $(AROS_TESTS)/locale + +#MM- test : test-locale +#MM- test-quick : test-locale-quick +#MM test-locale : test-locale-miscfiles + + +.PHONY : test-locale + +test-locale_OBJDIR := $(GENDIR)/$(CURDIR) +test-locale_TARGETDIR := $(EXEDIR) +test-locale_LIBS := + +test-locale_FILES := $(FILES) +test-locale_OBJS := $(addsuffix .o,$(addprefix $(test-locale_OBJDIR)/,$(test-locale_FILES))) +test-locale_DEPS := $(addsuffix .d,$(addprefix $(test-locale_OBJDIR)/,$(test-locale_FILES))) +test-locale_EXES := $(addprefix $(test-locale_TARGETDIR)/,$(test-locale_FILES)) + +test-locale_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-locale_CPPFLAGS += -I +endif +test-locale_CFLAGS := $(CFLAGS) +test-locale_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-locale_COVERAGE := yes +test-locale_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-locale_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-locale_CFLAGS := $(strip $(test-locale_COVERAGEFLAGS) $(test-locale_CFLAGS)) +test-locale_LIBS += $(test-locale_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-locale_FUNCINSTR := yes +test-locale_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-locale_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-locale_CFLAGS := $(strip $(test-locale_INSTRFUNCFLAGS) $(test-locale_CFLAGS)) +test-locale_LIBS += $(test-locale_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-locale_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-locale_CFLAGS)) +endif +endif +ifneq (,) + test-locale_DFLAGS := +else + test-locale_DFLAGS := $(test-locale_CFLAGS) +endif +ifeq (target,target) +test-locale_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-locale_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-locale_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-locale_LDFLAGS += -L +endif + +#MM +test-locale-quick : test-locale + +#MM test-locale : includes-generate-deps core-linklibs +test-locale : $(test-locale_EXES) + +ifneq ($(filter $(TARGET),test-locale test-locale-quick),) + +ifeq (,) +test-locale_MC_SRCWILDCARD := % +else +test-locale_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-locale_OBJDIR),) +test-locale_MC_TARGETS := $(addsuffix .o,$(test-locale_FILES)) +test-locale_MC_DTARGETS := $(addsuffix .d,$(test-locale_FILES)) +test-locale_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-locale_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-locale_OBJDIR)/,$(notdir $(test-locale_FILES)))) + test-locale_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-locale_OBJDIR)/,$(notdir $(test-locale_FILES)))) +else +ifeq (,) + test-locale_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-locale_OBJDIR)/,$(test-locale_FILES))) + test-locale_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-locale_OBJDIR)/,$(test-locale_FILES))) +else + test-locale_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-locale_OBJDIR)/,$(patsubst /%,%,$(test-locale_FILES)))) + test-locale_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-locale_OBJDIR)/,$(patsubst /%,%,$(test-locale_FILES)))) +endif +endif +test-locale_MC_TGTWILDCARD := $(test-locale_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : | $(addsuffix .c,$(test-locale_FILES)) + +# Be sure that all .c files are found +test-locale_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-locale_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-locale_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-locale_MC_DIRS := $(foreach dir, $(test-locale_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-locale_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-locale_MC_DIRS),) + test-locale_MC_DIRS := $(shell echo $(test-locale_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-locale_MC_DIRS) +endif + +endif + +test-locale_MC_CPPFLAGS := $(test-locale_CPPFLAGS) +test-locale_CFLAGS := $(test-locale_CFLAGS) +ifeq ($(test-locale_DFLAGS),) + test-locale_DFLAGS := $(test-locale_CFLAGS) +else + test-locale_DFLAGS := $(test-locale_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-locale_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-locale_STRIP ?= $(TARGET_STRIP) +test-locale_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_MC_CPPFLAGS:=$(strip $(test-locale_MC_CPPFLAGS) $(test-locale_MC_EXTRA_CPPFLAGS)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_CFLAGS:=$(strip $(test-locale_CFLAGS) $(SAFETY_CFLAGS)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_DFLAGS:=$(test-locale_DFLAGS) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-locale_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-locale_STRIP ?= $(HOST_STRIP) +test-locale_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-locale_MC_CPPFLAGS) $(test-locale_MC_EXTRA_CPPFLAGS)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-locale_CFLAGS)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-locale_DFLAGS)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_IQUOTE:=$(HOST_IQUOTE) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-locale_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-locale_STRIP ?= $(ECHO) >/dev/null +test-locale_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-locale_MC_CPPFLAGS) $(test-locale_MC_EXTRA_CPPFLAGS)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-locale_CFLAGS)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-locale_DFLAGS)) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_IQUOTE:=$(KERNEL_IQUOTE) +$(test-locale_MC_TARGETS) $(test-locale_MC_DTARGETS) : test-locale_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-locale_MC_TARGETS) : CPPFLAGS := $(test-locale_MC_CPPFLAGS) +$(test-locale_MC_TARGETS) : CFLAGS := $(test-locale_CFLAGS) +$(test-locale_MC_TARGETS) : $(test-locale_MC_TGTWILDCARD).o : $(test-locale_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-locale_IQUOTE) $(dir $<) $(test-locale_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-locale_IQUOTE) . $(test-locale_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-locale_IQUOTE) $(dir $<) $(test-locale_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-locale_IQUOTE) . $(test-locale_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-locale_IQUOTE) $(dir $<) $(test-locale_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-locale_IQUOTE) . $(test-locale_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-locale_MC_DTARGETS) : $(test-locale_MC_TGTWILDCARD).d : $(test-locale_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-locale_DFLAGS) $(test-locale_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-locale-link_EXTRA_LDFLAGS := +test-locale-link_EXTRA_LIBS := +ifeq (no,yes) + test-locale-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-locale-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-locale-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-locale-link_DIRS := $(subst -L ,-L,$(strip $(test-locale_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-locale-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-locale-link_DIRS))) +# Add trailing / +test-locale-link_DIRS := $(subst //,/,$(addsuffix /,$(test-locale-link_DIRS))) +# Add normal linklib path +test-locale-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-locale-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-locale_LIBS) $(test-locale-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-locale-link_DEPLIBS := $(foreach lib,$(test-locale-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-locale-link_DIRS)))) \ +) +test-locale-link_PROGS := $(addprefix $(test-locale_TARGETDIR)/,$(test-locale_FILES)) + +$(test-locale-link_PROGS) : OBJDIR := $(test-locale_OBJDIR) +$(test-locale-link_PROGS) : LDFLAGS := $(strip $(test-locale_LDFLAGS) $(test-locale-link_EXTRA_LDFLAGS)) +$(test-locale-link_PROGS) : LIBS := $(addprefix -l,$(test-locale_LIBS) $(test-locale-link_EXTRA_LIBS) ) +$(test-locale-link_PROGS) : $(test-locale_TARGETDIR)/% : $(test-locale_OBJDIR)/%.o $(test-locale-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-locale_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-locale_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-locale_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-locale_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-locale_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-locale_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-locale_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-locale_DEPS),) + ifneq (test-locale test-locale-quick,) + ifneq ($(findstring $(TARGET),test-locale test-locale-quick),) + -include $(test-locale_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-locale_DEPS) + endif + endif +endif + + +ifneq ($(test-locale_DEPS) $(test-locale_OBJS) $(addprefix $(test-locale_TARGETDIR)/,$(test-locale_FILES)),) +$(test-locale_DEPS) $(test-locale_OBJS) $(addprefix $(test-locale_TARGETDIR)/,$(test-locale_FILES)) : | $(test-locale_TARGETDIR) $(test-locale_OBJDIR) +else +$(test-locale_DEPS) $(test-locale_OBJS) $(addprefix $(test-locale_TARGETDIR)/,$(test-locale_FILES)) :: $(test-locale_TARGETDIR) $(test-locale_OBJDIR) +endif + +GLOB_MKDIRS += $(test-locale_TARGETDIR) $(test-locale_OBJDIR) + + +test-locale-clean : FILES := $(test-locale_OBJS) $(test-locale_EXES) $(test-locale_DEPS) +#MM +test-locale-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-locale" + $(Q)$(RM) $(FILES) + + + +test-locale-miscfiles_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(EXEDIR) +else +setup :: $(EXEDIR) +endif + +GLOB_MKDIRS += $(EXEDIR) + + +.PHONY : test-locale-miscfiles + +#MM +test-locale-miscfiles : | $(EXEDIR) + $(foreach file, openlocale.prefs, $(shell $(CP) $(addprefix $(if $(filter /%,$(test-locale-miscfiles_SRC)),$(test-locale-miscfiles_SRC),$(SRCDIR)/$(CURDIR)/$(test-locale-miscfiles_SRC))/, $(file)) $(addprefix $(EXEDIR)/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/lowlevel/mmakefile b/developer/debug/test/lowlevel/mmakefile new file mode 100644 index 00000000000..88a2867d0fa --- /dev/null +++ b/developer/debug/test/lowlevel/mmakefile @@ -0,0 +1,634 @@ +# $Id$ +# +# Makefile to make test lowlevel module. + +include $(SRCDIR)/config/aros.cfg + +FILES := lowlevel +EXEDIR := $(AROS_TESTS)/lowlevel + +USER_INCLUDES := -I $(SRCDIR)/$(CURDIR)/includes + +#MM test-lowlevel : linklibs-bootconsole + + +.PHONY : test-lowlevel + +test-lowlevel_PROGNAME := lowlevel +test-lowlevel_OBJDIR := $(GENDIR)/$(CURDIR) +test-lowlevel_TARGETDIR := $(EXEDIR) +test-lowlevel_LINKER := +test-lowlevel_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-lowlevel_LINKER),) + test-lowlevel_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + test-lowlevel_FILES := $(FILES) + test-lowlevel_OBJCFILES := + test-lowlevel_ASMFILES := + test-lowlevel_CXXFILES := +else + test-lowlevel_FILES := $(test-lowlevel_PROGNAME) + test-lowlevel_OBJCFILES := + test-lowlevel_ASMFILES := + test-lowlevel_CXXFILES := +endif + +test-lowlevel_ARCHOBJS := $(wildcard $(test-lowlevel_OBJDIR)/arch/*.o) +test-lowlevel_ARCHFILES := $(basename $(notdir $(test-lowlevel_ARCHOBJS))) +test-lowlevel_C_NARCHFILES := $(filter-out $(test-lowlevel_ARCHFILES),$(test-lowlevel_FILES)) +test-lowlevel_CXX_NARCHFILES := $(filter-out $(test-lowlevel_ARCHFILES),$(test-lowlevel_CXXFILES)) +test-lowlevel_OBJC_NARCHFILES := $(filter-out $(test-lowlevel_ARCHFILES),$(test-lowlevel_OBJCFILES)) + +TMP_FILES := $(test-lowlevel_C_NARCHFILES) $(test-lowlevel_CXX_NARCHFILES) $(test-lowlevel_ASMFILES) $(test-lowlevel_OBJC_NARCHFILES) +test-lowlevel_OBJS := $(addsuffix .o,$(addprefix $(test-lowlevel_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-lowlevel_DEPS := $(addsuffix .d,$(addprefix $(test-lowlevel_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-lowlevel_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-lowlevel_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-lowlevel_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-lowlevel_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-lowlevel_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-lowlevel_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-lowlevel_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-lowlevel_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-lowlevel_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-lowlevel_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-lowlevel_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-lowlevel_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-lowlevel_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-lowlevel_LDFLAGS := +endif + +test-lowlevel_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-lowlevel_COVERAGE := yes +test-lowlevel_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-lowlevel_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-lowlevel_CFLAGS := $(strip $(test-lowlevel_COVERAGEFLAGS) $(test-lowlevel_CFLAGS)) +test-lowlevel_CXXFLAGS := $(strip $(test-lowlevel_COVERAGEFLAGS) $(test-lowlevel_CXXFLAGS)) +test-lowlevel_LIBS += $(test-lowlevel_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-lowlevel_FUNCINSTR := yes +test-lowlevel_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-lowlevel_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-lowlevel_CFLAGS := $(strip $(test-lowlevel_INSTRFUNCFLAGS) $(test-lowlevel_CFLAGS)) +test-lowlevel_CXXFLAGS := $(strip $(test-lowlevel_INSTRFUNCFLAGS) $(test-lowlevel_CXXFLAGS)) +test-lowlevel_LIBS += $(test-lowlevel_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-lowlevel_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-lowlevel_CFLAGS)) +test-lowlevel_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-lowlevel_CXXFLAGS)) +endif +endif +test-lowlevel_AFLAGS := $(AFLAGS) +ifneq (,) + test-lowlevel_DFLAGS := +else + test-lowlevel_DFLAGS := $(test-lowlevel_CFLAGS) +endif +ifneq (,) + test-lowlevel_DXXFLAGS := +else + test-lowlevel_DXXFLAGS := $(test-lowlevel_CXXFLAGS) +endif +ifeq (target,target) +test-lowlevel_LDFLAGS := $(test-lowlevel_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-lowlevel_LDFLAGS := $(test-lowlevel_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-lowlevel_LDFLAGS := $(test-lowlevel_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-lowlevel_LDFLAGS += -L +endif + +#MM +test-lowlevel-quick : test-lowlevel + +#MM test-lowlevel : includes-generate-deps core-linklibs +test-lowlevel : $(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) + +ifneq ($(filter $(TARGET),test-lowlevel test-lowlevel-quick test-lowlevel-gz-quick),) + +test-lowlevel_CXXABSBASENAMES := $(foreach test-lowlevel_CXXBASE,$(test-lowlevel_CXX_NARCHFILES),$(if $(filter /%,$(test-lowlevel_CXXBASE)),$(test-lowlevel_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-lowlevel_CXXBASE)))) + +ifneq ($(test-lowlevel_CXXABSBASENAMES),) + +test-lowlevel_CXXBASENAMES := $(basename $(test-lowlevel_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-lowlevel_MCXX_FILES := $(strip $(foreach test-lowlevel_CXXBASE,$(test-lowlevel_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-lowlevel_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-lowlevel_EXT),$(test-lowlevel_CXXBASE))))))) + +ifeq (,) +test-lowlevel_MCXX_SRCWILDCARD := % +else +test-lowlevel_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-lowlevel_OBJDIR),) + test-lowlevel_CXXTARGETS := $(notdir $(test-lowlevel_CXXBASENAMES:=.o)) + test-lowlevel_CXXDTARGETS := $(notdir $(test-lowlevel_CXXBASENAMES:=.d)) + test-lowlevel_MCXX_WILDCARD := % +else + test-lowlevel_CXXTARGETS := $(addprefix $(test-lowlevel_OBJDIR)/,$(notdir $(test-lowlevel_CXXBASENAMES:=.o))) + test-lowlevel_CXXDTARGETS := $(addprefix $(test-lowlevel_OBJDIR)/,$(notdir $(test-lowlevel_CXXBASENAMES:=.d))) + test-lowlevel_MCXX_WILDCARD := $(test-lowlevel_OBJDIR)/% + + # Be sure that all source files are generated + $(test-lowlevel_CXXTARGETS) $(test-lowlevel_CXXDTARGETS) : | $(test-lowlevel_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-lowlevel_MCXX_CPPFLAGS := $(test-lowlevel_CPPFLAGS) +test-lowlevel_CXXFLAGS := $(test-lowlevel_CXXFLAGS) +ifeq ($(test-lowlevel_DXXFLAGS),) + test-lowlevel_DXXFLAGS := $(test-lowlevel_CXXFLAGS) +else + test-lowlevel_DXXFLAGS := $(test-lowlevel_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-lowlevel_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-lowlevel_STRIP ?= $(HOST_STRIP) + test-lowlevel_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-lowlevel_CXXCMD:=$(HOST_CXX) + test-lowlevel_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-lowlevel_MCXX_CPPFLAGS) $(test-lowlevel_MCXX_EXTRA_CPPFLAGS)) + test-lowlevel_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-lowlevel_CXXFLAGS)) + test-lowlevel_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-lowlevel_DXXFLAGS)) + test-lowlevel_CXXIQUOTE:=$(HOST_IQUOTE) + test-lowlevel_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-lowlevel_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-lowlevel_STRIP ?= $(TARGET_STRIP) + test-lowlevel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-lowlevel_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-lowlevel_MCXX_CPPFLAGS := $(strip $(test-lowlevel_MCXX_CPPFLAGS) $(test-lowlevel_MCXX_EXTRA_CPPFLAGS)) + test-lowlevel_CXXFLAGS := $(strip $(test-lowlevel_CXXFLAGS) $(SAFETY_CFLAGS)) + test-lowlevel_DXXFLAGS := $(test-lowlevel_DXXFLAGS) + test-lowlevel_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-lowlevel_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-lowlevel_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-lowlevel_STRIP ?= $(ECHO) >/dev/null + test-lowlevel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-lowlevel_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-lowlevel_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-lowlevel_MCXX_CPPFLAGS) $(test-lowlevel_MCXX_EXTRA_CPPFLAGS)) + test-lowlevel_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-lowlevel_CXXFLAGS)) + test-lowlevel_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-lowlevel_DXXFLAGS)) + test-lowlevel_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-lowlevel_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-lowlevel_CXXCMD) $(test-lowlevel_CXXIQUOTE) $(dir $(2)) $(test-lowlevel_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_CXXIQUOTE) . $(test-lowlevel_CXXIQUOTE_END) $(strip $(test-lowlevel_CXXFLAGS) $(test-lowlevel_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-lowlevel_CXXCMD) $(test-lowlevel_CXXIQUOTE) $(dir $(2)) $(test-lowlevel_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_CXXIQUOTE) . $(test-lowlevel_CXXIQUOTE_END) $(strip $(test-lowlevel_CXXFLAGS) $(test-lowlevel_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-lowlevel_CXXCMD) $(test-lowlevel_CXXIQUOTE) $(dir $(2)) $(test-lowlevel_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_CXXIQUOTE) . $(test-lowlevel_CXXIQUOTE_END) $(strip $(test-lowlevel_CXXFLAGS) $(test-lowlevel_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-lowlevel_CXXCMD)" $(MKDEPEND) $(strip $(test-lowlevel_DXXFLAGS) $(test-lowlevel_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-lowlevel_OBJDIR),) + $(foreach test-lowlevel_CXXFILE,$(test-lowlevel_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-lowlevel_CXXFILE))),$(test-lowlevel_CXXFILE)))) +else + $(foreach test-lowlevel_CXXFILE,$(test-lowlevel_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-lowlevel_OBJDIR)/,$(notdir $(basename $(test-lowlevel_CXXFILE)))),$(test-lowlevel_CXXFILE)))) +endif + +endif + + +ifneq ($(test-lowlevel_OBJC_NARCHFILES),) + +ifeq (,) +test-lowlevel_MOBJC_SRCWILDCARD := % +else +test-lowlevel_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-lowlevel_OBJDIR),) + test-lowlevel_MOBJC_TARGETS := $(addsuffix .o,$(test-lowlevel_OBJC_NARCHFILES)) + test-lowlevel_MOBJC_DTARGETS := $(addsuffix .d,$(test-lowlevel_OBJC_NARCHFILES)) + test-lowlevel_MOBJC_WILDCARD := % +else + test-lowlevel_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-lowlevel_OBJDIR)/,$(test-lowlevel_OBJC_NARCHFILES))) + test-lowlevel_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-lowlevel_OBJDIR)/,$(test-lowlevel_OBJC_NARCHFILES))) + test-lowlevel_MOBJC_WILDCARD := $(test-lowlevel_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-lowlevel_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-lowlevel_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-lowlevel_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-lowlevel_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-lowlevel_MOBJC_DIRS := $(foreach dir, $(test-lowlevel_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-lowlevel_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-lowlevel_MOBJC_DIRS),) + test-lowlevel_MOBJC_DIRS := $(shell echo $(test-lowlevel_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-lowlevel_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-lowlevel_CC := $(TARGET_CC) +else + test-lowlevel_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-lowlevel_MOBJC_CPPFLAGS := $(test-lowlevel_CPPFLAGS) +test-lowlevel_OBJCFLAGS := $(test-lowlevel_CFLAGS) +test-lowlevel_OBJCFLAGS := $(test-lowlevel_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-lowlevel_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-lowlevel_OBJCFLAGS))) +ifeq ($(test-lowlevel_DFLAGS),) + test-lowlevel_OBJCDFLAGS := $(test-lowlevel_CFLAGS) +else + test-lowlevel_OBJCDFLAGS := $(test-lowlevel_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-lowlevel_LINK ?= $(strip $(test-lowlevel_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-lowlevel_STRIP ?= $(TARGET_STRIP) + test-lowlevel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : CMD:=$(strip $(test-lowlevel_CC) $(TARGET_SYSROOT)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_MOBJC_CPPFLAGS:=$(strip $(test-lowlevel_MOBJC_CPPFLAGS) $(test-lowlevel_MOBJC_EXTRA_CPPFLAGS)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_OBJCFLAGS:=$(strip $(test-lowlevel_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_OBJCDFLAGS:=$(test-lowlevel_OBJCDFLAGS) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-lowlevel_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-lowlevel_STRIP ?= $(HOST_STRIP) + test-lowlevel_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-lowlevel_MOBJC_CPPFLAGS) $(test-lowlevel_MOBJC_EXTRA_CPPFLAGS)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-lowlevel_OBJCFLAGS)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-lowlevel_OBJCDFLAGS)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_IQUOTE:=$(HOST_IQUOTE) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-lowlevel_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-lowlevel_STRIP ?= $(ECHO) >/dev/null + test-lowlevel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-lowlevel_MOBJC_CPPFLAGS) $(test-lowlevel_MOBJC_EXTRA_CPPFLAGS)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-lowlevel_OBJCFLAGS)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-lowlevel_OBJCDFLAGS)) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_IQUOTE:=$(KERNEL_IQUOTE) + $(test-lowlevel_MOBJC_TARGETS) $(test-lowlevel_MOBJC_DTARGETS) : test-lowlevel_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-lowlevel_MOBJC_TARGETS) : CPPFLAGS := $(test-lowlevel_MOBJC_CPPFLAGS) +$(test-lowlevel_MOBJC_TARGETS) : CFLAGS := $(test-lowlevel_OBJCFLAGS) +$(test-lowlevel_MOBJC_TARGETS) : $(test-lowlevel_MOBJC_WILDCARD).o : $(test-lowlevel_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-lowlevel_IQUOTE) $(dir $<) $(test-lowlevel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_IQUOTE) . $(test-lowlevel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-lowlevel_IQUOTE) $(dir $<) $(test-lowlevel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_IQUOTE) . $(test-lowlevel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-lowlevel_IQUOTE) $(dir $<) $(test-lowlevel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_IQUOTE) . $(test-lowlevel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-lowlevel_MOBJC_DTARGETS) : $(test-lowlevel_MOBJC_WILDCARD).d : $(test-lowlevel_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-lowlevel_OBJCDFLAGS) $(test-lowlevel_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-lowlevel_MC_SRCWILDCARD := % +else +test-lowlevel_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-lowlevel_OBJDIR),) +test-lowlevel_MC_TARGETS := $(addsuffix .o,$(test-lowlevel_C_NARCHFILES)) +test-lowlevel_MC_DTARGETS := $(addsuffix .d,$(test-lowlevel_C_NARCHFILES)) +test-lowlevel_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-lowlevel_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-lowlevel_OBJDIR)/,$(notdir $(test-lowlevel_C_NARCHFILES)))) + test-lowlevel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-lowlevel_OBJDIR)/,$(notdir $(test-lowlevel_C_NARCHFILES)))) +else +ifeq (,) + test-lowlevel_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-lowlevel_OBJDIR)/,$(test-lowlevel_C_NARCHFILES))) + test-lowlevel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-lowlevel_OBJDIR)/,$(test-lowlevel_C_NARCHFILES))) +else + test-lowlevel_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-lowlevel_OBJDIR)/,$(patsubst /%,%,$(test-lowlevel_C_NARCHFILES)))) + test-lowlevel_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-lowlevel_OBJDIR)/,$(patsubst /%,%,$(test-lowlevel_C_NARCHFILES)))) +endif +endif +test-lowlevel_MC_TGTWILDCARD := $(test-lowlevel_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : | $(addsuffix .c,$(test-lowlevel_C_NARCHFILES)) + +# Be sure that all .c files are found +test-lowlevel_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-lowlevel_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-lowlevel_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-lowlevel_MC_DIRS := $(foreach dir, $(test-lowlevel_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-lowlevel_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-lowlevel_MC_DIRS),) + test-lowlevel_MC_DIRS := $(shell echo $(test-lowlevel_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-lowlevel_MC_DIRS) +endif + +endif + +test-lowlevel_MC_CPPFLAGS := $(test-lowlevel_CPPFLAGS) +test-lowlevel_CFLAGS := $(test-lowlevel_CFLAGS) +ifeq ($(test-lowlevel_DFLAGS),) + test-lowlevel_DFLAGS := $(test-lowlevel_CFLAGS) +else + test-lowlevel_DFLAGS := $(test-lowlevel_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-lowlevel_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-lowlevel_STRIP ?= $(TARGET_STRIP) +test-lowlevel_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_MC_CPPFLAGS:=$(strip $(test-lowlevel_MC_CPPFLAGS) $(test-lowlevel_MC_EXTRA_CPPFLAGS)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_CFLAGS:=$(strip $(test-lowlevel_CFLAGS) $(SAFETY_CFLAGS)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_DFLAGS:=$(test-lowlevel_DFLAGS) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-lowlevel_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-lowlevel_STRIP ?= $(HOST_STRIP) +test-lowlevel_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-lowlevel_MC_CPPFLAGS) $(test-lowlevel_MC_EXTRA_CPPFLAGS)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-lowlevel_CFLAGS)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-lowlevel_DFLAGS)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_IQUOTE:=$(HOST_IQUOTE) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-lowlevel_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-lowlevel_STRIP ?= $(ECHO) >/dev/null +test-lowlevel_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-lowlevel_MC_CPPFLAGS) $(test-lowlevel_MC_EXTRA_CPPFLAGS)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-lowlevel_CFLAGS)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-lowlevel_DFLAGS)) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_IQUOTE:=$(KERNEL_IQUOTE) +$(test-lowlevel_MC_TARGETS) $(test-lowlevel_MC_DTARGETS) : test-lowlevel_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-lowlevel_MC_TARGETS) : CPPFLAGS := $(test-lowlevel_MC_CPPFLAGS) +$(test-lowlevel_MC_TARGETS) : CFLAGS := $(test-lowlevel_CFLAGS) +$(test-lowlevel_MC_TARGETS) : $(test-lowlevel_MC_TGTWILDCARD).o : $(test-lowlevel_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-lowlevel_IQUOTE) $(dir $<) $(test-lowlevel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_IQUOTE) . $(test-lowlevel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-lowlevel_IQUOTE) $(dir $<) $(test-lowlevel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_IQUOTE) . $(test-lowlevel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-lowlevel_IQUOTE) $(dir $<) $(test-lowlevel_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-lowlevel_IQUOTE) . $(test-lowlevel_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-lowlevel_MC_DTARGETS) : $(test-lowlevel_MC_TGTWILDCARD).d : $(test-lowlevel_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-lowlevel_DFLAGS) $(test-lowlevel_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-lowlevel_OBJDIR),) +test-lowlevel-MA_TARGETS := $(addsuffix .o,$(test-lowlevel_ASMFILES)) +test-lowlevel-MA_WILDCARD := % +else +test-lowlevel-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-lowlevel_OBJDIR)/,$(notdir $(test-lowlevel_ASMFILES)))) +test-lowlevel-MA_WILDCARD := $(test-lowlevel_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-lowlevel-MA_TARGETS) : | $(addsuffix .s,$(test-lowlevel_ASMFILES)) + +# Be sure that all .c files are found +test-lowlevel-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-lowlevel-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-lowlevel_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-lowlevel-MA_DIRS := $(foreach dir, $(test-lowlevel-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-lowlevel-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-lowlevel-MA_DIRS),) + test-lowlevel-MA_DIRS := $(shell echo $(test-lowlevel-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-lowlevel-MA_DIRS) +endif + +endif + +test-lowlevel-MA_ASSEMBLER ?= $(test-lowlevel_ASSEMBLER) + +$(test-lowlevel-MA_TARGETS) : test-lowlevel-MA_CMD:= $(test-lowlevel-MA_ASSEMBLER) + +$(test-lowlevel-MA_TARGETS) : CPPFLAGS := $(test-lowlevel_CPPFLAGS) +$(test-lowlevel-MA_TARGETS) : AFLAGS := $(test-lowlevel_AFLAGS) +$(test-lowlevel-MA_TARGETS) : $(test-lowlevel-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-lowlevel-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-lowlevel-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-lowlevel-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-lowlevel-link_EXTRA_LDFLAGS := +test-lowlevel-link_EXTRA_LIBS := +ifeq (no,yes) + test-lowlevel-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-lowlevel-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-lowlevel-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-lowlevel-link_DIRS := $(subst -L ,-L,$(strip $(test-lowlevel_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-lowlevel-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-lowlevel-link_DIRS))) +# Add trailing / +test-lowlevel-link_DIRS := $(subst //,/,$(addsuffix /,$(test-lowlevel-link_DIRS))) +# Add normal linklib path +test-lowlevel-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-lowlevel-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-lowlevel_LIBS) $(test-lowlevel-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-lowlevel-link_LIBS += startup.o +endif +ifeq (no,yes) + test-lowlevel-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-lowlevel-link_DEPLIBS := $(foreach lib,$(test-lowlevel-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-lowlevel-link_DIRS)))) \ +) + +$(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) : OBJDIR := $(test-lowlevel_OBJDIR) +$(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) : OBJS := $(test-lowlevel_OBJS) $(test-lowlevel_ARCHOBJS) $(USER_OBJS) +$(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) : LDFLAGS := $(strip $(test-lowlevel_LDFLAGS) $(test-lowlevel-link_EXTRA_LDFLAGS)) +$(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) : LIBS := $(addprefix -l,$(test-lowlevel_LIBS) $(test-lowlevel-link_EXTRA_LIBS) ) +$(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) : $(test-lowlevel_OBJS) $(test-lowlevel_ARCHOBJS) $(USER_OBJS) $(test-lowlevel-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-lowlevel_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-lowlevel_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-lowlevel_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-lowlevel_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-lowlevel_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-lowlevel_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-lowlevel_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-lowlevel_DEPS),) + ifneq (test-lowlevel test-lowlevel-quick,) + ifneq ($(findstring $(TARGET),test-lowlevel test-lowlevel-quick),) + -include $(test-lowlevel_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-lowlevel_DEPS) + endif + endif +endif + + +ifneq ($(test-lowlevel_OBJS) $(test-lowlevel_DEPS) $(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME),) +$(test-lowlevel_OBJS) $(test-lowlevel_DEPS) $(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) : | $(test-lowlevel_OBJDIR) $(test-lowlevel_TARGETDIR) +else +$(test-lowlevel_OBJS) $(test-lowlevel_DEPS) $(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) :: $(test-lowlevel_OBJDIR) $(test-lowlevel_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-lowlevel_OBJDIR) $(test-lowlevel_TARGETDIR) + + +test-lowlevel-clean : FILES := $(test-lowlevel_OBJS) $(test-lowlevel_TARGETDIR)/$(test-lowlevel_PROGNAME) $(test-lowlevel_DEPS) +#MM +test-lowlevel-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-lowlevel" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/mmakefile b/developer/debug/test/mmakefile new file mode 100644 index 00000000000..3b09387c0b7 --- /dev/null +++ b/developer/debug/test/mmakefile @@ -0,0 +1,345 @@ +# $Id$ +# +# Makefile for AROS Test binaries & scripts. + +include $(SRCDIR)/config/aros.cfg + +COMMONTESTFILES := \ + runtests + +EXEDIR := $(AROS_TESTS) + +USER_INCLUDES := -I$(SRCDIR)/workbench/libs +USER_CFLAGS += -DADATE="\"$(shell date '+%d.%m.%Y')\"" + +#MM- test : \ +#MM test-common \ +#MM test-crt \ +#MM test-kernel \ +#MM test-intuition \ +#MM test-layers \ +#MM test-zune \ +#MM test-miscfiles + +#MM- test-quick : \ +#MM test-common-quick \ +#MM test-crt-quick \ +#MM test-kernel-quick \ +#MM test-intuition-quick \ +#MM test-layers-quick \ +#MM test-zune-quick \ +#MM test-miscfiles-quick + +#MM- test : test-$(AROS_TARGET_ARCH) \ +#MM test-$(AROS_TARGET_CPU) \ +#MM test-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) + +#MM- test-quick : test-$(AROS_TARGET_ARCH)-quick \ +#MM test-$(AROS_TARGET_CPU)-quick \ +#MM test-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)-quick + +#MM test-common : includes linklibs + + +.PHONY : test-common + +test-common_OBJDIR := $(GENDIR)/$(CURDIR) +test-common_TARGETDIR := $(EXEDIR) +test-common_LIBS := + +test-common_FILES := $(COMMONTESTFILES) +test-common_OBJS := $(addsuffix .o,$(addprefix $(test-common_OBJDIR)/,$(test-common_FILES))) +test-common_DEPS := $(addsuffix .d,$(addprefix $(test-common_OBJDIR)/,$(test-common_FILES))) +test-common_EXES := $(addprefix $(test-common_TARGETDIR)/,$(test-common_FILES)) + +test-common_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-common_CPPFLAGS += -I +endif +test-common_CFLAGS := $(CFLAGS) +test-common_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-common_COVERAGE := yes +test-common_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-common_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-common_CFLAGS := $(strip $(test-common_COVERAGEFLAGS) $(test-common_CFLAGS)) +test-common_LIBS += $(test-common_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-common_FUNCINSTR := yes +test-common_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-common_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-common_CFLAGS := $(strip $(test-common_INSTRFUNCFLAGS) $(test-common_CFLAGS)) +test-common_LIBS += $(test-common_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-common_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-common_CFLAGS)) +endif +endif +ifneq (,) + test-common_DFLAGS := +else + test-common_DFLAGS := $(test-common_CFLAGS) +endif +ifeq (target,target) +test-common_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-common_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-common_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-common_LDFLAGS += -L +endif + +#MM +test-common-quick : test-common + +#MM test-common : includes-generate-deps core-linklibs +test-common : $(test-common_EXES) + +ifneq ($(filter $(TARGET),test-common test-common-quick),) + +ifeq (,) +test-common_MC_SRCWILDCARD := % +else +test-common_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-common_OBJDIR),) +test-common_MC_TARGETS := $(addsuffix .o,$(test-common_FILES)) +test-common_MC_DTARGETS := $(addsuffix .d,$(test-common_FILES)) +test-common_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-common_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-common_OBJDIR)/,$(notdir $(test-common_FILES)))) + test-common_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-common_OBJDIR)/,$(notdir $(test-common_FILES)))) +else +ifeq (,) + test-common_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-common_OBJDIR)/,$(test-common_FILES))) + test-common_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-common_OBJDIR)/,$(test-common_FILES))) +else + test-common_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-common_OBJDIR)/,$(patsubst /%,%,$(test-common_FILES)))) + test-common_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-common_OBJDIR)/,$(patsubst /%,%,$(test-common_FILES)))) +endif +endif +test-common_MC_TGTWILDCARD := $(test-common_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : | $(addsuffix .c,$(test-common_FILES)) + +# Be sure that all .c files are found +test-common_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-common_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-common_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-common_MC_DIRS := $(foreach dir, $(test-common_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-common_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-common_MC_DIRS),) + test-common_MC_DIRS := $(shell echo $(test-common_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-common_MC_DIRS) +endif + +endif + +test-common_MC_CPPFLAGS := $(test-common_CPPFLAGS) +test-common_CFLAGS := $(test-common_CFLAGS) +ifeq ($(test-common_DFLAGS),) + test-common_DFLAGS := $(test-common_CFLAGS) +else + test-common_DFLAGS := $(test-common_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-common_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-common_STRIP ?= $(TARGET_STRIP) +test-common_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_MC_CPPFLAGS:=$(strip $(test-common_MC_CPPFLAGS) $(test-common_MC_EXTRA_CPPFLAGS)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_CFLAGS:=$(strip $(test-common_CFLAGS) $(SAFETY_CFLAGS)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_DFLAGS:=$(test-common_DFLAGS) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-common_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-common_STRIP ?= $(HOST_STRIP) +test-common_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-common_MC_CPPFLAGS) $(test-common_MC_EXTRA_CPPFLAGS)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-common_CFLAGS)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-common_DFLAGS)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_IQUOTE:=$(HOST_IQUOTE) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-common_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-common_STRIP ?= $(ECHO) >/dev/null +test-common_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-common_MC_CPPFLAGS) $(test-common_MC_EXTRA_CPPFLAGS)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-common_CFLAGS)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-common_DFLAGS)) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_IQUOTE:=$(KERNEL_IQUOTE) +$(test-common_MC_TARGETS) $(test-common_MC_DTARGETS) : test-common_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-common_MC_TARGETS) : CPPFLAGS := $(test-common_MC_CPPFLAGS) +$(test-common_MC_TARGETS) : CFLAGS := $(test-common_CFLAGS) +$(test-common_MC_TARGETS) : $(test-common_MC_TGTWILDCARD).o : $(test-common_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-common_IQUOTE) $(dir $<) $(test-common_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-common_IQUOTE) . $(test-common_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-common_IQUOTE) $(dir $<) $(test-common_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-common_IQUOTE) . $(test-common_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-common_IQUOTE) $(dir $<) $(test-common_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-common_IQUOTE) . $(test-common_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-common_MC_DTARGETS) : $(test-common_MC_TGTWILDCARD).d : $(test-common_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-common_DFLAGS) $(test-common_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-common-link_EXTRA_LDFLAGS := +test-common-link_EXTRA_LIBS := +ifeq (no,yes) + test-common-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-common-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-common-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-common-link_DIRS := $(subst -L ,-L,$(strip $(test-common_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-common-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-common-link_DIRS))) +# Add trailing / +test-common-link_DIRS := $(subst //,/,$(addsuffix /,$(test-common-link_DIRS))) +# Add normal linklib path +test-common-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-common-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-common_LIBS) $(test-common-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-common-link_DEPLIBS := $(foreach lib,$(test-common-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-common-link_DIRS)))) \ +) +test-common-link_PROGS := $(addprefix $(test-common_TARGETDIR)/,$(test-common_FILES)) + +$(test-common-link_PROGS) : OBJDIR := $(test-common_OBJDIR) +$(test-common-link_PROGS) : LDFLAGS := $(strip $(test-common_LDFLAGS) $(test-common-link_EXTRA_LDFLAGS)) +$(test-common-link_PROGS) : LIBS := $(addprefix -l,$(test-common_LIBS) $(test-common-link_EXTRA_LIBS) ) +$(test-common-link_PROGS) : $(test-common_TARGETDIR)/% : $(test-common_OBJDIR)/%.o $(test-common-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-common_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-common_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-common_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-common_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-common_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-common_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-common_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-common_DEPS),) + ifneq (test-common test-common-quick,) + ifneq ($(findstring $(TARGET),test-common test-common-quick),) + -include $(test-common_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-common_DEPS) + endif + endif +endif + + +ifneq ($(test-common_DEPS) $(test-common_OBJS) $(addprefix $(test-common_TARGETDIR)/,$(test-common_FILES)),) +$(test-common_DEPS) $(test-common_OBJS) $(addprefix $(test-common_TARGETDIR)/,$(test-common_FILES)) : | $(test-common_TARGETDIR) $(test-common_OBJDIR) +else +$(test-common_DEPS) $(test-common_OBJS) $(addprefix $(test-common_TARGETDIR)/,$(test-common_FILES)) :: $(test-common_TARGETDIR) $(test-common_OBJDIR) +endif + +GLOB_MKDIRS += $(test-common_TARGETDIR) $(test-common_OBJDIR) + + +test-common-clean : FILES := $(test-common_OBJS) $(test-common_EXES) $(test-common_DEPS) +#MM +test-common-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-common" + $(Q)$(RM) $(FILES) + + + +test-miscfiles_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(EXEDIR) +else +setup :: $(EXEDIR) +endif + +GLOB_MKDIRS += $(EXEDIR) + + +.PHONY : test-miscfiles + +#MM +test-miscfiles : | $(EXEDIR) + $(foreach file, testscript, $(shell $(CP) $(addprefix $(if $(filter /%,$(test-miscfiles_SRC)),$(test-miscfiles_SRC),$(SRCDIR)/$(CURDIR)/$(test-miscfiles_SRC))/, $(file)) $(addprefix $(EXEDIR)/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/net/mmakefile b/developer/debug/test/net/mmakefile new file mode 100644 index 00000000000..f43006899ac --- /dev/null +++ b/developer/debug/test/net/mmakefile @@ -0,0 +1,295 @@ +# Copyright © 2003-2011, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := netlib +EXEDIR := $(AROS_TESTS)/net + +#MM- test : test-net +#MM- test-quick : test-net-quick +#MM- test-net : arostcp-linklibs-netlib + + +.PHONY : test-net + +test-net_OBJDIR := $(GENDIR)/$(CURDIR) +test-net_TARGETDIR := $(EXEDIR) +test-net_LIBS := net + +test-net_FILES := $(FILES) +test-net_OBJS := $(addsuffix .o,$(addprefix $(test-net_OBJDIR)/,$(test-net_FILES))) +test-net_DEPS := $(addsuffix .d,$(addprefix $(test-net_OBJDIR)/,$(test-net_FILES))) +test-net_EXES := $(addprefix $(test-net_TARGETDIR)/,$(test-net_FILES)) + +test-net_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-net_CPPFLAGS += -I +endif +test-net_CFLAGS := $(CFLAGS) +test-net_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-net_COVERAGE := yes +test-net_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-net_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-net_CFLAGS := $(strip $(test-net_COVERAGEFLAGS) $(test-net_CFLAGS)) +test-net_LIBS += $(test-net_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-net_FUNCINSTR := yes +test-net_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-net_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-net_CFLAGS := $(strip $(test-net_INSTRFUNCFLAGS) $(test-net_CFLAGS)) +test-net_LIBS += $(test-net_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-net_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-net_CFLAGS)) +endif +endif +ifneq (,) + test-net_DFLAGS := +else + test-net_DFLAGS := $(test-net_CFLAGS) +endif +ifeq (target,target) +test-net_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-net_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-net_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-net_LDFLAGS += -L +endif + +#MM +test-net-quick : test-net + +#MM test-net : includes-generate-deps core-linklibs +test-net : $(test-net_EXES) + +ifneq ($(filter $(TARGET),test-net test-net-quick),) + +ifeq (,) +test-net_MC_SRCWILDCARD := % +else +test-net_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-net_OBJDIR),) +test-net_MC_TARGETS := $(addsuffix .o,$(test-net_FILES)) +test-net_MC_DTARGETS := $(addsuffix .d,$(test-net_FILES)) +test-net_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-net_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-net_OBJDIR)/,$(notdir $(test-net_FILES)))) + test-net_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-net_OBJDIR)/,$(notdir $(test-net_FILES)))) +else +ifeq (,) + test-net_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-net_OBJDIR)/,$(test-net_FILES))) + test-net_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-net_OBJDIR)/,$(test-net_FILES))) +else + test-net_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-net_OBJDIR)/,$(patsubst /%,%,$(test-net_FILES)))) + test-net_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-net_OBJDIR)/,$(patsubst /%,%,$(test-net_FILES)))) +endif +endif +test-net_MC_TGTWILDCARD := $(test-net_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : | $(addsuffix .c,$(test-net_FILES)) + +# Be sure that all .c files are found +test-net_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-net_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-net_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-net_MC_DIRS := $(foreach dir, $(test-net_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-net_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-net_MC_DIRS),) + test-net_MC_DIRS := $(shell echo $(test-net_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-net_MC_DIRS) +endif + +endif + +test-net_MC_CPPFLAGS := $(test-net_CPPFLAGS) +test-net_CFLAGS := $(test-net_CFLAGS) +ifeq ($(test-net_DFLAGS),) + test-net_DFLAGS := $(test-net_CFLAGS) +else + test-net_DFLAGS := $(test-net_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-net_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-net_STRIP ?= $(TARGET_STRIP) +test-net_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_MC_CPPFLAGS:=$(strip $(test-net_MC_CPPFLAGS) $(test-net_MC_EXTRA_CPPFLAGS)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_CFLAGS:=$(strip $(test-net_CFLAGS) $(SAFETY_CFLAGS)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_DFLAGS:=$(test-net_DFLAGS) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-net_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-net_STRIP ?= $(HOST_STRIP) +test-net_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-net_MC_CPPFLAGS) $(test-net_MC_EXTRA_CPPFLAGS)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-net_CFLAGS)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-net_DFLAGS)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_IQUOTE:=$(HOST_IQUOTE) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-net_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-net_STRIP ?= $(ECHO) >/dev/null +test-net_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-net_MC_CPPFLAGS) $(test-net_MC_EXTRA_CPPFLAGS)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-net_CFLAGS)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-net_DFLAGS)) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_IQUOTE:=$(KERNEL_IQUOTE) +$(test-net_MC_TARGETS) $(test-net_MC_DTARGETS) : test-net_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-net_MC_TARGETS) : CPPFLAGS := $(test-net_MC_CPPFLAGS) +$(test-net_MC_TARGETS) : CFLAGS := $(test-net_CFLAGS) +$(test-net_MC_TARGETS) : $(test-net_MC_TGTWILDCARD).o : $(test-net_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-net_IQUOTE) $(dir $<) $(test-net_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-net_IQUOTE) . $(test-net_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-net_IQUOTE) $(dir $<) $(test-net_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-net_IQUOTE) . $(test-net_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-net_IQUOTE) $(dir $<) $(test-net_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-net_IQUOTE) . $(test-net_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-net_MC_DTARGETS) : $(test-net_MC_TGTWILDCARD).d : $(test-net_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-net_DFLAGS) $(test-net_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-net-link_EXTRA_LDFLAGS := +test-net-link_EXTRA_LIBS := +ifeq (no,yes) + test-net-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-net-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-net-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-net-link_DIRS := $(subst -L ,-L,$(strip $(test-net_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-net-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-net-link_DIRS))) +# Add trailing / +test-net-link_DIRS := $(subst //,/,$(addsuffix /,$(test-net-link_DIRS))) +# Add normal linklib path +test-net-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-net-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-net_LIBS) $(test-net-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-net-link_DEPLIBS := $(foreach lib,$(test-net-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-net-link_DIRS)))) \ +) +test-net-link_PROGS := $(addprefix $(test-net_TARGETDIR)/,$(test-net_FILES)) + +$(test-net-link_PROGS) : OBJDIR := $(test-net_OBJDIR) +$(test-net-link_PROGS) : LDFLAGS := $(strip $(test-net_LDFLAGS) $(test-net-link_EXTRA_LDFLAGS)) +$(test-net-link_PROGS) : LIBS := $(addprefix -l,$(test-net_LIBS) $(test-net-link_EXTRA_LIBS) ) +$(test-net-link_PROGS) : $(test-net_TARGETDIR)/% : $(test-net_OBJDIR)/%.o $(test-net-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-net_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-net_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-net_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-net_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-net_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-net_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-net_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-net_DEPS),) + ifneq (test-net test-net-quick,) + ifneq ($(findstring $(TARGET),test-net test-net-quick),) + -include $(test-net_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-net_DEPS) + endif + endif +endif + + +ifneq ($(test-net_DEPS) $(test-net_OBJS) $(addprefix $(test-net_TARGETDIR)/,$(test-net_FILES)),) +$(test-net_DEPS) $(test-net_OBJS) $(addprefix $(test-net_TARGETDIR)/,$(test-net_FILES)) : | $(test-net_TARGETDIR) $(test-net_OBJDIR) +else +$(test-net_DEPS) $(test-net_OBJS) $(addprefix $(test-net_TARGETDIR)/,$(test-net_FILES)) :: $(test-net_TARGETDIR) $(test-net_OBJDIR) +endif + +GLOB_MKDIRS += $(test-net_TARGETDIR) $(test-net_OBJDIR) + + +test-net-clean : FILES := $(test-net_OBJS) $(test-net_EXES) $(test-net_DEPS) +#MM +test-net-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-net" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/objc/mmakefile b/developer/debug/test/objc/mmakefile new file mode 100644 index 00000000000..11b27143db8 --- /dev/null +++ b/developer/debug/test/objc/mmakefile @@ -0,0 +1,643 @@ +# +# Copyright (C) 2013, The AROS Development Team +# All right reserved. +# Author: Jason S. McMullan +# +# Licensed under the AROS PUBLIC LICENSE (APL) Version 1.1 +# +include $(SRCDIR)/config/aros.cfg + +EXEDIR := $(AROS_TESTS)/objc + +# gcc 4.6.2 can't build arm Objective C support without +# a compiler error. +#MM- test : test-$(OBJC_TARGET)-$(CPU) +#MM- test-objc-i386 : test-objc +#MM- test-objc-x86_64 : test-objc +#MM- test-objc-ppc : test-objc +##MM- test-quick : test-objc-quick + +#MM- test-objc: test-objc-hello +#MM- test-objc-quick: test-objc-hello-quick + + +.PHONY : test-objc-hello + +test-objc-hello_PROGNAME := hello +test-objc-hello_OBJDIR := $(GENDIR)/$(CURDIR) +test-objc-hello_TARGETDIR := $(EXEDIR) +test-objc-hello_LINKER := +test-objc-hello_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-objc-hello_LINKER),) + test-objc-hello_LINKER := target +endif + +ifneq ("$(strip hello )","") + test-objc-hello_FILES := + test-objc-hello_OBJCFILES := hello + test-objc-hello_ASMFILES := + test-objc-hello_CXXFILES := +else + test-objc-hello_FILES := $(test-objc-hello_PROGNAME) + test-objc-hello_OBJCFILES := + test-objc-hello_ASMFILES := + test-objc-hello_CXXFILES := +endif + +test-objc-hello_ARCHOBJS := $(wildcard $(test-objc-hello_OBJDIR)/arch/*.o) +test-objc-hello_ARCHFILES := $(basename $(notdir $(test-objc-hello_ARCHOBJS))) +test-objc-hello_C_NARCHFILES := $(filter-out $(test-objc-hello_ARCHFILES),$(test-objc-hello_FILES)) +test-objc-hello_CXX_NARCHFILES := $(filter-out $(test-objc-hello_ARCHFILES),$(test-objc-hello_CXXFILES)) +test-objc-hello_OBJC_NARCHFILES := $(filter-out $(test-objc-hello_ARCHFILES),$(test-objc-hello_OBJCFILES)) + +TMP_FILES := $(test-objc-hello_C_NARCHFILES) $(test-objc-hello_CXX_NARCHFILES) $(test-objc-hello_ASMFILES) $(test-objc-hello_OBJC_NARCHFILES) +test-objc-hello_OBJS := $(addsuffix .o,$(addprefix $(test-objc-hello_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-objc-hello_DEPS := $(addsuffix .d,$(addprefix $(test-objc-hello_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-objc-hello_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-objc-hello_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-objc-hello_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-objc-hello_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-objc-hello_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-objc-hello_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-objc-hello_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-objc-hello_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-objc-hello_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-objc-hello_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-objc-hello_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-objc-hello_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-objc-hello_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-objc-hello_LDFLAGS := +endif + +test-objc-hello_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-objc-hello_COVERAGE := yes +test-objc-hello_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-objc-hello_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-objc-hello_CFLAGS := $(strip $(test-objc-hello_COVERAGEFLAGS) $(test-objc-hello_CFLAGS)) +test-objc-hello_CXXFLAGS := $(strip $(test-objc-hello_COVERAGEFLAGS) $(test-objc-hello_CXXFLAGS)) +test-objc-hello_LIBS += $(test-objc-hello_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-objc-hello_FUNCINSTR := yes +test-objc-hello_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-objc-hello_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-objc-hello_CFLAGS := $(strip $(test-objc-hello_INSTRFUNCFLAGS) $(test-objc-hello_CFLAGS)) +test-objc-hello_CXXFLAGS := $(strip $(test-objc-hello_INSTRFUNCFLAGS) $(test-objc-hello_CXXFLAGS)) +test-objc-hello_LIBS += $(test-objc-hello_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-objc-hello_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-objc-hello_CFLAGS)) +test-objc-hello_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-objc-hello_CXXFLAGS)) +endif +endif +test-objc-hello_AFLAGS := $(AFLAGS) +ifneq (,) + test-objc-hello_DFLAGS := +else + test-objc-hello_DFLAGS := $(test-objc-hello_CFLAGS) +endif +ifneq (,) + test-objc-hello_DXXFLAGS := +else + test-objc-hello_DXXFLAGS := $(test-objc-hello_CXXFLAGS) +endif +ifeq (target,target) +test-objc-hello_LDFLAGS := $(test-objc-hello_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-objc-hello_LDFLAGS := $(test-objc-hello_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-objc-hello_LDFLAGS := $(test-objc-hello_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-objc-hello_LDFLAGS += -L +endif + +#MM +test-objc-hello-quick : test-objc-hello + +#MM test-objc-hello : includes-generate-deps core-linklibs +test-objc-hello : $(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) + +ifneq ($(filter $(TARGET),test-objc-hello test-objc-hello-quick test-objc-hello-gz-quick),) + +test-objc-hello_CXXABSBASENAMES := $(foreach test-objc-hello_CXXBASE,$(test-objc-hello_CXX_NARCHFILES),$(if $(filter /%,$(test-objc-hello_CXXBASE)),$(test-objc-hello_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-objc-hello_CXXBASE)))) + +ifneq ($(test-objc-hello_CXXABSBASENAMES),) + +test-objc-hello_CXXBASENAMES := $(basename $(test-objc-hello_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-objc-hello_MCXX_FILES := $(strip $(foreach test-objc-hello_CXXBASE,$(test-objc-hello_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-objc-hello_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-objc-hello_EXT),$(test-objc-hello_CXXBASE))))))) + +ifeq (,) +test-objc-hello_MCXX_SRCWILDCARD := % +else +test-objc-hello_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-objc-hello_OBJDIR),) + test-objc-hello_CXXTARGETS := $(notdir $(test-objc-hello_CXXBASENAMES:=.o)) + test-objc-hello_CXXDTARGETS := $(notdir $(test-objc-hello_CXXBASENAMES:=.d)) + test-objc-hello_MCXX_WILDCARD := % +else + test-objc-hello_CXXTARGETS := $(addprefix $(test-objc-hello_OBJDIR)/,$(notdir $(test-objc-hello_CXXBASENAMES:=.o))) + test-objc-hello_CXXDTARGETS := $(addprefix $(test-objc-hello_OBJDIR)/,$(notdir $(test-objc-hello_CXXBASENAMES:=.d))) + test-objc-hello_MCXX_WILDCARD := $(test-objc-hello_OBJDIR)/% + + # Be sure that all source files are generated + $(test-objc-hello_CXXTARGETS) $(test-objc-hello_CXXDTARGETS) : | $(test-objc-hello_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-objc-hello_MCXX_CPPFLAGS := $(test-objc-hello_CPPFLAGS) +test-objc-hello_CXXFLAGS := $(test-objc-hello_CXXFLAGS) +ifeq ($(test-objc-hello_DXXFLAGS),) + test-objc-hello_DXXFLAGS := $(test-objc-hello_CXXFLAGS) +else + test-objc-hello_DXXFLAGS := $(test-objc-hello_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-objc-hello_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-objc-hello_STRIP ?= $(HOST_STRIP) + test-objc-hello_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-objc-hello_CXXCMD:=$(HOST_CXX) + test-objc-hello_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-objc-hello_MCXX_CPPFLAGS) $(test-objc-hello_MCXX_EXTRA_CPPFLAGS)) + test-objc-hello_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-objc-hello_CXXFLAGS)) + test-objc-hello_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-objc-hello_DXXFLAGS)) + test-objc-hello_CXXIQUOTE:=$(HOST_IQUOTE) + test-objc-hello_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-objc-hello_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-objc-hello_STRIP ?= $(TARGET_STRIP) + test-objc-hello_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-objc-hello_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-objc-hello_MCXX_CPPFLAGS := $(strip $(test-objc-hello_MCXX_CPPFLAGS) $(test-objc-hello_MCXX_EXTRA_CPPFLAGS)) + test-objc-hello_CXXFLAGS := $(strip $(test-objc-hello_CXXFLAGS) $(SAFETY_CFLAGS)) + test-objc-hello_DXXFLAGS := $(test-objc-hello_DXXFLAGS) + test-objc-hello_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-objc-hello_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-objc-hello_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-objc-hello_STRIP ?= $(ECHO) >/dev/null + test-objc-hello_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-objc-hello_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-objc-hello_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-objc-hello_MCXX_CPPFLAGS) $(test-objc-hello_MCXX_EXTRA_CPPFLAGS)) + test-objc-hello_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-objc-hello_CXXFLAGS)) + test-objc-hello_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-objc-hello_DXXFLAGS)) + test-objc-hello_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-objc-hello_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-objc-hello_CXXCMD) $(test-objc-hello_CXXIQUOTE) $(dir $(2)) $(test-objc-hello_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_CXXIQUOTE) . $(test-objc-hello_CXXIQUOTE_END) $(strip $(test-objc-hello_CXXFLAGS) $(test-objc-hello_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-objc-hello_CXXCMD) $(test-objc-hello_CXXIQUOTE) $(dir $(2)) $(test-objc-hello_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_CXXIQUOTE) . $(test-objc-hello_CXXIQUOTE_END) $(strip $(test-objc-hello_CXXFLAGS) $(test-objc-hello_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-objc-hello_CXXCMD) $(test-objc-hello_CXXIQUOTE) $(dir $(2)) $(test-objc-hello_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_CXXIQUOTE) . $(test-objc-hello_CXXIQUOTE_END) $(strip $(test-objc-hello_CXXFLAGS) $(test-objc-hello_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-objc-hello_CXXCMD)" $(MKDEPEND) $(strip $(test-objc-hello_DXXFLAGS) $(test-objc-hello_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-objc-hello_OBJDIR),) + $(foreach test-objc-hello_CXXFILE,$(test-objc-hello_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-objc-hello_CXXFILE))),$(test-objc-hello_CXXFILE)))) +else + $(foreach test-objc-hello_CXXFILE,$(test-objc-hello_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-objc-hello_OBJDIR)/,$(notdir $(basename $(test-objc-hello_CXXFILE)))),$(test-objc-hello_CXXFILE)))) +endif + +endif + + +ifneq ($(test-objc-hello_OBJC_NARCHFILES),) + +ifeq (,) +test-objc-hello_MOBJC_SRCWILDCARD := % +else +test-objc-hello_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-objc-hello_OBJDIR),) + test-objc-hello_MOBJC_TARGETS := $(addsuffix .o,$(test-objc-hello_OBJC_NARCHFILES)) + test-objc-hello_MOBJC_DTARGETS := $(addsuffix .d,$(test-objc-hello_OBJC_NARCHFILES)) + test-objc-hello_MOBJC_WILDCARD := % +else + test-objc-hello_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-objc-hello_OBJDIR)/,$(test-objc-hello_OBJC_NARCHFILES))) + test-objc-hello_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-objc-hello_OBJDIR)/,$(test-objc-hello_OBJC_NARCHFILES))) + test-objc-hello_MOBJC_WILDCARD := $(test-objc-hello_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-objc-hello_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-objc-hello_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-objc-hello_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-objc-hello_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-objc-hello_MOBJC_DIRS := $(foreach dir, $(test-objc-hello_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-objc-hello_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-objc-hello_MOBJC_DIRS),) + test-objc-hello_MOBJC_DIRS := $(shell echo $(test-objc-hello_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-objc-hello_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-objc-hello_CC := $(TARGET_CC) +else + test-objc-hello_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-objc-hello_MOBJC_CPPFLAGS := $(test-objc-hello_CPPFLAGS) +test-objc-hello_OBJCFLAGS := $(test-objc-hello_CFLAGS) +test-objc-hello_OBJCFLAGS := $(test-objc-hello_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-objc-hello_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-objc-hello_OBJCFLAGS))) +ifeq ($(test-objc-hello_DFLAGS),) + test-objc-hello_OBJCDFLAGS := $(test-objc-hello_CFLAGS) +else + test-objc-hello_OBJCDFLAGS := $(test-objc-hello_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-objc-hello_LINK ?= $(strip $(test-objc-hello_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-objc-hello_STRIP ?= $(TARGET_STRIP) + test-objc-hello_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : CMD:=$(strip $(test-objc-hello_CC) $(TARGET_SYSROOT)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_MOBJC_CPPFLAGS:=$(strip $(test-objc-hello_MOBJC_CPPFLAGS) $(test-objc-hello_MOBJC_EXTRA_CPPFLAGS)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_OBJCFLAGS:=$(strip $(test-objc-hello_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_OBJCDFLAGS:=$(test-objc-hello_OBJCDFLAGS) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-objc-hello_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-objc-hello_STRIP ?= $(HOST_STRIP) + test-objc-hello_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-objc-hello_MOBJC_CPPFLAGS) $(test-objc-hello_MOBJC_EXTRA_CPPFLAGS)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-objc-hello_OBJCFLAGS)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-objc-hello_OBJCDFLAGS)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_IQUOTE:=$(HOST_IQUOTE) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-objc-hello_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-objc-hello_STRIP ?= $(ECHO) >/dev/null + test-objc-hello_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-objc-hello_MOBJC_CPPFLAGS) $(test-objc-hello_MOBJC_EXTRA_CPPFLAGS)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-objc-hello_OBJCFLAGS)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-objc-hello_OBJCDFLAGS)) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_IQUOTE:=$(KERNEL_IQUOTE) + $(test-objc-hello_MOBJC_TARGETS) $(test-objc-hello_MOBJC_DTARGETS) : test-objc-hello_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-objc-hello_MOBJC_TARGETS) : CPPFLAGS := $(test-objc-hello_MOBJC_CPPFLAGS) +$(test-objc-hello_MOBJC_TARGETS) : CFLAGS := $(test-objc-hello_OBJCFLAGS) +$(test-objc-hello_MOBJC_TARGETS) : $(test-objc-hello_MOBJC_WILDCARD).o : $(test-objc-hello_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-objc-hello_IQUOTE) $(dir $<) $(test-objc-hello_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_IQUOTE) . $(test-objc-hello_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-objc-hello_IQUOTE) $(dir $<) $(test-objc-hello_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_IQUOTE) . $(test-objc-hello_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-objc-hello_IQUOTE) $(dir $<) $(test-objc-hello_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_IQUOTE) . $(test-objc-hello_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-objc-hello_MOBJC_DTARGETS) : $(test-objc-hello_MOBJC_WILDCARD).d : $(test-objc-hello_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-objc-hello_OBJCDFLAGS) $(test-objc-hello_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-objc-hello_MC_SRCWILDCARD := % +else +test-objc-hello_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-objc-hello_OBJDIR),) +test-objc-hello_MC_TARGETS := $(addsuffix .o,$(test-objc-hello_C_NARCHFILES)) +test-objc-hello_MC_DTARGETS := $(addsuffix .d,$(test-objc-hello_C_NARCHFILES)) +test-objc-hello_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-objc-hello_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-objc-hello_OBJDIR)/,$(notdir $(test-objc-hello_C_NARCHFILES)))) + test-objc-hello_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-objc-hello_OBJDIR)/,$(notdir $(test-objc-hello_C_NARCHFILES)))) +else +ifeq (,) + test-objc-hello_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-objc-hello_OBJDIR)/,$(test-objc-hello_C_NARCHFILES))) + test-objc-hello_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-objc-hello_OBJDIR)/,$(test-objc-hello_C_NARCHFILES))) +else + test-objc-hello_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-objc-hello_OBJDIR)/,$(patsubst /%,%,$(test-objc-hello_C_NARCHFILES)))) + test-objc-hello_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-objc-hello_OBJDIR)/,$(patsubst /%,%,$(test-objc-hello_C_NARCHFILES)))) +endif +endif +test-objc-hello_MC_TGTWILDCARD := $(test-objc-hello_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : | $(addsuffix .c,$(test-objc-hello_C_NARCHFILES)) + +# Be sure that all .c files are found +test-objc-hello_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-objc-hello_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-objc-hello_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-objc-hello_MC_DIRS := $(foreach dir, $(test-objc-hello_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-objc-hello_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-objc-hello_MC_DIRS),) + test-objc-hello_MC_DIRS := $(shell echo $(test-objc-hello_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-objc-hello_MC_DIRS) +endif + +endif + +test-objc-hello_MC_CPPFLAGS := $(test-objc-hello_CPPFLAGS) +test-objc-hello_CFLAGS := $(test-objc-hello_CFLAGS) +ifeq ($(test-objc-hello_DFLAGS),) + test-objc-hello_DFLAGS := $(test-objc-hello_CFLAGS) +else + test-objc-hello_DFLAGS := $(test-objc-hello_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-objc-hello_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-objc-hello_STRIP ?= $(TARGET_STRIP) +test-objc-hello_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_MC_CPPFLAGS:=$(strip $(test-objc-hello_MC_CPPFLAGS) $(test-objc-hello_MC_EXTRA_CPPFLAGS)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_CFLAGS:=$(strip $(test-objc-hello_CFLAGS) $(SAFETY_CFLAGS)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_DFLAGS:=$(test-objc-hello_DFLAGS) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-objc-hello_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-objc-hello_STRIP ?= $(HOST_STRIP) +test-objc-hello_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-objc-hello_MC_CPPFLAGS) $(test-objc-hello_MC_EXTRA_CPPFLAGS)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-objc-hello_CFLAGS)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-objc-hello_DFLAGS)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_IQUOTE:=$(HOST_IQUOTE) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-objc-hello_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-objc-hello_STRIP ?= $(ECHO) >/dev/null +test-objc-hello_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-objc-hello_MC_CPPFLAGS) $(test-objc-hello_MC_EXTRA_CPPFLAGS)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-objc-hello_CFLAGS)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-objc-hello_DFLAGS)) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_IQUOTE:=$(KERNEL_IQUOTE) +$(test-objc-hello_MC_TARGETS) $(test-objc-hello_MC_DTARGETS) : test-objc-hello_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-objc-hello_MC_TARGETS) : CPPFLAGS := $(test-objc-hello_MC_CPPFLAGS) +$(test-objc-hello_MC_TARGETS) : CFLAGS := $(test-objc-hello_CFLAGS) +$(test-objc-hello_MC_TARGETS) : $(test-objc-hello_MC_TGTWILDCARD).o : $(test-objc-hello_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-objc-hello_IQUOTE) $(dir $<) $(test-objc-hello_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_IQUOTE) . $(test-objc-hello_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-objc-hello_IQUOTE) $(dir $<) $(test-objc-hello_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_IQUOTE) . $(test-objc-hello_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-objc-hello_IQUOTE) $(dir $<) $(test-objc-hello_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-objc-hello_IQUOTE) . $(test-objc-hello_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-objc-hello_MC_DTARGETS) : $(test-objc-hello_MC_TGTWILDCARD).d : $(test-objc-hello_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-objc-hello_DFLAGS) $(test-objc-hello_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-objc-hello_OBJDIR),) +test-objc-hello-MA_TARGETS := $(addsuffix .o,$(test-objc-hello_ASMFILES)) +test-objc-hello-MA_WILDCARD := % +else +test-objc-hello-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-objc-hello_OBJDIR)/,$(notdir $(test-objc-hello_ASMFILES)))) +test-objc-hello-MA_WILDCARD := $(test-objc-hello_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-objc-hello-MA_TARGETS) : | $(addsuffix .s,$(test-objc-hello_ASMFILES)) + +# Be sure that all .c files are found +test-objc-hello-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-objc-hello-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-objc-hello_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-objc-hello-MA_DIRS := $(foreach dir, $(test-objc-hello-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-objc-hello-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-objc-hello-MA_DIRS),) + test-objc-hello-MA_DIRS := $(shell echo $(test-objc-hello-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-objc-hello-MA_DIRS) +endif + +endif + +test-objc-hello-MA_ASSEMBLER ?= $(test-objc-hello_ASSEMBLER) + +$(test-objc-hello-MA_TARGETS) : test-objc-hello-MA_CMD:= $(test-objc-hello-MA_ASSEMBLER) + +$(test-objc-hello-MA_TARGETS) : CPPFLAGS := $(test-objc-hello_CPPFLAGS) +$(test-objc-hello-MA_TARGETS) : AFLAGS := $(test-objc-hello_AFLAGS) +$(test-objc-hello-MA_TARGETS) : $(test-objc-hello-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-objc-hello-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-objc-hello-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-objc-hello-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-objc-hello-link_EXTRA_LDFLAGS := +test-objc-hello-link_EXTRA_LIBS := +ifeq (no,yes) + test-objc-hello-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-objc-hello-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-objc-hello-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-objc-hello-link_DIRS := $(subst -L ,-L,$(strip $(test-objc-hello_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-objc-hello-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-objc-hello-link_DIRS))) +# Add trailing / +test-objc-hello-link_DIRS := $(subst //,/,$(addsuffix /,$(test-objc-hello-link_DIRS))) +# Add normal linklib path +test-objc-hello-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-objc-hello-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-objc-hello_LIBS) $(test-objc-hello-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-objc-hello-link_LIBS += startup.o +endif +ifeq (no,yes) + test-objc-hello-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-objc-hello-link_DEPLIBS := $(foreach lib,$(test-objc-hello-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-objc-hello-link_DIRS)))) \ +) + +$(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) : OBJDIR := $(test-objc-hello_OBJDIR) +$(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) : OBJS := $(test-objc-hello_OBJS) $(test-objc-hello_ARCHOBJS) $(USER_OBJS) +$(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) : LDFLAGS := $(strip $(test-objc-hello_LDFLAGS) $(test-objc-hello-link_EXTRA_LDFLAGS)) +$(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) : LIBS := $(addprefix -l,$(test-objc-hello_LIBS) $(test-objc-hello-link_EXTRA_LIBS) ) +$(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) : $(test-objc-hello_OBJS) $(test-objc-hello_ARCHOBJS) $(USER_OBJS) $(test-objc-hello-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-objc-hello_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-objc-hello_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-objc-hello_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-objc-hello_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-objc-hello_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-objc-hello_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-objc-hello_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-objc-hello_DEPS),) + ifneq (test-objc-hello test-objc-hello-quick,) + ifneq ($(findstring $(TARGET),test-objc-hello test-objc-hello-quick),) + -include $(test-objc-hello_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-objc-hello_DEPS) + endif + endif +endif + + +ifneq ($(test-objc-hello_OBJS) $(test-objc-hello_DEPS) $(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME),) +$(test-objc-hello_OBJS) $(test-objc-hello_DEPS) $(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) : | $(test-objc-hello_OBJDIR) $(test-objc-hello_TARGETDIR) +else +$(test-objc-hello_OBJS) $(test-objc-hello_DEPS) $(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) :: $(test-objc-hello_OBJDIR) $(test-objc-hello_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-objc-hello_OBJDIR) $(test-objc-hello_TARGETDIR) + + +test-objc-hello-clean : FILES := $(test-objc-hello_OBJS) $(test-objc-hello_TARGETDIR)/$(test-objc-hello_PROGNAME) $(test-objc-hello_DEPS) +#MM +test-objc-hello-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-objc-hello" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/pipe/mmakefile b/developer/debug/test/pipe/mmakefile new file mode 100644 index 00000000000..de53b064cf7 --- /dev/null +++ b/developer/debug/test/pipe/mmakefile @@ -0,0 +1,299 @@ +# Copyright © 2012, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := autopipe + +EXEDIR := $(AROS_TESTS)/pipe + +#MM- test : test-pipe test-pipe-pure +#MM- test-quick : test-pipe-quick + +#MM test-pipe : includes linklibs + +USER_CFLAGS += -DADATE="\"$(shell date '+%d.%m.%Y')\"" + + +.PHONY : test-pipe + +test-pipe_OBJDIR := $(GENDIR)/$(CURDIR) +test-pipe_TARGETDIR := $(EXEDIR) +test-pipe_LIBS := + +test-pipe_FILES := $(FILES) +test-pipe_OBJS := $(addsuffix .o,$(addprefix $(test-pipe_OBJDIR)/,$(test-pipe_FILES))) +test-pipe_DEPS := $(addsuffix .d,$(addprefix $(test-pipe_OBJDIR)/,$(test-pipe_FILES))) +test-pipe_EXES := $(addprefix $(test-pipe_TARGETDIR)/,$(test-pipe_FILES)) + +test-pipe_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-pipe_CPPFLAGS += -I +endif +test-pipe_CFLAGS := $(CFLAGS) +test-pipe_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-pipe_COVERAGE := yes +test-pipe_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-pipe_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-pipe_CFLAGS := $(strip $(test-pipe_COVERAGEFLAGS) $(test-pipe_CFLAGS)) +test-pipe_LIBS += $(test-pipe_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-pipe_FUNCINSTR := yes +test-pipe_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-pipe_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-pipe_CFLAGS := $(strip $(test-pipe_INSTRFUNCFLAGS) $(test-pipe_CFLAGS)) +test-pipe_LIBS += $(test-pipe_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-pipe_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-pipe_CFLAGS)) +endif +endif +ifneq (,) + test-pipe_DFLAGS := +else + test-pipe_DFLAGS := $(test-pipe_CFLAGS) +endif +ifeq (target,target) +test-pipe_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-pipe_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-pipe_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-pipe_LDFLAGS += -L +endif + +#MM +test-pipe-quick : test-pipe + +#MM test-pipe : includes-generate-deps core-linklibs +test-pipe : $(test-pipe_EXES) + +ifneq ($(filter $(TARGET),test-pipe test-pipe-quick),) + +ifeq (,) +test-pipe_MC_SRCWILDCARD := % +else +test-pipe_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-pipe_OBJDIR),) +test-pipe_MC_TARGETS := $(addsuffix .o,$(test-pipe_FILES)) +test-pipe_MC_DTARGETS := $(addsuffix .d,$(test-pipe_FILES)) +test-pipe_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-pipe_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-pipe_OBJDIR)/,$(notdir $(test-pipe_FILES)))) + test-pipe_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-pipe_OBJDIR)/,$(notdir $(test-pipe_FILES)))) +else +ifeq (,) + test-pipe_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-pipe_OBJDIR)/,$(test-pipe_FILES))) + test-pipe_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-pipe_OBJDIR)/,$(test-pipe_FILES))) +else + test-pipe_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-pipe_OBJDIR)/,$(patsubst /%,%,$(test-pipe_FILES)))) + test-pipe_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-pipe_OBJDIR)/,$(patsubst /%,%,$(test-pipe_FILES)))) +endif +endif +test-pipe_MC_TGTWILDCARD := $(test-pipe_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : | $(addsuffix .c,$(test-pipe_FILES)) + +# Be sure that all .c files are found +test-pipe_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-pipe_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-pipe_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-pipe_MC_DIRS := $(foreach dir, $(test-pipe_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-pipe_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-pipe_MC_DIRS),) + test-pipe_MC_DIRS := $(shell echo $(test-pipe_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-pipe_MC_DIRS) +endif + +endif + +test-pipe_MC_CPPFLAGS := $(test-pipe_CPPFLAGS) +test-pipe_CFLAGS := $(test-pipe_CFLAGS) +ifeq ($(test-pipe_DFLAGS),) + test-pipe_DFLAGS := $(test-pipe_CFLAGS) +else + test-pipe_DFLAGS := $(test-pipe_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-pipe_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-pipe_STRIP ?= $(TARGET_STRIP) +test-pipe_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_MC_CPPFLAGS:=$(strip $(test-pipe_MC_CPPFLAGS) $(test-pipe_MC_EXTRA_CPPFLAGS)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_CFLAGS:=$(strip $(test-pipe_CFLAGS) $(SAFETY_CFLAGS)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_DFLAGS:=$(test-pipe_DFLAGS) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-pipe_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-pipe_STRIP ?= $(HOST_STRIP) +test-pipe_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-pipe_MC_CPPFLAGS) $(test-pipe_MC_EXTRA_CPPFLAGS)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-pipe_CFLAGS)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-pipe_DFLAGS)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_IQUOTE:=$(HOST_IQUOTE) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-pipe_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-pipe_STRIP ?= $(ECHO) >/dev/null +test-pipe_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-pipe_MC_CPPFLAGS) $(test-pipe_MC_EXTRA_CPPFLAGS)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-pipe_CFLAGS)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-pipe_DFLAGS)) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_IQUOTE:=$(KERNEL_IQUOTE) +$(test-pipe_MC_TARGETS) $(test-pipe_MC_DTARGETS) : test-pipe_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-pipe_MC_TARGETS) : CPPFLAGS := $(test-pipe_MC_CPPFLAGS) +$(test-pipe_MC_TARGETS) : CFLAGS := $(test-pipe_CFLAGS) +$(test-pipe_MC_TARGETS) : $(test-pipe_MC_TGTWILDCARD).o : $(test-pipe_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-pipe_IQUOTE) $(dir $<) $(test-pipe_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-pipe_IQUOTE) . $(test-pipe_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-pipe_IQUOTE) $(dir $<) $(test-pipe_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-pipe_IQUOTE) . $(test-pipe_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-pipe_IQUOTE) $(dir $<) $(test-pipe_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-pipe_IQUOTE) . $(test-pipe_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-pipe_MC_DTARGETS) : $(test-pipe_MC_TGTWILDCARD).d : $(test-pipe_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-pipe_DFLAGS) $(test-pipe_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-pipe-link_EXTRA_LDFLAGS := +test-pipe-link_EXTRA_LIBS := +ifeq (no,yes) + test-pipe-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + test-pipe-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-pipe-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-pipe-link_DIRS := $(subst -L ,-L,$(strip $(test-pipe_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-pipe-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-pipe-link_DIRS))) +# Add trailing / +test-pipe-link_DIRS := $(subst //,/,$(addsuffix /,$(test-pipe-link_DIRS))) +# Add normal linklib path +test-pipe-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-pipe-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-pipe_LIBS) $(test-pipe-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-pipe-link_DEPLIBS := $(foreach lib,$(test-pipe-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-pipe-link_DIRS)))) \ +) +test-pipe-link_PROGS := $(addprefix $(test-pipe_TARGETDIR)/,$(test-pipe_FILES)) + +$(test-pipe-link_PROGS) : OBJDIR := $(test-pipe_OBJDIR) +$(test-pipe-link_PROGS) : LDFLAGS := $(strip $(test-pipe_LDFLAGS) $(test-pipe-link_EXTRA_LDFLAGS)) +$(test-pipe-link_PROGS) : LIBS := $(addprefix -l,$(test-pipe_LIBS) $(test-pipe-link_EXTRA_LIBS) ) +$(test-pipe-link_PROGS) : $(test-pipe_TARGETDIR)/% : $(test-pipe_OBJDIR)/%.o $(test-pipe-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-pipe_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-pipe_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-pipe_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-pipe_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-pipe_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-pipe_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-pipe_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-pipe_DEPS),) + ifneq (test-pipe test-pipe-quick,) + ifneq ($(findstring $(TARGET),test-pipe test-pipe-quick),) + -include $(test-pipe_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-pipe_DEPS) + endif + endif +endif + + +ifneq ($(test-pipe_DEPS) $(test-pipe_OBJS) $(addprefix $(test-pipe_TARGETDIR)/,$(test-pipe_FILES)),) +$(test-pipe_DEPS) $(test-pipe_OBJS) $(addprefix $(test-pipe_TARGETDIR)/,$(test-pipe_FILES)) : | $(test-pipe_TARGETDIR) $(test-pipe_OBJDIR) +else +$(test-pipe_DEPS) $(test-pipe_OBJS) $(addprefix $(test-pipe_TARGETDIR)/,$(test-pipe_FILES)) :: $(test-pipe_TARGETDIR) $(test-pipe_OBJDIR) +endif + +GLOB_MKDIRS += $(test-pipe_TARGETDIR) $(test-pipe_OBJDIR) + + +test-pipe-clean : FILES := $(test-pipe_OBJS) $(test-pipe_EXES) $(test-pipe_DEPS) +#MM +test-pipe-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-pipe" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/png/mmakefile b/developer/debug/test/png/mmakefile new file mode 100644 index 00000000000..43845d33e8e --- /dev/null +++ b/developer/debug/test/png/mmakefile @@ -0,0 +1,296 @@ +# Copyright © 2012, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := version +EXEDIR := $(AROS_TESTS)/png + +#MM- test : test-png +#MM- test-quick : test-png-quick + +#MM test-png : includes linklibs workbench-libs-png-linklib + + +.PHONY : test-png + +test-png_OBJDIR := $(GENDIR)/$(CURDIR) +test-png_TARGETDIR := $(EXEDIR) +test-png_LIBS := png + +test-png_FILES := $(FILES) +test-png_OBJS := $(addsuffix .o,$(addprefix $(test-png_OBJDIR)/,$(test-png_FILES))) +test-png_DEPS := $(addsuffix .d,$(addprefix $(test-png_OBJDIR)/,$(test-png_FILES))) +test-png_EXES := $(addprefix $(test-png_TARGETDIR)/,$(test-png_FILES)) + +test-png_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-png_CPPFLAGS += -I +endif +test-png_CFLAGS := $(CFLAGS) +test-png_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-png_COVERAGE := yes +test-png_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-png_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-png_CFLAGS := $(strip $(test-png_COVERAGEFLAGS) $(test-png_CFLAGS)) +test-png_LIBS += $(test-png_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-png_FUNCINSTR := yes +test-png_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-png_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-png_CFLAGS := $(strip $(test-png_INSTRFUNCFLAGS) $(test-png_CFLAGS)) +test-png_LIBS += $(test-png_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-png_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-png_CFLAGS)) +endif +endif +ifneq (,) + test-png_DFLAGS := +else + test-png_DFLAGS := $(test-png_CFLAGS) +endif +ifeq (target,target) +test-png_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-png_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-png_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-png_LDFLAGS += -L +endif + +#MM +test-png-quick : test-png + +#MM test-png : includes-generate-deps core-linklibs +test-png : $(test-png_EXES) + +ifneq ($(filter $(TARGET),test-png test-png-quick),) + +ifeq (,) +test-png_MC_SRCWILDCARD := % +else +test-png_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-png_OBJDIR),) +test-png_MC_TARGETS := $(addsuffix .o,$(test-png_FILES)) +test-png_MC_DTARGETS := $(addsuffix .d,$(test-png_FILES)) +test-png_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-png_OBJDIR)/,$(notdir $(test-png_FILES)))) + test-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-png_OBJDIR)/,$(notdir $(test-png_FILES)))) +else +ifeq (,) + test-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-png_OBJDIR)/,$(test-png_FILES))) + test-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-png_OBJDIR)/,$(test-png_FILES))) +else + test-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-png_OBJDIR)/,$(patsubst /%,%,$(test-png_FILES)))) + test-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-png_OBJDIR)/,$(patsubst /%,%,$(test-png_FILES)))) +endif +endif +test-png_MC_TGTWILDCARD := $(test-png_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : | $(addsuffix .c,$(test-png_FILES)) + +# Be sure that all .c files are found +test-png_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-png_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-png_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-png_MC_DIRS := $(foreach dir, $(test-png_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-png_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-png_MC_DIRS),) + test-png_MC_DIRS := $(shell echo $(test-png_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-png_MC_DIRS) +endif + +endif + +test-png_MC_CPPFLAGS := $(test-png_CPPFLAGS) +test-png_CFLAGS := $(test-png_CFLAGS) +ifeq ($(test-png_DFLAGS),) + test-png_DFLAGS := $(test-png_CFLAGS) +else + test-png_DFLAGS := $(test-png_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-png_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-png_STRIP ?= $(TARGET_STRIP) +test-png_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_MC_CPPFLAGS:=$(strip $(test-png_MC_CPPFLAGS) $(test-png_MC_EXTRA_CPPFLAGS)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_CFLAGS:=$(strip $(test-png_CFLAGS) $(SAFETY_CFLAGS)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_DFLAGS:=$(test-png_DFLAGS) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-png_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-png_STRIP ?= $(HOST_STRIP) +test-png_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-png_MC_CPPFLAGS) $(test-png_MC_EXTRA_CPPFLAGS)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-png_CFLAGS)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-png_DFLAGS)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_IQUOTE:=$(HOST_IQUOTE) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-png_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-png_STRIP ?= $(ECHO) >/dev/null +test-png_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-png_MC_CPPFLAGS) $(test-png_MC_EXTRA_CPPFLAGS)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-png_CFLAGS)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-png_DFLAGS)) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_IQUOTE:=$(KERNEL_IQUOTE) +$(test-png_MC_TARGETS) $(test-png_MC_DTARGETS) : test-png_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-png_MC_TARGETS) : CPPFLAGS := $(test-png_MC_CPPFLAGS) +$(test-png_MC_TARGETS) : CFLAGS := $(test-png_CFLAGS) +$(test-png_MC_TARGETS) : $(test-png_MC_TGTWILDCARD).o : $(test-png_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-png_IQUOTE) $(dir $<) $(test-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-png_IQUOTE) . $(test-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-png_IQUOTE) $(dir $<) $(test-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-png_IQUOTE) . $(test-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-png_IQUOTE) $(dir $<) $(test-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-png_IQUOTE) . $(test-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-png_MC_DTARGETS) : $(test-png_MC_TGTWILDCARD).d : $(test-png_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-png_DFLAGS) $(test-png_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-png-link_EXTRA_LDFLAGS := +test-png-link_EXTRA_LIBS := +ifeq (no,yes) + test-png-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-png-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-png-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-png-link_DIRS := $(subst -L ,-L,$(strip $(test-png_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-png-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-png-link_DIRS))) +# Add trailing / +test-png-link_DIRS := $(subst //,/,$(addsuffix /,$(test-png-link_DIRS))) +# Add normal linklib path +test-png-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-png-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-png_LIBS) $(test-png-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-png-link_DEPLIBS := $(foreach lib,$(test-png-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-png-link_DIRS)))) \ +) +test-png-link_PROGS := $(addprefix $(test-png_TARGETDIR)/,$(test-png_FILES)) + +$(test-png-link_PROGS) : OBJDIR := $(test-png_OBJDIR) +$(test-png-link_PROGS) : LDFLAGS := $(strip $(test-png_LDFLAGS) $(test-png-link_EXTRA_LDFLAGS)) +$(test-png-link_PROGS) : LIBS := $(addprefix -l,$(test-png_LIBS) $(test-png-link_EXTRA_LIBS) ) +$(test-png-link_PROGS) : $(test-png_TARGETDIR)/% : $(test-png_OBJDIR)/%.o $(test-png-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-png_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-png_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-png_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-png_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-png_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-png_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-png_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-png_DEPS),) + ifneq (test-png test-png-quick,) + ifneq ($(findstring $(TARGET),test-png test-png-quick),) + -include $(test-png_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-png_DEPS) + endif + endif +endif + + +ifneq ($(test-png_DEPS) $(test-png_OBJS) $(addprefix $(test-png_TARGETDIR)/,$(test-png_FILES)),) +$(test-png_DEPS) $(test-png_OBJS) $(addprefix $(test-png_TARGETDIR)/,$(test-png_FILES)) : | $(test-png_TARGETDIR) $(test-png_OBJDIR) +else +$(test-png_DEPS) $(test-png_OBJS) $(addprefix $(test-png_TARGETDIR)/,$(test-png_FILES)) :: $(test-png_TARGETDIR) $(test-png_OBJDIR) +endif + +GLOB_MKDIRS += $(test-png_TARGETDIR) $(test-png_OBJDIR) + + +test-png-clean : FILES := $(test-png_OBJS) $(test-png_EXES) $(test-png_DEPS) +#MM +test-png-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-png" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/printer/mmakefile b/developer/debug/test/printer/mmakefile new file mode 100644 index 00000000000..bbb8b1ed17e --- /dev/null +++ b/developer/debug/test/printer/mmakefile @@ -0,0 +1,302 @@ +# $Id$ +# +# Makefile for AROS Test + +include $(SRCDIR)/config/aros.cfg + + +TESTFILES := \ + printerinfo \ + printertxt + +EXEDIR := $(AROS_TESTS)/printer +USER_CFLAGS += -DADATE="\"$(shell date '+%d.%m.%Y')\"" + +#MM- test: test-printer + +#MM test-printer : includes includes-copy + + +.PHONY : test-printer + +test-printer_OBJDIR := $(GENDIR)/$(CURDIR) +test-printer_TARGETDIR := $(EXEDIR) +test-printer_LIBS := + +test-printer_FILES := $(TESTFILES) +test-printer_OBJS := $(addsuffix .o,$(addprefix $(test-printer_OBJDIR)/,$(test-printer_FILES))) +test-printer_DEPS := $(addsuffix .d,$(addprefix $(test-printer_OBJDIR)/,$(test-printer_FILES))) +test-printer_EXES := $(addprefix $(test-printer_TARGETDIR)/,$(test-printer_FILES)) + +test-printer_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-printer_CPPFLAGS += -I +endif +test-printer_CFLAGS := $(CFLAGS) +test-printer_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-printer_COVERAGE := yes +test-printer_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-printer_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-printer_CFLAGS := $(strip $(test-printer_COVERAGEFLAGS) $(test-printer_CFLAGS)) +test-printer_LIBS += $(test-printer_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-printer_FUNCINSTR := yes +test-printer_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-printer_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-printer_CFLAGS := $(strip $(test-printer_INSTRFUNCFLAGS) $(test-printer_CFLAGS)) +test-printer_LIBS += $(test-printer_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-printer_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-printer_CFLAGS)) +endif +endif +ifneq (,) + test-printer_DFLAGS := +else + test-printer_DFLAGS := $(test-printer_CFLAGS) +endif +ifeq (target,target) +test-printer_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-printer_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-printer_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-printer_LDFLAGS += -L +endif + +#MM +test-printer-quick : test-printer + +#MM test-printer : includes-generate-deps core-linklibs +test-printer : $(test-printer_EXES) + +ifneq ($(filter $(TARGET),test-printer test-printer-quick),) + +ifeq (,) +test-printer_MC_SRCWILDCARD := % +else +test-printer_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-printer_OBJDIR),) +test-printer_MC_TARGETS := $(addsuffix .o,$(test-printer_FILES)) +test-printer_MC_DTARGETS := $(addsuffix .d,$(test-printer_FILES)) +test-printer_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-printer_OBJDIR)/,$(notdir $(test-printer_FILES)))) + test-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-printer_OBJDIR)/,$(notdir $(test-printer_FILES)))) +else +ifeq (,) + test-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-printer_OBJDIR)/,$(test-printer_FILES))) + test-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-printer_OBJDIR)/,$(test-printer_FILES))) +else + test-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-printer_OBJDIR)/,$(patsubst /%,%,$(test-printer_FILES)))) + test-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-printer_OBJDIR)/,$(patsubst /%,%,$(test-printer_FILES)))) +endif +endif +test-printer_MC_TGTWILDCARD := $(test-printer_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : | $(addsuffix .c,$(test-printer_FILES)) + +# Be sure that all .c files are found +test-printer_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-printer_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-printer_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-printer_MC_DIRS := $(foreach dir, $(test-printer_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-printer_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-printer_MC_DIRS),) + test-printer_MC_DIRS := $(shell echo $(test-printer_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-printer_MC_DIRS) +endif + +endif + +test-printer_MC_CPPFLAGS := $(test-printer_CPPFLAGS) +test-printer_CFLAGS := $(test-printer_CFLAGS) +ifeq ($(test-printer_DFLAGS),) + test-printer_DFLAGS := $(test-printer_CFLAGS) +else + test-printer_DFLAGS := $(test-printer_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-printer_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-printer_STRIP ?= $(TARGET_STRIP) +test-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_MC_CPPFLAGS:=$(strip $(test-printer_MC_CPPFLAGS) $(test-printer_MC_EXTRA_CPPFLAGS)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_CFLAGS:=$(strip $(test-printer_CFLAGS) $(SAFETY_CFLAGS)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_DFLAGS:=$(test-printer_DFLAGS) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-printer_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-printer_STRIP ?= $(HOST_STRIP) +test-printer_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-printer_MC_CPPFLAGS) $(test-printer_MC_EXTRA_CPPFLAGS)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-printer_CFLAGS)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-printer_DFLAGS)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_IQUOTE:=$(HOST_IQUOTE) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-printer_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-printer_STRIP ?= $(ECHO) >/dev/null +test-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-printer_MC_CPPFLAGS) $(test-printer_MC_EXTRA_CPPFLAGS)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-printer_CFLAGS)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-printer_DFLAGS)) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_IQUOTE:=$(KERNEL_IQUOTE) +$(test-printer_MC_TARGETS) $(test-printer_MC_DTARGETS) : test-printer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-printer_MC_TARGETS) : CPPFLAGS := $(test-printer_MC_CPPFLAGS) +$(test-printer_MC_TARGETS) : CFLAGS := $(test-printer_CFLAGS) +$(test-printer_MC_TARGETS) : $(test-printer_MC_TGTWILDCARD).o : $(test-printer_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-printer_IQUOTE) $(dir $<) $(test-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-printer_IQUOTE) . $(test-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-printer_IQUOTE) $(dir $<) $(test-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-printer_IQUOTE) . $(test-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-printer_IQUOTE) $(dir $<) $(test-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-printer_IQUOTE) . $(test-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-printer_MC_DTARGETS) : $(test-printer_MC_TGTWILDCARD).d : $(test-printer_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-printer_DFLAGS) $(test-printer_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-printer-link_EXTRA_LDFLAGS := +test-printer-link_EXTRA_LIBS := +ifeq (no,yes) + test-printer-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + test-printer-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-printer-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-printer-link_DIRS := $(subst -L ,-L,$(strip $(test-printer_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-printer-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-printer-link_DIRS))) +# Add trailing / +test-printer-link_DIRS := $(subst //,/,$(addsuffix /,$(test-printer-link_DIRS))) +# Add normal linklib path +test-printer-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-printer-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-printer_LIBS) $(test-printer-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-printer-link_DEPLIBS := $(foreach lib,$(test-printer-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-printer-link_DIRS)))) \ +) +test-printer-link_PROGS := $(addprefix $(test-printer_TARGETDIR)/,$(test-printer_FILES)) + +$(test-printer-link_PROGS) : OBJDIR := $(test-printer_OBJDIR) +$(test-printer-link_PROGS) : LDFLAGS := $(strip $(test-printer_LDFLAGS) $(test-printer-link_EXTRA_LDFLAGS)) +$(test-printer-link_PROGS) : LIBS := $(addprefix -l,$(test-printer_LIBS) $(test-printer-link_EXTRA_LIBS) ) +$(test-printer-link_PROGS) : $(test-printer_TARGETDIR)/% : $(test-printer_OBJDIR)/%.o $(test-printer-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-printer_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-printer_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-printer_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-printer_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-printer_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-printer_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-printer_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-printer_DEPS),) + ifneq (test-printer test-printer-quick,) + ifneq ($(findstring $(TARGET),test-printer test-printer-quick),) + -include $(test-printer_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-printer_DEPS) + endif + endif +endif + + +ifneq ($(test-printer_DEPS) $(test-printer_OBJS) $(addprefix $(test-printer_TARGETDIR)/,$(test-printer_FILES)),) +$(test-printer_DEPS) $(test-printer_OBJS) $(addprefix $(test-printer_TARGETDIR)/,$(test-printer_FILES)) : | $(test-printer_TARGETDIR) $(test-printer_OBJDIR) +else +$(test-printer_DEPS) $(test-printer_OBJS) $(addprefix $(test-printer_TARGETDIR)/,$(test-printer_FILES)) :: $(test-printer_TARGETDIR) $(test-printer_OBJDIR) +endif + +GLOB_MKDIRS += $(test-printer_TARGETDIR) $(test-printer_OBJDIR) + + +test-printer-clean : FILES := $(test-printer_OBJS) $(test-printer_EXES) $(test-printer_DEPS) +#MM +test-printer-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-printer" + $(Q)$(RM) $(FILES) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/rexx/mmakefile b/developer/debug/test/rexx/mmakefile new file mode 100644 index 00000000000..8d9ecd61bb3 --- /dev/null +++ b/developer/debug/test/rexx/mmakefile @@ -0,0 +1,303 @@ +# $Id$ +# +# Makefile for AROS Test + +include $(SRCDIR)/config/aros.cfg + +FILES := vartest rexxsyslibtest +EXEDIR := $(AROS_TESTS)/rexx + +USER_CFLAGS := -I$(SRCDIR)/workbench/libs + +#MM- test : test-rexx +#MM- test-rexx : test-rexx-util test-rexx-copy + + +.PHONY : test-rexx-util + +test-rexx-util_OBJDIR := $(GENDIR)/$(CURDIR) +test-rexx-util_TARGETDIR := $(EXEDIR) +test-rexx-util_LIBS := + +test-rexx-util_FILES := $(FILES) +test-rexx-util_OBJS := $(addsuffix .o,$(addprefix $(test-rexx-util_OBJDIR)/,$(test-rexx-util_FILES))) +test-rexx-util_DEPS := $(addsuffix .d,$(addprefix $(test-rexx-util_OBJDIR)/,$(test-rexx-util_FILES))) +test-rexx-util_EXES := $(addprefix $(test-rexx-util_TARGETDIR)/,$(test-rexx-util_FILES)) + +test-rexx-util_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-rexx-util_CPPFLAGS += -I +endif +test-rexx-util_CFLAGS := $(CFLAGS) +test-rexx-util_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-rexx-util_COVERAGE := yes +test-rexx-util_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-rexx-util_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-rexx-util_CFLAGS := $(strip $(test-rexx-util_COVERAGEFLAGS) $(test-rexx-util_CFLAGS)) +test-rexx-util_LIBS += $(test-rexx-util_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-rexx-util_FUNCINSTR := yes +test-rexx-util_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-rexx-util_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-rexx-util_CFLAGS := $(strip $(test-rexx-util_INSTRFUNCFLAGS) $(test-rexx-util_CFLAGS)) +test-rexx-util_LIBS += $(test-rexx-util_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-rexx-util_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-rexx-util_CFLAGS)) +endif +endif +ifneq (,) + test-rexx-util_DFLAGS := +else + test-rexx-util_DFLAGS := $(test-rexx-util_CFLAGS) +endif +ifeq (target,target) +test-rexx-util_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-rexx-util_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-rexx-util_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-rexx-util_LDFLAGS += -L +endif + +#MM +test-rexx-util-quick : test-rexx-util + +#MM test-rexx-util : includes-generate-deps core-linklibs +test-rexx-util : $(test-rexx-util_EXES) + +ifneq ($(filter $(TARGET),test-rexx-util test-rexx-util-quick),) + +ifeq (,) +test-rexx-util_MC_SRCWILDCARD := % +else +test-rexx-util_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-rexx-util_OBJDIR),) +test-rexx-util_MC_TARGETS := $(addsuffix .o,$(test-rexx-util_FILES)) +test-rexx-util_MC_DTARGETS := $(addsuffix .d,$(test-rexx-util_FILES)) +test-rexx-util_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-rexx-util_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-rexx-util_OBJDIR)/,$(notdir $(test-rexx-util_FILES)))) + test-rexx-util_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-rexx-util_OBJDIR)/,$(notdir $(test-rexx-util_FILES)))) +else +ifeq (,) + test-rexx-util_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-rexx-util_OBJDIR)/,$(test-rexx-util_FILES))) + test-rexx-util_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-rexx-util_OBJDIR)/,$(test-rexx-util_FILES))) +else + test-rexx-util_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-rexx-util_OBJDIR)/,$(patsubst /%,%,$(test-rexx-util_FILES)))) + test-rexx-util_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-rexx-util_OBJDIR)/,$(patsubst /%,%,$(test-rexx-util_FILES)))) +endif +endif +test-rexx-util_MC_TGTWILDCARD := $(test-rexx-util_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : | $(addsuffix .c,$(test-rexx-util_FILES)) + +# Be sure that all .c files are found +test-rexx-util_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-rexx-util_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-rexx-util_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-rexx-util_MC_DIRS := $(foreach dir, $(test-rexx-util_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-rexx-util_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-rexx-util_MC_DIRS),) + test-rexx-util_MC_DIRS := $(shell echo $(test-rexx-util_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-rexx-util_MC_DIRS) +endif + +endif + +test-rexx-util_MC_CPPFLAGS := $(test-rexx-util_CPPFLAGS) +test-rexx-util_CFLAGS := $(test-rexx-util_CFLAGS) +ifeq ($(test-rexx-util_DFLAGS),) + test-rexx-util_DFLAGS := $(test-rexx-util_CFLAGS) +else + test-rexx-util_DFLAGS := $(test-rexx-util_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-rexx-util_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-rexx-util_STRIP ?= $(TARGET_STRIP) +test-rexx-util_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_MC_CPPFLAGS:=$(strip $(test-rexx-util_MC_CPPFLAGS) $(test-rexx-util_MC_EXTRA_CPPFLAGS)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_CFLAGS:=$(strip $(test-rexx-util_CFLAGS) $(SAFETY_CFLAGS)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_DFLAGS:=$(test-rexx-util_DFLAGS) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-rexx-util_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-rexx-util_STRIP ?= $(HOST_STRIP) +test-rexx-util_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-rexx-util_MC_CPPFLAGS) $(test-rexx-util_MC_EXTRA_CPPFLAGS)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-rexx-util_CFLAGS)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-rexx-util_DFLAGS)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_IQUOTE:=$(HOST_IQUOTE) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-rexx-util_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-rexx-util_STRIP ?= $(ECHO) >/dev/null +test-rexx-util_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-rexx-util_MC_CPPFLAGS) $(test-rexx-util_MC_EXTRA_CPPFLAGS)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-rexx-util_CFLAGS)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-rexx-util_DFLAGS)) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_IQUOTE:=$(KERNEL_IQUOTE) +$(test-rexx-util_MC_TARGETS) $(test-rexx-util_MC_DTARGETS) : test-rexx-util_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-rexx-util_MC_TARGETS) : CPPFLAGS := $(test-rexx-util_MC_CPPFLAGS) +$(test-rexx-util_MC_TARGETS) : CFLAGS := $(test-rexx-util_CFLAGS) +$(test-rexx-util_MC_TARGETS) : $(test-rexx-util_MC_TGTWILDCARD).o : $(test-rexx-util_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-rexx-util_IQUOTE) $(dir $<) $(test-rexx-util_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-util_IQUOTE) . $(test-rexx-util_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-rexx-util_IQUOTE) $(dir $<) $(test-rexx-util_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-util_IQUOTE) . $(test-rexx-util_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-rexx-util_IQUOTE) $(dir $<) $(test-rexx-util_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-util_IQUOTE) . $(test-rexx-util_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-rexx-util_MC_DTARGETS) : $(test-rexx-util_MC_TGTWILDCARD).d : $(test-rexx-util_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-rexx-util_DFLAGS) $(test-rexx-util_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-rexx-util-link_EXTRA_LDFLAGS := +test-rexx-util-link_EXTRA_LIBS := +ifeq (no,yes) + test-rexx-util-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-rexx-util-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-rexx-util-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-rexx-util-link_DIRS := $(subst -L ,-L,$(strip $(test-rexx-util_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-rexx-util-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-rexx-util-link_DIRS))) +# Add trailing / +test-rexx-util-link_DIRS := $(subst //,/,$(addsuffix /,$(test-rexx-util-link_DIRS))) +# Add normal linklib path +test-rexx-util-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-rexx-util-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-rexx-util_LIBS) $(test-rexx-util-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-rexx-util-link_DEPLIBS := $(foreach lib,$(test-rexx-util-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-rexx-util-link_DIRS)))) \ +) +test-rexx-util-link_PROGS := $(addprefix $(test-rexx-util_TARGETDIR)/,$(test-rexx-util_FILES)) + +$(test-rexx-util-link_PROGS) : OBJDIR := $(test-rexx-util_OBJDIR) +$(test-rexx-util-link_PROGS) : LDFLAGS := $(strip $(test-rexx-util_LDFLAGS) $(test-rexx-util-link_EXTRA_LDFLAGS)) +$(test-rexx-util-link_PROGS) : LIBS := $(addprefix -l,$(test-rexx-util_LIBS) $(test-rexx-util-link_EXTRA_LIBS) ) +$(test-rexx-util-link_PROGS) : $(test-rexx-util_TARGETDIR)/% : $(test-rexx-util_OBJDIR)/%.o $(test-rexx-util-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-rexx-util_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-rexx-util_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-rexx-util_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-rexx-util_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-rexx-util_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-rexx-util_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-rexx-util_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-rexx-util_DEPS),) + ifneq (test-rexx-util test-rexx-util-quick,) + ifneq ($(findstring $(TARGET),test-rexx-util test-rexx-util-quick),) + -include $(test-rexx-util_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-rexx-util_DEPS) + endif + endif +endif + + +ifneq ($(test-rexx-util_DEPS) $(test-rexx-util_OBJS) $(addprefix $(test-rexx-util_TARGETDIR)/,$(test-rexx-util_FILES)),) +$(test-rexx-util_DEPS) $(test-rexx-util_OBJS) $(addprefix $(test-rexx-util_TARGETDIR)/,$(test-rexx-util_FILES)) : | $(test-rexx-util_TARGETDIR) $(test-rexx-util_OBJDIR) +else +$(test-rexx-util_DEPS) $(test-rexx-util_OBJS) $(addprefix $(test-rexx-util_TARGETDIR)/,$(test-rexx-util_FILES)) :: $(test-rexx-util_TARGETDIR) $(test-rexx-util_OBJDIR) +endif + +GLOB_MKDIRS += $(test-rexx-util_TARGETDIR) $(test-rexx-util_OBJDIR) + + +test-rexx-util-clean : FILES := $(test-rexx-util_OBJS) $(test-rexx-util_EXES) $(test-rexx-util_DEPS) +#MM +test-rexx-util-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-rexx-util" + $(Q)$(RM) $(FILES) + + +#MM +test-rexx-copy : $(EXEDIR)/vartest.rexx + +$(EXEDIR)/vartest.rexx: vartest.rexx test-rexx-util + @$(CP) $< $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/rexx/simplerexx/mmakefile b/developer/debug/test/rexx/simplerexx/mmakefile new file mode 100644 index 00000000000..fdfd04ec295 --- /dev/null +++ b/developer/debug/test/rexx/simplerexx/mmakefile @@ -0,0 +1,640 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := SimpleRexx SimpleRexxExample stptok +EXEDIR := $(AROS_TESTS)/rexx + +#MM- test : test-rexx-simplerexx +#MM- test-rexx-simplerexx-libdeps : linklibs workbench-libs-rexxsyslib-linklib +#MM test-rexx-simplerexx : includes test-rexx-simplerexx-libdeps test-rexx-copy + +#MM- test-quick : test-rexx-simplerexx-quick + + +.PHONY : test-rexx-simplerexx + +test-rexx-simplerexx_PROGNAME := SimpleRexxExample +test-rexx-simplerexx_OBJDIR := $(GENDIR)/$(CURDIR) +test-rexx-simplerexx_TARGETDIR := $(EXEDIR) +test-rexx-simplerexx_LINKER := +test-rexx-simplerexx_LIBS := rexxsyslib +# If not supplied, linker is equal to compiler +ifeq ($(test-rexx-simplerexx_LINKER),) + test-rexx-simplerexx_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + test-rexx-simplerexx_FILES := $(FILES) + test-rexx-simplerexx_OBJCFILES := + test-rexx-simplerexx_ASMFILES := + test-rexx-simplerexx_CXXFILES := +else + test-rexx-simplerexx_FILES := $(test-rexx-simplerexx_PROGNAME) + test-rexx-simplerexx_OBJCFILES := + test-rexx-simplerexx_ASMFILES := + test-rexx-simplerexx_CXXFILES := +endif + +test-rexx-simplerexx_ARCHOBJS := $(wildcard $(test-rexx-simplerexx_OBJDIR)/arch/*.o) +test-rexx-simplerexx_ARCHFILES := $(basename $(notdir $(test-rexx-simplerexx_ARCHOBJS))) +test-rexx-simplerexx_C_NARCHFILES := $(filter-out $(test-rexx-simplerexx_ARCHFILES),$(test-rexx-simplerexx_FILES)) +test-rexx-simplerexx_CXX_NARCHFILES := $(filter-out $(test-rexx-simplerexx_ARCHFILES),$(test-rexx-simplerexx_CXXFILES)) +test-rexx-simplerexx_OBJC_NARCHFILES := $(filter-out $(test-rexx-simplerexx_ARCHFILES),$(test-rexx-simplerexx_OBJCFILES)) + +TMP_FILES := $(test-rexx-simplerexx_C_NARCHFILES) $(test-rexx-simplerexx_CXX_NARCHFILES) $(test-rexx-simplerexx_ASMFILES) $(test-rexx-simplerexx_OBJC_NARCHFILES) +test-rexx-simplerexx_OBJS := $(addsuffix .o,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-rexx-simplerexx_DEPS := $(addsuffix .d,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-rexx-simplerexx_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-rexx-simplerexx_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-rexx-simplerexx_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-rexx-simplerexx_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-rexx-simplerexx_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-rexx-simplerexx_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-rexx-simplerexx_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-rexx-simplerexx_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-rexx-simplerexx_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-rexx-simplerexx_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-rexx-simplerexx_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-rexx-simplerexx_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-rexx-simplerexx_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-rexx-simplerexx_LDFLAGS := +endif + +test-rexx-simplerexx_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-rexx-simplerexx_COVERAGE := yes +test-rexx-simplerexx_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-rexx-simplerexx_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-rexx-simplerexx_CFLAGS := $(strip $(test-rexx-simplerexx_COVERAGEFLAGS) $(test-rexx-simplerexx_CFLAGS)) +test-rexx-simplerexx_CXXFLAGS := $(strip $(test-rexx-simplerexx_COVERAGEFLAGS) $(test-rexx-simplerexx_CXXFLAGS)) +test-rexx-simplerexx_LIBS += $(test-rexx-simplerexx_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-rexx-simplerexx_FUNCINSTR := yes +test-rexx-simplerexx_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-rexx-simplerexx_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-rexx-simplerexx_CFLAGS := $(strip $(test-rexx-simplerexx_INSTRFUNCFLAGS) $(test-rexx-simplerexx_CFLAGS)) +test-rexx-simplerexx_CXXFLAGS := $(strip $(test-rexx-simplerexx_INSTRFUNCFLAGS) $(test-rexx-simplerexx_CXXFLAGS)) +test-rexx-simplerexx_LIBS += $(test-rexx-simplerexx_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-rexx-simplerexx_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-rexx-simplerexx_CFLAGS)) +test-rexx-simplerexx_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-rexx-simplerexx_CXXFLAGS)) +endif +endif +test-rexx-simplerexx_AFLAGS := $(AFLAGS) +ifneq (,) + test-rexx-simplerexx_DFLAGS := +else + test-rexx-simplerexx_DFLAGS := $(test-rexx-simplerexx_CFLAGS) +endif +ifneq (,) + test-rexx-simplerexx_DXXFLAGS := +else + test-rexx-simplerexx_DXXFLAGS := $(test-rexx-simplerexx_CXXFLAGS) +endif +ifeq (target,target) +test-rexx-simplerexx_LDFLAGS := $(test-rexx-simplerexx_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-rexx-simplerexx_LDFLAGS := $(test-rexx-simplerexx_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-rexx-simplerexx_LDFLAGS := $(test-rexx-simplerexx_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-rexx-simplerexx_LDFLAGS += -L +endif + +#MM +test-rexx-simplerexx-quick : test-rexx-simplerexx + +#MM test-rexx-simplerexx : includes-generate-deps core-linklibs +test-rexx-simplerexx : $(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) + +ifneq ($(filter $(TARGET),test-rexx-simplerexx test-rexx-simplerexx-quick test-rexx-simplerexx-gz-quick),) + +test-rexx-simplerexx_CXXABSBASENAMES := $(foreach test-rexx-simplerexx_CXXBASE,$(test-rexx-simplerexx_CXX_NARCHFILES),$(if $(filter /%,$(test-rexx-simplerexx_CXXBASE)),$(test-rexx-simplerexx_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-rexx-simplerexx_CXXBASE)))) + +ifneq ($(test-rexx-simplerexx_CXXABSBASENAMES),) + +test-rexx-simplerexx_CXXBASENAMES := $(basename $(test-rexx-simplerexx_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-rexx-simplerexx_MCXX_FILES := $(strip $(foreach test-rexx-simplerexx_CXXBASE,$(test-rexx-simplerexx_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-rexx-simplerexx_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-rexx-simplerexx_EXT),$(test-rexx-simplerexx_CXXBASE))))))) + +ifeq (,) +test-rexx-simplerexx_MCXX_SRCWILDCARD := % +else +test-rexx-simplerexx_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-rexx-simplerexx_OBJDIR),) + test-rexx-simplerexx_CXXTARGETS := $(notdir $(test-rexx-simplerexx_CXXBASENAMES:=.o)) + test-rexx-simplerexx_CXXDTARGETS := $(notdir $(test-rexx-simplerexx_CXXBASENAMES:=.d)) + test-rexx-simplerexx_MCXX_WILDCARD := % +else + test-rexx-simplerexx_CXXTARGETS := $(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(notdir $(test-rexx-simplerexx_CXXBASENAMES:=.o))) + test-rexx-simplerexx_CXXDTARGETS := $(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(notdir $(test-rexx-simplerexx_CXXBASENAMES:=.d))) + test-rexx-simplerexx_MCXX_WILDCARD := $(test-rexx-simplerexx_OBJDIR)/% + + # Be sure that all source files are generated + $(test-rexx-simplerexx_CXXTARGETS) $(test-rexx-simplerexx_CXXDTARGETS) : | $(test-rexx-simplerexx_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-rexx-simplerexx_MCXX_CPPFLAGS := $(test-rexx-simplerexx_CPPFLAGS) +test-rexx-simplerexx_CXXFLAGS := $(test-rexx-simplerexx_CXXFLAGS) +ifeq ($(test-rexx-simplerexx_DXXFLAGS),) + test-rexx-simplerexx_DXXFLAGS := $(test-rexx-simplerexx_CXXFLAGS) +else + test-rexx-simplerexx_DXXFLAGS := $(test-rexx-simplerexx_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-rexx-simplerexx_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-rexx-simplerexx_STRIP ?= $(HOST_STRIP) + test-rexx-simplerexx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-rexx-simplerexx_CXXCMD:=$(HOST_CXX) + test-rexx-simplerexx_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-rexx-simplerexx_MCXX_CPPFLAGS) $(test-rexx-simplerexx_MCXX_EXTRA_CPPFLAGS)) + test-rexx-simplerexx_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-rexx-simplerexx_CXXFLAGS)) + test-rexx-simplerexx_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-rexx-simplerexx_DXXFLAGS)) + test-rexx-simplerexx_CXXIQUOTE:=$(HOST_IQUOTE) + test-rexx-simplerexx_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-rexx-simplerexx_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-rexx-simplerexx_STRIP ?= $(TARGET_STRIP) + test-rexx-simplerexx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-rexx-simplerexx_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-rexx-simplerexx_MCXX_CPPFLAGS := $(strip $(test-rexx-simplerexx_MCXX_CPPFLAGS) $(test-rexx-simplerexx_MCXX_EXTRA_CPPFLAGS)) + test-rexx-simplerexx_CXXFLAGS := $(strip $(test-rexx-simplerexx_CXXFLAGS) $(SAFETY_CFLAGS)) + test-rexx-simplerexx_DXXFLAGS := $(test-rexx-simplerexx_DXXFLAGS) + test-rexx-simplerexx_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-rexx-simplerexx_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-rexx-simplerexx_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-rexx-simplerexx_STRIP ?= $(ECHO) >/dev/null + test-rexx-simplerexx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-rexx-simplerexx_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-rexx-simplerexx_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-rexx-simplerexx_MCXX_CPPFLAGS) $(test-rexx-simplerexx_MCXX_EXTRA_CPPFLAGS)) + test-rexx-simplerexx_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-rexx-simplerexx_CXXFLAGS)) + test-rexx-simplerexx_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-rexx-simplerexx_DXXFLAGS)) + test-rexx-simplerexx_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-rexx-simplerexx_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-rexx-simplerexx_CXXCMD) $(test-rexx-simplerexx_CXXIQUOTE) $(dir $(2)) $(test-rexx-simplerexx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_CXXIQUOTE) . $(test-rexx-simplerexx_CXXIQUOTE_END) $(strip $(test-rexx-simplerexx_CXXFLAGS) $(test-rexx-simplerexx_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-rexx-simplerexx_CXXCMD) $(test-rexx-simplerexx_CXXIQUOTE) $(dir $(2)) $(test-rexx-simplerexx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_CXXIQUOTE) . $(test-rexx-simplerexx_CXXIQUOTE_END) $(strip $(test-rexx-simplerexx_CXXFLAGS) $(test-rexx-simplerexx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-rexx-simplerexx_CXXCMD) $(test-rexx-simplerexx_CXXIQUOTE) $(dir $(2)) $(test-rexx-simplerexx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_CXXIQUOTE) . $(test-rexx-simplerexx_CXXIQUOTE_END) $(strip $(test-rexx-simplerexx_CXXFLAGS) $(test-rexx-simplerexx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-rexx-simplerexx_CXXCMD)" $(MKDEPEND) $(strip $(test-rexx-simplerexx_DXXFLAGS) $(test-rexx-simplerexx_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-rexx-simplerexx_OBJDIR),) + $(foreach test-rexx-simplerexx_CXXFILE,$(test-rexx-simplerexx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-rexx-simplerexx_CXXFILE))),$(test-rexx-simplerexx_CXXFILE)))) +else + $(foreach test-rexx-simplerexx_CXXFILE,$(test-rexx-simplerexx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(notdir $(basename $(test-rexx-simplerexx_CXXFILE)))),$(test-rexx-simplerexx_CXXFILE)))) +endif + +endif + + +ifneq ($(test-rexx-simplerexx_OBJC_NARCHFILES),) + +ifeq (,) +test-rexx-simplerexx_MOBJC_SRCWILDCARD := % +else +test-rexx-simplerexx_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-rexx-simplerexx_OBJDIR),) + test-rexx-simplerexx_MOBJC_TARGETS := $(addsuffix .o,$(test-rexx-simplerexx_OBJC_NARCHFILES)) + test-rexx-simplerexx_MOBJC_DTARGETS := $(addsuffix .d,$(test-rexx-simplerexx_OBJC_NARCHFILES)) + test-rexx-simplerexx_MOBJC_WILDCARD := % +else + test-rexx-simplerexx_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(test-rexx-simplerexx_OBJC_NARCHFILES))) + test-rexx-simplerexx_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(test-rexx-simplerexx_OBJC_NARCHFILES))) + test-rexx-simplerexx_MOBJC_WILDCARD := $(test-rexx-simplerexx_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-rexx-simplerexx_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-rexx-simplerexx_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-rexx-simplerexx_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-rexx-simplerexx_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-rexx-simplerexx_MOBJC_DIRS := $(foreach dir, $(test-rexx-simplerexx_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-rexx-simplerexx_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-rexx-simplerexx_MOBJC_DIRS),) + test-rexx-simplerexx_MOBJC_DIRS := $(shell echo $(test-rexx-simplerexx_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-rexx-simplerexx_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-rexx-simplerexx_CC := $(TARGET_CC) +else + test-rexx-simplerexx_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-rexx-simplerexx_MOBJC_CPPFLAGS := $(test-rexx-simplerexx_CPPFLAGS) +test-rexx-simplerexx_OBJCFLAGS := $(test-rexx-simplerexx_CFLAGS) +test-rexx-simplerexx_OBJCFLAGS := $(test-rexx-simplerexx_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-rexx-simplerexx_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-rexx-simplerexx_OBJCFLAGS))) +ifeq ($(test-rexx-simplerexx_DFLAGS),) + test-rexx-simplerexx_OBJCDFLAGS := $(test-rexx-simplerexx_CFLAGS) +else + test-rexx-simplerexx_OBJCDFLAGS := $(test-rexx-simplerexx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-rexx-simplerexx_LINK ?= $(strip $(test-rexx-simplerexx_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-rexx-simplerexx_STRIP ?= $(TARGET_STRIP) + test-rexx-simplerexx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : CMD:=$(strip $(test-rexx-simplerexx_CC) $(TARGET_SYSROOT)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_MOBJC_CPPFLAGS:=$(strip $(test-rexx-simplerexx_MOBJC_CPPFLAGS) $(test-rexx-simplerexx_MOBJC_EXTRA_CPPFLAGS)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_OBJCFLAGS:=$(strip $(test-rexx-simplerexx_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_OBJCDFLAGS:=$(test-rexx-simplerexx_OBJCDFLAGS) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-rexx-simplerexx_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-rexx-simplerexx_STRIP ?= $(HOST_STRIP) + test-rexx-simplerexx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-rexx-simplerexx_MOBJC_CPPFLAGS) $(test-rexx-simplerexx_MOBJC_EXTRA_CPPFLAGS)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-rexx-simplerexx_OBJCFLAGS)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-rexx-simplerexx_OBJCDFLAGS)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_IQUOTE:=$(HOST_IQUOTE) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-rexx-simplerexx_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-rexx-simplerexx_STRIP ?= $(ECHO) >/dev/null + test-rexx-simplerexx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-rexx-simplerexx_MOBJC_CPPFLAGS) $(test-rexx-simplerexx_MOBJC_EXTRA_CPPFLAGS)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-rexx-simplerexx_OBJCFLAGS)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-rexx-simplerexx_OBJCDFLAGS)) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_IQUOTE:=$(KERNEL_IQUOTE) + $(test-rexx-simplerexx_MOBJC_TARGETS) $(test-rexx-simplerexx_MOBJC_DTARGETS) : test-rexx-simplerexx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-rexx-simplerexx_MOBJC_TARGETS) : CPPFLAGS := $(test-rexx-simplerexx_MOBJC_CPPFLAGS) +$(test-rexx-simplerexx_MOBJC_TARGETS) : CFLAGS := $(test-rexx-simplerexx_OBJCFLAGS) +$(test-rexx-simplerexx_MOBJC_TARGETS) : $(test-rexx-simplerexx_MOBJC_WILDCARD).o : $(test-rexx-simplerexx_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-rexx-simplerexx_IQUOTE) $(dir $<) $(test-rexx-simplerexx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_IQUOTE) . $(test-rexx-simplerexx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-rexx-simplerexx_IQUOTE) $(dir $<) $(test-rexx-simplerexx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_IQUOTE) . $(test-rexx-simplerexx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-rexx-simplerexx_IQUOTE) $(dir $<) $(test-rexx-simplerexx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_IQUOTE) . $(test-rexx-simplerexx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-rexx-simplerexx_MOBJC_DTARGETS) : $(test-rexx-simplerexx_MOBJC_WILDCARD).d : $(test-rexx-simplerexx_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-rexx-simplerexx_OBJCDFLAGS) $(test-rexx-simplerexx_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-rexx-simplerexx_MC_SRCWILDCARD := % +else +test-rexx-simplerexx_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-rexx-simplerexx_OBJDIR),) +test-rexx-simplerexx_MC_TARGETS := $(addsuffix .o,$(test-rexx-simplerexx_C_NARCHFILES)) +test-rexx-simplerexx_MC_DTARGETS := $(addsuffix .d,$(test-rexx-simplerexx_C_NARCHFILES)) +test-rexx-simplerexx_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-rexx-simplerexx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(notdir $(test-rexx-simplerexx_C_NARCHFILES)))) + test-rexx-simplerexx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(notdir $(test-rexx-simplerexx_C_NARCHFILES)))) +else +ifeq (,) + test-rexx-simplerexx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(test-rexx-simplerexx_C_NARCHFILES))) + test-rexx-simplerexx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(test-rexx-simplerexx_C_NARCHFILES))) +else + test-rexx-simplerexx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(patsubst /%,%,$(test-rexx-simplerexx_C_NARCHFILES)))) + test-rexx-simplerexx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(patsubst /%,%,$(test-rexx-simplerexx_C_NARCHFILES)))) +endif +endif +test-rexx-simplerexx_MC_TGTWILDCARD := $(test-rexx-simplerexx_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : | $(addsuffix .c,$(test-rexx-simplerexx_C_NARCHFILES)) + +# Be sure that all .c files are found +test-rexx-simplerexx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-rexx-simplerexx_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-rexx-simplerexx_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-rexx-simplerexx_MC_DIRS := $(foreach dir, $(test-rexx-simplerexx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-rexx-simplerexx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-rexx-simplerexx_MC_DIRS),) + test-rexx-simplerexx_MC_DIRS := $(shell echo $(test-rexx-simplerexx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-rexx-simplerexx_MC_DIRS) +endif + +endif + +test-rexx-simplerexx_MC_CPPFLAGS := $(test-rexx-simplerexx_CPPFLAGS) +test-rexx-simplerexx_CFLAGS := $(test-rexx-simplerexx_CFLAGS) +ifeq ($(test-rexx-simplerexx_DFLAGS),) + test-rexx-simplerexx_DFLAGS := $(test-rexx-simplerexx_CFLAGS) +else + test-rexx-simplerexx_DFLAGS := $(test-rexx-simplerexx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-rexx-simplerexx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-rexx-simplerexx_STRIP ?= $(TARGET_STRIP) +test-rexx-simplerexx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_MC_CPPFLAGS:=$(strip $(test-rexx-simplerexx_MC_CPPFLAGS) $(test-rexx-simplerexx_MC_EXTRA_CPPFLAGS)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_CFLAGS:=$(strip $(test-rexx-simplerexx_CFLAGS) $(SAFETY_CFLAGS)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_DFLAGS:=$(test-rexx-simplerexx_DFLAGS) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-rexx-simplerexx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-rexx-simplerexx_STRIP ?= $(HOST_STRIP) +test-rexx-simplerexx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-rexx-simplerexx_MC_CPPFLAGS) $(test-rexx-simplerexx_MC_EXTRA_CPPFLAGS)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-rexx-simplerexx_CFLAGS)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-rexx-simplerexx_DFLAGS)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_IQUOTE:=$(HOST_IQUOTE) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-rexx-simplerexx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-rexx-simplerexx_STRIP ?= $(ECHO) >/dev/null +test-rexx-simplerexx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-rexx-simplerexx_MC_CPPFLAGS) $(test-rexx-simplerexx_MC_EXTRA_CPPFLAGS)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-rexx-simplerexx_CFLAGS)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-rexx-simplerexx_DFLAGS)) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_IQUOTE:=$(KERNEL_IQUOTE) +$(test-rexx-simplerexx_MC_TARGETS) $(test-rexx-simplerexx_MC_DTARGETS) : test-rexx-simplerexx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-rexx-simplerexx_MC_TARGETS) : CPPFLAGS := $(test-rexx-simplerexx_MC_CPPFLAGS) +$(test-rexx-simplerexx_MC_TARGETS) : CFLAGS := $(test-rexx-simplerexx_CFLAGS) +$(test-rexx-simplerexx_MC_TARGETS) : $(test-rexx-simplerexx_MC_TGTWILDCARD).o : $(test-rexx-simplerexx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-rexx-simplerexx_IQUOTE) $(dir $<) $(test-rexx-simplerexx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_IQUOTE) . $(test-rexx-simplerexx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-rexx-simplerexx_IQUOTE) $(dir $<) $(test-rexx-simplerexx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_IQUOTE) . $(test-rexx-simplerexx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-rexx-simplerexx_IQUOTE) $(dir $<) $(test-rexx-simplerexx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-rexx-simplerexx_IQUOTE) . $(test-rexx-simplerexx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-rexx-simplerexx_MC_DTARGETS) : $(test-rexx-simplerexx_MC_TGTWILDCARD).d : $(test-rexx-simplerexx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-rexx-simplerexx_DFLAGS) $(test-rexx-simplerexx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-rexx-simplerexx_OBJDIR),) +test-rexx-simplerexx-MA_TARGETS := $(addsuffix .o,$(test-rexx-simplerexx_ASMFILES)) +test-rexx-simplerexx-MA_WILDCARD := % +else +test-rexx-simplerexx-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-rexx-simplerexx_OBJDIR)/,$(notdir $(test-rexx-simplerexx_ASMFILES)))) +test-rexx-simplerexx-MA_WILDCARD := $(test-rexx-simplerexx_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-rexx-simplerexx-MA_TARGETS) : | $(addsuffix .s,$(test-rexx-simplerexx_ASMFILES)) + +# Be sure that all .c files are found +test-rexx-simplerexx-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-rexx-simplerexx-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-rexx-simplerexx_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-rexx-simplerexx-MA_DIRS := $(foreach dir, $(test-rexx-simplerexx-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-rexx-simplerexx-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-rexx-simplerexx-MA_DIRS),) + test-rexx-simplerexx-MA_DIRS := $(shell echo $(test-rexx-simplerexx-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-rexx-simplerexx-MA_DIRS) +endif + +endif + +test-rexx-simplerexx-MA_ASSEMBLER ?= $(test-rexx-simplerexx_ASSEMBLER) + +$(test-rexx-simplerexx-MA_TARGETS) : test-rexx-simplerexx-MA_CMD:= $(test-rexx-simplerexx-MA_ASSEMBLER) + +$(test-rexx-simplerexx-MA_TARGETS) : CPPFLAGS := $(test-rexx-simplerexx_CPPFLAGS) +$(test-rexx-simplerexx-MA_TARGETS) : AFLAGS := $(test-rexx-simplerexx_AFLAGS) +$(test-rexx-simplerexx-MA_TARGETS) : $(test-rexx-simplerexx-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-rexx-simplerexx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-rexx-simplerexx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-rexx-simplerexx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-rexx-simplerexx-link_EXTRA_LDFLAGS := +test-rexx-simplerexx-link_EXTRA_LIBS := +ifeq (no,yes) + test-rexx-simplerexx-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-rexx-simplerexx-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-rexx-simplerexx-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-rexx-simplerexx-link_DIRS := $(subst -L ,-L,$(strip $(test-rexx-simplerexx_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-rexx-simplerexx-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-rexx-simplerexx-link_DIRS))) +# Add trailing / +test-rexx-simplerexx-link_DIRS := $(subst //,/,$(addsuffix /,$(test-rexx-simplerexx-link_DIRS))) +# Add normal linklib path +test-rexx-simplerexx-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-rexx-simplerexx-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-rexx-simplerexx_LIBS) $(test-rexx-simplerexx-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-rexx-simplerexx-link_LIBS += startup.o +endif +ifeq (no,yes) + test-rexx-simplerexx-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-rexx-simplerexx-link_DEPLIBS := $(foreach lib,$(test-rexx-simplerexx-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-rexx-simplerexx-link_DIRS)))) \ +) + +$(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) : OBJDIR := $(test-rexx-simplerexx_OBJDIR) +$(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) : OBJS := $(test-rexx-simplerexx_OBJS) $(test-rexx-simplerexx_ARCHOBJS) $(USER_OBJS) +$(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) : LDFLAGS := $(strip $(test-rexx-simplerexx_LDFLAGS) $(test-rexx-simplerexx-link_EXTRA_LDFLAGS)) +$(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) : LIBS := $(addprefix -l,$(test-rexx-simplerexx_LIBS) $(test-rexx-simplerexx-link_EXTRA_LIBS) ) +$(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) : $(test-rexx-simplerexx_OBJS) $(test-rexx-simplerexx_ARCHOBJS) $(USER_OBJS) $(test-rexx-simplerexx-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-rexx-simplerexx_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-rexx-simplerexx_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-rexx-simplerexx_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-rexx-simplerexx_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-rexx-simplerexx_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-rexx-simplerexx_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-rexx-simplerexx_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-rexx-simplerexx_DEPS),) + ifneq (test-rexx-simplerexx test-rexx-simplerexx-quick,) + ifneq ($(findstring $(TARGET),test-rexx-simplerexx test-rexx-simplerexx-quick),) + -include $(test-rexx-simplerexx_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-rexx-simplerexx_DEPS) + endif + endif +endif + + +ifneq ($(test-rexx-simplerexx_OBJS) $(test-rexx-simplerexx_DEPS) $(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME),) +$(test-rexx-simplerexx_OBJS) $(test-rexx-simplerexx_DEPS) $(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) : | $(test-rexx-simplerexx_OBJDIR) $(test-rexx-simplerexx_TARGETDIR) +else +$(test-rexx-simplerexx_OBJS) $(test-rexx-simplerexx_DEPS) $(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) :: $(test-rexx-simplerexx_OBJDIR) $(test-rexx-simplerexx_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-rexx-simplerexx_OBJDIR) $(test-rexx-simplerexx_TARGETDIR) + + +test-rexx-simplerexx-clean : FILES := $(test-rexx-simplerexx_OBJS) $(test-rexx-simplerexx_TARGETDIR)/$(test-rexx-simplerexx_PROGNAME) $(test-rexx-simplerexx_DEPS) +#MM +test-rexx-simplerexx-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-rexx-simplerexx" + $(Q)$(RM) $(FILES) + + +#MM +test-rexx-copy : $(EXEDIR)/simpletest.rexx + +$(EXEDIR)/simpletest.rexx : $(SRCDIR)/$(CURDIR)/test.rexx + @$(CP) $< $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/sdi/examples/hooks/mmakefile b/developer/debug/test/sdi/examples/hooks/mmakefile new file mode 100644 index 00000000000..5b98dce2812 --- /dev/null +++ b/developer/debug/test/sdi/examples/hooks/mmakefile @@ -0,0 +1,297 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := example_hookuse +EXEDIR := $(AROS_TESTS)/sdi +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/../.. +USER_CFLAGS := -D__UTILITY_STDLIBBASE__ + +#MM- test : test-sdi-hooks +#MM- test-quick : test-sdi-hooks-quick + +#MM test-sdi-hooks : includes linklibs + + +.PHONY : test-sdi-hooks + +test-sdi-hooks_OBJDIR := $(GENDIR)/$(CURDIR) +test-sdi-hooks_TARGETDIR := $(EXEDIR) +test-sdi-hooks_LIBS := + +test-sdi-hooks_FILES := $(FILES) +test-sdi-hooks_OBJS := $(addsuffix .o,$(addprefix $(test-sdi-hooks_OBJDIR)/,$(test-sdi-hooks_FILES))) +test-sdi-hooks_DEPS := $(addsuffix .d,$(addprefix $(test-sdi-hooks_OBJDIR)/,$(test-sdi-hooks_FILES))) +test-sdi-hooks_EXES := $(addprefix $(test-sdi-hooks_TARGETDIR)/,$(test-sdi-hooks_FILES)) + +test-sdi-hooks_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-sdi-hooks_CPPFLAGS += -I +endif +test-sdi-hooks_CFLAGS := $(CFLAGS) +test-sdi-hooks_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-sdi-hooks_COVERAGE := yes +test-sdi-hooks_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-sdi-hooks_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-sdi-hooks_CFLAGS := $(strip $(test-sdi-hooks_COVERAGEFLAGS) $(test-sdi-hooks_CFLAGS)) +test-sdi-hooks_LIBS += $(test-sdi-hooks_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-sdi-hooks_FUNCINSTR := yes +test-sdi-hooks_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-sdi-hooks_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-sdi-hooks_CFLAGS := $(strip $(test-sdi-hooks_INSTRFUNCFLAGS) $(test-sdi-hooks_CFLAGS)) +test-sdi-hooks_LIBS += $(test-sdi-hooks_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-sdi-hooks_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-sdi-hooks_CFLAGS)) +endif +endif +ifneq (,) + test-sdi-hooks_DFLAGS := +else + test-sdi-hooks_DFLAGS := $(test-sdi-hooks_CFLAGS) +endif +ifeq (target,target) +test-sdi-hooks_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-sdi-hooks_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-sdi-hooks_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-sdi-hooks_LDFLAGS += -L +endif + +#MM +test-sdi-hooks-quick : test-sdi-hooks + +#MM test-sdi-hooks : includes-generate-deps core-linklibs +test-sdi-hooks : $(test-sdi-hooks_EXES) + +ifneq ($(filter $(TARGET),test-sdi-hooks test-sdi-hooks-quick),) + +ifeq (,) +test-sdi-hooks_MC_SRCWILDCARD := % +else +test-sdi-hooks_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-sdi-hooks_OBJDIR),) +test-sdi-hooks_MC_TARGETS := $(addsuffix .o,$(test-sdi-hooks_FILES)) +test-sdi-hooks_MC_DTARGETS := $(addsuffix .d,$(test-sdi-hooks_FILES)) +test-sdi-hooks_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-sdi-hooks_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-hooks_OBJDIR)/,$(notdir $(test-sdi-hooks_FILES)))) + test-sdi-hooks_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-hooks_OBJDIR)/,$(notdir $(test-sdi-hooks_FILES)))) +else +ifeq (,) + test-sdi-hooks_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-hooks_OBJDIR)/,$(test-sdi-hooks_FILES))) + test-sdi-hooks_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-hooks_OBJDIR)/,$(test-sdi-hooks_FILES))) +else + test-sdi-hooks_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-hooks_OBJDIR)/,$(patsubst /%,%,$(test-sdi-hooks_FILES)))) + test-sdi-hooks_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-hooks_OBJDIR)/,$(patsubst /%,%,$(test-sdi-hooks_FILES)))) +endif +endif +test-sdi-hooks_MC_TGTWILDCARD := $(test-sdi-hooks_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : | $(addsuffix .c,$(test-sdi-hooks_FILES)) + +# Be sure that all .c files are found +test-sdi-hooks_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-sdi-hooks_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-hooks_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-sdi-hooks_MC_DIRS := $(foreach dir, $(test-sdi-hooks_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-hooks_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-sdi-hooks_MC_DIRS),) + test-sdi-hooks_MC_DIRS := $(shell echo $(test-sdi-hooks_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-sdi-hooks_MC_DIRS) +endif + +endif + +test-sdi-hooks_MC_CPPFLAGS := $(test-sdi-hooks_CPPFLAGS) +test-sdi-hooks_CFLAGS := $(test-sdi-hooks_CFLAGS) +ifeq ($(test-sdi-hooks_DFLAGS),) + test-sdi-hooks_DFLAGS := $(test-sdi-hooks_CFLAGS) +else + test-sdi-hooks_DFLAGS := $(test-sdi-hooks_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-sdi-hooks_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-sdi-hooks_STRIP ?= $(TARGET_STRIP) +test-sdi-hooks_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_MC_CPPFLAGS:=$(strip $(test-sdi-hooks_MC_CPPFLAGS) $(test-sdi-hooks_MC_EXTRA_CPPFLAGS)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_CFLAGS:=$(strip $(test-sdi-hooks_CFLAGS) $(SAFETY_CFLAGS)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_DFLAGS:=$(test-sdi-hooks_DFLAGS) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-sdi-hooks_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-sdi-hooks_STRIP ?= $(HOST_STRIP) +test-sdi-hooks_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-sdi-hooks_MC_CPPFLAGS) $(test-sdi-hooks_MC_EXTRA_CPPFLAGS)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-hooks_CFLAGS)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-hooks_DFLAGS)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_IQUOTE:=$(HOST_IQUOTE) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-sdi-hooks_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-sdi-hooks_STRIP ?= $(ECHO) >/dev/null +test-sdi-hooks_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-sdi-hooks_MC_CPPFLAGS) $(test-sdi-hooks_MC_EXTRA_CPPFLAGS)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-hooks_CFLAGS)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-hooks_DFLAGS)) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_IQUOTE:=$(KERNEL_IQUOTE) +$(test-sdi-hooks_MC_TARGETS) $(test-sdi-hooks_MC_DTARGETS) : test-sdi-hooks_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-sdi-hooks_MC_TARGETS) : CPPFLAGS := $(test-sdi-hooks_MC_CPPFLAGS) +$(test-sdi-hooks_MC_TARGETS) : CFLAGS := $(test-sdi-hooks_CFLAGS) +$(test-sdi-hooks_MC_TARGETS) : $(test-sdi-hooks_MC_TGTWILDCARD).o : $(test-sdi-hooks_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-sdi-hooks_IQUOTE) $(dir $<) $(test-sdi-hooks_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-hooks_IQUOTE) . $(test-sdi-hooks_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-sdi-hooks_IQUOTE) $(dir $<) $(test-sdi-hooks_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-hooks_IQUOTE) . $(test-sdi-hooks_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-sdi-hooks_IQUOTE) $(dir $<) $(test-sdi-hooks_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-hooks_IQUOTE) . $(test-sdi-hooks_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-sdi-hooks_MC_DTARGETS) : $(test-sdi-hooks_MC_TGTWILDCARD).d : $(test-sdi-hooks_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-sdi-hooks_DFLAGS) $(test-sdi-hooks_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-sdi-hooks-link_EXTRA_LDFLAGS := +test-sdi-hooks-link_EXTRA_LIBS := +ifeq (no,yes) + test-sdi-hooks-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-sdi-hooks-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-sdi-hooks-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-sdi-hooks-link_DIRS := $(subst -L ,-L,$(strip $(test-sdi-hooks_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-sdi-hooks-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-sdi-hooks-link_DIRS))) +# Add trailing / +test-sdi-hooks-link_DIRS := $(subst //,/,$(addsuffix /,$(test-sdi-hooks-link_DIRS))) +# Add normal linklib path +test-sdi-hooks-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-sdi-hooks-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-sdi-hooks_LIBS) $(test-sdi-hooks-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-sdi-hooks-link_DEPLIBS := $(foreach lib,$(test-sdi-hooks-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-sdi-hooks-link_DIRS)))) \ +) +test-sdi-hooks-link_PROGS := $(addprefix $(test-sdi-hooks_TARGETDIR)/,$(test-sdi-hooks_FILES)) + +$(test-sdi-hooks-link_PROGS) : OBJDIR := $(test-sdi-hooks_OBJDIR) +$(test-sdi-hooks-link_PROGS) : LDFLAGS := $(strip $(test-sdi-hooks_LDFLAGS) $(test-sdi-hooks-link_EXTRA_LDFLAGS)) +$(test-sdi-hooks-link_PROGS) : LIBS := $(addprefix -l,$(test-sdi-hooks_LIBS) $(test-sdi-hooks-link_EXTRA_LIBS) ) +$(test-sdi-hooks-link_PROGS) : $(test-sdi-hooks_TARGETDIR)/% : $(test-sdi-hooks_OBJDIR)/%.o $(test-sdi-hooks-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-sdi-hooks_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-sdi-hooks_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-sdi-hooks_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-sdi-hooks_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-sdi-hooks_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-sdi-hooks_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-sdi-hooks_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-sdi-hooks_DEPS),) + ifneq (test-sdi-hooks test-sdi-hooks-quick,) + ifneq ($(findstring $(TARGET),test-sdi-hooks test-sdi-hooks-quick),) + -include $(test-sdi-hooks_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-sdi-hooks_DEPS) + endif + endif +endif + + +ifneq ($(test-sdi-hooks_DEPS) $(test-sdi-hooks_OBJS) $(addprefix $(test-sdi-hooks_TARGETDIR)/,$(test-sdi-hooks_FILES)),) +$(test-sdi-hooks_DEPS) $(test-sdi-hooks_OBJS) $(addprefix $(test-sdi-hooks_TARGETDIR)/,$(test-sdi-hooks_FILES)) : | $(test-sdi-hooks_TARGETDIR) $(test-sdi-hooks_OBJDIR) +else +$(test-sdi-hooks_DEPS) $(test-sdi-hooks_OBJS) $(addprefix $(test-sdi-hooks_TARGETDIR)/,$(test-sdi-hooks_FILES)) :: $(test-sdi-hooks_TARGETDIR) $(test-sdi-hooks_OBJDIR) +endif + +GLOB_MKDIRS += $(test-sdi-hooks_TARGETDIR) $(test-sdi-hooks_OBJDIR) + + +test-sdi-hooks-clean : FILES := $(test-sdi-hooks_OBJS) $(test-sdi-hooks_EXES) $(test-sdi-hooks_DEPS) +#MM +test-sdi-hooks-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-sdi-hooks" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/sdi/examples/libraries/mmakefile b/developer/debug/test/sdi/examples/libraries/mmakefile new file mode 100644 index 00000000000..6ddb8fcae0c --- /dev/null +++ b/developer/debug/test/sdi/examples/libraries/mmakefile @@ -0,0 +1,1377 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- test : test-sdi-libraries + +#MM- test-sdi-libraries : test-sdi-libraries-test + +#MM test-sdi-libraries-test : includes linklibs \ +#MM test-sdi-libraries-library test-sdi-libraries-linklib + +#MM test-sdi-libraries-library : includes + +#MM test-sdi-libraries-linklib : includes + +EXEDIR := $(AROS_TESTS)/sdi + +FILES := example_lib stubs-aros +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/../.. +USER_CFLAGS := -DAROS_ABI_V1 +USER_LDFLAGS := -static + + +# Define metamake targets and their dependencies +#MM test-sdi-libraries-library : core-linklibs includes-generate-deps +#MM test-sdi-libraries-library-kobj : core-linklibs includes-generate-deps +#MM test-sdi-libraries-library-kobj-quick +#MM test-sdi-libraries-library-quick +#MM test-sdi-libraries-library-clean + +test-sdi-libraries-library_ALLTARGETS := test-sdi-libraries-library test-sdi-libraries-library-clean test-sdi-libraries-library-quick test-sdi-libraries-library-kobj + +.PHONY : $(test-sdi-libraries-library_ALLTARGETS) + +ifeq (example,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +test-sdi-libraries-library_DEFLINKLIBNAME := example +test-sdi-libraries-library_CFLAGS := $(CFLAGS) +test-sdi-libraries-library_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +test-sdi-libraries-library_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(test-sdi-libraries-library_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-sdi-libraries-library_FUNCINSTR := yes +test-sdi-libraries-library_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(test-sdi-libraries-library_CFLAGS)) +endif +endif +ifneq (,) + test-sdi-libraries-library_DFLAGS := +else + test-sdi-libraries-library_DFLAGS := $(test-sdi-libraries-library_CFLAGS) +endif +test-sdi-libraries-library_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +test-sdi-libraries-library_MODDIR := $(EXEDIR) +ifeq ($(test-sdi-libraries-library_MODDIR),) + ifeq (library,library) + test-sdi-libraries-library_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (library,gadget) + test-sdi-libraries-library_MODDIR := $(AROS_GADGETS) + endif + ifeq (library,datatype) + test-sdi-libraries-library_MODDIR := $(AROS_DATATYPES) + endif + ifeq (library,handler) + test-sdi-libraries-library_MODDIR := $(AROS_FS) + endif + ifeq (library,device) + test-sdi-libraries-library_MODDIR := $(AROS_DEVS) + endif + ifeq (library,resource) + test-sdi-libraries-library_MODDIR := $(AROS_RESOURCES) + endif + ifeq (library,hook) + test-sdi-libraries-library_MODDIR := $(AROS_RESOURCES) + endif + ifeq (library,mui) + test-sdi-libraries-library_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,mcc) + test-sdi-libraries-library_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,mcp) + test-sdi-libraries-library_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,usbclass) + test-sdi-libraries-library_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (library,hidd) + test-sdi-libraries-library_MODDIR := $(AROS_DRIVERS) + endif + ifeq (library,printer) + test-sdi-libraries-library_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(test-sdi-libraries-library_MODDIR),) + $(error Don't know where to put the file for modtype library. Specify moduledir=) +endif + +test-sdi-libraries-library_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +test-sdi-libraries-library_ARCHFILES := $(basename $(notdir $(test-sdi-libraries-library_ARCHOBJS))) +test-sdi-libraries-library_C_NARCHFILES := $(filter-out $(test-sdi-libraries-library_ARCHFILES),$(FILES)) +test-sdi-libraries-library_CXX_NARCHFILES := $(filter-out $(test-sdi-libraries-library_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +test-sdi-libraries-library_OBJC_NARCHFILES := $(filter-out $(test-sdi-libraries-library_ARCHFILES),) + + +test-sdi-libraries-library_CXXABSBASENAMES := $(foreach test-sdi-libraries-library_CXXBASE,$(test-sdi-libraries-library_CXX_NARCHFILES),$(if $(filter /%,$(test-sdi-libraries-library_CXXBASE)),$(test-sdi-libraries-library_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-sdi-libraries-library_CXXBASE)))) + +ifneq ($(test-sdi-libraries-library_CXXABSBASENAMES),) + +test-sdi-libraries-library_CXXBASENAMES := $(basename $(test-sdi-libraries-library_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-sdi-libraries-library_MCXX_FILES := $(strip $(foreach test-sdi-libraries-library_CXXBASE,$(test-sdi-libraries-library_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-sdi-libraries-library_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-sdi-libraries-library_EXT),$(test-sdi-libraries-library_CXXBASE))))))) + +ifeq (,) +test-sdi-libraries-library_MCXX_SRCWILDCARD := % +else +test-sdi-libraries-library_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + test-sdi-libraries-library_CXXTARGETS := $(notdir $(test-sdi-libraries-library_CXXBASENAMES:=.o)) + test-sdi-libraries-library_CXXDTARGETS := $(notdir $(test-sdi-libraries-library_CXXBASENAMES:=.d)) + test-sdi-libraries-library_MCXX_WILDCARD := % +else + test-sdi-libraries-library_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(test-sdi-libraries-library_CXXBASENAMES:=.o))) + test-sdi-libraries-library_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(test-sdi-libraries-library_CXXBASENAMES:=.d))) + test-sdi-libraries-library_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(test-sdi-libraries-library_CXXTARGETS) $(test-sdi-libraries-library_CXXDTARGETS) : | $(test-sdi-libraries-library_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-sdi-libraries-library_MCXX_CPPFLAGS := $(CPPFLAGS) +test-sdi-libraries-library_CXXFLAGS := $(test-sdi-libraries-library_CXXFLAGS) +ifeq ($(test-sdi-libraries-library_DXXFLAGS),) + test-sdi-libraries-library_DXXFLAGS := $(test-sdi-libraries-library_CXXFLAGS) +else + test-sdi-libraries-library_DXXFLAGS := $(test-sdi-libraries-library_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-sdi-libraries-library_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-sdi-libraries-library_STRIP ?= $(HOST_STRIP) + test-sdi-libraries-library_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-sdi-libraries-library_CXXCMD:=$(HOST_CXX) + test-sdi-libraries-library_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-sdi-libraries-library_MCXX_CPPFLAGS) $(test-sdi-libraries-library_MCXX_EXTRA_CPPFLAGS)) + test-sdi-libraries-library_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-sdi-libraries-library_CXXFLAGS)) + test-sdi-libraries-library_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-sdi-libraries-library_DXXFLAGS)) + test-sdi-libraries-library_CXXIQUOTE:=$(HOST_IQUOTE) + test-sdi-libraries-library_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-sdi-libraries-library_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-sdi-libraries-library_STRIP ?= $(TARGET_STRIP) + test-sdi-libraries-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-sdi-libraries-library_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-sdi-libraries-library_MCXX_CPPFLAGS := $(strip $(test-sdi-libraries-library_MCXX_CPPFLAGS) $(test-sdi-libraries-library_MCXX_EXTRA_CPPFLAGS)) + test-sdi-libraries-library_CXXFLAGS := $(strip $(test-sdi-libraries-library_CXXFLAGS) $(SAFETY_CFLAGS)) + test-sdi-libraries-library_DXXFLAGS := $(test-sdi-libraries-library_DXXFLAGS) + test-sdi-libraries-library_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-sdi-libraries-library_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-sdi-libraries-library_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-sdi-libraries-library_STRIP ?= $(ECHO) >/dev/null + test-sdi-libraries-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-sdi-libraries-library_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-sdi-libraries-library_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-sdi-libraries-library_MCXX_CPPFLAGS) $(test-sdi-libraries-library_MCXX_EXTRA_CPPFLAGS)) + test-sdi-libraries-library_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-sdi-libraries-library_CXXFLAGS)) + test-sdi-libraries-library_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-sdi-libraries-library_DXXFLAGS)) + test-sdi-libraries-library_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-sdi-libraries-library_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-sdi-libraries-library_CXXCMD) $(test-sdi-libraries-library_CXXIQUOTE) $(dir $(2)) $(test-sdi-libraries-library_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_CXXIQUOTE) . $(test-sdi-libraries-library_CXXIQUOTE_END) $(strip $(test-sdi-libraries-library_CXXFLAGS) $(test-sdi-libraries-library_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-sdi-libraries-library_CXXCMD) $(test-sdi-libraries-library_CXXIQUOTE) $(dir $(2)) $(test-sdi-libraries-library_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_CXXIQUOTE) . $(test-sdi-libraries-library_CXXIQUOTE_END) $(strip $(test-sdi-libraries-library_CXXFLAGS) $(test-sdi-libraries-library_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-sdi-libraries-library_CXXCMD) $(test-sdi-libraries-library_CXXIQUOTE) $(dir $(2)) $(test-sdi-libraries-library_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_CXXIQUOTE) . $(test-sdi-libraries-library_CXXIQUOTE_END) $(strip $(test-sdi-libraries-library_CXXFLAGS) $(test-sdi-libraries-library_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-sdi-libraries-library_CXXCMD)" $(MKDEPEND) $(strip $(test-sdi-libraries-library_DXXFLAGS) $(test-sdi-libraries-library_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach test-sdi-libraries-library_CXXFILE,$(test-sdi-libraries-library_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-sdi-libraries-library_CXXFILE))),$(test-sdi-libraries-library_CXXFILE)))) +else + $(foreach test-sdi-libraries-library_CXXFILE,$(test-sdi-libraries-library_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(test-sdi-libraries-library_CXXFILE)))),$(test-sdi-libraries-library_CXXFILE)))) +endif + +endif + + +ifneq ($(test-sdi-libraries-library_OBJC_NARCHFILES),) + +ifeq (,) +test-sdi-libraries-library_MOBJC_SRCWILDCARD := % +else +test-sdi-libraries-library_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + test-sdi-libraries-library_MOBJC_TARGETS := $(addsuffix .o,$(test-sdi-libraries-library_OBJC_NARCHFILES)) + test-sdi-libraries-library_MOBJC_DTARGETS := $(addsuffix .d,$(test-sdi-libraries-library_OBJC_NARCHFILES)) + test-sdi-libraries-library_MOBJC_WILDCARD := % +else + test-sdi-libraries-library_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(test-sdi-libraries-library_OBJC_NARCHFILES))) + test-sdi-libraries-library_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(test-sdi-libraries-library_OBJC_NARCHFILES))) + test-sdi-libraries-library_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-sdi-libraries-library_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-sdi-libraries-library_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-sdi-libraries-library_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-libraries-library_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-sdi-libraries-library_MOBJC_DIRS := $(foreach dir, $(test-sdi-libraries-library_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-libraries-library_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-sdi-libraries-library_MOBJC_DIRS),) + test-sdi-libraries-library_MOBJC_DIRS := $(shell echo $(test-sdi-libraries-library_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-sdi-libraries-library_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-sdi-libraries-library_CC := $(TARGET_CC) +else + test-sdi-libraries-library_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-sdi-libraries-library_MOBJC_CPPFLAGS := $(CPPFLAGS) +test-sdi-libraries-library_OBJCFLAGS := $(test-sdi-libraries-library_CFLAGS) +test-sdi-libraries-library_OBJCFLAGS := $(test-sdi-libraries-library_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-sdi-libraries-library_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-sdi-libraries-library_OBJCFLAGS))) +ifeq ($(test-sdi-libraries-library_DFLAGS),) + test-sdi-libraries-library_OBJCDFLAGS := $(test-sdi-libraries-library_CFLAGS) +else + test-sdi-libraries-library_OBJCDFLAGS := $(test-sdi-libraries-library_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-sdi-libraries-library_LINK ?= $(strip $(test-sdi-libraries-library_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-sdi-libraries-library_STRIP ?= $(TARGET_STRIP) + test-sdi-libraries-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : CMD:=$(strip $(test-sdi-libraries-library_CC) $(TARGET_SYSROOT)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_MOBJC_CPPFLAGS:=$(strip $(test-sdi-libraries-library_MOBJC_CPPFLAGS) $(test-sdi-libraries-library_MOBJC_EXTRA_CPPFLAGS)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_OBJCFLAGS:=$(strip $(test-sdi-libraries-library_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_OBJCDFLAGS:=$(test-sdi-libraries-library_OBJCDFLAGS) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-sdi-libraries-library_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-sdi-libraries-library_STRIP ?= $(HOST_STRIP) + test-sdi-libraries-library_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-sdi-libraries-library_MOBJC_CPPFLAGS) $(test-sdi-libraries-library_MOBJC_EXTRA_CPPFLAGS)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-library_OBJCFLAGS)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-library_OBJCDFLAGS)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_IQUOTE:=$(HOST_IQUOTE) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-sdi-libraries-library_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-sdi-libraries-library_STRIP ?= $(ECHO) >/dev/null + test-sdi-libraries-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-sdi-libraries-library_MOBJC_CPPFLAGS) $(test-sdi-libraries-library_MOBJC_EXTRA_CPPFLAGS)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-library_OBJCFLAGS)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-library_OBJCDFLAGS)) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_IQUOTE:=$(KERNEL_IQUOTE) + $(test-sdi-libraries-library_MOBJC_TARGETS) $(test-sdi-libraries-library_MOBJC_DTARGETS) : test-sdi-libraries-library_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-sdi-libraries-library_MOBJC_TARGETS) : CPPFLAGS := $(test-sdi-libraries-library_MOBJC_CPPFLAGS) +$(test-sdi-libraries-library_MOBJC_TARGETS) : CFLAGS := $(test-sdi-libraries-library_OBJCFLAGS) +$(test-sdi-libraries-library_MOBJC_TARGETS) : $(test-sdi-libraries-library_MOBJC_WILDCARD).o : $(test-sdi-libraries-library_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-sdi-libraries-library_IQUOTE) $(dir $<) $(test-sdi-libraries-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_IQUOTE) . $(test-sdi-libraries-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-sdi-libraries-library_IQUOTE) $(dir $<) $(test-sdi-libraries-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_IQUOTE) . $(test-sdi-libraries-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-sdi-libraries-library_IQUOTE) $(dir $<) $(test-sdi-libraries-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_IQUOTE) . $(test-sdi-libraries-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-sdi-libraries-library_MOBJC_DTARGETS) : $(test-sdi-libraries-library_MOBJC_WILDCARD).d : $(test-sdi-libraries-library_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-sdi-libraries-library_OBJCDFLAGS) $(test-sdi-libraries-library_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-sdi-libraries-library_MC_SRCWILDCARD := % +else +test-sdi-libraries-library_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +test-sdi-libraries-library_MC_TARGETS := $(addsuffix .o,$(test-sdi-libraries-library_C_NARCHFILES)) +test-sdi-libraries-library_MC_DTARGETS := $(addsuffix .d,$(test-sdi-libraries-library_C_NARCHFILES)) +test-sdi-libraries-library_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-sdi-libraries-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(test-sdi-libraries-library_C_NARCHFILES)))) + test-sdi-libraries-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(test-sdi-libraries-library_C_NARCHFILES)))) +else +ifeq (,) + test-sdi-libraries-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(test-sdi-libraries-library_C_NARCHFILES))) + test-sdi-libraries-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(test-sdi-libraries-library_C_NARCHFILES))) +else + test-sdi-libraries-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(test-sdi-libraries-library_C_NARCHFILES)))) + test-sdi-libraries-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(test-sdi-libraries-library_C_NARCHFILES)))) +endif +endif +test-sdi-libraries-library_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : | $(addsuffix .c,$(test-sdi-libraries-library_C_NARCHFILES)) + +# Be sure that all .c files are found +test-sdi-libraries-library_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-sdi-libraries-library_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-libraries-library_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-sdi-libraries-library_MC_DIRS := $(foreach dir, $(test-sdi-libraries-library_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-libraries-library_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-sdi-libraries-library_MC_DIRS),) + test-sdi-libraries-library_MC_DIRS := $(shell echo $(test-sdi-libraries-library_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-sdi-libraries-library_MC_DIRS) +endif + +endif + +test-sdi-libraries-library_MC_CPPFLAGS := $(CPPFLAGS) +test-sdi-libraries-library_CFLAGS := $(test-sdi-libraries-library_CFLAGS) +ifeq ($(test-sdi-libraries-library_DFLAGS),) + test-sdi-libraries-library_DFLAGS := $(test-sdi-libraries-library_CFLAGS) +else + test-sdi-libraries-library_DFLAGS := $(test-sdi-libraries-library_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-sdi-libraries-library_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-sdi-libraries-library_STRIP ?= $(TARGET_STRIP) +test-sdi-libraries-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_MC_CPPFLAGS:=$(strip $(test-sdi-libraries-library_MC_CPPFLAGS) $(test-sdi-libraries-library_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_CFLAGS:=$(strip $(test-sdi-libraries-library_CFLAGS) $(SAFETY_CFLAGS)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_DFLAGS:=$(test-sdi-libraries-library_DFLAGS) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-sdi-libraries-library_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-sdi-libraries-library_STRIP ?= $(HOST_STRIP) +test-sdi-libraries-library_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-sdi-libraries-library_MC_CPPFLAGS) $(test-sdi-libraries-library_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-library_CFLAGS)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-library_DFLAGS)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_IQUOTE:=$(HOST_IQUOTE) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-sdi-libraries-library_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-sdi-libraries-library_STRIP ?= $(ECHO) >/dev/null +test-sdi-libraries-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-sdi-libraries-library_MC_CPPFLAGS) $(test-sdi-libraries-library_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-library_CFLAGS)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-library_DFLAGS)) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_IQUOTE:=$(KERNEL_IQUOTE) +$(test-sdi-libraries-library_MC_TARGETS) $(test-sdi-libraries-library_MC_DTARGETS) : test-sdi-libraries-library_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-sdi-libraries-library_MC_TARGETS) : CPPFLAGS := $(test-sdi-libraries-library_MC_CPPFLAGS) +$(test-sdi-libraries-library_MC_TARGETS) : CFLAGS := $(test-sdi-libraries-library_CFLAGS) +$(test-sdi-libraries-library_MC_TARGETS) : $(test-sdi-libraries-library_MC_TGTWILDCARD).o : $(test-sdi-libraries-library_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-sdi-libraries-library_IQUOTE) $(dir $<) $(test-sdi-libraries-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_IQUOTE) . $(test-sdi-libraries-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-sdi-libraries-library_IQUOTE) $(dir $<) $(test-sdi-libraries-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_IQUOTE) . $(test-sdi-libraries-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-sdi-libraries-library_IQUOTE) $(dir $<) $(test-sdi-libraries-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-library_IQUOTE) . $(test-sdi-libraries-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-sdi-libraries-library_MC_DTARGETS) : $(test-sdi-libraries-library_MC_TGTWILDCARD).d : $(test-sdi-libraries-library_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-sdi-libraries-library_DFLAGS) $(test-sdi-libraries-library_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (library,handler) +test-sdi-libraries-library_MODULE := $(test-sdi-libraries-library_MODDIR)/example-library +else +ifeq (library,printer) +test-sdi-libraries-library_MODULE := $(test-sdi-libraries-library_MODDIR)/example +else +test-sdi-libraries-library_MODULE := $(test-sdi-libraries-library_MODDIR)/example.library +endif +endif +test-sdi-libraries-library_KOBJ := $(KOBJSDIR)/example_library.o + +test-sdi-libraries-library-quick : test-sdi-libraries-library +test-sdi-libraries-library-kobj-quick : $(test-sdi-libraries-library_KOBJ) +test-sdi-libraries-library : $(test-sdi-libraries-library_MODULE) +test-sdi-libraries-library-kobj : $(test-sdi-libraries-library_KOBJ) + +# The module is linked from all the compiled .o files +test-sdi-libraries-library_OBJS := $(test-sdi-libraries-library_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(test-sdi-libraries-library_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (example,con) + test-sdi-libraries-library_ERR := $(notdir $(test-sdi-libraries-library_MODULE)).err +else + test-sdi-libraries-library_ERR := example.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(example_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(example_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(test-sdi-libraries-library_MODULE) : LIB_NAMES := $(example_LIBS) +$(test-sdi-libraries-library_MODULE) : OBJS := $(test-sdi-libraries-library_OBJS) +$(test-sdi-libraries-library_MODULE) : ENDTAG := +$(test-sdi-libraries-library_MODULE) : ERR := $(test-sdi-libraries-library_ERR) +$(test-sdi-libraries-library_MODULE) : OBJDIR := $(OBJDIR) +$(test-sdi-libraries-library_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(test-sdi-libraries-library_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(test-sdi-libraries-library_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(test-sdi-libraries-library_MODULE) : $(test-sdi-libraries-library_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +test-sdi-libraries-library_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +test-sdi-libraries-library_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +test-sdi-libraries-library_SYMBOLS := $(test-sdi-libraries-library_KBASE) + +test-sdi-libraries-library_KLIB := hiddstubs amiga arossupport autoinit libinit +test-sdi-libraries-library_KOBJ_LIBS := $(filter-out $(test-sdi-libraries-library_KLIB),) $(test-sdi-libraries-library_KAUTOLIB) +$(test-sdi-libraries-library_KOBJ) : LINKLIBS:=$(test-sdi-libraries-library_KOBJ_LIBS) +$(test-sdi-libraries-library_KOBJ) : FILTBASES:=$(addprefix -L ,$(test-sdi-libraries-library_SYMBOLS)) +$(test-sdi-libraries-library_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(test-sdi-libraries-library_KOBJ) : $(test-sdi-libraries-library_OBJS) $(test-sdi-libraries-library_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +test-sdi-libraries-library_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,$(FILES))) +ifneq ($(test-sdi-libraries-library_DEPS),) + ifneq (test-sdi-libraries-library test-sdi-libraries-library-quick test-sdi-libraries-library-kobj,) + ifneq ($(findstring $(TARGET),test-sdi-libraries-library test-sdi-libraries-library-quick test-sdi-libraries-library-kobj),) + -include $(test-sdi-libraries-library_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-sdi-libraries-library_DEPS) + endif + endif +endif + + +ifneq ($(test-sdi-libraries-library_OBJS) $(test-sdi-libraries-library_DEPS) $(test-sdi-libraries-library_MODULE) $(test-sdi-libraries-library_KOBJ),) +$(test-sdi-libraries-library_OBJS) $(test-sdi-libraries-library_DEPS) $(test-sdi-libraries-library_MODULE) $(test-sdi-libraries-library_KOBJ) : | $(OBJDIR) $(test-sdi-libraries-library_MODDIR) $(KOBJSDIR) +else +$(test-sdi-libraries-library_OBJS) $(test-sdi-libraries-library_DEPS) $(test-sdi-libraries-library_MODULE) $(test-sdi-libraries-library_KOBJ) :: $(OBJDIR) $(test-sdi-libraries-library_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(test-sdi-libraries-library_MODDIR) $(KOBJSDIR) + + +test-sdi-libraries-library-clean : FILES := $(test-sdi-libraries-library_OBJS) $(test-sdi-libraries-library_MODULE) $(test-sdi-libraries-library_KOBJ) $(test-sdi-libraries-library_DEPS) +test-sdi-libraries-library-clean :: + $(Q)$(ECHO) "Cleaning up for module example" + $(Q)$(RM) $(FILES) + + +FILES := example_linklib +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/include +USER_CFLAGS := + + +# assign and generate the local variables used in this macro +test-sdi-libraries-linklib_LIBNAME := example +test-sdi-libraries-linklib_LINKLIB := $(EXEDIR)/libexample.a + +test-sdi-libraries-linklib_FILES ?= $(FILES) +test-sdi-libraries-linklib_ASMFILES := +test-sdi-libraries-linklib_OBJCFILES := +test-sdi-libraries-linklib_CXXFILES := + +test-sdi-libraries-linklib_OBJDIR ?= $(GENDIR)/$(CURDIR) +test-sdi-libraries-linklib_ARCHOBJS := $(wildcard $(test-sdi-libraries-linklib_OBJDIR)/arch/*.o) +ifeq (no,no) + test-sdi-libraries-linklib_ARCHFILES := $(basename $(notdir $(test-sdi-libraries-linklib_ARCHOBJS))) +else + test-sdi-libraries-linklib_ARCHFILES := $(basename $(patsubst $(test-sdi-libraries-linklib_OBJDIR)/%,%,$(test-sdi-libraries-linklib_ARCHOBJS))) +endif +test-sdi-libraries-linklib_C_NARCHFILES := $(filter-out $(test-sdi-libraries-linklib_ARCHFILES),$(test-sdi-libraries-linklib_FILES)) +test-sdi-libraries-linklib_C_FILES ?= $(test-sdi-libraries-linklib_C_NARCHFILES) +test-sdi-libraries-linklib_CXX_NARCHFILES := $(filter-out $(test-sdi-libraries-linklib_ARCHFILES),$(test-sdi-libraries-linklib_CXXFILES)) +test-sdi-libraries-linklib_CXX_FILES ?= $(test-sdi-libraries-linklib_CXX_NARCHFILES) +test-sdi-libraries-linklib_OBJC_NARCHFILES := $(filter-out $(test-sdi-libraries-linklib_ARCHFILES),$(test-sdi-libraries-linklib_OBJCFILES)) +test-sdi-libraries-linklib_OBJC_FILES ?= $(test-sdi-libraries-linklib_OBJC_NARCHFILES) + +ifeq (no,no) + test-sdi-libraries-linklib_OBJ_FILES ?= $(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(notdir $(test-sdi-libraries-linklib_C_NARCHFILES:=.o) $(test-sdi-libraries-linklib_CXX_NARCHFILES:=.o) $(test-sdi-libraries-linklib_ASMFILES:=.o) $(test-sdi-libraries-linklib_OBJC_NARCHFILES:=.o))) +else + test-sdi-libraries-linklib_OBJ_FILES ?= $(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(test-sdi-libraries-linklib_C_NARCHFILES:=.o) $(test-sdi-libraries-linklib_CXX_NARCHFILES:=.o) $(test-sdi-libraries-linklib_ASMFILES:=.o) $(test-sdi-libraries-linklib_OBJC_NARCHFILES:=.o)) +endif +test-sdi-libraries-linklib_OBJS ?= $(test-sdi-libraries-linklib_ARCHOBJS) $(test-sdi-libraries-linklib_OBJ_FILES) +test-sdi-libraries-linklib_DEPS := $(patsubst %.o,%.d,$(test-sdi-libraries-linklib_OBJS)) + +test-sdi-libraries-linklib_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-sdi-libraries-linklib_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-sdi-libraries-linklib_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-sdi-libraries-linklib_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-sdi-libraries-linklib_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-sdi-libraries-linklib_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-sdi-libraries-linklib_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-sdi-libraries-linklib_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-sdi-libraries-linklib_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-sdi-libraries-linklib_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + test-sdi-libraries-linklib_CFLAGS := $(strip $(LTO_CFLAGS) $(test-sdi-libraries-linklib_CFLAGS)) + test-sdi-libraries-linklib_CXXFLAGS := $(strip $(LTO_CFLAGS) $(test-sdi-libraries-linklib_CXXFLAGS)) +endif +endif +test-sdi-libraries-linklib_AFLAGS := $(AFLAGS) +test-sdi-libraries-linklib_DFLAGS := +ifneq (,) + test-sdi-libraries-linklib_DFLAGS := +else + test-sdi-libraries-linklib_DFLAGS := $(test-sdi-libraries-linklib_CFLAGS) +endif +test-sdi-libraries-linklib_DXXFLAGS := +ifneq (,) + test-sdi-libraries-linklib_DXXFLAGS := +else + test-sdi-libraries-linklib_DXXFLAGS := $(test-sdi-libraries-linklib_CXXFLAGS) +endif + +.PHONY : test-sdi-libraries-linklib test-sdi-libraries-linklib-clean test-sdi-libraries-linklib-quick + +#MM +test-sdi-libraries-linklib-quick : test-sdi-libraries-linklib + +#MM test-sdi-libraries-linklib : includes-generate-deps +test-sdi-libraries-linklib : $(test-sdi-libraries-linklib_LINKLIB) + +ifneq ($(filter $(TARGET),test-sdi-libraries-linklib test-sdi-libraries-linklib-quick),) + + +test-sdi-libraries-linklib_CXXABSBASENAMES := $(foreach test-sdi-libraries-linklib_CXXBASE,$(test-sdi-libraries-linklib_CXX_FILES),$(if $(filter /%,$(test-sdi-libraries-linklib_CXXBASE)),$(test-sdi-libraries-linklib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-sdi-libraries-linklib_CXXBASE)))) + +ifneq ($(test-sdi-libraries-linklib_CXXABSBASENAMES),) + +test-sdi-libraries-linklib_CXXBASENAMES := $(basename $(test-sdi-libraries-linklib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-sdi-libraries-linklib_MCXX_FILES := $(strip $(foreach test-sdi-libraries-linklib_CXXBASE,$(test-sdi-libraries-linklib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-sdi-libraries-linklib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-sdi-libraries-linklib_EXT),$(test-sdi-libraries-linklib_CXXBASE))))))) + +ifeq (,) +test-sdi-libraries-linklib_MCXX_SRCWILDCARD := % +else +test-sdi-libraries-linklib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-sdi-libraries-linklib_OBJDIR),) + test-sdi-libraries-linklib_CXXTARGETS := $(notdir $(test-sdi-libraries-linklib_CXXBASENAMES:=.o)) + test-sdi-libraries-linklib_CXXDTARGETS := $(notdir $(test-sdi-libraries-linklib_CXXBASENAMES:=.d)) + test-sdi-libraries-linklib_MCXX_WILDCARD := % +else + test-sdi-libraries-linklib_CXXTARGETS := $(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(notdir $(test-sdi-libraries-linklib_CXXBASENAMES:=.o))) + test-sdi-libraries-linklib_CXXDTARGETS := $(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(notdir $(test-sdi-libraries-linklib_CXXBASENAMES:=.d))) + test-sdi-libraries-linklib_MCXX_WILDCARD := $(test-sdi-libraries-linklib_OBJDIR)/% + + # Be sure that all source files are generated + $(test-sdi-libraries-linklib_CXXTARGETS) $(test-sdi-libraries-linklib_CXXDTARGETS) : | $(test-sdi-libraries-linklib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-sdi-libraries-linklib_MCXX_CPPFLAGS := $(test-sdi-libraries-linklib_CPPFLAGS) +test-sdi-libraries-linklib_CXXFLAGS := $(test-sdi-libraries-linklib_CXXFLAGS) +ifeq ($(test-sdi-libraries-linklib_DXXFLAGS),) + test-sdi-libraries-linklib_DXXFLAGS := $(test-sdi-libraries-linklib_CXXFLAGS) +else + test-sdi-libraries-linklib_DXXFLAGS := $(test-sdi-libraries-linklib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-sdi-libraries-linklib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-sdi-libraries-linklib_STRIP ?= $(HOST_STRIP) + test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-sdi-libraries-linklib_CXXCMD:=$(HOST_CXX) + test-sdi-libraries-linklib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-sdi-libraries-linklib_MCXX_CPPFLAGS) $(test-sdi-libraries-linklib_MCXX_EXTRA_CPPFLAGS)) + test-sdi-libraries-linklib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-sdi-libraries-linklib_CXXFLAGS)) + test-sdi-libraries-linklib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-sdi-libraries-linklib_DXXFLAGS)) + test-sdi-libraries-linklib_CXXIQUOTE:=$(HOST_IQUOTE) + test-sdi-libraries-linklib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-sdi-libraries-linklib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-sdi-libraries-linklib_STRIP ?= $(TARGET_STRIP) + test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-sdi-libraries-linklib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-sdi-libraries-linklib_MCXX_CPPFLAGS := $(strip $(test-sdi-libraries-linklib_MCXX_CPPFLAGS) $(test-sdi-libraries-linklib_MCXX_EXTRA_CPPFLAGS)) + test-sdi-libraries-linklib_CXXFLAGS := $(strip $(test-sdi-libraries-linklib_CXXFLAGS) $(SAFETY_CFLAGS)) + test-sdi-libraries-linklib_DXXFLAGS := $(test-sdi-libraries-linklib_DXXFLAGS) + test-sdi-libraries-linklib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-sdi-libraries-linklib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-sdi-libraries-linklib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-sdi-libraries-linklib_STRIP ?= $(ECHO) >/dev/null + test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-sdi-libraries-linklib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-sdi-libraries-linklib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-sdi-libraries-linklib_MCXX_CPPFLAGS) $(test-sdi-libraries-linklib_MCXX_EXTRA_CPPFLAGS)) + test-sdi-libraries-linklib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-sdi-libraries-linklib_CXXFLAGS)) + test-sdi-libraries-linklib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-sdi-libraries-linklib_DXXFLAGS)) + test-sdi-libraries-linklib_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-sdi-libraries-linklib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-sdi-libraries-linklib_CXXCMD) $(test-sdi-libraries-linklib_CXXIQUOTE) $(dir $(2)) $(test-sdi-libraries-linklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_CXXIQUOTE) . $(test-sdi-libraries-linklib_CXXIQUOTE_END) $(strip $(test-sdi-libraries-linklib_CXXFLAGS) $(test-sdi-libraries-linklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-sdi-libraries-linklib_CXXCMD) $(test-sdi-libraries-linklib_CXXIQUOTE) $(dir $(2)) $(test-sdi-libraries-linklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_CXXIQUOTE) . $(test-sdi-libraries-linklib_CXXIQUOTE_END) $(strip $(test-sdi-libraries-linklib_CXXFLAGS) $(test-sdi-libraries-linklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-sdi-libraries-linklib_CXXCMD) $(test-sdi-libraries-linklib_CXXIQUOTE) $(dir $(2)) $(test-sdi-libraries-linklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_CXXIQUOTE) . $(test-sdi-libraries-linklib_CXXIQUOTE_END) $(strip $(test-sdi-libraries-linklib_CXXFLAGS) $(test-sdi-libraries-linklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-sdi-libraries-linklib_CXXCMD)" $(MKDEPEND) $(strip $(test-sdi-libraries-linklib_DXXFLAGS) $(test-sdi-libraries-linklib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-sdi-libraries-linklib_OBJDIR),) + $(foreach test-sdi-libraries-linklib_CXXFILE,$(test-sdi-libraries-linklib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-sdi-libraries-linklib_CXXFILE))),$(test-sdi-libraries-linklib_CXXFILE)))) +else + $(foreach test-sdi-libraries-linklib_CXXFILE,$(test-sdi-libraries-linklib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(notdir $(basename $(test-sdi-libraries-linklib_CXXFILE)))),$(test-sdi-libraries-linklib_CXXFILE)))) +endif + +endif + + +ifneq ($(test-sdi-libraries-linklib_OBJC_FILES),) + +ifeq (,) +test-sdi-libraries-linklib_MOBJC_SRCWILDCARD := % +else +test-sdi-libraries-linklib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-sdi-libraries-linklib_OBJDIR),) + test-sdi-libraries-linklib_MOBJC_TARGETS := $(addsuffix .o,$(test-sdi-libraries-linklib_OBJC_FILES)) + test-sdi-libraries-linklib_MOBJC_DTARGETS := $(addsuffix .d,$(test-sdi-libraries-linklib_OBJC_FILES)) + test-sdi-libraries-linklib_MOBJC_WILDCARD := % +else + test-sdi-libraries-linklib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(test-sdi-libraries-linklib_OBJC_FILES))) + test-sdi-libraries-linklib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(test-sdi-libraries-linklib_OBJC_FILES))) + test-sdi-libraries-linklib_MOBJC_WILDCARD := $(test-sdi-libraries-linklib_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-sdi-libraries-linklib_OBJC_FILES)) + + # Be sure that all .m files are found + test-sdi-libraries-linklib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-sdi-libraries-linklib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-libraries-linklib_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + test-sdi-libraries-linklib_MOBJC_DIRS := $(foreach dir, $(test-sdi-libraries-linklib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-libraries-linklib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-sdi-libraries-linklib_MOBJC_DIRS),) + test-sdi-libraries-linklib_MOBJC_DIRS := $(shell echo $(test-sdi-libraries-linklib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-sdi-libraries-linklib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-sdi-libraries-linklib_CC := $(TARGET_CC) +else + test-sdi-libraries-linklib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-sdi-libraries-linklib_MOBJC_CPPFLAGS := $(test-sdi-libraries-linklib_CPPFLAGS) +test-sdi-libraries-linklib_OBJCFLAGS := $(test-sdi-libraries-linklib_CFLAGS) +test-sdi-libraries-linklib_OBJCFLAGS := $(test-sdi-libraries-linklib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-sdi-libraries-linklib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-sdi-libraries-linklib_OBJCFLAGS))) +ifeq ($(test-sdi-libraries-linklib_DFLAGS),) + test-sdi-libraries-linklib_OBJCDFLAGS := $(test-sdi-libraries-linklib_CFLAGS) +else + test-sdi-libraries-linklib_OBJCDFLAGS := $(test-sdi-libraries-linklib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-sdi-libraries-linklib_LINK ?= $(strip $(test-sdi-libraries-linklib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-sdi-libraries-linklib_STRIP ?= $(TARGET_STRIP) + test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : CMD:=$(strip $(test-sdi-libraries-linklib_CC) $(TARGET_SYSROOT)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_MOBJC_CPPFLAGS:=$(strip $(test-sdi-libraries-linklib_MOBJC_CPPFLAGS) $(test-sdi-libraries-linklib_MOBJC_EXTRA_CPPFLAGS)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_OBJCFLAGS:=$(strip $(test-sdi-libraries-linklib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_OBJCDFLAGS:=$(test-sdi-libraries-linklib_OBJCDFLAGS) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-sdi-libraries-linklib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-sdi-libraries-linklib_STRIP ?= $(HOST_STRIP) + test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-sdi-libraries-linklib_MOBJC_CPPFLAGS) $(test-sdi-libraries-linklib_MOBJC_EXTRA_CPPFLAGS)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-linklib_OBJCFLAGS)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-linklib_OBJCDFLAGS)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE:=$(HOST_IQUOTE) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-sdi-libraries-linklib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-sdi-libraries-linklib_STRIP ?= $(ECHO) >/dev/null + test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-sdi-libraries-linklib_MOBJC_CPPFLAGS) $(test-sdi-libraries-linklib_MOBJC_EXTRA_CPPFLAGS)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-linklib_OBJCFLAGS)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-linklib_OBJCDFLAGS)) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE:=$(KERNEL_IQUOTE) + $(test-sdi-libraries-linklib_MOBJC_TARGETS) $(test-sdi-libraries-linklib_MOBJC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-sdi-libraries-linklib_MOBJC_TARGETS) : CPPFLAGS := $(test-sdi-libraries-linklib_MOBJC_CPPFLAGS) +$(test-sdi-libraries-linklib_MOBJC_TARGETS) : CFLAGS := $(test-sdi-libraries-linklib_OBJCFLAGS) +$(test-sdi-libraries-linklib_MOBJC_TARGETS) : $(test-sdi-libraries-linklib_MOBJC_WILDCARD).o : $(test-sdi-libraries-linklib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-sdi-libraries-linklib_IQUOTE) $(dir $<) $(test-sdi-libraries-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_IQUOTE) . $(test-sdi-libraries-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-sdi-libraries-linklib_IQUOTE) $(dir $<) $(test-sdi-libraries-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_IQUOTE) . $(test-sdi-libraries-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-sdi-libraries-linklib_IQUOTE) $(dir $<) $(test-sdi-libraries-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_IQUOTE) . $(test-sdi-libraries-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-sdi-libraries-linklib_MOBJC_DTARGETS) : $(test-sdi-libraries-linklib_MOBJC_WILDCARD).d : $(test-sdi-libraries-linklib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-sdi-libraries-linklib_OBJCDFLAGS) $(test-sdi-libraries-linklib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-sdi-libraries-linklib_MC_SRCWILDCARD := % +else +test-sdi-libraries-linklib_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-sdi-libraries-linklib_OBJDIR),) +test-sdi-libraries-linklib_MC_TARGETS := $(addsuffix .o,$(test-sdi-libraries-linklib_C_FILES)) +test-sdi-libraries-linklib_MC_DTARGETS := $(addsuffix .d,$(test-sdi-libraries-linklib_C_FILES)) +test-sdi-libraries-linklib_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-sdi-libraries-linklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(notdir $(test-sdi-libraries-linklib_C_FILES)))) + test-sdi-libraries-linklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(notdir $(test-sdi-libraries-linklib_C_FILES)))) +else +ifeq (,) + test-sdi-libraries-linklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(test-sdi-libraries-linklib_C_FILES))) + test-sdi-libraries-linklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(test-sdi-libraries-linklib_C_FILES))) +else + test-sdi-libraries-linklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(patsubst /%,%,$(test-sdi-libraries-linklib_C_FILES)))) + test-sdi-libraries-linklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(patsubst /%,%,$(test-sdi-libraries-linklib_C_FILES)))) +endif +endif +test-sdi-libraries-linklib_MC_TGTWILDCARD := $(test-sdi-libraries-linklib_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : | $(addsuffix .c,$(test-sdi-libraries-linklib_C_FILES)) + +# Be sure that all .c files are found +test-sdi-libraries-linklib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-sdi-libraries-linklib_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-libraries-linklib_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-sdi-libraries-linklib_MC_DIRS := $(foreach dir, $(test-sdi-libraries-linklib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-libraries-linklib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-sdi-libraries-linklib_MC_DIRS),) + test-sdi-libraries-linklib_MC_DIRS := $(shell echo $(test-sdi-libraries-linklib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-sdi-libraries-linklib_MC_DIRS) +endif + +endif + +test-sdi-libraries-linklib_MC_CPPFLAGS := $(test-sdi-libraries-linklib_CPPFLAGS) +test-sdi-libraries-linklib_CFLAGS := $(test-sdi-libraries-linklib_CFLAGS) +ifeq ($(test-sdi-libraries-linklib_DFLAGS),) + test-sdi-libraries-linklib_DFLAGS := $(test-sdi-libraries-linklib_CFLAGS) +else + test-sdi-libraries-linklib_DFLAGS := $(test-sdi-libraries-linklib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-sdi-libraries-linklib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-sdi-libraries-linklib_STRIP ?= $(TARGET_STRIP) +test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_MC_CPPFLAGS:=$(strip $(test-sdi-libraries-linklib_MC_CPPFLAGS) $(test-sdi-libraries-linklib_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_CFLAGS:=$(strip $(test-sdi-libraries-linklib_CFLAGS) $(SAFETY_CFLAGS)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_DFLAGS:=$(test-sdi-libraries-linklib_DFLAGS) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-sdi-libraries-linklib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-sdi-libraries-linklib_STRIP ?= $(HOST_STRIP) +test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-sdi-libraries-linklib_MC_CPPFLAGS) $(test-sdi-libraries-linklib_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-linklib_CFLAGS)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-linklib_DFLAGS)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE:=$(HOST_IQUOTE) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-sdi-libraries-linklib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-sdi-libraries-linklib_STRIP ?= $(ECHO) >/dev/null +test-sdi-libraries-linklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-sdi-libraries-linklib_MC_CPPFLAGS) $(test-sdi-libraries-linklib_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-linklib_CFLAGS)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-linklib_DFLAGS)) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE:=$(KERNEL_IQUOTE) +$(test-sdi-libraries-linklib_MC_TARGETS) $(test-sdi-libraries-linklib_MC_DTARGETS) : test-sdi-libraries-linklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-sdi-libraries-linklib_MC_TARGETS) : CPPFLAGS := $(test-sdi-libraries-linklib_MC_CPPFLAGS) +$(test-sdi-libraries-linklib_MC_TARGETS) : CFLAGS := $(test-sdi-libraries-linklib_CFLAGS) +$(test-sdi-libraries-linklib_MC_TARGETS) : $(test-sdi-libraries-linklib_MC_TGTWILDCARD).o : $(test-sdi-libraries-linklib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-sdi-libraries-linklib_IQUOTE) $(dir $<) $(test-sdi-libraries-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_IQUOTE) . $(test-sdi-libraries-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-sdi-libraries-linklib_IQUOTE) $(dir $<) $(test-sdi-libraries-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_IQUOTE) . $(test-sdi-libraries-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-sdi-libraries-linklib_IQUOTE) $(dir $<) $(test-sdi-libraries-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-linklib_IQUOTE) . $(test-sdi-libraries-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-sdi-libraries-linklib_MC_DTARGETS) : $(test-sdi-libraries-linklib_MC_TGTWILDCARD).d : $(test-sdi-libraries-linklib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-sdi-libraries-linklib_DFLAGS) $(test-sdi-libraries-linklib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-sdi-libraries-linklib_OBJDIR),) +test-sdi-libraries-linklib-MA_TARGETS := $(addsuffix .o,$(test-sdi-libraries-linklib_ASMFILES)) +test-sdi-libraries-linklib-MA_WILDCARD := % +else +test-sdi-libraries-linklib-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-linklib_OBJDIR)/,$(notdir $(test-sdi-libraries-linklib_ASMFILES)))) +test-sdi-libraries-linklib-MA_WILDCARD := $(test-sdi-libraries-linklib_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-sdi-libraries-linklib-MA_TARGETS) : | $(addsuffix .s,$(test-sdi-libraries-linklib_ASMFILES)) + +# Be sure that all .c files are found +test-sdi-libraries-linklib-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-sdi-libraries-linklib-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-libraries-linklib_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-sdi-libraries-linklib-MA_DIRS := $(foreach dir, $(test-sdi-libraries-linklib-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-libraries-linklib-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-sdi-libraries-linklib-MA_DIRS),) + test-sdi-libraries-linklib-MA_DIRS := $(shell echo $(test-sdi-libraries-linklib-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-sdi-libraries-linklib-MA_DIRS) +endif + +endif + +test-sdi-libraries-linklib-MA_ASSEMBLER ?= $(test-sdi-libraries-linklib_ASSEMBLER) + +$(test-sdi-libraries-linklib-MA_TARGETS) : test-sdi-libraries-linklib-MA_CMD:= $(test-sdi-libraries-linklib-MA_ASSEMBLER) + +$(test-sdi-libraries-linklib-MA_TARGETS) : CPPFLAGS := $(test-sdi-libraries-linklib_CPPFLAGS) +$(test-sdi-libraries-linklib-MA_TARGETS) : AFLAGS := $(test-sdi-libraries-linklib_AFLAGS) +$(test-sdi-libraries-linklib-MA_TARGETS) : $(test-sdi-libraries-linklib-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-sdi-libraries-linklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-sdi-libraries-linklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-sdi-libraries-linklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(EXEDIR)/libexample.a : test-sdi-libraries-linklib_AR:=$(AR) +$(EXEDIR)/libexample.a : test-sdi-libraries-linklib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(EXEDIR)/libexample.a : test-sdi-libraries-linklib_AR:=$(HOST_AR) +$(EXEDIR)/libexample.a : test-sdi-libraries-linklib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(EXEDIR)/libexample.a : test-sdi-libraries-linklib_AR:=$(KERNEL_AR) +$(EXEDIR)/libexample.a : test-sdi-libraries-linklib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(EXEDIR)/libexample.a : $(test-sdi-libraries-linklib_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(test-sdi-libraries-linklib_AR) $@ $^ + $(Q)$(test-sdi-libraries-linklib_RANLIB) $@ +endif + +ifneq ($(test-sdi-libraries-linklib_DEPS),) + ifneq (test-sdi-libraries-linklib test-sdi-libraries-linklib-quick,) + ifneq ($(findstring $(TARGET),test-sdi-libraries-linklib test-sdi-libraries-linklib-quick),) + -include $(test-sdi-libraries-linklib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-sdi-libraries-linklib_DEPS) + endif + endif +endif + + + +ifneq ($(test-sdi-libraries-linklib_OBJS) $(test-sdi-libraries-linklib_DEPS) $(test-sdi-libraries-linklib_LINKLIB),) +$(test-sdi-libraries-linklib_OBJS) $(test-sdi-libraries-linklib_DEPS) $(test-sdi-libraries-linklib_LINKLIB) : | $(test-sdi-libraries-linklib_OBJDIR) $(EXEDIR) +else +$(test-sdi-libraries-linklib_OBJS) $(test-sdi-libraries-linklib_DEPS) $(test-sdi-libraries-linklib_LINKLIB) :: $(test-sdi-libraries-linklib_OBJDIR) $(EXEDIR) +endif + +GLOB_MKDIRS += $(test-sdi-libraries-linklib_OBJDIR) $(EXEDIR) + + +test-sdi-libraries-linklib-clean : FILES := $(test-sdi-libraries-linklib_OBJS) $(test-sdi-libraries-linklib_LINKLIB) $(test-sdi-libraries-linklib_DEPS) +#MM +test-sdi-libraries-linklib-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-sdi-libraries-linklib" + $(Q)$(RM) $(FILES) + + + +FILES := example_libtest +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/include +USER_CFLAGS := +USER_LDFLAGS := -L$(EXEDIR) + + +.PHONY : test-sdi-libraries-test + +test-sdi-libraries-test_OBJDIR := $(GENDIR)/$(CURDIR) +test-sdi-libraries-test_TARGETDIR := $(EXEDIR) +test-sdi-libraries-test_LIBS := example + +test-sdi-libraries-test_FILES := $(FILES) +test-sdi-libraries-test_OBJS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-test_OBJDIR)/,$(test-sdi-libraries-test_FILES))) +test-sdi-libraries-test_DEPS := $(addsuffix .d,$(addprefix $(test-sdi-libraries-test_OBJDIR)/,$(test-sdi-libraries-test_FILES))) +test-sdi-libraries-test_EXES := $(addprefix $(test-sdi-libraries-test_TARGETDIR)/,$(test-sdi-libraries-test_FILES)) + +test-sdi-libraries-test_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-sdi-libraries-test_CPPFLAGS += -I +endif +test-sdi-libraries-test_CFLAGS := $(CFLAGS) +test-sdi-libraries-test_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-sdi-libraries-test_COVERAGE := yes +test-sdi-libraries-test_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-sdi-libraries-test_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-sdi-libraries-test_CFLAGS := $(strip $(test-sdi-libraries-test_COVERAGEFLAGS) $(test-sdi-libraries-test_CFLAGS)) +test-sdi-libraries-test_LIBS += $(test-sdi-libraries-test_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-sdi-libraries-test_FUNCINSTR := yes +test-sdi-libraries-test_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-sdi-libraries-test_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-sdi-libraries-test_CFLAGS := $(strip $(test-sdi-libraries-test_INSTRFUNCFLAGS) $(test-sdi-libraries-test_CFLAGS)) +test-sdi-libraries-test_LIBS += $(test-sdi-libraries-test_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-sdi-libraries-test_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-sdi-libraries-test_CFLAGS)) +endif +endif +ifneq (,) + test-sdi-libraries-test_DFLAGS := +else + test-sdi-libraries-test_DFLAGS := $(test-sdi-libraries-test_CFLAGS) +endif +ifeq (target,target) +test-sdi-libraries-test_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-sdi-libraries-test_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-sdi-libraries-test_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-sdi-libraries-test_LDFLAGS += -L +endif + +#MM +test-sdi-libraries-test-quick : test-sdi-libraries-test + +#MM test-sdi-libraries-test : includes-generate-deps core-linklibs +test-sdi-libraries-test : $(test-sdi-libraries-test_EXES) + +ifneq ($(filter $(TARGET),test-sdi-libraries-test test-sdi-libraries-test-quick),) + +ifeq (,) +test-sdi-libraries-test_MC_SRCWILDCARD := % +else +test-sdi-libraries-test_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-sdi-libraries-test_OBJDIR),) +test-sdi-libraries-test_MC_TARGETS := $(addsuffix .o,$(test-sdi-libraries-test_FILES)) +test-sdi-libraries-test_MC_DTARGETS := $(addsuffix .d,$(test-sdi-libraries-test_FILES)) +test-sdi-libraries-test_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-sdi-libraries-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-test_OBJDIR)/,$(notdir $(test-sdi-libraries-test_FILES)))) + test-sdi-libraries-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-libraries-test_OBJDIR)/,$(notdir $(test-sdi-libraries-test_FILES)))) +else +ifeq (,) + test-sdi-libraries-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-test_OBJDIR)/,$(test-sdi-libraries-test_FILES))) + test-sdi-libraries-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-libraries-test_OBJDIR)/,$(test-sdi-libraries-test_FILES))) +else + test-sdi-libraries-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-libraries-test_OBJDIR)/,$(patsubst /%,%,$(test-sdi-libraries-test_FILES)))) + test-sdi-libraries-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-libraries-test_OBJDIR)/,$(patsubst /%,%,$(test-sdi-libraries-test_FILES)))) +endif +endif +test-sdi-libraries-test_MC_TGTWILDCARD := $(test-sdi-libraries-test_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : | $(addsuffix .c,$(test-sdi-libraries-test_FILES)) + +# Be sure that all .c files are found +test-sdi-libraries-test_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-sdi-libraries-test_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-libraries-test_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-sdi-libraries-test_MC_DIRS := $(foreach dir, $(test-sdi-libraries-test_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-libraries-test_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-sdi-libraries-test_MC_DIRS),) + test-sdi-libraries-test_MC_DIRS := $(shell echo $(test-sdi-libraries-test_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-sdi-libraries-test_MC_DIRS) +endif + +endif + +test-sdi-libraries-test_MC_CPPFLAGS := $(test-sdi-libraries-test_CPPFLAGS) +test-sdi-libraries-test_CFLAGS := $(test-sdi-libraries-test_CFLAGS) +ifeq ($(test-sdi-libraries-test_DFLAGS),) + test-sdi-libraries-test_DFLAGS := $(test-sdi-libraries-test_CFLAGS) +else + test-sdi-libraries-test_DFLAGS := $(test-sdi-libraries-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-sdi-libraries-test_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-sdi-libraries-test_STRIP ?= $(TARGET_STRIP) +test-sdi-libraries-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_MC_CPPFLAGS:=$(strip $(test-sdi-libraries-test_MC_CPPFLAGS) $(test-sdi-libraries-test_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_CFLAGS:=$(strip $(test-sdi-libraries-test_CFLAGS) $(SAFETY_CFLAGS)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_DFLAGS:=$(test-sdi-libraries-test_DFLAGS) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-sdi-libraries-test_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-sdi-libraries-test_STRIP ?= $(HOST_STRIP) +test-sdi-libraries-test_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-sdi-libraries-test_MC_CPPFLAGS) $(test-sdi-libraries-test_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-test_CFLAGS)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-libraries-test_DFLAGS)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_IQUOTE:=$(HOST_IQUOTE) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-sdi-libraries-test_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-sdi-libraries-test_STRIP ?= $(ECHO) >/dev/null +test-sdi-libraries-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-sdi-libraries-test_MC_CPPFLAGS) $(test-sdi-libraries-test_MC_EXTRA_CPPFLAGS)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-test_CFLAGS)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-libraries-test_DFLAGS)) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_IQUOTE:=$(KERNEL_IQUOTE) +$(test-sdi-libraries-test_MC_TARGETS) $(test-sdi-libraries-test_MC_DTARGETS) : test-sdi-libraries-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-sdi-libraries-test_MC_TARGETS) : CPPFLAGS := $(test-sdi-libraries-test_MC_CPPFLAGS) +$(test-sdi-libraries-test_MC_TARGETS) : CFLAGS := $(test-sdi-libraries-test_CFLAGS) +$(test-sdi-libraries-test_MC_TARGETS) : $(test-sdi-libraries-test_MC_TGTWILDCARD).o : $(test-sdi-libraries-test_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-sdi-libraries-test_IQUOTE) $(dir $<) $(test-sdi-libraries-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-test_IQUOTE) . $(test-sdi-libraries-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-sdi-libraries-test_IQUOTE) $(dir $<) $(test-sdi-libraries-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-test_IQUOTE) . $(test-sdi-libraries-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-sdi-libraries-test_IQUOTE) $(dir $<) $(test-sdi-libraries-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-libraries-test_IQUOTE) . $(test-sdi-libraries-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-sdi-libraries-test_MC_DTARGETS) : $(test-sdi-libraries-test_MC_TGTWILDCARD).d : $(test-sdi-libraries-test_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-sdi-libraries-test_DFLAGS) $(test-sdi-libraries-test_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-sdi-libraries-test-link_EXTRA_LDFLAGS := +test-sdi-libraries-test-link_EXTRA_LIBS := +ifeq (no,yes) + test-sdi-libraries-test-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-sdi-libraries-test-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-sdi-libraries-test-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-sdi-libraries-test-link_DIRS := $(subst -L ,-L,$(strip $(test-sdi-libraries-test_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-sdi-libraries-test-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-sdi-libraries-test-link_DIRS))) +# Add trailing / +test-sdi-libraries-test-link_DIRS := $(subst //,/,$(addsuffix /,$(test-sdi-libraries-test-link_DIRS))) +# Add normal linklib path +test-sdi-libraries-test-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-sdi-libraries-test-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-sdi-libraries-test_LIBS) $(test-sdi-libraries-test-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-sdi-libraries-test-link_DEPLIBS := $(foreach lib,$(test-sdi-libraries-test-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-sdi-libraries-test-link_DIRS)))) \ +) +test-sdi-libraries-test-link_PROGS := $(addprefix $(test-sdi-libraries-test_TARGETDIR)/,$(test-sdi-libraries-test_FILES)) + +$(test-sdi-libraries-test-link_PROGS) : OBJDIR := $(test-sdi-libraries-test_OBJDIR) +$(test-sdi-libraries-test-link_PROGS) : LDFLAGS := $(strip $(test-sdi-libraries-test_LDFLAGS) $(test-sdi-libraries-test-link_EXTRA_LDFLAGS)) +$(test-sdi-libraries-test-link_PROGS) : LIBS := $(addprefix -l,$(test-sdi-libraries-test_LIBS) $(test-sdi-libraries-test-link_EXTRA_LIBS) ) +$(test-sdi-libraries-test-link_PROGS) : $(test-sdi-libraries-test_TARGETDIR)/% : $(test-sdi-libraries-test_OBJDIR)/%.o $(test-sdi-libraries-test-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-sdi-libraries-test_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-sdi-libraries-test_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-sdi-libraries-test_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-sdi-libraries-test_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-sdi-libraries-test_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-sdi-libraries-test_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-sdi-libraries-test_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-sdi-libraries-test_DEPS),) + ifneq (test-sdi-libraries-test test-sdi-libraries-test-quick,) + ifneq ($(findstring $(TARGET),test-sdi-libraries-test test-sdi-libraries-test-quick),) + -include $(test-sdi-libraries-test_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-sdi-libraries-test_DEPS) + endif + endif +endif + + +ifneq ($(test-sdi-libraries-test_DEPS) $(test-sdi-libraries-test_OBJS) $(addprefix $(test-sdi-libraries-test_TARGETDIR)/,$(test-sdi-libraries-test_FILES)),) +$(test-sdi-libraries-test_DEPS) $(test-sdi-libraries-test_OBJS) $(addprefix $(test-sdi-libraries-test_TARGETDIR)/,$(test-sdi-libraries-test_FILES)) : | $(test-sdi-libraries-test_TARGETDIR) $(test-sdi-libraries-test_OBJDIR) +else +$(test-sdi-libraries-test_DEPS) $(test-sdi-libraries-test_OBJS) $(addprefix $(test-sdi-libraries-test_TARGETDIR)/,$(test-sdi-libraries-test_FILES)) :: $(test-sdi-libraries-test_TARGETDIR) $(test-sdi-libraries-test_OBJDIR) +endif + +GLOB_MKDIRS += $(test-sdi-libraries-test_TARGETDIR) $(test-sdi-libraries-test_OBJDIR) + + +test-sdi-libraries-test-clean : FILES := $(test-sdi-libraries-test_OBJS) $(test-sdi-libraries-test_EXES) $(test-sdi-libraries-test_DEPS) +#MM +test-sdi-libraries-test-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-sdi-libraries-test" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/sdi/examples/misc/mmakefile b/developer/debug/test/sdi/examples/misc/mmakefile new file mode 100644 index 00000000000..ab666d98e75 --- /dev/null +++ b/developer/debug/test/sdi/examples/misc/mmakefile @@ -0,0 +1,297 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := example_miscuse +EXEDIR := $(AROS_TESTS)/sdi +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/../.. +#USER_CFLAGS := -D__UTILITY_STDLIBBASE__ + +#MM- test : test-sdi-misc +#MM- test-quick : test-sdi-misc-quick + +#MM test-sdi-misc : includes linklibs + + +.PHONY : test-sdi-misc + +test-sdi-misc_OBJDIR := $(GENDIR)/$(CURDIR) +test-sdi-misc_TARGETDIR := $(EXEDIR) +test-sdi-misc_LIBS := + +test-sdi-misc_FILES := $(FILES) +test-sdi-misc_OBJS := $(addsuffix .o,$(addprefix $(test-sdi-misc_OBJDIR)/,$(test-sdi-misc_FILES))) +test-sdi-misc_DEPS := $(addsuffix .d,$(addprefix $(test-sdi-misc_OBJDIR)/,$(test-sdi-misc_FILES))) +test-sdi-misc_EXES := $(addprefix $(test-sdi-misc_TARGETDIR)/,$(test-sdi-misc_FILES)) + +test-sdi-misc_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-sdi-misc_CPPFLAGS += -I +endif +test-sdi-misc_CFLAGS := $(CFLAGS) +test-sdi-misc_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-sdi-misc_COVERAGE := yes +test-sdi-misc_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-sdi-misc_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-sdi-misc_CFLAGS := $(strip $(test-sdi-misc_COVERAGEFLAGS) $(test-sdi-misc_CFLAGS)) +test-sdi-misc_LIBS += $(test-sdi-misc_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-sdi-misc_FUNCINSTR := yes +test-sdi-misc_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-sdi-misc_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-sdi-misc_CFLAGS := $(strip $(test-sdi-misc_INSTRFUNCFLAGS) $(test-sdi-misc_CFLAGS)) +test-sdi-misc_LIBS += $(test-sdi-misc_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-sdi-misc_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-sdi-misc_CFLAGS)) +endif +endif +ifneq (,) + test-sdi-misc_DFLAGS := +else + test-sdi-misc_DFLAGS := $(test-sdi-misc_CFLAGS) +endif +ifeq (target,target) +test-sdi-misc_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-sdi-misc_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-sdi-misc_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-sdi-misc_LDFLAGS += -L +endif + +#MM +test-sdi-misc-quick : test-sdi-misc + +#MM test-sdi-misc : includes-generate-deps core-linklibs +test-sdi-misc : $(test-sdi-misc_EXES) + +ifneq ($(filter $(TARGET),test-sdi-misc test-sdi-misc-quick),) + +ifeq (,) +test-sdi-misc_MC_SRCWILDCARD := % +else +test-sdi-misc_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-sdi-misc_OBJDIR),) +test-sdi-misc_MC_TARGETS := $(addsuffix .o,$(test-sdi-misc_FILES)) +test-sdi-misc_MC_DTARGETS := $(addsuffix .d,$(test-sdi-misc_FILES)) +test-sdi-misc_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-sdi-misc_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-misc_OBJDIR)/,$(notdir $(test-sdi-misc_FILES)))) + test-sdi-misc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-misc_OBJDIR)/,$(notdir $(test-sdi-misc_FILES)))) +else +ifeq (,) + test-sdi-misc_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-misc_OBJDIR)/,$(test-sdi-misc_FILES))) + test-sdi-misc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-misc_OBJDIR)/,$(test-sdi-misc_FILES))) +else + test-sdi-misc_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-misc_OBJDIR)/,$(patsubst /%,%,$(test-sdi-misc_FILES)))) + test-sdi-misc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-misc_OBJDIR)/,$(patsubst /%,%,$(test-sdi-misc_FILES)))) +endif +endif +test-sdi-misc_MC_TGTWILDCARD := $(test-sdi-misc_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : | $(addsuffix .c,$(test-sdi-misc_FILES)) + +# Be sure that all .c files are found +test-sdi-misc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-sdi-misc_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-misc_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-sdi-misc_MC_DIRS := $(foreach dir, $(test-sdi-misc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-misc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-sdi-misc_MC_DIRS),) + test-sdi-misc_MC_DIRS := $(shell echo $(test-sdi-misc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-sdi-misc_MC_DIRS) +endif + +endif + +test-sdi-misc_MC_CPPFLAGS := $(test-sdi-misc_CPPFLAGS) +test-sdi-misc_CFLAGS := $(test-sdi-misc_CFLAGS) +ifeq ($(test-sdi-misc_DFLAGS),) + test-sdi-misc_DFLAGS := $(test-sdi-misc_CFLAGS) +else + test-sdi-misc_DFLAGS := $(test-sdi-misc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-sdi-misc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-sdi-misc_STRIP ?= $(TARGET_STRIP) +test-sdi-misc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_MC_CPPFLAGS:=$(strip $(test-sdi-misc_MC_CPPFLAGS) $(test-sdi-misc_MC_EXTRA_CPPFLAGS)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_CFLAGS:=$(strip $(test-sdi-misc_CFLAGS) $(SAFETY_CFLAGS)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_DFLAGS:=$(test-sdi-misc_DFLAGS) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-sdi-misc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-sdi-misc_STRIP ?= $(HOST_STRIP) +test-sdi-misc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-sdi-misc_MC_CPPFLAGS) $(test-sdi-misc_MC_EXTRA_CPPFLAGS)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-misc_CFLAGS)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-misc_DFLAGS)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_IQUOTE:=$(HOST_IQUOTE) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-sdi-misc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-sdi-misc_STRIP ?= $(ECHO) >/dev/null +test-sdi-misc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-sdi-misc_MC_CPPFLAGS) $(test-sdi-misc_MC_EXTRA_CPPFLAGS)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-misc_CFLAGS)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-misc_DFLAGS)) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_IQUOTE:=$(KERNEL_IQUOTE) +$(test-sdi-misc_MC_TARGETS) $(test-sdi-misc_MC_DTARGETS) : test-sdi-misc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-sdi-misc_MC_TARGETS) : CPPFLAGS := $(test-sdi-misc_MC_CPPFLAGS) +$(test-sdi-misc_MC_TARGETS) : CFLAGS := $(test-sdi-misc_CFLAGS) +$(test-sdi-misc_MC_TARGETS) : $(test-sdi-misc_MC_TGTWILDCARD).o : $(test-sdi-misc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-sdi-misc_IQUOTE) $(dir $<) $(test-sdi-misc_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-misc_IQUOTE) . $(test-sdi-misc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-sdi-misc_IQUOTE) $(dir $<) $(test-sdi-misc_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-misc_IQUOTE) . $(test-sdi-misc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-sdi-misc_IQUOTE) $(dir $<) $(test-sdi-misc_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-misc_IQUOTE) . $(test-sdi-misc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-sdi-misc_MC_DTARGETS) : $(test-sdi-misc_MC_TGTWILDCARD).d : $(test-sdi-misc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-sdi-misc_DFLAGS) $(test-sdi-misc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-sdi-misc-link_EXTRA_LDFLAGS := +test-sdi-misc-link_EXTRA_LIBS := +ifeq (no,yes) + test-sdi-misc-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-sdi-misc-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-sdi-misc-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-sdi-misc-link_DIRS := $(subst -L ,-L,$(strip $(test-sdi-misc_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-sdi-misc-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-sdi-misc-link_DIRS))) +# Add trailing / +test-sdi-misc-link_DIRS := $(subst //,/,$(addsuffix /,$(test-sdi-misc-link_DIRS))) +# Add normal linklib path +test-sdi-misc-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-sdi-misc-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-sdi-misc_LIBS) $(test-sdi-misc-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-sdi-misc-link_DEPLIBS := $(foreach lib,$(test-sdi-misc-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-sdi-misc-link_DIRS)))) \ +) +test-sdi-misc-link_PROGS := $(addprefix $(test-sdi-misc_TARGETDIR)/,$(test-sdi-misc_FILES)) + +$(test-sdi-misc-link_PROGS) : OBJDIR := $(test-sdi-misc_OBJDIR) +$(test-sdi-misc-link_PROGS) : LDFLAGS := $(strip $(test-sdi-misc_LDFLAGS) $(test-sdi-misc-link_EXTRA_LDFLAGS)) +$(test-sdi-misc-link_PROGS) : LIBS := $(addprefix -l,$(test-sdi-misc_LIBS) $(test-sdi-misc-link_EXTRA_LIBS) ) +$(test-sdi-misc-link_PROGS) : $(test-sdi-misc_TARGETDIR)/% : $(test-sdi-misc_OBJDIR)/%.o $(test-sdi-misc-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-sdi-misc_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-sdi-misc_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-sdi-misc_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-sdi-misc_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-sdi-misc_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-sdi-misc_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-sdi-misc_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-sdi-misc_DEPS),) + ifneq (test-sdi-misc test-sdi-misc-quick,) + ifneq ($(findstring $(TARGET),test-sdi-misc test-sdi-misc-quick),) + -include $(test-sdi-misc_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-sdi-misc_DEPS) + endif + endif +endif + + +ifneq ($(test-sdi-misc_DEPS) $(test-sdi-misc_OBJS) $(addprefix $(test-sdi-misc_TARGETDIR)/,$(test-sdi-misc_FILES)),) +$(test-sdi-misc_DEPS) $(test-sdi-misc_OBJS) $(addprefix $(test-sdi-misc_TARGETDIR)/,$(test-sdi-misc_FILES)) : | $(test-sdi-misc_TARGETDIR) $(test-sdi-misc_OBJDIR) +else +$(test-sdi-misc_DEPS) $(test-sdi-misc_OBJS) $(addprefix $(test-sdi-misc_TARGETDIR)/,$(test-sdi-misc_FILES)) :: $(test-sdi-misc_TARGETDIR) $(test-sdi-misc_OBJDIR) +endif + +GLOB_MKDIRS += $(test-sdi-misc_TARGETDIR) $(test-sdi-misc_OBJDIR) + + +test-sdi-misc-clean : FILES := $(test-sdi-misc_OBJS) $(test-sdi-misc_EXES) $(test-sdi-misc_DEPS) +#MM +test-sdi-misc-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-sdi-misc" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/sdi/examples/varargs/mmakefile b/developer/debug/test/sdi/examples/varargs/mmakefile new file mode 100644 index 00000000000..1166a7e579f --- /dev/null +++ b/developer/debug/test/sdi/examples/varargs/mmakefile @@ -0,0 +1,304 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := example_varargs +EXEDIR := $(AROS_TESTS)/sdi +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/../.. +#USER_CFLAGS := -D__UTILITY_STDLIBBASE__ + +#MM- test : test-sdi-varargs-$(CPU) +#MM- test-quick : test-sdi-varargs-$(CPU)-quick + +#MM- test-sdi-varargs-i386 : test-sdi-varargs-prog +#MM- test-sdi-varargs-i386-quick : test-sdi-varargs-prog-quick +#MM- test-sdi-varargs-x86_64 : test-sdi-varargs-prog +#MM- test-sdi-varargs-x86_64 : test-sdi-varargs-prog-quick +#MM- test-sdi-varargs-m68k : test-sdi-varargs-prog +#MM- test-sdi-varargs-m68k-quick : test-sdi-varargs-prog-quick + +#MM test-sdi-varargs-prog : includes linklibs + + +.PHONY : test-sdi-varargs-prog + +test-sdi-varargs-prog_OBJDIR := $(GENDIR)/$(CURDIR) +test-sdi-varargs-prog_TARGETDIR := $(EXEDIR) +test-sdi-varargs-prog_LIBS := + +test-sdi-varargs-prog_FILES := $(FILES) +test-sdi-varargs-prog_OBJS := $(addsuffix .o,$(addprefix $(test-sdi-varargs-prog_OBJDIR)/,$(test-sdi-varargs-prog_FILES))) +test-sdi-varargs-prog_DEPS := $(addsuffix .d,$(addprefix $(test-sdi-varargs-prog_OBJDIR)/,$(test-sdi-varargs-prog_FILES))) +test-sdi-varargs-prog_EXES := $(addprefix $(test-sdi-varargs-prog_TARGETDIR)/,$(test-sdi-varargs-prog_FILES)) + +test-sdi-varargs-prog_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-sdi-varargs-prog_CPPFLAGS += -I +endif +test-sdi-varargs-prog_CFLAGS := $(CFLAGS) +test-sdi-varargs-prog_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-sdi-varargs-prog_COVERAGE := yes +test-sdi-varargs-prog_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-sdi-varargs-prog_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-sdi-varargs-prog_CFLAGS := $(strip $(test-sdi-varargs-prog_COVERAGEFLAGS) $(test-sdi-varargs-prog_CFLAGS)) +test-sdi-varargs-prog_LIBS += $(test-sdi-varargs-prog_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-sdi-varargs-prog_FUNCINSTR := yes +test-sdi-varargs-prog_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-sdi-varargs-prog_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-sdi-varargs-prog_CFLAGS := $(strip $(test-sdi-varargs-prog_INSTRFUNCFLAGS) $(test-sdi-varargs-prog_CFLAGS)) +test-sdi-varargs-prog_LIBS += $(test-sdi-varargs-prog_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-sdi-varargs-prog_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-sdi-varargs-prog_CFLAGS)) +endif +endif +ifneq (,) + test-sdi-varargs-prog_DFLAGS := +else + test-sdi-varargs-prog_DFLAGS := $(test-sdi-varargs-prog_CFLAGS) +endif +ifeq (target,target) +test-sdi-varargs-prog_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-sdi-varargs-prog_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-sdi-varargs-prog_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-sdi-varargs-prog_LDFLAGS += -L +endif + +#MM +test-sdi-varargs-prog-quick : test-sdi-varargs-prog + +#MM test-sdi-varargs-prog : includes-generate-deps core-linklibs +test-sdi-varargs-prog : $(test-sdi-varargs-prog_EXES) + +ifneq ($(filter $(TARGET),test-sdi-varargs-prog test-sdi-varargs-prog-quick),) + +ifeq (,) +test-sdi-varargs-prog_MC_SRCWILDCARD := % +else +test-sdi-varargs-prog_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-sdi-varargs-prog_OBJDIR),) +test-sdi-varargs-prog_MC_TARGETS := $(addsuffix .o,$(test-sdi-varargs-prog_FILES)) +test-sdi-varargs-prog_MC_DTARGETS := $(addsuffix .d,$(test-sdi-varargs-prog_FILES)) +test-sdi-varargs-prog_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-sdi-varargs-prog_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-varargs-prog_OBJDIR)/,$(notdir $(test-sdi-varargs-prog_FILES)))) + test-sdi-varargs-prog_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-varargs-prog_OBJDIR)/,$(notdir $(test-sdi-varargs-prog_FILES)))) +else +ifeq (,) + test-sdi-varargs-prog_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-varargs-prog_OBJDIR)/,$(test-sdi-varargs-prog_FILES))) + test-sdi-varargs-prog_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-varargs-prog_OBJDIR)/,$(test-sdi-varargs-prog_FILES))) +else + test-sdi-varargs-prog_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-sdi-varargs-prog_OBJDIR)/,$(patsubst /%,%,$(test-sdi-varargs-prog_FILES)))) + test-sdi-varargs-prog_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-sdi-varargs-prog_OBJDIR)/,$(patsubst /%,%,$(test-sdi-varargs-prog_FILES)))) +endif +endif +test-sdi-varargs-prog_MC_TGTWILDCARD := $(test-sdi-varargs-prog_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : | $(addsuffix .c,$(test-sdi-varargs-prog_FILES)) + +# Be sure that all .c files are found +test-sdi-varargs-prog_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-sdi-varargs-prog_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-sdi-varargs-prog_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-sdi-varargs-prog_MC_DIRS := $(foreach dir, $(test-sdi-varargs-prog_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-sdi-varargs-prog_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-sdi-varargs-prog_MC_DIRS),) + test-sdi-varargs-prog_MC_DIRS := $(shell echo $(test-sdi-varargs-prog_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-sdi-varargs-prog_MC_DIRS) +endif + +endif + +test-sdi-varargs-prog_MC_CPPFLAGS := $(test-sdi-varargs-prog_CPPFLAGS) +test-sdi-varargs-prog_CFLAGS := $(test-sdi-varargs-prog_CFLAGS) +ifeq ($(test-sdi-varargs-prog_DFLAGS),) + test-sdi-varargs-prog_DFLAGS := $(test-sdi-varargs-prog_CFLAGS) +else + test-sdi-varargs-prog_DFLAGS := $(test-sdi-varargs-prog_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-sdi-varargs-prog_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-sdi-varargs-prog_STRIP ?= $(TARGET_STRIP) +test-sdi-varargs-prog_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_MC_CPPFLAGS:=$(strip $(test-sdi-varargs-prog_MC_CPPFLAGS) $(test-sdi-varargs-prog_MC_EXTRA_CPPFLAGS)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_CFLAGS:=$(strip $(test-sdi-varargs-prog_CFLAGS) $(SAFETY_CFLAGS)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_DFLAGS:=$(test-sdi-varargs-prog_DFLAGS) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-sdi-varargs-prog_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-sdi-varargs-prog_STRIP ?= $(HOST_STRIP) +test-sdi-varargs-prog_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-sdi-varargs-prog_MC_CPPFLAGS) $(test-sdi-varargs-prog_MC_EXTRA_CPPFLAGS)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-varargs-prog_CFLAGS)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-sdi-varargs-prog_DFLAGS)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_IQUOTE:=$(HOST_IQUOTE) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-sdi-varargs-prog_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-sdi-varargs-prog_STRIP ?= $(ECHO) >/dev/null +test-sdi-varargs-prog_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-sdi-varargs-prog_MC_CPPFLAGS) $(test-sdi-varargs-prog_MC_EXTRA_CPPFLAGS)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-varargs-prog_CFLAGS)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-sdi-varargs-prog_DFLAGS)) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_IQUOTE:=$(KERNEL_IQUOTE) +$(test-sdi-varargs-prog_MC_TARGETS) $(test-sdi-varargs-prog_MC_DTARGETS) : test-sdi-varargs-prog_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-sdi-varargs-prog_MC_TARGETS) : CPPFLAGS := $(test-sdi-varargs-prog_MC_CPPFLAGS) +$(test-sdi-varargs-prog_MC_TARGETS) : CFLAGS := $(test-sdi-varargs-prog_CFLAGS) +$(test-sdi-varargs-prog_MC_TARGETS) : $(test-sdi-varargs-prog_MC_TGTWILDCARD).o : $(test-sdi-varargs-prog_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-sdi-varargs-prog_IQUOTE) $(dir $<) $(test-sdi-varargs-prog_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-varargs-prog_IQUOTE) . $(test-sdi-varargs-prog_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-sdi-varargs-prog_IQUOTE) $(dir $<) $(test-sdi-varargs-prog_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-varargs-prog_IQUOTE) . $(test-sdi-varargs-prog_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-sdi-varargs-prog_IQUOTE) $(dir $<) $(test-sdi-varargs-prog_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-sdi-varargs-prog_IQUOTE) . $(test-sdi-varargs-prog_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-sdi-varargs-prog_MC_DTARGETS) : $(test-sdi-varargs-prog_MC_TGTWILDCARD).d : $(test-sdi-varargs-prog_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-sdi-varargs-prog_DFLAGS) $(test-sdi-varargs-prog_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-sdi-varargs-prog-link_EXTRA_LDFLAGS := +test-sdi-varargs-prog-link_EXTRA_LIBS := +ifeq (no,yes) + test-sdi-varargs-prog-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-sdi-varargs-prog-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-sdi-varargs-prog-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-sdi-varargs-prog-link_DIRS := $(subst -L ,-L,$(strip $(test-sdi-varargs-prog_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-sdi-varargs-prog-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-sdi-varargs-prog-link_DIRS))) +# Add trailing / +test-sdi-varargs-prog-link_DIRS := $(subst //,/,$(addsuffix /,$(test-sdi-varargs-prog-link_DIRS))) +# Add normal linklib path +test-sdi-varargs-prog-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-sdi-varargs-prog-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-sdi-varargs-prog_LIBS) $(test-sdi-varargs-prog-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-sdi-varargs-prog-link_DEPLIBS := $(foreach lib,$(test-sdi-varargs-prog-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-sdi-varargs-prog-link_DIRS)))) \ +) +test-sdi-varargs-prog-link_PROGS := $(addprefix $(test-sdi-varargs-prog_TARGETDIR)/,$(test-sdi-varargs-prog_FILES)) + +$(test-sdi-varargs-prog-link_PROGS) : OBJDIR := $(test-sdi-varargs-prog_OBJDIR) +$(test-sdi-varargs-prog-link_PROGS) : LDFLAGS := $(strip $(test-sdi-varargs-prog_LDFLAGS) $(test-sdi-varargs-prog-link_EXTRA_LDFLAGS)) +$(test-sdi-varargs-prog-link_PROGS) : LIBS := $(addprefix -l,$(test-sdi-varargs-prog_LIBS) $(test-sdi-varargs-prog-link_EXTRA_LIBS) ) +$(test-sdi-varargs-prog-link_PROGS) : $(test-sdi-varargs-prog_TARGETDIR)/% : $(test-sdi-varargs-prog_OBJDIR)/%.o $(test-sdi-varargs-prog-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-sdi-varargs-prog_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-sdi-varargs-prog_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-sdi-varargs-prog_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-sdi-varargs-prog_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-sdi-varargs-prog_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-sdi-varargs-prog_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-sdi-varargs-prog_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-sdi-varargs-prog_DEPS),) + ifneq (test-sdi-varargs-prog test-sdi-varargs-prog-quick,) + ifneq ($(findstring $(TARGET),test-sdi-varargs-prog test-sdi-varargs-prog-quick),) + -include $(test-sdi-varargs-prog_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-sdi-varargs-prog_DEPS) + endif + endif +endif + + +ifneq ($(test-sdi-varargs-prog_DEPS) $(test-sdi-varargs-prog_OBJS) $(addprefix $(test-sdi-varargs-prog_TARGETDIR)/,$(test-sdi-varargs-prog_FILES)),) +$(test-sdi-varargs-prog_DEPS) $(test-sdi-varargs-prog_OBJS) $(addprefix $(test-sdi-varargs-prog_TARGETDIR)/,$(test-sdi-varargs-prog_FILES)) : | $(test-sdi-varargs-prog_TARGETDIR) $(test-sdi-varargs-prog_OBJDIR) +else +$(test-sdi-varargs-prog_DEPS) $(test-sdi-varargs-prog_OBJS) $(addprefix $(test-sdi-varargs-prog_TARGETDIR)/,$(test-sdi-varargs-prog_FILES)) :: $(test-sdi-varargs-prog_TARGETDIR) $(test-sdi-varargs-prog_OBJDIR) +endif + +GLOB_MKDIRS += $(test-sdi-varargs-prog_TARGETDIR) $(test-sdi-varargs-prog_OBJDIR) + + +test-sdi-varargs-prog-clean : FILES := $(test-sdi-varargs-prog_OBJS) $(test-sdi-varargs-prog_EXES) $(test-sdi-varargs-prog_DEPS) +#MM +test-sdi-varargs-prog-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-sdi-varargs-prog" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/serial/mmakefile b/developer/debug/test/serial/mmakefile new file mode 100644 index 00000000000..00c67c689b1 --- /dev/null +++ b/developer/debug/test/serial/mmakefile @@ -0,0 +1,297 @@ +# Copyright © 2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + serialmousetest \ + serialtest + +EXEDIR := $(AROS_TESTS)/serial + +#MM- test : test-serial +#MM- test-quick : test-serial-quick + + +.PHONY : test-serial + +test-serial_OBJDIR := $(GENDIR)/$(CURDIR) +test-serial_TARGETDIR := $(EXEDIR) +test-serial_LIBS := + +test-serial_FILES := $(FILES) +test-serial_OBJS := $(addsuffix .o,$(addprefix $(test-serial_OBJDIR)/,$(test-serial_FILES))) +test-serial_DEPS := $(addsuffix .d,$(addprefix $(test-serial_OBJDIR)/,$(test-serial_FILES))) +test-serial_EXES := $(addprefix $(test-serial_TARGETDIR)/,$(test-serial_FILES)) + +test-serial_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-serial_CPPFLAGS += -I +endif +test-serial_CFLAGS := $(CFLAGS) +test-serial_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-serial_COVERAGE := yes +test-serial_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-serial_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-serial_CFLAGS := $(strip $(test-serial_COVERAGEFLAGS) $(test-serial_CFLAGS)) +test-serial_LIBS += $(test-serial_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-serial_FUNCINSTR := yes +test-serial_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-serial_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-serial_CFLAGS := $(strip $(test-serial_INSTRFUNCFLAGS) $(test-serial_CFLAGS)) +test-serial_LIBS += $(test-serial_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-serial_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-serial_CFLAGS)) +endif +endif +ifneq (,) + test-serial_DFLAGS := +else + test-serial_DFLAGS := $(test-serial_CFLAGS) +endif +ifeq (target,target) +test-serial_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-serial_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-serial_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-serial_LDFLAGS += -L +endif + +#MM +test-serial-quick : test-serial + +#MM test-serial : includes-generate-deps core-linklibs +test-serial : $(test-serial_EXES) + +ifneq ($(filter $(TARGET),test-serial test-serial-quick),) + +ifeq (,) +test-serial_MC_SRCWILDCARD := % +else +test-serial_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-serial_OBJDIR),) +test-serial_MC_TARGETS := $(addsuffix .o,$(test-serial_FILES)) +test-serial_MC_DTARGETS := $(addsuffix .d,$(test-serial_FILES)) +test-serial_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-serial_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-serial_OBJDIR)/,$(notdir $(test-serial_FILES)))) + test-serial_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-serial_OBJDIR)/,$(notdir $(test-serial_FILES)))) +else +ifeq (,) + test-serial_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-serial_OBJDIR)/,$(test-serial_FILES))) + test-serial_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-serial_OBJDIR)/,$(test-serial_FILES))) +else + test-serial_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-serial_OBJDIR)/,$(patsubst /%,%,$(test-serial_FILES)))) + test-serial_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-serial_OBJDIR)/,$(patsubst /%,%,$(test-serial_FILES)))) +endif +endif +test-serial_MC_TGTWILDCARD := $(test-serial_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : | $(addsuffix .c,$(test-serial_FILES)) + +# Be sure that all .c files are found +test-serial_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-serial_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-serial_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-serial_MC_DIRS := $(foreach dir, $(test-serial_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-serial_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-serial_MC_DIRS),) + test-serial_MC_DIRS := $(shell echo $(test-serial_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-serial_MC_DIRS) +endif + +endif + +test-serial_MC_CPPFLAGS := $(test-serial_CPPFLAGS) +test-serial_CFLAGS := $(test-serial_CFLAGS) +ifeq ($(test-serial_DFLAGS),) + test-serial_DFLAGS := $(test-serial_CFLAGS) +else + test-serial_DFLAGS := $(test-serial_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-serial_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-serial_STRIP ?= $(TARGET_STRIP) +test-serial_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_MC_CPPFLAGS:=$(strip $(test-serial_MC_CPPFLAGS) $(test-serial_MC_EXTRA_CPPFLAGS)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_CFLAGS:=$(strip $(test-serial_CFLAGS) $(SAFETY_CFLAGS)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_DFLAGS:=$(test-serial_DFLAGS) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-serial_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-serial_STRIP ?= $(HOST_STRIP) +test-serial_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-serial_MC_CPPFLAGS) $(test-serial_MC_EXTRA_CPPFLAGS)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-serial_CFLAGS)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-serial_DFLAGS)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_IQUOTE:=$(HOST_IQUOTE) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-serial_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-serial_STRIP ?= $(ECHO) >/dev/null +test-serial_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-serial_MC_CPPFLAGS) $(test-serial_MC_EXTRA_CPPFLAGS)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-serial_CFLAGS)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-serial_DFLAGS)) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_IQUOTE:=$(KERNEL_IQUOTE) +$(test-serial_MC_TARGETS) $(test-serial_MC_DTARGETS) : test-serial_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-serial_MC_TARGETS) : CPPFLAGS := $(test-serial_MC_CPPFLAGS) +$(test-serial_MC_TARGETS) : CFLAGS := $(test-serial_CFLAGS) +$(test-serial_MC_TARGETS) : $(test-serial_MC_TGTWILDCARD).o : $(test-serial_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-serial_IQUOTE) $(dir $<) $(test-serial_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-serial_IQUOTE) . $(test-serial_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-serial_IQUOTE) $(dir $<) $(test-serial_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-serial_IQUOTE) . $(test-serial_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-serial_IQUOTE) $(dir $<) $(test-serial_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-serial_IQUOTE) . $(test-serial_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-serial_MC_DTARGETS) : $(test-serial_MC_TGTWILDCARD).d : $(test-serial_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-serial_DFLAGS) $(test-serial_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-serial-link_EXTRA_LDFLAGS := +test-serial-link_EXTRA_LIBS := +ifeq (no,yes) + test-serial-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-serial-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-serial-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-serial-link_DIRS := $(subst -L ,-L,$(strip $(test-serial_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-serial-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-serial-link_DIRS))) +# Add trailing / +test-serial-link_DIRS := $(subst //,/,$(addsuffix /,$(test-serial-link_DIRS))) +# Add normal linklib path +test-serial-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-serial-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-serial_LIBS) $(test-serial-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-serial-link_DEPLIBS := $(foreach lib,$(test-serial-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-serial-link_DIRS)))) \ +) +test-serial-link_PROGS := $(addprefix $(test-serial_TARGETDIR)/,$(test-serial_FILES)) + +$(test-serial-link_PROGS) : OBJDIR := $(test-serial_OBJDIR) +$(test-serial-link_PROGS) : LDFLAGS := $(strip $(test-serial_LDFLAGS) $(test-serial-link_EXTRA_LDFLAGS)) +$(test-serial-link_PROGS) : LIBS := $(addprefix -l,$(test-serial_LIBS) $(test-serial-link_EXTRA_LIBS) ) +$(test-serial-link_PROGS) : $(test-serial_TARGETDIR)/% : $(test-serial_OBJDIR)/%.o $(test-serial-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-serial_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-serial_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-serial_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-serial_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-serial_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-serial_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-serial_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-serial_DEPS),) + ifneq (test-serial test-serial-quick,) + ifneq ($(findstring $(TARGET),test-serial test-serial-quick),) + -include $(test-serial_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-serial_DEPS) + endif + endif +endif + + +ifneq ($(test-serial_DEPS) $(test-serial_OBJS) $(addprefix $(test-serial_TARGETDIR)/,$(test-serial_FILES)),) +$(test-serial_DEPS) $(test-serial_OBJS) $(addprefix $(test-serial_TARGETDIR)/,$(test-serial_FILES)) : | $(test-serial_TARGETDIR) $(test-serial_OBJDIR) +else +$(test-serial_DEPS) $(test-serial_OBJS) $(addprefix $(test-serial_TARGETDIR)/,$(test-serial_FILES)) :: $(test-serial_TARGETDIR) $(test-serial_OBJDIR) +endif + +GLOB_MKDIRS += $(test-serial_TARGETDIR) $(test-serial_OBJDIR) + + +test-serial-clean : FILES := $(test-serial_OBJS) $(test-serial_EXES) $(test-serial_DEPS) +#MM +test-serial-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-serial" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/smp/mmakefile b/developer/debug/test/smp/mmakefile new file mode 100644 index 00000000000..e9ff8c6cb8a --- /dev/null +++ b/developer/debug/test/smp/mmakefile @@ -0,0 +1,13 @@ +# $Id$ +# +#MM- test : test-smp +#MM- test-quick : test-smp-quick + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/smp/smp-smallpt/mmakefile b/developer/debug/test/smp/smp-smallpt/mmakefile new file mode 100644 index 00000000000..4ea1d7d6b40 --- /dev/null +++ b/developer/debug/test/smp/smp-smallpt/mmakefile @@ -0,0 +1,641 @@ +# $Id: mmakefile.src 53238 2017-01-19 01:46:57Z NicJA $ +# + +include $(SRCDIR)/config/aros.cfg + +FILES := main renderer +CXXFILES := smallpt +EXEDIR := $(AROS_TESTS)/smp + +#MM- test-smp : test-smp-smp-smallpt +#MM- test-smp-quick : test-smp-smp-smallpt-quick + +#USER_CFLAGS := $(PARANOIA_CFLAGS) + +NOWARN_FLAGS := $(NOWARN_VOLATILE_REGISTER_VAR) +SMALLPT_FLAGS := $(CFLAGS_NO_RED_ZONE) +USER_CXXFLAGS := $(NOWARN_FLAGS) $(SMALLPT_FLAGS) +USER_CFLAGS := -std=gnu99 $(SMALLPT_FLAGS) +USER_LDFLAGS := $(TARGET_CXX_LDFLAGS) + + +.PHONY : test-smp-smp-smallpt + +test-smp-smp-smallpt_PROGNAME := SMP-SmallPT +test-smp-smp-smallpt_OBJDIR := $(GENDIR)/$(CURDIR) +test-smp-smp-smallpt_TARGETDIR := $(EXEDIR) +test-smp-smp-smallpt_LINKER := +test-smp-smp-smallpt_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-smp-smp-smallpt_LINKER),) + test-smp-smp-smallpt_LINKER := target +endif + +ifneq ("$(strip $(FILES) $(CXXFILES) )","") + test-smp-smp-smallpt_FILES := $(FILES) + test-smp-smp-smallpt_OBJCFILES := + test-smp-smp-smallpt_ASMFILES := + test-smp-smp-smallpt_CXXFILES := $(CXXFILES) +else + test-smp-smp-smallpt_FILES := $(test-smp-smp-smallpt_PROGNAME) + test-smp-smp-smallpt_OBJCFILES := + test-smp-smp-smallpt_ASMFILES := + test-smp-smp-smallpt_CXXFILES := +endif + +test-smp-smp-smallpt_ARCHOBJS := $(wildcard $(test-smp-smp-smallpt_OBJDIR)/arch/*.o) +test-smp-smp-smallpt_ARCHFILES := $(basename $(notdir $(test-smp-smp-smallpt_ARCHOBJS))) +test-smp-smp-smallpt_C_NARCHFILES := $(filter-out $(test-smp-smp-smallpt_ARCHFILES),$(test-smp-smp-smallpt_FILES)) +test-smp-smp-smallpt_CXX_NARCHFILES := $(filter-out $(test-smp-smp-smallpt_ARCHFILES),$(test-smp-smp-smallpt_CXXFILES)) +test-smp-smp-smallpt_OBJC_NARCHFILES := $(filter-out $(test-smp-smp-smallpt_ARCHFILES),$(test-smp-smp-smallpt_OBJCFILES)) + +TMP_FILES := $(test-smp-smp-smallpt_C_NARCHFILES) $(test-smp-smp-smallpt_CXX_NARCHFILES) $(test-smp-smp-smallpt_ASMFILES) $(test-smp-smp-smallpt_OBJC_NARCHFILES) +test-smp-smp-smallpt_OBJS := $(addsuffix .o,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-smp-smp-smallpt_DEPS := $(addsuffix .d,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-smp-smp-smallpt_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-smp-smp-smallpt_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-smp-smp-smallpt_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-smp-smp-smallpt_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-smp-smp-smallpt_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-smp-smp-smallpt_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-smp-smp-smallpt_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-smp-smp-smallpt_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-smp-smp-smallpt_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-smp-smp-smallpt_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-smp-smp-smallpt_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-smp-smp-smallpt_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-smp-smp-smallpt_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-smp-smp-smallpt_LDFLAGS := +endif + +test-smp-smp-smallpt_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-smp-smp-smallpt_COVERAGE := yes +test-smp-smp-smallpt_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-smp-smp-smallpt_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-smp-smp-smallpt_CFLAGS := $(strip $(test-smp-smp-smallpt_COVERAGEFLAGS) $(test-smp-smp-smallpt_CFLAGS)) +test-smp-smp-smallpt_CXXFLAGS := $(strip $(test-smp-smp-smallpt_COVERAGEFLAGS) $(test-smp-smp-smallpt_CXXFLAGS)) +test-smp-smp-smallpt_LIBS += $(test-smp-smp-smallpt_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-smp-smp-smallpt_FUNCINSTR := yes +test-smp-smp-smallpt_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-smp-smp-smallpt_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-smp-smp-smallpt_CFLAGS := $(strip $(test-smp-smp-smallpt_INSTRFUNCFLAGS) $(test-smp-smp-smallpt_CFLAGS)) +test-smp-smp-smallpt_CXXFLAGS := $(strip $(test-smp-smp-smallpt_INSTRFUNCFLAGS) $(test-smp-smp-smallpt_CXXFLAGS)) +test-smp-smp-smallpt_LIBS += $(test-smp-smp-smallpt_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-smp-smp-smallpt_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-smp-smp-smallpt_CFLAGS)) +test-smp-smp-smallpt_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-smp-smp-smallpt_CXXFLAGS)) +endif +endif +test-smp-smp-smallpt_AFLAGS := $(AFLAGS) +ifneq (,) + test-smp-smp-smallpt_DFLAGS := +else + test-smp-smp-smallpt_DFLAGS := $(test-smp-smp-smallpt_CFLAGS) +endif +ifneq (,) + test-smp-smp-smallpt_DXXFLAGS := +else + test-smp-smp-smallpt_DXXFLAGS := $(test-smp-smp-smallpt_CXXFLAGS) +endif +ifeq (target,target) +test-smp-smp-smallpt_LDFLAGS := $(test-smp-smp-smallpt_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-smp-smp-smallpt_LDFLAGS := $(test-smp-smp-smallpt_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-smp-smp-smallpt_LDFLAGS := $(test-smp-smp-smallpt_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-smp-smp-smallpt_LDFLAGS += -L +endif + +#MM +test-smp-smp-smallpt-quick : test-smp-smp-smallpt + +#MM test-smp-smp-smallpt : includes-generate-deps core-linklibs +test-smp-smp-smallpt : $(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) + +ifneq ($(filter $(TARGET),test-smp-smp-smallpt test-smp-smp-smallpt-quick test-smp-smp-smallpt-gz-quick),) + +test-smp-smp-smallpt_CXXABSBASENAMES := $(foreach test-smp-smp-smallpt_CXXBASE,$(test-smp-smp-smallpt_CXX_NARCHFILES),$(if $(filter /%,$(test-smp-smp-smallpt_CXXBASE)),$(test-smp-smp-smallpt_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-smp-smp-smallpt_CXXBASE)))) + +ifneq ($(test-smp-smp-smallpt_CXXABSBASENAMES),) + +test-smp-smp-smallpt_CXXBASENAMES := $(basename $(test-smp-smp-smallpt_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-smp-smp-smallpt_MCXX_FILES := $(strip $(foreach test-smp-smp-smallpt_CXXBASE,$(test-smp-smp-smallpt_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-smp-smp-smallpt_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-smp-smp-smallpt_EXT),$(test-smp-smp-smallpt_CXXBASE))))))) + +ifeq (,) +test-smp-smp-smallpt_MCXX_SRCWILDCARD := % +else +test-smp-smp-smallpt_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-smp-smp-smallpt_OBJDIR),) + test-smp-smp-smallpt_CXXTARGETS := $(notdir $(test-smp-smp-smallpt_CXXBASENAMES:=.o)) + test-smp-smp-smallpt_CXXDTARGETS := $(notdir $(test-smp-smp-smallpt_CXXBASENAMES:=.d)) + test-smp-smp-smallpt_MCXX_WILDCARD := % +else + test-smp-smp-smallpt_CXXTARGETS := $(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(notdir $(test-smp-smp-smallpt_CXXBASENAMES:=.o))) + test-smp-smp-smallpt_CXXDTARGETS := $(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(notdir $(test-smp-smp-smallpt_CXXBASENAMES:=.d))) + test-smp-smp-smallpt_MCXX_WILDCARD := $(test-smp-smp-smallpt_OBJDIR)/% + + # Be sure that all source files are generated + $(test-smp-smp-smallpt_CXXTARGETS) $(test-smp-smp-smallpt_CXXDTARGETS) : | $(test-smp-smp-smallpt_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-smp-smp-smallpt_MCXX_CPPFLAGS := $(test-smp-smp-smallpt_CPPFLAGS) +test-smp-smp-smallpt_CXXFLAGS := $(test-smp-smp-smallpt_CXXFLAGS) +ifeq ($(test-smp-smp-smallpt_DXXFLAGS),) + test-smp-smp-smallpt_DXXFLAGS := $(test-smp-smp-smallpt_CXXFLAGS) +else + test-smp-smp-smallpt_DXXFLAGS := $(test-smp-smp-smallpt_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-smp-smp-smallpt_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-smp-smp-smallpt_STRIP ?= $(HOST_STRIP) + test-smp-smp-smallpt_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-smp-smp-smallpt_CXXCMD:=$(HOST_CXX) + test-smp-smp-smallpt_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-smp-smp-smallpt_MCXX_CPPFLAGS) $(test-smp-smp-smallpt_MCXX_EXTRA_CPPFLAGS)) + test-smp-smp-smallpt_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-smp-smp-smallpt_CXXFLAGS)) + test-smp-smp-smallpt_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-smp-smp-smallpt_DXXFLAGS)) + test-smp-smp-smallpt_CXXIQUOTE:=$(HOST_IQUOTE) + test-smp-smp-smallpt_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-smp-smp-smallpt_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-smp-smp-smallpt_STRIP ?= $(TARGET_STRIP) + test-smp-smp-smallpt_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-smp-smp-smallpt_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-smp-smp-smallpt_MCXX_CPPFLAGS := $(strip $(test-smp-smp-smallpt_MCXX_CPPFLAGS) $(test-smp-smp-smallpt_MCXX_EXTRA_CPPFLAGS)) + test-smp-smp-smallpt_CXXFLAGS := $(strip $(test-smp-smp-smallpt_CXXFLAGS) $(SAFETY_CFLAGS)) + test-smp-smp-smallpt_DXXFLAGS := $(test-smp-smp-smallpt_DXXFLAGS) + test-smp-smp-smallpt_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-smp-smp-smallpt_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-smp-smp-smallpt_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-smp-smp-smallpt_STRIP ?= $(ECHO) >/dev/null + test-smp-smp-smallpt_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-smp-smp-smallpt_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-smp-smp-smallpt_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-smp-smp-smallpt_MCXX_CPPFLAGS) $(test-smp-smp-smallpt_MCXX_EXTRA_CPPFLAGS)) + test-smp-smp-smallpt_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-smp-smp-smallpt_CXXFLAGS)) + test-smp-smp-smallpt_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-smp-smp-smallpt_DXXFLAGS)) + test-smp-smp-smallpt_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-smp-smp-smallpt_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-smp-smp-smallpt_CXXCMD) $(test-smp-smp-smallpt_CXXIQUOTE) $(dir $(2)) $(test-smp-smp-smallpt_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_CXXIQUOTE) . $(test-smp-smp-smallpt_CXXIQUOTE_END) $(strip $(test-smp-smp-smallpt_CXXFLAGS) $(test-smp-smp-smallpt_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-smp-smp-smallpt_CXXCMD) $(test-smp-smp-smallpt_CXXIQUOTE) $(dir $(2)) $(test-smp-smp-smallpt_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_CXXIQUOTE) . $(test-smp-smp-smallpt_CXXIQUOTE_END) $(strip $(test-smp-smp-smallpt_CXXFLAGS) $(test-smp-smp-smallpt_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-smp-smp-smallpt_CXXCMD) $(test-smp-smp-smallpt_CXXIQUOTE) $(dir $(2)) $(test-smp-smp-smallpt_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_CXXIQUOTE) . $(test-smp-smp-smallpt_CXXIQUOTE_END) $(strip $(test-smp-smp-smallpt_CXXFLAGS) $(test-smp-smp-smallpt_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-smp-smp-smallpt_CXXCMD)" $(MKDEPEND) $(strip $(test-smp-smp-smallpt_DXXFLAGS) $(test-smp-smp-smallpt_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-smp-smp-smallpt_OBJDIR),) + $(foreach test-smp-smp-smallpt_CXXFILE,$(test-smp-smp-smallpt_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-smp-smp-smallpt_CXXFILE))),$(test-smp-smp-smallpt_CXXFILE)))) +else + $(foreach test-smp-smp-smallpt_CXXFILE,$(test-smp-smp-smallpt_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(notdir $(basename $(test-smp-smp-smallpt_CXXFILE)))),$(test-smp-smp-smallpt_CXXFILE)))) +endif + +endif + + +ifneq ($(test-smp-smp-smallpt_OBJC_NARCHFILES),) + +ifeq (,) +test-smp-smp-smallpt_MOBJC_SRCWILDCARD := % +else +test-smp-smp-smallpt_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-smp-smp-smallpt_OBJDIR),) + test-smp-smp-smallpt_MOBJC_TARGETS := $(addsuffix .o,$(test-smp-smp-smallpt_OBJC_NARCHFILES)) + test-smp-smp-smallpt_MOBJC_DTARGETS := $(addsuffix .d,$(test-smp-smp-smallpt_OBJC_NARCHFILES)) + test-smp-smp-smallpt_MOBJC_WILDCARD := % +else + test-smp-smp-smallpt_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(test-smp-smp-smallpt_OBJC_NARCHFILES))) + test-smp-smp-smallpt_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(test-smp-smp-smallpt_OBJC_NARCHFILES))) + test-smp-smp-smallpt_MOBJC_WILDCARD := $(test-smp-smp-smallpt_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-smp-smp-smallpt_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-smp-smp-smallpt_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-smp-smp-smallpt_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-smp-smp-smallpt_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-smp-smp-smallpt_MOBJC_DIRS := $(foreach dir, $(test-smp-smp-smallpt_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-smp-smp-smallpt_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-smp-smp-smallpt_MOBJC_DIRS),) + test-smp-smp-smallpt_MOBJC_DIRS := $(shell echo $(test-smp-smp-smallpt_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-smp-smp-smallpt_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-smp-smp-smallpt_CC := $(TARGET_CC) +else + test-smp-smp-smallpt_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-smp-smp-smallpt_MOBJC_CPPFLAGS := $(test-smp-smp-smallpt_CPPFLAGS) +test-smp-smp-smallpt_OBJCFLAGS := $(test-smp-smp-smallpt_CFLAGS) +test-smp-smp-smallpt_OBJCFLAGS := $(test-smp-smp-smallpt_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-smp-smp-smallpt_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-smp-smp-smallpt_OBJCFLAGS))) +ifeq ($(test-smp-smp-smallpt_DFLAGS),) + test-smp-smp-smallpt_OBJCDFLAGS := $(test-smp-smp-smallpt_CFLAGS) +else + test-smp-smp-smallpt_OBJCDFLAGS := $(test-smp-smp-smallpt_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-smp-smp-smallpt_LINK ?= $(strip $(test-smp-smp-smallpt_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-smp-smp-smallpt_STRIP ?= $(TARGET_STRIP) + test-smp-smp-smallpt_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : CMD:=$(strip $(test-smp-smp-smallpt_CC) $(TARGET_SYSROOT)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_MOBJC_CPPFLAGS:=$(strip $(test-smp-smp-smallpt_MOBJC_CPPFLAGS) $(test-smp-smp-smallpt_MOBJC_EXTRA_CPPFLAGS)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_OBJCFLAGS:=$(strip $(test-smp-smp-smallpt_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_OBJCDFLAGS:=$(test-smp-smp-smallpt_OBJCDFLAGS) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-smp-smp-smallpt_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-smp-smp-smallpt_STRIP ?= $(HOST_STRIP) + test-smp-smp-smallpt_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-smp-smp-smallpt_MOBJC_CPPFLAGS) $(test-smp-smp-smallpt_MOBJC_EXTRA_CPPFLAGS)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-smp-smp-smallpt_OBJCFLAGS)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-smp-smp-smallpt_OBJCDFLAGS)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_IQUOTE:=$(HOST_IQUOTE) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-smp-smp-smallpt_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-smp-smp-smallpt_STRIP ?= $(ECHO) >/dev/null + test-smp-smp-smallpt_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-smp-smp-smallpt_MOBJC_CPPFLAGS) $(test-smp-smp-smallpt_MOBJC_EXTRA_CPPFLAGS)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-smp-smp-smallpt_OBJCFLAGS)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-smp-smp-smallpt_OBJCDFLAGS)) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_IQUOTE:=$(KERNEL_IQUOTE) + $(test-smp-smp-smallpt_MOBJC_TARGETS) $(test-smp-smp-smallpt_MOBJC_DTARGETS) : test-smp-smp-smallpt_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-smp-smp-smallpt_MOBJC_TARGETS) : CPPFLAGS := $(test-smp-smp-smallpt_MOBJC_CPPFLAGS) +$(test-smp-smp-smallpt_MOBJC_TARGETS) : CFLAGS := $(test-smp-smp-smallpt_OBJCFLAGS) +$(test-smp-smp-smallpt_MOBJC_TARGETS) : $(test-smp-smp-smallpt_MOBJC_WILDCARD).o : $(test-smp-smp-smallpt_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-smp-smp-smallpt_IQUOTE) $(dir $<) $(test-smp-smp-smallpt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_IQUOTE) . $(test-smp-smp-smallpt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-smp-smp-smallpt_IQUOTE) $(dir $<) $(test-smp-smp-smallpt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_IQUOTE) . $(test-smp-smp-smallpt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-smp-smp-smallpt_IQUOTE) $(dir $<) $(test-smp-smp-smallpt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_IQUOTE) . $(test-smp-smp-smallpt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-smp-smp-smallpt_MOBJC_DTARGETS) : $(test-smp-smp-smallpt_MOBJC_WILDCARD).d : $(test-smp-smp-smallpt_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-smp-smp-smallpt_OBJCDFLAGS) $(test-smp-smp-smallpt_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-smp-smp-smallpt_MC_SRCWILDCARD := % +else +test-smp-smp-smallpt_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-smp-smp-smallpt_OBJDIR),) +test-smp-smp-smallpt_MC_TARGETS := $(addsuffix .o,$(test-smp-smp-smallpt_C_NARCHFILES)) +test-smp-smp-smallpt_MC_DTARGETS := $(addsuffix .d,$(test-smp-smp-smallpt_C_NARCHFILES)) +test-smp-smp-smallpt_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-smp-smp-smallpt_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(notdir $(test-smp-smp-smallpt_C_NARCHFILES)))) + test-smp-smp-smallpt_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(notdir $(test-smp-smp-smallpt_C_NARCHFILES)))) +else +ifeq (,) + test-smp-smp-smallpt_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(test-smp-smp-smallpt_C_NARCHFILES))) + test-smp-smp-smallpt_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(test-smp-smp-smallpt_C_NARCHFILES))) +else + test-smp-smp-smallpt_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(patsubst /%,%,$(test-smp-smp-smallpt_C_NARCHFILES)))) + test-smp-smp-smallpt_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(patsubst /%,%,$(test-smp-smp-smallpt_C_NARCHFILES)))) +endif +endif +test-smp-smp-smallpt_MC_TGTWILDCARD := $(test-smp-smp-smallpt_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : | $(addsuffix .c,$(test-smp-smp-smallpt_C_NARCHFILES)) + +# Be sure that all .c files are found +test-smp-smp-smallpt_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-smp-smp-smallpt_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-smp-smp-smallpt_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-smp-smp-smallpt_MC_DIRS := $(foreach dir, $(test-smp-smp-smallpt_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-smp-smp-smallpt_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-smp-smp-smallpt_MC_DIRS),) + test-smp-smp-smallpt_MC_DIRS := $(shell echo $(test-smp-smp-smallpt_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-smp-smp-smallpt_MC_DIRS) +endif + +endif + +test-smp-smp-smallpt_MC_CPPFLAGS := $(test-smp-smp-smallpt_CPPFLAGS) +test-smp-smp-smallpt_CFLAGS := $(test-smp-smp-smallpt_CFLAGS) +ifeq ($(test-smp-smp-smallpt_DFLAGS),) + test-smp-smp-smallpt_DFLAGS := $(test-smp-smp-smallpt_CFLAGS) +else + test-smp-smp-smallpt_DFLAGS := $(test-smp-smp-smallpt_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-smp-smp-smallpt_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-smp-smp-smallpt_STRIP ?= $(TARGET_STRIP) +test-smp-smp-smallpt_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_MC_CPPFLAGS:=$(strip $(test-smp-smp-smallpt_MC_CPPFLAGS) $(test-smp-smp-smallpt_MC_EXTRA_CPPFLAGS)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_CFLAGS:=$(strip $(test-smp-smp-smallpt_CFLAGS) $(SAFETY_CFLAGS)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_DFLAGS:=$(test-smp-smp-smallpt_DFLAGS) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-smp-smp-smallpt_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-smp-smp-smallpt_STRIP ?= $(HOST_STRIP) +test-smp-smp-smallpt_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-smp-smp-smallpt_MC_CPPFLAGS) $(test-smp-smp-smallpt_MC_EXTRA_CPPFLAGS)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-smp-smp-smallpt_CFLAGS)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-smp-smp-smallpt_DFLAGS)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_IQUOTE:=$(HOST_IQUOTE) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-smp-smp-smallpt_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-smp-smp-smallpt_STRIP ?= $(ECHO) >/dev/null +test-smp-smp-smallpt_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-smp-smp-smallpt_MC_CPPFLAGS) $(test-smp-smp-smallpt_MC_EXTRA_CPPFLAGS)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-smp-smp-smallpt_CFLAGS)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-smp-smp-smallpt_DFLAGS)) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_IQUOTE:=$(KERNEL_IQUOTE) +$(test-smp-smp-smallpt_MC_TARGETS) $(test-smp-smp-smallpt_MC_DTARGETS) : test-smp-smp-smallpt_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-smp-smp-smallpt_MC_TARGETS) : CPPFLAGS := $(test-smp-smp-smallpt_MC_CPPFLAGS) +$(test-smp-smp-smallpt_MC_TARGETS) : CFLAGS := $(test-smp-smp-smallpt_CFLAGS) +$(test-smp-smp-smallpt_MC_TARGETS) : $(test-smp-smp-smallpt_MC_TGTWILDCARD).o : $(test-smp-smp-smallpt_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-smp-smp-smallpt_IQUOTE) $(dir $<) $(test-smp-smp-smallpt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_IQUOTE) . $(test-smp-smp-smallpt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-smp-smp-smallpt_IQUOTE) $(dir $<) $(test-smp-smp-smallpt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_IQUOTE) . $(test-smp-smp-smallpt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-smp-smp-smallpt_IQUOTE) $(dir $<) $(test-smp-smp-smallpt_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp-smallpt_IQUOTE) . $(test-smp-smp-smallpt_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-smp-smp-smallpt_MC_DTARGETS) : $(test-smp-smp-smallpt_MC_TGTWILDCARD).d : $(test-smp-smp-smallpt_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-smp-smp-smallpt_DFLAGS) $(test-smp-smp-smallpt_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-smp-smp-smallpt_OBJDIR),) +test-smp-smp-smallpt-MA_TARGETS := $(addsuffix .o,$(test-smp-smp-smallpt_ASMFILES)) +test-smp-smp-smallpt-MA_WILDCARD := % +else +test-smp-smp-smallpt-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp-smallpt_OBJDIR)/,$(notdir $(test-smp-smp-smallpt_ASMFILES)))) +test-smp-smp-smallpt-MA_WILDCARD := $(test-smp-smp-smallpt_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-smp-smp-smallpt-MA_TARGETS) : | $(addsuffix .s,$(test-smp-smp-smallpt_ASMFILES)) + +# Be sure that all .c files are found +test-smp-smp-smallpt-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-smp-smp-smallpt-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-smp-smp-smallpt_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-smp-smp-smallpt-MA_DIRS := $(foreach dir, $(test-smp-smp-smallpt-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-smp-smp-smallpt-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-smp-smp-smallpt-MA_DIRS),) + test-smp-smp-smallpt-MA_DIRS := $(shell echo $(test-smp-smp-smallpt-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-smp-smp-smallpt-MA_DIRS) +endif + +endif + +test-smp-smp-smallpt-MA_ASSEMBLER ?= $(test-smp-smp-smallpt_ASSEMBLER) + +$(test-smp-smp-smallpt-MA_TARGETS) : test-smp-smp-smallpt-MA_CMD:= $(test-smp-smp-smallpt-MA_ASSEMBLER) + +$(test-smp-smp-smallpt-MA_TARGETS) : CPPFLAGS := $(test-smp-smp-smallpt_CPPFLAGS) +$(test-smp-smp-smallpt-MA_TARGETS) : AFLAGS := $(test-smp-smp-smallpt_AFLAGS) +$(test-smp-smp-smallpt-MA_TARGETS) : $(test-smp-smp-smallpt-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-smp-smp-smallpt-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-smp-smp-smallpt-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-smp-smp-smallpt-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-smp-smp-smallpt-link_EXTRA_LDFLAGS := +test-smp-smp-smallpt-link_EXTRA_LIBS := +ifeq (no,yes) + test-smp-smp-smallpt-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-smp-smp-smallpt-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-smp-smp-smallpt-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-smp-smp-smallpt-link_DIRS := $(subst -L ,-L,$(strip $(test-smp-smp-smallpt_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-smp-smp-smallpt-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-smp-smp-smallpt-link_DIRS))) +# Add trailing / +test-smp-smp-smallpt-link_DIRS := $(subst //,/,$(addsuffix /,$(test-smp-smp-smallpt-link_DIRS))) +# Add normal linklib path +test-smp-smp-smallpt-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-smp-smp-smallpt-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-smp-smp-smallpt_LIBS) $(test-smp-smp-smallpt-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-smp-smp-smallpt-link_LIBS += startup.o +endif +ifeq (no,yes) + test-smp-smp-smallpt-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-smp-smp-smallpt-link_DEPLIBS := $(foreach lib,$(test-smp-smp-smallpt-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-smp-smp-smallpt-link_DIRS)))) \ +) + +$(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) : OBJDIR := $(test-smp-smp-smallpt_OBJDIR) +$(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) : OBJS := $(test-smp-smp-smallpt_OBJS) $(test-smp-smp-smallpt_ARCHOBJS) $(USER_OBJS) +$(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) : LDFLAGS := $(strip $(test-smp-smp-smallpt_LDFLAGS) $(test-smp-smp-smallpt-link_EXTRA_LDFLAGS)) +$(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) : LIBS := $(addprefix -l,$(test-smp-smp-smallpt_LIBS) $(test-smp-smp-smallpt-link_EXTRA_LIBS) ) +$(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) : $(test-smp-smp-smallpt_OBJS) $(test-smp-smp-smallpt_ARCHOBJS) $(USER_OBJS) $(test-smp-smp-smallpt-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-smp-smp-smallpt_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-smp-smp-smallpt_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-smp-smp-smallpt_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-smp-smp-smallpt_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-smp-smp-smallpt_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-smp-smp-smallpt_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-smp-smp-smallpt_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-smp-smp-smallpt_DEPS),) + ifneq (test-smp-smp-smallpt test-smp-smp-smallpt-quick,) + ifneq ($(findstring $(TARGET),test-smp-smp-smallpt test-smp-smp-smallpt-quick),) + -include $(test-smp-smp-smallpt_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-smp-smp-smallpt_DEPS) + endif + endif +endif + + +ifneq ($(test-smp-smp-smallpt_OBJS) $(test-smp-smp-smallpt_DEPS) $(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME),) +$(test-smp-smp-smallpt_OBJS) $(test-smp-smp-smallpt_DEPS) $(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) : | $(test-smp-smp-smallpt_OBJDIR) $(test-smp-smp-smallpt_TARGETDIR) +else +$(test-smp-smp-smallpt_OBJS) $(test-smp-smp-smallpt_DEPS) $(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) :: $(test-smp-smp-smallpt_OBJDIR) $(test-smp-smp-smallpt_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-smp-smp-smallpt_OBJDIR) $(test-smp-smp-smallpt_TARGETDIR) + + +test-smp-smp-smallpt-clean : FILES := $(test-smp-smp-smallpt_OBJS) $(test-smp-smp-smallpt_TARGETDIR)/$(test-smp-smp-smallpt_PROGNAME) $(test-smp-smp-smallpt_DEPS) +#MM +test-smp-smp-smallpt-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-smp-smp-smallpt" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/smp/smp-test/mmakefile b/developer/debug/test/smp/smp-test/mmakefile new file mode 100644 index 00000000000..9598042076a --- /dev/null +++ b/developer/debug/test/smp/smp-test/mmakefile @@ -0,0 +1,634 @@ +# $Id: mmakefile.src 53238 2017-01-19 01:46:57Z NicJA $ +# + +include $(SRCDIR)/config/aros.cfg + +FILES := smpt_main master worker +EXEDIR := $(AROS_TESTS)/smp + +#MM- test-smp : test-smp-smp +#MM- test-smp-quick : test-smp-smp-quick + +USER_CFLAGS := $(PARANOIA_CFLAGS) + + +.PHONY : test-smp-smp + +test-smp-smp_PROGNAME := SMP-Test +test-smp-smp_OBJDIR := $(GENDIR)/$(CURDIR) +test-smp-smp_TARGETDIR := $(EXEDIR) +test-smp-smp_LINKER := +test-smp-smp_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-smp-smp_LINKER),) + test-smp-smp_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + test-smp-smp_FILES := $(FILES) + test-smp-smp_OBJCFILES := + test-smp-smp_ASMFILES := + test-smp-smp_CXXFILES := +else + test-smp-smp_FILES := $(test-smp-smp_PROGNAME) + test-smp-smp_OBJCFILES := + test-smp-smp_ASMFILES := + test-smp-smp_CXXFILES := +endif + +test-smp-smp_ARCHOBJS := $(wildcard $(test-smp-smp_OBJDIR)/arch/*.o) +test-smp-smp_ARCHFILES := $(basename $(notdir $(test-smp-smp_ARCHOBJS))) +test-smp-smp_C_NARCHFILES := $(filter-out $(test-smp-smp_ARCHFILES),$(test-smp-smp_FILES)) +test-smp-smp_CXX_NARCHFILES := $(filter-out $(test-smp-smp_ARCHFILES),$(test-smp-smp_CXXFILES)) +test-smp-smp_OBJC_NARCHFILES := $(filter-out $(test-smp-smp_ARCHFILES),$(test-smp-smp_OBJCFILES)) + +TMP_FILES := $(test-smp-smp_C_NARCHFILES) $(test-smp-smp_CXX_NARCHFILES) $(test-smp-smp_ASMFILES) $(test-smp-smp_OBJC_NARCHFILES) +test-smp-smp_OBJS := $(addsuffix .o,$(addprefix $(test-smp-smp_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-smp-smp_DEPS := $(addsuffix .d,$(addprefix $(test-smp-smp_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-smp-smp_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-smp-smp_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-smp-smp_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-smp-smp_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-smp-smp_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-smp-smp_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-smp-smp_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-smp-smp_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-smp-smp_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-smp-smp_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-smp-smp_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-smp-smp_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-smp-smp_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-smp-smp_LDFLAGS := +endif + +test-smp-smp_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-smp-smp_COVERAGE := yes +test-smp-smp_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-smp-smp_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-smp-smp_CFLAGS := $(strip $(test-smp-smp_COVERAGEFLAGS) $(test-smp-smp_CFLAGS)) +test-smp-smp_CXXFLAGS := $(strip $(test-smp-smp_COVERAGEFLAGS) $(test-smp-smp_CXXFLAGS)) +test-smp-smp_LIBS += $(test-smp-smp_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-smp-smp_FUNCINSTR := yes +test-smp-smp_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-smp-smp_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-smp-smp_CFLAGS := $(strip $(test-smp-smp_INSTRFUNCFLAGS) $(test-smp-smp_CFLAGS)) +test-smp-smp_CXXFLAGS := $(strip $(test-smp-smp_INSTRFUNCFLAGS) $(test-smp-smp_CXXFLAGS)) +test-smp-smp_LIBS += $(test-smp-smp_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-smp-smp_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-smp-smp_CFLAGS)) +test-smp-smp_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-smp-smp_CXXFLAGS)) +endif +endif +test-smp-smp_AFLAGS := $(AFLAGS) +ifneq (,) + test-smp-smp_DFLAGS := +else + test-smp-smp_DFLAGS := $(test-smp-smp_CFLAGS) +endif +ifneq (,) + test-smp-smp_DXXFLAGS := +else + test-smp-smp_DXXFLAGS := $(test-smp-smp_CXXFLAGS) +endif +ifeq (target,target) +test-smp-smp_LDFLAGS := $(test-smp-smp_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-smp-smp_LDFLAGS := $(test-smp-smp_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-smp-smp_LDFLAGS := $(test-smp-smp_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-smp-smp_LDFLAGS += -L +endif + +#MM +test-smp-smp-quick : test-smp-smp + +#MM test-smp-smp : includes-generate-deps core-linklibs +test-smp-smp : $(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) + +ifneq ($(filter $(TARGET),test-smp-smp test-smp-smp-quick test-smp-smp-gz-quick),) + +test-smp-smp_CXXABSBASENAMES := $(foreach test-smp-smp_CXXBASE,$(test-smp-smp_CXX_NARCHFILES),$(if $(filter /%,$(test-smp-smp_CXXBASE)),$(test-smp-smp_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-smp-smp_CXXBASE)))) + +ifneq ($(test-smp-smp_CXXABSBASENAMES),) + +test-smp-smp_CXXBASENAMES := $(basename $(test-smp-smp_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-smp-smp_MCXX_FILES := $(strip $(foreach test-smp-smp_CXXBASE,$(test-smp-smp_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-smp-smp_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-smp-smp_EXT),$(test-smp-smp_CXXBASE))))))) + +ifeq (,) +test-smp-smp_MCXX_SRCWILDCARD := % +else +test-smp-smp_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-smp-smp_OBJDIR),) + test-smp-smp_CXXTARGETS := $(notdir $(test-smp-smp_CXXBASENAMES:=.o)) + test-smp-smp_CXXDTARGETS := $(notdir $(test-smp-smp_CXXBASENAMES:=.d)) + test-smp-smp_MCXX_WILDCARD := % +else + test-smp-smp_CXXTARGETS := $(addprefix $(test-smp-smp_OBJDIR)/,$(notdir $(test-smp-smp_CXXBASENAMES:=.o))) + test-smp-smp_CXXDTARGETS := $(addprefix $(test-smp-smp_OBJDIR)/,$(notdir $(test-smp-smp_CXXBASENAMES:=.d))) + test-smp-smp_MCXX_WILDCARD := $(test-smp-smp_OBJDIR)/% + + # Be sure that all source files are generated + $(test-smp-smp_CXXTARGETS) $(test-smp-smp_CXXDTARGETS) : | $(test-smp-smp_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-smp-smp_MCXX_CPPFLAGS := $(test-smp-smp_CPPFLAGS) +test-smp-smp_CXXFLAGS := $(test-smp-smp_CXXFLAGS) +ifeq ($(test-smp-smp_DXXFLAGS),) + test-smp-smp_DXXFLAGS := $(test-smp-smp_CXXFLAGS) +else + test-smp-smp_DXXFLAGS := $(test-smp-smp_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-smp-smp_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-smp-smp_STRIP ?= $(HOST_STRIP) + test-smp-smp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-smp-smp_CXXCMD:=$(HOST_CXX) + test-smp-smp_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-smp-smp_MCXX_CPPFLAGS) $(test-smp-smp_MCXX_EXTRA_CPPFLAGS)) + test-smp-smp_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-smp-smp_CXXFLAGS)) + test-smp-smp_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-smp-smp_DXXFLAGS)) + test-smp-smp_CXXIQUOTE:=$(HOST_IQUOTE) + test-smp-smp_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-smp-smp_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-smp-smp_STRIP ?= $(TARGET_STRIP) + test-smp-smp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-smp-smp_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-smp-smp_MCXX_CPPFLAGS := $(strip $(test-smp-smp_MCXX_CPPFLAGS) $(test-smp-smp_MCXX_EXTRA_CPPFLAGS)) + test-smp-smp_CXXFLAGS := $(strip $(test-smp-smp_CXXFLAGS) $(SAFETY_CFLAGS)) + test-smp-smp_DXXFLAGS := $(test-smp-smp_DXXFLAGS) + test-smp-smp_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-smp-smp_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-smp-smp_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-smp-smp_STRIP ?= $(ECHO) >/dev/null + test-smp-smp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-smp-smp_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-smp-smp_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-smp-smp_MCXX_CPPFLAGS) $(test-smp-smp_MCXX_EXTRA_CPPFLAGS)) + test-smp-smp_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-smp-smp_CXXFLAGS)) + test-smp-smp_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-smp-smp_DXXFLAGS)) + test-smp-smp_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-smp-smp_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-smp-smp_CXXCMD) $(test-smp-smp_CXXIQUOTE) $(dir $(2)) $(test-smp-smp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_CXXIQUOTE) . $(test-smp-smp_CXXIQUOTE_END) $(strip $(test-smp-smp_CXXFLAGS) $(test-smp-smp_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-smp-smp_CXXCMD) $(test-smp-smp_CXXIQUOTE) $(dir $(2)) $(test-smp-smp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_CXXIQUOTE) . $(test-smp-smp_CXXIQUOTE_END) $(strip $(test-smp-smp_CXXFLAGS) $(test-smp-smp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-smp-smp_CXXCMD) $(test-smp-smp_CXXIQUOTE) $(dir $(2)) $(test-smp-smp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_CXXIQUOTE) . $(test-smp-smp_CXXIQUOTE_END) $(strip $(test-smp-smp_CXXFLAGS) $(test-smp-smp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-smp-smp_CXXCMD)" $(MKDEPEND) $(strip $(test-smp-smp_DXXFLAGS) $(test-smp-smp_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-smp-smp_OBJDIR),) + $(foreach test-smp-smp_CXXFILE,$(test-smp-smp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-smp-smp_CXXFILE))),$(test-smp-smp_CXXFILE)))) +else + $(foreach test-smp-smp_CXXFILE,$(test-smp-smp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-smp-smp_OBJDIR)/,$(notdir $(basename $(test-smp-smp_CXXFILE)))),$(test-smp-smp_CXXFILE)))) +endif + +endif + + +ifneq ($(test-smp-smp_OBJC_NARCHFILES),) + +ifeq (,) +test-smp-smp_MOBJC_SRCWILDCARD := % +else +test-smp-smp_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-smp-smp_OBJDIR),) + test-smp-smp_MOBJC_TARGETS := $(addsuffix .o,$(test-smp-smp_OBJC_NARCHFILES)) + test-smp-smp_MOBJC_DTARGETS := $(addsuffix .d,$(test-smp-smp_OBJC_NARCHFILES)) + test-smp-smp_MOBJC_WILDCARD := % +else + test-smp-smp_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp_OBJDIR)/,$(test-smp-smp_OBJC_NARCHFILES))) + test-smp-smp_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-smp-smp_OBJDIR)/,$(test-smp-smp_OBJC_NARCHFILES))) + test-smp-smp_MOBJC_WILDCARD := $(test-smp-smp_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-smp-smp_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-smp-smp_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-smp-smp_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-smp-smp_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-smp-smp_MOBJC_DIRS := $(foreach dir, $(test-smp-smp_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-smp-smp_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-smp-smp_MOBJC_DIRS),) + test-smp-smp_MOBJC_DIRS := $(shell echo $(test-smp-smp_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-smp-smp_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-smp-smp_CC := $(TARGET_CC) +else + test-smp-smp_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-smp-smp_MOBJC_CPPFLAGS := $(test-smp-smp_CPPFLAGS) +test-smp-smp_OBJCFLAGS := $(test-smp-smp_CFLAGS) +test-smp-smp_OBJCFLAGS := $(test-smp-smp_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-smp-smp_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-smp-smp_OBJCFLAGS))) +ifeq ($(test-smp-smp_DFLAGS),) + test-smp-smp_OBJCDFLAGS := $(test-smp-smp_CFLAGS) +else + test-smp-smp_OBJCDFLAGS := $(test-smp-smp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-smp-smp_LINK ?= $(strip $(test-smp-smp_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-smp-smp_STRIP ?= $(TARGET_STRIP) + test-smp-smp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : CMD:=$(strip $(test-smp-smp_CC) $(TARGET_SYSROOT)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_MOBJC_CPPFLAGS:=$(strip $(test-smp-smp_MOBJC_CPPFLAGS) $(test-smp-smp_MOBJC_EXTRA_CPPFLAGS)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_OBJCFLAGS:=$(strip $(test-smp-smp_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_OBJCDFLAGS:=$(test-smp-smp_OBJCDFLAGS) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-smp-smp_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-smp-smp_STRIP ?= $(HOST_STRIP) + test-smp-smp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-smp-smp_MOBJC_CPPFLAGS) $(test-smp-smp_MOBJC_EXTRA_CPPFLAGS)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-smp-smp_OBJCFLAGS)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-smp-smp_OBJCDFLAGS)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_IQUOTE:=$(HOST_IQUOTE) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-smp-smp_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-smp-smp_STRIP ?= $(ECHO) >/dev/null + test-smp-smp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-smp-smp_MOBJC_CPPFLAGS) $(test-smp-smp_MOBJC_EXTRA_CPPFLAGS)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-smp-smp_OBJCFLAGS)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-smp-smp_OBJCDFLAGS)) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_IQUOTE:=$(KERNEL_IQUOTE) + $(test-smp-smp_MOBJC_TARGETS) $(test-smp-smp_MOBJC_DTARGETS) : test-smp-smp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-smp-smp_MOBJC_TARGETS) : CPPFLAGS := $(test-smp-smp_MOBJC_CPPFLAGS) +$(test-smp-smp_MOBJC_TARGETS) : CFLAGS := $(test-smp-smp_OBJCFLAGS) +$(test-smp-smp_MOBJC_TARGETS) : $(test-smp-smp_MOBJC_WILDCARD).o : $(test-smp-smp_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-smp-smp_IQUOTE) $(dir $<) $(test-smp-smp_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_IQUOTE) . $(test-smp-smp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-smp-smp_IQUOTE) $(dir $<) $(test-smp-smp_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_IQUOTE) . $(test-smp-smp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-smp-smp_IQUOTE) $(dir $<) $(test-smp-smp_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_IQUOTE) . $(test-smp-smp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-smp-smp_MOBJC_DTARGETS) : $(test-smp-smp_MOBJC_WILDCARD).d : $(test-smp-smp_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-smp-smp_OBJCDFLAGS) $(test-smp-smp_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-smp-smp_MC_SRCWILDCARD := % +else +test-smp-smp_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-smp-smp_OBJDIR),) +test-smp-smp_MC_TARGETS := $(addsuffix .o,$(test-smp-smp_C_NARCHFILES)) +test-smp-smp_MC_DTARGETS := $(addsuffix .d,$(test-smp-smp_C_NARCHFILES)) +test-smp-smp_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-smp-smp_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp_OBJDIR)/,$(notdir $(test-smp-smp_C_NARCHFILES)))) + test-smp-smp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-smp-smp_OBJDIR)/,$(notdir $(test-smp-smp_C_NARCHFILES)))) +else +ifeq (,) + test-smp-smp_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp_OBJDIR)/,$(test-smp-smp_C_NARCHFILES))) + test-smp-smp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-smp-smp_OBJDIR)/,$(test-smp-smp_C_NARCHFILES))) +else + test-smp-smp_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp_OBJDIR)/,$(patsubst /%,%,$(test-smp-smp_C_NARCHFILES)))) + test-smp-smp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-smp-smp_OBJDIR)/,$(patsubst /%,%,$(test-smp-smp_C_NARCHFILES)))) +endif +endif +test-smp-smp_MC_TGTWILDCARD := $(test-smp-smp_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : | $(addsuffix .c,$(test-smp-smp_C_NARCHFILES)) + +# Be sure that all .c files are found +test-smp-smp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-smp-smp_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-smp-smp_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-smp-smp_MC_DIRS := $(foreach dir, $(test-smp-smp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-smp-smp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-smp-smp_MC_DIRS),) + test-smp-smp_MC_DIRS := $(shell echo $(test-smp-smp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-smp-smp_MC_DIRS) +endif + +endif + +test-smp-smp_MC_CPPFLAGS := $(test-smp-smp_CPPFLAGS) +test-smp-smp_CFLAGS := $(test-smp-smp_CFLAGS) +ifeq ($(test-smp-smp_DFLAGS),) + test-smp-smp_DFLAGS := $(test-smp-smp_CFLAGS) +else + test-smp-smp_DFLAGS := $(test-smp-smp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-smp-smp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-smp-smp_STRIP ?= $(TARGET_STRIP) +test-smp-smp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_MC_CPPFLAGS:=$(strip $(test-smp-smp_MC_CPPFLAGS) $(test-smp-smp_MC_EXTRA_CPPFLAGS)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_CFLAGS:=$(strip $(test-smp-smp_CFLAGS) $(SAFETY_CFLAGS)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_DFLAGS:=$(test-smp-smp_DFLAGS) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-smp-smp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-smp-smp_STRIP ?= $(HOST_STRIP) +test-smp-smp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-smp-smp_MC_CPPFLAGS) $(test-smp-smp_MC_EXTRA_CPPFLAGS)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-smp-smp_CFLAGS)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-smp-smp_DFLAGS)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_IQUOTE:=$(HOST_IQUOTE) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-smp-smp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-smp-smp_STRIP ?= $(ECHO) >/dev/null +test-smp-smp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-smp-smp_MC_CPPFLAGS) $(test-smp-smp_MC_EXTRA_CPPFLAGS)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-smp-smp_CFLAGS)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-smp-smp_DFLAGS)) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_IQUOTE:=$(KERNEL_IQUOTE) +$(test-smp-smp_MC_TARGETS) $(test-smp-smp_MC_DTARGETS) : test-smp-smp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-smp-smp_MC_TARGETS) : CPPFLAGS := $(test-smp-smp_MC_CPPFLAGS) +$(test-smp-smp_MC_TARGETS) : CFLAGS := $(test-smp-smp_CFLAGS) +$(test-smp-smp_MC_TARGETS) : $(test-smp-smp_MC_TGTWILDCARD).o : $(test-smp-smp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-smp-smp_IQUOTE) $(dir $<) $(test-smp-smp_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_IQUOTE) . $(test-smp-smp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-smp-smp_IQUOTE) $(dir $<) $(test-smp-smp_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_IQUOTE) . $(test-smp-smp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-smp-smp_IQUOTE) $(dir $<) $(test-smp-smp_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-smp-smp_IQUOTE) . $(test-smp-smp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-smp-smp_MC_DTARGETS) : $(test-smp-smp_MC_TGTWILDCARD).d : $(test-smp-smp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-smp-smp_DFLAGS) $(test-smp-smp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-smp-smp_OBJDIR),) +test-smp-smp-MA_TARGETS := $(addsuffix .o,$(test-smp-smp_ASMFILES)) +test-smp-smp-MA_WILDCARD := % +else +test-smp-smp-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-smp-smp_OBJDIR)/,$(notdir $(test-smp-smp_ASMFILES)))) +test-smp-smp-MA_WILDCARD := $(test-smp-smp_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-smp-smp-MA_TARGETS) : | $(addsuffix .s,$(test-smp-smp_ASMFILES)) + +# Be sure that all .c files are found +test-smp-smp-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-smp-smp-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-smp-smp_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-smp-smp-MA_DIRS := $(foreach dir, $(test-smp-smp-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-smp-smp-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-smp-smp-MA_DIRS),) + test-smp-smp-MA_DIRS := $(shell echo $(test-smp-smp-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-smp-smp-MA_DIRS) +endif + +endif + +test-smp-smp-MA_ASSEMBLER ?= $(test-smp-smp_ASSEMBLER) + +$(test-smp-smp-MA_TARGETS) : test-smp-smp-MA_CMD:= $(test-smp-smp-MA_ASSEMBLER) + +$(test-smp-smp-MA_TARGETS) : CPPFLAGS := $(test-smp-smp_CPPFLAGS) +$(test-smp-smp-MA_TARGETS) : AFLAGS := $(test-smp-smp_AFLAGS) +$(test-smp-smp-MA_TARGETS) : $(test-smp-smp-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-smp-smp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-smp-smp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-smp-smp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-smp-smp-link_EXTRA_LDFLAGS := +test-smp-smp-link_EXTRA_LIBS := +ifeq (no,yes) + test-smp-smp-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-smp-smp-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-smp-smp-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-smp-smp-link_DIRS := $(subst -L ,-L,$(strip $(test-smp-smp_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-smp-smp-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-smp-smp-link_DIRS))) +# Add trailing / +test-smp-smp-link_DIRS := $(subst //,/,$(addsuffix /,$(test-smp-smp-link_DIRS))) +# Add normal linklib path +test-smp-smp-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-smp-smp-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-smp-smp_LIBS) $(test-smp-smp-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-smp-smp-link_LIBS += startup.o +endif +ifeq (no,yes) + test-smp-smp-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-smp-smp-link_DEPLIBS := $(foreach lib,$(test-smp-smp-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-smp-smp-link_DIRS)))) \ +) + +$(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) : OBJDIR := $(test-smp-smp_OBJDIR) +$(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) : OBJS := $(test-smp-smp_OBJS) $(test-smp-smp_ARCHOBJS) $(USER_OBJS) +$(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) : LDFLAGS := $(strip $(test-smp-smp_LDFLAGS) $(test-smp-smp-link_EXTRA_LDFLAGS)) +$(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) : LIBS := $(addprefix -l,$(test-smp-smp_LIBS) $(test-smp-smp-link_EXTRA_LIBS) ) +$(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) : $(test-smp-smp_OBJS) $(test-smp-smp_ARCHOBJS) $(USER_OBJS) $(test-smp-smp-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-smp-smp_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-smp-smp_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-smp-smp_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-smp-smp_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-smp-smp_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-smp-smp_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-smp-smp_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-smp-smp_DEPS),) + ifneq (test-smp-smp test-smp-smp-quick,) + ifneq ($(findstring $(TARGET),test-smp-smp test-smp-smp-quick),) + -include $(test-smp-smp_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-smp-smp_DEPS) + endif + endif +endif + + +ifneq ($(test-smp-smp_OBJS) $(test-smp-smp_DEPS) $(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME),) +$(test-smp-smp_OBJS) $(test-smp-smp_DEPS) $(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) : | $(test-smp-smp_OBJDIR) $(test-smp-smp_TARGETDIR) +else +$(test-smp-smp_OBJS) $(test-smp-smp_DEPS) $(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) :: $(test-smp-smp_OBJDIR) $(test-smp-smp_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-smp-smp_OBJDIR) $(test-smp-smp_TARGETDIR) + + +test-smp-smp-clean : FILES := $(test-smp-smp_OBJS) $(test-smp-smp_TARGETDIR)/$(test-smp-smp_PROGNAME) $(test-smp-smp_DEPS) +#MM +test-smp-smp-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-smp-smp" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/timer/mmakefile b/developer/debug/test/timer/mmakefile new file mode 100644 index 00000000000..7ba4bcbcf79 --- /dev/null +++ b/developer/debug/test/timer/mmakefile @@ -0,0 +1,299 @@ +# $Id$ +# +# Makefile for AROS timer.device tests + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + getsystime + +EXEDIR := $(AROS_TESTS)/timer + +#MM test-timer : includes linklibs + +#MM- test : test-timer +#MM- test-quick : test-timer-quick + + +.PHONY : test-timer + +test-timer_OBJDIR := $(GENDIR)/$(CURDIR) +test-timer_TARGETDIR := $(EXEDIR) +test-timer_LIBS := + +test-timer_FILES := $(FILES) +test-timer_OBJS := $(addsuffix .o,$(addprefix $(test-timer_OBJDIR)/,$(test-timer_FILES))) +test-timer_DEPS := $(addsuffix .d,$(addprefix $(test-timer_OBJDIR)/,$(test-timer_FILES))) +test-timer_EXES := $(addprefix $(test-timer_TARGETDIR)/,$(test-timer_FILES)) + +test-timer_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-timer_CPPFLAGS += -I +endif +test-timer_CFLAGS := $(CFLAGS) +test-timer_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-timer_COVERAGE := yes +test-timer_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-timer_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-timer_CFLAGS := $(strip $(test-timer_COVERAGEFLAGS) $(test-timer_CFLAGS)) +test-timer_LIBS += $(test-timer_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-timer_FUNCINSTR := yes +test-timer_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-timer_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-timer_CFLAGS := $(strip $(test-timer_INSTRFUNCFLAGS) $(test-timer_CFLAGS)) +test-timer_LIBS += $(test-timer_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-timer_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-timer_CFLAGS)) +endif +endif +ifneq (,) + test-timer_DFLAGS := +else + test-timer_DFLAGS := $(test-timer_CFLAGS) +endif +ifeq (target,target) +test-timer_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-timer_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-timer_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-timer_LDFLAGS += -L +endif + +#MM +test-timer-quick : test-timer + +#MM test-timer : includes-generate-deps core-linklibs +test-timer : $(test-timer_EXES) + +ifneq ($(filter $(TARGET),test-timer test-timer-quick),) + +ifeq (,) +test-timer_MC_SRCWILDCARD := % +else +test-timer_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-timer_OBJDIR),) +test-timer_MC_TARGETS := $(addsuffix .o,$(test-timer_FILES)) +test-timer_MC_DTARGETS := $(addsuffix .d,$(test-timer_FILES)) +test-timer_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-timer_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-timer_OBJDIR)/,$(notdir $(test-timer_FILES)))) + test-timer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-timer_OBJDIR)/,$(notdir $(test-timer_FILES)))) +else +ifeq (,) + test-timer_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-timer_OBJDIR)/,$(test-timer_FILES))) + test-timer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-timer_OBJDIR)/,$(test-timer_FILES))) +else + test-timer_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-timer_OBJDIR)/,$(patsubst /%,%,$(test-timer_FILES)))) + test-timer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-timer_OBJDIR)/,$(patsubst /%,%,$(test-timer_FILES)))) +endif +endif +test-timer_MC_TGTWILDCARD := $(test-timer_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : | $(addsuffix .c,$(test-timer_FILES)) + +# Be sure that all .c files are found +test-timer_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-timer_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-timer_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-timer_MC_DIRS := $(foreach dir, $(test-timer_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-timer_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-timer_MC_DIRS),) + test-timer_MC_DIRS := $(shell echo $(test-timer_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-timer_MC_DIRS) +endif + +endif + +test-timer_MC_CPPFLAGS := $(test-timer_CPPFLAGS) +test-timer_CFLAGS := $(test-timer_CFLAGS) +ifeq ($(test-timer_DFLAGS),) + test-timer_DFLAGS := $(test-timer_CFLAGS) +else + test-timer_DFLAGS := $(test-timer_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-timer_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-timer_STRIP ?= $(TARGET_STRIP) +test-timer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_MC_CPPFLAGS:=$(strip $(test-timer_MC_CPPFLAGS) $(test-timer_MC_EXTRA_CPPFLAGS)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_CFLAGS:=$(strip $(test-timer_CFLAGS) $(SAFETY_CFLAGS)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_DFLAGS:=$(test-timer_DFLAGS) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-timer_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-timer_STRIP ?= $(HOST_STRIP) +test-timer_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-timer_MC_CPPFLAGS) $(test-timer_MC_EXTRA_CPPFLAGS)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-timer_CFLAGS)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-timer_DFLAGS)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_IQUOTE:=$(HOST_IQUOTE) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-timer_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-timer_STRIP ?= $(ECHO) >/dev/null +test-timer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-timer_MC_CPPFLAGS) $(test-timer_MC_EXTRA_CPPFLAGS)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-timer_CFLAGS)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-timer_DFLAGS)) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_IQUOTE:=$(KERNEL_IQUOTE) +$(test-timer_MC_TARGETS) $(test-timer_MC_DTARGETS) : test-timer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-timer_MC_TARGETS) : CPPFLAGS := $(test-timer_MC_CPPFLAGS) +$(test-timer_MC_TARGETS) : CFLAGS := $(test-timer_CFLAGS) +$(test-timer_MC_TARGETS) : $(test-timer_MC_TGTWILDCARD).o : $(test-timer_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-timer_IQUOTE) $(dir $<) $(test-timer_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-timer_IQUOTE) . $(test-timer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-timer_IQUOTE) $(dir $<) $(test-timer_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-timer_IQUOTE) . $(test-timer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-timer_IQUOTE) $(dir $<) $(test-timer_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-timer_IQUOTE) . $(test-timer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-timer_MC_DTARGETS) : $(test-timer_MC_TGTWILDCARD).d : $(test-timer_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-timer_DFLAGS) $(test-timer_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-timer-link_EXTRA_LDFLAGS := +test-timer-link_EXTRA_LIBS := +ifeq (no,yes) + test-timer-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-timer-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-timer-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-timer-link_DIRS := $(subst -L ,-L,$(strip $(test-timer_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-timer-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-timer-link_DIRS))) +# Add trailing / +test-timer-link_DIRS := $(subst //,/,$(addsuffix /,$(test-timer-link_DIRS))) +# Add normal linklib path +test-timer-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-timer-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-timer_LIBS) $(test-timer-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-timer-link_DEPLIBS := $(foreach lib,$(test-timer-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-timer-link_DIRS)))) \ +) +test-timer-link_PROGS := $(addprefix $(test-timer_TARGETDIR)/,$(test-timer_FILES)) + +$(test-timer-link_PROGS) : OBJDIR := $(test-timer_OBJDIR) +$(test-timer-link_PROGS) : LDFLAGS := $(strip $(test-timer_LDFLAGS) $(test-timer-link_EXTRA_LDFLAGS)) +$(test-timer-link_PROGS) : LIBS := $(addprefix -l,$(test-timer_LIBS) $(test-timer-link_EXTRA_LIBS) ) +$(test-timer-link_PROGS) : $(test-timer_TARGETDIR)/% : $(test-timer_OBJDIR)/%.o $(test-timer-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-timer_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-timer_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-timer_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-timer_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-timer_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-timer_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-timer_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-timer_DEPS),) + ifneq (test-timer test-timer-quick,) + ifneq ($(findstring $(TARGET),test-timer test-timer-quick),) + -include $(test-timer_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-timer_DEPS) + endif + endif +endif + + +ifneq ($(test-timer_DEPS) $(test-timer_OBJS) $(addprefix $(test-timer_TARGETDIR)/,$(test-timer_FILES)),) +$(test-timer_DEPS) $(test-timer_OBJS) $(addprefix $(test-timer_TARGETDIR)/,$(test-timer_FILES)) : | $(test-timer_TARGETDIR) $(test-timer_OBJDIR) +else +$(test-timer_DEPS) $(test-timer_OBJS) $(addprefix $(test-timer_TARGETDIR)/,$(test-timer_FILES)) :: $(test-timer_TARGETDIR) $(test-timer_OBJDIR) +endif + +GLOB_MKDIRS += $(test-timer_TARGETDIR) $(test-timer_OBJDIR) + + +test-timer-clean : FILES := $(test-timer_OBJS) $(test-timer_EXES) $(test-timer_DEPS) +#MM +test-timer-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-timer" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/utility/mmakefile b/developer/debug/test/utility/mmakefile new file mode 100644 index 00000000000..7453fefc428 --- /dev/null +++ b/developer/debug/test/utility/mmakefile @@ -0,0 +1,306 @@ +# Copyright © 2003-2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + amiga2date \ + callhooktest \ + date2amiga \ + setmem \ + smult \ + utility50 \ + vartags \ + +EXEDIR := $(AROS_TESTS)/utility + +USER_CFLAGS += -DADATE="\"$(shell date '+%d.%m.%Y')\"" + +#MM- test : test-utility +#MM- test-quick : test-utility-quick + +#MM test-utility : includes linklibs + + +.PHONY : test-utility + +test-utility_OBJDIR := $(GENDIR)/$(CURDIR) +test-utility_TARGETDIR := $(EXEDIR) +test-utility_LIBS := + +test-utility_FILES := $(FILES) +test-utility_OBJS := $(addsuffix .o,$(addprefix $(test-utility_OBJDIR)/,$(test-utility_FILES))) +test-utility_DEPS := $(addsuffix .d,$(addprefix $(test-utility_OBJDIR)/,$(test-utility_FILES))) +test-utility_EXES := $(addprefix $(test-utility_TARGETDIR)/,$(test-utility_FILES)) + +test-utility_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-utility_CPPFLAGS += -I +endif +test-utility_CFLAGS := $(CFLAGS) +test-utility_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-utility_COVERAGE := yes +test-utility_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-utility_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-utility_CFLAGS := $(strip $(test-utility_COVERAGEFLAGS) $(test-utility_CFLAGS)) +test-utility_LIBS += $(test-utility_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-utility_FUNCINSTR := yes +test-utility_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-utility_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-utility_CFLAGS := $(strip $(test-utility_INSTRFUNCFLAGS) $(test-utility_CFLAGS)) +test-utility_LIBS += $(test-utility_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-utility_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-utility_CFLAGS)) +endif +endif +ifneq (,) + test-utility_DFLAGS := +else + test-utility_DFLAGS := $(test-utility_CFLAGS) +endif +ifeq (target,target) +test-utility_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-utility_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-utility_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-utility_LDFLAGS += -L +endif + +#MM +test-utility-quick : test-utility + +#MM test-utility : includes-generate-deps core-linklibs +test-utility : $(test-utility_EXES) + +ifneq ($(filter $(TARGET),test-utility test-utility-quick),) + +ifeq (,) +test-utility_MC_SRCWILDCARD := % +else +test-utility_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-utility_OBJDIR),) +test-utility_MC_TARGETS := $(addsuffix .o,$(test-utility_FILES)) +test-utility_MC_DTARGETS := $(addsuffix .d,$(test-utility_FILES)) +test-utility_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-utility_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-utility_OBJDIR)/,$(notdir $(test-utility_FILES)))) + test-utility_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-utility_OBJDIR)/,$(notdir $(test-utility_FILES)))) +else +ifeq (,) + test-utility_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-utility_OBJDIR)/,$(test-utility_FILES))) + test-utility_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-utility_OBJDIR)/,$(test-utility_FILES))) +else + test-utility_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-utility_OBJDIR)/,$(patsubst /%,%,$(test-utility_FILES)))) + test-utility_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-utility_OBJDIR)/,$(patsubst /%,%,$(test-utility_FILES)))) +endif +endif +test-utility_MC_TGTWILDCARD := $(test-utility_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : | $(addsuffix .c,$(test-utility_FILES)) + +# Be sure that all .c files are found +test-utility_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-utility_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-utility_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-utility_MC_DIRS := $(foreach dir, $(test-utility_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-utility_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-utility_MC_DIRS),) + test-utility_MC_DIRS := $(shell echo $(test-utility_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-utility_MC_DIRS) +endif + +endif + +test-utility_MC_CPPFLAGS := $(test-utility_CPPFLAGS) +test-utility_CFLAGS := $(test-utility_CFLAGS) +ifeq ($(test-utility_DFLAGS),) + test-utility_DFLAGS := $(test-utility_CFLAGS) +else + test-utility_DFLAGS := $(test-utility_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-utility_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-utility_STRIP ?= $(TARGET_STRIP) +test-utility_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_MC_CPPFLAGS:=$(strip $(test-utility_MC_CPPFLAGS) $(test-utility_MC_EXTRA_CPPFLAGS)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_CFLAGS:=$(strip $(test-utility_CFLAGS) $(SAFETY_CFLAGS)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_DFLAGS:=$(test-utility_DFLAGS) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-utility_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-utility_STRIP ?= $(HOST_STRIP) +test-utility_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-utility_MC_CPPFLAGS) $(test-utility_MC_EXTRA_CPPFLAGS)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-utility_CFLAGS)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-utility_DFLAGS)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_IQUOTE:=$(HOST_IQUOTE) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-utility_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-utility_STRIP ?= $(ECHO) >/dev/null +test-utility_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-utility_MC_CPPFLAGS) $(test-utility_MC_EXTRA_CPPFLAGS)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-utility_CFLAGS)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-utility_DFLAGS)) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_IQUOTE:=$(KERNEL_IQUOTE) +$(test-utility_MC_TARGETS) $(test-utility_MC_DTARGETS) : test-utility_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-utility_MC_TARGETS) : CPPFLAGS := $(test-utility_MC_CPPFLAGS) +$(test-utility_MC_TARGETS) : CFLAGS := $(test-utility_CFLAGS) +$(test-utility_MC_TARGETS) : $(test-utility_MC_TGTWILDCARD).o : $(test-utility_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-utility_IQUOTE) $(dir $<) $(test-utility_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-utility_IQUOTE) . $(test-utility_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-utility_IQUOTE) $(dir $<) $(test-utility_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-utility_IQUOTE) . $(test-utility_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-utility_IQUOTE) $(dir $<) $(test-utility_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-utility_IQUOTE) . $(test-utility_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-utility_MC_DTARGETS) : $(test-utility_MC_TGTWILDCARD).d : $(test-utility_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-utility_DFLAGS) $(test-utility_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-utility-link_EXTRA_LDFLAGS := +test-utility-link_EXTRA_LIBS := +ifeq (no,yes) + test-utility-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-utility-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-utility-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-utility-link_DIRS := $(subst -L ,-L,$(strip $(test-utility_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-utility-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-utility-link_DIRS))) +# Add trailing / +test-utility-link_DIRS := $(subst //,/,$(addsuffix /,$(test-utility-link_DIRS))) +# Add normal linklib path +test-utility-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-utility-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-utility_LIBS) $(test-utility-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-utility-link_DEPLIBS := $(foreach lib,$(test-utility-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-utility-link_DIRS)))) \ +) +test-utility-link_PROGS := $(addprefix $(test-utility_TARGETDIR)/,$(test-utility_FILES)) + +$(test-utility-link_PROGS) : OBJDIR := $(test-utility_OBJDIR) +$(test-utility-link_PROGS) : LDFLAGS := $(strip $(test-utility_LDFLAGS) $(test-utility-link_EXTRA_LDFLAGS)) +$(test-utility-link_PROGS) : LIBS := $(addprefix -l,$(test-utility_LIBS) $(test-utility-link_EXTRA_LIBS) ) +$(test-utility-link_PROGS) : $(test-utility_TARGETDIR)/% : $(test-utility_OBJDIR)/%.o $(test-utility-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-utility_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-utility_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-utility_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-utility_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-utility_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-utility_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-utility_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-utility_DEPS),) + ifneq (test-utility test-utility-quick,) + ifneq ($(findstring $(TARGET),test-utility test-utility-quick),) + -include $(test-utility_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-utility_DEPS) + endif + endif +endif + + +ifneq ($(test-utility_DEPS) $(test-utility_OBJS) $(addprefix $(test-utility_TARGETDIR)/,$(test-utility_FILES)),) +$(test-utility_DEPS) $(test-utility_OBJS) $(addprefix $(test-utility_TARGETDIR)/,$(test-utility_FILES)) : | $(test-utility_TARGETDIR) $(test-utility_OBJDIR) +else +$(test-utility_DEPS) $(test-utility_OBJS) $(addprefix $(test-utility_TARGETDIR)/,$(test-utility_FILES)) :: $(test-utility_TARGETDIR) $(test-utility_OBJDIR) +endif + +GLOB_MKDIRS += $(test-utility_TARGETDIR) $(test-utility_OBJDIR) + + +test-utility-clean : FILES := $(test-utility_OBJS) $(test-utility_EXES) $(test-utility_DEPS) +#MM +test-utility-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-utility" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/debug/test/z/mmakefile b/developer/debug/test/z/mmakefile new file mode 100644 index 00000000000..ac3dfe47445 --- /dev/null +++ b/developer/debug/test/z/mmakefile @@ -0,0 +1,296 @@ +# Copyright © 2012, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := version +EXEDIR := $(AROS_TESTS)/z + +#MM- test : test-z +#MM- test-quick : test-z-quick + +#MM test-z : includes linklibs workbench-libs-z + + +.PHONY : test-z + +test-z_OBJDIR := $(GENDIR)/$(CURDIR) +test-z_TARGETDIR := $(EXEDIR) +test-z_LIBS := z + +test-z_FILES := $(FILES) +test-z_OBJS := $(addsuffix .o,$(addprefix $(test-z_OBJDIR)/,$(test-z_FILES))) +test-z_DEPS := $(addsuffix .d,$(addprefix $(test-z_OBJDIR)/,$(test-z_FILES))) +test-z_EXES := $(addprefix $(test-z_TARGETDIR)/,$(test-z_FILES)) + +test-z_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + test-z_CPPFLAGS += -I +endif +test-z_CFLAGS := $(CFLAGS) +test-z_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-z_COVERAGE := yes +test-z_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-z_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-z_CFLAGS := $(strip $(test-z_COVERAGEFLAGS) $(test-z_CFLAGS)) +test-z_LIBS += $(test-z_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-z_FUNCINSTR := yes +test-z_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-z_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-z_CFLAGS := $(strip $(test-z_INSTRFUNCFLAGS) $(test-z_CFLAGS)) +test-z_LIBS += $(test-z_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-z_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-z_CFLAGS)) +endif +endif +ifneq (,) + test-z_DFLAGS := +else + test-z_DFLAGS := $(test-z_CFLAGS) +endif +ifeq (target,target) +test-z_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-z_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-z_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + test-z_LDFLAGS += -L +endif + +#MM +test-z-quick : test-z + +#MM test-z : includes-generate-deps core-linklibs +test-z : $(test-z_EXES) + +ifneq ($(filter $(TARGET),test-z test-z-quick),) + +ifeq (,) +test-z_MC_SRCWILDCARD := % +else +test-z_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-z_OBJDIR),) +test-z_MC_TARGETS := $(addsuffix .o,$(test-z_FILES)) +test-z_MC_DTARGETS := $(addsuffix .d,$(test-z_FILES)) +test-z_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-z_OBJDIR)/,$(notdir $(test-z_FILES)))) + test-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-z_OBJDIR)/,$(notdir $(test-z_FILES)))) +else +ifeq (,) + test-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-z_OBJDIR)/,$(test-z_FILES))) + test-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-z_OBJDIR)/,$(test-z_FILES))) +else + test-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-z_OBJDIR)/,$(patsubst /%,%,$(test-z_FILES)))) + test-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-z_OBJDIR)/,$(patsubst /%,%,$(test-z_FILES)))) +endif +endif +test-z_MC_TGTWILDCARD := $(test-z_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : | $(addsuffix .c,$(test-z_FILES)) + +# Be sure that all .c files are found +test-z_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-z_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-z_FILES))) | sed 's/\(.\):\//\/\1\//g') +test-z_MC_DIRS := $(foreach dir, $(test-z_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-z_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-z_MC_DIRS),) + test-z_MC_DIRS := $(shell echo $(test-z_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-z_MC_DIRS) +endif + +endif + +test-z_MC_CPPFLAGS := $(test-z_CPPFLAGS) +test-z_CFLAGS := $(test-z_CFLAGS) +ifeq ($(test-z_DFLAGS),) + test-z_DFLAGS := $(test-z_CFLAGS) +else + test-z_DFLAGS := $(test-z_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-z_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-z_STRIP ?= $(TARGET_STRIP) +test-z_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_MC_CPPFLAGS:=$(strip $(test-z_MC_CPPFLAGS) $(test-z_MC_EXTRA_CPPFLAGS)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_CFLAGS:=$(strip $(test-z_CFLAGS) $(SAFETY_CFLAGS)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_DFLAGS:=$(test-z_DFLAGS) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-z_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-z_STRIP ?= $(HOST_STRIP) +test-z_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-z_MC_CPPFLAGS) $(test-z_MC_EXTRA_CPPFLAGS)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-z_CFLAGS)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-z_DFLAGS)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_IQUOTE:=$(HOST_IQUOTE) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-z_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-z_STRIP ?= $(ECHO) >/dev/null +test-z_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-z_MC_CPPFLAGS) $(test-z_MC_EXTRA_CPPFLAGS)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-z_CFLAGS)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-z_DFLAGS)) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_IQUOTE:=$(KERNEL_IQUOTE) +$(test-z_MC_TARGETS) $(test-z_MC_DTARGETS) : test-z_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-z_MC_TARGETS) : CPPFLAGS := $(test-z_MC_CPPFLAGS) +$(test-z_MC_TARGETS) : CFLAGS := $(test-z_CFLAGS) +$(test-z_MC_TARGETS) : $(test-z_MC_TGTWILDCARD).o : $(test-z_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-z_IQUOTE) $(dir $<) $(test-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-z_IQUOTE) . $(test-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-z_IQUOTE) $(dir $<) $(test-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-z_IQUOTE) . $(test-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-z_IQUOTE) $(dir $<) $(test-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-z_IQUOTE) . $(test-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-z_MC_DTARGETS) : $(test-z_MC_TGTWILDCARD).d : $(test-z_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-z_DFLAGS) $(test-z_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +test-z-link_EXTRA_LDFLAGS := +test-z-link_EXTRA_LIBS := +ifeq (no,yes) + test-z-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-z-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-z-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +test-z-link_DIRS := $(subst -L ,-L,$(strip $(test-z_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-z-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-z-link_DIRS))) +# Add trailing / +test-z-link_DIRS := $(subst //,/,$(addsuffix /,$(test-z-link_DIRS))) +# Add normal linklib path +test-z-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-z-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-z_LIBS) $(test-z-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +test-z-link_DEPLIBS := $(foreach lib,$(test-z-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-z-link_DIRS)))) \ +) +test-z-link_PROGS := $(addprefix $(test-z_TARGETDIR)/,$(test-z_FILES)) + +$(test-z-link_PROGS) : OBJDIR := $(test-z_OBJDIR) +$(test-z-link_PROGS) : LDFLAGS := $(strip $(test-z_LDFLAGS) $(test-z-link_EXTRA_LDFLAGS)) +$(test-z-link_PROGS) : LIBS := $(addprefix -l,$(test-z_LIBS) $(test-z-link_EXTRA_LIBS) ) +$(test-z-link_PROGS) : $(test-z_TARGETDIR)/% : $(test-z_OBJDIR)/%.o $(test-z-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-z_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-z_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-z_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-z_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-z_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-z_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-z_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-z_DEPS),) + ifneq (test-z test-z-quick,) + ifneq ($(findstring $(TARGET),test-z test-z-quick),) + -include $(test-z_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-z_DEPS) + endif + endif +endif + + +ifneq ($(test-z_DEPS) $(test-z_OBJS) $(addprefix $(test-z_TARGETDIR)/,$(test-z_FILES)),) +$(test-z_DEPS) $(test-z_OBJS) $(addprefix $(test-z_TARGETDIR)/,$(test-z_FILES)) : | $(test-z_TARGETDIR) $(test-z_OBJDIR) +else +$(test-z_DEPS) $(test-z_OBJS) $(addprefix $(test-z_TARGETDIR)/,$(test-z_FILES)) :: $(test-z_TARGETDIR) $(test-z_OBJDIR) +endif + +GLOB_MKDIRS += $(test-z_TARGETDIR) $(test-z_OBJDIR) + + +test-z-clean : FILES := $(test-z_OBJS) $(test-z_EXES) $(test-z_DEPS) +#MM +test-z-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-z" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/demos/2View/mmakefile b/developer/demos/2View/mmakefile new file mode 100644 index 00000000000..a434195f853 --- /dev/null +++ b/developer/demos/2View/mmakefile @@ -0,0 +1,636 @@ +# $Id$ +# +# Makefile to make the 2View image viewer. + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + 2View \ + Misc \ + read + +EXEDIR := $(AROSDIR)/Demos + +#MM demos : includes linklibs + + +.PHONY : demos + +demos_PROGNAME := 2View +demos_OBJDIR := $(GENDIR)/$(CURDIR) +demos_TARGETDIR := $(EXEDIR) +demos_LINKER := +demos_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(demos_LINKER),) + demos_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + demos_FILES := $(FILES) + demos_OBJCFILES := + demos_ASMFILES := + demos_CXXFILES := +else + demos_FILES := $(demos_PROGNAME) + demos_OBJCFILES := + demos_ASMFILES := + demos_CXXFILES := +endif + +demos_ARCHOBJS := $(wildcard $(demos_OBJDIR)/arch/*.o) +demos_ARCHFILES := $(basename $(notdir $(demos_ARCHOBJS))) +demos_C_NARCHFILES := $(filter-out $(demos_ARCHFILES),$(demos_FILES)) +demos_CXX_NARCHFILES := $(filter-out $(demos_ARCHFILES),$(demos_CXXFILES)) +demos_OBJC_NARCHFILES := $(filter-out $(demos_ARCHFILES),$(demos_OBJCFILES)) + +TMP_FILES := $(demos_C_NARCHFILES) $(demos_CXX_NARCHFILES) $(demos_ASMFILES) $(demos_OBJC_NARCHFILES) +demos_OBJS := $(addsuffix .o,$(addprefix $(demos_OBJDIR)/,$(notdir $(TMP_FILES)))) +demos_DEPS := $(addsuffix .d,$(addprefix $(demos_OBJDIR)/,$(notdir $(TMP_FILES)))) + +demos_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +demos_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +demos_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +demos_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +demos_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +demos_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +demos_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +demos_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +demos_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +demos_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +demos_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +demos_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +demos_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +demos_LDFLAGS := +endif + +demos_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +demos_COVERAGE := yes +demos_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +demos_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +demos_CFLAGS := $(strip $(demos_COVERAGEFLAGS) $(demos_CFLAGS)) +demos_CXXFLAGS := $(strip $(demos_COVERAGEFLAGS) $(demos_CXXFLAGS)) +demos_LIBS += $(demos_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +demos_FUNCINSTR := yes +demos_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +demos_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +demos_CFLAGS := $(strip $(demos_INSTRFUNCFLAGS) $(demos_CFLAGS)) +demos_CXXFLAGS := $(strip $(demos_INSTRFUNCFLAGS) $(demos_CXXFLAGS)) +demos_LIBS += $(demos_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +demos_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(demos_CFLAGS)) +demos_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(demos_CXXFLAGS)) +endif +endif +demos_AFLAGS := $(AFLAGS) +ifneq (,) + demos_DFLAGS := +else + demos_DFLAGS := $(demos_CFLAGS) +endif +ifneq (,) + demos_DXXFLAGS := +else + demos_DXXFLAGS := $(demos_CXXFLAGS) +endif +ifeq (target,target) +demos_LDFLAGS := $(demos_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +demos_LDFLAGS := $(demos_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +demos_LDFLAGS := $(demos_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +demos_LDFLAGS += -L +endif + +#MM +demos-quick : demos + +#MM demos : includes-generate-deps core-linklibs +demos : $(demos_TARGETDIR)/$(demos_PROGNAME) + +ifneq ($(filter $(TARGET),demos demos-quick demos-gz-quick),) + +demos_CXXABSBASENAMES := $(foreach demos_CXXBASE,$(demos_CXX_NARCHFILES),$(if $(filter /%,$(demos_CXXBASE)),$(demos_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(demos_CXXBASE)))) + +ifneq ($(demos_CXXABSBASENAMES),) + +demos_CXXBASENAMES := $(basename $(demos_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +demos_MCXX_FILES := $(strip $(foreach demos_CXXBASE,$(demos_CXXABSBASENAMES), $(firstword $(wildcard $(foreach demos_EXT, $(AROS_CXXEXTS),$(addsuffix .$(demos_EXT),$(demos_CXXBASE))))))) + +ifeq (,) +demos_MCXX_SRCWILDCARD := % +else +demos_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(demos_OBJDIR),) + demos_CXXTARGETS := $(notdir $(demos_CXXBASENAMES:=.o)) + demos_CXXDTARGETS := $(notdir $(demos_CXXBASENAMES:=.d)) + demos_MCXX_WILDCARD := % +else + demos_CXXTARGETS := $(addprefix $(demos_OBJDIR)/,$(notdir $(demos_CXXBASENAMES:=.o))) + demos_CXXDTARGETS := $(addprefix $(demos_OBJDIR)/,$(notdir $(demos_CXXBASENAMES:=.d))) + demos_MCXX_WILDCARD := $(demos_OBJDIR)/% + + # Be sure that all source files are generated + $(demos_CXXTARGETS) $(demos_CXXDTARGETS) : | $(demos_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +demos_MCXX_CPPFLAGS := $(demos_CPPFLAGS) +demos_CXXFLAGS := $(demos_CXXFLAGS) +ifeq ($(demos_DXXFLAGS),) + demos_DXXFLAGS := $(demos_CXXFLAGS) +else + demos_DXXFLAGS := $(demos_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + demos_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + demos_STRIP ?= $(HOST_STRIP) + demos_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + demos_CXXCMD:=$(HOST_CXX) + demos_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(demos_MCXX_CPPFLAGS) $(demos_MCXX_EXTRA_CPPFLAGS)) + demos_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(demos_CXXFLAGS)) + demos_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(demos_DXXFLAGS)) + demos_CXXIQUOTE:=$(HOST_IQUOTE) + demos_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + demos_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + demos_STRIP ?= $(TARGET_STRIP) + demos_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + demos_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + demos_MCXX_CPPFLAGS := $(strip $(demos_MCXX_CPPFLAGS) $(demos_MCXX_EXTRA_CPPFLAGS)) + demos_CXXFLAGS := $(strip $(demos_CXXFLAGS) $(SAFETY_CFLAGS)) + demos_DXXFLAGS := $(demos_DXXFLAGS) + demos_CXXIQUOTE:=$(CFLAGS_IQUOTE) + demos_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + demos_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + demos_STRIP ?= $(ECHO) >/dev/null + demos_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + demos_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + demos_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(demos_MCXX_CPPFLAGS) $(demos_MCXX_EXTRA_CPPFLAGS)) + demos_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(demos_CXXFLAGS)) + demos_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(demos_DXXFLAGS)) + demos_CXXIQUOTE:=$(KERNEL_IQUOTE) + demos_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(demos_CXXCMD) $(demos_CXXIQUOTE) $(dir $(2)) $(demos_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(demos_CXXIQUOTE) . $(demos_CXXIQUOTE_END) $(strip $(demos_CXXFLAGS) $(demos_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(demos_CXXCMD) $(demos_CXXIQUOTE) $(dir $(2)) $(demos_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(demos_CXXIQUOTE) . $(demos_CXXIQUOTE_END) $(strip $(demos_CXXFLAGS) $(demos_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(demos_CXXCMD) $(demos_CXXIQUOTE) $(dir $(2)) $(demos_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(demos_CXXIQUOTE) . $(demos_CXXIQUOTE_END) $(strip $(demos_CXXFLAGS) $(demos_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(demos_CXXCMD)" $(MKDEPEND) $(strip $(demos_DXXFLAGS) $(demos_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(demos_OBJDIR),) + $(foreach demos_CXXFILE,$(demos_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(demos_CXXFILE))),$(demos_CXXFILE)))) +else + $(foreach demos_CXXFILE,$(demos_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(demos_OBJDIR)/,$(notdir $(basename $(demos_CXXFILE)))),$(demos_CXXFILE)))) +endif + +endif + + +ifneq ($(demos_OBJC_NARCHFILES),) + +ifeq (,) +demos_MOBJC_SRCWILDCARD := % +else +demos_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(demos_OBJDIR),) + demos_MOBJC_TARGETS := $(addsuffix .o,$(demos_OBJC_NARCHFILES)) + demos_MOBJC_DTARGETS := $(addsuffix .d,$(demos_OBJC_NARCHFILES)) + demos_MOBJC_WILDCARD := % +else + demos_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(demos_OBJDIR)/,$(demos_OBJC_NARCHFILES))) + demos_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(demos_OBJDIR)/,$(demos_OBJC_NARCHFILES))) + demos_MOBJC_WILDCARD := $(demos_OBJDIR)/% + + # Be sure that all .m files are generated + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : | $(addsuffix .m,$(demos_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + demos_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + demos_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(demos_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + demos_MOBJC_DIRS := $(foreach dir, $(demos_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(demos_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(demos_MOBJC_DIRS),) + demos_MOBJC_DIRS := $(shell echo $(demos_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(demos_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + demos_CC := $(TARGET_CC) +else + demos_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +demos_MOBJC_CPPFLAGS := $(demos_CPPFLAGS) +demos_OBJCFLAGS := $(demos_CFLAGS) +demos_OBJCFLAGS := $(demos_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +demos_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(demos_OBJCFLAGS))) +ifeq ($(demos_DFLAGS),) + demos_OBJCDFLAGS := $(demos_CFLAGS) +else + demos_OBJCDFLAGS := $(demos_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + demos_LINK ?= $(strip $(demos_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + demos_STRIP ?= $(TARGET_STRIP) + demos_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : CMD:=$(strip $(demos_CC) $(TARGET_SYSROOT)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_MOBJC_CPPFLAGS:=$(strip $(demos_MOBJC_CPPFLAGS) $(demos_MOBJC_EXTRA_CPPFLAGS)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_OBJCFLAGS:=$(strip $(demos_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_OBJCDFLAGS:=$(demos_OBJCDFLAGS) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_IQUOTE:=$(CFLAGS_IQUOTE) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + demos_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + demos_STRIP ?= $(HOST_STRIP) + demos_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(demos_MOBJC_CPPFLAGS) $(demos_MOBJC_EXTRA_CPPFLAGS)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(demos_OBJCFLAGS)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(demos_OBJCDFLAGS)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_IQUOTE:=$(HOST_IQUOTE) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + demos_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + demos_STRIP ?= $(ECHO) >/dev/null + demos_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(demos_MOBJC_CPPFLAGS) $(demos_MOBJC_EXTRA_CPPFLAGS)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(demos_OBJCFLAGS)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(demos_OBJCDFLAGS)) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_IQUOTE:=$(KERNEL_IQUOTE) + $(demos_MOBJC_TARGETS) $(demos_MOBJC_DTARGETS) : demos_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(demos_MOBJC_TARGETS) : CPPFLAGS := $(demos_MOBJC_CPPFLAGS) +$(demos_MOBJC_TARGETS) : CFLAGS := $(demos_OBJCFLAGS) +$(demos_MOBJC_TARGETS) : $(demos_MOBJC_WILDCARD).o : $(demos_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(demos_IQUOTE) $(dir $<) $(demos_IQUOTE) $(SRCDIR)/$(CURDIR) $(demos_IQUOTE) . $(demos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(demos_IQUOTE) $(dir $<) $(demos_IQUOTE) $(SRCDIR)/$(CURDIR) $(demos_IQUOTE) . $(demos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(demos_IQUOTE) $(dir $<) $(demos_IQUOTE) $(SRCDIR)/$(CURDIR) $(demos_IQUOTE) . $(demos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(demos_MOBJC_DTARGETS) : $(demos_MOBJC_WILDCARD).d : $(demos_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(demos_OBJCDFLAGS) $(demos_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +demos_MC_SRCWILDCARD := % +else +demos_MC_SRCWILDCARD := /% +endif + +ifeq ($(demos_OBJDIR),) +demos_MC_TARGETS := $(addsuffix .o,$(demos_C_NARCHFILES)) +demos_MC_DTARGETS := $(addsuffix .d,$(demos_C_NARCHFILES)) +demos_MC_TGTWILDCARD := % +else +ifeq (no,no) + demos_MC_TARGETS := $(addsuffix .o,$(addprefix $(demos_OBJDIR)/,$(notdir $(demos_C_NARCHFILES)))) + demos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(demos_OBJDIR)/,$(notdir $(demos_C_NARCHFILES)))) +else +ifeq (,) + demos_MC_TARGETS := $(addsuffix .o,$(addprefix $(demos_OBJDIR)/,$(demos_C_NARCHFILES))) + demos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(demos_OBJDIR)/,$(demos_C_NARCHFILES))) +else + demos_MC_TARGETS := $(addsuffix .o,$(addprefix $(demos_OBJDIR)/,$(patsubst /%,%,$(demos_C_NARCHFILES)))) + demos_MC_DTARGETS := $(addsuffix .d,$(addprefix $(demos_OBJDIR)/,$(patsubst /%,%,$(demos_C_NARCHFILES)))) +endif +endif +demos_MC_TGTWILDCARD := $(demos_OBJDIR)/% + +# Be sure that all .c files are generated +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : | $(addsuffix .c,$(demos_C_NARCHFILES)) + +# Be sure that all .c files are found +demos_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +demos_MC_BASEDIRS := $(shell echo $(sort $(dir $(demos_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +demos_MC_DIRS := $(foreach dir, $(demos_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(demos_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(demos_MC_DIRS),) + demos_MC_DIRS := $(shell echo $(demos_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(demos_MC_DIRS) +endif + +endif + +demos_MC_CPPFLAGS := $(demos_CPPFLAGS) +demos_CFLAGS := $(demos_CFLAGS) +ifeq ($(demos_DFLAGS),) + demos_DFLAGS := $(demos_CFLAGS) +else + demos_DFLAGS := $(demos_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +demos_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +demos_STRIP ?= $(TARGET_STRIP) +demos_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_MC_CPPFLAGS:=$(strip $(demos_MC_CPPFLAGS) $(demos_MC_EXTRA_CPPFLAGS)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_CFLAGS:=$(strip $(demos_CFLAGS) $(SAFETY_CFLAGS)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_DFLAGS:=$(demos_DFLAGS) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_IQUOTE:=$(CFLAGS_IQUOTE) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +demos_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +demos_STRIP ?= $(HOST_STRIP) +demos_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : CMD:=$(HOST_CC) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(demos_MC_CPPFLAGS) $(demos_MC_EXTRA_CPPFLAGS)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_CFLAGS:=$(strip $(HOST_CFLAGS) $(demos_CFLAGS)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_DFLAGS:=$(strip $(HOST_CFLAGS) $(demos_DFLAGS)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_IQUOTE:=$(HOST_IQUOTE) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +demos_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +demos_STRIP ?= $(ECHO) >/dev/null +demos_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(demos_MC_CPPFLAGS) $(demos_MC_EXTRA_CPPFLAGS)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(demos_CFLAGS)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(demos_DFLAGS)) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_IQUOTE:=$(KERNEL_IQUOTE) +$(demos_MC_TARGETS) $(demos_MC_DTARGETS) : demos_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(demos_MC_TARGETS) : CPPFLAGS := $(demos_MC_CPPFLAGS) +$(demos_MC_TARGETS) : CFLAGS := $(demos_CFLAGS) +$(demos_MC_TARGETS) : $(demos_MC_TGTWILDCARD).o : $(demos_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(demos_IQUOTE) $(dir $<) $(demos_IQUOTE) $(SRCDIR)/$(CURDIR) $(demos_IQUOTE) . $(demos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(demos_IQUOTE) $(dir $<) $(demos_IQUOTE) $(SRCDIR)/$(CURDIR) $(demos_IQUOTE) . $(demos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(demos_IQUOTE) $(dir $<) $(demos_IQUOTE) $(SRCDIR)/$(CURDIR) $(demos_IQUOTE) . $(demos_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(demos_MC_DTARGETS) : $(demos_MC_TGTWILDCARD).d : $(demos_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(demos_DFLAGS) $(demos_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(demos_OBJDIR),) +demos-MA_TARGETS := $(addsuffix .o,$(demos_ASMFILES)) +demos-MA_WILDCARD := % +else +demos-MA_TARGETS := $(addsuffix .o,$(addprefix $(demos_OBJDIR)/,$(notdir $(demos_ASMFILES)))) +demos-MA_WILDCARD := $(demos_OBJDIR)/% + +# Be sure that all .s files are generated +$(demos-MA_TARGETS) : | $(addsuffix .s,$(demos_ASMFILES)) + +# Be sure that all .c files are found +demos-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +demos-MA_BASEDIRS := $(shell echo $(sort $(dir $(demos_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +demos-MA_DIRS := $(foreach dir, $(demos-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(demos-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(demos-MA_DIRS),) + demos-MA_DIRS := $(shell echo $(demos-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(demos-MA_DIRS) +endif + +endif + +demos-MA_ASSEMBLER ?= $(demos_ASSEMBLER) + +$(demos-MA_TARGETS) : demos-MA_CMD:= $(demos-MA_ASSEMBLER) + +$(demos-MA_TARGETS) : CPPFLAGS := $(demos_CPPFLAGS) +$(demos-MA_TARGETS) : AFLAGS := $(demos_AFLAGS) +$(demos-MA_TARGETS) : $(demos-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(demos-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(demos-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(demos-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +demos-link_EXTRA_LDFLAGS := +demos-link_EXTRA_LIBS := +ifeq (no,yes) + demos-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + demos-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + demos-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +demos-link_DIRS := $(subst -L ,-L,$(strip $(demos_LDFLAGS))) +# Filter out only the libdirs and remove -L +demos-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(demos-link_DIRS))) +# Add trailing / +demos-link_DIRS := $(subst //,/,$(addsuffix /,$(demos-link_DIRS))) +# Add normal linklib path +demos-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +demos-link_LIBS := $(addprefix lib,$(addsuffix .a,$(demos_LIBS) $(demos-link_EXTRA_LIBS))) +ifeq (yes,yes) + demos-link_LIBS += startup.o +endif +ifeq (no,yes) + demos-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +demos-link_DEPLIBS := $(foreach lib,$(demos-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(demos-link_DIRS)))) \ +) + +$(demos_TARGETDIR)/$(demos_PROGNAME) : OBJDIR := $(demos_OBJDIR) +$(demos_TARGETDIR)/$(demos_PROGNAME) : OBJS := $(demos_OBJS) $(demos_ARCHOBJS) $(USER_OBJS) +$(demos_TARGETDIR)/$(demos_PROGNAME) : LDFLAGS := $(strip $(demos_LDFLAGS) $(demos-link_EXTRA_LDFLAGS)) +$(demos_TARGETDIR)/$(demos_PROGNAME) : LIBS := $(addprefix -l,$(demos_LIBS) $(demos-link_EXTRA_LIBS) ) +$(demos_TARGETDIR)/$(demos_PROGNAME) : $(demos_OBJS) $(demos_ARCHOBJS) $(USER_OBJS) $(demos-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(demos_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(demos_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(demos_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(demos_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(demos_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(demos_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(demos_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(demos_DEPS),) + ifneq (demos demos-quick,) + ifneq ($(findstring $(TARGET),demos demos-quick),) + -include $(demos_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(demos_DEPS) + endif + endif +endif + + +ifneq ($(demos_OBJS) $(demos_DEPS) $(demos_TARGETDIR)/$(demos_PROGNAME),) +$(demos_OBJS) $(demos_DEPS) $(demos_TARGETDIR)/$(demos_PROGNAME) : | $(demos_OBJDIR) $(demos_TARGETDIR) +else +$(demos_OBJS) $(demos_DEPS) $(demos_TARGETDIR)/$(demos_PROGNAME) :: $(demos_OBJDIR) $(demos_TARGETDIR) +endif + +GLOB_MKDIRS += $(demos_OBJDIR) $(demos_TARGETDIR) + + +demos-clean : FILES := $(demos_OBJS) $(demos_TARGETDIR)/$(demos_PROGNAME) $(demos_DEPS) +#MM +demos-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget demos" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/developer/demos/Zune/mmakefile b/developer/demos/Zune/mmakefile new file mode 100644 index 00000000000..5727dc74248 --- /dev/null +++ b/developer/demos/Zune/mmakefile @@ -0,0 +1,298 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + mui_layout1 \ + mui_slider \ + mui_pages \ + mui_notify1 \ + mui_notify2 \ + mui_input1 + +#MM workbench-demos-zune : includes linklibs + + +.PHONY : workbench-demos-zune + +workbench-demos-zune_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-demos-zune_TARGETDIR := $(AROSDIR)/Demos/Zune +workbench-demos-zune_LIBS := + +workbench-demos-zune_FILES := $(FILES) +workbench-demos-zune_OBJS := $(addsuffix .o,$(addprefix $(workbench-demos-zune_OBJDIR)/,$(workbench-demos-zune_FILES))) +workbench-demos-zune_DEPS := $(addsuffix .d,$(addprefix $(workbench-demos-zune_OBJDIR)/,$(workbench-demos-zune_FILES))) +workbench-demos-zune_EXES := $(addprefix $(workbench-demos-zune_TARGETDIR)/,$(workbench-demos-zune_FILES)) + +workbench-demos-zune_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-demos-zune_CPPFLAGS += -I +endif +workbench-demos-zune_CFLAGS := $(CFLAGS) +workbench-demos-zune_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-demos-zune_COVERAGE := yes +workbench-demos-zune_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-demos-zune_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-demos-zune_CFLAGS := $(strip $(workbench-demos-zune_COVERAGEFLAGS) $(workbench-demos-zune_CFLAGS)) +workbench-demos-zune_LIBS += $(workbench-demos-zune_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-demos-zune_FUNCINSTR := yes +workbench-demos-zune_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-demos-zune_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-demos-zune_CFLAGS := $(strip $(workbench-demos-zune_INSTRFUNCFLAGS) $(workbench-demos-zune_CFLAGS)) +workbench-demos-zune_LIBS += $(workbench-demos-zune_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-demos-zune_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-demos-zune_CFLAGS)) +endif +endif +ifneq (,) + workbench-demos-zune_DFLAGS := +else + workbench-demos-zune_DFLAGS := $(workbench-demos-zune_CFLAGS) +endif +ifeq (target,target) +workbench-demos-zune_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-demos-zune_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-demos-zune_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + workbench-demos-zune_LDFLAGS += -L +endif + +#MM +workbench-demos-zune-quick : workbench-demos-zune + +#MM workbench-demos-zune : includes-generate-deps core-linklibs +workbench-demos-zune : $(workbench-demos-zune_EXES) + +ifneq ($(filter $(TARGET),workbench-demos-zune workbench-demos-zune-quick),) + +ifeq (,) +workbench-demos-zune_MC_SRCWILDCARD := % +else +workbench-demos-zune_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-demos-zune_OBJDIR),) +workbench-demos-zune_MC_TARGETS := $(addsuffix .o,$(workbench-demos-zune_FILES)) +workbench-demos-zune_MC_DTARGETS := $(addsuffix .d,$(workbench-demos-zune_FILES)) +workbench-demos-zune_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-demos-zune_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-demos-zune_OBJDIR)/,$(notdir $(workbench-demos-zune_FILES)))) + workbench-demos-zune_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-demos-zune_OBJDIR)/,$(notdir $(workbench-demos-zune_FILES)))) +else +ifeq (,) + workbench-demos-zune_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-demos-zune_OBJDIR)/,$(workbench-demos-zune_FILES))) + workbench-demos-zune_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-demos-zune_OBJDIR)/,$(workbench-demos-zune_FILES))) +else + workbench-demos-zune_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-demos-zune_OBJDIR)/,$(patsubst /%,%,$(workbench-demos-zune_FILES)))) + workbench-demos-zune_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-demos-zune_OBJDIR)/,$(patsubst /%,%,$(workbench-demos-zune_FILES)))) +endif +endif +workbench-demos-zune_MC_TGTWILDCARD := $(workbench-demos-zune_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : | $(addsuffix .c,$(workbench-demos-zune_FILES)) + +# Be sure that all .c files are found +workbench-demos-zune_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-demos-zune_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-demos-zune_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-demos-zune_MC_DIRS := $(foreach dir, $(workbench-demos-zune_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-demos-zune_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-demos-zune_MC_DIRS),) + workbench-demos-zune_MC_DIRS := $(shell echo $(workbench-demos-zune_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-demos-zune_MC_DIRS) +endif + +endif + +workbench-demos-zune_MC_CPPFLAGS := $(workbench-demos-zune_CPPFLAGS) +workbench-demos-zune_CFLAGS := $(workbench-demos-zune_CFLAGS) +ifeq ($(workbench-demos-zune_DFLAGS),) + workbench-demos-zune_DFLAGS := $(workbench-demos-zune_CFLAGS) +else + workbench-demos-zune_DFLAGS := $(workbench-demos-zune_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-demos-zune_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-demos-zune_STRIP ?= $(TARGET_STRIP) +workbench-demos-zune_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_MC_CPPFLAGS:=$(strip $(workbench-demos-zune_MC_CPPFLAGS) $(workbench-demos-zune_MC_EXTRA_CPPFLAGS)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_CFLAGS:=$(strip $(workbench-demos-zune_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_DFLAGS:=$(workbench-demos-zune_DFLAGS) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-demos-zune_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-demos-zune_STRIP ?= $(HOST_STRIP) +workbench-demos-zune_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-demos-zune_MC_CPPFLAGS) $(workbench-demos-zune_MC_EXTRA_CPPFLAGS)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-demos-zune_CFLAGS)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-demos-zune_DFLAGS)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_IQUOTE:=$(HOST_IQUOTE) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-demos-zune_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-demos-zune_STRIP ?= $(ECHO) >/dev/null +workbench-demos-zune_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-demos-zune_MC_CPPFLAGS) $(workbench-demos-zune_MC_EXTRA_CPPFLAGS)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-demos-zune_CFLAGS)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-demos-zune_DFLAGS)) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-demos-zune_MC_TARGETS) $(workbench-demos-zune_MC_DTARGETS) : workbench-demos-zune_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-demos-zune_MC_TARGETS) : CPPFLAGS := $(workbench-demos-zune_MC_CPPFLAGS) +$(workbench-demos-zune_MC_TARGETS) : CFLAGS := $(workbench-demos-zune_CFLAGS) +$(workbench-demos-zune_MC_TARGETS) : $(workbench-demos-zune_MC_TGTWILDCARD).o : $(workbench-demos-zune_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-demos-zune_IQUOTE) $(dir $<) $(workbench-demos-zune_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-demos-zune_IQUOTE) . $(workbench-demos-zune_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-demos-zune_IQUOTE) $(dir $<) $(workbench-demos-zune_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-demos-zune_IQUOTE) . $(workbench-demos-zune_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-demos-zune_IQUOTE) $(dir $<) $(workbench-demos-zune_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-demos-zune_IQUOTE) . $(workbench-demos-zune_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-demos-zune_MC_DTARGETS) : $(workbench-demos-zune_MC_TGTWILDCARD).d : $(workbench-demos-zune_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-demos-zune_DFLAGS) $(workbench-demos-zune_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +workbench-demos-zune-link_EXTRA_LDFLAGS := +workbench-demos-zune-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-demos-zune-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-demos-zune-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-demos-zune-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +workbench-demos-zune-link_DIRS := $(subst -L ,-L,$(strip $(workbench-demos-zune_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-demos-zune-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-demos-zune-link_DIRS))) +# Add trailing / +workbench-demos-zune-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-demos-zune-link_DIRS))) +# Add normal linklib path +workbench-demos-zune-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-demos-zune-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-demos-zune_LIBS) $(workbench-demos-zune-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +workbench-demos-zune-link_DEPLIBS := $(foreach lib,$(workbench-demos-zune-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-demos-zune-link_DIRS)))) \ +) +workbench-demos-zune-link_PROGS := $(addprefix $(workbench-demos-zune_TARGETDIR)/,$(workbench-demos-zune_FILES)) + +$(workbench-demos-zune-link_PROGS) : OBJDIR := $(workbench-demos-zune_OBJDIR) +$(workbench-demos-zune-link_PROGS) : LDFLAGS := $(strip $(workbench-demos-zune_LDFLAGS) $(workbench-demos-zune-link_EXTRA_LDFLAGS)) +$(workbench-demos-zune-link_PROGS) : LIBS := $(addprefix -l,$(workbench-demos-zune_LIBS) $(workbench-demos-zune-link_EXTRA_LIBS) ) +$(workbench-demos-zune-link_PROGS) : $(workbench-demos-zune_TARGETDIR)/% : $(workbench-demos-zune_OBJDIR)/%.o $(workbench-demos-zune-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-demos-zune_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-demos-zune_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-demos-zune_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-demos-zune_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-demos-zune_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-demos-zune_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-demos-zune_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-demos-zune_DEPS),) + ifneq (workbench-demos-zune workbench-demos-zune-quick,) + ifneq ($(findstring $(TARGET),workbench-demos-zune workbench-demos-zune-quick),) + -include $(workbench-demos-zune_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-demos-zune_DEPS) + endif + endif +endif + + +ifneq ($(workbench-demos-zune_DEPS) $(workbench-demos-zune_OBJS) $(addprefix $(workbench-demos-zune_TARGETDIR)/,$(workbench-demos-zune_FILES)),) +$(workbench-demos-zune_DEPS) $(workbench-demos-zune_OBJS) $(addprefix $(workbench-demos-zune_TARGETDIR)/,$(workbench-demos-zune_FILES)) : | $(workbench-demos-zune_TARGETDIR) $(workbench-demos-zune_OBJDIR) +else +$(workbench-demos-zune_DEPS) $(workbench-demos-zune_OBJS) $(addprefix $(workbench-demos-zune_TARGETDIR)/,$(workbench-demos-zune_FILES)) :: $(workbench-demos-zune_TARGETDIR) $(workbench-demos-zune_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-demos-zune_TARGETDIR) $(workbench-demos-zune_OBJDIR) + + +workbench-demos-zune-clean : FILES := $(workbench-demos-zune_OBJS) $(workbench-demos-zune_EXES) $(workbench-demos-zune_DEPS) +#MM +workbench-demos-zune-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-demos-zune" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) + diff --git a/external/bz2/mmakefile b/external/bz2/mmakefile new file mode 100644 index 00000000000..970f6d99b1e --- /dev/null +++ b/external/bz2/mmakefile @@ -0,0 +1,2609 @@ +# $Id$ +include $(SRCDIR)/config/aros.cfg + + +#MM external-bz2-includes : \ +#MM kernel-exec-includes includes-copy + +#MM- external-bz2 : external-bz2-lib external-bz2-bzip2 + +################################################################################### + +#MM- external-bz2-lib : linklibs + +FILES := blocksort huffman crctable randtable \ + compress decompress bzlib + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM external-bz2-lib +#MM external-bz2-lib-quick +#MM external-bz2-lib-makefile +#MM external-bz2-lib-clean + +# ABI targets: +#MM- includes-all : external-bz2-lib-includes +#MM- linklibs-bz2: external-bz2-lib-linklib +#MM- linklibs-bz2_rel : external-bz2-lib-linklib +#MM- includes-bz2: external-bz2-lib-includes +#MM- includes-bz2_rel : external-bz2-lib-includes +#MM- external-bz2-lib : external-bz2-lib-includes core-linklibs linklibs- +#MM external-bz2-lib-linklib : external-bz2-lib-includes includes- +#MM- external-bz2-lib-quick : external-bz2-lib-includes-quick +#MM external-bz2-lib-includes : external-bz2-lib-makefile external-bz2-lib-includes-dirs \ +#MM includes-generate-deps external-bz2-lib-fd +#MM external-bz2-lib-includes-quick +#MM external-bz2-lib-includes-dirs +#MM external-bz2-lib-fd + +# Library targets +#MM external-bz2-lib-kobj : core-linklibs linklibs- +#MM external-bz2-lib-kobj-quick : + +# Library with ABI targets: +#MM external-bz2-lib-kobj : external-bz2-lib-includes core-linklibs linklibs- +#MM external-bz2-lib-kobj-quick : external-bz2-lib-includes-quick + +# All MetaMake targets defined by this macro +external-bz2-lib_ALLTARGETS := external-bz2-lib external-bz2-lib-quick external-bz2-lib-clean + +ifeq (M,M) +external-bz2-lib_ALLTARGETS += external-bz2-lib-kobj external-bz2-lib-kobj-quick +endif + +ifeq (M,M) +external-bz2-lib_ALLTARGETS += external-bz2-lib-includes \ + external-bz2-lib-includes-quick external-bz2-lib-includes-dirs \ + external-bz2-lib-linklib external-bz2-lib-fd +endif + +.PHONY : $(external-bz2-lib_ALLTARGETS) external-bz2-lib-makefile + +ifeq (bz2,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + external-bz2-lib_DEFNAME := bz2_ +else + external-bz2-lib_DEFNAME := bz2 +endif +external-bz2-lib_DEFLINKLIBNAME := $(external-bz2-lib_DEFNAME) +ifneq (,) + external-bz2-lib_LINKLIBNAME := +else + external-bz2-lib_LINKLIBNAME = $(external-bz2-lib_DEFLINKLIBNAME) +endif +external-bz2-lib_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + external-bz2-lib_DEFCPPFLAGS += -I +endif +external-bz2-lib_DEFDFLAGS := $(CFLAGS) +ifneq (,) + external-bz2-lib_DFLAGS := +else + external-bz2-lib_DFLAGS = $(external-bz2-lib_DEFDFLAGS) +endif +external-bz2-lib_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + external-bz2-lib_DXXFLAGS := +else + external-bz2-lib_DXXFLAGS = $(external-bz2-lib_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +external-bz2-lib_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(external-bz2-lib_DEFDFLAGS)) +external-bz2-lib_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(external-bz2-lib_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +external-bz2-lib_FUNCINSTR := yes +external-bz2-lib_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(external-bz2-lib_DEFDFLAGS)) +external-bz2-lib_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(external-bz2-lib_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +external-bz2-lib_OBJDIR := +else +external-bz2-lib_OBJDIR := $(OBJDIR)/$(external-bz2-lib_DEFNAME) +endif +ifneq (,) +external-bz2-lib_OBJDIR := $(external-bz2-lib_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +external-bz2-lib-makefile := $(external-bz2-lib_OBJDIR)/Makefile.$(external-bz2-lib_DEFNAME)library +external-bz2-lib-genmakefile : $(external-bz2-lib-makefile) + + +external-bz2-lib-genmakefile_OPTS := +ifneq (,) + external-bz2-lib-genmakefile_OPTS += -f + external-bz2-lib-genmakefile_MODNAME := bz2_ +else + external-bz2-lib-genmakefile_MODNAME := bz2 +endif +external-bz2-lib-genmakefile_TARGET := Makefile.$(external-bz2-lib-genmakefile_MODNAME)library +external-bz2-lib-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + external-bz2-lib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + external-bz2-lib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + external-bz2-lib-genmakefile_OPTS += -c + external-bz2-lib-genmakefile_DEPS += + endif +else + external-bz2-lib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/bz2.conf + external-bz2-lib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/bz2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + external-bz2-lib-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + external-bz2-lib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + external-bz2-lib-genmakefile_OPTS += -o + external-bz2-lib-genmakefile_DEPS += + endif +endif +ifneq (,) + external-bz2-lib-genmakefile_OPTS += -s +endif +ifneq ($(external-bz2-lib_OBJDIR),) + external-bz2-lib-genmakefile_OPTS += -d $(external-bz2-lib_OBJDIR) + external-bz2-lib-genmakefile_TARGET := $(external-bz2-lib_OBJDIR)/$(external-bz2-lib-genmakefile_TARGET) +endif + +$(external-bz2-lib-genmakefile_TARGET) : OPTS := $(external-bz2-lib-genmakefile_OPTS) +$(external-bz2-lib-genmakefile_TARGET) : MODNAME := bz2 +$(external-bz2-lib-genmakefile_TARGET) : MODTYPE := library +$(external-bz2-lib-genmakefile_TARGET) : $(external-bz2-lib-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(external-bz2-lib-makefile),) +$(external-bz2-lib-makefile) : | $(external-bz2-lib_OBJDIR) +else +$(external-bz2-lib-makefile) :: $(external-bz2-lib_OBJDIR) +endif + +GLOB_MKDIRS += $(external-bz2-lib_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(external-bz2-lib_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(external-bz2-lib-makefile) + +external-bz2-lib_DEFMODDIR := $($(external-bz2-lib_DEFNAME)_MODDIR) +ifeq (no,yes) +external-bz2-lib_DEFMODDIR := $(AROS_DIR_ARCH)/$(external-bz2-lib_DEFMODDIR) +endif +ifneq (,) + external-bz2-lib_MODDIR := +else + external-bz2-lib_MODDIR := $(external-bz2-lib_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +external-bz2-lib_INCDIR := +else +external-bz2-lib_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +external-bz2-lib_LIBDEFSINC := $(external-bz2-lib_OBJDIR)/include/$(external-bz2-lib_DEFNAME)_libdefs.h +external-bz2-lib_DEFLIBDEFSINC := $(external-bz2-lib_OBJDIR)/include/$(external-bz2-lib_DEFNAME)_deflibdefs.h + +ifeq (M,M) +external-bz2-lib-includes-quick : external-bz2-lib-includes +external-bz2-lib-includes : $(addprefix $(GENINCDIR)/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) \ + $(addprefix $(external-bz2-lib_INCDIR)/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) \ + $(external-bz2-lib_LIBDEFSINC) $(external-bz2-lib_DEFLIBDEFSINC) + +ifneq ($($(external-bz2-lib_DEFNAME)_INCLUDES),) + +ifneq (,) + external-bz2-lib-includes_MODNAME := bz2_ +else + external-bz2-lib-includes_MODNAME := bz2 +endif + +ifneq ($($(external-bz2-lib-includes_MODNAME)_INCLUDES),) + +external-bz2-lib-includes_TARGETS := $($(external-bz2-lib-includes_MODNAME)_INCLUDES) + +external-bz2-lib-includes_DEPS := $(GENMODULE) +external-bz2-lib-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + external-bz2-lib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + external-bz2-lib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + external-bz2-lib-includes_OPTS += -c + external-bz2-lib-includes_DEPS += + endif +else + external-bz2-lib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/bz2.conf + external-bz2-lib-includes_DEPS += $(SRCDIR)/$(CURDIR)/bz2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + external-bz2-lib-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + external-bz2-lib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + external-bz2-lib-includes_OPTS += -o + external-bz2-lib-includes_DEPS += + endif +endif +ifneq (,) + external-bz2-lib-includes_OPTS += -s +endif +ifneq ($(external-bz2-lib_OBJDIR)/include,) + external-bz2-lib-includes_OPTS += -d $(external-bz2-lib_OBJDIR)/include + external-bz2-lib-includes_TARGETS := $(addprefix $(external-bz2-lib_OBJDIR)/include/,$(external-bz2-lib-includes_TARGETS)) + external-bz2-lib-includes_GENINCFLAG=$(external-bz2-lib_OBJDIR)/include/.bz2.library-includes +else + external-bz2-lib-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.bz2.library-includes +endif + +$(external-bz2-lib-includes_TARGETS) : $(external-bz2-lib-includes_DEPS) $(external-bz2-lib-includes_GENINCFLAG) + +$(external-bz2-lib-includes_GENINCFLAG) : OPTS := $(external-bz2-lib-includes_OPTS) +$(external-bz2-lib-includes_GENINCFLAG) : MODNAME := bz2 +$(external-bz2-lib-includes_GENINCFLAG) : MODTYPE := library +$(external-bz2-lib-includes_GENINCFLAG) : $(external-bz2-lib-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(external-bz2-lib_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) : | $(external-bz2-lib_OBJDIR)/bz2_geninc + +$(external-bz2-lib_OBJDIR)/bz2_geninc : COPYSRCDIR := $(external-bz2-lib_OBJDIR)/include +$(external-bz2-lib_OBJDIR)/bz2_geninc : TGTDIR := $(GENINCDIR) +$(external-bz2-lib_OBJDIR)/bz2_geninc : FILES := $($(external-bz2-lib_DEFNAME)_INCLUDES) +$(external-bz2-lib_OBJDIR)/bz2_geninc : $(addprefix $(external-bz2-lib_OBJDIR)/include/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(external-bz2-lib_OBJDIR)/include + +$(addprefix $(external-bz2-lib_INCDIR)/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) : | $(external-bz2-lib_OBJDIR)/bz2_incs + +$(external-bz2-lib_OBJDIR)/bz2_incs : COPYSRCDIR := $(external-bz2-lib_OBJDIR)/include +$(external-bz2-lib_OBJDIR)/bz2_incs : TGTDIR := $(external-bz2-lib_INCDIR) +$(external-bz2-lib_OBJDIR)/bz2_incs : FILES := $($(external-bz2-lib_DEFNAME)_INCLUDES) +$(external-bz2-lib_OBJDIR)/bz2_incs : $(addprefix $(external-bz2-lib_OBJDIR)/include/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +external-bz2-lib_INCDIRS := $(filter-out ./,$(sort $(dir $($(external-bz2-lib_DEFNAME)_INCLUDES)))) + +TMPbz2_INCDIRS := \ + $(external-bz2-lib_OBJDIR)/include $(addprefix $(external-bz2-lib_OBJDIR)/include/,$(external-bz2-lib_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(external-bz2-lib_INCDIRS)) \ + $(external-bz2-lib_INCDIR) $(addprefix $(external-bz2-lib_INCDIR)/,$(external-bz2-lib_INCDIRS)) + +ifneq (external-bz2-lib-includes-dirs,) +external-bz2-lib-includes-dirs : | $(TMPbz2_INCDIRS) +else +external-bz2-lib-includes-dirs :: $(TMPbz2_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPbz2_INCDIRS) + + +endif + +endif + + +external-bz2-lib-genlibdefs_OPTS := +ifneq (,) + external-bz2-lib-genlibdefs_OPTS += -f + external-bz2-lib-genlibdefs_MODNAME := bz2_ +else + external-bz2-lib-genlibdefs_MODNAME := bz2 +endif +external-bz2-lib-genlibdefs_TARGET := $(external-bz2-lib-genlibdefs_MODNAME)_libdefs.h +external-bz2-lib-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + external-bz2-lib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + external-bz2-lib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + external-bz2-lib-genlibdefs_OPTS += -c + external-bz2-lib-genlibdefs_DEPS += + endif +else + external-bz2-lib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/bz2.conf + external-bz2-lib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/bz2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + external-bz2-lib-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + external-bz2-lib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + external-bz2-lib-genlibdefs_OPTS += -o + external-bz2-lib-genlibdefs_DEPS += + endif +endif +ifneq (,) + external-bz2-lib-genlibdefs_OPTS += -s +endif +ifneq ($(external-bz2-lib_OBJDIR)/include,) + external-bz2-lib-genlibdefs_OPTS += -d $(external-bz2-lib_OBJDIR)/include + external-bz2-lib-genlibdefs_TARGET := $(external-bz2-lib_OBJDIR)/include/$(external-bz2-lib-genlibdefs_TARGET) +endif +ifneq (,) + external-bz2-lib-genlibdefs_OPTS += -v +endif + +$(external-bz2-lib-genlibdefs_TARGET) : OPTS := $(external-bz2-lib-genlibdefs_OPTS) +$(external-bz2-lib-genlibdefs_TARGET) : MODNAME := bz2 +$(external-bz2-lib-genlibdefs_TARGET) : MODTYPE := library +$(external-bz2-lib-genlibdefs_TARGET) : $(external-bz2-lib-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(external-bz2-lib_DEFLIBDEFSINC) : FILENAME := $(external-bz2-lib_LIBDEFSINC) +$(external-bz2-lib_DEFLIBDEFSINC) : $(external-bz2-lib_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(external-bz2-lib_LIBDEFSINC) $(external-bz2-lib_DEFLIBDEFSINC) : | $(external-bz2-lib_OBJDIR)/include + +ifneq (external-bz2-lib-includes-dirs,) +external-bz2-lib-includes-dirs : | $(external-bz2-lib_OBJDIR)/include +else +external-bz2-lib-includes-dirs :: $(external-bz2-lib_OBJDIR)/include +endif + +GLOB_MKDIRS += $(external-bz2-lib_OBJDIR)/include + + +## Extra genmodule src files generation +## + +external-bz2-lib-genmodfiles_OPTS := +ifneq (,) + external-bz2-lib-genmodfiles_OPTS += -f + external-bz2-lib-genmodfiles_MODNAME := bz2_ +else + external-bz2-lib-genmodfiles_MODNAME := bz2 +endif +external-bz2-lib-genmodfiles_GENTARGETS := $($(external-bz2-lib-genmodfiles_MODNAME)_STARTFILES) $($(external-bz2-lib-genmodfiles_MODNAME)_ENDFILES) +external-bz2-lib-genmodfiles_STUBTARGETS := $($(external-bz2-lib-genmodfiles_MODNAME)_LINKLIBFILES) $($(external-bz2-lib-genmodfiles_MODNAME)_RELLINKLIBFILES) +external-bz2-lib-genmodfiles_GENTARGETS := $(addsuffix .c,$(external-bz2-lib-genmodfiles_GENTARGETS)) +external-bz2-lib-genmodfiles_STUBTARGETS := $(addsuffix .c,$(external-bz2-lib-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(external-bz2-lib-genmodfiles_MODNAME)_LINKLIBAFILES) $($(external-bz2-lib-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +external-bz2-lib-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + external-bz2-lib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + external-bz2-lib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + external-bz2-lib-genmodfiles_OPTS += -c + external-bz2-lib-genmodfiles_DEPS += + endif +else + external-bz2-lib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/bz2.conf + external-bz2-lib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/bz2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + external-bz2-lib-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + external-bz2-lib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + external-bz2-lib-genmodfiles_OPTS += -o + external-bz2-lib-genmodfiles_DEPS += + endif +endif +ifneq (,) + external-bz2-lib-genmodfiles_OPTS += -s +endif +ifneq ($(external-bz2-lib_OBJDIR),) + external-bz2-lib-genmodfiles_OPTS += -d $(external-bz2-lib_OBJDIR) + external-bz2-lib-genmodfiles_TARGETDIR := $(shell echo $(external-bz2-lib_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + external-bz2-lib-genmodfiles_GENTARGETS := $(addprefix $(external-bz2-lib-genmodfiles_TARGETDIR)/,$(external-bz2-lib-genmodfiles_GENTARGETS)) + external-bz2-lib-genmodfiles_GENFILEFLAG=$(external-bz2-lib-genmodfiles_TARGETDIR)/.bz2.library-genfiles +else + external-bz2-lib-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.bz2.library-genfiles +endif +ifneq ($(external-bz2-lib_OBJDIR)/linklib,) + external-bz2-lib-genmodfiles_OPTS += -l $(external-bz2-lib_OBJDIR)/linklib + external-bz2-lib-genmodfiles_STUBTARGETDIR := $(shell echo $(external-bz2-lib_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + external-bz2-lib-genmodfiles_STUBTARGETS := $(addprefix $(external-bz2-lib-genmodfiles_STUBTARGETDIR)/,$(external-bz2-lib-genmodfiles_STUBTARGETS)) + external-bz2-lib-genmodfiles_TARGETDIRS += $(external-bz2-lib_OBJDIR)/linklib +else +ifneq ($(external-bz2-lib_OBJDIR),) + external-bz2-lib-genmodfiles_STUBTARGETS := $(addprefix $(external-bz2-lib-genmodfiles_TARGETDIR)/,$(external-bz2-lib-genmodfiles_STUBTARGETS)) +endif +endif + +external-bz2-lib-genmodfiles_TARGETS := $(external-bz2-lib-genmodfiles_GENTARGETS) $(external-bz2-lib-genmodfiles_STUBTARGETS) +ifneq ($(external-bz2-lib-genmodfiles_TARGETDIRS),) +$(external-bz2-lib-genmodfiles_TARGETS) : | $(external-bz2-lib-genmodfiles_TARGETDIRS) +endif + +$(external-bz2-lib-genmodfiles_TARGETS) : $(external-bz2-lib-genmodfiles_DEPS) $(external-bz2-lib-genmodfiles_GENFILEFLAG) + +$(external-bz2-lib-genmodfiles_GENFILEFLAG) : OPTS := $(external-bz2-lib-genmodfiles_OPTS) +$(external-bz2-lib-genmodfiles_GENFILEFLAG) : MODNAME := bz2 +$(external-bz2-lib-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(external-bz2-lib-genmodfiles_GENFILEFLAG) : $(external-bz2-lib-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(external-bz2-lib-genmodfiles_GENFILEFLAG) : $(external-bz2-lib_DEFLIBDEFSINC) $(external-bz2-lib-makefile) + + +ifneq ($(external-bz2-lib-genmodfiles_GENFILEFLAG),) +$(external-bz2-lib-genmodfiles_GENFILEFLAG) : | $(external-bz2-lib_OBJDIR)/linklib +else +$(external-bz2-lib-genmodfiles_GENFILEFLAG) :: $(external-bz2-lib_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(external-bz2-lib_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +external-bz2-lib_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +external-bz2-lib_FDDIR := /../$(AROS_DIR_FD) +endif +external-bz2-lib-fd : $(external-bz2-lib_FDDIR)/bz2_lib.fd + + +TMP_TARGET := bz2_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/bz2.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/bz2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(external-bz2-lib_FDDIR),) + TMP_OPTS += -d $(external-bz2-lib_FDDIR) + TMP_TARGET := $(external-bz2-lib_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := bz2 +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(external-bz2-lib_FDDIR)/bz2_lib.fd : | $(external-bz2-lib_FDDIR) + + +ifneq (external-bz2-lib-fd-setup,) +external-bz2-lib-fd-setup : | $(external-bz2-lib_FDDIR) +else +external-bz2-lib-fd-setup :: $(external-bz2-lib_FDDIR) +endif + +GLOB_MKDIRS += $(external-bz2-lib_FDDIR) + +endif + +## Compilation +## +external-bz2-lib_FILES := $(FILES) +external-bz2-lib_OBJCFILES := +external-bz2-lib_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +external-bz2-lib_LIBFILES := +external-bz2-lib_LIBS := + +external-bz2-lib_FDIRS := $(sort $(dir $(external-bz2-lib_FILES))) + +external-bz2-lib_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +external-bz2-lib_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call external-bz2-lib_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +external-bz2-lib_FILTERARCH = $(filter-out $(call external-bz2-lib_MATCHARCH,$(1),$(2)),$(2)) +external-bz2-lib_STARTFILES := $(addprefix $(external-bz2-lib_OBJDIR)/,$($(external-bz2-lib_DEFNAME)_STARTFILES)) +external-bz2-lib_ENDFILES := $(addprefix $(external-bz2-lib_OBJDIR)/,$($(external-bz2-lib_DEFNAME)_ENDFILES)) + +external-bz2-lib_ARCHOBJS := $(wildcard $(external-bz2-lib_OBJDIR)/arch/*.o) +external-bz2-lib_LIBARCHOBJS := $(wildcard $(external-bz2-lib_OBJDIR)/linklib/arch/*.o) +external-bz2-lib_ARCHFILES := $(basename $(notdir $(external-bz2-lib_ARCHOBJS))) +external-bz2-lib_LIBARCHFILES := $(basename $(notdir $(external-bz2-lib_LIBARCHOBJS))) +external-bz2-lib_C_NARCHFILES := $(call external-bz2-lib_FILTERARCH,$(external-bz2-lib_ARCHFILES),$(external-bz2-lib_FILES)) +external-bz2-lib_CXX_NARCHFILES := $(call external-bz2-lib_FILTERARCH,$(external-bz2-lib_ARCHFILES),$(external-bz2-lib_CXXFILES)) +external-bz2-lib_OBJC_NARCHFILES := $(call external-bz2-lib_FILTERARCH,$(external-bz2-lib_ARCHFILES),$(external-bz2-lib_OBJCFILES)) +external-bz2-lib_NLIBARCHFILES := $(call external-bz2-lib_FILTERARCH,$(external-bz2-lib_LIBARCHFILES),$(external-bz2-lib_LIBFILES)) +external-bz2-lib_ARCHNLIBFILES := $(call external-bz2-lib_FILTERARCH,$(external-bz2-lib_LIBFILES),$(external-bz2-lib_LIBARCHFILES)) + +external-bz2-lib_CPPFLAGS := $(strip $(CPPFLAGS) -I$(external-bz2-lib_OBJDIR)/include -include $(external-bz2-lib_DEFLIBDEFSINC)) +ifneq (,) +external-bz2-lib_CPPFLAGS += -I +endif +external-bz2-lib_LINKLIBCPPFLAGS := $(external-bz2-lib_CPPFLAGS) +external-bz2-lib_CPPFLAGS += $(strip $($(external-bz2-lib_DEFNAME)_CPPFLAGS)) +external-bz2-lib_LINKLIBCPPFLAGS += $(strip $($(external-bz2-lib_DEFNAME)_LINKLIBCPPFLAGS)) +external-bz2-lib_CFLAGS := $(strip $(CFLAGS) $($(external-bz2-lib_DEFNAME)_CFLAGS)) +external-bz2-lib_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(external-bz2-lib_DEFNAME)_LINKLIBCFLAGS)) +external-bz2-lib_CXXFLAGS := $(strip $(CXXFLAGS) $($(external-bz2-lib_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +external-bz2-lib_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +external-bz2-lib_CFLAGS := $(strip $(external-bz2-lib_LTOFLAGS) $(external-bz2-lib_CFLAGS)) +external-bz2-lib_LINKLIBCFLAGS := $(strip $(external-bz2-lib_LTOFLAGS) $(external-bz2-lib_LINKLIBCFLAGS)) +external-bz2-lib_CXXFLAGS := $(strip $(external-bz2-lib_LTOFLAGS) $(external-bz2-lib_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +external-bz2-lib_SUBSTNULL := +external-bz2-lib_SUBSTSPACE := $(external-bz2-lib_SUBSTNULL) # +external-bz2-lib_SUBSTCOMMA := , +external-bz2-lib_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(external-bz2-lib_SUBSTSPACE),$(external-bz2-lib_SUBSTCOMMA),$(strip $($(external-bz2-lib_DEFNAME)_STARTFILES)))) +external-bz2-lib_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +external-bz2-lib_CFLAGS := $(strip $(external-bz2-lib_INSTRFUNCFLAGS) $(external-bz2-lib_CFLAGS)) +external-bz2-lib_CXXFLAGS := $(strip $(external-bz2-lib_INSTRFUNCFLAGS) $(external-bz2-lib_CXXFLAGS)) +external-bz2-lib_LIBS += $(external-bz2-lib_INSTRFUNCLIBS) +endif +endif +external-bz2-lib_DFLAGS := $(strip $(external-bz2-lib_DFLAGS) $($(external-bz2-lib_DEFNAME)_DFLAGS)) +external-bz2-lib_LINKLIBDFLAGS := $(strip $(external-bz2-lib_DFLAGS) $($(external-bz2-lib_DEFNAME)_LINKLIBDFLAGS)) +external-bz2-lib_DXXFLAGS := $(strip $(external-bz2-lib_DXXFLAGS) $($(external-bz2-lib_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + external-bz2-lib_LIBSUFFIX := +else + external-bz2-lib_LIBSUFFIX := .library +endif + +ifeq (,) +external-bz2-lib_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +external-bz2-lib_LIBDIR := +endif + +ifeq (M,M) +external-bz2-lib_LINKLIBCFILES := $(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$($(external-bz2-lib_DEFNAME)_LINKLIBFILES)) +external-bz2-lib_LINKLIBAFILES := $(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$($(external-bz2-lib_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(external-bz2-lib_DEFNAME)_LINKLIBFILES) $($(external-bz2-lib_DEFNAME)_LINKLIBAFILES) $(external-bz2-lib_ARCHNLIBFILES)),) + external-bz2-lib_LINKLIB := +else + external-bz2-lib_LINKLIB := $(external-bz2-lib_LIBDIR)/libbz2$(external-bz2-lib_LIBSUFFIX).a + ifneq (bz2,$(external-bz2-lib_LINKLIBNAME)) + external-bz2-lib_LINKLIB += $(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)$(external-bz2-lib_LIBSUFFIX).a + endif +endif +external-bz2-lib_LINKLIBFILES := $(external-bz2-lib_LINKLIBCFILES) $(external-bz2-lib_LINKLIBAFILES) + +external-bz2-lib_RELLINKLIBCFILES := $(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$($(external-bz2-lib_DEFNAME)_RELLINKLIBFILES)) +external-bz2-lib_RELLINKLIBAFILES := $(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$($(external-bz2-lib_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(external-bz2-lib_DEFNAME)_RELLINKLIBFILES) $($(external-bz2-lib_DEFNAME)_RELLINKLIBAFILES) $(external-bz2-lib_ARCHNLIBFILES)),) + external-bz2-lib_RELLINKLIB := +else + external-bz2-lib_RELLINKLIB := $(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_DEFNAME)_rel$(external-bz2-lib_LIBSUFFIX).a + ifneq (bz2,$(external-bz2-lib_LINKLIBNAME)) + external-bz2-lib_RELLINKLIB += $(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)_rel$(external-bz2-lib_LIBSUFFIX).a + endif +endif +external-bz2-lib_RELLINKLIBFILES := $(external-bz2-lib_RELLINKLIBCFILES) $(external-bz2-lib_RELLINKLIBAFILES) +endif + +external-bz2-lib_ENDOBJS := $(addsuffix .o,$(external-bz2-lib_ENDFILES)) +external-bz2-lib_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(notdir $(external-bz2-lib_NLIBARCHFILES))) $(addprefix $(external-bz2-lib_OBJDIR)/linklib/arch/,$(notdir $(external-bz2-lib_ARCHNLIBFILES))) $(external-bz2-lib_LINKLIBFILES)) \ + +external-bz2-lib_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(notdir $(external-bz2-lib_NLIBARCHFILES))) $(addprefix $(external-bz2-lib_OBJDIR)/linklib/arch/,$(notdir $(external-bz2-lib_ARCHNLIBFILES))) $(external-bz2-lib_RELLINKLIBFILES)) \ + +$(external-bz2-lib_LINKLIBFILES) $(external-bz2-lib_RELLINKLIBFILES) : | $(external-bz2-lib_OBJDIR)/linklib +$(external-bz2-lib_LINKLIBOBJS) $(external-bz2-lib_RELLINKLIBOBJS) : | $(external-bz2-lib_OBJDIR)/linklib + +external-bz2-lib_CCFILES := $(external-bz2-lib_C_NARCHFILES) +external-bz2-lib_TARGETCCFILES := $(strip $(external-bz2-lib_STARTFILES) $(external-bz2-lib_ENDFILES)) +external-bz2-lib_LINKLIBCCFILES := $(strip $(external-bz2-lib_NLIBARCHFILES) $(external-bz2-lib_LINKLIBCFILES) $(external-bz2-lib_RELLINKLIBCFILES)) +external-bz2-lib_LINKLIBCCGENFILES := $(strip $(external-bz2-lib_LINKLIBCFILES) $(external-bz2-lib_RELLINKLIBCFILES)) + + +external-bz2-lib_CXXABSBASENAMES := $(foreach external-bz2-lib_CXXBASE,$(external-bz2-lib_CXX_NARCHFILES),$(if $(filter /%,$(external-bz2-lib_CXXBASE)),$(external-bz2-lib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(external-bz2-lib_CXXBASE)))) + +ifneq ($(external-bz2-lib_CXXABSBASENAMES),) + +external-bz2-lib_CXXBASENAMES := $(basename $(external-bz2-lib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +external-bz2-lib_MCXX_FILES := $(strip $(foreach external-bz2-lib_CXXBASE,$(external-bz2-lib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach external-bz2-lib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(external-bz2-lib_EXT),$(external-bz2-lib_CXXBASE))))))) + +ifeq (,) +external-bz2-lib_MCXX_SRCWILDCARD := % +else +external-bz2-lib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(external-bz2-lib_OBJDIR),) + external-bz2-lib_CXXTARGETS := $(notdir $(external-bz2-lib_CXXBASENAMES:=.o)) + external-bz2-lib_CXXDTARGETS := $(notdir $(external-bz2-lib_CXXBASENAMES:=.d)) + external-bz2-lib_MCXX_WILDCARD := % +else + external-bz2-lib_CXXTARGETS := $(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(external-bz2-lib_CXXBASENAMES:=.o))) + external-bz2-lib_CXXDTARGETS := $(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(external-bz2-lib_CXXBASENAMES:=.d))) + external-bz2-lib_MCXX_WILDCARD := $(external-bz2-lib_OBJDIR)/% + + # Be sure that all source files are generated + $(external-bz2-lib_CXXTARGETS) $(external-bz2-lib_CXXDTARGETS) : | $(external-bz2-lib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +external-bz2-lib_MCXX_CPPFLAGS := $(external-bz2-lib_CPPFLAGS) +external-bz2-lib_CXXFLAGS := $(external-bz2-lib_CXXFLAGS) +ifeq ($(external-bz2-lib_DXXFLAGS),) + external-bz2-lib_DXXFLAGS := $(external-bz2-lib_CXXFLAGS) +else + external-bz2-lib_DXXFLAGS := $(external-bz2-lib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + external-bz2-lib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + external-bz2-lib_STRIP ?= $(HOST_STRIP) + external-bz2-lib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + external-bz2-lib_CXXCMD:=$(HOST_CXX) + external-bz2-lib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(external-bz2-lib_MCXX_CPPFLAGS) $(external-bz2-lib_MCXX_EXTRA_CPPFLAGS)) + external-bz2-lib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(external-bz2-lib_CXXFLAGS)) + external-bz2-lib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(external-bz2-lib_DXXFLAGS)) + external-bz2-lib_CXXIQUOTE:=$(HOST_IQUOTE) + external-bz2-lib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + external-bz2-lib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + external-bz2-lib_STRIP ?= $(TARGET_STRIP) + external-bz2-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + external-bz2-lib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + external-bz2-lib_MCXX_CPPFLAGS := $(strip $(external-bz2-lib_MCXX_CPPFLAGS) $(external-bz2-lib_MCXX_EXTRA_CPPFLAGS)) + external-bz2-lib_CXXFLAGS := $(strip $(external-bz2-lib_CXXFLAGS) $(SAFETY_CFLAGS)) + external-bz2-lib_DXXFLAGS := $(external-bz2-lib_DXXFLAGS) + external-bz2-lib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + external-bz2-lib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + external-bz2-lib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + external-bz2-lib_STRIP ?= $(ECHO) >/dev/null + external-bz2-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + external-bz2-lib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + external-bz2-lib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(external-bz2-lib_MCXX_CPPFLAGS) $(external-bz2-lib_MCXX_EXTRA_CPPFLAGS)) + external-bz2-lib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(external-bz2-lib_CXXFLAGS)) + external-bz2-lib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(external-bz2-lib_DXXFLAGS)) + external-bz2-lib_CXXIQUOTE:=$(KERNEL_IQUOTE) + external-bz2-lib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(external-bz2-lib_CXXCMD) $(external-bz2-lib_CXXIQUOTE) $(dir $(2)) $(external-bz2-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_CXXIQUOTE) . $(external-bz2-lib_CXXIQUOTE_END) $(strip $(external-bz2-lib_CXXFLAGS) $(external-bz2-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(external-bz2-lib_CXXCMD) $(external-bz2-lib_CXXIQUOTE) $(dir $(2)) $(external-bz2-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_CXXIQUOTE) . $(external-bz2-lib_CXXIQUOTE_END) $(strip $(external-bz2-lib_CXXFLAGS) $(external-bz2-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(external-bz2-lib_CXXCMD) $(external-bz2-lib_CXXIQUOTE) $(dir $(2)) $(external-bz2-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_CXXIQUOTE) . $(external-bz2-lib_CXXIQUOTE_END) $(strip $(external-bz2-lib_CXXFLAGS) $(external-bz2-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(external-bz2-lib_CXXCMD)" $(MKDEPEND) $(strip $(external-bz2-lib_DXXFLAGS) $(external-bz2-lib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(external-bz2-lib_OBJDIR),) + $(foreach external-bz2-lib_CXXFILE,$(external-bz2-lib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(external-bz2-lib_CXXFILE))),$(external-bz2-lib_CXXFILE)))) +else + $(foreach external-bz2-lib_CXXFILE,$(external-bz2-lib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(basename $(external-bz2-lib_CXXFILE)))),$(external-bz2-lib_CXXFILE)))) +endif + +endif + + +ifneq ($(external-bz2-lib_OBJC_NARCHFILES),) + +ifeq (,) +external-bz2-lib_MOBJC_SRCWILDCARD := % +else +external-bz2-lib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(external-bz2-lib_OBJDIR),) + external-bz2-lib_MOBJC_TARGETS := $(addsuffix .o,$(external-bz2-lib_OBJC_NARCHFILES)) + external-bz2-lib_MOBJC_DTARGETS := $(addsuffix .d,$(external-bz2-lib_OBJC_NARCHFILES)) + external-bz2-lib_MOBJC_WILDCARD := % +else + external-bz2-lib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/,$(external-bz2-lib_OBJC_NARCHFILES))) + external-bz2-lib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/,$(external-bz2-lib_OBJC_NARCHFILES))) + external-bz2-lib_MOBJC_WILDCARD := $(external-bz2-lib_OBJDIR)/% + + # Be sure that all .m files are generated + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : | $(addsuffix .m,$(external-bz2-lib_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + external-bz2-lib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + external-bz2-lib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(external-bz2-lib_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + external-bz2-lib_MOBJC_DIRS := $(foreach dir, $(external-bz2-lib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-bz2-lib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(external-bz2-lib_MOBJC_DIRS),) + external-bz2-lib_MOBJC_DIRS := $(shell echo $(external-bz2-lib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(external-bz2-lib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + external-bz2-lib_CC := $(TARGET_CC) +else + external-bz2-lib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +external-bz2-lib_MOBJC_CPPFLAGS := $(external-bz2-lib_CPPFLAGS) +external-bz2-lib_OBJCFLAGS := $(external-bz2-lib_CFLAGS) +external-bz2-lib_OBJCFLAGS := $(external-bz2-lib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +external-bz2-lib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(external-bz2-lib_OBJCFLAGS))) +ifeq ($(external-bz2-lib_DFLAGS),) + external-bz2-lib_OBJCDFLAGS := $(external-bz2-lib_CFLAGS) +else + external-bz2-lib_OBJCDFLAGS := $(external-bz2-lib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + external-bz2-lib_LINK ?= $(strip $(external-bz2-lib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + external-bz2-lib_STRIP ?= $(TARGET_STRIP) + external-bz2-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : CMD:=$(strip $(external-bz2-lib_CC) $(TARGET_SYSROOT)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_MOBJC_CPPFLAGS:=$(strip $(external-bz2-lib_MOBJC_CPPFLAGS) $(external-bz2-lib_MOBJC_EXTRA_CPPFLAGS)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_OBJCFLAGS:=$(strip $(external-bz2-lib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_OBJCDFLAGS:=$(external-bz2-lib_OBJCDFLAGS) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_IQUOTE:=$(CFLAGS_IQUOTE) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + external-bz2-lib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + external-bz2-lib_STRIP ?= $(HOST_STRIP) + external-bz2-lib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(external-bz2-lib_MOBJC_CPPFLAGS) $(external-bz2-lib_MOBJC_EXTRA_CPPFLAGS)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_OBJCFLAGS)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_OBJCDFLAGS)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_IQUOTE:=$(HOST_IQUOTE) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + external-bz2-lib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + external-bz2-lib_STRIP ?= $(ECHO) >/dev/null + external-bz2-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(external-bz2-lib_MOBJC_CPPFLAGS) $(external-bz2-lib_MOBJC_EXTRA_CPPFLAGS)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_OBJCFLAGS)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_OBJCDFLAGS)) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_IQUOTE:=$(KERNEL_IQUOTE) + $(external-bz2-lib_MOBJC_TARGETS) $(external-bz2-lib_MOBJC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-bz2-lib_MOBJC_TARGETS) : CPPFLAGS := $(external-bz2-lib_MOBJC_CPPFLAGS) +$(external-bz2-lib_MOBJC_TARGETS) : CFLAGS := $(external-bz2-lib_OBJCFLAGS) +$(external-bz2-lib_MOBJC_TARGETS) : $(external-bz2-lib_MOBJC_WILDCARD).o : $(external-bz2-lib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-bz2-lib_MOBJC_DTARGETS) : $(external-bz2-lib_MOBJC_WILDCARD).d : $(external-bz2-lib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-bz2-lib_OBJCDFLAGS) $(external-bz2-lib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +external-bz2-lib_MC_SRCWILDCARD := % +else +external-bz2-lib_MC_SRCWILDCARD := /% +endif + +ifeq ($(external-bz2-lib_OBJDIR),) +external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(external-bz2-lib_CCFILES)) +external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(external-bz2-lib_CCFILES)) +external-bz2-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(external-bz2-lib_CCFILES)))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(external-bz2-lib_CCFILES)))) +else +ifeq (,) + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/,$(external-bz2-lib_CCFILES))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/,$(external-bz2-lib_CCFILES))) +else + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/,$(patsubst /%,%,$(external-bz2-lib_CCFILES)))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/,$(patsubst /%,%,$(external-bz2-lib_CCFILES)))) +endif +endif +external-bz2-lib_MC_TGTWILDCARD := $(external-bz2-lib_OBJDIR)/% + +# Be sure that all .c files are generated +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : | $(addsuffix .c,$(external-bz2-lib_CCFILES)) + +# Be sure that all .c files are found +external-bz2-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-bz2-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(external-bz2-lib_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +external-bz2-lib_MC_DIRS := $(foreach dir, $(external-bz2-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-bz2-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-bz2-lib_MC_DIRS),) + external-bz2-lib_MC_DIRS := $(shell echo $(external-bz2-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(external-bz2-lib_MC_DIRS) +endif + +endif + +external-bz2-lib_MC_CPPFLAGS := $(external-bz2-lib_CPPFLAGS) +external-bz2-lib_CFLAGS := $(external-bz2-lib_CFLAGS) +ifeq ($(external-bz2-lib_DFLAGS),) + external-bz2-lib_DFLAGS := $(external-bz2-lib_CFLAGS) +else + external-bz2-lib_DFLAGS := $(external-bz2-lib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +external-bz2-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +external-bz2-lib_STRIP ?= $(TARGET_STRIP) +external-bz2-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(external-bz2-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(external-bz2-lib_DFLAGS) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +external-bz2-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +external-bz2-lib_STRIP ?= $(HOST_STRIP) +external-bz2-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_DFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(HOST_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +external-bz2-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +external-bz2-lib_STRIP ?= $(ECHO) >/dev/null +external-bz2-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_DFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-bz2-lib_MC_TARGETS) : CPPFLAGS := $(external-bz2-lib_MC_CPPFLAGS) +$(external-bz2-lib_MC_TARGETS) : CFLAGS := $(external-bz2-lib_CFLAGS) +$(external-bz2-lib_MC_TARGETS) : $(external-bz2-lib_MC_TGTWILDCARD).o : $(external-bz2-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-bz2-lib_MC_DTARGETS) : $(external-bz2-lib_MC_TGTWILDCARD).d : $(external-bz2-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-bz2-lib_DFLAGS) $(external-bz2-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +external-bz2-lib_MC_SRCWILDCARD := % +else +external-bz2-lib_MC_SRCWILDCARD := /% +endif + +ifeq ($(external-bz2-lib_OBJDIR),) +external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(external-bz2-lib_TARGETCCFILES)) +external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(external-bz2-lib_TARGETCCFILES)) +external-bz2-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(external-bz2-lib_TARGETCCFILES)))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(external-bz2-lib_TARGETCCFILES)))) +else +ifeq (,) + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/,$(external-bz2-lib_TARGETCCFILES))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/,$(external-bz2-lib_TARGETCCFILES))) +else + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/,$(patsubst /%,%,$(external-bz2-lib_TARGETCCFILES)))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/,$(patsubst /%,%,$(external-bz2-lib_TARGETCCFILES)))) +endif +endif +external-bz2-lib_MC_TGTWILDCARD := $(external-bz2-lib_OBJDIR)/% + +# Be sure that all .c files are generated +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : | $(addsuffix .c,$(external-bz2-lib_TARGETCCFILES)) + +# Be sure that all .c files are found +external-bz2-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-bz2-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(external-bz2-lib_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +external-bz2-lib_MC_DIRS := $(foreach dir, $(external-bz2-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-bz2-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-bz2-lib_MC_DIRS),) + external-bz2-lib_MC_DIRS := $(shell echo $(external-bz2-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(external-bz2-lib_MC_DIRS) +endif + +endif + +external-bz2-lib_MC_CPPFLAGS := $(external-bz2-lib_CPPFLAGS) -D__AROS__ +external-bz2-lib_CFLAGS := $(external-bz2-lib_CFLAGS) +ifeq ($(external-bz2-lib_DFLAGS),) + external-bz2-lib_DFLAGS := $(external-bz2-lib_CFLAGS) +else + external-bz2-lib_DFLAGS := $(external-bz2-lib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +external-bz2-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +external-bz2-lib_STRIP ?= $(TARGET_STRIP) +external-bz2-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(external-bz2-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(external-bz2-lib_DFLAGS) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +external-bz2-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +external-bz2-lib_STRIP ?= $(HOST_STRIP) +external-bz2-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_DFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(HOST_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +external-bz2-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +external-bz2-lib_STRIP ?= $(ECHO) >/dev/null +external-bz2-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_DFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-bz2-lib_MC_TARGETS) : CPPFLAGS := $(external-bz2-lib_MC_CPPFLAGS) +$(external-bz2-lib_MC_TARGETS) : CFLAGS := $(external-bz2-lib_CFLAGS) +$(external-bz2-lib_MC_TARGETS) : $(external-bz2-lib_MC_TGTWILDCARD).o : $(external-bz2-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-bz2-lib_MC_DTARGETS) : $(external-bz2-lib_MC_TGTWILDCARD).d : $(external-bz2-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-bz2-lib_DFLAGS) $(external-bz2-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +external-bz2-lib_MC_SRCWILDCARD := % +else +external-bz2-lib_MC_SRCWILDCARD := /% +endif + +ifeq ($(external-bz2-lib_OBJDIR)/linklib,) +external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(external-bz2-lib_NLIBARCHFILES)) +external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(external-bz2-lib_NLIBARCHFILES)) +external-bz2-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(notdir $(external-bz2-lib_NLIBARCHFILES)))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(notdir $(external-bz2-lib_NLIBARCHFILES)))) +else +ifeq (,) + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(external-bz2-lib_NLIBARCHFILES))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(external-bz2-lib_NLIBARCHFILES))) +else + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(patsubst /%,%,$(external-bz2-lib_NLIBARCHFILES)))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(patsubst /%,%,$(external-bz2-lib_NLIBARCHFILES)))) +endif +endif +external-bz2-lib_MC_TGTWILDCARD := $(external-bz2-lib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : | $(addsuffix .c,$(external-bz2-lib_NLIBARCHFILES)) + +# Be sure that all .c files are found +external-bz2-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-bz2-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(external-bz2-lib_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +external-bz2-lib_MC_DIRS := $(foreach dir, $(external-bz2-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-bz2-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-bz2-lib_MC_DIRS),) + external-bz2-lib_MC_DIRS := $(shell echo $(external-bz2-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(external-bz2-lib_MC_DIRS) +endif + +endif + +external-bz2-lib_MC_CPPFLAGS := $(external-bz2-lib_LINKLIBCPPFLAGS) -D__AROS__ +external-bz2-lib_CFLAGS := $(external-bz2-lib_LINKLIBCFLAGS) +ifeq ($(external-bz2-lib_LINKLIBDFLAGS),) + external-bz2-lib_DFLAGS := $(external-bz2-lib_LINKLIBCFLAGS) +else + external-bz2-lib_DFLAGS := $(external-bz2-lib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +external-bz2-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +external-bz2-lib_STRIP ?= $(TARGET_STRIP) +external-bz2-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(external-bz2-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(external-bz2-lib_DFLAGS) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +external-bz2-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +external-bz2-lib_STRIP ?= $(HOST_STRIP) +external-bz2-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_DFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(HOST_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +external-bz2-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +external-bz2-lib_STRIP ?= $(ECHO) >/dev/null +external-bz2-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_DFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-bz2-lib_MC_TARGETS) : CPPFLAGS := $(external-bz2-lib_MC_CPPFLAGS) +$(external-bz2-lib_MC_TARGETS) : CFLAGS := $(external-bz2-lib_CFLAGS) +$(external-bz2-lib_MC_TARGETS) : $(external-bz2-lib_MC_TGTWILDCARD).o : $(external-bz2-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-bz2-lib_MC_DTARGETS) : $(external-bz2-lib_MC_TGTWILDCARD).d : $(external-bz2-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-bz2-lib_DFLAGS) $(external-bz2-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(external-bz2-lib_OBJDIR)/linklib,) +external-bz2-lib_MC_SRCWILDCARD := % +else +external-bz2-lib_MC_SRCWILDCARD := $(external-bz2-lib_OBJDIR)/linklib/% +endif + +ifeq ($(external-bz2-lib_OBJDIR)/linklib,) +external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(external-bz2-lib_LINKLIBCCGENFILES)) +external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(external-bz2-lib_LINKLIBCCGENFILES)) +external-bz2-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(notdir $(external-bz2-lib_LINKLIBCCGENFILES)))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(notdir $(external-bz2-lib_LINKLIBCCGENFILES)))) +else +ifeq ($(external-bz2-lib_OBJDIR)/linklib,) + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(external-bz2-lib_LINKLIBCCGENFILES))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(external-bz2-lib_LINKLIBCCGENFILES))) +else + external-bz2-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(patsubst $(external-bz2-lib_OBJDIR)/linklib/%,%,$(external-bz2-lib_LINKLIBCCGENFILES)))) + external-bz2-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(patsubst $(external-bz2-lib_OBJDIR)/linklib/%,%,$(external-bz2-lib_LINKLIBCCGENFILES)))) +endif +endif +external-bz2-lib_MC_TGTWILDCARD := $(external-bz2-lib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : | $(addsuffix .c,$(external-bz2-lib_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +external-bz2-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-bz2-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(external-bz2-lib_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +external-bz2-lib_MC_DIRS := $(foreach dir, $(external-bz2-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-bz2-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-bz2-lib_MC_DIRS),) + external-bz2-lib_MC_DIRS := $(shell echo $(external-bz2-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(external-bz2-lib_MC_DIRS) +endif + +endif + +external-bz2-lib_MC_CPPFLAGS := $(external-bz2-lib_LINKLIBCPPFLAGS) -D__AROS__ +external-bz2-lib_CFLAGS := $(external-bz2-lib_LINKLIBCFLAGS) +ifeq ($(external-bz2-lib_LINKLIBDFLAGS),) + external-bz2-lib_DFLAGS := $(external-bz2-lib_LINKLIBCFLAGS) +else + external-bz2-lib_DFLAGS := $(external-bz2-lib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +external-bz2-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +external-bz2-lib_STRIP ?= $(TARGET_STRIP) +external-bz2-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(external-bz2-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(external-bz2-lib_DFLAGS) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +external-bz2-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +external-bz2-lib_STRIP ?= $(HOST_STRIP) +external-bz2-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-lib_DFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(HOST_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +external-bz2-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +external-bz2-lib_STRIP ?= $(ECHO) >/dev/null +external-bz2-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(external-bz2-lib_MC_CPPFLAGS) $(external-bz2-lib_MC_EXTRA_CPPFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_CFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-lib_DFLAGS)) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(external-bz2-lib_MC_TARGETS) $(external-bz2-lib_MC_DTARGETS) : external-bz2-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-bz2-lib_MC_TARGETS) : CPPFLAGS := $(external-bz2-lib_MC_CPPFLAGS) +$(external-bz2-lib_MC_TARGETS) : CFLAGS := $(external-bz2-lib_CFLAGS) +$(external-bz2-lib_MC_TARGETS) : $(external-bz2-lib_MC_TGTWILDCARD).o : $(external-bz2-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-bz2-lib_IQUOTE) $(dir $<) $(external-bz2-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-lib_IQUOTE) . $(external-bz2-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-bz2-lib_MC_DTARGETS) : $(external-bz2-lib_MC_TGTWILDCARD).d : $(external-bz2-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-bz2-lib_DFLAGS) $(external-bz2-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(external-bz2-lib_LINKLIBAFILES),) + +ifeq ($(external-bz2-lib_OBJDIR)/linklib,) +external-bz2-lib-MA_TARGETS := $(addsuffix .o,$(external-bz2-lib_LINKLIBAFILES) $(external-bz2-lib_RELLINKLIBAFILES)) +external-bz2-lib-MA_WILDCARD := % +else +external-bz2-lib-MA_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(notdir $(external-bz2-lib_LINKLIBAFILES) $(external-bz2-lib_RELLINKLIBAFILES)))) +external-bz2-lib-MA_WILDCARD := $(external-bz2-lib_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(external-bz2-lib-MA_TARGETS) : | $(addsuffix .S,$(external-bz2-lib_LINKLIBAFILES) $(external-bz2-lib_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +external-bz2-lib-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-bz2-lib-MA_BASEDIRS := $(shell echo $(sort $(dir $(external-bz2-lib_LINKLIBAFILES) $(external-bz2-lib_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +external-bz2-lib-MA_DIRS := $(foreach dir, $(external-bz2-lib-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-bz2-lib-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-bz2-lib-MA_DIRS),) + external-bz2-lib-MA_DIRS := $(shell echo $(external-bz2-lib-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(external-bz2-lib-MA_DIRS) +endif + +endif + +external-bz2-lib-MA_ASSEMBLER ?= $(external-bz2-lib_ASSEMBLER) + +$(external-bz2-lib-MA_TARGETS) : external-bz2-lib-MA_CMD:= $(external-bz2-lib-MA_ASSEMBLER) + +$(external-bz2-lib-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(external-bz2-lib-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(external-bz2-lib-MA_TARGETS) : $(external-bz2-lib-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(external-bz2-lib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(external-bz2-lib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(external-bz2-lib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +external-bz2-lib_SUFFIX := library +else +external-bz2-lib_SUFFIX := +endif + +ifeq (target,target) +external-bz2-lib_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +external-bz2-lib_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +external-bz2-lib_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(external-bz2-lib_SUFFIX),handler) +external-bz2-lib_MODULE := $(AROSDIR)/$(external-bz2-lib_MODDIR)/$(external-bz2-lib_DEFNAME)-$(external-bz2-lib_SUFFIX) +else +external-bz2-lib_MODULE := $(AROSDIR)/$(external-bz2-lib_MODDIR)/$(external-bz2-lib_DEFNAME).$(external-bz2-lib_SUFFIX) +endif +external-bz2-lib_KOBJ := $(KOBJSDIR)/$(external-bz2-lib_DEFNAME)_$(external-bz2-lib_SUFFIX).o +else +external-bz2-lib_MODULE := +external-bz2-lib_KOBJ := +endif + +external-bz2-lib-quick : external-bz2-lib +external-bz2-lib : $(external-bz2-lib_MODULE) $(external-bz2-lib_LINKLIB) $(external-bz2-lib_RELLINKLIB) +ifeq (M,M) +external-bz2-lib-kobj : $(external-bz2-lib_KOBJ) $(external-bz2-lib_LINKLIB) $(external-bz2-lib_RELLINKLIB) +external-bz2-lib-kobj-quick : $(external-bz2-lib_KOBJ) $(external-bz2-lib_LINKLIB) $(external-bz2-lib_RELLINKLIB) +endif +ifeq (M,M) +external-bz2-lib-linklib : $(external-bz2-lib_LINKLIB) $(external-bz2-lib_RELLINKLIB) +endif + +external-bz2-lib_OBJS := $(addsuffix .o,$(external-bz2-lib_STARTFILES)) $(external-bz2-lib_ARCHOBJS) \ + $(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(external-bz2-lib_C_NARCHFILES:=.o) $(external-bz2-lib_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +external-bz2-lib_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (bz2,con) + external-bz2-lib_ERR := $(notdir $(external-bz2-lib_MODULE)).err +else + external-bz2-lib_ERR := bz2.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(external-bz2-lib_DEFNAME)_LDFLAGS) $(external-bz2-lib_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(external-bz2-lib_LIBS) $($(external-bz2-lib_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(external-bz2-lib_MODULE) : LIB_NAMES := $(external-bz2-lib_LIBS) $($(external-bz2-lib_DEFNAME)_LIBS) +$(external-bz2-lib_MODULE) : OBJS := $(external-bz2-lib_STARTOBJS) $(external-bz2-lib_OBJS) $(USER_OBJS) +$(external-bz2-lib_MODULE) : ENDTAG := $(external-bz2-lib_ENDOBJS) +$(external-bz2-lib_MODULE) : ERR := $(external-bz2-lib_ERR) +$(external-bz2-lib_MODULE) : OBJDIR := $(external-bz2-lib_OBJDIR) +$(external-bz2-lib_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(external-bz2-lib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(external-bz2-lib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(external-bz2-lib_MODULE) : $(external-bz2-lib_STARTOBJS) $(external-bz2-lib_OBJS) $(USER_OBJS) $(external-bz2-lib_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(external-bz2-lib_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(external-bz2-lib_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +external-bz2-lib_LC_LINKLIBNAME := $(shell echo $(external-bz2-lib_LINKLIBNAME) | tr A-Z a-z) +external-bz2-lib_LC_MODNAME := $(shell echo bz2 | tr A-Z a-z) +ifneq ($(external-bz2-lib_LINKLIB),) + +ifeq (target,target) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(HOST_AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(KERNEL_AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)$(external-bz2-lib_LIBSUFFIX).a : $(external-bz2-lib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(external-bz2-lib_AR) $@ $^ + $(Q)$(external-bz2-lib_RANLIB) $@ +ifneq ($(external-bz2-lib_LC_MODNAME),$(external-bz2-lib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(external-bz2-lib_LIBDIR)/libbz2$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(AR) +$(external-bz2-lib_LIBDIR)/libbz2$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(external-bz2-lib_LIBDIR)/libbz2$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(HOST_AR) +$(external-bz2-lib_LIBDIR)/libbz2$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(external-bz2-lib_LIBDIR)/libbz2$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(KERNEL_AR) +$(external-bz2-lib_LIBDIR)/libbz2$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(external-bz2-lib_LIBDIR)/libbz2$(external-bz2-lib_LIBSUFFIX).a : $(external-bz2-lib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(external-bz2-lib_AR) $@ $^ + $(Q)$(external-bz2-lib_RANLIB) $@ +endif + + +ifneq ($(external-bz2-lib_LINKLIB),) +$(external-bz2-lib_LINKLIB) : | $(external-bz2-lib_LIBDIR) +else +$(external-bz2-lib_LINKLIB) :: $(external-bz2-lib_LIBDIR) +endif + +GLOB_MKDIRS += $(external-bz2-lib_LIBDIR) + +endif + +ifneq ($(external-bz2-lib_RELLINKLIB),) + +ifeq (target,target) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(HOST_AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(KERNEL_AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_LINKLIBNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : $(external-bz2-lib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(external-bz2-lib_AR) $@ $^ + $(Q)$(external-bz2-lib_RANLIB) $@ +ifneq ($(external-bz2-lib_LC_MODNAME),$(external-bz2-lib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_DEFNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_DEFNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_DEFNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(HOST_AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_DEFNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_DEFNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_AR:=$(KERNEL_AR) +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_DEFNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : external-bz2-lib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(external-bz2-lib_LIBDIR)/lib$(external-bz2-lib_DEFNAME)_rel$(external-bz2-lib_LIBSUFFIX).a : $(external-bz2-lib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(external-bz2-lib_AR) $@ $^ + $(Q)$(external-bz2-lib_RANLIB) $@ +endif + + +ifneq ($(external-bz2-lib_RELLINKLIB),) +$(external-bz2-lib_RELLINKLIB) : | $(external-bz2-lib_LIBDIR) +else +$(external-bz2-lib_RELLINKLIB) :: $(external-bz2-lib_LIBDIR) +endif + +GLOB_MKDIRS += $(external-bz2-lib_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +external-bz2-lib_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +external-bz2-lib_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +external-bz2-lib_SYMBOLS := $(external-bz2-lib_KBASE) + +external-bz2-lib_KLIB := hiddstubs amiga arossupport autoinit libinit +external-bz2-lib_KOBJ_LIBS := $(filter-out $(external-bz2-lib_KLIB),$(external-bz2-lib_LIBS)) $(external-bz2-lib_KAUTOLIB) +$(external-bz2-lib_KOBJ) : LINKLIBS:=$(external-bz2-lib_KOBJ_LIBS) $($(external-bz2-lib_DEFNAME)_LIBS) +$(external-bz2-lib_KOBJ) : FILTBASES:=$(addprefix -L ,$(external-bz2-lib_SYMBOLS)) +$(external-bz2-lib_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(external-bz2-lib_KOBJ) : $(external-bz2-lib_OBJS) $(USER_OBJS) $(external-bz2-lib_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +external-bz2-lib_DEPS := $(addprefix $(external-bz2-lib_OBJDIR)/,$(notdir $(external-bz2-lib_CCFILES:=.d) $(external-bz2-lib_TARGETCCFILES:=.d) $(external-bz2-lib_CXXFILES:=.d))) $(addprefix $(external-bz2-lib_OBJDIR)/linklib/,$(notdir $(external-bz2-lib_LINKLIBCCFILES:=.d))) + +ifneq ($(external-bz2-lib_DEPS),) + ifneq (external-bz2-lib external-bz2-lib-quick external-bz2-lib-kobj external-bz2-lib-kobj-quick,) + ifneq ($(findstring $(TARGET),external-bz2-lib external-bz2-lib-quick external-bz2-lib-kobj external-bz2-lib-kobj-quick),) + -include $(external-bz2-lib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(external-bz2-lib_DEPS) + endif + endif +endif + +$(external-bz2-lib_OBJS) $(external-bz2-lib_DEPS) : | $(external-bz2-lib_OBJDIR)/linklib + +ifneq ($(external-bz2-lib_OBJS) $(external-bz2-lib_DEPS) $(external-bz2-lib_MODULE) $(external-bz2-lib_KOBJ),) +$(external-bz2-lib_OBJS) $(external-bz2-lib_DEPS) $(external-bz2-lib_MODULE) $(external-bz2-lib_KOBJ) : | $(external-bz2-lib_OBJDIR) $(AROSDIR)/$(external-bz2-lib_MODDIR) $(KOBJSDIR) +else +$(external-bz2-lib_OBJS) $(external-bz2-lib_DEPS) $(external-bz2-lib_MODULE) $(external-bz2-lib_KOBJ) :: $(external-bz2-lib_OBJDIR) $(AROSDIR)/$(external-bz2-lib_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(external-bz2-lib_OBJDIR) $(AROSDIR)/$(external-bz2-lib_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),external-bz2-lib external-bz2-lib-includes external-bz2-lib-quick external-bz2-lib-kobj external-bz2-lib-kobj-quick),) # Only for this target these deps are wanted + +external-bz2-lib_DFILE_DEPS := $(external-bz2-lib_LIBDEFSINC) $(external-bz2-lib_DEFLIBDEFSINC) \ + $(addprefix $(external-bz2-lib_INCDIR)/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) +$(external-bz2-lib_DEPS) : $(external-bz2-lib_DFILE_DEPS) +endif + +external-bz2-lib_TOCLEAN := $(external-bz2-lib_OBJS) $(external-bz2-lib_DEPS) \ + $(external-bz2-lib_MODULE) $(external-bz2-lib_LINKLIB) $(external-bz2-lib_KOBJ) \ + $(external-bz2-lib_OBJDIR)/Makefile.bz2library \ + $(addprefix $(external-bz2-lib_OBJDIR)/include/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) \ + $(addprefix $(external-bz2-lib_INCDIR)/,$($(external-bz2-lib_DEFNAME)_INCLUDES)) \ + $(external-bz2-lib_OBJDIR)/bz2_geninc $(external-bz2-lib_OBJDIR)/bz2_incs \ + $(addsuffix .c,$(external-bz2-lib_LINKLIBFILES)) $(external-bz2-lib_LINKLIBOBJS) $(external-bz2-lib_LIBDEFSINC) \ + $(external-bz2-lib_DEFLIBDEFSINC) $(addsuffix .c,$(external-bz2-lib_STARTFILES) $(external-bz2-lib_ENDFILES)) \ + $(external-bz2-lib_ENDOBJS) +external-bz2-lib-clean : FILES := $(external-bz2-lib_TOCLEAN) +external-bz2-lib-clean :: + $(Q)$(ECHO) "Cleaning up for module bz2" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(external-bz2-lib_ALLTARGETS) + + +################################################################################### + +#MM- linklibs: linklibs-bz2-nostdio + +NOWARN_FLAGS := $(NOWARN_UNUSED_BUT_SET_VARIABLE) +USER_CFLAGS := $(NOWARN_FLAGS) -DBZ_NO_STDIO + + +# assign and generate the local variables used in this macro +linklibs-bz2-nostdio_LIBNAME := bz2_nostdio +linklibs-bz2-nostdio_LINKLIB := $(AROS_LIB)/libbz2_nostdio.a + +linklibs-bz2-nostdio_FILES ?= $(FILES) +linklibs-bz2-nostdio_ASMFILES := +linklibs-bz2-nostdio_OBJCFILES := +linklibs-bz2-nostdio_CXXFILES := + +linklibs-bz2-nostdio_OBJDIR ?= $(OBJDIR)/nostdio +linklibs-bz2-nostdio_ARCHOBJS := $(wildcard $(linklibs-bz2-nostdio_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-bz2-nostdio_ARCHFILES := $(basename $(notdir $(linklibs-bz2-nostdio_ARCHOBJS))) +else + linklibs-bz2-nostdio_ARCHFILES := $(basename $(patsubst $(linklibs-bz2-nostdio_OBJDIR)/%,%,$(linklibs-bz2-nostdio_ARCHOBJS))) +endif +linklibs-bz2-nostdio_C_NARCHFILES := $(filter-out $(linklibs-bz2-nostdio_ARCHFILES),$(linklibs-bz2-nostdio_FILES)) +linklibs-bz2-nostdio_C_FILES ?= $(linklibs-bz2-nostdio_C_NARCHFILES) +linklibs-bz2-nostdio_CXX_NARCHFILES := $(filter-out $(linklibs-bz2-nostdio_ARCHFILES),$(linklibs-bz2-nostdio_CXXFILES)) +linklibs-bz2-nostdio_CXX_FILES ?= $(linklibs-bz2-nostdio_CXX_NARCHFILES) +linklibs-bz2-nostdio_OBJC_NARCHFILES := $(filter-out $(linklibs-bz2-nostdio_ARCHFILES),$(linklibs-bz2-nostdio_OBJCFILES)) +linklibs-bz2-nostdio_OBJC_FILES ?= $(linklibs-bz2-nostdio_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-bz2-nostdio_OBJ_FILES ?= $(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(notdir $(linklibs-bz2-nostdio_C_NARCHFILES:=.o) $(linklibs-bz2-nostdio_CXX_NARCHFILES:=.o) $(linklibs-bz2-nostdio_ASMFILES:=.o) $(linklibs-bz2-nostdio_OBJC_NARCHFILES:=.o))) +else + linklibs-bz2-nostdio_OBJ_FILES ?= $(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(linklibs-bz2-nostdio_C_NARCHFILES:=.o) $(linklibs-bz2-nostdio_CXX_NARCHFILES:=.o) $(linklibs-bz2-nostdio_ASMFILES:=.o) $(linklibs-bz2-nostdio_OBJC_NARCHFILES:=.o)) +endif +linklibs-bz2-nostdio_OBJS ?= $(linklibs-bz2-nostdio_ARCHOBJS) $(linklibs-bz2-nostdio_OBJ_FILES) +linklibs-bz2-nostdio_DEPS := $(patsubst %.o,%.d,$(linklibs-bz2-nostdio_OBJS)) + +linklibs-bz2-nostdio_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-bz2-nostdio_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-bz2-nostdio_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-bz2-nostdio_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-bz2-nostdio_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-bz2-nostdio_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-bz2-nostdio_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-bz2-nostdio_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-bz2-nostdio_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-bz2-nostdio_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-bz2-nostdio_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-bz2-nostdio_CFLAGS)) + linklibs-bz2-nostdio_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-bz2-nostdio_CXXFLAGS)) +endif +endif +linklibs-bz2-nostdio_AFLAGS := $(AFLAGS) +linklibs-bz2-nostdio_DFLAGS := +ifneq (,) + linklibs-bz2-nostdio_DFLAGS := +else + linklibs-bz2-nostdio_DFLAGS := $(linklibs-bz2-nostdio_CFLAGS) +endif +linklibs-bz2-nostdio_DXXFLAGS := +ifneq (,) + linklibs-bz2-nostdio_DXXFLAGS := +else + linklibs-bz2-nostdio_DXXFLAGS := $(linklibs-bz2-nostdio_CXXFLAGS) +endif + +.PHONY : linklibs-bz2-nostdio linklibs-bz2-nostdio-clean linklibs-bz2-nostdio-quick + +#MM +linklibs-bz2-nostdio-quick : linklibs-bz2-nostdio + +#MM linklibs-bz2-nostdio : includes-generate-deps +linklibs-bz2-nostdio : $(linklibs-bz2-nostdio_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-bz2-nostdio linklibs-bz2-nostdio-quick),) + + +linklibs-bz2-nostdio_CXXABSBASENAMES := $(foreach linklibs-bz2-nostdio_CXXBASE,$(linklibs-bz2-nostdio_CXX_FILES),$(if $(filter /%,$(linklibs-bz2-nostdio_CXXBASE)),$(linklibs-bz2-nostdio_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-bz2-nostdio_CXXBASE)))) + +ifneq ($(linklibs-bz2-nostdio_CXXABSBASENAMES),) + +linklibs-bz2-nostdio_CXXBASENAMES := $(basename $(linklibs-bz2-nostdio_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-bz2-nostdio_MCXX_FILES := $(strip $(foreach linklibs-bz2-nostdio_CXXBASE,$(linklibs-bz2-nostdio_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-bz2-nostdio_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-bz2-nostdio_EXT),$(linklibs-bz2-nostdio_CXXBASE))))))) + +ifeq (,) +linklibs-bz2-nostdio_MCXX_SRCWILDCARD := % +else +linklibs-bz2-nostdio_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-bz2-nostdio_OBJDIR),) + linklibs-bz2-nostdio_CXXTARGETS := $(notdir $(linklibs-bz2-nostdio_CXXBASENAMES:=.o)) + linklibs-bz2-nostdio_CXXDTARGETS := $(notdir $(linklibs-bz2-nostdio_CXXBASENAMES:=.d)) + linklibs-bz2-nostdio_MCXX_WILDCARD := % +else + linklibs-bz2-nostdio_CXXTARGETS := $(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(notdir $(linklibs-bz2-nostdio_CXXBASENAMES:=.o))) + linklibs-bz2-nostdio_CXXDTARGETS := $(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(notdir $(linklibs-bz2-nostdio_CXXBASENAMES:=.d))) + linklibs-bz2-nostdio_MCXX_WILDCARD := $(linklibs-bz2-nostdio_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-bz2-nostdio_CXXTARGETS) $(linklibs-bz2-nostdio_CXXDTARGETS) : | $(linklibs-bz2-nostdio_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-bz2-nostdio_MCXX_CPPFLAGS := $(linklibs-bz2-nostdio_CPPFLAGS) +linklibs-bz2-nostdio_CXXFLAGS := $(linklibs-bz2-nostdio_CXXFLAGS) +ifeq ($(linklibs-bz2-nostdio_DXXFLAGS),) + linklibs-bz2-nostdio_DXXFLAGS := $(linklibs-bz2-nostdio_CXXFLAGS) +else + linklibs-bz2-nostdio_DXXFLAGS := $(linklibs-bz2-nostdio_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-bz2-nostdio_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-bz2-nostdio_STRIP ?= $(HOST_STRIP) + linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-bz2-nostdio_CXXCMD:=$(HOST_CXX) + linklibs-bz2-nostdio_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-bz2-nostdio_MCXX_CPPFLAGS) $(linklibs-bz2-nostdio_MCXX_EXTRA_CPPFLAGS)) + linklibs-bz2-nostdio_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-bz2-nostdio_CXXFLAGS)) + linklibs-bz2-nostdio_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-bz2-nostdio_DXXFLAGS)) + linklibs-bz2-nostdio_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-bz2-nostdio_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-bz2-nostdio_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-bz2-nostdio_STRIP ?= $(TARGET_STRIP) + linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-bz2-nostdio_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-bz2-nostdio_MCXX_CPPFLAGS := $(strip $(linklibs-bz2-nostdio_MCXX_CPPFLAGS) $(linklibs-bz2-nostdio_MCXX_EXTRA_CPPFLAGS)) + linklibs-bz2-nostdio_CXXFLAGS := $(strip $(linklibs-bz2-nostdio_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-bz2-nostdio_DXXFLAGS := $(linklibs-bz2-nostdio_DXXFLAGS) + linklibs-bz2-nostdio_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-bz2-nostdio_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-bz2-nostdio_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-bz2-nostdio_STRIP ?= $(ECHO) >/dev/null + linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-bz2-nostdio_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-bz2-nostdio_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-bz2-nostdio_MCXX_CPPFLAGS) $(linklibs-bz2-nostdio_MCXX_EXTRA_CPPFLAGS)) + linklibs-bz2-nostdio_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-bz2-nostdio_CXXFLAGS)) + linklibs-bz2-nostdio_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-bz2-nostdio_DXXFLAGS)) + linklibs-bz2-nostdio_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-bz2-nostdio_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-bz2-nostdio_CXXCMD) $(linklibs-bz2-nostdio_CXXIQUOTE) $(dir $(2)) $(linklibs-bz2-nostdio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_CXXIQUOTE) . $(linklibs-bz2-nostdio_CXXIQUOTE_END) $(strip $(linklibs-bz2-nostdio_CXXFLAGS) $(linklibs-bz2-nostdio_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-bz2-nostdio_CXXCMD) $(linklibs-bz2-nostdio_CXXIQUOTE) $(dir $(2)) $(linklibs-bz2-nostdio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_CXXIQUOTE) . $(linklibs-bz2-nostdio_CXXIQUOTE_END) $(strip $(linklibs-bz2-nostdio_CXXFLAGS) $(linklibs-bz2-nostdio_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-bz2-nostdio_CXXCMD) $(linklibs-bz2-nostdio_CXXIQUOTE) $(dir $(2)) $(linklibs-bz2-nostdio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_CXXIQUOTE) . $(linklibs-bz2-nostdio_CXXIQUOTE_END) $(strip $(linklibs-bz2-nostdio_CXXFLAGS) $(linklibs-bz2-nostdio_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-bz2-nostdio_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-bz2-nostdio_DXXFLAGS) $(linklibs-bz2-nostdio_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-bz2-nostdio_OBJDIR),) + $(foreach linklibs-bz2-nostdio_CXXFILE,$(linklibs-bz2-nostdio_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-bz2-nostdio_CXXFILE))),$(linklibs-bz2-nostdio_CXXFILE)))) +else + $(foreach linklibs-bz2-nostdio_CXXFILE,$(linklibs-bz2-nostdio_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(notdir $(basename $(linklibs-bz2-nostdio_CXXFILE)))),$(linklibs-bz2-nostdio_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-bz2-nostdio_OBJC_FILES),) + +ifeq (,) +linklibs-bz2-nostdio_MOBJC_SRCWILDCARD := % +else +linklibs-bz2-nostdio_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-bz2-nostdio_OBJDIR),) + linklibs-bz2-nostdio_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-bz2-nostdio_OBJC_FILES)) + linklibs-bz2-nostdio_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-bz2-nostdio_OBJC_FILES)) + linklibs-bz2-nostdio_MOBJC_WILDCARD := % +else + linklibs-bz2-nostdio_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(linklibs-bz2-nostdio_OBJC_FILES))) + linklibs-bz2-nostdio_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(linklibs-bz2-nostdio_OBJC_FILES))) + linklibs-bz2-nostdio_MOBJC_WILDCARD := $(linklibs-bz2-nostdio_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-bz2-nostdio_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-bz2-nostdio_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-bz2-nostdio_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-bz2-nostdio_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-bz2-nostdio_MOBJC_DIRS := $(foreach dir, $(linklibs-bz2-nostdio_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-bz2-nostdio_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-bz2-nostdio_MOBJC_DIRS),) + linklibs-bz2-nostdio_MOBJC_DIRS := $(shell echo $(linklibs-bz2-nostdio_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-bz2-nostdio_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-bz2-nostdio_CC := $(TARGET_CC) +else + linklibs-bz2-nostdio_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-bz2-nostdio_MOBJC_CPPFLAGS := $(linklibs-bz2-nostdio_CPPFLAGS) +linklibs-bz2-nostdio_OBJCFLAGS := $(linklibs-bz2-nostdio_CFLAGS) +linklibs-bz2-nostdio_OBJCFLAGS := $(linklibs-bz2-nostdio_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-bz2-nostdio_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-bz2-nostdio_OBJCFLAGS))) +ifeq ($(linklibs-bz2-nostdio_DFLAGS),) + linklibs-bz2-nostdio_OBJCDFLAGS := $(linklibs-bz2-nostdio_CFLAGS) +else + linklibs-bz2-nostdio_OBJCDFLAGS := $(linklibs-bz2-nostdio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-bz2-nostdio_LINK ?= $(strip $(linklibs-bz2-nostdio_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-bz2-nostdio_STRIP ?= $(TARGET_STRIP) + linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-bz2-nostdio_CC) $(TARGET_SYSROOT)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_MOBJC_CPPFLAGS:=$(strip $(linklibs-bz2-nostdio_MOBJC_CPPFLAGS) $(linklibs-bz2-nostdio_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_OBJCFLAGS:=$(strip $(linklibs-bz2-nostdio_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_OBJCDFLAGS:=$(linklibs-bz2-nostdio_OBJCDFLAGS) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-bz2-nostdio_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-bz2-nostdio_STRIP ?= $(HOST_STRIP) + linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-bz2-nostdio_MOBJC_CPPFLAGS) $(linklibs-bz2-nostdio_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-bz2-nostdio_OBJCFLAGS)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-bz2-nostdio_OBJCDFLAGS)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-bz2-nostdio_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-bz2-nostdio_STRIP ?= $(ECHO) >/dev/null + linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-bz2-nostdio_MOBJC_CPPFLAGS) $(linklibs-bz2-nostdio_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-bz2-nostdio_OBJCFLAGS)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-bz2-nostdio_OBJCDFLAGS)) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-bz2-nostdio_MOBJC_TARGETS) $(linklibs-bz2-nostdio_MOBJC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-bz2-nostdio_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-bz2-nostdio_MOBJC_CPPFLAGS) +$(linklibs-bz2-nostdio_MOBJC_TARGETS) : CFLAGS := $(linklibs-bz2-nostdio_OBJCFLAGS) +$(linklibs-bz2-nostdio_MOBJC_TARGETS) : $(linklibs-bz2-nostdio_MOBJC_WILDCARD).o : $(linklibs-bz2-nostdio_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-bz2-nostdio_IQUOTE) $(dir $<) $(linklibs-bz2-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_IQUOTE) . $(linklibs-bz2-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-bz2-nostdio_IQUOTE) $(dir $<) $(linklibs-bz2-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_IQUOTE) . $(linklibs-bz2-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-bz2-nostdio_IQUOTE) $(dir $<) $(linklibs-bz2-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_IQUOTE) . $(linklibs-bz2-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-bz2-nostdio_MOBJC_DTARGETS) : $(linklibs-bz2-nostdio_MOBJC_WILDCARD).d : $(linklibs-bz2-nostdio_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-bz2-nostdio_OBJCDFLAGS) $(linklibs-bz2-nostdio_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-bz2-nostdio_MC_SRCWILDCARD := % +else +linklibs-bz2-nostdio_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-bz2-nostdio_OBJDIR),) +linklibs-bz2-nostdio_MC_TARGETS := $(addsuffix .o,$(linklibs-bz2-nostdio_C_FILES)) +linklibs-bz2-nostdio_MC_DTARGETS := $(addsuffix .d,$(linklibs-bz2-nostdio_C_FILES)) +linklibs-bz2-nostdio_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-bz2-nostdio_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(notdir $(linklibs-bz2-nostdio_C_FILES)))) + linklibs-bz2-nostdio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(notdir $(linklibs-bz2-nostdio_C_FILES)))) +else +ifeq (,) + linklibs-bz2-nostdio_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(linklibs-bz2-nostdio_C_FILES))) + linklibs-bz2-nostdio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(linklibs-bz2-nostdio_C_FILES))) +else + linklibs-bz2-nostdio_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(patsubst /%,%,$(linklibs-bz2-nostdio_C_FILES)))) + linklibs-bz2-nostdio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(patsubst /%,%,$(linklibs-bz2-nostdio_C_FILES)))) +endif +endif +linklibs-bz2-nostdio_MC_TGTWILDCARD := $(linklibs-bz2-nostdio_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-bz2-nostdio_C_FILES)) + +# Be sure that all .c files are found +linklibs-bz2-nostdio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-bz2-nostdio_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-bz2-nostdio_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-bz2-nostdio_MC_DIRS := $(foreach dir, $(linklibs-bz2-nostdio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-bz2-nostdio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-bz2-nostdio_MC_DIRS),) + linklibs-bz2-nostdio_MC_DIRS := $(shell echo $(linklibs-bz2-nostdio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-bz2-nostdio_MC_DIRS) +endif + +endif + +linklibs-bz2-nostdio_MC_CPPFLAGS := $(linklibs-bz2-nostdio_CPPFLAGS) +linklibs-bz2-nostdio_CFLAGS := $(linklibs-bz2-nostdio_CFLAGS) +ifeq ($(linklibs-bz2-nostdio_DFLAGS),) + linklibs-bz2-nostdio_DFLAGS := $(linklibs-bz2-nostdio_CFLAGS) +else + linklibs-bz2-nostdio_DFLAGS := $(linklibs-bz2-nostdio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-bz2-nostdio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-bz2-nostdio_STRIP ?= $(TARGET_STRIP) +linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_MC_CPPFLAGS:=$(strip $(linklibs-bz2-nostdio_MC_CPPFLAGS) $(linklibs-bz2-nostdio_MC_EXTRA_CPPFLAGS)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_CFLAGS:=$(strip $(linklibs-bz2-nostdio_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_DFLAGS:=$(linklibs-bz2-nostdio_DFLAGS) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-bz2-nostdio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-bz2-nostdio_STRIP ?= $(HOST_STRIP) +linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-bz2-nostdio_MC_CPPFLAGS) $(linklibs-bz2-nostdio_MC_EXTRA_CPPFLAGS)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-bz2-nostdio_CFLAGS)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-bz2-nostdio_DFLAGS)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-bz2-nostdio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-bz2-nostdio_STRIP ?= $(ECHO) >/dev/null +linklibs-bz2-nostdio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-bz2-nostdio_MC_CPPFLAGS) $(linklibs-bz2-nostdio_MC_EXTRA_CPPFLAGS)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-bz2-nostdio_CFLAGS)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-bz2-nostdio_DFLAGS)) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-bz2-nostdio_MC_TARGETS) $(linklibs-bz2-nostdio_MC_DTARGETS) : linklibs-bz2-nostdio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-bz2-nostdio_MC_TARGETS) : CPPFLAGS := $(linklibs-bz2-nostdio_MC_CPPFLAGS) +$(linklibs-bz2-nostdio_MC_TARGETS) : CFLAGS := $(linklibs-bz2-nostdio_CFLAGS) +$(linklibs-bz2-nostdio_MC_TARGETS) : $(linklibs-bz2-nostdio_MC_TGTWILDCARD).o : $(linklibs-bz2-nostdio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-bz2-nostdio_IQUOTE) $(dir $<) $(linklibs-bz2-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_IQUOTE) . $(linklibs-bz2-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-bz2-nostdio_IQUOTE) $(dir $<) $(linklibs-bz2-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_IQUOTE) . $(linklibs-bz2-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-bz2-nostdio_IQUOTE) $(dir $<) $(linklibs-bz2-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-bz2-nostdio_IQUOTE) . $(linklibs-bz2-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-bz2-nostdio_MC_DTARGETS) : $(linklibs-bz2-nostdio_MC_TGTWILDCARD).d : $(linklibs-bz2-nostdio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-bz2-nostdio_DFLAGS) $(linklibs-bz2-nostdio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-bz2-nostdio_OBJDIR),) +linklibs-bz2-nostdio-MA_TARGETS := $(addsuffix .o,$(linklibs-bz2-nostdio_ASMFILES)) +linklibs-bz2-nostdio-MA_WILDCARD := % +else +linklibs-bz2-nostdio-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-bz2-nostdio_OBJDIR)/,$(notdir $(linklibs-bz2-nostdio_ASMFILES)))) +linklibs-bz2-nostdio-MA_WILDCARD := $(linklibs-bz2-nostdio_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-bz2-nostdio-MA_TARGETS) : | $(addsuffix .s,$(linklibs-bz2-nostdio_ASMFILES)) + +# Be sure that all .c files are found +linklibs-bz2-nostdio-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-bz2-nostdio-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-bz2-nostdio_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-bz2-nostdio-MA_DIRS := $(foreach dir, $(linklibs-bz2-nostdio-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-bz2-nostdio-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-bz2-nostdio-MA_DIRS),) + linklibs-bz2-nostdio-MA_DIRS := $(shell echo $(linklibs-bz2-nostdio-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-bz2-nostdio-MA_DIRS) +endif + +endif + +linklibs-bz2-nostdio-MA_ASSEMBLER ?= $(linklibs-bz2-nostdio_ASSEMBLER) + +$(linklibs-bz2-nostdio-MA_TARGETS) : linklibs-bz2-nostdio-MA_CMD:= $(linklibs-bz2-nostdio-MA_ASSEMBLER) + +$(linklibs-bz2-nostdio-MA_TARGETS) : CPPFLAGS := $(linklibs-bz2-nostdio_CPPFLAGS) +$(linklibs-bz2-nostdio-MA_TARGETS) : AFLAGS := $(linklibs-bz2-nostdio_AFLAGS) +$(linklibs-bz2-nostdio-MA_TARGETS) : $(linklibs-bz2-nostdio-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-bz2-nostdio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-bz2-nostdio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-bz2-nostdio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libbz2_nostdio.a : linklibs-bz2-nostdio_AR:=$(AR) +$(AROS_LIB)/libbz2_nostdio.a : linklibs-bz2-nostdio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libbz2_nostdio.a : linklibs-bz2-nostdio_AR:=$(HOST_AR) +$(AROS_LIB)/libbz2_nostdio.a : linklibs-bz2-nostdio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libbz2_nostdio.a : linklibs-bz2-nostdio_AR:=$(KERNEL_AR) +$(AROS_LIB)/libbz2_nostdio.a : linklibs-bz2-nostdio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libbz2_nostdio.a : $(linklibs-bz2-nostdio_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-bz2-nostdio_AR) $@ $^ + $(Q)$(linklibs-bz2-nostdio_RANLIB) $@ +endif + +ifneq ($(linklibs-bz2-nostdio_DEPS),) + ifneq (linklibs-bz2-nostdio linklibs-bz2-nostdio-quick,) + ifneq ($(findstring $(TARGET),linklibs-bz2-nostdio linklibs-bz2-nostdio-quick),) + -include $(linklibs-bz2-nostdio_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-bz2-nostdio_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-bz2-nostdio_OBJS) $(linklibs-bz2-nostdio_DEPS) $(linklibs-bz2-nostdio_LINKLIB),) +$(linklibs-bz2-nostdio_OBJS) $(linklibs-bz2-nostdio_DEPS) $(linklibs-bz2-nostdio_LINKLIB) : | $(linklibs-bz2-nostdio_OBJDIR) $(AROS_LIB) +else +$(linklibs-bz2-nostdio_OBJS) $(linklibs-bz2-nostdio_DEPS) $(linklibs-bz2-nostdio_LINKLIB) :: $(linklibs-bz2-nostdio_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(linklibs-bz2-nostdio_OBJDIR) $(AROS_LIB) + + +linklibs-bz2-nostdio-clean : FILES := $(linklibs-bz2-nostdio_OBJS) $(linklibs-bz2-nostdio_LINKLIB) $(linklibs-bz2-nostdio_DEPS) +#MM +linklibs-bz2-nostdio-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-bz2-nostdio" + $(Q)$(RM) $(FILES) + + + +INCLUDE_FILES := bzlib.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +################################################################################### + +FILES := bzip2recover bzip2 +SH_FILES := bzdiff bzgrep bzmore +MAN_FILES := bzdiff.1 bzgrep.1 bzip2.1 bzmore.1 + +USER_CFLAGS := -Winline +USER_CFLAGS += $(NOWARN_FLAGS) + +BIN_DIR := $(AROS_DEVELOPER)/bin +MAN_DIR := $(AROS_DEVELOPER)/man/man1 + +#MM- external-bz2-bzip2 : \ +#MM external-bz2-bzip2-bin \ +#MM external-bz2-bzip2-install-sh \ +#MM external-bz2-bzip2-install-aliases \ +#MM external-bz2-bzip2-install-man \ +#MM external-bz2-bzip2-install-man-cpy + +#MM external-bz2-bzip2-bin : external-bz2-lib + +#MM external-bz2-bzip2-install-man-cpy : external-bz2-bzip2-install-man + + +.PHONY : external-bz2-bzip2-bin + +external-bz2-bzip2-bin_OBJDIR := $(GENDIR)/$(CURDIR) +external-bz2-bzip2-bin_TARGETDIR := $(BIN_DIR) +external-bz2-bzip2-bin_LIBS := bz2 + +external-bz2-bzip2-bin_FILES := $(FILES) +external-bz2-bzip2-bin_OBJS := $(addsuffix .o,$(addprefix $(external-bz2-bzip2-bin_OBJDIR)/,$(external-bz2-bzip2-bin_FILES))) +external-bz2-bzip2-bin_DEPS := $(addsuffix .d,$(addprefix $(external-bz2-bzip2-bin_OBJDIR)/,$(external-bz2-bzip2-bin_FILES))) +external-bz2-bzip2-bin_EXES := $(addprefix $(external-bz2-bzip2-bin_TARGETDIR)/,$(external-bz2-bzip2-bin_FILES)) + +external-bz2-bzip2-bin_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + external-bz2-bzip2-bin_CPPFLAGS += -I +endif +external-bz2-bzip2-bin_CFLAGS := $(CFLAGS) +external-bz2-bzip2-bin_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +external-bz2-bzip2-bin_COVERAGE := yes +external-bz2-bzip2-bin_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +external-bz2-bzip2-bin_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +external-bz2-bzip2-bin_CFLAGS := $(strip $(external-bz2-bzip2-bin_COVERAGEFLAGS) $(external-bz2-bzip2-bin_CFLAGS)) +external-bz2-bzip2-bin_LIBS += $(external-bz2-bzip2-bin_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +external-bz2-bzip2-bin_FUNCINSTR := yes +external-bz2-bzip2-bin_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +external-bz2-bzip2-bin_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +external-bz2-bzip2-bin_CFLAGS := $(strip $(external-bz2-bzip2-bin_INSTRFUNCFLAGS) $(external-bz2-bzip2-bin_CFLAGS)) +external-bz2-bzip2-bin_LIBS += $(external-bz2-bzip2-bin_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +external-bz2-bzip2-bin_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(external-bz2-bzip2-bin_CFLAGS)) +endif +endif +ifneq (,) + external-bz2-bzip2-bin_DFLAGS := +else + external-bz2-bzip2-bin_DFLAGS := $(external-bz2-bzip2-bin_CFLAGS) +endif +ifeq (target,target) +external-bz2-bzip2-bin_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +external-bz2-bzip2-bin_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +external-bz2-bzip2-bin_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + external-bz2-bzip2-bin_LDFLAGS += -L +endif + +#MM +external-bz2-bzip2-bin-quick : external-bz2-bzip2-bin + +#MM external-bz2-bzip2-bin : includes-generate-deps core-linklibs +external-bz2-bzip2-bin : $(external-bz2-bzip2-bin_EXES) + +ifneq ($(filter $(TARGET),external-bz2-bzip2-bin external-bz2-bzip2-bin-quick),) + +ifeq (,) +external-bz2-bzip2-bin_MC_SRCWILDCARD := % +else +external-bz2-bzip2-bin_MC_SRCWILDCARD := /% +endif + +ifeq ($(external-bz2-bzip2-bin_OBJDIR),) +external-bz2-bzip2-bin_MC_TARGETS := $(addsuffix .o,$(external-bz2-bzip2-bin_FILES)) +external-bz2-bzip2-bin_MC_DTARGETS := $(addsuffix .d,$(external-bz2-bzip2-bin_FILES)) +external-bz2-bzip2-bin_MC_TGTWILDCARD := % +else +ifeq (no,no) + external-bz2-bzip2-bin_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-bzip2-bin_OBJDIR)/,$(notdir $(external-bz2-bzip2-bin_FILES)))) + external-bz2-bzip2-bin_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-bzip2-bin_OBJDIR)/,$(notdir $(external-bz2-bzip2-bin_FILES)))) +else +ifeq (,) + external-bz2-bzip2-bin_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-bzip2-bin_OBJDIR)/,$(external-bz2-bzip2-bin_FILES))) + external-bz2-bzip2-bin_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-bzip2-bin_OBJDIR)/,$(external-bz2-bzip2-bin_FILES))) +else + external-bz2-bzip2-bin_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-bz2-bzip2-bin_OBJDIR)/,$(patsubst /%,%,$(external-bz2-bzip2-bin_FILES)))) + external-bz2-bzip2-bin_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-bz2-bzip2-bin_OBJDIR)/,$(patsubst /%,%,$(external-bz2-bzip2-bin_FILES)))) +endif +endif +external-bz2-bzip2-bin_MC_TGTWILDCARD := $(external-bz2-bzip2-bin_OBJDIR)/% + +# Be sure that all .c files are generated +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : | $(addsuffix .c,$(external-bz2-bzip2-bin_FILES)) + +# Be sure that all .c files are found +external-bz2-bzip2-bin_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-bz2-bzip2-bin_MC_BASEDIRS := $(shell echo $(sort $(dir $(external-bz2-bzip2-bin_FILES))) | sed 's/\(.\):\//\/\1\//g') +external-bz2-bzip2-bin_MC_DIRS := $(foreach dir, $(external-bz2-bzip2-bin_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-bz2-bzip2-bin_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-bz2-bzip2-bin_MC_DIRS),) + external-bz2-bzip2-bin_MC_DIRS := $(shell echo $(external-bz2-bzip2-bin_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(external-bz2-bzip2-bin_MC_DIRS) +endif + +endif + +external-bz2-bzip2-bin_MC_CPPFLAGS := $(external-bz2-bzip2-bin_CPPFLAGS) +external-bz2-bzip2-bin_CFLAGS := $(external-bz2-bzip2-bin_CFLAGS) +ifeq ($(external-bz2-bzip2-bin_DFLAGS),) + external-bz2-bzip2-bin_DFLAGS := $(external-bz2-bzip2-bin_CFLAGS) +else + external-bz2-bzip2-bin_DFLAGS := $(external-bz2-bzip2-bin_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +external-bz2-bzip2-bin_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +external-bz2-bzip2-bin_STRIP ?= $(TARGET_STRIP) +external-bz2-bzip2-bin_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_MC_CPPFLAGS:=$(strip $(external-bz2-bzip2-bin_MC_CPPFLAGS) $(external-bz2-bzip2-bin_MC_EXTRA_CPPFLAGS)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_CFLAGS:=$(strip $(external-bz2-bzip2-bin_CFLAGS) $(SAFETY_CFLAGS)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_DFLAGS:=$(external-bz2-bzip2-bin_DFLAGS) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_IQUOTE:=$(CFLAGS_IQUOTE) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +external-bz2-bzip2-bin_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +external-bz2-bzip2-bin_STRIP ?= $(HOST_STRIP) +external-bz2-bzip2-bin_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : CMD:=$(HOST_CC) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(external-bz2-bzip2-bin_MC_CPPFLAGS) $(external-bz2-bzip2-bin_MC_EXTRA_CPPFLAGS)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_CFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-bzip2-bin_CFLAGS)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_DFLAGS:=$(strip $(HOST_CFLAGS) $(external-bz2-bzip2-bin_DFLAGS)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_IQUOTE:=$(HOST_IQUOTE) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +external-bz2-bzip2-bin_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +external-bz2-bzip2-bin_STRIP ?= $(ECHO) >/dev/null +external-bz2-bzip2-bin_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(external-bz2-bzip2-bin_MC_CPPFLAGS) $(external-bz2-bzip2-bin_MC_EXTRA_CPPFLAGS)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-bzip2-bin_CFLAGS)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-bz2-bzip2-bin_DFLAGS)) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_IQUOTE:=$(KERNEL_IQUOTE) +$(external-bz2-bzip2-bin_MC_TARGETS) $(external-bz2-bzip2-bin_MC_DTARGETS) : external-bz2-bzip2-bin_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-bz2-bzip2-bin_MC_TARGETS) : CPPFLAGS := $(external-bz2-bzip2-bin_MC_CPPFLAGS) +$(external-bz2-bzip2-bin_MC_TARGETS) : CFLAGS := $(external-bz2-bzip2-bin_CFLAGS) +$(external-bz2-bzip2-bin_MC_TARGETS) : $(external-bz2-bzip2-bin_MC_TGTWILDCARD).o : $(external-bz2-bzip2-bin_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-bz2-bzip2-bin_IQUOTE) $(dir $<) $(external-bz2-bzip2-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-bzip2-bin_IQUOTE) . $(external-bz2-bzip2-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-bz2-bzip2-bin_IQUOTE) $(dir $<) $(external-bz2-bzip2-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-bzip2-bin_IQUOTE) . $(external-bz2-bzip2-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-bz2-bzip2-bin_IQUOTE) $(dir $<) $(external-bz2-bzip2-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-bz2-bzip2-bin_IQUOTE) . $(external-bz2-bzip2-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-bz2-bzip2-bin_MC_DTARGETS) : $(external-bz2-bzip2-bin_MC_TGTWILDCARD).d : $(external-bz2-bzip2-bin_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-bz2-bzip2-bin_DFLAGS) $(external-bz2-bzip2-bin_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +external-bz2-bzip2-bin-link_EXTRA_LDFLAGS := +external-bz2-bzip2-bin-link_EXTRA_LIBS := +ifeq (yes,yes) + external-bz2-bzip2-bin-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + external-bz2-bzip2-bin-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + external-bz2-bzip2-bin-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +external-bz2-bzip2-bin-link_DIRS := $(subst -L ,-L,$(strip $(external-bz2-bzip2-bin_LDFLAGS))) +# Filter out only the libdirs and remove -L +external-bz2-bzip2-bin-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(external-bz2-bzip2-bin-link_DIRS))) +# Add trailing / +external-bz2-bzip2-bin-link_DIRS := $(subst //,/,$(addsuffix /,$(external-bz2-bzip2-bin-link_DIRS))) +# Add normal linklib path +external-bz2-bzip2-bin-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +external-bz2-bzip2-bin-link_LIBS := $(addprefix lib,$(addsuffix .a,$(external-bz2-bzip2-bin_LIBS) $(external-bz2-bzip2-bin-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +external-bz2-bzip2-bin-link_DEPLIBS := $(foreach lib,$(external-bz2-bzip2-bin-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(external-bz2-bzip2-bin-link_DIRS)))) \ +) +external-bz2-bzip2-bin-link_PROGS := $(addprefix $(external-bz2-bzip2-bin_TARGETDIR)/,$(external-bz2-bzip2-bin_FILES)) + +$(external-bz2-bzip2-bin-link_PROGS) : OBJDIR := $(external-bz2-bzip2-bin_OBJDIR) +$(external-bz2-bzip2-bin-link_PROGS) : LDFLAGS := $(strip $(external-bz2-bzip2-bin_LDFLAGS) $(external-bz2-bzip2-bin-link_EXTRA_LDFLAGS)) +$(external-bz2-bzip2-bin-link_PROGS) : LIBS := $(addprefix -l,$(external-bz2-bzip2-bin_LIBS) $(external-bz2-bzip2-bin-link_EXTRA_LIBS) ) +$(external-bz2-bzip2-bin-link_PROGS) : $(external-bz2-bzip2-bin_TARGETDIR)/% : $(external-bz2-bzip2-bin_OBJDIR)/%.o $(external-bz2-bzip2-bin-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(external-bz2-bzip2-bin_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(external-bz2-bzip2-bin_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(external-bz2-bzip2-bin_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(external-bz2-bzip2-bin_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(external-bz2-bzip2-bin_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(external-bz2-bzip2-bin_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(external-bz2-bzip2-bin_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(external-bz2-bzip2-bin_DEPS),) + ifneq (external-bz2-bzip2-bin external-bz2-bzip2-bin-quick,) + ifneq ($(findstring $(TARGET),external-bz2-bzip2-bin external-bz2-bzip2-bin-quick),) + -include $(external-bz2-bzip2-bin_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(external-bz2-bzip2-bin_DEPS) + endif + endif +endif + + +ifneq ($(external-bz2-bzip2-bin_DEPS) $(external-bz2-bzip2-bin_OBJS) $(addprefix $(external-bz2-bzip2-bin_TARGETDIR)/,$(external-bz2-bzip2-bin_FILES)),) +$(external-bz2-bzip2-bin_DEPS) $(external-bz2-bzip2-bin_OBJS) $(addprefix $(external-bz2-bzip2-bin_TARGETDIR)/,$(external-bz2-bzip2-bin_FILES)) : | $(external-bz2-bzip2-bin_TARGETDIR) $(external-bz2-bzip2-bin_OBJDIR) +else +$(external-bz2-bzip2-bin_DEPS) $(external-bz2-bzip2-bin_OBJS) $(addprefix $(external-bz2-bzip2-bin_TARGETDIR)/,$(external-bz2-bzip2-bin_FILES)) :: $(external-bz2-bzip2-bin_TARGETDIR) $(external-bz2-bzip2-bin_OBJDIR) +endif + +GLOB_MKDIRS += $(external-bz2-bzip2-bin_TARGETDIR) $(external-bz2-bzip2-bin_OBJDIR) + + +external-bz2-bzip2-bin-clean : FILES := $(external-bz2-bzip2-bin_OBJS) $(external-bz2-bzip2-bin_EXES) $(external-bz2-bzip2-bin_DEPS) +#MM +external-bz2-bzip2-bin-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget external-bz2-bzip2-bin" + $(Q)$(RM) $(FILES) + + + +external-bz2-bzip2-install-sh_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(BIN_DIR) +else +setup :: $(BIN_DIR) +endif + +GLOB_MKDIRS += $(BIN_DIR) + + +.PHONY : external-bz2-bzip2-install-sh + +#MM +external-bz2-bzip2-install-sh : | $(BIN_DIR) + $(foreach file, $(SH_FILES), $(shell $(CP) $(addprefix $(if $(filter /%,$(external-bz2-bzip2-install-sh_SRC)),$(external-bz2-bzip2-install-sh_SRC),$(SRCDIR)/$(CURDIR)/$(external-bz2-bzip2-install-sh_SRC))/, $(file)) $(addprefix $(BIN_DIR)/, $(file)))) + + +#MM +external-bz2-bzip2-install-aliases : \ + $(BIN_DIR)/bzcat \ + $(BIN_DIR)/bunzip \ + $(BIN_DIR)/bzegrep \ + $(BIN_DIR)/bzfgrep \ + $(BIN_DIR)/bzless \ + $(BIN_DIR)/bzcmp + +$(BIN_DIR)/bzcat : $(BIN_DIR)/bzip2 + $(Q)$(CP) $< $@ +$(BIN_DIR)/bunzip : $(BIN_DIR)/bzip2 + $(Q)$(CP) $< $@ +$(BIN_DIR)/bzegrep : $(BIN_DIR)/bzgrep + $(Q)$(CP) $< $@ +$(BIN_DIR)/bzfgrep : $(BIN_DIR)/bzgrep + $(Q)$(CP) $< $@ +$(BIN_DIR)/bzless : $(BIN_DIR)/bzmore + $(Q)$(CP) $< $@ +$(BIN_DIR)/bzcmp : $(BIN_DIR)/bzdiff + $(Q)$(CP) $< $@ + +#MM +external-bz2-bzip2-install-man : + @$(IF) $(TEST) ! -d $(MAN_DIR) ; then $(MKDIR) $(MAN_DIR) ; else $(NOP) ; fi + echo ".so man1/bzgrep.1" > $(MAN_DIR)/bzegrep.1 + echo ".so man1/bzgrep.1" > $(MAN_DIR)/bzfgrep.1 + echo ".so man1/bzmore.1" > $(MAN_DIR)/bzless.1 + echo ".so man1/bzdiff.1" > $(MAN_DIR)/bzcmp.1 + + +external-bz2-bzip2-install-man-cpy_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(MAN_DIR) +else +setup :: $(MAN_DIR) +endif + +GLOB_MKDIRS += $(MAN_DIR) + + +.PHONY : external-bz2-bzip2-install-man-cpy + +#MM +external-bz2-bzip2-install-man-cpy : | $(MAN_DIR) + $(foreach file, $(MAN_FILES), $(shell $(CP) $(addprefix $(if $(filter /%,$(external-bz2-bzip2-install-man-cpy_SRC)),$(external-bz2-bzip2-install-man-cpy_SRC),$(SRCDIR)/$(CURDIR)/$(external-bz2-bzip2-install-man-cpy_SRC))/, $(file)) $(addprefix $(MAN_DIR)/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/external/openurl/cmd/mmakefile b/external/openurl/cmd/mmakefile new file mode 100644 index 00000000000..0ee4d883c14 --- /dev/null +++ b/external/openurl/cmd/mmakefile @@ -0,0 +1,636 @@ +# $Id$ +# +# Makefile for the OpenURL command of openurl.library + +include $(SRCDIR)/config/aros.cfg + +#MM external-openurl-cmd : includes linklibs external-openurl-lib + +EXE := OpenURL +EXEDIR := $(AROS_C) +FILES := OpenURL SmartReadArgs debug + +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/../include +USER_CFLAGS := -DNO_INLINE_STDARG + + +.PHONY : external-openurl-cmd + +external-openurl-cmd_PROGNAME := $(EXE) +external-openurl-cmd_OBJDIR := $(GENDIR)/$(CURDIR) +external-openurl-cmd_TARGETDIR := $(EXEDIR) +external-openurl-cmd_LINKER := +external-openurl-cmd_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(external-openurl-cmd_LINKER),) + external-openurl-cmd_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + external-openurl-cmd_FILES := $(FILES) + external-openurl-cmd_OBJCFILES := + external-openurl-cmd_ASMFILES := + external-openurl-cmd_CXXFILES := +else + external-openurl-cmd_FILES := $(external-openurl-cmd_PROGNAME) + external-openurl-cmd_OBJCFILES := + external-openurl-cmd_ASMFILES := + external-openurl-cmd_CXXFILES := +endif + +external-openurl-cmd_ARCHOBJS := $(wildcard $(external-openurl-cmd_OBJDIR)/arch/*.o) +external-openurl-cmd_ARCHFILES := $(basename $(notdir $(external-openurl-cmd_ARCHOBJS))) +external-openurl-cmd_C_NARCHFILES := $(filter-out $(external-openurl-cmd_ARCHFILES),$(external-openurl-cmd_FILES)) +external-openurl-cmd_CXX_NARCHFILES := $(filter-out $(external-openurl-cmd_ARCHFILES),$(external-openurl-cmd_CXXFILES)) +external-openurl-cmd_OBJC_NARCHFILES := $(filter-out $(external-openurl-cmd_ARCHFILES),$(external-openurl-cmd_OBJCFILES)) + +TMP_FILES := $(external-openurl-cmd_C_NARCHFILES) $(external-openurl-cmd_CXX_NARCHFILES) $(external-openurl-cmd_ASMFILES) $(external-openurl-cmd_OBJC_NARCHFILES) +external-openurl-cmd_OBJS := $(addsuffix .o,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(notdir $(TMP_FILES)))) +external-openurl-cmd_DEPS := $(addsuffix .d,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(notdir $(TMP_FILES)))) + +external-openurl-cmd_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +external-openurl-cmd_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +external-openurl-cmd_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +external-openurl-cmd_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +external-openurl-cmd_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +external-openurl-cmd_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +external-openurl-cmd_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +external-openurl-cmd_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +external-openurl-cmd_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +external-openurl-cmd_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +external-openurl-cmd_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +external-openurl-cmd_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +external-openurl-cmd_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +external-openurl-cmd_LDFLAGS := +endif + +external-openurl-cmd_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +external-openurl-cmd_COVERAGE := yes +external-openurl-cmd_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +external-openurl-cmd_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +external-openurl-cmd_CFLAGS := $(strip $(external-openurl-cmd_COVERAGEFLAGS) $(external-openurl-cmd_CFLAGS)) +external-openurl-cmd_CXXFLAGS := $(strip $(external-openurl-cmd_COVERAGEFLAGS) $(external-openurl-cmd_CXXFLAGS)) +external-openurl-cmd_LIBS += $(external-openurl-cmd_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +external-openurl-cmd_FUNCINSTR := yes +external-openurl-cmd_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +external-openurl-cmd_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +external-openurl-cmd_CFLAGS := $(strip $(external-openurl-cmd_INSTRFUNCFLAGS) $(external-openurl-cmd_CFLAGS)) +external-openurl-cmd_CXXFLAGS := $(strip $(external-openurl-cmd_INSTRFUNCFLAGS) $(external-openurl-cmd_CXXFLAGS)) +external-openurl-cmd_LIBS += $(external-openurl-cmd_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +external-openurl-cmd_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(external-openurl-cmd_CFLAGS)) +external-openurl-cmd_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(external-openurl-cmd_CXXFLAGS)) +endif +endif +external-openurl-cmd_AFLAGS := $(AFLAGS) +ifneq (,) + external-openurl-cmd_DFLAGS := +else + external-openurl-cmd_DFLAGS := $(external-openurl-cmd_CFLAGS) +endif +ifneq (,) + external-openurl-cmd_DXXFLAGS := +else + external-openurl-cmd_DXXFLAGS := $(external-openurl-cmd_CXXFLAGS) +endif +ifeq (target,target) +external-openurl-cmd_LDFLAGS := $(external-openurl-cmd_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +external-openurl-cmd_LDFLAGS := $(external-openurl-cmd_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +external-openurl-cmd_LDFLAGS := $(external-openurl-cmd_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +external-openurl-cmd_LDFLAGS += -L +endif + +#MM +external-openurl-cmd-quick : external-openurl-cmd + +#MM external-openurl-cmd : includes-generate-deps core-linklibs +external-openurl-cmd : $(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) + +ifneq ($(filter $(TARGET),external-openurl-cmd external-openurl-cmd-quick external-openurl-cmd-gz-quick),) + +external-openurl-cmd_CXXABSBASENAMES := $(foreach external-openurl-cmd_CXXBASE,$(external-openurl-cmd_CXX_NARCHFILES),$(if $(filter /%,$(external-openurl-cmd_CXXBASE)),$(external-openurl-cmd_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(external-openurl-cmd_CXXBASE)))) + +ifneq ($(external-openurl-cmd_CXXABSBASENAMES),) + +external-openurl-cmd_CXXBASENAMES := $(basename $(external-openurl-cmd_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +external-openurl-cmd_MCXX_FILES := $(strip $(foreach external-openurl-cmd_CXXBASE,$(external-openurl-cmd_CXXABSBASENAMES), $(firstword $(wildcard $(foreach external-openurl-cmd_EXT, $(AROS_CXXEXTS),$(addsuffix .$(external-openurl-cmd_EXT),$(external-openurl-cmd_CXXBASE))))))) + +ifeq (,) +external-openurl-cmd_MCXX_SRCWILDCARD := % +else +external-openurl-cmd_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(external-openurl-cmd_OBJDIR),) + external-openurl-cmd_CXXTARGETS := $(notdir $(external-openurl-cmd_CXXBASENAMES:=.o)) + external-openurl-cmd_CXXDTARGETS := $(notdir $(external-openurl-cmd_CXXBASENAMES:=.d)) + external-openurl-cmd_MCXX_WILDCARD := % +else + external-openurl-cmd_CXXTARGETS := $(addprefix $(external-openurl-cmd_OBJDIR)/,$(notdir $(external-openurl-cmd_CXXBASENAMES:=.o))) + external-openurl-cmd_CXXDTARGETS := $(addprefix $(external-openurl-cmd_OBJDIR)/,$(notdir $(external-openurl-cmd_CXXBASENAMES:=.d))) + external-openurl-cmd_MCXX_WILDCARD := $(external-openurl-cmd_OBJDIR)/% + + # Be sure that all source files are generated + $(external-openurl-cmd_CXXTARGETS) $(external-openurl-cmd_CXXDTARGETS) : | $(external-openurl-cmd_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +external-openurl-cmd_MCXX_CPPFLAGS := $(external-openurl-cmd_CPPFLAGS) +external-openurl-cmd_CXXFLAGS := $(external-openurl-cmd_CXXFLAGS) +ifeq ($(external-openurl-cmd_DXXFLAGS),) + external-openurl-cmd_DXXFLAGS := $(external-openurl-cmd_CXXFLAGS) +else + external-openurl-cmd_DXXFLAGS := $(external-openurl-cmd_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + external-openurl-cmd_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + external-openurl-cmd_STRIP ?= $(HOST_STRIP) + external-openurl-cmd_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + external-openurl-cmd_CXXCMD:=$(HOST_CXX) + external-openurl-cmd_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(external-openurl-cmd_MCXX_CPPFLAGS) $(external-openurl-cmd_MCXX_EXTRA_CPPFLAGS)) + external-openurl-cmd_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(external-openurl-cmd_CXXFLAGS)) + external-openurl-cmd_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(external-openurl-cmd_DXXFLAGS)) + external-openurl-cmd_CXXIQUOTE:=$(HOST_IQUOTE) + external-openurl-cmd_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + external-openurl-cmd_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + external-openurl-cmd_STRIP ?= $(TARGET_STRIP) + external-openurl-cmd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + external-openurl-cmd_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + external-openurl-cmd_MCXX_CPPFLAGS := $(strip $(external-openurl-cmd_MCXX_CPPFLAGS) $(external-openurl-cmd_MCXX_EXTRA_CPPFLAGS)) + external-openurl-cmd_CXXFLAGS := $(strip $(external-openurl-cmd_CXXFLAGS) $(SAFETY_CFLAGS)) + external-openurl-cmd_DXXFLAGS := $(external-openurl-cmd_DXXFLAGS) + external-openurl-cmd_CXXIQUOTE:=$(CFLAGS_IQUOTE) + external-openurl-cmd_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + external-openurl-cmd_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + external-openurl-cmd_STRIP ?= $(ECHO) >/dev/null + external-openurl-cmd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + external-openurl-cmd_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + external-openurl-cmd_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(external-openurl-cmd_MCXX_CPPFLAGS) $(external-openurl-cmd_MCXX_EXTRA_CPPFLAGS)) + external-openurl-cmd_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(external-openurl-cmd_CXXFLAGS)) + external-openurl-cmd_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(external-openurl-cmd_DXXFLAGS)) + external-openurl-cmd_CXXIQUOTE:=$(KERNEL_IQUOTE) + external-openurl-cmd_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(external-openurl-cmd_CXXCMD) $(external-openurl-cmd_CXXIQUOTE) $(dir $(2)) $(external-openurl-cmd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_CXXIQUOTE) . $(external-openurl-cmd_CXXIQUOTE_END) $(strip $(external-openurl-cmd_CXXFLAGS) $(external-openurl-cmd_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(external-openurl-cmd_CXXCMD) $(external-openurl-cmd_CXXIQUOTE) $(dir $(2)) $(external-openurl-cmd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_CXXIQUOTE) . $(external-openurl-cmd_CXXIQUOTE_END) $(strip $(external-openurl-cmd_CXXFLAGS) $(external-openurl-cmd_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(external-openurl-cmd_CXXCMD) $(external-openurl-cmd_CXXIQUOTE) $(dir $(2)) $(external-openurl-cmd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_CXXIQUOTE) . $(external-openurl-cmd_CXXIQUOTE_END) $(strip $(external-openurl-cmd_CXXFLAGS) $(external-openurl-cmd_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(external-openurl-cmd_CXXCMD)" $(MKDEPEND) $(strip $(external-openurl-cmd_DXXFLAGS) $(external-openurl-cmd_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(external-openurl-cmd_OBJDIR),) + $(foreach external-openurl-cmd_CXXFILE,$(external-openurl-cmd_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(external-openurl-cmd_CXXFILE))),$(external-openurl-cmd_CXXFILE)))) +else + $(foreach external-openurl-cmd_CXXFILE,$(external-openurl-cmd_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(notdir $(basename $(external-openurl-cmd_CXXFILE)))),$(external-openurl-cmd_CXXFILE)))) +endif + +endif + + +ifneq ($(external-openurl-cmd_OBJC_NARCHFILES),) + +ifeq (,) +external-openurl-cmd_MOBJC_SRCWILDCARD := % +else +external-openurl-cmd_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(external-openurl-cmd_OBJDIR),) + external-openurl-cmd_MOBJC_TARGETS := $(addsuffix .o,$(external-openurl-cmd_OBJC_NARCHFILES)) + external-openurl-cmd_MOBJC_DTARGETS := $(addsuffix .d,$(external-openurl-cmd_OBJC_NARCHFILES)) + external-openurl-cmd_MOBJC_WILDCARD := % +else + external-openurl-cmd_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(external-openurl-cmd_OBJC_NARCHFILES))) + external-openurl-cmd_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(external-openurl-cmd_OBJC_NARCHFILES))) + external-openurl-cmd_MOBJC_WILDCARD := $(external-openurl-cmd_OBJDIR)/% + + # Be sure that all .m files are generated + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : | $(addsuffix .m,$(external-openurl-cmd_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + external-openurl-cmd_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + external-openurl-cmd_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(external-openurl-cmd_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + external-openurl-cmd_MOBJC_DIRS := $(foreach dir, $(external-openurl-cmd_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-openurl-cmd_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(external-openurl-cmd_MOBJC_DIRS),) + external-openurl-cmd_MOBJC_DIRS := $(shell echo $(external-openurl-cmd_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(external-openurl-cmd_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + external-openurl-cmd_CC := $(TARGET_CC) +else + external-openurl-cmd_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +external-openurl-cmd_MOBJC_CPPFLAGS := $(external-openurl-cmd_CPPFLAGS) +external-openurl-cmd_OBJCFLAGS := $(external-openurl-cmd_CFLAGS) +external-openurl-cmd_OBJCFLAGS := $(external-openurl-cmd_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +external-openurl-cmd_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(external-openurl-cmd_OBJCFLAGS))) +ifeq ($(external-openurl-cmd_DFLAGS),) + external-openurl-cmd_OBJCDFLAGS := $(external-openurl-cmd_CFLAGS) +else + external-openurl-cmd_OBJCDFLAGS := $(external-openurl-cmd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + external-openurl-cmd_LINK ?= $(strip $(external-openurl-cmd_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + external-openurl-cmd_STRIP ?= $(TARGET_STRIP) + external-openurl-cmd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : CMD:=$(strip $(external-openurl-cmd_CC) $(TARGET_SYSROOT)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_MOBJC_CPPFLAGS:=$(strip $(external-openurl-cmd_MOBJC_CPPFLAGS) $(external-openurl-cmd_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_OBJCFLAGS:=$(strip $(external-openurl-cmd_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_OBJCDFLAGS:=$(external-openurl-cmd_OBJCDFLAGS) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_IQUOTE:=$(CFLAGS_IQUOTE) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + external-openurl-cmd_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + external-openurl-cmd_STRIP ?= $(HOST_STRIP) + external-openurl-cmd_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(external-openurl-cmd_MOBJC_CPPFLAGS) $(external-openurl-cmd_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-cmd_OBJCFLAGS)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-cmd_OBJCDFLAGS)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_IQUOTE:=$(HOST_IQUOTE) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + external-openurl-cmd_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + external-openurl-cmd_STRIP ?= $(ECHO) >/dev/null + external-openurl-cmd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(external-openurl-cmd_MOBJC_CPPFLAGS) $(external-openurl-cmd_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-cmd_OBJCFLAGS)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-cmd_OBJCDFLAGS)) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_IQUOTE:=$(KERNEL_IQUOTE) + $(external-openurl-cmd_MOBJC_TARGETS) $(external-openurl-cmd_MOBJC_DTARGETS) : external-openurl-cmd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-openurl-cmd_MOBJC_TARGETS) : CPPFLAGS := $(external-openurl-cmd_MOBJC_CPPFLAGS) +$(external-openurl-cmd_MOBJC_TARGETS) : CFLAGS := $(external-openurl-cmd_OBJCFLAGS) +$(external-openurl-cmd_MOBJC_TARGETS) : $(external-openurl-cmd_MOBJC_WILDCARD).o : $(external-openurl-cmd_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-openurl-cmd_IQUOTE) $(dir $<) $(external-openurl-cmd_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_IQUOTE) . $(external-openurl-cmd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-openurl-cmd_IQUOTE) $(dir $<) $(external-openurl-cmd_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_IQUOTE) . $(external-openurl-cmd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-openurl-cmd_IQUOTE) $(dir $<) $(external-openurl-cmd_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_IQUOTE) . $(external-openurl-cmd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-openurl-cmd_MOBJC_DTARGETS) : $(external-openurl-cmd_MOBJC_WILDCARD).d : $(external-openurl-cmd_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-openurl-cmd_OBJCDFLAGS) $(external-openurl-cmd_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +external-openurl-cmd_MC_SRCWILDCARD := % +else +external-openurl-cmd_MC_SRCWILDCARD := /% +endif + +ifeq ($(external-openurl-cmd_OBJDIR),) +external-openurl-cmd_MC_TARGETS := $(addsuffix .o,$(external-openurl-cmd_C_NARCHFILES)) +external-openurl-cmd_MC_DTARGETS := $(addsuffix .d,$(external-openurl-cmd_C_NARCHFILES)) +external-openurl-cmd_MC_TGTWILDCARD := % +else +ifeq (no,no) + external-openurl-cmd_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(notdir $(external-openurl-cmd_C_NARCHFILES)))) + external-openurl-cmd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(notdir $(external-openurl-cmd_C_NARCHFILES)))) +else +ifeq (,) + external-openurl-cmd_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(external-openurl-cmd_C_NARCHFILES))) + external-openurl-cmd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(external-openurl-cmd_C_NARCHFILES))) +else + external-openurl-cmd_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(patsubst /%,%,$(external-openurl-cmd_C_NARCHFILES)))) + external-openurl-cmd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(patsubst /%,%,$(external-openurl-cmd_C_NARCHFILES)))) +endif +endif +external-openurl-cmd_MC_TGTWILDCARD := $(external-openurl-cmd_OBJDIR)/% + +# Be sure that all .c files are generated +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : | $(addsuffix .c,$(external-openurl-cmd_C_NARCHFILES)) + +# Be sure that all .c files are found +external-openurl-cmd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-openurl-cmd_MC_BASEDIRS := $(shell echo $(sort $(dir $(external-openurl-cmd_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +external-openurl-cmd_MC_DIRS := $(foreach dir, $(external-openurl-cmd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-openurl-cmd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-openurl-cmd_MC_DIRS),) + external-openurl-cmd_MC_DIRS := $(shell echo $(external-openurl-cmd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(external-openurl-cmd_MC_DIRS) +endif + +endif + +external-openurl-cmd_MC_CPPFLAGS := $(external-openurl-cmd_CPPFLAGS) +external-openurl-cmd_CFLAGS := $(external-openurl-cmd_CFLAGS) +ifeq ($(external-openurl-cmd_DFLAGS),) + external-openurl-cmd_DFLAGS := $(external-openurl-cmd_CFLAGS) +else + external-openurl-cmd_DFLAGS := $(external-openurl-cmd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +external-openurl-cmd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +external-openurl-cmd_STRIP ?= $(TARGET_STRIP) +external-openurl-cmd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_MC_CPPFLAGS:=$(strip $(external-openurl-cmd_MC_CPPFLAGS) $(external-openurl-cmd_MC_EXTRA_CPPFLAGS)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_CFLAGS:=$(strip $(external-openurl-cmd_CFLAGS) $(SAFETY_CFLAGS)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_DFLAGS:=$(external-openurl-cmd_DFLAGS) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_IQUOTE:=$(CFLAGS_IQUOTE) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +external-openurl-cmd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +external-openurl-cmd_STRIP ?= $(HOST_STRIP) +external-openurl-cmd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(external-openurl-cmd_MC_CPPFLAGS) $(external-openurl-cmd_MC_EXTRA_CPPFLAGS)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_CFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-cmd_CFLAGS)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_DFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-cmd_DFLAGS)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_IQUOTE:=$(HOST_IQUOTE) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +external-openurl-cmd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +external-openurl-cmd_STRIP ?= $(ECHO) >/dev/null +external-openurl-cmd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(external-openurl-cmd_MC_CPPFLAGS) $(external-openurl-cmd_MC_EXTRA_CPPFLAGS)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-cmd_CFLAGS)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-cmd_DFLAGS)) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_IQUOTE:=$(KERNEL_IQUOTE) +$(external-openurl-cmd_MC_TARGETS) $(external-openurl-cmd_MC_DTARGETS) : external-openurl-cmd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-openurl-cmd_MC_TARGETS) : CPPFLAGS := $(external-openurl-cmd_MC_CPPFLAGS) +$(external-openurl-cmd_MC_TARGETS) : CFLAGS := $(external-openurl-cmd_CFLAGS) +$(external-openurl-cmd_MC_TARGETS) : $(external-openurl-cmd_MC_TGTWILDCARD).o : $(external-openurl-cmd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-openurl-cmd_IQUOTE) $(dir $<) $(external-openurl-cmd_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_IQUOTE) . $(external-openurl-cmd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-openurl-cmd_IQUOTE) $(dir $<) $(external-openurl-cmd_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_IQUOTE) . $(external-openurl-cmd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-openurl-cmd_IQUOTE) $(dir $<) $(external-openurl-cmd_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-cmd_IQUOTE) . $(external-openurl-cmd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-openurl-cmd_MC_DTARGETS) : $(external-openurl-cmd_MC_TGTWILDCARD).d : $(external-openurl-cmd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-openurl-cmd_DFLAGS) $(external-openurl-cmd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(external-openurl-cmd_OBJDIR),) +external-openurl-cmd-MA_TARGETS := $(addsuffix .o,$(external-openurl-cmd_ASMFILES)) +external-openurl-cmd-MA_WILDCARD := % +else +external-openurl-cmd-MA_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-cmd_OBJDIR)/,$(notdir $(external-openurl-cmd_ASMFILES)))) +external-openurl-cmd-MA_WILDCARD := $(external-openurl-cmd_OBJDIR)/% + +# Be sure that all .s files are generated +$(external-openurl-cmd-MA_TARGETS) : | $(addsuffix .s,$(external-openurl-cmd_ASMFILES)) + +# Be sure that all .c files are found +external-openurl-cmd-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-openurl-cmd-MA_BASEDIRS := $(shell echo $(sort $(dir $(external-openurl-cmd_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +external-openurl-cmd-MA_DIRS := $(foreach dir, $(external-openurl-cmd-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-openurl-cmd-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-openurl-cmd-MA_DIRS),) + external-openurl-cmd-MA_DIRS := $(shell echo $(external-openurl-cmd-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(external-openurl-cmd-MA_DIRS) +endif + +endif + +external-openurl-cmd-MA_ASSEMBLER ?= $(external-openurl-cmd_ASSEMBLER) + +$(external-openurl-cmd-MA_TARGETS) : external-openurl-cmd-MA_CMD:= $(external-openurl-cmd-MA_ASSEMBLER) + +$(external-openurl-cmd-MA_TARGETS) : CPPFLAGS := $(external-openurl-cmd_CPPFLAGS) +$(external-openurl-cmd-MA_TARGETS) : AFLAGS := $(external-openurl-cmd_AFLAGS) +$(external-openurl-cmd-MA_TARGETS) : $(external-openurl-cmd-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(external-openurl-cmd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(external-openurl-cmd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(external-openurl-cmd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +external-openurl-cmd-link_EXTRA_LDFLAGS := +external-openurl-cmd-link_EXTRA_LIBS := +ifeq (no,yes) + external-openurl-cmd-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + external-openurl-cmd-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + external-openurl-cmd-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +external-openurl-cmd-link_DIRS := $(subst -L ,-L,$(strip $(external-openurl-cmd_LDFLAGS))) +# Filter out only the libdirs and remove -L +external-openurl-cmd-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(external-openurl-cmd-link_DIRS))) +# Add trailing / +external-openurl-cmd-link_DIRS := $(subst //,/,$(addsuffix /,$(external-openurl-cmd-link_DIRS))) +# Add normal linklib path +external-openurl-cmd-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +external-openurl-cmd-link_LIBS := $(addprefix lib,$(addsuffix .a,$(external-openurl-cmd_LIBS) $(external-openurl-cmd-link_EXTRA_LIBS))) +ifeq (yes,yes) + external-openurl-cmd-link_LIBS += startup.o +endif +ifeq (no,yes) + external-openurl-cmd-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +external-openurl-cmd-link_DEPLIBS := $(foreach lib,$(external-openurl-cmd-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(external-openurl-cmd-link_DIRS)))) \ +) + +$(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) : OBJDIR := $(external-openurl-cmd_OBJDIR) +$(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) : OBJS := $(external-openurl-cmd_OBJS) $(external-openurl-cmd_ARCHOBJS) $(USER_OBJS) +$(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) : LDFLAGS := $(strip $(external-openurl-cmd_LDFLAGS) $(external-openurl-cmd-link_EXTRA_LDFLAGS)) +$(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) : LIBS := $(addprefix -l,$(external-openurl-cmd_LIBS) $(external-openurl-cmd-link_EXTRA_LIBS) ) +$(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) : $(external-openurl-cmd_OBJS) $(external-openurl-cmd_ARCHOBJS) $(USER_OBJS) $(external-openurl-cmd-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(external-openurl-cmd_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(external-openurl-cmd_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(external-openurl-cmd_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(external-openurl-cmd_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(external-openurl-cmd_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(external-openurl-cmd_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(external-openurl-cmd_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(external-openurl-cmd_DEPS),) + ifneq (external-openurl-cmd external-openurl-cmd-quick,) + ifneq ($(findstring $(TARGET),external-openurl-cmd external-openurl-cmd-quick),) + -include $(external-openurl-cmd_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(external-openurl-cmd_DEPS) + endif + endif +endif + + +ifneq ($(external-openurl-cmd_OBJS) $(external-openurl-cmd_DEPS) $(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME),) +$(external-openurl-cmd_OBJS) $(external-openurl-cmd_DEPS) $(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) : | $(external-openurl-cmd_OBJDIR) $(external-openurl-cmd_TARGETDIR) +else +$(external-openurl-cmd_OBJS) $(external-openurl-cmd_DEPS) $(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) :: $(external-openurl-cmd_OBJDIR) $(external-openurl-cmd_TARGETDIR) +endif + +GLOB_MKDIRS += $(external-openurl-cmd_OBJDIR) $(external-openurl-cmd_TARGETDIR) + + +external-openurl-cmd-clean : FILES := $(external-openurl-cmd_OBJS) $(external-openurl-cmd_TARGETDIR)/$(external-openurl-cmd_PROGNAME) $(external-openurl-cmd_DEPS) +#MM +external-openurl-cmd-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget external-openurl-cmd" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/external/openurl/developer/mmakefile b/external/openurl/developer/mmakefile new file mode 100644 index 00000000000..2f748a7475f --- /dev/null +++ b/external/openurl/developer/mmakefile @@ -0,0 +1,45 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- includes-copy: external-openurl-includes external-openurl-fd + +#MM external-openurl-includes : \ +#MM kernel-exec-includes \ +#MM kernel-dos-includes \ +#MM kernel-utility-includes + + +.PHONY : external-openurl-includes + +#MM +external-openurl-includes : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s $(SRCDIR)/$(CURDIR)/C/include -d $(AROS_INCLUDES)/ -e + + + +external-openurl-fd_SRC := $(shell echo fd | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROS_SDK_FD) +else +setup :: $(AROS_SDK_FD) +endif + +GLOB_MKDIRS += $(AROS_SDK_FD) + + +.PHONY : external-openurl-fd + +#MM +external-openurl-fd : | $(AROS_SDK_FD) + $(foreach file, openurl_lib.fd, $(shell $(CP) $(addprefix $(if $(filter /%,$(external-openurl-fd_SRC)),$(external-openurl-fd_SRC),$(SRCDIR)/$(CURDIR)/$(external-openurl-fd_SRC))/, $(file)) $(addprefix $(AROS_SDK_FD)/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/external/openurl/libopenurl/mmakefile b/external/openurl/libopenurl/mmakefile new file mode 100644 index 00000000000..0da872c1ee8 --- /dev/null +++ b/external/openurl/libopenurl/mmakefile @@ -0,0 +1,53 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- linklibs : linklibs-openurl + +OPENURL_LIB := $(AROS_LIB)/libopenurl.a + +#MM- linklibs-openurl: includes linklibs-openurl-quick +#MM linklibs-openurl-quick : linklibs-openurl-setup + +#MM +linklibs-openurl-quick : $(OPENURL_LIB) + +FILES = autoinit-aros + +OBJS := $(foreach f,$(FILES),$(OBJDIR)/$(f).o) + +$(OPENURL_LIB) : $(OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(AR) $@ $^ + $(Q)$(RANLIB) $@ + +$(OBJDIR)/%.o : %.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +#MM +linklibs-openurl-setup : + $(Q)$(FOR) dir in $(OBJDIR) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(FOR) dir in $(AROS_LIB) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/external/openurl/library/mmakefile b/external/openurl/library/mmakefile new file mode 100644 index 00000000000..6d6d8668985 --- /dev/null +++ b/external/openurl/library/mmakefile @@ -0,0 +1,586 @@ +# $Id$ + +# AROS metamakefile for openurl + +include $(SRCDIR)/config/aros.cfg + +FILES:= libinit \ + init \ + utils \ + api \ + handler \ + prefs \ + stubs-aros \ + debug + +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/../include +USER_CFLAGS := -DAROS_ABI_V1 +USER_LDFLAGS := -static + +#MM- external-openurl-lib : linklibs external-openurl-includes + + +# Define metamake targets and their dependencies +#MM external-openurl-lib : core-linklibs includes-generate-deps +#MM external-openurl-lib-kobj : core-linklibs includes-generate-deps +#MM external-openurl-lib-kobj-quick +#MM external-openurl-lib-quick +#MM external-openurl-lib-clean + +external-openurl-lib_ALLTARGETS := external-openurl-lib external-openurl-lib-clean external-openurl-lib-quick external-openurl-lib-kobj + +.PHONY : $(external-openurl-lib_ALLTARGETS) + +ifeq (openurl,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +external-openurl-lib_DEFLINKLIBNAME := openurl +external-openurl-lib_CFLAGS := $(CFLAGS) +external-openurl-lib_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +external-openurl-lib_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(external-openurl-lib_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +external-openurl-lib_FUNCINSTR := yes +external-openurl-lib_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(external-openurl-lib_CFLAGS)) +endif +endif +ifneq (,) + external-openurl-lib_DFLAGS := +else + external-openurl-lib_DFLAGS := $(external-openurl-lib_CFLAGS) +endif +external-openurl-lib_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +external-openurl-lib_MODDIR := +ifeq ($(external-openurl-lib_MODDIR),) + ifeq (library,library) + external-openurl-lib_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (library,gadget) + external-openurl-lib_MODDIR := $(AROS_GADGETS) + endif + ifeq (library,datatype) + external-openurl-lib_MODDIR := $(AROS_DATATYPES) + endif + ifeq (library,handler) + external-openurl-lib_MODDIR := $(AROS_FS) + endif + ifeq (library,device) + external-openurl-lib_MODDIR := $(AROS_DEVS) + endif + ifeq (library,resource) + external-openurl-lib_MODDIR := $(AROS_RESOURCES) + endif + ifeq (library,hook) + external-openurl-lib_MODDIR := $(AROS_RESOURCES) + endif + ifeq (library,mui) + external-openurl-lib_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,mcc) + external-openurl-lib_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,mcp) + external-openurl-lib_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,usbclass) + external-openurl-lib_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (library,hidd) + external-openurl-lib_MODDIR := $(AROS_DRIVERS) + endif + ifeq (library,printer) + external-openurl-lib_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(external-openurl-lib_MODDIR),) + $(error Don't know where to put the file for modtype library. Specify moduledir=) +endif + +external-openurl-lib_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +external-openurl-lib_ARCHFILES := $(basename $(notdir $(external-openurl-lib_ARCHOBJS))) +external-openurl-lib_C_NARCHFILES := $(filter-out $(external-openurl-lib_ARCHFILES),$(FILES)) +external-openurl-lib_CXX_NARCHFILES := $(filter-out $(external-openurl-lib_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +external-openurl-lib_OBJC_NARCHFILES := $(filter-out $(external-openurl-lib_ARCHFILES),) + + +external-openurl-lib_CXXABSBASENAMES := $(foreach external-openurl-lib_CXXBASE,$(external-openurl-lib_CXX_NARCHFILES),$(if $(filter /%,$(external-openurl-lib_CXXBASE)),$(external-openurl-lib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(external-openurl-lib_CXXBASE)))) + +ifneq ($(external-openurl-lib_CXXABSBASENAMES),) + +external-openurl-lib_CXXBASENAMES := $(basename $(external-openurl-lib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +external-openurl-lib_MCXX_FILES := $(strip $(foreach external-openurl-lib_CXXBASE,$(external-openurl-lib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach external-openurl-lib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(external-openurl-lib_EXT),$(external-openurl-lib_CXXBASE))))))) + +ifeq (,) +external-openurl-lib_MCXX_SRCWILDCARD := % +else +external-openurl-lib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + external-openurl-lib_CXXTARGETS := $(notdir $(external-openurl-lib_CXXBASENAMES:=.o)) + external-openurl-lib_CXXDTARGETS := $(notdir $(external-openurl-lib_CXXBASENAMES:=.d)) + external-openurl-lib_MCXX_WILDCARD := % +else + external-openurl-lib_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(external-openurl-lib_CXXBASENAMES:=.o))) + external-openurl-lib_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(external-openurl-lib_CXXBASENAMES:=.d))) + external-openurl-lib_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(external-openurl-lib_CXXTARGETS) $(external-openurl-lib_CXXDTARGETS) : | $(external-openurl-lib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +external-openurl-lib_MCXX_CPPFLAGS := $(CPPFLAGS) +external-openurl-lib_CXXFLAGS := $(external-openurl-lib_CXXFLAGS) +ifeq ($(external-openurl-lib_DXXFLAGS),) + external-openurl-lib_DXXFLAGS := $(external-openurl-lib_CXXFLAGS) +else + external-openurl-lib_DXXFLAGS := $(external-openurl-lib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + external-openurl-lib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + external-openurl-lib_STRIP ?= $(HOST_STRIP) + external-openurl-lib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + external-openurl-lib_CXXCMD:=$(HOST_CXX) + external-openurl-lib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(external-openurl-lib_MCXX_CPPFLAGS) $(external-openurl-lib_MCXX_EXTRA_CPPFLAGS)) + external-openurl-lib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(external-openurl-lib_CXXFLAGS)) + external-openurl-lib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(external-openurl-lib_DXXFLAGS)) + external-openurl-lib_CXXIQUOTE:=$(HOST_IQUOTE) + external-openurl-lib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + external-openurl-lib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + external-openurl-lib_STRIP ?= $(TARGET_STRIP) + external-openurl-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + external-openurl-lib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + external-openurl-lib_MCXX_CPPFLAGS := $(strip $(external-openurl-lib_MCXX_CPPFLAGS) $(external-openurl-lib_MCXX_EXTRA_CPPFLAGS)) + external-openurl-lib_CXXFLAGS := $(strip $(external-openurl-lib_CXXFLAGS) $(SAFETY_CFLAGS)) + external-openurl-lib_DXXFLAGS := $(external-openurl-lib_DXXFLAGS) + external-openurl-lib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + external-openurl-lib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + external-openurl-lib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + external-openurl-lib_STRIP ?= $(ECHO) >/dev/null + external-openurl-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + external-openurl-lib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + external-openurl-lib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(external-openurl-lib_MCXX_CPPFLAGS) $(external-openurl-lib_MCXX_EXTRA_CPPFLAGS)) + external-openurl-lib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(external-openurl-lib_CXXFLAGS)) + external-openurl-lib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(external-openurl-lib_DXXFLAGS)) + external-openurl-lib_CXXIQUOTE:=$(KERNEL_IQUOTE) + external-openurl-lib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(external-openurl-lib_CXXCMD) $(external-openurl-lib_CXXIQUOTE) $(dir $(2)) $(external-openurl-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_CXXIQUOTE) . $(external-openurl-lib_CXXIQUOTE_END) $(strip $(external-openurl-lib_CXXFLAGS) $(external-openurl-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(external-openurl-lib_CXXCMD) $(external-openurl-lib_CXXIQUOTE) $(dir $(2)) $(external-openurl-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_CXXIQUOTE) . $(external-openurl-lib_CXXIQUOTE_END) $(strip $(external-openurl-lib_CXXFLAGS) $(external-openurl-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(external-openurl-lib_CXXCMD) $(external-openurl-lib_CXXIQUOTE) $(dir $(2)) $(external-openurl-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_CXXIQUOTE) . $(external-openurl-lib_CXXIQUOTE_END) $(strip $(external-openurl-lib_CXXFLAGS) $(external-openurl-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(external-openurl-lib_CXXCMD)" $(MKDEPEND) $(strip $(external-openurl-lib_DXXFLAGS) $(external-openurl-lib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach external-openurl-lib_CXXFILE,$(external-openurl-lib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(external-openurl-lib_CXXFILE))),$(external-openurl-lib_CXXFILE)))) +else + $(foreach external-openurl-lib_CXXFILE,$(external-openurl-lib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(external-openurl-lib_CXXFILE)))),$(external-openurl-lib_CXXFILE)))) +endif + +endif + + +ifneq ($(external-openurl-lib_OBJC_NARCHFILES),) + +ifeq (,) +external-openurl-lib_MOBJC_SRCWILDCARD := % +else +external-openurl-lib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + external-openurl-lib_MOBJC_TARGETS := $(addsuffix .o,$(external-openurl-lib_OBJC_NARCHFILES)) + external-openurl-lib_MOBJC_DTARGETS := $(addsuffix .d,$(external-openurl-lib_OBJC_NARCHFILES)) + external-openurl-lib_MOBJC_WILDCARD := % +else + external-openurl-lib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(external-openurl-lib_OBJC_NARCHFILES))) + external-openurl-lib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(external-openurl-lib_OBJC_NARCHFILES))) + external-openurl-lib_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : | $(addsuffix .m,$(external-openurl-lib_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + external-openurl-lib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + external-openurl-lib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(external-openurl-lib_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + external-openurl-lib_MOBJC_DIRS := $(foreach dir, $(external-openurl-lib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-openurl-lib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(external-openurl-lib_MOBJC_DIRS),) + external-openurl-lib_MOBJC_DIRS := $(shell echo $(external-openurl-lib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(external-openurl-lib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + external-openurl-lib_CC := $(TARGET_CC) +else + external-openurl-lib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +external-openurl-lib_MOBJC_CPPFLAGS := $(CPPFLAGS) +external-openurl-lib_OBJCFLAGS := $(external-openurl-lib_CFLAGS) +external-openurl-lib_OBJCFLAGS := $(external-openurl-lib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +external-openurl-lib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(external-openurl-lib_OBJCFLAGS))) +ifeq ($(external-openurl-lib_DFLAGS),) + external-openurl-lib_OBJCDFLAGS := $(external-openurl-lib_CFLAGS) +else + external-openurl-lib_OBJCDFLAGS := $(external-openurl-lib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + external-openurl-lib_LINK ?= $(strip $(external-openurl-lib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + external-openurl-lib_STRIP ?= $(TARGET_STRIP) + external-openurl-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : CMD:=$(strip $(external-openurl-lib_CC) $(TARGET_SYSROOT)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_MOBJC_CPPFLAGS:=$(strip $(external-openurl-lib_MOBJC_CPPFLAGS) $(external-openurl-lib_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_OBJCFLAGS:=$(strip $(external-openurl-lib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_OBJCDFLAGS:=$(external-openurl-lib_OBJCDFLAGS) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_IQUOTE:=$(CFLAGS_IQUOTE) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + external-openurl-lib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + external-openurl-lib_STRIP ?= $(HOST_STRIP) + external-openurl-lib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(external-openurl-lib_MOBJC_CPPFLAGS) $(external-openurl-lib_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-lib_OBJCFLAGS)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-lib_OBJCDFLAGS)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_IQUOTE:=$(HOST_IQUOTE) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + external-openurl-lib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + external-openurl-lib_STRIP ?= $(ECHO) >/dev/null + external-openurl-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(external-openurl-lib_MOBJC_CPPFLAGS) $(external-openurl-lib_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-lib_OBJCFLAGS)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-lib_OBJCDFLAGS)) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_IQUOTE:=$(KERNEL_IQUOTE) + $(external-openurl-lib_MOBJC_TARGETS) $(external-openurl-lib_MOBJC_DTARGETS) : external-openurl-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-openurl-lib_MOBJC_TARGETS) : CPPFLAGS := $(external-openurl-lib_MOBJC_CPPFLAGS) +$(external-openurl-lib_MOBJC_TARGETS) : CFLAGS := $(external-openurl-lib_OBJCFLAGS) +$(external-openurl-lib_MOBJC_TARGETS) : $(external-openurl-lib_MOBJC_WILDCARD).o : $(external-openurl-lib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-openurl-lib_IQUOTE) $(dir $<) $(external-openurl-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_IQUOTE) . $(external-openurl-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-openurl-lib_IQUOTE) $(dir $<) $(external-openurl-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_IQUOTE) . $(external-openurl-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-openurl-lib_IQUOTE) $(dir $<) $(external-openurl-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_IQUOTE) . $(external-openurl-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-openurl-lib_MOBJC_DTARGETS) : $(external-openurl-lib_MOBJC_WILDCARD).d : $(external-openurl-lib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-openurl-lib_OBJCDFLAGS) $(external-openurl-lib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +external-openurl-lib_MC_SRCWILDCARD := % +else +external-openurl-lib_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +external-openurl-lib_MC_TARGETS := $(addsuffix .o,$(external-openurl-lib_C_NARCHFILES)) +external-openurl-lib_MC_DTARGETS := $(addsuffix .d,$(external-openurl-lib_C_NARCHFILES)) +external-openurl-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + external-openurl-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(external-openurl-lib_C_NARCHFILES)))) + external-openurl-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(external-openurl-lib_C_NARCHFILES)))) +else +ifeq (,) + external-openurl-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(external-openurl-lib_C_NARCHFILES))) + external-openurl-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(external-openurl-lib_C_NARCHFILES))) +else + external-openurl-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(external-openurl-lib_C_NARCHFILES)))) + external-openurl-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(external-openurl-lib_C_NARCHFILES)))) +endif +endif +external-openurl-lib_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : | $(addsuffix .c,$(external-openurl-lib_C_NARCHFILES)) + +# Be sure that all .c files are found +external-openurl-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-openurl-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(external-openurl-lib_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +external-openurl-lib_MC_DIRS := $(foreach dir, $(external-openurl-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-openurl-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-openurl-lib_MC_DIRS),) + external-openurl-lib_MC_DIRS := $(shell echo $(external-openurl-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(external-openurl-lib_MC_DIRS) +endif + +endif + +external-openurl-lib_MC_CPPFLAGS := $(CPPFLAGS) +external-openurl-lib_CFLAGS := $(external-openurl-lib_CFLAGS) +ifeq ($(external-openurl-lib_DFLAGS),) + external-openurl-lib_DFLAGS := $(external-openurl-lib_CFLAGS) +else + external-openurl-lib_DFLAGS := $(external-openurl-lib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +external-openurl-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +external-openurl-lib_STRIP ?= $(TARGET_STRIP) +external-openurl-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_MC_CPPFLAGS:=$(strip $(external-openurl-lib_MC_CPPFLAGS) $(external-openurl-lib_MC_EXTRA_CPPFLAGS)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_CFLAGS:=$(strip $(external-openurl-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_DFLAGS:=$(external-openurl-lib_DFLAGS) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +external-openurl-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +external-openurl-lib_STRIP ?= $(HOST_STRIP) +external-openurl-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(external-openurl-lib_MC_CPPFLAGS) $(external-openurl-lib_MC_EXTRA_CPPFLAGS)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-lib_CFLAGS)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-lib_DFLAGS)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_IQUOTE:=$(HOST_IQUOTE) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +external-openurl-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +external-openurl-lib_STRIP ?= $(ECHO) >/dev/null +external-openurl-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(external-openurl-lib_MC_CPPFLAGS) $(external-openurl-lib_MC_EXTRA_CPPFLAGS)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-lib_CFLAGS)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-lib_DFLAGS)) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(external-openurl-lib_MC_TARGETS) $(external-openurl-lib_MC_DTARGETS) : external-openurl-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-openurl-lib_MC_TARGETS) : CPPFLAGS := $(external-openurl-lib_MC_CPPFLAGS) +$(external-openurl-lib_MC_TARGETS) : CFLAGS := $(external-openurl-lib_CFLAGS) +$(external-openurl-lib_MC_TARGETS) : $(external-openurl-lib_MC_TGTWILDCARD).o : $(external-openurl-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-openurl-lib_IQUOTE) $(dir $<) $(external-openurl-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_IQUOTE) . $(external-openurl-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-openurl-lib_IQUOTE) $(dir $<) $(external-openurl-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_IQUOTE) . $(external-openurl-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-openurl-lib_IQUOTE) $(dir $<) $(external-openurl-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-lib_IQUOTE) . $(external-openurl-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-openurl-lib_MC_DTARGETS) : $(external-openurl-lib_MC_TGTWILDCARD).d : $(external-openurl-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-openurl-lib_DFLAGS) $(external-openurl-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (library,handler) +external-openurl-lib_MODULE := $(external-openurl-lib_MODDIR)/openurl-library +else +ifeq (library,printer) +external-openurl-lib_MODULE := $(external-openurl-lib_MODDIR)/openurl +else +external-openurl-lib_MODULE := $(external-openurl-lib_MODDIR)/openurl.library +endif +endif +external-openurl-lib_KOBJ := $(KOBJSDIR)/openurl_library.o + +external-openurl-lib-quick : external-openurl-lib +external-openurl-lib-kobj-quick : $(external-openurl-lib_KOBJ) +external-openurl-lib : $(external-openurl-lib_MODULE) +external-openurl-lib-kobj : $(external-openurl-lib_KOBJ) + +# The module is linked from all the compiled .o files +external-openurl-lib_OBJS := $(external-openurl-lib_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(external-openurl-lib_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (openurl,con) + external-openurl-lib_ERR := $(notdir $(external-openurl-lib_MODULE)).err +else + external-openurl-lib_ERR := openurl.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(openurl_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(openurl_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(external-openurl-lib_MODULE) : LIB_NAMES := $(openurl_LIBS) +$(external-openurl-lib_MODULE) : OBJS := $(external-openurl-lib_OBJS) +$(external-openurl-lib_MODULE) : ENDTAG := +$(external-openurl-lib_MODULE) : ERR := $(external-openurl-lib_ERR) +$(external-openurl-lib_MODULE) : OBJDIR := $(OBJDIR) +$(external-openurl-lib_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(external-openurl-lib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(external-openurl-lib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(external-openurl-lib_MODULE) : $(external-openurl-lib_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +external-openurl-lib_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +external-openurl-lib_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +external-openurl-lib_SYMBOLS := $(external-openurl-lib_KBASE) + +external-openurl-lib_KLIB := hiddstubs amiga arossupport autoinit libinit +external-openurl-lib_KOBJ_LIBS := $(filter-out $(external-openurl-lib_KLIB),) $(external-openurl-lib_KAUTOLIB) +$(external-openurl-lib_KOBJ) : LINKLIBS:=$(external-openurl-lib_KOBJ_LIBS) +$(external-openurl-lib_KOBJ) : FILTBASES:=$(addprefix -L ,$(external-openurl-lib_SYMBOLS)) +$(external-openurl-lib_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(external-openurl-lib_KOBJ) : $(external-openurl-lib_OBJS) $(external-openurl-lib_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +external-openurl-lib_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,$(FILES))) +ifneq ($(external-openurl-lib_DEPS),) + ifneq (external-openurl-lib external-openurl-lib-quick external-openurl-lib-kobj,) + ifneq ($(findstring $(TARGET),external-openurl-lib external-openurl-lib-quick external-openurl-lib-kobj),) + -include $(external-openurl-lib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(external-openurl-lib_DEPS) + endif + endif +endif + + +ifneq ($(external-openurl-lib_OBJS) $(external-openurl-lib_DEPS) $(external-openurl-lib_MODULE) $(external-openurl-lib_KOBJ),) +$(external-openurl-lib_OBJS) $(external-openurl-lib_DEPS) $(external-openurl-lib_MODULE) $(external-openurl-lib_KOBJ) : | $(OBJDIR) $(external-openurl-lib_MODDIR) $(KOBJSDIR) +else +$(external-openurl-lib_OBJS) $(external-openurl-lib_DEPS) $(external-openurl-lib_MODULE) $(external-openurl-lib_KOBJ) :: $(OBJDIR) $(external-openurl-lib_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(external-openurl-lib_MODDIR) $(KOBJSDIR) + + +external-openurl-lib-clean : FILES := $(external-openurl-lib_OBJS) $(external-openurl-lib_MODULE) $(external-openurl-lib_KOBJ) $(external-openurl-lib_DEPS) +external-openurl-lib-clean :: + $(Q)$(ECHO) "Cleaning up for module openurl" + $(Q)$(RM) $(FILES) + +#MM external-openurl-clean : external-openurl-lib-clean + +#MM +external-libs-openurl-clean : + $(RM) $(GENDIR)/workbench/libs/openurl + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/external/openurl/locale/mmakefile b/external/openurl/locale/mmakefile new file mode 100644 index 00000000000..1201c00d90e --- /dev/null +++ b/external/openurl/locale/mmakefile @@ -0,0 +1,26 @@ +# $Id$ +# +# Makefile for the OpenURL catalogs of openurl.library + +include $(SRCDIR)/config/aros.cfg + +TARGETDIR := $(AROS_CATALOGS) +LANGUAGES := $(basename $(notdir $(call WILDCARD,$(SRCDIR)/$(CURDIR)/*.po))) +CATALOGS := $(addprefix $(TARGETDIR)/,$(addsuffix /OpenURL.catalog,$(LANGUAGES))) + +#MM +external-openurl-catalogs : $(CATALOGS) + +$(TARGETDIR)/%/OpenURL.catalog: $(SRCDIR)/$(CURDIR)/%.po + $(ECHO) "Building catalog $@" + $(MKDIR) $(dir $@) + $(FLEXCAT) POFILE $< CATALOG $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/external/openurl/mmakefile b/external/openurl/mmakefile new file mode 100644 index 00000000000..697cfbd5ee9 --- /dev/null +++ b/external/openurl/mmakefile @@ -0,0 +1,18 @@ +# $Id$ +# +# Makefile for OpenURL + +include $(SRCDIR)/config/aros.cfg + +#MM- external : external-openurl + +#MM- external-openurl : external-openurl-lib external-openurl-prefs external-openurl-cmd + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/external/openurl/prefs/mmakefile b/external/openurl/prefs/mmakefile new file mode 100644 index 00000000000..32654d225ca --- /dev/null +++ b/external/openurl/prefs/mmakefile @@ -0,0 +1,662 @@ +# $Id$ +# +# Makefile for the OpenURL Pref. editor of openurl.library + +include $(SRCDIR)/config/aros.cfg + +#MM external-openurl-prefs : includes linklibs \ +#MM external-openurl-lib \ +#MM external-openurl-catalogs \ +#MM external-openurl-prefs-setup \ +#MM external-openurl-prefs-icon + +#MM +external-openurl-prefs-setup : locale.h + +EXE := OpenURL +EXEDIR := $(AROS_PREFS) + +# We need to use -idirafter, so that we +# *don't* pick up the project's local MUI headers. +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/../include + +FILES := \ + OpenURL \ + locale \ + utils \ + popport \ + popph \ + ftpeditwin \ + mailereditwin \ + browsereditwin \ + applist \ + win \ + about \ + app \ + vastubs \ + debug + + +.PHONY : external-openurl-prefs + +external-openurl-prefs_PROGNAME := $(EXE) +external-openurl-prefs_OBJDIR := $(GENDIR)/$(CURDIR) +external-openurl-prefs_TARGETDIR := $(EXEDIR) +external-openurl-prefs_LINKER := +external-openurl-prefs_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(external-openurl-prefs_LINKER),) + external-openurl-prefs_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + external-openurl-prefs_FILES := $(FILES) + external-openurl-prefs_OBJCFILES := + external-openurl-prefs_ASMFILES := + external-openurl-prefs_CXXFILES := +else + external-openurl-prefs_FILES := $(external-openurl-prefs_PROGNAME) + external-openurl-prefs_OBJCFILES := + external-openurl-prefs_ASMFILES := + external-openurl-prefs_CXXFILES := +endif + +external-openurl-prefs_ARCHOBJS := $(wildcard $(external-openurl-prefs_OBJDIR)/arch/*.o) +external-openurl-prefs_ARCHFILES := $(basename $(notdir $(external-openurl-prefs_ARCHOBJS))) +external-openurl-prefs_C_NARCHFILES := $(filter-out $(external-openurl-prefs_ARCHFILES),$(external-openurl-prefs_FILES)) +external-openurl-prefs_CXX_NARCHFILES := $(filter-out $(external-openurl-prefs_ARCHFILES),$(external-openurl-prefs_CXXFILES)) +external-openurl-prefs_OBJC_NARCHFILES := $(filter-out $(external-openurl-prefs_ARCHFILES),$(external-openurl-prefs_OBJCFILES)) + +TMP_FILES := $(external-openurl-prefs_C_NARCHFILES) $(external-openurl-prefs_CXX_NARCHFILES) $(external-openurl-prefs_ASMFILES) $(external-openurl-prefs_OBJC_NARCHFILES) +external-openurl-prefs_OBJS := $(addsuffix .o,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(notdir $(TMP_FILES)))) +external-openurl-prefs_DEPS := $(addsuffix .d,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(notdir $(TMP_FILES)))) + +external-openurl-prefs_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +external-openurl-prefs_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +external-openurl-prefs_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +external-openurl-prefs_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +external-openurl-prefs_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +external-openurl-prefs_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +external-openurl-prefs_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +external-openurl-prefs_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +external-openurl-prefs_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +external-openurl-prefs_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +external-openurl-prefs_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +external-openurl-prefs_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +external-openurl-prefs_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +external-openurl-prefs_LDFLAGS := +endif + +external-openurl-prefs_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +external-openurl-prefs_COVERAGE := yes +external-openurl-prefs_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +external-openurl-prefs_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +external-openurl-prefs_CFLAGS := $(strip $(external-openurl-prefs_COVERAGEFLAGS) $(external-openurl-prefs_CFLAGS)) +external-openurl-prefs_CXXFLAGS := $(strip $(external-openurl-prefs_COVERAGEFLAGS) $(external-openurl-prefs_CXXFLAGS)) +external-openurl-prefs_LIBS += $(external-openurl-prefs_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +external-openurl-prefs_FUNCINSTR := yes +external-openurl-prefs_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +external-openurl-prefs_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +external-openurl-prefs_CFLAGS := $(strip $(external-openurl-prefs_INSTRFUNCFLAGS) $(external-openurl-prefs_CFLAGS)) +external-openurl-prefs_CXXFLAGS := $(strip $(external-openurl-prefs_INSTRFUNCFLAGS) $(external-openurl-prefs_CXXFLAGS)) +external-openurl-prefs_LIBS += $(external-openurl-prefs_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +external-openurl-prefs_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(external-openurl-prefs_CFLAGS)) +external-openurl-prefs_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(external-openurl-prefs_CXXFLAGS)) +endif +endif +external-openurl-prefs_AFLAGS := $(AFLAGS) +ifneq (,) + external-openurl-prefs_DFLAGS := +else + external-openurl-prefs_DFLAGS := $(external-openurl-prefs_CFLAGS) +endif +ifneq (,) + external-openurl-prefs_DXXFLAGS := +else + external-openurl-prefs_DXXFLAGS := $(external-openurl-prefs_CXXFLAGS) +endif +ifeq (target,target) +external-openurl-prefs_LDFLAGS := $(external-openurl-prefs_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +external-openurl-prefs_LDFLAGS := $(external-openurl-prefs_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +external-openurl-prefs_LDFLAGS := $(external-openurl-prefs_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +external-openurl-prefs_LDFLAGS += -L +endif + +#MM +external-openurl-prefs-quick : external-openurl-prefs + +#MM external-openurl-prefs : includes-generate-deps core-linklibs +external-openurl-prefs : $(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) + +ifneq ($(filter $(TARGET),external-openurl-prefs external-openurl-prefs-quick external-openurl-prefs-gz-quick),) + +external-openurl-prefs_CXXABSBASENAMES := $(foreach external-openurl-prefs_CXXBASE,$(external-openurl-prefs_CXX_NARCHFILES),$(if $(filter /%,$(external-openurl-prefs_CXXBASE)),$(external-openurl-prefs_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(external-openurl-prefs_CXXBASE)))) + +ifneq ($(external-openurl-prefs_CXXABSBASENAMES),) + +external-openurl-prefs_CXXBASENAMES := $(basename $(external-openurl-prefs_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +external-openurl-prefs_MCXX_FILES := $(strip $(foreach external-openurl-prefs_CXXBASE,$(external-openurl-prefs_CXXABSBASENAMES), $(firstword $(wildcard $(foreach external-openurl-prefs_EXT, $(AROS_CXXEXTS),$(addsuffix .$(external-openurl-prefs_EXT),$(external-openurl-prefs_CXXBASE))))))) + +ifeq (,) +external-openurl-prefs_MCXX_SRCWILDCARD := % +else +external-openurl-prefs_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(external-openurl-prefs_OBJDIR),) + external-openurl-prefs_CXXTARGETS := $(notdir $(external-openurl-prefs_CXXBASENAMES:=.o)) + external-openurl-prefs_CXXDTARGETS := $(notdir $(external-openurl-prefs_CXXBASENAMES:=.d)) + external-openurl-prefs_MCXX_WILDCARD := % +else + external-openurl-prefs_CXXTARGETS := $(addprefix $(external-openurl-prefs_OBJDIR)/,$(notdir $(external-openurl-prefs_CXXBASENAMES:=.o))) + external-openurl-prefs_CXXDTARGETS := $(addprefix $(external-openurl-prefs_OBJDIR)/,$(notdir $(external-openurl-prefs_CXXBASENAMES:=.d))) + external-openurl-prefs_MCXX_WILDCARD := $(external-openurl-prefs_OBJDIR)/% + + # Be sure that all source files are generated + $(external-openurl-prefs_CXXTARGETS) $(external-openurl-prefs_CXXDTARGETS) : | $(external-openurl-prefs_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +external-openurl-prefs_MCXX_CPPFLAGS := $(external-openurl-prefs_CPPFLAGS) +external-openurl-prefs_CXXFLAGS := $(external-openurl-prefs_CXXFLAGS) +ifeq ($(external-openurl-prefs_DXXFLAGS),) + external-openurl-prefs_DXXFLAGS := $(external-openurl-prefs_CXXFLAGS) +else + external-openurl-prefs_DXXFLAGS := $(external-openurl-prefs_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + external-openurl-prefs_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + external-openurl-prefs_STRIP ?= $(HOST_STRIP) + external-openurl-prefs_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + external-openurl-prefs_CXXCMD:=$(HOST_CXX) + external-openurl-prefs_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(external-openurl-prefs_MCXX_CPPFLAGS) $(external-openurl-prefs_MCXX_EXTRA_CPPFLAGS)) + external-openurl-prefs_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(external-openurl-prefs_CXXFLAGS)) + external-openurl-prefs_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(external-openurl-prefs_DXXFLAGS)) + external-openurl-prefs_CXXIQUOTE:=$(HOST_IQUOTE) + external-openurl-prefs_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + external-openurl-prefs_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + external-openurl-prefs_STRIP ?= $(TARGET_STRIP) + external-openurl-prefs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + external-openurl-prefs_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + external-openurl-prefs_MCXX_CPPFLAGS := $(strip $(external-openurl-prefs_MCXX_CPPFLAGS) $(external-openurl-prefs_MCXX_EXTRA_CPPFLAGS)) + external-openurl-prefs_CXXFLAGS := $(strip $(external-openurl-prefs_CXXFLAGS) $(SAFETY_CFLAGS)) + external-openurl-prefs_DXXFLAGS := $(external-openurl-prefs_DXXFLAGS) + external-openurl-prefs_CXXIQUOTE:=$(CFLAGS_IQUOTE) + external-openurl-prefs_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + external-openurl-prefs_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + external-openurl-prefs_STRIP ?= $(ECHO) >/dev/null + external-openurl-prefs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + external-openurl-prefs_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + external-openurl-prefs_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(external-openurl-prefs_MCXX_CPPFLAGS) $(external-openurl-prefs_MCXX_EXTRA_CPPFLAGS)) + external-openurl-prefs_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(external-openurl-prefs_CXXFLAGS)) + external-openurl-prefs_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(external-openurl-prefs_DXXFLAGS)) + external-openurl-prefs_CXXIQUOTE:=$(KERNEL_IQUOTE) + external-openurl-prefs_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(external-openurl-prefs_CXXCMD) $(external-openurl-prefs_CXXIQUOTE) $(dir $(2)) $(external-openurl-prefs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_CXXIQUOTE) . $(external-openurl-prefs_CXXIQUOTE_END) $(strip $(external-openurl-prefs_CXXFLAGS) $(external-openurl-prefs_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(external-openurl-prefs_CXXCMD) $(external-openurl-prefs_CXXIQUOTE) $(dir $(2)) $(external-openurl-prefs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_CXXIQUOTE) . $(external-openurl-prefs_CXXIQUOTE_END) $(strip $(external-openurl-prefs_CXXFLAGS) $(external-openurl-prefs_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(external-openurl-prefs_CXXCMD) $(external-openurl-prefs_CXXIQUOTE) $(dir $(2)) $(external-openurl-prefs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_CXXIQUOTE) . $(external-openurl-prefs_CXXIQUOTE_END) $(strip $(external-openurl-prefs_CXXFLAGS) $(external-openurl-prefs_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(external-openurl-prefs_CXXCMD)" $(MKDEPEND) $(strip $(external-openurl-prefs_DXXFLAGS) $(external-openurl-prefs_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(external-openurl-prefs_OBJDIR),) + $(foreach external-openurl-prefs_CXXFILE,$(external-openurl-prefs_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(external-openurl-prefs_CXXFILE))),$(external-openurl-prefs_CXXFILE)))) +else + $(foreach external-openurl-prefs_CXXFILE,$(external-openurl-prefs_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(notdir $(basename $(external-openurl-prefs_CXXFILE)))),$(external-openurl-prefs_CXXFILE)))) +endif + +endif + + +ifneq ($(external-openurl-prefs_OBJC_NARCHFILES),) + +ifeq (,) +external-openurl-prefs_MOBJC_SRCWILDCARD := % +else +external-openurl-prefs_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(external-openurl-prefs_OBJDIR),) + external-openurl-prefs_MOBJC_TARGETS := $(addsuffix .o,$(external-openurl-prefs_OBJC_NARCHFILES)) + external-openurl-prefs_MOBJC_DTARGETS := $(addsuffix .d,$(external-openurl-prefs_OBJC_NARCHFILES)) + external-openurl-prefs_MOBJC_WILDCARD := % +else + external-openurl-prefs_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(external-openurl-prefs_OBJC_NARCHFILES))) + external-openurl-prefs_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(external-openurl-prefs_OBJC_NARCHFILES))) + external-openurl-prefs_MOBJC_WILDCARD := $(external-openurl-prefs_OBJDIR)/% + + # Be sure that all .m files are generated + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : | $(addsuffix .m,$(external-openurl-prefs_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + external-openurl-prefs_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + external-openurl-prefs_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(external-openurl-prefs_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + external-openurl-prefs_MOBJC_DIRS := $(foreach dir, $(external-openurl-prefs_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-openurl-prefs_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(external-openurl-prefs_MOBJC_DIRS),) + external-openurl-prefs_MOBJC_DIRS := $(shell echo $(external-openurl-prefs_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(external-openurl-prefs_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + external-openurl-prefs_CC := $(TARGET_CC) +else + external-openurl-prefs_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +external-openurl-prefs_MOBJC_CPPFLAGS := $(external-openurl-prefs_CPPFLAGS) +external-openurl-prefs_OBJCFLAGS := $(external-openurl-prefs_CFLAGS) +external-openurl-prefs_OBJCFLAGS := $(external-openurl-prefs_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +external-openurl-prefs_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(external-openurl-prefs_OBJCFLAGS))) +ifeq ($(external-openurl-prefs_DFLAGS),) + external-openurl-prefs_OBJCDFLAGS := $(external-openurl-prefs_CFLAGS) +else + external-openurl-prefs_OBJCDFLAGS := $(external-openurl-prefs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + external-openurl-prefs_LINK ?= $(strip $(external-openurl-prefs_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + external-openurl-prefs_STRIP ?= $(TARGET_STRIP) + external-openurl-prefs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : CMD:=$(strip $(external-openurl-prefs_CC) $(TARGET_SYSROOT)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_MOBJC_CPPFLAGS:=$(strip $(external-openurl-prefs_MOBJC_CPPFLAGS) $(external-openurl-prefs_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_OBJCFLAGS:=$(strip $(external-openurl-prefs_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_OBJCDFLAGS:=$(external-openurl-prefs_OBJCDFLAGS) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_IQUOTE:=$(CFLAGS_IQUOTE) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + external-openurl-prefs_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + external-openurl-prefs_STRIP ?= $(HOST_STRIP) + external-openurl-prefs_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(external-openurl-prefs_MOBJC_CPPFLAGS) $(external-openurl-prefs_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-prefs_OBJCFLAGS)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-prefs_OBJCDFLAGS)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_IQUOTE:=$(HOST_IQUOTE) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + external-openurl-prefs_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + external-openurl-prefs_STRIP ?= $(ECHO) >/dev/null + external-openurl-prefs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(external-openurl-prefs_MOBJC_CPPFLAGS) $(external-openurl-prefs_MOBJC_EXTRA_CPPFLAGS)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-prefs_OBJCFLAGS)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-prefs_OBJCDFLAGS)) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_IQUOTE:=$(KERNEL_IQUOTE) + $(external-openurl-prefs_MOBJC_TARGETS) $(external-openurl-prefs_MOBJC_DTARGETS) : external-openurl-prefs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-openurl-prefs_MOBJC_TARGETS) : CPPFLAGS := $(external-openurl-prefs_MOBJC_CPPFLAGS) +$(external-openurl-prefs_MOBJC_TARGETS) : CFLAGS := $(external-openurl-prefs_OBJCFLAGS) +$(external-openurl-prefs_MOBJC_TARGETS) : $(external-openurl-prefs_MOBJC_WILDCARD).o : $(external-openurl-prefs_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-openurl-prefs_IQUOTE) $(dir $<) $(external-openurl-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_IQUOTE) . $(external-openurl-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-openurl-prefs_IQUOTE) $(dir $<) $(external-openurl-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_IQUOTE) . $(external-openurl-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-openurl-prefs_IQUOTE) $(dir $<) $(external-openurl-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_IQUOTE) . $(external-openurl-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-openurl-prefs_MOBJC_DTARGETS) : $(external-openurl-prefs_MOBJC_WILDCARD).d : $(external-openurl-prefs_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-openurl-prefs_OBJCDFLAGS) $(external-openurl-prefs_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +external-openurl-prefs_MC_SRCWILDCARD := % +else +external-openurl-prefs_MC_SRCWILDCARD := /% +endif + +ifeq ($(external-openurl-prefs_OBJDIR),) +external-openurl-prefs_MC_TARGETS := $(addsuffix .o,$(external-openurl-prefs_C_NARCHFILES)) +external-openurl-prefs_MC_DTARGETS := $(addsuffix .d,$(external-openurl-prefs_C_NARCHFILES)) +external-openurl-prefs_MC_TGTWILDCARD := % +else +ifeq (no,no) + external-openurl-prefs_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(notdir $(external-openurl-prefs_C_NARCHFILES)))) + external-openurl-prefs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(notdir $(external-openurl-prefs_C_NARCHFILES)))) +else +ifeq (,) + external-openurl-prefs_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(external-openurl-prefs_C_NARCHFILES))) + external-openurl-prefs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(external-openurl-prefs_C_NARCHFILES))) +else + external-openurl-prefs_MC_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(patsubst /%,%,$(external-openurl-prefs_C_NARCHFILES)))) + external-openurl-prefs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(patsubst /%,%,$(external-openurl-prefs_C_NARCHFILES)))) +endif +endif +external-openurl-prefs_MC_TGTWILDCARD := $(external-openurl-prefs_OBJDIR)/% + +# Be sure that all .c files are generated +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : | $(addsuffix .c,$(external-openurl-prefs_C_NARCHFILES)) + +# Be sure that all .c files are found +external-openurl-prefs_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-openurl-prefs_MC_BASEDIRS := $(shell echo $(sort $(dir $(external-openurl-prefs_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +external-openurl-prefs_MC_DIRS := $(foreach dir, $(external-openurl-prefs_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-openurl-prefs_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-openurl-prefs_MC_DIRS),) + external-openurl-prefs_MC_DIRS := $(shell echo $(external-openurl-prefs_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(external-openurl-prefs_MC_DIRS) +endif + +endif + +external-openurl-prefs_MC_CPPFLAGS := $(external-openurl-prefs_CPPFLAGS) +external-openurl-prefs_CFLAGS := $(external-openurl-prefs_CFLAGS) +ifeq ($(external-openurl-prefs_DFLAGS),) + external-openurl-prefs_DFLAGS := $(external-openurl-prefs_CFLAGS) +else + external-openurl-prefs_DFLAGS := $(external-openurl-prefs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +external-openurl-prefs_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +external-openurl-prefs_STRIP ?= $(TARGET_STRIP) +external-openurl-prefs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_MC_CPPFLAGS:=$(strip $(external-openurl-prefs_MC_CPPFLAGS) $(external-openurl-prefs_MC_EXTRA_CPPFLAGS)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_CFLAGS:=$(strip $(external-openurl-prefs_CFLAGS) $(SAFETY_CFLAGS)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_DFLAGS:=$(external-openurl-prefs_DFLAGS) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_IQUOTE:=$(CFLAGS_IQUOTE) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +external-openurl-prefs_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +external-openurl-prefs_STRIP ?= $(HOST_STRIP) +external-openurl-prefs_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : CMD:=$(HOST_CC) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(external-openurl-prefs_MC_CPPFLAGS) $(external-openurl-prefs_MC_EXTRA_CPPFLAGS)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_CFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-prefs_CFLAGS)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_DFLAGS:=$(strip $(HOST_CFLAGS) $(external-openurl-prefs_DFLAGS)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_IQUOTE:=$(HOST_IQUOTE) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +external-openurl-prefs_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +external-openurl-prefs_STRIP ?= $(ECHO) >/dev/null +external-openurl-prefs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(external-openurl-prefs_MC_CPPFLAGS) $(external-openurl-prefs_MC_EXTRA_CPPFLAGS)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-prefs_CFLAGS)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(external-openurl-prefs_DFLAGS)) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_IQUOTE:=$(KERNEL_IQUOTE) +$(external-openurl-prefs_MC_TARGETS) $(external-openurl-prefs_MC_DTARGETS) : external-openurl-prefs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(external-openurl-prefs_MC_TARGETS) : CPPFLAGS := $(external-openurl-prefs_MC_CPPFLAGS) +$(external-openurl-prefs_MC_TARGETS) : CFLAGS := $(external-openurl-prefs_CFLAGS) +$(external-openurl-prefs_MC_TARGETS) : $(external-openurl-prefs_MC_TGTWILDCARD).o : $(external-openurl-prefs_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(external-openurl-prefs_IQUOTE) $(dir $<) $(external-openurl-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_IQUOTE) . $(external-openurl-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(external-openurl-prefs_IQUOTE) $(dir $<) $(external-openurl-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_IQUOTE) . $(external-openurl-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(external-openurl-prefs_IQUOTE) $(dir $<) $(external-openurl-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(external-openurl-prefs_IQUOTE) . $(external-openurl-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(external-openurl-prefs_MC_DTARGETS) : $(external-openurl-prefs_MC_TGTWILDCARD).d : $(external-openurl-prefs_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(external-openurl-prefs_DFLAGS) $(external-openurl-prefs_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(external-openurl-prefs_OBJDIR),) +external-openurl-prefs-MA_TARGETS := $(addsuffix .o,$(external-openurl-prefs_ASMFILES)) +external-openurl-prefs-MA_WILDCARD := % +else +external-openurl-prefs-MA_TARGETS := $(addsuffix .o,$(addprefix $(external-openurl-prefs_OBJDIR)/,$(notdir $(external-openurl-prefs_ASMFILES)))) +external-openurl-prefs-MA_WILDCARD := $(external-openurl-prefs_OBJDIR)/% + +# Be sure that all .s files are generated +$(external-openurl-prefs-MA_TARGETS) : | $(addsuffix .s,$(external-openurl-prefs_ASMFILES)) + +# Be sure that all .c files are found +external-openurl-prefs-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +external-openurl-prefs-MA_BASEDIRS := $(shell echo $(sort $(dir $(external-openurl-prefs_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +external-openurl-prefs-MA_DIRS := $(foreach dir, $(external-openurl-prefs-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(external-openurl-prefs-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(external-openurl-prefs-MA_DIRS),) + external-openurl-prefs-MA_DIRS := $(shell echo $(external-openurl-prefs-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(external-openurl-prefs-MA_DIRS) +endif + +endif + +external-openurl-prefs-MA_ASSEMBLER ?= $(external-openurl-prefs_ASSEMBLER) + +$(external-openurl-prefs-MA_TARGETS) : external-openurl-prefs-MA_CMD:= $(external-openurl-prefs-MA_ASSEMBLER) + +$(external-openurl-prefs-MA_TARGETS) : CPPFLAGS := $(external-openurl-prefs_CPPFLAGS) +$(external-openurl-prefs-MA_TARGETS) : AFLAGS := $(external-openurl-prefs_AFLAGS) +$(external-openurl-prefs-MA_TARGETS) : $(external-openurl-prefs-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(external-openurl-prefs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(external-openurl-prefs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(external-openurl-prefs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +external-openurl-prefs-link_EXTRA_LDFLAGS := +external-openurl-prefs-link_EXTRA_LIBS := +ifeq (no,yes) + external-openurl-prefs-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + external-openurl-prefs-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + external-openurl-prefs-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +external-openurl-prefs-link_DIRS := $(subst -L ,-L,$(strip $(external-openurl-prefs_LDFLAGS))) +# Filter out only the libdirs and remove -L +external-openurl-prefs-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(external-openurl-prefs-link_DIRS))) +# Add trailing / +external-openurl-prefs-link_DIRS := $(subst //,/,$(addsuffix /,$(external-openurl-prefs-link_DIRS))) +# Add normal linklib path +external-openurl-prefs-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +external-openurl-prefs-link_LIBS := $(addprefix lib,$(addsuffix .a,$(external-openurl-prefs_LIBS) $(external-openurl-prefs-link_EXTRA_LIBS))) +ifeq (yes,yes) + external-openurl-prefs-link_LIBS += startup.o +endif +ifeq (no,yes) + external-openurl-prefs-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +external-openurl-prefs-link_DEPLIBS := $(foreach lib,$(external-openurl-prefs-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(external-openurl-prefs-link_DIRS)))) \ +) + +$(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) : OBJDIR := $(external-openurl-prefs_OBJDIR) +$(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) : OBJS := $(external-openurl-prefs_OBJS) $(external-openurl-prefs_ARCHOBJS) $(USER_OBJS) +$(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) : LDFLAGS := $(strip $(external-openurl-prefs_LDFLAGS) $(external-openurl-prefs-link_EXTRA_LDFLAGS)) +$(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) : LIBS := $(addprefix -l,$(external-openurl-prefs_LIBS) $(external-openurl-prefs-link_EXTRA_LIBS) ) +$(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) : $(external-openurl-prefs_OBJS) $(external-openurl-prefs_ARCHOBJS) $(USER_OBJS) $(external-openurl-prefs-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(external-openurl-prefs_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(external-openurl-prefs_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(external-openurl-prefs_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(external-openurl-prefs_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(external-openurl-prefs_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(external-openurl-prefs_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(external-openurl-prefs_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(external-openurl-prefs_DEPS),) + ifneq (external-openurl-prefs external-openurl-prefs-quick,) + ifneq ($(findstring $(TARGET),external-openurl-prefs external-openurl-prefs-quick),) + -include $(external-openurl-prefs_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(external-openurl-prefs_DEPS) + endif + endif +endif + + +ifneq ($(external-openurl-prefs_OBJS) $(external-openurl-prefs_DEPS) $(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME),) +$(external-openurl-prefs_OBJS) $(external-openurl-prefs_DEPS) $(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) : | $(external-openurl-prefs_OBJDIR) $(external-openurl-prefs_TARGETDIR) +else +$(external-openurl-prefs_OBJS) $(external-openurl-prefs_DEPS) $(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) :: $(external-openurl-prefs_OBJDIR) $(external-openurl-prefs_TARGETDIR) +endif + +GLOB_MKDIRS += $(external-openurl-prefs_OBJDIR) $(external-openurl-prefs_TARGETDIR) + + +external-openurl-prefs-clean : FILES := $(external-openurl-prefs_OBJS) $(external-openurl-prefs_TARGETDIR)/$(external-openurl-prefs_PROGNAME) $(external-openurl-prefs_DEPS) +#MM +external-openurl-prefs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget external-openurl-prefs" + $(Q)$(RM) $(FILES) + + +locale.h: $(SRCDIR)/$(CURDIR)/../locale/OpenURL.pot $(SRCDIR)/$(CURDIR)/locale_h.sd + @$(FLEXCAT) $(SRCDIR)/$(CURDIR)/../locale/OpenURL.pot locale.h=$(SRCDIR)/$(CURDIR)/locale_h.sd + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/Hardware/mmakefile b/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/Hardware/mmakefile new file mode 100644 index 00000000000..eb66981fe3d --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/Hardware/mmakefile @@ -0,0 +1,55 @@ +# Copyright © 2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ADDITIONALICONS := PCITool + +#MM- iconset-Gorilla-additional-icons-aros-clean : iconset-Gorilla-additional-icons-aros-debug-hardware-clean +#MM- iconset-Gorilla-additional-icons-aros-debug : iconset-Gorilla-additional-icons-aros-debug-hardware + +BD_OBJS := $(addprefix $(AROS_DEBUG)/Hardware/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-Gorilla-additional-icons-aros-debug-hardware : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEBUG)/Hardware/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEBUG)/Hardware/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEBUG)/Hardware +else +$(BD_OBJS) :: $(AROS_DEBUG)/Hardware +endif + +GLOB_MKDIRS += $(AROS_DEBUG)/Hardware + + +iconset-Gorilla-additional-icons-aros-debug-hardware-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-additional-icons-aros-debug-hardware-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-additional-icons-aros-debug-hardware iconset-Gorilla-additional-icons-aros-debug-hardware-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/Tests/mmakefile b/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/Tests/mmakefile new file mode 100644 index 00000000000..41bed7f5971 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/Tests/mmakefile @@ -0,0 +1,57 @@ +# Copyright © 2008, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := DualPNG + +#MM- iconset-Gorilla-wbench-icons-aros-clean : iconset-Gorilla-wbench-icons-aros-debug-tests-clean + +#MM- iconset-Gorilla-wbench-icons-aros : iconset-Gorilla-wbench-icons-aros-debug-tests + + +BD_OBJS := $(addprefix $(AROS_TESTS)/Icon/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-Gorilla-wbench-icons-aros-debug-tests : $(BD_OBJS) + +ifeq (,) + +$(AROS_TESTS)/Icon/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_TESTS)/Icon/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_TESTS)/Icon +else +$(BD_OBJS) :: $(AROS_TESTS)/Icon +endif + +GLOB_MKDIRS += $(AROS_TESTS)/Icon + + +iconset-Gorilla-wbench-icons-aros-debug-tests-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-wbench-icons-aros-debug-tests-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-wbench-icons-aros-debug-tests iconset-Gorilla-wbench-icons-aros-debug-tests-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/mmakefile b/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/mmakefile new file mode 100644 index 00000000000..f798fe89620 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/Debug/mmakefile @@ -0,0 +1,98 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := Sashimi +ADDITIONALICONS := Bifteck Hardware Tests + +#MM- iconset-Gorilla-wbench-icons-aros-clean : iconset-Gorilla-wbench-icons-aros-debug-clean +#MM- iconset-Gorilla-additional-icons-aros : iconset-Gorilla-additional-icons-aros-debug-clean + +#MM- iconset-Gorilla-wbench-icons-aros : iconset-Gorilla-wbench-icons-aros-debug +#MM- iconset-Gorilla-additional-icons-aros : iconset-Gorilla-additional-icons-aros-debug + + +BD_OBJS := $(addprefix $(AROS_DEBUG)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-Gorilla-wbench-icons-aros-debug : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEBUG)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEBUG)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEBUG) +else +$(BD_OBJS) :: $(AROS_DEBUG) +endif + +GLOB_MKDIRS += $(AROS_DEBUG) + + +iconset-Gorilla-wbench-icons-aros-debug-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-wbench-icons-aros-debug-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-wbench-icons-aros-debug iconset-Gorilla-wbench-icons-aros-debug-clean + + + +BD_OBJS := $(addprefix $(AROS_DEBUG)/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-Gorilla-additional-icons-aros-debug : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEBUG)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEBUG)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEBUG) +else +$(BD_OBJS) :: $(AROS_DEBUG) +endif + +GLOB_MKDIRS += $(AROS_DEBUG) + + +iconset-Gorilla-additional-icons-aros-debug-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-additional-icons-aros-debug-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-additional-icons-aros-debug iconset-Gorilla-additional-icons-aros-debug-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/mmakefile b/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/mmakefile new file mode 100644 index 00000000000..6ae5d213410 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Medium/AROS/Developer/mmakefile @@ -0,0 +1,97 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := Debug +ADDITIONALICONS := Include Lib + +#MM- iconset-Gorilla-wbench-icons-aros-clean : iconset-Gorilla-wbench-icons-aros-developer-clean +#MM- iconset-Gorilla-additional-icons-aros-clean : iconset-Gorilla-additional-icons-aros-developer-clean +#MM- iconset-Gorilla-wbench-icons-aros : iconset-Gorilla-wbench-icons-aros-developer +#MM- iconset-Gorilla-additional-icons-aros : iconset-Gorilla-additional-icons-aros-developer + + +BD_OBJS := $(addprefix $(AROS_DEVELOPER)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-Gorilla-wbench-icons-aros-developer : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEVELOPER)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEVELOPER)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEVELOPER) +else +$(BD_OBJS) :: $(AROS_DEVELOPER) +endif + +GLOB_MKDIRS += $(AROS_DEVELOPER) + + +iconset-Gorilla-wbench-icons-aros-developer-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-wbench-icons-aros-developer-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-wbench-icons-aros-developer iconset-Gorilla-wbench-icons-aros-developer-clean + + + +BD_OBJS := $(addprefix $(AROS_DEVELOPER)/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-Gorilla-additional-icons-aros-developer : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEVELOPER)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEVELOPER)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEVELOPER) +else +$(BD_OBJS) :: $(AROS_DEVELOPER) +endif + +GLOB_MKDIRS += $(AROS_DEVELOPER) + + +iconset-Gorilla-additional-icons-aros-developer-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-additional-icons-aros-developer-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-additional-icons-aros-developer iconset-Gorilla-additional-icons-aros-developer-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Medium/AROS/Devs/DOSDrivers/mmakefile b/images/IconSets/Gorilla/Icons/Medium/AROS/Devs/DOSDrivers/mmakefile new file mode 100644 index 00000000000..1546946b268 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Medium/AROS/Devs/DOSDrivers/mmakefile @@ -0,0 +1,95 @@ +# Copyright © 2012-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +STORAGEICONS := ICD0 ICD1 IDF0 IDF1 ISO0 PC0 +DEVSICONS := PAR PIPE PRT SER SER0 SER1 + +#MM- iconset-Gorilla-wbench-icons-aros-clean : iconset-Gorilla-wbench-icons-devs-dosdrivers-clean iconset-Gorilla-wbench-icons-storage-dosdrivers-clean +#MM- iconset-Gorilla-wbench-icons-aros : iconset-Gorilla-wbench-icons-devs-dosdrivers iconset-Gorilla-wbench-icons-storage-dosdrivers + + +BD_OBJS := $(addprefix $(AROS_DEVS)/DOSDrivers/, $(addsuffix .info,$(DEVSICONS))) + +#MM +iconset-Gorilla-wbench-icons-devs-dosdrivers : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEVS)/DOSDrivers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEVS)/DOSDrivers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEVS)/DOSDrivers +else +$(BD_OBJS) :: $(AROS_DEVS)/DOSDrivers +endif + +GLOB_MKDIRS += $(AROS_DEVS)/DOSDrivers + + +iconset-Gorilla-wbench-icons-devs-dosdrivers-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-wbench-icons-devs-dosdrivers-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-wbench-icons-devs-dosdrivers iconset-Gorilla-wbench-icons-devs-dosdrivers-clean + + + +BD_OBJS := $(addprefix $(AROSDIR)/Storage/DOSDrivers/, $(addsuffix .info,$(STORAGEICONS))) + +#MM +iconset-Gorilla-wbench-icons-storage-dosdrivers : $(BD_OBJS) + +ifeq (,) + +$(AROSDIR)/Storage/DOSDrivers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROSDIR)/Storage/DOSDrivers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROSDIR)/Storage/DOSDrivers +else +$(BD_OBJS) :: $(AROSDIR)/Storage/DOSDrivers +endif + +GLOB_MKDIRS += $(AROSDIR)/Storage/DOSDrivers + + +iconset-Gorilla-wbench-icons-storage-dosdrivers-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-wbench-icons-storage-dosdrivers-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-wbench-icons-storage-dosdrivers iconset-Gorilla-wbench-icons-storage-dosdrivers-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/Hardware/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/Hardware/mmakefile new file mode 100644 index 00000000000..39e8e9772da --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/Hardware/mmakefile @@ -0,0 +1,55 @@ +# Copyright © 2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ADDITIONALICONS := PCITool + +#MM- iconset-GorillaSmall-additional-icons-aros-clean : iconset-GorillaSmall-additional-icons-aros-debug-hardware-clean +#MM- iconset-GorillaSmall-additional-icons-aros-debug : iconset-GorillaSmall-additional-icons-aros-debug-hardware + +BD_OBJS := $(addprefix $(AROS_DEBUG)/Hardware/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-GorillaSmall-additional-icons-aros-debug-hardware : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEBUG)/Hardware/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEBUG)/Hardware/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEBUG)/Hardware +else +$(BD_OBJS) :: $(AROS_DEBUG)/Hardware +endif + +GLOB_MKDIRS += $(AROS_DEBUG)/Hardware + + +iconset-GorillaSmall-additional-icons-aros-debug-hardware-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-additional-icons-aros-debug-hardware-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-additional-icons-aros-debug-hardware iconset-GorillaSmall-additional-icons-aros-debug-hardware-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/Tests/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/Tests/mmakefile new file mode 100644 index 00000000000..5bd4bb7339f --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/Tests/mmakefile @@ -0,0 +1,57 @@ +# Copyright © 2008, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := DualPNG + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-debug-tests-clean + +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-debug-tests + + +BD_OBJS := $(addprefix $(AROS_TESTS)/Icon/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-debug-tests : $(BD_OBJS) + +ifeq (,) + +$(AROS_TESTS)/Icon/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_TESTS)/Icon/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_TESTS)/Icon +else +$(BD_OBJS) :: $(AROS_TESTS)/Icon +endif + +GLOB_MKDIRS += $(AROS_TESTS)/Icon + + +iconset-GorillaSmall-wbench-icons-aros-debug-tests-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-debug-tests-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-debug-tests iconset-GorillaSmall-wbench-icons-aros-debug-tests-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/mmakefile new file mode 100644 index 00000000000..3879e6c2f36 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Developer/Debug/mmakefile @@ -0,0 +1,98 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := Sashimi +ADDITIONALICONS := Bifteck Hardware Tests + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-debug-clean +#MM- iconset-GorillaSmall-additional-icons-aros : iconset-GorillaSmall-additional-icons-aros-debug-clean + +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-debug +#MM- iconset-GorillaSmall-additional-icons-aros : iconset-GorillaSmall-additional-icons-aros-debug + + +BD_OBJS := $(addprefix $(AROS_DEBUG)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-debug : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEBUG)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEBUG)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEBUG) +else +$(BD_OBJS) :: $(AROS_DEBUG) +endif + +GLOB_MKDIRS += $(AROS_DEBUG) + + +iconset-GorillaSmall-wbench-icons-aros-debug-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-debug-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-debug iconset-GorillaSmall-wbench-icons-aros-debug-clean + + + +BD_OBJS := $(addprefix $(AROS_DEBUG)/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-GorillaSmall-additional-icons-aros-debug : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEBUG)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEBUG)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEBUG) +else +$(BD_OBJS) :: $(AROS_DEBUG) +endif + +GLOB_MKDIRS += $(AROS_DEBUG) + + +iconset-GorillaSmall-additional-icons-aros-debug-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-additional-icons-aros-debug-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-additional-icons-aros-debug iconset-GorillaSmall-additional-icons-aros-debug-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Developer/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Developer/mmakefile new file mode 100644 index 00000000000..b9eeb944508 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Developer/mmakefile @@ -0,0 +1,97 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := Debug +ADDITIONALICONS := Include Lib + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-developer-clean +#MM- iconset-GorillaSmall-additional-icons-aros-clean : iconset-GorillaSmall-additional-icons-aros-developer-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-developer +#MM- iconset-GorillaSmall-additional-icons-aros : iconset-GorillaSmall-additional-icons-aros-developer + + +BD_OBJS := $(addprefix $(AROS_DEVELOPER)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-developer : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEVELOPER)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEVELOPER)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEVELOPER) +else +$(BD_OBJS) :: $(AROS_DEVELOPER) +endif + +GLOB_MKDIRS += $(AROS_DEVELOPER) + + +iconset-GorillaSmall-wbench-icons-aros-developer-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-developer-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-developer iconset-GorillaSmall-wbench-icons-aros-developer-clean + + + +BD_OBJS := $(addprefix $(AROS_DEVELOPER)/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-GorillaSmall-additional-icons-aros-developer : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEVELOPER)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEVELOPER)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEVELOPER) +else +$(BD_OBJS) :: $(AROS_DEVELOPER) +endif + +GLOB_MKDIRS += $(AROS_DEVELOPER) + + +iconset-GorillaSmall-additional-icons-aros-developer-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-additional-icons-aros-developer-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-additional-icons-aros-developer iconset-GorillaSmall-additional-icons-aros-developer-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Devs/DOSDrivers/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Devs/DOSDrivers/mmakefile new file mode 100644 index 00000000000..39d0864a61b --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Devs/DOSDrivers/mmakefile @@ -0,0 +1,95 @@ +# Copyright © 2012-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +STORAGEICONS := ICD0 ICD1 IDF0 IDF1 ISO0 PC0 +DEVSICONS := PAR PIPE PRT SER SER0 SER1 + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-devs-dosdrivers-clean iconset-GorillaSmall-wbench-icons-storage-dosdrivers-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-devs-dosdrivers iconset-GorillaSmall-wbench-icons-storage-dosdrivers + + +BD_OBJS := $(addprefix $(AROS_DEVS)/DOSDrivers/, $(addsuffix .info,$(DEVSICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-devs-dosdrivers : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEVS)/DOSDrivers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEVS)/DOSDrivers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEVS)/DOSDrivers +else +$(BD_OBJS) :: $(AROS_DEVS)/DOSDrivers +endif + +GLOB_MKDIRS += $(AROS_DEVS)/DOSDrivers + + +iconset-GorillaSmall-wbench-icons-devs-dosdrivers-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-devs-dosdrivers-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-devs-dosdrivers iconset-GorillaSmall-wbench-icons-devs-dosdrivers-clean + + + +BD_OBJS := $(addprefix $(AROSDIR)/Storage/DOSDrivers/, $(addsuffix .info,$(STORAGEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-storage-dosdrivers : $(BD_OBJS) + +ifeq (,) + +$(AROSDIR)/Storage/DOSDrivers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROSDIR)/Storage/DOSDrivers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROSDIR)/Storage/DOSDrivers +else +$(BD_OBJS) :: $(AROSDIR)/Storage/DOSDrivers +endif + +GLOB_MKDIRS += $(AROSDIR)/Storage/DOSDrivers + + +iconset-GorillaSmall-wbench-icons-storage-dosdrivers-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-storage-dosdrivers-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-storage-dosdrivers iconset-GorillaSmall-wbench-icons-storage-dosdrivers-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Devs/Monitors/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Devs/Monitors/mmakefile new file mode 100644 index 00000000000..2d2053dd7c7 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Devs/Monitors/mmakefile @@ -0,0 +1,95 @@ +# Copyright © 2010-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +STORAGEICONS := Wrapper +DEVSICONS := ATI IntelGMA NVidia VMWare SAGA + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-devs-monitors-clean iconset-GorillaSmall-wbench-icons-storage-monitors-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-devs-monitors iconset-GorillaSmall-wbench-icons-storage-monitors + + +BD_OBJS := $(addprefix $(AROS_DEVS)/Monitors/, $(addsuffix .info,$(DEVSICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-devs-monitors : $(BD_OBJS) + +ifeq (Wrapper.png,) + +$(AROS_DEVS)/Monitors/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEVS)/Monitors/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/Wrapper.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEVS)/Monitors +else +$(BD_OBJS) :: $(AROS_DEVS)/Monitors +endif + +GLOB_MKDIRS += $(AROS_DEVS)/Monitors + + +iconset-GorillaSmall-wbench-icons-devs-monitors-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-devs-monitors-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-devs-monitors iconset-GorillaSmall-wbench-icons-devs-monitors-clean + + + +BD_OBJS := $(addprefix $(AROSDIR)/Storage/Monitors/, $(addsuffix .info,$(STORAGEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-storage-monitors : $(BD_OBJS) + +ifeq (Wrapper.png,) + +$(AROSDIR)/Storage/Monitors/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROSDIR)/Storage/Monitors/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/Wrapper.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROSDIR)/Storage/Monitors +else +$(BD_OBJS) :: $(AROSDIR)/Storage/Monitors +endif + +GLOB_MKDIRS += $(AROSDIR)/Storage/Monitors + + +iconset-GorillaSmall-wbench-icons-storage-monitors-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-storage-monitors-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-storage-monitors iconset-GorillaSmall-wbench-icons-storage-monitors-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Devs/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Devs/mmakefile new file mode 100644 index 00000000000..9582564129a --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Devs/mmakefile @@ -0,0 +1,95 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +STORAGEICONS := DataTypes DOSDrivers Drivers Keymaps Monitors Printers +DEVSICONS := $(STORAGEICONS) Midi + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-devs-clean iconset-GorillaSmall-wbench-icons-aros-storage-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-devs iconset-GorillaSmall-wbench-icons-aros-storage + + +BD_OBJS := $(addprefix $(AROS_DEVS)/, $(addsuffix .info,$(DEVSICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-devs : $(BD_OBJS) + +ifeq (,) + +$(AROS_DEVS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_DEVS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_DEVS) +else +$(BD_OBJS) :: $(AROS_DEVS) +endif + +GLOB_MKDIRS += $(AROS_DEVS) + + +iconset-GorillaSmall-wbench-icons-aros-devs-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-devs-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-devs iconset-GorillaSmall-wbench-icons-aros-devs-clean + + + +BD_OBJS := $(addprefix $(AROSDIR)/Storage/, $(addsuffix .info,$(STORAGEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-storage : $(BD_OBJS) + +ifeq (,) + +$(AROSDIR)/Storage/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROSDIR)/Storage/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROSDIR)/Storage +else +$(BD_OBJS) :: $(AROSDIR)/Storage +endif + +GLOB_MKDIRS += $(AROSDIR)/Storage + + +iconset-GorillaSmall-wbench-icons-aros-storage-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-storage-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-storage iconset-GorillaSmall-wbench-icons-aros-storage-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Locale/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Locale/mmakefile new file mode 100644 index 00000000000..21db7da8b46 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Locale/mmakefile @@ -0,0 +1,55 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := Help Catalogs Flags Countries Languages + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-locale-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-locale + +BD_OBJS := $(addprefix $(AROS_LOCALE)/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-locale : $(BD_OBJS) + +ifeq (,) + +$(AROS_LOCALE)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_LOCALE)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_LOCALE) +else +$(BD_OBJS) :: $(AROS_LOCALE) +endif + +GLOB_MKDIRS += $(AROS_LOCALE) + + +iconset-GorillaSmall-wbench-icons-aros-locale-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-locale-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-locale iconset-GorillaSmall-wbench-icons-aros-locale-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/Env-Archive/SYS/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/Env-Archive/SYS/mmakefile new file mode 100644 index 00000000000..321f0392863 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/Env-Archive/SYS/mmakefile @@ -0,0 +1,111 @@ +# Copyright © 2004-2014, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := \ + def_Busydisk def_BusyCDROM def_Busyharddisk \ + def_NDOSdisk def_NDOSCDROM def_NDOSharddisk \ + def_CDROM def_Disk def_Drawer def_Harddisk def_RAM \ + def_Project def_Picture def_Text def_Document def_Tool def_Authors \ + def_CSS def_Font def_HTML def_Legal def_Movie def_Music def_Instrument def_PDF def_Patch \ + def_Postscript def_Presentation def_Printer def_ReadMe def_Spreadsheet \ + def_XCF def_Sound def_Keymap def_DVD def_DataType def_RAD def_Installer \ + def_AudioMode def_Zune def_TrueType def_Otag def_A68K def_ADF def_Catalog \ + def_Country def_Home def_MP3ID3 def_MP3 def_SFS def_Lua def_AmiLua \ + def_Archive def_Python def_REXX def_NetworkHost def_UserHome def_Trashcan \ + def_PLS def_M3U def_DT64 def_Pref def_FAT def_MSD def_USB def_MSI def_CDXL def_FLAC \ + def_ELF_EXE_Linux def_PFS def_KickDisk def_KickROM def_Wireless def_LHA \ + def_ANIM def_GIFAnim + +IMGS := def_AppIcon1.png def_AppIcon2.png +APPI := def_AppIcon + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-prefs-envarc \ +#MM iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-appicon + + +BD_OBJS := $(addprefix $(AROS_ENVARC)/SYS/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-prefs-envarc : $(BD_OBJS) + +ifeq (,) + +$(AROS_ENVARC)/SYS/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_ENVARC)/SYS/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_ENVARC)/SYS +else +$(BD_OBJS) :: $(AROS_ENVARC)/SYS +endif + +GLOB_MKDIRS += $(AROS_ENVARC)/SYS + + +iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-prefs-envarc iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-clean + + + +BD_OBJS := $(addprefix $(AROS_ENVARC)/SYS/, $(addsuffix .info,$(APPI))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-appicon : $(BD_OBJS) + +ifeq ($(IMGS),) + +$(AROS_ENVARC)/SYS/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_ENVARC)/SYS/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/$(IMGS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_ENVARC)/SYS +else +$(BD_OBJS) :: $(AROS_ENVARC)/SYS +endif + +GLOB_MKDIRS += $(AROS_ENVARC)/SYS + + +iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-appicon-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-appicon-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-appicon iconset-GorillaSmall-wbench-icons-aros-prefs-envarc-appicon-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/Presets/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/Presets/mmakefile new file mode 100644 index 00000000000..60e09356cd1 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/Presets/mmakefile @@ -0,0 +1,55 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := Patterns Themes + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-prefs-presets-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-prefs-presets + +BD_OBJS := $(addprefix $(AROS_PREFS)/Presets/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-prefs-presets : $(BD_OBJS) + +ifeq (,) + +$(AROS_PREFS)/Presets/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_PREFS)/Presets/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_PREFS)/Presets +else +$(BD_OBJS) :: $(AROS_PREFS)/Presets +endif + +GLOB_MKDIRS += $(AROS_PREFS)/Presets + + +iconset-GorillaSmall-wbench-icons-aros-prefs-presets-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-prefs-presets-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-prefs-presets iconset-GorillaSmall-wbench-icons-aros-prefs-presets-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/mmakefile new file mode 100644 index 00000000000..f11e61755aa --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Prefs/mmakefile @@ -0,0 +1,99 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := Time Locale Serial Presets Input IControl Font ScreenMode Palette Pointer Printer +ADDITIONALICONS := AHI Appearance Boot \ + ReqTools Wanderer Zune Editor Trackdisk PSI Network Trident \ + OpenURL BoingIconBar + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-prefs-clean +#MM- iconset-GorillaSmall-additional-icons-aros-clean : iconset-GorillaSmall-additional-icons-aros-prefs-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-prefs +#MM- iconset-GorillaSmall-additional-icons-aros : iconset-GorillaSmall-additional-icons-aros-prefs + + +BD_OBJS := $(addprefix $(AROS_PREFS)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-prefs : $(BD_OBJS) + +ifeq (,) + +$(AROS_PREFS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_PREFS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_PREFS) +else +$(BD_OBJS) :: $(AROS_PREFS) +endif + +GLOB_MKDIRS += $(AROS_PREFS) + + +iconset-GorillaSmall-wbench-icons-aros-prefs-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-prefs-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-prefs iconset-GorillaSmall-wbench-icons-aros-prefs-clean + + + +BD_OBJS := $(addprefix $(AROS_PREFS)/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-GorillaSmall-additional-icons-aros-prefs : $(BD_OBJS) + +ifeq (,) + +$(AROS_PREFS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_PREFS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_PREFS) +else +$(BD_OBJS) :: $(AROS_PREFS) +endif + +GLOB_MKDIRS += $(AROS_PREFS) + + +iconset-GorillaSmall-additional-icons-aros-prefs-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-additional-icons-aros-prefs-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-additional-icons-aros-prefs iconset-GorillaSmall-additional-icons-aros-prefs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/System/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/System/mmakefile new file mode 100644 index 00000000000..6a9d686ed96 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/System/mmakefile @@ -0,0 +1,139 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := About FixFonts Format FTManager WorkBook Shell +ADDITIONALICONS := SysMon Snoopy Find + +DISKIMAGESRCS := DiskImageGUI-1.png DiskImageGUI-2.png +DISKIMAGEICON := DiskImageGUI + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-system-clean +#MM- iconset-GorillaSmall-additional-icons-aros-clean : iconset-GorillaSmall-additional-icons-aros-system-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-system +#MM- iconset-GorillaSmall-additional-icons-aros : iconset-GorillaSmall-additional-icons-aros-system +#MM iconset-GorillaSmall-additional-icons-aros-system : iconset-GorillaSmall-additional-icons-aros-system-diskimage + + +BD_OBJS := $(addprefix $(AROS_SYSTEM)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-system : $(BD_OBJS) + +ifeq (,) + +$(AROS_SYSTEM)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_SYSTEM)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_SYSTEM) +else +$(BD_OBJS) :: $(AROS_SYSTEM) +endif + +GLOB_MKDIRS += $(AROS_SYSTEM) + + +iconset-GorillaSmall-wbench-icons-aros-system-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-system-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-system iconset-GorillaSmall-wbench-icons-aros-system-clean + + + +BD_OBJS := $(addprefix $(AROS_SYSTEM)/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-GorillaSmall-additional-icons-aros-system : $(BD_OBJS) + +ifeq (,) + +$(AROS_SYSTEM)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_SYSTEM)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_SYSTEM) +else +$(BD_OBJS) :: $(AROS_SYSTEM) +endif + +GLOB_MKDIRS += $(AROS_SYSTEM) + + +iconset-GorillaSmall-additional-icons-aros-system-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-additional-icons-aros-system-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-additional-icons-aros-system iconset-GorillaSmall-additional-icons-aros-system-clean + + + +BD_OBJS := $(addprefix $(AROS_SYSTEM)/, $(addsuffix .info,$(DISKIMAGEICON))) + +#MM +iconset-GorillaSmall-additional-icons-aros-system-diskimage : $(BD_OBJS) + +ifeq ($(DISKIMAGESRCS),) + +$(AROS_SYSTEM)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_SYSTEM)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/$(DISKIMAGESRCS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_SYSTEM) +else +$(BD_OBJS) :: $(AROS_SYSTEM) +endif + +GLOB_MKDIRS += $(AROS_SYSTEM) + + +iconset-GorillaSmall-additional-icons-aros-system-diskimage-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-additional-icons-aros-system-diskimage-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-additional-icons-aros-system-diskimage iconset-GorillaSmall-additional-icons-aros-system-diskimage-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Tools/Commodities/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Tools/Commodities/mmakefile new file mode 100644 index 00000000000..a27b62d722a --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Tools/Commodities/mmakefile @@ -0,0 +1,56 @@ +# Copyright © 2004, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := AltKeyQ ASCIITable AutoPoint Blanker ClickToFront DepthMenu Exchange \ + FKey NoCapsLock Opaque + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-tools-commodities-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-tools-commodities + +BD_OBJS := $(addprefix $(AROS_TOOLS)/Commodities/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-tools-commodities : $(BD_OBJS) + +ifeq (,) + +$(AROS_TOOLS)/Commodities/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_TOOLS)/Commodities/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_TOOLS)/Commodities +else +$(BD_OBJS) :: $(AROS_TOOLS)/Commodities +endif + +GLOB_MKDIRS += $(AROS_TOOLS)/Commodities + + +iconset-GorillaSmall-wbench-icons-aros-tools-commodities-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-tools-commodities-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-tools-commodities iconset-GorillaSmall-wbench-icons-aros-tools-commodities-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Tools/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Tools/mmakefile new file mode 100644 index 00000000000..277fa3a804c --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Tools/mmakefile @@ -0,0 +1,98 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := Calculator HDToolBox InstallAROS Editor Commodities \ + ShowConfig KeyShow InitPrinter PrintFiles GraphicDump +ADDITIONALICONS := WiMP ScreenGrabber SysExplorer BoingIconBar + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-tools-clean +#MM- iconset-GorillaSmall-additional-icons-aros-clean : iconset-GorillaSmall-additional-icons-aros-tools-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-tools +#MM- iconset-GorillaSmall-additional-icons-aros : iconset-GorillaSmall-additional-icons-aros-tools + + +BD_OBJS := $(addprefix $(AROS_TOOLS)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-tools : $(BD_OBJS) + +ifeq (,) + +$(AROS_TOOLS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_TOOLS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_TOOLS) +else +$(BD_OBJS) :: $(AROS_TOOLS) +endif + +GLOB_MKDIRS += $(AROS_TOOLS) + + +iconset-GorillaSmall-wbench-icons-aros-tools-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-tools-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-tools iconset-GorillaSmall-wbench-icons-aros-tools-clean + + + +BD_OBJS := $(addprefix $(AROS_TOOLS)/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-GorillaSmall-additional-icons-aros-tools : $(BD_OBJS) + +ifeq (,) + +$(AROS_TOOLS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_TOOLS)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_TOOLS) +else +$(BD_OBJS) :: $(AROS_TOOLS) +endif + +GLOB_MKDIRS += $(AROS_TOOLS) + + +iconset-GorillaSmall-additional-icons-aros-tools-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-additional-icons-aros-tools-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-additional-icons-aros-tools iconset-GorillaSmall-additional-icons-aros-tools-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/Utilities/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/Utilities/mmakefile new file mode 100644 index 00000000000..868b03448ac --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/Utilities/mmakefile @@ -0,0 +1,55 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := Clock Help Installer More MultiView + +#MM- iconset-GorillaSmall-wbench-icons-aros-clean : iconset-GorillaSmall-wbench-icons-aros-utilities-clean +#MM- iconset-GorillaSmall-wbench-icons-aros : iconset-GorillaSmall-wbench-icons-aros-utilities + +BD_OBJS := $(addprefix $(AROS_UTILITIES)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros-utilities : $(BD_OBJS) + +ifeq (,) + +$(AROS_UTILITIES)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_UTILITIES)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_UTILITIES) +else +$(BD_OBJS) :: $(AROS_UTILITIES) +endif + +GLOB_MKDIRS += $(AROS_UTILITIES) + + +iconset-GorillaSmall-wbench-icons-aros-utilities-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-utilities-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros-utilities iconset-GorillaSmall-wbench-icons-aros-utilities-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/AROS/mmakefile b/images/IconSets/Gorilla/Icons/Small/AROS/mmakefile new file mode 100644 index 00000000000..21fbd4214dd --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/AROS/mmakefile @@ -0,0 +1,105 @@ +# Copyright © 2004-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASEICONS := Developer Devs Fonts \ + Locale Prefs System \ + Tools Utilities +ADDITIONALICONS := Demos \ + Libs Storage \ + WBStartup \ + Rexxc + +#MM- iconset-GorillaSmall-wbench-icons-clean : iconset-GorillaSmall-wbench-icons-aros-clean iconset-GorillaSmall-additional-icons-aros-clean +#MM- iconset-GorillaSmall-wbench-icons : iconset-GorillaSmall-wbench-icons-aros +#MM- iconset-GorillaSmall-wbench-icons : iconset-GorillaSmall-additional-icons-aros + + +BD_OBJS := $(addprefix $(AROSDIR)/, $(addsuffix .info,$(BASEICONS))) + +#MM +iconset-GorillaSmall-wbench-icons-aros : $(BD_OBJS) + +ifeq (,) + +$(AROSDIR)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROSDIR)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROSDIR) +else +$(BD_OBJS) :: $(AROSDIR) +endif + +GLOB_MKDIRS += $(AROSDIR) + + +iconset-GorillaSmall-wbench-icons-aros-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-wbench-icons-aros-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-wbench-icons-aros iconset-GorillaSmall-wbench-icons-aros-clean + + + +BD_OBJS := $(addprefix $(AROSDIR)/, $(addsuffix .info,$(ADDITIONALICONS))) + +#MM +iconset-GorillaSmall-additional-icons-aros : $(BD_OBJS) + +ifeq (,) + +$(AROSDIR)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROSDIR)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROSDIR) +else +$(BD_OBJS) :: $(AROSDIR) +endif + +GLOB_MKDIRS += $(AROSDIR) + + +iconset-GorillaSmall-additional-icons-aros-clean : FILES := $(BD_OBJS) +#MM +iconset-GorillaSmall-additional-icons-aros-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-GorillaSmall-additional-icons-aros iconset-GorillaSmall-additional-icons-aros-clean + + +#MM +iconset-GorillaSmall-wbench-icons-aros-livecd : + @$(ILBMTOICON) $(SRCDIR)/$(CURDIR)/LiveCD.info.src $(SRCDIR)/$(CURDIR)/LiveCD.png $(AROSDIR)/disk.info + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/Computers/mmakefile b/images/IconSets/Gorilla/Icons/Small/Computers/mmakefile new file mode 100644 index 00000000000..95e928234fc --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/Computers/mmakefile @@ -0,0 +1,56 @@ +# Copyright © 2004, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := Amiga Linux Networked_Amiga Networked_Linux Networked_Windows Generic \ + MacOS Networked_Generic Networked_MacOS Windows + +#MM- themes-GorillaSmall-icons-clean : themes-GorillaSmall-icons-computers-clean +#MM- themes-GorillaSmall-icons : themes-GorillaSmall-icons-computers + +BD_OBJS := $(addprefix $(AROS_CONTRIB)/Icons/Gorilla/Computers/, $(addsuffix .info,$(ICONS))) + +#MM +themes-GorillaSmall-icons-computers : $(BD_OBJS) + +ifeq (,) + +$(AROS_CONTRIB)/Icons/Gorilla/Computers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_CONTRIB)/Icons/Gorilla/Computers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_CONTRIB)/Icons/Gorilla/Computers +else +$(BD_OBJS) :: $(AROS_CONTRIB)/Icons/Gorilla/Computers +endif + +GLOB_MKDIRS += $(AROS_CONTRIB)/Icons/Gorilla/Computers + + +themes-GorillaSmall-icons-computers-clean : FILES := $(BD_OBJS) +#MM +themes-GorillaSmall-icons-computers-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: themes-GorillaSmall-icons-computers themes-GorillaSmall-icons-computers-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/Disks/mmakefile b/images/IconSets/Gorilla/Icons/Small/Disks/mmakefile new file mode 100644 index 00000000000..32c34bbd8ba --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/Disks/mmakefile @@ -0,0 +1,73 @@ +# Copyright © 2004, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := CDROM_Amiga Harddisk_Amiga Harddisk_Linux Harddisk_MacOS Harddisk_Windows + +#MM- themes-GorillaSmall-icons-clean : themes-GorillaSmall-icons-disks-clean +#MM- themes-GorillaSmall-icons : themes-GorillaSmall-icons-disks + +BD_OBJS := $(addprefix $(AROS_CONTRIB)/Icons/Gorilla/Disks/, $(addsuffix .info,$(ICONS))) + +#MM +themes-GorillaSmall-icons-disks : $(BD_OBJS) + +ifeq (,) + +$(AROS_CONTRIB)/Icons/Gorilla/Disks/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_CONTRIB)/Icons/Gorilla/Disks/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_CONTRIB)/Icons/Gorilla/Disks +else +$(BD_OBJS) :: $(AROS_CONTRIB)/Icons/Gorilla/Disks +endif + +GLOB_MKDIRS += $(AROS_CONTRIB)/Icons/Gorilla/Disks + + +themes-GorillaSmall-icons-disks-clean : FILES := $(BD_OBJS) +#MM +themes-GorillaSmall-icons-disks-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: themes-GorillaSmall-icons-disks themes-GorillaSmall-icons-disks-clean + + +#MM +iconset-GorillaSmall-icons-aros-livecd : + @$(ILBMTOICON) $(SRCDIR)/$(CURDIR)/CDROM_AROS.info.src $(SRCDIR)/$(CURDIR)/CDROM_AROS.png $(AROSDIR)/disk.info + +#MM +iconset-GorillaSmall-icons-aros-linux-system : + @$(ILBMTOICON) $(SRCDIR)/$(CURDIR)/AROSHarddisk_Linux.info.src $(SRCDIR)/$(CURDIR)/AROSHarddisk_Linux.png $(AROSDIR)/disk.info + +#MM +iconset-GorillaSmall-icons-aros-windows-system : + @$(ILBMTOICON) $(SRCDIR)/$(CURDIR)/AROSHarddisk_Windows.info.src $(SRCDIR)/$(CURDIR)/AROSHarddisk_Windows.png $(AROSDIR)/disk.info + +#MM +iconset-GorillaSmall-icons-aros-darwin-system : + @$(ILBMTOICON) $(SRCDIR)/$(CURDIR)/AROSHarddisk_MacOS.info.src $(SRCDIR)/$(CURDIR)/AROSHarddisk_MacOS.png $(AROSDIR)/disk.info + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/Drawers/mmakefile b/images/IconSets/Gorilla/Icons/Small/Drawers/mmakefile new file mode 100644 index 00000000000..8893fb9dc11 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/Drawers/mmakefile @@ -0,0 +1,55 @@ +# Copyright © 2004, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := Amiga Downloads-2 Downloads Linux Windows + +#MM- themes-GorillaSmall-icons-clean : themes-GorillaSmall-icons-drawers-clean +#MM- themes-GorillaSmall-icons : themes-GorillaSmall-icons-drawers + +BD_OBJS := $(addprefix $(AROS_CONTRIB)/Icons/Gorilla/Drawers/, $(addsuffix .info,$(ICONS))) + +#MM +themes-GorillaSmall-icons-drawers : $(BD_OBJS) + +ifeq (,) + +$(AROS_CONTRIB)/Icons/Gorilla/Drawers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_CONTRIB)/Icons/Gorilla/Drawers/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_CONTRIB)/Icons/Gorilla/Drawers +else +$(BD_OBJS) :: $(AROS_CONTRIB)/Icons/Gorilla/Drawers +endif + +GLOB_MKDIRS += $(AROS_CONTRIB)/Icons/Gorilla/Drawers + + +themes-GorillaSmall-icons-drawers-clean : FILES := $(BD_OBJS) +#MM +themes-GorillaSmall-icons-drawers-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: themes-GorillaSmall-icons-drawers themes-GorillaSmall-icons-drawers-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/Small/Other/mmakefile b/images/IconSets/Gorilla/Icons/Small/Other/mmakefile new file mode 100644 index 00000000000..34db0278bb4 --- /dev/null +++ b/images/IconSets/Gorilla/Icons/Small/Other/mmakefile @@ -0,0 +1,55 @@ +# Copyright © 2004, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := Mouse Pointer + +#MM- themes-GorillaSmall-icons-clean : themes-GorillaSmall-icons-other-clean +#MM- themes-GorillaSmall-icons : themes-GorillaSmall-icons-other + +BD_OBJS := $(addprefix $(AROS_CONTRIB)/Icons/Gorilla/Other/, $(addsuffix .info,$(ICONS))) + +#MM +themes-GorillaSmall-icons-other : $(BD_OBJS) + +ifeq (,) + +$(AROS_CONTRIB)/Icons/Gorilla/Other/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_CONTRIB)/Icons/Gorilla/Other/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_CONTRIB)/Icons/Gorilla/Other +else +$(BD_OBJS) :: $(AROS_CONTRIB)/Icons/Gorilla/Other +endif + +GLOB_MKDIRS += $(AROS_CONTRIB)/Icons/Gorilla/Other + + +themes-GorillaSmall-icons-other-clean : FILES := $(BD_OBJS) +#MM +themes-GorillaSmall-icons-other-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: themes-GorillaSmall-icons-other themes-GorillaSmall-icons-other-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Gorilla/Icons/mmakefile b/images/IconSets/Gorilla/Icons/mmakefile new file mode 100644 index 00000000000..67bb0be77fb --- /dev/null +++ b/images/IconSets/Gorilla/Icons/mmakefile @@ -0,0 +1,16 @@ +# Copyright © 2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- iconset-Gorilla-icons : iconset-Gorilla-wbench-icons iconset-Gorilla-additional-icons +#MM- iconset-GorillaSmall-icons : iconset-GorillaSmall-wbench-icons iconset-GorillaSmall-additional-icons + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Mason/mmakefile b/images/IconSets/Mason/mmakefile new file mode 100644 index 00000000000..9eea119b681 --- /dev/null +++ b/images/IconSets/Mason/mmakefile @@ -0,0 +1,15 @@ +# Copyright © 2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- iconset-Mason-icons : iconset-Mason-wbench-icons iconset-Mason-additional-icons + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Mason/workbench/Developer/Debug/mmakefile b/images/IconSets/Mason/workbench/Developer/Debug/mmakefile new file mode 100644 index 00000000000..c0e8e8b9b24 --- /dev/null +++ b/images/IconSets/Mason/workbench/Developer/Debug/mmakefile @@ -0,0 +1,57 @@ +# $Id$ +# +# Makefile for Mason's workbench icons + +include $(SRCDIR)/config/aros.cfg + +ICONS := Sashimi +ICONDIR := $(AROSDIR)/Developer/Debug + +#MM- iconset-Mason-wbench-icons-aros : iconset-Mason-wbench-icons-aros-debug + + +BD_OBJS := $(addprefix $(ICONDIR)/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-Mason-wbench-icons-aros-debug : $(BD_OBJS) + +ifeq (,) + +$(ICONDIR)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(ICONDIR)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(ICONDIR) +else +$(BD_OBJS) :: $(ICONDIR) +endif + +GLOB_MKDIRS += $(ICONDIR) + + +iconset-Mason-wbench-icons-aros-debug-clean : FILES := $(BD_OBJS) +#MM +iconset-Mason-wbench-icons-aros-debug-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Mason-wbench-icons-aros-debug iconset-Mason-wbench-icons-aros-debug-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/IconSets/Mason/workbench/Developer/mmakefile b/images/IconSets/Mason/workbench/Developer/mmakefile new file mode 100644 index 00000000000..97f5c7c6f5b --- /dev/null +++ b/images/IconSets/Mason/workbench/Developer/mmakefile @@ -0,0 +1,57 @@ +# $Id$ +# +# Makefile for Mason's workbench icons + +include $(SRCDIR)/config/aros.cfg + +ICONS := Debug +ICONDIR := $(AROSDIR)/Developer + +#MM- iconset-Mason-wbench-icons-aros : iconset-Mason-wbench-icons-aros-developer + + +BD_OBJS := $(addprefix $(ICONDIR)/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-Mason-wbench-icons-aros-developer : $(BD_OBJS) + +ifeq (,) + +$(ICONDIR)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(ICONDIR)/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(ICONDIR) +else +$(BD_OBJS) :: $(ICONDIR) +endif + +GLOB_MKDIRS += $(ICONDIR) + + +iconset-Mason-wbench-icons-aros-developer-clean : FILES := $(BD_OBJS) +#MM +iconset-Mason-wbench-icons-aros-developer-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Mason-wbench-icons-aros-developer iconset-Mason-wbench-icons-aros-developer-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/images/Patterns/Misc/mmakefile b/images/Patterns/Misc/mmakefile new file mode 100644 index 00000000000..e28fc92a00c --- /dev/null +++ b/images/Patterns/Misc/mmakefile @@ -0,0 +1,52 @@ +include $(SRCDIR)/config/aros.cfg + +FILES := \ + 70scurve.png \ + amoeba.png \ + arabesq.png \ + arizonabg.png \ + backblue.png \ + bluefuture.png \ + bluegear.png \ + bluejag.png \ + bluestripe.png \ + blueswirl.png \ + greendrp.png \ + greyfuture.png \ + grnswrl.png \ + litemrbl.png \ + rednoise.png \ + ripples.png \ + rock.png \ + starblu.png \ + wp_ivy.png \ + wp_rose10.png + + +workbench-prefs-patterns_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Prefs/Presets/Patterns/Misc +else +setup :: $(AROSDIR)/Prefs/Presets/Patterns/Misc +endif + +GLOB_MKDIRS += $(AROSDIR)/Prefs/Presets/Patterns/Misc + + +.PHONY : workbench-prefs-patterns + +#MM +workbench-prefs-patterns : | $(AROSDIR)/Prefs/Presets/Patterns/Misc + $(foreach file, $(FILES), $(shell $(CP) $(addprefix $(if $(filter /%,$(workbench-prefs-patterns_SRC)),$(workbench-prefs-patterns_SRC),$(SRCDIR)/$(CURDIR)/$(workbench-prefs-patterns_SRC))/, $(file)) $(addprefix $(AROSDIR)/Prefs/Presets/Patterns/Misc/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/cgxbootpic/mmakefile b/rom/cgxbootpic/mmakefile new file mode 100644 index 00000000000..79173b47ecd --- /dev/null +++ b/rom/cgxbootpic/mmakefile @@ -0,0 +1,1671 @@ +# $Id$ +# +# Generate cgxbootpic.library +# +include $(SRCDIR)/config/aros.cfg + +BOOTPIC_IMAGE := bootpic + +#MM kernel-cgxbootpic : linklibs +#MM- kernel-cgxbootpic-kobj : linklibs + +USER_INCLUDES := -I$(GENDIR)/$(CURDIR) + +kernel-cgxbootpic-includes: $(GENDIR)/$(CURDIR)/bootpic_image.h + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-cgxbootpic +#MM kernel-cgxbootpic-quick +#MM kernel-cgxbootpic-makefile +#MM kernel-cgxbootpic-clean + +# ABI targets: +#MM- includes-all : kernel-cgxbootpic-includes +#MM- linklibs-cgxbootpic: kernel-cgxbootpic-linklib +#MM- linklibs-cgxbootpic_rel : kernel-cgxbootpic-linklib +#MM- includes-cgxbootpic: kernel-cgxbootpic-includes +#MM- includes-cgxbootpic_rel : kernel-cgxbootpic-includes +#MM- kernel-cgxbootpic : kernel-cgxbootpic-includes core-linklibs linklibs- +#MM kernel-cgxbootpic-linklib : kernel-cgxbootpic-includes includes- +#MM- kernel-cgxbootpic-quick : kernel-cgxbootpic-includes-quick +#MM kernel-cgxbootpic-includes : kernel-cgxbootpic-makefile kernel-cgxbootpic-includes-dirs \ +#MM includes-generate-deps kernel-cgxbootpic-fd +#MM kernel-cgxbootpic-includes-quick +#MM kernel-cgxbootpic-includes-dirs +#MM kernel-cgxbootpic-fd + +# Library targets +#MM kernel-cgxbootpic-kobj : core-linklibs linklibs- +#MM kernel-cgxbootpic-kobj-quick : + +# Library with ABI targets: +#MM kernel-cgxbootpic-kobj : kernel-cgxbootpic-includes core-linklibs linklibs- +#MM kernel-cgxbootpic-kobj-quick : kernel-cgxbootpic-includes-quick + +# All MetaMake targets defined by this macro +kernel-cgxbootpic_ALLTARGETS := kernel-cgxbootpic kernel-cgxbootpic-quick kernel-cgxbootpic-clean + +ifeq (M,M) +kernel-cgxbootpic_ALLTARGETS += kernel-cgxbootpic-kobj kernel-cgxbootpic-kobj-quick +endif + +ifeq (M,M) +kernel-cgxbootpic_ALLTARGETS += kernel-cgxbootpic-includes \ + kernel-cgxbootpic-includes-quick kernel-cgxbootpic-includes-dirs \ + kernel-cgxbootpic-linklib kernel-cgxbootpic-fd +endif + +.PHONY : $(kernel-cgxbootpic_ALLTARGETS) kernel-cgxbootpic-makefile + +ifeq (cgxbootpic,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-cgxbootpic_DEFNAME := cgxbootpic_ +else + kernel-cgxbootpic_DEFNAME := cgxbootpic +endif +kernel-cgxbootpic_DEFLINKLIBNAME := $(kernel-cgxbootpic_DEFNAME) +ifneq (,) + kernel-cgxbootpic_LINKLIBNAME := +else + kernel-cgxbootpic_LINKLIBNAME = $(kernel-cgxbootpic_DEFLINKLIBNAME) +endif +kernel-cgxbootpic_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-cgxbootpic_DEFCPPFLAGS += -I +endif +kernel-cgxbootpic_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-cgxbootpic_DFLAGS := +else + kernel-cgxbootpic_DFLAGS = $(kernel-cgxbootpic_DEFDFLAGS) +endif +kernel-cgxbootpic_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-cgxbootpic_DXXFLAGS := +else + kernel-cgxbootpic_DXXFLAGS = $(kernel-cgxbootpic_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-cgxbootpic_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-cgxbootpic_DEFDFLAGS)) +kernel-cgxbootpic_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-cgxbootpic_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-cgxbootpic_FUNCINSTR := yes +kernel-cgxbootpic_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-cgxbootpic_DEFDFLAGS)) +kernel-cgxbootpic_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-cgxbootpic_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-cgxbootpic_OBJDIR := +else +kernel-cgxbootpic_OBJDIR := $(OBJDIR)/$(kernel-cgxbootpic_DEFNAME) +endif +ifneq (,) +kernel-cgxbootpic_OBJDIR := $(kernel-cgxbootpic_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-cgxbootpic-makefile := $(kernel-cgxbootpic_OBJDIR)/Makefile.$(kernel-cgxbootpic_DEFNAME)library +kernel-cgxbootpic-genmakefile : $(kernel-cgxbootpic-makefile) + + +kernel-cgxbootpic-genmakefile_OPTS := +ifneq (,) + kernel-cgxbootpic-genmakefile_OPTS += -f + kernel-cgxbootpic-genmakefile_MODNAME := cgxbootpic_ +else + kernel-cgxbootpic-genmakefile_MODNAME := cgxbootpic +endif +kernel-cgxbootpic-genmakefile_TARGET := Makefile.$(kernel-cgxbootpic-genmakefile_MODNAME)library +kernel-cgxbootpic-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-cgxbootpic-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-cgxbootpic-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-cgxbootpic-genmakefile_OPTS += -c + kernel-cgxbootpic-genmakefile_DEPS += + endif +else + kernel-cgxbootpic-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/cgxbootpic.conf + kernel-cgxbootpic-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/cgxbootpic.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-cgxbootpic-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-cgxbootpic-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-cgxbootpic-genmakefile_OPTS += -o + kernel-cgxbootpic-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-cgxbootpic-genmakefile_OPTS += -s +endif +ifneq ($(kernel-cgxbootpic_OBJDIR),) + kernel-cgxbootpic-genmakefile_OPTS += -d $(kernel-cgxbootpic_OBJDIR) + kernel-cgxbootpic-genmakefile_TARGET := $(kernel-cgxbootpic_OBJDIR)/$(kernel-cgxbootpic-genmakefile_TARGET) +endif + +$(kernel-cgxbootpic-genmakefile_TARGET) : OPTS := $(kernel-cgxbootpic-genmakefile_OPTS) +$(kernel-cgxbootpic-genmakefile_TARGET) : MODNAME := cgxbootpic +$(kernel-cgxbootpic-genmakefile_TARGET) : MODTYPE := library +$(kernel-cgxbootpic-genmakefile_TARGET) : $(kernel-cgxbootpic-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-cgxbootpic-makefile),) +$(kernel-cgxbootpic-makefile) : | $(kernel-cgxbootpic_OBJDIR) +else +$(kernel-cgxbootpic-makefile) :: $(kernel-cgxbootpic_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-cgxbootpic_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-cgxbootpic_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-cgxbootpic-makefile) + +kernel-cgxbootpic_DEFMODDIR := $($(kernel-cgxbootpic_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-cgxbootpic_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-cgxbootpic_DEFMODDIR) +endif +ifneq (,) + kernel-cgxbootpic_MODDIR := +else + kernel-cgxbootpic_MODDIR := $(kernel-cgxbootpic_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-cgxbootpic_INCDIR := +else +kernel-cgxbootpic_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-cgxbootpic_LIBDEFSINC := $(kernel-cgxbootpic_OBJDIR)/include/$(kernel-cgxbootpic_DEFNAME)_libdefs.h +kernel-cgxbootpic_DEFLIBDEFSINC := $(kernel-cgxbootpic_OBJDIR)/include/$(kernel-cgxbootpic_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-cgxbootpic-includes-quick : kernel-cgxbootpic-includes +kernel-cgxbootpic-includes : $(addprefix $(GENINCDIR)/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-cgxbootpic_INCDIR)/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) \ + $(kernel-cgxbootpic_LIBDEFSINC) $(kernel-cgxbootpic_DEFLIBDEFSINC) + +ifneq ($($(kernel-cgxbootpic_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-cgxbootpic-includes_MODNAME := cgxbootpic_ +else + kernel-cgxbootpic-includes_MODNAME := cgxbootpic +endif + +ifneq ($($(kernel-cgxbootpic-includes_MODNAME)_INCLUDES),) + +kernel-cgxbootpic-includes_TARGETS := $($(kernel-cgxbootpic-includes_MODNAME)_INCLUDES) + +kernel-cgxbootpic-includes_DEPS := $(GENMODULE) +kernel-cgxbootpic-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-cgxbootpic-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-cgxbootpic-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-cgxbootpic-includes_OPTS += -c + kernel-cgxbootpic-includes_DEPS += + endif +else + kernel-cgxbootpic-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/cgxbootpic.conf + kernel-cgxbootpic-includes_DEPS += $(SRCDIR)/$(CURDIR)/cgxbootpic.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-cgxbootpic-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-cgxbootpic-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-cgxbootpic-includes_OPTS += -o + kernel-cgxbootpic-includes_DEPS += + endif +endif +ifneq (,) + kernel-cgxbootpic-includes_OPTS += -s +endif +ifneq ($(kernel-cgxbootpic_OBJDIR)/include,) + kernel-cgxbootpic-includes_OPTS += -d $(kernel-cgxbootpic_OBJDIR)/include + kernel-cgxbootpic-includes_TARGETS := $(addprefix $(kernel-cgxbootpic_OBJDIR)/include/,$(kernel-cgxbootpic-includes_TARGETS)) + kernel-cgxbootpic-includes_GENINCFLAG=$(kernel-cgxbootpic_OBJDIR)/include/.cgxbootpic.library-includes +else + kernel-cgxbootpic-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.cgxbootpic.library-includes +endif + +$(kernel-cgxbootpic-includes_TARGETS) : $(kernel-cgxbootpic-includes_DEPS) $(kernel-cgxbootpic-includes_GENINCFLAG) + +$(kernel-cgxbootpic-includes_GENINCFLAG) : OPTS := $(kernel-cgxbootpic-includes_OPTS) +$(kernel-cgxbootpic-includes_GENINCFLAG) : MODNAME := cgxbootpic +$(kernel-cgxbootpic-includes_GENINCFLAG) : MODTYPE := library +$(kernel-cgxbootpic-includes_GENINCFLAG) : $(kernel-cgxbootpic-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-cgxbootpic_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) : | $(kernel-cgxbootpic_OBJDIR)/cgxbootpic_geninc + +$(kernel-cgxbootpic_OBJDIR)/cgxbootpic_geninc : COPYSRCDIR := $(kernel-cgxbootpic_OBJDIR)/include +$(kernel-cgxbootpic_OBJDIR)/cgxbootpic_geninc : TGTDIR := $(GENINCDIR) +$(kernel-cgxbootpic_OBJDIR)/cgxbootpic_geninc : FILES := $($(kernel-cgxbootpic_DEFNAME)_INCLUDES) +$(kernel-cgxbootpic_OBJDIR)/cgxbootpic_geninc : $(addprefix $(kernel-cgxbootpic_OBJDIR)/include/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-cgxbootpic_OBJDIR)/include + +$(addprefix $(kernel-cgxbootpic_INCDIR)/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) : | $(kernel-cgxbootpic_OBJDIR)/cgxbootpic_incs + +$(kernel-cgxbootpic_OBJDIR)/cgxbootpic_incs : COPYSRCDIR := $(kernel-cgxbootpic_OBJDIR)/include +$(kernel-cgxbootpic_OBJDIR)/cgxbootpic_incs : TGTDIR := $(kernel-cgxbootpic_INCDIR) +$(kernel-cgxbootpic_OBJDIR)/cgxbootpic_incs : FILES := $($(kernel-cgxbootpic_DEFNAME)_INCLUDES) +$(kernel-cgxbootpic_OBJDIR)/cgxbootpic_incs : $(addprefix $(kernel-cgxbootpic_OBJDIR)/include/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-cgxbootpic_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-cgxbootpic_DEFNAME)_INCLUDES)))) + +TMPcgxbootpic_INCDIRS := \ + $(kernel-cgxbootpic_OBJDIR)/include $(addprefix $(kernel-cgxbootpic_OBJDIR)/include/,$(kernel-cgxbootpic_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-cgxbootpic_INCDIRS)) \ + $(kernel-cgxbootpic_INCDIR) $(addprefix $(kernel-cgxbootpic_INCDIR)/,$(kernel-cgxbootpic_INCDIRS)) + +ifneq (kernel-cgxbootpic-includes-dirs,) +kernel-cgxbootpic-includes-dirs : | $(TMPcgxbootpic_INCDIRS) +else +kernel-cgxbootpic-includes-dirs :: $(TMPcgxbootpic_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPcgxbootpic_INCDIRS) + + +endif + +endif + + +kernel-cgxbootpic-genlibdefs_OPTS := +ifneq (,) + kernel-cgxbootpic-genlibdefs_OPTS += -f + kernel-cgxbootpic-genlibdefs_MODNAME := cgxbootpic_ +else + kernel-cgxbootpic-genlibdefs_MODNAME := cgxbootpic +endif +kernel-cgxbootpic-genlibdefs_TARGET := $(kernel-cgxbootpic-genlibdefs_MODNAME)_libdefs.h +kernel-cgxbootpic-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-cgxbootpic-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-cgxbootpic-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-cgxbootpic-genlibdefs_OPTS += -c + kernel-cgxbootpic-genlibdefs_DEPS += + endif +else + kernel-cgxbootpic-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/cgxbootpic.conf + kernel-cgxbootpic-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/cgxbootpic.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-cgxbootpic-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-cgxbootpic-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-cgxbootpic-genlibdefs_OPTS += -o + kernel-cgxbootpic-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-cgxbootpic-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-cgxbootpic_OBJDIR)/include,) + kernel-cgxbootpic-genlibdefs_OPTS += -d $(kernel-cgxbootpic_OBJDIR)/include + kernel-cgxbootpic-genlibdefs_TARGET := $(kernel-cgxbootpic_OBJDIR)/include/$(kernel-cgxbootpic-genlibdefs_TARGET) +endif +ifneq (,) + kernel-cgxbootpic-genlibdefs_OPTS += -v +endif + +$(kernel-cgxbootpic-genlibdefs_TARGET) : OPTS := $(kernel-cgxbootpic-genlibdefs_OPTS) +$(kernel-cgxbootpic-genlibdefs_TARGET) : MODNAME := cgxbootpic +$(kernel-cgxbootpic-genlibdefs_TARGET) : MODTYPE := library +$(kernel-cgxbootpic-genlibdefs_TARGET) : $(kernel-cgxbootpic-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-cgxbootpic_DEFLIBDEFSINC) : FILENAME := $(kernel-cgxbootpic_LIBDEFSINC) +$(kernel-cgxbootpic_DEFLIBDEFSINC) : $(kernel-cgxbootpic_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-cgxbootpic_LIBDEFSINC) $(kernel-cgxbootpic_DEFLIBDEFSINC) : | $(kernel-cgxbootpic_OBJDIR)/include + +ifneq (kernel-cgxbootpic-includes-dirs,) +kernel-cgxbootpic-includes-dirs : | $(kernel-cgxbootpic_OBJDIR)/include +else +kernel-cgxbootpic-includes-dirs :: $(kernel-cgxbootpic_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-cgxbootpic_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-cgxbootpic-genmodfiles_OPTS := +ifneq (,) + kernel-cgxbootpic-genmodfiles_OPTS += -f + kernel-cgxbootpic-genmodfiles_MODNAME := cgxbootpic_ +else + kernel-cgxbootpic-genmodfiles_MODNAME := cgxbootpic +endif +kernel-cgxbootpic-genmodfiles_GENTARGETS := $($(kernel-cgxbootpic-genmodfiles_MODNAME)_STARTFILES) $($(kernel-cgxbootpic-genmodfiles_MODNAME)_ENDFILES) +kernel-cgxbootpic-genmodfiles_STUBTARGETS := $($(kernel-cgxbootpic-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-cgxbootpic-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-cgxbootpic-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-cgxbootpic-genmodfiles_GENTARGETS)) +kernel-cgxbootpic-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-cgxbootpic-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-cgxbootpic-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-cgxbootpic-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-cgxbootpic-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-cgxbootpic-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-cgxbootpic-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-cgxbootpic-genmodfiles_OPTS += -c + kernel-cgxbootpic-genmodfiles_DEPS += + endif +else + kernel-cgxbootpic-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/cgxbootpic.conf + kernel-cgxbootpic-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/cgxbootpic.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-cgxbootpic-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-cgxbootpic-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-cgxbootpic-genmodfiles_OPTS += -o + kernel-cgxbootpic-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-cgxbootpic-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-cgxbootpic_OBJDIR),) + kernel-cgxbootpic-genmodfiles_OPTS += -d $(kernel-cgxbootpic_OBJDIR) + kernel-cgxbootpic-genmodfiles_TARGETDIR := $(shell echo $(kernel-cgxbootpic_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-cgxbootpic-genmodfiles_GENTARGETS := $(addprefix $(kernel-cgxbootpic-genmodfiles_TARGETDIR)/,$(kernel-cgxbootpic-genmodfiles_GENTARGETS)) + kernel-cgxbootpic-genmodfiles_GENFILEFLAG=$(kernel-cgxbootpic-genmodfiles_TARGETDIR)/.cgxbootpic.library-genfiles +else + kernel-cgxbootpic-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.cgxbootpic.library-genfiles +endif +ifneq ($(kernel-cgxbootpic_OBJDIR)/linklib,) + kernel-cgxbootpic-genmodfiles_OPTS += -l $(kernel-cgxbootpic_OBJDIR)/linklib + kernel-cgxbootpic-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-cgxbootpic_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-cgxbootpic-genmodfiles_STUBTARGETS := $(addprefix $(kernel-cgxbootpic-genmodfiles_STUBTARGETDIR)/,$(kernel-cgxbootpic-genmodfiles_STUBTARGETS)) + kernel-cgxbootpic-genmodfiles_TARGETDIRS += $(kernel-cgxbootpic_OBJDIR)/linklib +else +ifneq ($(kernel-cgxbootpic_OBJDIR),) + kernel-cgxbootpic-genmodfiles_STUBTARGETS := $(addprefix $(kernel-cgxbootpic-genmodfiles_TARGETDIR)/,$(kernel-cgxbootpic-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-cgxbootpic-genmodfiles_TARGETS := $(kernel-cgxbootpic-genmodfiles_GENTARGETS) $(kernel-cgxbootpic-genmodfiles_STUBTARGETS) +ifneq ($(kernel-cgxbootpic-genmodfiles_TARGETDIRS),) +$(kernel-cgxbootpic-genmodfiles_TARGETS) : | $(kernel-cgxbootpic-genmodfiles_TARGETDIRS) +endif + +$(kernel-cgxbootpic-genmodfiles_TARGETS) : $(kernel-cgxbootpic-genmodfiles_DEPS) $(kernel-cgxbootpic-genmodfiles_GENFILEFLAG) + +$(kernel-cgxbootpic-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-cgxbootpic-genmodfiles_OPTS) +$(kernel-cgxbootpic-genmodfiles_GENFILEFLAG) : MODNAME := cgxbootpic +$(kernel-cgxbootpic-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(kernel-cgxbootpic-genmodfiles_GENFILEFLAG) : $(kernel-cgxbootpic-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-cgxbootpic-genmodfiles_GENFILEFLAG) : $(kernel-cgxbootpic_DEFLIBDEFSINC) $(kernel-cgxbootpic-makefile) + + +ifneq ($(kernel-cgxbootpic-genmodfiles_GENFILEFLAG),) +$(kernel-cgxbootpic-genmodfiles_GENFILEFLAG) : | $(kernel-cgxbootpic_OBJDIR)/linklib +else +$(kernel-cgxbootpic-genmodfiles_GENFILEFLAG) :: $(kernel-cgxbootpic_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-cgxbootpic_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-cgxbootpic_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-cgxbootpic_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-cgxbootpic-fd : $(kernel-cgxbootpic_FDDIR)/cgxbootpic_lib.fd + + +TMP_TARGET := cgxbootpic_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/cgxbootpic.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/cgxbootpic.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-cgxbootpic_FDDIR),) + TMP_OPTS += -d $(kernel-cgxbootpic_FDDIR) + TMP_TARGET := $(kernel-cgxbootpic_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := cgxbootpic +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-cgxbootpic_FDDIR)/cgxbootpic_lib.fd : | $(kernel-cgxbootpic_FDDIR) + + +ifneq (kernel-cgxbootpic-fd-setup,) +kernel-cgxbootpic-fd-setup : | $(kernel-cgxbootpic_FDDIR) +else +kernel-cgxbootpic-fd-setup :: $(kernel-cgxbootpic_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-cgxbootpic_FDDIR) + +endif + +## Compilation +## +kernel-cgxbootpic_FILES := cgxbootpic_init renderbootpic +kernel-cgxbootpic_OBJCFILES := +kernel-cgxbootpic_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-cgxbootpic_LIBFILES := +kernel-cgxbootpic_LIBS := + +kernel-cgxbootpic_FDIRS := $(sort $(dir $(kernel-cgxbootpic_FILES))) + +kernel-cgxbootpic_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-cgxbootpic_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-cgxbootpic_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-cgxbootpic_FILTERARCH = $(filter-out $(call kernel-cgxbootpic_MATCHARCH,$(1),$(2)),$(2)) +kernel-cgxbootpic_STARTFILES := $(addprefix $(kernel-cgxbootpic_OBJDIR)/,$($(kernel-cgxbootpic_DEFNAME)_STARTFILES)) +kernel-cgxbootpic_ENDFILES := $(addprefix $(kernel-cgxbootpic_OBJDIR)/,$($(kernel-cgxbootpic_DEFNAME)_ENDFILES)) + +kernel-cgxbootpic_ARCHOBJS := $(wildcard $(kernel-cgxbootpic_OBJDIR)/arch/*.o) +kernel-cgxbootpic_LIBARCHOBJS := $(wildcard $(kernel-cgxbootpic_OBJDIR)/linklib/arch/*.o) +kernel-cgxbootpic_ARCHFILES := $(basename $(notdir $(kernel-cgxbootpic_ARCHOBJS))) +kernel-cgxbootpic_LIBARCHFILES := $(basename $(notdir $(kernel-cgxbootpic_LIBARCHOBJS))) +kernel-cgxbootpic_C_NARCHFILES := $(call kernel-cgxbootpic_FILTERARCH,$(kernel-cgxbootpic_ARCHFILES),$(kernel-cgxbootpic_FILES)) +kernel-cgxbootpic_CXX_NARCHFILES := $(call kernel-cgxbootpic_FILTERARCH,$(kernel-cgxbootpic_ARCHFILES),$(kernel-cgxbootpic_CXXFILES)) +kernel-cgxbootpic_OBJC_NARCHFILES := $(call kernel-cgxbootpic_FILTERARCH,$(kernel-cgxbootpic_ARCHFILES),$(kernel-cgxbootpic_OBJCFILES)) +kernel-cgxbootpic_NLIBARCHFILES := $(call kernel-cgxbootpic_FILTERARCH,$(kernel-cgxbootpic_LIBARCHFILES),$(kernel-cgxbootpic_LIBFILES)) +kernel-cgxbootpic_ARCHNLIBFILES := $(call kernel-cgxbootpic_FILTERARCH,$(kernel-cgxbootpic_LIBFILES),$(kernel-cgxbootpic_LIBARCHFILES)) + +kernel-cgxbootpic_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-cgxbootpic_OBJDIR)/include -include $(kernel-cgxbootpic_DEFLIBDEFSINC)) +ifneq (,) +kernel-cgxbootpic_CPPFLAGS += -I +endif +kernel-cgxbootpic_LINKLIBCPPFLAGS := $(kernel-cgxbootpic_CPPFLAGS) +kernel-cgxbootpic_CPPFLAGS += $(strip $($(kernel-cgxbootpic_DEFNAME)_CPPFLAGS)) +kernel-cgxbootpic_LINKLIBCPPFLAGS += $(strip $($(kernel-cgxbootpic_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-cgxbootpic_CFLAGS := $(strip $(CFLAGS) $($(kernel-cgxbootpic_DEFNAME)_CFLAGS)) +kernel-cgxbootpic_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-cgxbootpic_DEFNAME)_LINKLIBCFLAGS)) +kernel-cgxbootpic_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-cgxbootpic_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-cgxbootpic_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-cgxbootpic_CFLAGS := $(strip $(kernel-cgxbootpic_LTOFLAGS) $(kernel-cgxbootpic_CFLAGS)) +kernel-cgxbootpic_LINKLIBCFLAGS := $(strip $(kernel-cgxbootpic_LTOFLAGS) $(kernel-cgxbootpic_LINKLIBCFLAGS)) +kernel-cgxbootpic_CXXFLAGS := $(strip $(kernel-cgxbootpic_LTOFLAGS) $(kernel-cgxbootpic_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-cgxbootpic_SUBSTNULL := +kernel-cgxbootpic_SUBSTSPACE := $(kernel-cgxbootpic_SUBSTNULL) # +kernel-cgxbootpic_SUBSTCOMMA := , +kernel-cgxbootpic_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-cgxbootpic_SUBSTSPACE),$(kernel-cgxbootpic_SUBSTCOMMA),$(strip $($(kernel-cgxbootpic_DEFNAME)_STARTFILES)))) +kernel-cgxbootpic_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-cgxbootpic_CFLAGS := $(strip $(kernel-cgxbootpic_INSTRFUNCFLAGS) $(kernel-cgxbootpic_CFLAGS)) +kernel-cgxbootpic_CXXFLAGS := $(strip $(kernel-cgxbootpic_INSTRFUNCFLAGS) $(kernel-cgxbootpic_CXXFLAGS)) +kernel-cgxbootpic_LIBS += $(kernel-cgxbootpic_INSTRFUNCLIBS) +endif +endif +kernel-cgxbootpic_DFLAGS := $(strip $(kernel-cgxbootpic_DFLAGS) $($(kernel-cgxbootpic_DEFNAME)_DFLAGS)) +kernel-cgxbootpic_LINKLIBDFLAGS := $(strip $(kernel-cgxbootpic_DFLAGS) $($(kernel-cgxbootpic_DEFNAME)_LINKLIBDFLAGS)) +kernel-cgxbootpic_DXXFLAGS := $(strip $(kernel-cgxbootpic_DXXFLAGS) $($(kernel-cgxbootpic_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + kernel-cgxbootpic_LIBSUFFIX := +else + kernel-cgxbootpic_LIBSUFFIX := .library +endif + +ifeq (,) +kernel-cgxbootpic_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-cgxbootpic_LIBDIR := +endif + +ifeq (M,M) +kernel-cgxbootpic_LINKLIBCFILES := $(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$($(kernel-cgxbootpic_DEFNAME)_LINKLIBFILES)) +kernel-cgxbootpic_LINKLIBAFILES := $(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$($(kernel-cgxbootpic_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-cgxbootpic_DEFNAME)_LINKLIBFILES) $($(kernel-cgxbootpic_DEFNAME)_LINKLIBAFILES) $(kernel-cgxbootpic_ARCHNLIBFILES)),) + kernel-cgxbootpic_LINKLIB := +else + kernel-cgxbootpic_LINKLIB := $(kernel-cgxbootpic_LIBDIR)/libcgxbootpic$(kernel-cgxbootpic_LIBSUFFIX).a + ifneq (cgxbootpic,$(kernel-cgxbootpic_LINKLIBNAME)) + kernel-cgxbootpic_LINKLIB += $(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)$(kernel-cgxbootpic_LIBSUFFIX).a + endif +endif +kernel-cgxbootpic_LINKLIBFILES := $(kernel-cgxbootpic_LINKLIBCFILES) $(kernel-cgxbootpic_LINKLIBAFILES) + +kernel-cgxbootpic_RELLINKLIBCFILES := $(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$($(kernel-cgxbootpic_DEFNAME)_RELLINKLIBFILES)) +kernel-cgxbootpic_RELLINKLIBAFILES := $(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$($(kernel-cgxbootpic_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-cgxbootpic_DEFNAME)_RELLINKLIBFILES) $($(kernel-cgxbootpic_DEFNAME)_RELLINKLIBAFILES) $(kernel-cgxbootpic_ARCHNLIBFILES)),) + kernel-cgxbootpic_RELLINKLIB := +else + kernel-cgxbootpic_RELLINKLIB := $(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_DEFNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a + ifneq (cgxbootpic,$(kernel-cgxbootpic_LINKLIBNAME)) + kernel-cgxbootpic_RELLINKLIB += $(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a + endif +endif +kernel-cgxbootpic_RELLINKLIBFILES := $(kernel-cgxbootpic_RELLINKLIBCFILES) $(kernel-cgxbootpic_RELLINKLIBAFILES) +endif + +kernel-cgxbootpic_ENDOBJS := $(addsuffix .o,$(kernel-cgxbootpic_ENDFILES)) +kernel-cgxbootpic_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(notdir $(kernel-cgxbootpic_NLIBARCHFILES))) $(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/arch/,$(notdir $(kernel-cgxbootpic_ARCHNLIBFILES))) $(kernel-cgxbootpic_LINKLIBFILES)) \ + +kernel-cgxbootpic_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(notdir $(kernel-cgxbootpic_NLIBARCHFILES))) $(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/arch/,$(notdir $(kernel-cgxbootpic_ARCHNLIBFILES))) $(kernel-cgxbootpic_RELLINKLIBFILES)) \ + +$(kernel-cgxbootpic_LINKLIBFILES) $(kernel-cgxbootpic_RELLINKLIBFILES) : | $(kernel-cgxbootpic_OBJDIR)/linklib +$(kernel-cgxbootpic_LINKLIBOBJS) $(kernel-cgxbootpic_RELLINKLIBOBJS) : | $(kernel-cgxbootpic_OBJDIR)/linklib + +kernel-cgxbootpic_CCFILES := $(kernel-cgxbootpic_C_NARCHFILES) +kernel-cgxbootpic_TARGETCCFILES := $(strip $(kernel-cgxbootpic_STARTFILES) $(kernel-cgxbootpic_ENDFILES)) +kernel-cgxbootpic_LINKLIBCCFILES := $(strip $(kernel-cgxbootpic_NLIBARCHFILES) $(kernel-cgxbootpic_LINKLIBCFILES) $(kernel-cgxbootpic_RELLINKLIBCFILES)) +kernel-cgxbootpic_LINKLIBCCGENFILES := $(strip $(kernel-cgxbootpic_LINKLIBCFILES) $(kernel-cgxbootpic_RELLINKLIBCFILES)) + + +kernel-cgxbootpic_CXXABSBASENAMES := $(foreach kernel-cgxbootpic_CXXBASE,$(kernel-cgxbootpic_CXX_NARCHFILES),$(if $(filter /%,$(kernel-cgxbootpic_CXXBASE)),$(kernel-cgxbootpic_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-cgxbootpic_CXXBASE)))) + +ifneq ($(kernel-cgxbootpic_CXXABSBASENAMES),) + +kernel-cgxbootpic_CXXBASENAMES := $(basename $(kernel-cgxbootpic_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-cgxbootpic_MCXX_FILES := $(strip $(foreach kernel-cgxbootpic_CXXBASE,$(kernel-cgxbootpic_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-cgxbootpic_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-cgxbootpic_EXT),$(kernel-cgxbootpic_CXXBASE))))))) + +ifeq (,) +kernel-cgxbootpic_MCXX_SRCWILDCARD := % +else +kernel-cgxbootpic_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-cgxbootpic_OBJDIR),) + kernel-cgxbootpic_CXXTARGETS := $(notdir $(kernel-cgxbootpic_CXXBASENAMES:=.o)) + kernel-cgxbootpic_CXXDTARGETS := $(notdir $(kernel-cgxbootpic_CXXBASENAMES:=.d)) + kernel-cgxbootpic_MCXX_WILDCARD := % +else + kernel-cgxbootpic_CXXTARGETS := $(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(kernel-cgxbootpic_CXXBASENAMES:=.o))) + kernel-cgxbootpic_CXXDTARGETS := $(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(kernel-cgxbootpic_CXXBASENAMES:=.d))) + kernel-cgxbootpic_MCXX_WILDCARD := $(kernel-cgxbootpic_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-cgxbootpic_CXXTARGETS) $(kernel-cgxbootpic_CXXDTARGETS) : | $(kernel-cgxbootpic_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-cgxbootpic_MCXX_CPPFLAGS := $(kernel-cgxbootpic_CPPFLAGS) +kernel-cgxbootpic_CXXFLAGS := $(kernel-cgxbootpic_CXXFLAGS) +ifeq ($(kernel-cgxbootpic_DXXFLAGS),) + kernel-cgxbootpic_DXXFLAGS := $(kernel-cgxbootpic_CXXFLAGS) +else + kernel-cgxbootpic_DXXFLAGS := $(kernel-cgxbootpic_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-cgxbootpic_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-cgxbootpic_STRIP ?= $(HOST_STRIP) + kernel-cgxbootpic_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-cgxbootpic_CXXCMD:=$(HOST_CXX) + kernel-cgxbootpic_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-cgxbootpic_MCXX_CPPFLAGS) $(kernel-cgxbootpic_MCXX_EXTRA_CPPFLAGS)) + kernel-cgxbootpic_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-cgxbootpic_CXXFLAGS)) + kernel-cgxbootpic_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-cgxbootpic_DXXFLAGS)) + kernel-cgxbootpic_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-cgxbootpic_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-cgxbootpic_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-cgxbootpic_STRIP ?= $(TARGET_STRIP) + kernel-cgxbootpic_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-cgxbootpic_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-cgxbootpic_MCXX_CPPFLAGS := $(strip $(kernel-cgxbootpic_MCXX_CPPFLAGS) $(kernel-cgxbootpic_MCXX_EXTRA_CPPFLAGS)) + kernel-cgxbootpic_CXXFLAGS := $(strip $(kernel-cgxbootpic_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-cgxbootpic_DXXFLAGS := $(kernel-cgxbootpic_DXXFLAGS) + kernel-cgxbootpic_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-cgxbootpic_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-cgxbootpic_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-cgxbootpic_STRIP ?= $(ECHO) >/dev/null + kernel-cgxbootpic_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-cgxbootpic_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-cgxbootpic_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-cgxbootpic_MCXX_CPPFLAGS) $(kernel-cgxbootpic_MCXX_EXTRA_CPPFLAGS)) + kernel-cgxbootpic_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-cgxbootpic_CXXFLAGS)) + kernel-cgxbootpic_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-cgxbootpic_DXXFLAGS)) + kernel-cgxbootpic_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-cgxbootpic_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-cgxbootpic_CXXCMD) $(kernel-cgxbootpic_CXXIQUOTE) $(dir $(2)) $(kernel-cgxbootpic_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_CXXIQUOTE) . $(kernel-cgxbootpic_CXXIQUOTE_END) $(strip $(kernel-cgxbootpic_CXXFLAGS) $(kernel-cgxbootpic_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-cgxbootpic_CXXCMD) $(kernel-cgxbootpic_CXXIQUOTE) $(dir $(2)) $(kernel-cgxbootpic_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_CXXIQUOTE) . $(kernel-cgxbootpic_CXXIQUOTE_END) $(strip $(kernel-cgxbootpic_CXXFLAGS) $(kernel-cgxbootpic_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-cgxbootpic_CXXCMD) $(kernel-cgxbootpic_CXXIQUOTE) $(dir $(2)) $(kernel-cgxbootpic_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_CXXIQUOTE) . $(kernel-cgxbootpic_CXXIQUOTE_END) $(strip $(kernel-cgxbootpic_CXXFLAGS) $(kernel-cgxbootpic_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-cgxbootpic_CXXCMD)" $(MKDEPEND) $(strip $(kernel-cgxbootpic_DXXFLAGS) $(kernel-cgxbootpic_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-cgxbootpic_OBJDIR),) + $(foreach kernel-cgxbootpic_CXXFILE,$(kernel-cgxbootpic_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-cgxbootpic_CXXFILE))),$(kernel-cgxbootpic_CXXFILE)))) +else + $(foreach kernel-cgxbootpic_CXXFILE,$(kernel-cgxbootpic_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(basename $(kernel-cgxbootpic_CXXFILE)))),$(kernel-cgxbootpic_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-cgxbootpic_OBJC_NARCHFILES),) + +ifeq (,) +kernel-cgxbootpic_MOBJC_SRCWILDCARD := % +else +kernel-cgxbootpic_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-cgxbootpic_OBJDIR),) + kernel-cgxbootpic_MOBJC_TARGETS := $(addsuffix .o,$(kernel-cgxbootpic_OBJC_NARCHFILES)) + kernel-cgxbootpic_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-cgxbootpic_OBJC_NARCHFILES)) + kernel-cgxbootpic_MOBJC_WILDCARD := % +else + kernel-cgxbootpic_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(kernel-cgxbootpic_OBJC_NARCHFILES))) + kernel-cgxbootpic_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(kernel-cgxbootpic_OBJC_NARCHFILES))) + kernel-cgxbootpic_MOBJC_WILDCARD := $(kernel-cgxbootpic_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-cgxbootpic_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-cgxbootpic_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-cgxbootpic_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-cgxbootpic_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-cgxbootpic_MOBJC_DIRS := $(foreach dir, $(kernel-cgxbootpic_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-cgxbootpic_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-cgxbootpic_MOBJC_DIRS),) + kernel-cgxbootpic_MOBJC_DIRS := $(shell echo $(kernel-cgxbootpic_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-cgxbootpic_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-cgxbootpic_CC := $(TARGET_CC) +else + kernel-cgxbootpic_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-cgxbootpic_MOBJC_CPPFLAGS := $(kernel-cgxbootpic_CPPFLAGS) +kernel-cgxbootpic_OBJCFLAGS := $(kernel-cgxbootpic_CFLAGS) +kernel-cgxbootpic_OBJCFLAGS := $(kernel-cgxbootpic_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-cgxbootpic_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-cgxbootpic_OBJCFLAGS))) +ifeq ($(kernel-cgxbootpic_DFLAGS),) + kernel-cgxbootpic_OBJCDFLAGS := $(kernel-cgxbootpic_CFLAGS) +else + kernel-cgxbootpic_OBJCDFLAGS := $(kernel-cgxbootpic_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-cgxbootpic_LINK ?= $(strip $(kernel-cgxbootpic_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-cgxbootpic_STRIP ?= $(TARGET_STRIP) + kernel-cgxbootpic_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-cgxbootpic_CC) $(TARGET_SYSROOT)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_MOBJC_CPPFLAGS:=$(strip $(kernel-cgxbootpic_MOBJC_CPPFLAGS) $(kernel-cgxbootpic_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_OBJCFLAGS:=$(strip $(kernel-cgxbootpic_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_OBJCDFLAGS:=$(kernel-cgxbootpic_OBJCDFLAGS) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-cgxbootpic_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-cgxbootpic_STRIP ?= $(HOST_STRIP) + kernel-cgxbootpic_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-cgxbootpic_MOBJC_CPPFLAGS) $(kernel-cgxbootpic_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_OBJCFLAGS)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_OBJCDFLAGS)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(HOST_IQUOTE) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-cgxbootpic_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-cgxbootpic_STRIP ?= $(ECHO) >/dev/null + kernel-cgxbootpic_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-cgxbootpic_MOBJC_CPPFLAGS) $(kernel-cgxbootpic_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_OBJCFLAGS)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_OBJCDFLAGS)) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-cgxbootpic_MOBJC_TARGETS) $(kernel-cgxbootpic_MOBJC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-cgxbootpic_MOBJC_TARGETS) : CPPFLAGS := $(kernel-cgxbootpic_MOBJC_CPPFLAGS) +$(kernel-cgxbootpic_MOBJC_TARGETS) : CFLAGS := $(kernel-cgxbootpic_OBJCFLAGS) +$(kernel-cgxbootpic_MOBJC_TARGETS) : $(kernel-cgxbootpic_MOBJC_WILDCARD).o : $(kernel-cgxbootpic_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-cgxbootpic_MOBJC_DTARGETS) : $(kernel-cgxbootpic_MOBJC_WILDCARD).d : $(kernel-cgxbootpic_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-cgxbootpic_OBJCDFLAGS) $(kernel-cgxbootpic_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-cgxbootpic_MC_SRCWILDCARD := % +else +kernel-cgxbootpic_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-cgxbootpic_OBJDIR),) +kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(kernel-cgxbootpic_CCFILES)) +kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(kernel-cgxbootpic_CCFILES)) +kernel-cgxbootpic_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(kernel-cgxbootpic_CCFILES)))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(kernel-cgxbootpic_CCFILES)))) +else +ifeq (,) + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(kernel-cgxbootpic_CCFILES))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(kernel-cgxbootpic_CCFILES))) +else + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(patsubst /%,%,$(kernel-cgxbootpic_CCFILES)))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(patsubst /%,%,$(kernel-cgxbootpic_CCFILES)))) +endif +endif +kernel-cgxbootpic_MC_TGTWILDCARD := $(kernel-cgxbootpic_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : | $(addsuffix .c,$(kernel-cgxbootpic_CCFILES)) + +# Be sure that all .c files are found +kernel-cgxbootpic_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-cgxbootpic_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-cgxbootpic_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-cgxbootpic_MC_DIRS := $(foreach dir, $(kernel-cgxbootpic_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-cgxbootpic_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-cgxbootpic_MC_DIRS),) + kernel-cgxbootpic_MC_DIRS := $(shell echo $(kernel-cgxbootpic_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-cgxbootpic_MC_DIRS) +endif + +endif + +kernel-cgxbootpic_MC_CPPFLAGS := $(kernel-cgxbootpic_CPPFLAGS) +kernel-cgxbootpic_CFLAGS := $(kernel-cgxbootpic_CFLAGS) +ifeq ($(kernel-cgxbootpic_DFLAGS),) + kernel-cgxbootpic_DFLAGS := $(kernel-cgxbootpic_CFLAGS) +else + kernel-cgxbootpic_DFLAGS := $(kernel-cgxbootpic_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-cgxbootpic_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(TARGET_STRIP) +kernel-cgxbootpic_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(kernel-cgxbootpic_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(kernel-cgxbootpic_DFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-cgxbootpic_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(HOST_STRIP) +kernel-cgxbootpic_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_DFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(HOST_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-cgxbootpic_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(ECHO) >/dev/null +kernel-cgxbootpic_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_DFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-cgxbootpic_MC_TARGETS) : CPPFLAGS := $(kernel-cgxbootpic_MC_CPPFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) : CFLAGS := $(kernel-cgxbootpic_CFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) : $(kernel-cgxbootpic_MC_TGTWILDCARD).o : $(kernel-cgxbootpic_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-cgxbootpic_MC_DTARGETS) : $(kernel-cgxbootpic_MC_TGTWILDCARD).d : $(kernel-cgxbootpic_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-cgxbootpic_DFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-cgxbootpic_MC_SRCWILDCARD := % +else +kernel-cgxbootpic_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-cgxbootpic_OBJDIR),) +kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(kernel-cgxbootpic_TARGETCCFILES)) +kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(kernel-cgxbootpic_TARGETCCFILES)) +kernel-cgxbootpic_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(kernel-cgxbootpic_TARGETCCFILES)))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(kernel-cgxbootpic_TARGETCCFILES)))) +else +ifeq (,) + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(kernel-cgxbootpic_TARGETCCFILES))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(kernel-cgxbootpic_TARGETCCFILES))) +else + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(patsubst /%,%,$(kernel-cgxbootpic_TARGETCCFILES)))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(patsubst /%,%,$(kernel-cgxbootpic_TARGETCCFILES)))) +endif +endif +kernel-cgxbootpic_MC_TGTWILDCARD := $(kernel-cgxbootpic_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : | $(addsuffix .c,$(kernel-cgxbootpic_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-cgxbootpic_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-cgxbootpic_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-cgxbootpic_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-cgxbootpic_MC_DIRS := $(foreach dir, $(kernel-cgxbootpic_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-cgxbootpic_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-cgxbootpic_MC_DIRS),) + kernel-cgxbootpic_MC_DIRS := $(shell echo $(kernel-cgxbootpic_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-cgxbootpic_MC_DIRS) +endif + +endif + +kernel-cgxbootpic_MC_CPPFLAGS := $(kernel-cgxbootpic_CPPFLAGS) -D__AROS__ +kernel-cgxbootpic_CFLAGS := $(kernel-cgxbootpic_CFLAGS) +ifeq ($(kernel-cgxbootpic_DFLAGS),) + kernel-cgxbootpic_DFLAGS := $(kernel-cgxbootpic_CFLAGS) +else + kernel-cgxbootpic_DFLAGS := $(kernel-cgxbootpic_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-cgxbootpic_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(TARGET_STRIP) +kernel-cgxbootpic_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(kernel-cgxbootpic_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(kernel-cgxbootpic_DFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-cgxbootpic_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(HOST_STRIP) +kernel-cgxbootpic_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_DFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(HOST_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-cgxbootpic_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(ECHO) >/dev/null +kernel-cgxbootpic_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_DFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-cgxbootpic_MC_TARGETS) : CPPFLAGS := $(kernel-cgxbootpic_MC_CPPFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) : CFLAGS := $(kernel-cgxbootpic_CFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) : $(kernel-cgxbootpic_MC_TGTWILDCARD).o : $(kernel-cgxbootpic_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-cgxbootpic_MC_DTARGETS) : $(kernel-cgxbootpic_MC_TGTWILDCARD).d : $(kernel-cgxbootpic_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-cgxbootpic_DFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-cgxbootpic_MC_SRCWILDCARD := % +else +kernel-cgxbootpic_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-cgxbootpic_OBJDIR)/linklib,) +kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(kernel-cgxbootpic_NLIBARCHFILES)) +kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(kernel-cgxbootpic_NLIBARCHFILES)) +kernel-cgxbootpic_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(notdir $(kernel-cgxbootpic_NLIBARCHFILES)))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(notdir $(kernel-cgxbootpic_NLIBARCHFILES)))) +else +ifeq (,) + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(kernel-cgxbootpic_NLIBARCHFILES))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(kernel-cgxbootpic_NLIBARCHFILES))) +else + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-cgxbootpic_NLIBARCHFILES)))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-cgxbootpic_NLIBARCHFILES)))) +endif +endif +kernel-cgxbootpic_MC_TGTWILDCARD := $(kernel-cgxbootpic_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : | $(addsuffix .c,$(kernel-cgxbootpic_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-cgxbootpic_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-cgxbootpic_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-cgxbootpic_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-cgxbootpic_MC_DIRS := $(foreach dir, $(kernel-cgxbootpic_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-cgxbootpic_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-cgxbootpic_MC_DIRS),) + kernel-cgxbootpic_MC_DIRS := $(shell echo $(kernel-cgxbootpic_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-cgxbootpic_MC_DIRS) +endif + +endif + +kernel-cgxbootpic_MC_CPPFLAGS := $(kernel-cgxbootpic_LINKLIBCPPFLAGS) -D__AROS__ +kernel-cgxbootpic_CFLAGS := $(kernel-cgxbootpic_LINKLIBCFLAGS) +ifeq ($(kernel-cgxbootpic_LINKLIBDFLAGS),) + kernel-cgxbootpic_DFLAGS := $(kernel-cgxbootpic_LINKLIBCFLAGS) +else + kernel-cgxbootpic_DFLAGS := $(kernel-cgxbootpic_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-cgxbootpic_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(TARGET_STRIP) +kernel-cgxbootpic_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(kernel-cgxbootpic_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(kernel-cgxbootpic_DFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-cgxbootpic_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(HOST_STRIP) +kernel-cgxbootpic_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_DFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(HOST_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-cgxbootpic_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(ECHO) >/dev/null +kernel-cgxbootpic_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_DFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-cgxbootpic_MC_TARGETS) : CPPFLAGS := $(kernel-cgxbootpic_MC_CPPFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) : CFLAGS := $(kernel-cgxbootpic_CFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) : $(kernel-cgxbootpic_MC_TGTWILDCARD).o : $(kernel-cgxbootpic_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-cgxbootpic_MC_DTARGETS) : $(kernel-cgxbootpic_MC_TGTWILDCARD).d : $(kernel-cgxbootpic_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-cgxbootpic_DFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-cgxbootpic_OBJDIR)/linklib,) +kernel-cgxbootpic_MC_SRCWILDCARD := % +else +kernel-cgxbootpic_MC_SRCWILDCARD := $(kernel-cgxbootpic_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-cgxbootpic_OBJDIR)/linklib,) +kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(kernel-cgxbootpic_LINKLIBCCGENFILES)) +kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(kernel-cgxbootpic_LINKLIBCCGENFILES)) +kernel-cgxbootpic_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(notdir $(kernel-cgxbootpic_LINKLIBCCGENFILES)))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(notdir $(kernel-cgxbootpic_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-cgxbootpic_OBJDIR)/linklib,) + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(kernel-cgxbootpic_LINKLIBCCGENFILES))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(kernel-cgxbootpic_LINKLIBCCGENFILES))) +else + kernel-cgxbootpic_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(patsubst $(kernel-cgxbootpic_OBJDIR)/linklib/%,%,$(kernel-cgxbootpic_LINKLIBCCGENFILES)))) + kernel-cgxbootpic_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(patsubst $(kernel-cgxbootpic_OBJDIR)/linklib/%,%,$(kernel-cgxbootpic_LINKLIBCCGENFILES)))) +endif +endif +kernel-cgxbootpic_MC_TGTWILDCARD := $(kernel-cgxbootpic_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : | $(addsuffix .c,$(kernel-cgxbootpic_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-cgxbootpic_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-cgxbootpic_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-cgxbootpic_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-cgxbootpic_MC_DIRS := $(foreach dir, $(kernel-cgxbootpic_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-cgxbootpic_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-cgxbootpic_MC_DIRS),) + kernel-cgxbootpic_MC_DIRS := $(shell echo $(kernel-cgxbootpic_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-cgxbootpic_MC_DIRS) +endif + +endif + +kernel-cgxbootpic_MC_CPPFLAGS := $(kernel-cgxbootpic_LINKLIBCPPFLAGS) -D__AROS__ +kernel-cgxbootpic_CFLAGS := $(kernel-cgxbootpic_LINKLIBCFLAGS) +ifeq ($(kernel-cgxbootpic_LINKLIBDFLAGS),) + kernel-cgxbootpic_DFLAGS := $(kernel-cgxbootpic_LINKLIBCFLAGS) +else + kernel-cgxbootpic_DFLAGS := $(kernel-cgxbootpic_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-cgxbootpic_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(TARGET_STRIP) +kernel-cgxbootpic_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(kernel-cgxbootpic_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(kernel-cgxbootpic_DFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-cgxbootpic_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(HOST_STRIP) +kernel-cgxbootpic_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-cgxbootpic_DFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(HOST_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-cgxbootpic_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-cgxbootpic_STRIP ?= $(ECHO) >/dev/null +kernel-cgxbootpic_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS) $(kernel-cgxbootpic_MC_EXTRA_CPPFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_CFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-cgxbootpic_DFLAGS)) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-cgxbootpic_MC_TARGETS) $(kernel-cgxbootpic_MC_DTARGETS) : kernel-cgxbootpic_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-cgxbootpic_MC_TARGETS) : CPPFLAGS := $(kernel-cgxbootpic_MC_CPPFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) : CFLAGS := $(kernel-cgxbootpic_CFLAGS) +$(kernel-cgxbootpic_MC_TARGETS) : $(kernel-cgxbootpic_MC_TGTWILDCARD).o : $(kernel-cgxbootpic_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-cgxbootpic_IQUOTE) $(dir $<) $(kernel-cgxbootpic_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-cgxbootpic_IQUOTE) . $(kernel-cgxbootpic_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-cgxbootpic_MC_DTARGETS) : $(kernel-cgxbootpic_MC_TGTWILDCARD).d : $(kernel-cgxbootpic_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-cgxbootpic_DFLAGS) $(kernel-cgxbootpic_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-cgxbootpic_LINKLIBAFILES),) + +ifeq ($(kernel-cgxbootpic_OBJDIR)/linklib,) +kernel-cgxbootpic-MA_TARGETS := $(addsuffix .o,$(kernel-cgxbootpic_LINKLIBAFILES) $(kernel-cgxbootpic_RELLINKLIBAFILES)) +kernel-cgxbootpic-MA_WILDCARD := % +else +kernel-cgxbootpic-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(notdir $(kernel-cgxbootpic_LINKLIBAFILES) $(kernel-cgxbootpic_RELLINKLIBAFILES)))) +kernel-cgxbootpic-MA_WILDCARD := $(kernel-cgxbootpic_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-cgxbootpic-MA_TARGETS) : | $(addsuffix .S,$(kernel-cgxbootpic_LINKLIBAFILES) $(kernel-cgxbootpic_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-cgxbootpic-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-cgxbootpic-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-cgxbootpic_LINKLIBAFILES) $(kernel-cgxbootpic_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-cgxbootpic-MA_DIRS := $(foreach dir, $(kernel-cgxbootpic-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-cgxbootpic-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-cgxbootpic-MA_DIRS),) + kernel-cgxbootpic-MA_DIRS := $(shell echo $(kernel-cgxbootpic-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-cgxbootpic-MA_DIRS) +endif + +endif + +kernel-cgxbootpic-MA_ASSEMBLER ?= $(kernel-cgxbootpic_ASSEMBLER) + +$(kernel-cgxbootpic-MA_TARGETS) : kernel-cgxbootpic-MA_CMD:= $(kernel-cgxbootpic-MA_ASSEMBLER) + +$(kernel-cgxbootpic-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-cgxbootpic-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-cgxbootpic-MA_TARGETS) : $(kernel-cgxbootpic-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-cgxbootpic-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-cgxbootpic-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-cgxbootpic-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-cgxbootpic_SUFFIX := library +else +kernel-cgxbootpic_SUFFIX := +endif + +ifeq (target,target) +kernel-cgxbootpic_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-cgxbootpic_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-cgxbootpic_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-cgxbootpic_SUFFIX),handler) +kernel-cgxbootpic_MODULE := $(AROSDIR)/$(kernel-cgxbootpic_MODDIR)/$(kernel-cgxbootpic_DEFNAME)-$(kernel-cgxbootpic_SUFFIX) +else +kernel-cgxbootpic_MODULE := $(AROSDIR)/$(kernel-cgxbootpic_MODDIR)/$(kernel-cgxbootpic_DEFNAME).$(kernel-cgxbootpic_SUFFIX) +endif +kernel-cgxbootpic_KOBJ := $(KOBJSDIR)/$(kernel-cgxbootpic_DEFNAME)_$(kernel-cgxbootpic_SUFFIX).o +else +kernel-cgxbootpic_MODULE := +kernel-cgxbootpic_KOBJ := +endif + +kernel-cgxbootpic-quick : kernel-cgxbootpic +kernel-cgxbootpic : $(kernel-cgxbootpic_MODULE) $(kernel-cgxbootpic_LINKLIB) $(kernel-cgxbootpic_RELLINKLIB) +ifeq (M,M) +kernel-cgxbootpic-kobj : $(kernel-cgxbootpic_KOBJ) $(kernel-cgxbootpic_LINKLIB) $(kernel-cgxbootpic_RELLINKLIB) +kernel-cgxbootpic-kobj-quick : $(kernel-cgxbootpic_KOBJ) $(kernel-cgxbootpic_LINKLIB) $(kernel-cgxbootpic_RELLINKLIB) +endif +ifeq (M,M) +kernel-cgxbootpic-linklib : $(kernel-cgxbootpic_LINKLIB) $(kernel-cgxbootpic_RELLINKLIB) +endif + +kernel-cgxbootpic_OBJS := $(addsuffix .o,$(kernel-cgxbootpic_STARTFILES)) $(kernel-cgxbootpic_ARCHOBJS) \ + $(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(kernel-cgxbootpic_C_NARCHFILES:=.o) $(kernel-cgxbootpic_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +kernel-cgxbootpic_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (cgxbootpic,con) + kernel-cgxbootpic_ERR := $(notdir $(kernel-cgxbootpic_MODULE)).err +else + kernel-cgxbootpic_ERR := cgxbootpic.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-cgxbootpic_DEFNAME)_LDFLAGS) $(kernel-cgxbootpic_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-cgxbootpic_LIBS) $($(kernel-cgxbootpic_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-cgxbootpic_MODULE) : LIB_NAMES := $(kernel-cgxbootpic_LIBS) $($(kernel-cgxbootpic_DEFNAME)_LIBS) +$(kernel-cgxbootpic_MODULE) : OBJS := $(kernel-cgxbootpic_STARTOBJS) $(kernel-cgxbootpic_OBJS) $(USER_OBJS) +$(kernel-cgxbootpic_MODULE) : ENDTAG := $(kernel-cgxbootpic_ENDOBJS) +$(kernel-cgxbootpic_MODULE) : ERR := $(kernel-cgxbootpic_ERR) +$(kernel-cgxbootpic_MODULE) : OBJDIR := $(kernel-cgxbootpic_OBJDIR) +$(kernel-cgxbootpic_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-cgxbootpic_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-cgxbootpic_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-cgxbootpic_MODULE) : $(kernel-cgxbootpic_STARTOBJS) $(kernel-cgxbootpic_OBJS) $(USER_OBJS) $(kernel-cgxbootpic_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-cgxbootpic_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-cgxbootpic_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-cgxbootpic_LC_LINKLIBNAME := $(shell echo $(kernel-cgxbootpic_LINKLIBNAME) | tr A-Z a-z) +kernel-cgxbootpic_LC_MODNAME := $(shell echo cgxbootpic | tr A-Z a-z) +ifneq ($(kernel-cgxbootpic_LINKLIB),) + +ifeq (target,target) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(HOST_AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(KERNEL_AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)$(kernel-cgxbootpic_LIBSUFFIX).a : $(kernel-cgxbootpic_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-cgxbootpic_AR) $@ $^ + $(Q)$(kernel-cgxbootpic_RANLIB) $@ +ifneq ($(kernel-cgxbootpic_LC_MODNAME),$(kernel-cgxbootpic_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-cgxbootpic_LIBDIR)/libcgxbootpic$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(AR) +$(kernel-cgxbootpic_LIBDIR)/libcgxbootpic$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-cgxbootpic_LIBDIR)/libcgxbootpic$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(HOST_AR) +$(kernel-cgxbootpic_LIBDIR)/libcgxbootpic$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-cgxbootpic_LIBDIR)/libcgxbootpic$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(KERNEL_AR) +$(kernel-cgxbootpic_LIBDIR)/libcgxbootpic$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-cgxbootpic_LIBDIR)/libcgxbootpic$(kernel-cgxbootpic_LIBSUFFIX).a : $(kernel-cgxbootpic_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-cgxbootpic_AR) $@ $^ + $(Q)$(kernel-cgxbootpic_RANLIB) $@ +endif + + +ifneq ($(kernel-cgxbootpic_LINKLIB),) +$(kernel-cgxbootpic_LINKLIB) : | $(kernel-cgxbootpic_LIBDIR) +else +$(kernel-cgxbootpic_LINKLIB) :: $(kernel-cgxbootpic_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-cgxbootpic_LIBDIR) + +endif + +ifneq ($(kernel-cgxbootpic_RELLINKLIB),) + +ifeq (target,target) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(HOST_AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(KERNEL_AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_LINKLIBNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : $(kernel-cgxbootpic_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-cgxbootpic_AR) $@ $^ + $(Q)$(kernel-cgxbootpic_RANLIB) $@ +ifneq ($(kernel-cgxbootpic_LC_MODNAME),$(kernel-cgxbootpic_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_DEFNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_DEFNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_DEFNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(HOST_AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_DEFNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_DEFNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_AR:=$(KERNEL_AR) +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_DEFNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : kernel-cgxbootpic_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-cgxbootpic_LIBDIR)/lib$(kernel-cgxbootpic_DEFNAME)_rel$(kernel-cgxbootpic_LIBSUFFIX).a : $(kernel-cgxbootpic_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-cgxbootpic_AR) $@ $^ + $(Q)$(kernel-cgxbootpic_RANLIB) $@ +endif + + +ifneq ($(kernel-cgxbootpic_RELLINKLIB),) +$(kernel-cgxbootpic_RELLINKLIB) : | $(kernel-cgxbootpic_LIBDIR) +else +$(kernel-cgxbootpic_RELLINKLIB) :: $(kernel-cgxbootpic_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-cgxbootpic_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-cgxbootpic_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-cgxbootpic_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-cgxbootpic_SYMBOLS := $(kernel-cgxbootpic_KBASE) + +kernel-cgxbootpic_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-cgxbootpic_KOBJ_LIBS := $(filter-out $(kernel-cgxbootpic_KLIB),$(kernel-cgxbootpic_LIBS)) $(kernel-cgxbootpic_KAUTOLIB) +$(kernel-cgxbootpic_KOBJ) : LINKLIBS:=$(kernel-cgxbootpic_KOBJ_LIBS) $($(kernel-cgxbootpic_DEFNAME)_LIBS) +$(kernel-cgxbootpic_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-cgxbootpic_SYMBOLS)) +$(kernel-cgxbootpic_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-cgxbootpic_KOBJ) : $(kernel-cgxbootpic_OBJS) $(USER_OBJS) $(kernel-cgxbootpic_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-cgxbootpic_DEPS := $(addprefix $(kernel-cgxbootpic_OBJDIR)/,$(notdir $(kernel-cgxbootpic_CCFILES:=.d) $(kernel-cgxbootpic_TARGETCCFILES:=.d) $(kernel-cgxbootpic_CXXFILES:=.d))) $(addprefix $(kernel-cgxbootpic_OBJDIR)/linklib/,$(notdir $(kernel-cgxbootpic_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-cgxbootpic_DEPS),) + ifneq (kernel-cgxbootpic kernel-cgxbootpic-quick kernel-cgxbootpic-kobj kernel-cgxbootpic-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-cgxbootpic kernel-cgxbootpic-quick kernel-cgxbootpic-kobj kernel-cgxbootpic-kobj-quick),) + -include $(kernel-cgxbootpic_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-cgxbootpic_DEPS) + endif + endif +endif + +$(kernel-cgxbootpic_OBJS) $(kernel-cgxbootpic_DEPS) : | $(kernel-cgxbootpic_OBJDIR)/linklib + +ifneq ($(kernel-cgxbootpic_OBJS) $(kernel-cgxbootpic_DEPS) $(kernel-cgxbootpic_MODULE) $(kernel-cgxbootpic_KOBJ),) +$(kernel-cgxbootpic_OBJS) $(kernel-cgxbootpic_DEPS) $(kernel-cgxbootpic_MODULE) $(kernel-cgxbootpic_KOBJ) : | $(kernel-cgxbootpic_OBJDIR) $(AROSDIR)/$(kernel-cgxbootpic_MODDIR) $(KOBJSDIR) +else +$(kernel-cgxbootpic_OBJS) $(kernel-cgxbootpic_DEPS) $(kernel-cgxbootpic_MODULE) $(kernel-cgxbootpic_KOBJ) :: $(kernel-cgxbootpic_OBJDIR) $(AROSDIR)/$(kernel-cgxbootpic_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-cgxbootpic_OBJDIR) $(AROSDIR)/$(kernel-cgxbootpic_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-cgxbootpic kernel-cgxbootpic-includes kernel-cgxbootpic-quick kernel-cgxbootpic-kobj kernel-cgxbootpic-kobj-quick),) # Only for this target these deps are wanted + +kernel-cgxbootpic_DFILE_DEPS := $(kernel-cgxbootpic_LIBDEFSINC) $(kernel-cgxbootpic_DEFLIBDEFSINC) \ + $(addprefix $(kernel-cgxbootpic_INCDIR)/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) +$(kernel-cgxbootpic_DEPS) : $(kernel-cgxbootpic_DFILE_DEPS) +endif + +kernel-cgxbootpic_TOCLEAN := $(kernel-cgxbootpic_OBJS) $(kernel-cgxbootpic_DEPS) \ + $(kernel-cgxbootpic_MODULE) $(kernel-cgxbootpic_LINKLIB) $(kernel-cgxbootpic_KOBJ) \ + $(kernel-cgxbootpic_OBJDIR)/Makefile.cgxbootpiclibrary \ + $(addprefix $(kernel-cgxbootpic_OBJDIR)/include/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-cgxbootpic_INCDIR)/,$($(kernel-cgxbootpic_DEFNAME)_INCLUDES)) \ + $(kernel-cgxbootpic_OBJDIR)/cgxbootpic_geninc $(kernel-cgxbootpic_OBJDIR)/cgxbootpic_incs \ + $(addsuffix .c,$(kernel-cgxbootpic_LINKLIBFILES)) $(kernel-cgxbootpic_LINKLIBOBJS) $(kernel-cgxbootpic_LIBDEFSINC) \ + $(kernel-cgxbootpic_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-cgxbootpic_STARTFILES) $(kernel-cgxbootpic_ENDFILES)) \ + $(kernel-cgxbootpic_ENDOBJS) +kernel-cgxbootpic-clean : FILES := $(kernel-cgxbootpic_TOCLEAN) +kernel-cgxbootpic-clean :: + $(Q)$(ECHO) "Cleaning up for module cgxbootpic" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-cgxbootpic_ALLTARGETS) + + +$(GENDIR)/$(CURDIR)/bootpic_image.h : $(BOOTPIC_IMAGE).ilbm + @$(ECHO) "Creating bootpic_image.h..." + @$(ILBMTOC) $< >$@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/devs/ahci/mmakefile b/rom/devs/ahci/mmakefile new file mode 100644 index 00000000000..a47f606c745 --- /dev/null +++ b/rom/devs/ahci/mmakefile @@ -0,0 +1,1800 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM kernel-ahci : kernel-timer-includes + +INCLUDE_FILES := $(call WILDCARD, include/devices/*.h) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include/devices,) +TMP_DIR := include/devices +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include/devices,$(GENINCDIR)/devices,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/devices/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/devices/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/devices/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/devices/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/devices/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include/devices,) +BD_INCL_FILES2 := $(subst include/devices,$(AROS_INCLUDES)/devices,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/devices/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/devices/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/devices/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +INCLUDE_FILES := $(call WILDCARD, include/hidd/*.h) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include/hidd,) +TMP_DIR := include/hidd +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include/hidd,$(GENINCDIR)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/hidd/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/hidd/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include/hidd,) +BD_INCL_FILES2 := $(subst include/hidd,$(AROS_INCLUDES)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +AHCIDEVICEFILES := \ + ahci_init \ + ahci_io \ + ahci_scsi \ + ahci_cam_aros \ + ahci_aros \ + ahci_aros_bus \ + ahci \ + ahci_attach \ + ahci_pm \ + bus_pci \ + timer \ + subr_prf + +AHCICLASSFILES := \ + ahci_controllerclass \ + ahci_busclass \ + ahci_unitclass + +USER_CPPFLAGS := -D__OOP_NOMETHODBASES__ -D__OOP_NOATTRBASES__ + +# Contains code from openbsd.org +USER_CPPFLAGS += -D__BSD_VISIBLE +# Enable coalescing +#USER_CPPFLAGS += -DAHCI_COALESCE +# Enable ACHI debugging +#USER_CPPFLAGS += -DAHCI_DEBUG +# Enable AROS debugging +#USER_CPPFLAGS += -DDEBUG=1 + +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-ahci +#MM kernel-ahci-quick +#MM kernel-ahci-makefile +#MM kernel-ahci-clean + +# ABI targets: +#MM- includes-all : kernel-ahci-includes +#MM- linklibs-ahci: kernel-ahci-linklib +#MM- linklibs-ahci_rel : kernel-ahci-linklib +#MM- includes-ahci: kernel-ahci-includes +#MM- includes-ahci_rel : kernel-ahci-includes +#MM- kernel-ahci : kernel-ahci-includes core-linklibs linklibs-hiddstubs +#MM kernel-ahci-linklib : kernel-ahci-includes includes-hiddstubs +#MM- kernel-ahci-quick : kernel-ahci-includes-quick +#MM kernel-ahci-includes : kernel-ahci-makefile kernel-ahci-includes-dirs \ +#MM includes-generate-deps kernel-ahci-fd +#MM kernel-ahci-includes-quick +#MM kernel-ahci-includes-dirs +#MM kernel-ahci-fd + +# Library targets +#MM kernel-ahci-kobj : core-linklibs linklibs-hiddstubs +#MM kernel-ahci-kobj-quick : + +# Library with ABI targets: +#MM kernel-ahci-kobj : kernel-ahci-includes core-linklibs linklibs-hiddstubs +#MM kernel-ahci-kobj-quick : kernel-ahci-includes-quick + +# All MetaMake targets defined by this macro +kernel-ahci_ALLTARGETS := kernel-ahci kernel-ahci-quick kernel-ahci-clean + +ifeq (M,M) +kernel-ahci_ALLTARGETS += kernel-ahci-kobj kernel-ahci-kobj-quick +endif + +ifeq (M,M) +kernel-ahci_ALLTARGETS += kernel-ahci-includes \ + kernel-ahci-includes-quick kernel-ahci-includes-dirs \ + kernel-ahci-linklib kernel-ahci-fd +endif + +.PHONY : $(kernel-ahci_ALLTARGETS) kernel-ahci-makefile + +ifeq (ahci,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-ahci_DEFNAME := ahci_ +else + kernel-ahci_DEFNAME := ahci +endif +kernel-ahci_DEFLINKLIBNAME := $(kernel-ahci_DEFNAME) +ifneq (,) + kernel-ahci_LINKLIBNAME := +else + kernel-ahci_LINKLIBNAME = $(kernel-ahci_DEFLINKLIBNAME) +endif +kernel-ahci_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-ahci_DEFCPPFLAGS += -I +endif +kernel-ahci_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-ahci_DFLAGS := +else + kernel-ahci_DFLAGS = $(kernel-ahci_DEFDFLAGS) +endif +kernel-ahci_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-ahci_DXXFLAGS := +else + kernel-ahci_DXXFLAGS = $(kernel-ahci_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-ahci_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-ahci_DEFDFLAGS)) +kernel-ahci_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-ahci_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-ahci_FUNCINSTR := yes +kernel-ahci_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-ahci_DEFDFLAGS)) +kernel-ahci_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-ahci_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-ahci_OBJDIR := +else +kernel-ahci_OBJDIR := $(OBJDIR)/$(kernel-ahci_DEFNAME) +endif +ifneq (,) +kernel-ahci_OBJDIR := $(kernel-ahci_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-ahci-makefile := $(kernel-ahci_OBJDIR)/Makefile.$(kernel-ahci_DEFNAME)device +kernel-ahci-genmakefile : $(kernel-ahci-makefile) + + +kernel-ahci-genmakefile_OPTS := +ifneq (,) + kernel-ahci-genmakefile_OPTS += -f + kernel-ahci-genmakefile_MODNAME := ahci_ +else + kernel-ahci-genmakefile_MODNAME := ahci +endif +kernel-ahci-genmakefile_TARGET := Makefile.$(kernel-ahci-genmakefile_MODNAME)device +kernel-ahci-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-ahci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-ahci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-ahci-genmakefile_OPTS += -c + kernel-ahci-genmakefile_DEPS += + endif +else + kernel-ahci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + kernel-ahci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-ahci-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-ahci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-ahci-genmakefile_OPTS += -o + kernel-ahci-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-ahci-genmakefile_OPTS += -s +endif +ifneq ($(kernel-ahci_OBJDIR),) + kernel-ahci-genmakefile_OPTS += -d $(kernel-ahci_OBJDIR) + kernel-ahci-genmakefile_TARGET := $(kernel-ahci_OBJDIR)/$(kernel-ahci-genmakefile_TARGET) +endif + +$(kernel-ahci-genmakefile_TARGET) : OPTS := $(kernel-ahci-genmakefile_OPTS) +$(kernel-ahci-genmakefile_TARGET) : MODNAME := ahci +$(kernel-ahci-genmakefile_TARGET) : MODTYPE := device +$(kernel-ahci-genmakefile_TARGET) : $(kernel-ahci-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-ahci-makefile),) +$(kernel-ahci-makefile) : | $(kernel-ahci_OBJDIR) +else +$(kernel-ahci-makefile) :: $(kernel-ahci_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-ahci_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-ahci_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-ahci-makefile) + +kernel-ahci_DEFMODDIR := $($(kernel-ahci_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-ahci_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-ahci_DEFMODDIR) +endif +ifneq (,) + kernel-ahci_MODDIR := +else + kernel-ahci_MODDIR := $(kernel-ahci_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-ahci_INCDIR := +else +kernel-ahci_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-ahci_LIBDEFSINC := $(kernel-ahci_OBJDIR)/include/$(kernel-ahci_DEFNAME)_libdefs.h +kernel-ahci_DEFLIBDEFSINC := $(kernel-ahci_OBJDIR)/include/$(kernel-ahci_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-ahci-includes-quick : kernel-ahci-includes +kernel-ahci-includes : $(addprefix $(GENINCDIR)/,$($(kernel-ahci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-ahci_INCDIR)/,$($(kernel-ahci_DEFNAME)_INCLUDES)) \ + $(kernel-ahci_LIBDEFSINC) $(kernel-ahci_DEFLIBDEFSINC) + +ifneq ($($(kernel-ahci_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-ahci-includes_MODNAME := ahci_ +else + kernel-ahci-includes_MODNAME := ahci +endif + +ifneq ($($(kernel-ahci-includes_MODNAME)_INCLUDES),) + +kernel-ahci-includes_TARGETS := $($(kernel-ahci-includes_MODNAME)_INCLUDES) + +kernel-ahci-includes_DEPS := $(GENMODULE) +kernel-ahci-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-ahci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-ahci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-ahci-includes_OPTS += -c + kernel-ahci-includes_DEPS += + endif +else + kernel-ahci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + kernel-ahci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-ahci-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-ahci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-ahci-includes_OPTS += -o + kernel-ahci-includes_DEPS += + endif +endif +ifneq (,) + kernel-ahci-includes_OPTS += -s +endif +ifneq ($(kernel-ahci_OBJDIR)/include,) + kernel-ahci-includes_OPTS += -d $(kernel-ahci_OBJDIR)/include + kernel-ahci-includes_TARGETS := $(addprefix $(kernel-ahci_OBJDIR)/include/,$(kernel-ahci-includes_TARGETS)) + kernel-ahci-includes_GENINCFLAG=$(kernel-ahci_OBJDIR)/include/.ahci.device-includes +else + kernel-ahci-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.ahci.device-includes +endif + +$(kernel-ahci-includes_TARGETS) : $(kernel-ahci-includes_DEPS) $(kernel-ahci-includes_GENINCFLAG) + +$(kernel-ahci-includes_GENINCFLAG) : OPTS := $(kernel-ahci-includes_OPTS) +$(kernel-ahci-includes_GENINCFLAG) : MODNAME := ahci +$(kernel-ahci-includes_GENINCFLAG) : MODTYPE := device +$(kernel-ahci-includes_GENINCFLAG) : $(kernel-ahci-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-ahci_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-ahci_DEFNAME)_INCLUDES)) : | $(kernel-ahci_OBJDIR)/ahci_geninc + +$(kernel-ahci_OBJDIR)/ahci_geninc : COPYSRCDIR := $(kernel-ahci_OBJDIR)/include +$(kernel-ahci_OBJDIR)/ahci_geninc : TGTDIR := $(GENINCDIR) +$(kernel-ahci_OBJDIR)/ahci_geninc : FILES := $($(kernel-ahci_DEFNAME)_INCLUDES) +$(kernel-ahci_OBJDIR)/ahci_geninc : $(addprefix $(kernel-ahci_OBJDIR)/include/,$($(kernel-ahci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-ahci_OBJDIR)/include + +$(addprefix $(kernel-ahci_INCDIR)/,$($(kernel-ahci_DEFNAME)_INCLUDES)) : | $(kernel-ahci_OBJDIR)/ahci_incs + +$(kernel-ahci_OBJDIR)/ahci_incs : COPYSRCDIR := $(kernel-ahci_OBJDIR)/include +$(kernel-ahci_OBJDIR)/ahci_incs : TGTDIR := $(kernel-ahci_INCDIR) +$(kernel-ahci_OBJDIR)/ahci_incs : FILES := $($(kernel-ahci_DEFNAME)_INCLUDES) +$(kernel-ahci_OBJDIR)/ahci_incs : $(addprefix $(kernel-ahci_OBJDIR)/include/,$($(kernel-ahci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-ahci_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-ahci_DEFNAME)_INCLUDES)))) + +TMPahci_INCDIRS := \ + $(kernel-ahci_OBJDIR)/include $(addprefix $(kernel-ahci_OBJDIR)/include/,$(kernel-ahci_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-ahci_INCDIRS)) \ + $(kernel-ahci_INCDIR) $(addprefix $(kernel-ahci_INCDIR)/,$(kernel-ahci_INCDIRS)) + +ifneq (kernel-ahci-includes-dirs,) +kernel-ahci-includes-dirs : | $(TMPahci_INCDIRS) +else +kernel-ahci-includes-dirs :: $(TMPahci_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPahci_INCDIRS) + + +endif + +endif + + +kernel-ahci-genlibdefs_OPTS := +ifneq (,) + kernel-ahci-genlibdefs_OPTS += -f + kernel-ahci-genlibdefs_MODNAME := ahci_ +else + kernel-ahci-genlibdefs_MODNAME := ahci +endif +kernel-ahci-genlibdefs_TARGET := $(kernel-ahci-genlibdefs_MODNAME)_libdefs.h +kernel-ahci-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-ahci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-ahci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-ahci-genlibdefs_OPTS += -c + kernel-ahci-genlibdefs_DEPS += + endif +else + kernel-ahci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + kernel-ahci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-ahci-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-ahci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-ahci-genlibdefs_OPTS += -o + kernel-ahci-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-ahci-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-ahci_OBJDIR)/include,) + kernel-ahci-genlibdefs_OPTS += -d $(kernel-ahci_OBJDIR)/include + kernel-ahci-genlibdefs_TARGET := $(kernel-ahci_OBJDIR)/include/$(kernel-ahci-genlibdefs_TARGET) +endif +ifneq (,) + kernel-ahci-genlibdefs_OPTS += -v +endif + +$(kernel-ahci-genlibdefs_TARGET) : OPTS := $(kernel-ahci-genlibdefs_OPTS) +$(kernel-ahci-genlibdefs_TARGET) : MODNAME := ahci +$(kernel-ahci-genlibdefs_TARGET) : MODTYPE := device +$(kernel-ahci-genlibdefs_TARGET) : $(kernel-ahci-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-ahci_DEFLIBDEFSINC) : FILENAME := $(kernel-ahci_LIBDEFSINC) +$(kernel-ahci_DEFLIBDEFSINC) : $(kernel-ahci_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-ahci_LIBDEFSINC) $(kernel-ahci_DEFLIBDEFSINC) : | $(kernel-ahci_OBJDIR)/include + +ifneq (kernel-ahci-includes-dirs,) +kernel-ahci-includes-dirs : | $(kernel-ahci_OBJDIR)/include +else +kernel-ahci-includes-dirs :: $(kernel-ahci_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-ahci_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-ahci-genmodfiles_OPTS := +ifneq (,) + kernel-ahci-genmodfiles_OPTS += -f + kernel-ahci-genmodfiles_MODNAME := ahci_ +else + kernel-ahci-genmodfiles_MODNAME := ahci +endif +kernel-ahci-genmodfiles_GENTARGETS := $($(kernel-ahci-genmodfiles_MODNAME)_STARTFILES) $($(kernel-ahci-genmodfiles_MODNAME)_ENDFILES) +kernel-ahci-genmodfiles_STUBTARGETS := $($(kernel-ahci-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-ahci-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-ahci-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-ahci-genmodfiles_GENTARGETS)) +kernel-ahci-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-ahci-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-ahci-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-ahci-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-ahci-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-ahci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-ahci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-ahci-genmodfiles_OPTS += -c + kernel-ahci-genmodfiles_DEPS += + endif +else + kernel-ahci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + kernel-ahci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-ahci-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-ahci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-ahci-genmodfiles_OPTS += -o + kernel-ahci-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-ahci-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-ahci_OBJDIR),) + kernel-ahci-genmodfiles_OPTS += -d $(kernel-ahci_OBJDIR) + kernel-ahci-genmodfiles_TARGETDIR := $(shell echo $(kernel-ahci_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-ahci-genmodfiles_GENTARGETS := $(addprefix $(kernel-ahci-genmodfiles_TARGETDIR)/,$(kernel-ahci-genmodfiles_GENTARGETS)) + kernel-ahci-genmodfiles_GENFILEFLAG=$(kernel-ahci-genmodfiles_TARGETDIR)/.ahci.device-genfiles +else + kernel-ahci-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.ahci.device-genfiles +endif +ifneq ($(kernel-ahci_OBJDIR)/linklib,) + kernel-ahci-genmodfiles_OPTS += -l $(kernel-ahci_OBJDIR)/linklib + kernel-ahci-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-ahci_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-ahci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-ahci-genmodfiles_STUBTARGETDIR)/,$(kernel-ahci-genmodfiles_STUBTARGETS)) + kernel-ahci-genmodfiles_TARGETDIRS += $(kernel-ahci_OBJDIR)/linklib +else +ifneq ($(kernel-ahci_OBJDIR),) + kernel-ahci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-ahci-genmodfiles_TARGETDIR)/,$(kernel-ahci-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-ahci-genmodfiles_TARGETS := $(kernel-ahci-genmodfiles_GENTARGETS) $(kernel-ahci-genmodfiles_STUBTARGETS) +ifneq ($(kernel-ahci-genmodfiles_TARGETDIRS),) +$(kernel-ahci-genmodfiles_TARGETS) : | $(kernel-ahci-genmodfiles_TARGETDIRS) +endif + +$(kernel-ahci-genmodfiles_TARGETS) : $(kernel-ahci-genmodfiles_DEPS) $(kernel-ahci-genmodfiles_GENFILEFLAG) + +$(kernel-ahci-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-ahci-genmodfiles_OPTS) +$(kernel-ahci-genmodfiles_GENFILEFLAG) : MODNAME := ahci +$(kernel-ahci-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-ahci-genmodfiles_GENFILEFLAG) : $(kernel-ahci-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-ahci-genmodfiles_GENFILEFLAG) : $(kernel-ahci_DEFLIBDEFSINC) $(kernel-ahci-makefile) + + +ifneq ($(kernel-ahci-genmodfiles_GENFILEFLAG),) +$(kernel-ahci-genmodfiles_GENFILEFLAG) : | $(kernel-ahci_OBJDIR)/linklib +else +$(kernel-ahci-genmodfiles_GENFILEFLAG) :: $(kernel-ahci_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-ahci_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-ahci_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-ahci_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-ahci-fd : $(kernel-ahci_FDDIR)/ahci_lib.fd + + +TMP_TARGET := ahci_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-ahci_FDDIR),) + TMP_OPTS += -d $(kernel-ahci_FDDIR) + TMP_TARGET := $(kernel-ahci_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := ahci +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-ahci_FDDIR)/ahci_lib.fd : | $(kernel-ahci_FDDIR) + + +ifneq (kernel-ahci-fd-setup,) +kernel-ahci-fd-setup : | $(kernel-ahci_FDDIR) +else +kernel-ahci-fd-setup :: $(kernel-ahci_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-ahci_FDDIR) + +endif + +## Compilation +## +kernel-ahci_FILES := $(AHCIDEVICEFILES) $(AHCICLASSFILES) +kernel-ahci_OBJCFILES := +kernel-ahci_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-ahci_LIBFILES := +kernel-ahci_LIBS := hiddstubs + +kernel-ahci_FDIRS := $(sort $(dir $(kernel-ahci_FILES))) + +kernel-ahci_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-ahci_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-ahci_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-ahci_FILTERARCH = $(filter-out $(call kernel-ahci_MATCHARCH,$(1),$(2)),$(2)) +kernel-ahci_STARTFILES := $(addprefix $(kernel-ahci_OBJDIR)/,$($(kernel-ahci_DEFNAME)_STARTFILES)) +kernel-ahci_ENDFILES := $(addprefix $(kernel-ahci_OBJDIR)/,$($(kernel-ahci_DEFNAME)_ENDFILES)) + +kernel-ahci_ARCHOBJS := $(wildcard $(kernel-ahci_OBJDIR)/arch/*.o) +kernel-ahci_LIBARCHOBJS := $(wildcard $(kernel-ahci_OBJDIR)/linklib/arch/*.o) +kernel-ahci_ARCHFILES := $(basename $(notdir $(kernel-ahci_ARCHOBJS))) +kernel-ahci_LIBARCHFILES := $(basename $(notdir $(kernel-ahci_LIBARCHOBJS))) +kernel-ahci_C_NARCHFILES := $(call kernel-ahci_FILTERARCH,$(kernel-ahci_ARCHFILES),$(kernel-ahci_FILES)) +kernel-ahci_CXX_NARCHFILES := $(call kernel-ahci_FILTERARCH,$(kernel-ahci_ARCHFILES),$(kernel-ahci_CXXFILES)) +kernel-ahci_OBJC_NARCHFILES := $(call kernel-ahci_FILTERARCH,$(kernel-ahci_ARCHFILES),$(kernel-ahci_OBJCFILES)) +kernel-ahci_NLIBARCHFILES := $(call kernel-ahci_FILTERARCH,$(kernel-ahci_LIBARCHFILES),$(kernel-ahci_LIBFILES)) +kernel-ahci_ARCHNLIBFILES := $(call kernel-ahci_FILTERARCH,$(kernel-ahci_LIBFILES),$(kernel-ahci_LIBARCHFILES)) + +kernel-ahci_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-ahci_OBJDIR)/include -include $(kernel-ahci_DEFLIBDEFSINC)) +ifneq (,) +kernel-ahci_CPPFLAGS += -I +endif +kernel-ahci_LINKLIBCPPFLAGS := $(kernel-ahci_CPPFLAGS) +kernel-ahci_CPPFLAGS += $(strip $($(kernel-ahci_DEFNAME)_CPPFLAGS)) +kernel-ahci_LINKLIBCPPFLAGS += $(strip $($(kernel-ahci_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-ahci_CFLAGS := $(strip $(CFLAGS) $($(kernel-ahci_DEFNAME)_CFLAGS)) +kernel-ahci_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-ahci_DEFNAME)_LINKLIBCFLAGS)) +kernel-ahci_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-ahci_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-ahci_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-ahci_CFLAGS := $(strip $(kernel-ahci_LTOFLAGS) $(kernel-ahci_CFLAGS)) +kernel-ahci_LINKLIBCFLAGS := $(strip $(kernel-ahci_LTOFLAGS) $(kernel-ahci_LINKLIBCFLAGS)) +kernel-ahci_CXXFLAGS := $(strip $(kernel-ahci_LTOFLAGS) $(kernel-ahci_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-ahci_SUBSTNULL := +kernel-ahci_SUBSTSPACE := $(kernel-ahci_SUBSTNULL) # +kernel-ahci_SUBSTCOMMA := , +kernel-ahci_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-ahci_SUBSTSPACE),$(kernel-ahci_SUBSTCOMMA),$(strip $($(kernel-ahci_DEFNAME)_STARTFILES)))) +kernel-ahci_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-ahci_CFLAGS := $(strip $(kernel-ahci_INSTRFUNCFLAGS) $(kernel-ahci_CFLAGS)) +kernel-ahci_CXXFLAGS := $(strip $(kernel-ahci_INSTRFUNCFLAGS) $(kernel-ahci_CXXFLAGS)) +kernel-ahci_LIBS += $(kernel-ahci_INSTRFUNCLIBS) +endif +endif +kernel-ahci_DFLAGS := $(strip $(kernel-ahci_DFLAGS) $($(kernel-ahci_DEFNAME)_DFLAGS)) +kernel-ahci_LINKLIBDFLAGS := $(strip $(kernel-ahci_DFLAGS) $($(kernel-ahci_DEFNAME)_LINKLIBDFLAGS)) +kernel-ahci_DXXFLAGS := $(strip $(kernel-ahci_DXXFLAGS) $($(kernel-ahci_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-ahci_LIBSUFFIX := +else + kernel-ahci_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-ahci_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-ahci_LIBDIR := +endif + +ifeq (M,M) +kernel-ahci_LINKLIBCFILES := $(addprefix $(kernel-ahci_OBJDIR)/linklib/,$($(kernel-ahci_DEFNAME)_LINKLIBFILES)) +kernel-ahci_LINKLIBAFILES := $(addprefix $(kernel-ahci_OBJDIR)/linklib/,$($(kernel-ahci_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-ahci_DEFNAME)_LINKLIBFILES) $($(kernel-ahci_DEFNAME)_LINKLIBAFILES) $(kernel-ahci_ARCHNLIBFILES)),) + kernel-ahci_LINKLIB := +else + kernel-ahci_LINKLIB := $(kernel-ahci_LIBDIR)/libahci$(kernel-ahci_LIBSUFFIX).a + ifneq (ahci,$(kernel-ahci_LINKLIBNAME)) + kernel-ahci_LINKLIB += $(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)$(kernel-ahci_LIBSUFFIX).a + endif +endif +kernel-ahci_LINKLIBFILES := $(kernel-ahci_LINKLIBCFILES) $(kernel-ahci_LINKLIBAFILES) + +kernel-ahci_RELLINKLIBCFILES := $(addprefix $(kernel-ahci_OBJDIR)/linklib/,$($(kernel-ahci_DEFNAME)_RELLINKLIBFILES)) +kernel-ahci_RELLINKLIBAFILES := $(addprefix $(kernel-ahci_OBJDIR)/linklib/,$($(kernel-ahci_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-ahci_DEFNAME)_RELLINKLIBFILES) $($(kernel-ahci_DEFNAME)_RELLINKLIBAFILES) $(kernel-ahci_ARCHNLIBFILES)),) + kernel-ahci_RELLINKLIB := +else + kernel-ahci_RELLINKLIB := $(kernel-ahci_LIBDIR)/lib$(kernel-ahci_DEFNAME)_rel$(kernel-ahci_LIBSUFFIX).a + ifneq (ahci,$(kernel-ahci_LINKLIBNAME)) + kernel-ahci_RELLINKLIB += $(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)_rel$(kernel-ahci_LIBSUFFIX).a + endif +endif +kernel-ahci_RELLINKLIBFILES := $(kernel-ahci_RELLINKLIBCFILES) $(kernel-ahci_RELLINKLIBAFILES) +endif + +kernel-ahci_ENDOBJS := $(addsuffix .o,$(kernel-ahci_ENDFILES)) +kernel-ahci_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(notdir $(kernel-ahci_NLIBARCHFILES))) $(addprefix $(kernel-ahci_OBJDIR)/linklib/arch/,$(notdir $(kernel-ahci_ARCHNLIBFILES))) $(kernel-ahci_LINKLIBFILES)) \ + +kernel-ahci_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(notdir $(kernel-ahci_NLIBARCHFILES))) $(addprefix $(kernel-ahci_OBJDIR)/linklib/arch/,$(notdir $(kernel-ahci_ARCHNLIBFILES))) $(kernel-ahci_RELLINKLIBFILES)) \ + +$(kernel-ahci_LINKLIBFILES) $(kernel-ahci_RELLINKLIBFILES) : | $(kernel-ahci_OBJDIR)/linklib +$(kernel-ahci_LINKLIBOBJS) $(kernel-ahci_RELLINKLIBOBJS) : | $(kernel-ahci_OBJDIR)/linklib + +kernel-ahci_CCFILES := $(kernel-ahci_C_NARCHFILES) +kernel-ahci_TARGETCCFILES := $(strip $(kernel-ahci_STARTFILES) $(kernel-ahci_ENDFILES)) +kernel-ahci_LINKLIBCCFILES := $(strip $(kernel-ahci_NLIBARCHFILES) $(kernel-ahci_LINKLIBCFILES) $(kernel-ahci_RELLINKLIBCFILES)) +kernel-ahci_LINKLIBCCGENFILES := $(strip $(kernel-ahci_LINKLIBCFILES) $(kernel-ahci_RELLINKLIBCFILES)) + + +kernel-ahci_CXXABSBASENAMES := $(foreach kernel-ahci_CXXBASE,$(kernel-ahci_CXX_NARCHFILES),$(if $(filter /%,$(kernel-ahci_CXXBASE)),$(kernel-ahci_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-ahci_CXXBASE)))) + +ifneq ($(kernel-ahci_CXXABSBASENAMES),) + +kernel-ahci_CXXBASENAMES := $(basename $(kernel-ahci_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-ahci_MCXX_FILES := $(strip $(foreach kernel-ahci_CXXBASE,$(kernel-ahci_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-ahci_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-ahci_EXT),$(kernel-ahci_CXXBASE))))))) + +ifeq (,) +kernel-ahci_MCXX_SRCWILDCARD := % +else +kernel-ahci_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-ahci_OBJDIR),) + kernel-ahci_CXXTARGETS := $(notdir $(kernel-ahci_CXXBASENAMES:=.o)) + kernel-ahci_CXXDTARGETS := $(notdir $(kernel-ahci_CXXBASENAMES:=.d)) + kernel-ahci_MCXX_WILDCARD := % +else + kernel-ahci_CXXTARGETS := $(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(kernel-ahci_CXXBASENAMES:=.o))) + kernel-ahci_CXXDTARGETS := $(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(kernel-ahci_CXXBASENAMES:=.d))) + kernel-ahci_MCXX_WILDCARD := $(kernel-ahci_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-ahci_CXXTARGETS) $(kernel-ahci_CXXDTARGETS) : | $(kernel-ahci_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-ahci_MCXX_CPPFLAGS := $(kernel-ahci_CPPFLAGS) +kernel-ahci_CXXFLAGS := $(kernel-ahci_CXXFLAGS) +ifeq ($(kernel-ahci_DXXFLAGS),) + kernel-ahci_DXXFLAGS := $(kernel-ahci_CXXFLAGS) +else + kernel-ahci_DXXFLAGS := $(kernel-ahci_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-ahci_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-ahci_STRIP ?= $(HOST_STRIP) + kernel-ahci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-ahci_CXXCMD:=$(HOST_CXX) + kernel-ahci_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-ahci_MCXX_CPPFLAGS) $(kernel-ahci_MCXX_EXTRA_CPPFLAGS)) + kernel-ahci_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-ahci_CXXFLAGS)) + kernel-ahci_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-ahci_DXXFLAGS)) + kernel-ahci_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-ahci_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-ahci_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-ahci_STRIP ?= $(TARGET_STRIP) + kernel-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-ahci_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-ahci_MCXX_CPPFLAGS := $(strip $(kernel-ahci_MCXX_CPPFLAGS) $(kernel-ahci_MCXX_EXTRA_CPPFLAGS)) + kernel-ahci_CXXFLAGS := $(strip $(kernel-ahci_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-ahci_DXXFLAGS := $(kernel-ahci_DXXFLAGS) + kernel-ahci_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-ahci_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-ahci_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-ahci_STRIP ?= $(ECHO) >/dev/null + kernel-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-ahci_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-ahci_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-ahci_MCXX_CPPFLAGS) $(kernel-ahci_MCXX_EXTRA_CPPFLAGS)) + kernel-ahci_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-ahci_CXXFLAGS)) + kernel-ahci_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-ahci_DXXFLAGS)) + kernel-ahci_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-ahci_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-ahci_CXXCMD) $(kernel-ahci_CXXIQUOTE) $(dir $(2)) $(kernel-ahci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_CXXIQUOTE) . $(kernel-ahci_CXXIQUOTE_END) $(strip $(kernel-ahci_CXXFLAGS) $(kernel-ahci_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-ahci_CXXCMD) $(kernel-ahci_CXXIQUOTE) $(dir $(2)) $(kernel-ahci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_CXXIQUOTE) . $(kernel-ahci_CXXIQUOTE_END) $(strip $(kernel-ahci_CXXFLAGS) $(kernel-ahci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-ahci_CXXCMD) $(kernel-ahci_CXXIQUOTE) $(dir $(2)) $(kernel-ahci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_CXXIQUOTE) . $(kernel-ahci_CXXIQUOTE_END) $(strip $(kernel-ahci_CXXFLAGS) $(kernel-ahci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-ahci_CXXCMD)" $(MKDEPEND) $(strip $(kernel-ahci_DXXFLAGS) $(kernel-ahci_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-ahci_OBJDIR),) + $(foreach kernel-ahci_CXXFILE,$(kernel-ahci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-ahci_CXXFILE))),$(kernel-ahci_CXXFILE)))) +else + $(foreach kernel-ahci_CXXFILE,$(kernel-ahci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(basename $(kernel-ahci_CXXFILE)))),$(kernel-ahci_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-ahci_OBJC_NARCHFILES),) + +ifeq (,) +kernel-ahci_MOBJC_SRCWILDCARD := % +else +kernel-ahci_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-ahci_OBJDIR),) + kernel-ahci_MOBJC_TARGETS := $(addsuffix .o,$(kernel-ahci_OBJC_NARCHFILES)) + kernel-ahci_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-ahci_OBJC_NARCHFILES)) + kernel-ahci_MOBJC_WILDCARD := % +else + kernel-ahci_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/,$(kernel-ahci_OBJC_NARCHFILES))) + kernel-ahci_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/,$(kernel-ahci_OBJC_NARCHFILES))) + kernel-ahci_MOBJC_WILDCARD := $(kernel-ahci_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-ahci_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-ahci_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-ahci_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-ahci_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-ahci_MOBJC_DIRS := $(foreach dir, $(kernel-ahci_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-ahci_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-ahci_MOBJC_DIRS),) + kernel-ahci_MOBJC_DIRS := $(shell echo $(kernel-ahci_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-ahci_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-ahci_CC := $(TARGET_CC) +else + kernel-ahci_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-ahci_MOBJC_CPPFLAGS := $(kernel-ahci_CPPFLAGS) +kernel-ahci_OBJCFLAGS := $(kernel-ahci_CFLAGS) +kernel-ahci_OBJCFLAGS := $(kernel-ahci_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-ahci_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-ahci_OBJCFLAGS))) +ifeq ($(kernel-ahci_DFLAGS),) + kernel-ahci_OBJCDFLAGS := $(kernel-ahci_CFLAGS) +else + kernel-ahci_OBJCDFLAGS := $(kernel-ahci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-ahci_LINK ?= $(strip $(kernel-ahci_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-ahci_STRIP ?= $(TARGET_STRIP) + kernel-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-ahci_CC) $(TARGET_SYSROOT)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_MOBJC_CPPFLAGS:=$(strip $(kernel-ahci_MOBJC_CPPFLAGS) $(kernel-ahci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_OBJCFLAGS:=$(strip $(kernel-ahci_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_OBJCDFLAGS:=$(kernel-ahci_OBJCDFLAGS) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-ahci_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-ahci_STRIP ?= $(HOST_STRIP) + kernel-ahci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-ahci_MOBJC_CPPFLAGS) $(kernel-ahci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_OBJCFLAGS)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_OBJCDFLAGS)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_IQUOTE:=$(HOST_IQUOTE) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-ahci_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-ahci_STRIP ?= $(ECHO) >/dev/null + kernel-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-ahci_MOBJC_CPPFLAGS) $(kernel-ahci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_OBJCFLAGS)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_OBJCDFLAGS)) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-ahci_MOBJC_TARGETS) $(kernel-ahci_MOBJC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-ahci_MOBJC_TARGETS) : CPPFLAGS := $(kernel-ahci_MOBJC_CPPFLAGS) +$(kernel-ahci_MOBJC_TARGETS) : CFLAGS := $(kernel-ahci_OBJCFLAGS) +$(kernel-ahci_MOBJC_TARGETS) : $(kernel-ahci_MOBJC_WILDCARD).o : $(kernel-ahci_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-ahci_MOBJC_DTARGETS) : $(kernel-ahci_MOBJC_WILDCARD).d : $(kernel-ahci_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-ahci_OBJCDFLAGS) $(kernel-ahci_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-ahci_MC_SRCWILDCARD := % +else +kernel-ahci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-ahci_OBJDIR),) +kernel-ahci_MC_TARGETS := $(addsuffix .o,$(kernel-ahci_CCFILES)) +kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(kernel-ahci_CCFILES)) +kernel-ahci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(kernel-ahci_CCFILES)))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(kernel-ahci_CCFILES)))) +else +ifeq (,) + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/,$(kernel-ahci_CCFILES))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/,$(kernel-ahci_CCFILES))) +else + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/,$(patsubst /%,%,$(kernel-ahci_CCFILES)))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/,$(patsubst /%,%,$(kernel-ahci_CCFILES)))) +endif +endif +kernel-ahci_MC_TGTWILDCARD := $(kernel-ahci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-ahci_CCFILES)) + +# Be sure that all .c files are found +kernel-ahci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-ahci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-ahci_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-ahci_MC_DIRS := $(foreach dir, $(kernel-ahci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-ahci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-ahci_MC_DIRS),) + kernel-ahci_MC_DIRS := $(shell echo $(kernel-ahci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-ahci_MC_DIRS) +endif + +endif + +kernel-ahci_MC_CPPFLAGS := $(kernel-ahci_CPPFLAGS) +kernel-ahci_CFLAGS := $(kernel-ahci_CFLAGS) +ifeq ($(kernel-ahci_DFLAGS),) + kernel-ahci_DFLAGS := $(kernel-ahci_CFLAGS) +else + kernel-ahci_DFLAGS := $(kernel-ahci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-ahci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-ahci_STRIP ?= $(TARGET_STRIP) +kernel-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(kernel-ahci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(kernel-ahci_DFLAGS) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-ahci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-ahci_STRIP ?= $(HOST_STRIP) +kernel-ahci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_DFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-ahci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-ahci_STRIP ?= $(ECHO) >/dev/null +kernel-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_DFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-ahci_MC_TARGETS) : CPPFLAGS := $(kernel-ahci_MC_CPPFLAGS) +$(kernel-ahci_MC_TARGETS) : CFLAGS := $(kernel-ahci_CFLAGS) +$(kernel-ahci_MC_TARGETS) : $(kernel-ahci_MC_TGTWILDCARD).o : $(kernel-ahci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-ahci_MC_DTARGETS) : $(kernel-ahci_MC_TGTWILDCARD).d : $(kernel-ahci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-ahci_DFLAGS) $(kernel-ahci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-ahci_MC_SRCWILDCARD := % +else +kernel-ahci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-ahci_OBJDIR),) +kernel-ahci_MC_TARGETS := $(addsuffix .o,$(kernel-ahci_TARGETCCFILES)) +kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(kernel-ahci_TARGETCCFILES)) +kernel-ahci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(kernel-ahci_TARGETCCFILES)))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(kernel-ahci_TARGETCCFILES)))) +else +ifeq (,) + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/,$(kernel-ahci_TARGETCCFILES))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/,$(kernel-ahci_TARGETCCFILES))) +else + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/,$(patsubst /%,%,$(kernel-ahci_TARGETCCFILES)))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/,$(patsubst /%,%,$(kernel-ahci_TARGETCCFILES)))) +endif +endif +kernel-ahci_MC_TGTWILDCARD := $(kernel-ahci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-ahci_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-ahci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-ahci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-ahci_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-ahci_MC_DIRS := $(foreach dir, $(kernel-ahci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-ahci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-ahci_MC_DIRS),) + kernel-ahci_MC_DIRS := $(shell echo $(kernel-ahci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-ahci_MC_DIRS) +endif + +endif + +kernel-ahci_MC_CPPFLAGS := $(kernel-ahci_CPPFLAGS) -D__AROS__ +kernel-ahci_CFLAGS := $(kernel-ahci_CFLAGS) +ifeq ($(kernel-ahci_DFLAGS),) + kernel-ahci_DFLAGS := $(kernel-ahci_CFLAGS) +else + kernel-ahci_DFLAGS := $(kernel-ahci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-ahci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-ahci_STRIP ?= $(TARGET_STRIP) +kernel-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(kernel-ahci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(kernel-ahci_DFLAGS) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-ahci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-ahci_STRIP ?= $(HOST_STRIP) +kernel-ahci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_DFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-ahci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-ahci_STRIP ?= $(ECHO) >/dev/null +kernel-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_DFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-ahci_MC_TARGETS) : CPPFLAGS := $(kernel-ahci_MC_CPPFLAGS) +$(kernel-ahci_MC_TARGETS) : CFLAGS := $(kernel-ahci_CFLAGS) +$(kernel-ahci_MC_TARGETS) : $(kernel-ahci_MC_TGTWILDCARD).o : $(kernel-ahci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-ahci_MC_DTARGETS) : $(kernel-ahci_MC_TGTWILDCARD).d : $(kernel-ahci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-ahci_DFLAGS) $(kernel-ahci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-ahci_MC_SRCWILDCARD := % +else +kernel-ahci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-ahci_OBJDIR)/linklib,) +kernel-ahci_MC_TARGETS := $(addsuffix .o,$(kernel-ahci_NLIBARCHFILES)) +kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(kernel-ahci_NLIBARCHFILES)) +kernel-ahci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(notdir $(kernel-ahci_NLIBARCHFILES)))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(notdir $(kernel-ahci_NLIBARCHFILES)))) +else +ifeq (,) + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(kernel-ahci_NLIBARCHFILES))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(kernel-ahci_NLIBARCHFILES))) +else + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-ahci_NLIBARCHFILES)))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-ahci_NLIBARCHFILES)))) +endif +endif +kernel-ahci_MC_TGTWILDCARD := $(kernel-ahci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-ahci_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-ahci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-ahci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-ahci_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-ahci_MC_DIRS := $(foreach dir, $(kernel-ahci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-ahci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-ahci_MC_DIRS),) + kernel-ahci_MC_DIRS := $(shell echo $(kernel-ahci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-ahci_MC_DIRS) +endif + +endif + +kernel-ahci_MC_CPPFLAGS := $(kernel-ahci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-ahci_CFLAGS := $(kernel-ahci_LINKLIBCFLAGS) +ifeq ($(kernel-ahci_LINKLIBDFLAGS),) + kernel-ahci_DFLAGS := $(kernel-ahci_LINKLIBCFLAGS) +else + kernel-ahci_DFLAGS := $(kernel-ahci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-ahci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-ahci_STRIP ?= $(TARGET_STRIP) +kernel-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(kernel-ahci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(kernel-ahci_DFLAGS) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-ahci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-ahci_STRIP ?= $(HOST_STRIP) +kernel-ahci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_DFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-ahci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-ahci_STRIP ?= $(ECHO) >/dev/null +kernel-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_DFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-ahci_MC_TARGETS) : CPPFLAGS := $(kernel-ahci_MC_CPPFLAGS) +$(kernel-ahci_MC_TARGETS) : CFLAGS := $(kernel-ahci_CFLAGS) +$(kernel-ahci_MC_TARGETS) : $(kernel-ahci_MC_TGTWILDCARD).o : $(kernel-ahci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-ahci_MC_DTARGETS) : $(kernel-ahci_MC_TGTWILDCARD).d : $(kernel-ahci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-ahci_DFLAGS) $(kernel-ahci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-ahci_OBJDIR)/linklib,) +kernel-ahci_MC_SRCWILDCARD := % +else +kernel-ahci_MC_SRCWILDCARD := $(kernel-ahci_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-ahci_OBJDIR)/linklib,) +kernel-ahci_MC_TARGETS := $(addsuffix .o,$(kernel-ahci_LINKLIBCCGENFILES)) +kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(kernel-ahci_LINKLIBCCGENFILES)) +kernel-ahci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(notdir $(kernel-ahci_LINKLIBCCGENFILES)))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(notdir $(kernel-ahci_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-ahci_OBJDIR)/linklib,) + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(kernel-ahci_LINKLIBCCGENFILES))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(kernel-ahci_LINKLIBCCGENFILES))) +else + kernel-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(patsubst $(kernel-ahci_OBJDIR)/linklib/%,%,$(kernel-ahci_LINKLIBCCGENFILES)))) + kernel-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(patsubst $(kernel-ahci_OBJDIR)/linklib/%,%,$(kernel-ahci_LINKLIBCCGENFILES)))) +endif +endif +kernel-ahci_MC_TGTWILDCARD := $(kernel-ahci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-ahci_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-ahci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-ahci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-ahci_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-ahci_MC_DIRS := $(foreach dir, $(kernel-ahci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-ahci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-ahci_MC_DIRS),) + kernel-ahci_MC_DIRS := $(shell echo $(kernel-ahci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-ahci_MC_DIRS) +endif + +endif + +kernel-ahci_MC_CPPFLAGS := $(kernel-ahci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-ahci_CFLAGS := $(kernel-ahci_LINKLIBCFLAGS) +ifeq ($(kernel-ahci_LINKLIBDFLAGS),) + kernel-ahci_DFLAGS := $(kernel-ahci_LINKLIBCFLAGS) +else + kernel-ahci_DFLAGS := $(kernel-ahci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-ahci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-ahci_STRIP ?= $(TARGET_STRIP) +kernel-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(kernel-ahci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(kernel-ahci_DFLAGS) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-ahci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-ahci_STRIP ?= $(HOST_STRIP) +kernel-ahci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-ahci_DFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-ahci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-ahci_STRIP ?= $(ECHO) >/dev/null +kernel-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-ahci_MC_CPPFLAGS) $(kernel-ahci_MC_EXTRA_CPPFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_CFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-ahci_DFLAGS)) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-ahci_MC_TARGETS) $(kernel-ahci_MC_DTARGETS) : kernel-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-ahci_MC_TARGETS) : CPPFLAGS := $(kernel-ahci_MC_CPPFLAGS) +$(kernel-ahci_MC_TARGETS) : CFLAGS := $(kernel-ahci_CFLAGS) +$(kernel-ahci_MC_TARGETS) : $(kernel-ahci_MC_TGTWILDCARD).o : $(kernel-ahci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-ahci_IQUOTE) $(dir $<) $(kernel-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-ahci_IQUOTE) . $(kernel-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-ahci_MC_DTARGETS) : $(kernel-ahci_MC_TGTWILDCARD).d : $(kernel-ahci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-ahci_DFLAGS) $(kernel-ahci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-ahci_LINKLIBAFILES),) + +ifeq ($(kernel-ahci_OBJDIR)/linklib,) +kernel-ahci-MA_TARGETS := $(addsuffix .o,$(kernel-ahci_LINKLIBAFILES) $(kernel-ahci_RELLINKLIBAFILES)) +kernel-ahci-MA_WILDCARD := % +else +kernel-ahci-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(notdir $(kernel-ahci_LINKLIBAFILES) $(kernel-ahci_RELLINKLIBAFILES)))) +kernel-ahci-MA_WILDCARD := $(kernel-ahci_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-ahci-MA_TARGETS) : | $(addsuffix .S,$(kernel-ahci_LINKLIBAFILES) $(kernel-ahci_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-ahci-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-ahci-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-ahci_LINKLIBAFILES) $(kernel-ahci_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-ahci-MA_DIRS := $(foreach dir, $(kernel-ahci-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-ahci-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-ahci-MA_DIRS),) + kernel-ahci-MA_DIRS := $(shell echo $(kernel-ahci-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-ahci-MA_DIRS) +endif + +endif + +kernel-ahci-MA_ASSEMBLER ?= $(kernel-ahci_ASSEMBLER) + +$(kernel-ahci-MA_TARGETS) : kernel-ahci-MA_CMD:= $(kernel-ahci-MA_ASSEMBLER) + +$(kernel-ahci-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-ahci-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-ahci-MA_TARGETS) : $(kernel-ahci-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-ahci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-ahci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-ahci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-ahci_SUFFIX := device +else +kernel-ahci_SUFFIX := +endif + +ifeq (target,target) +kernel-ahci_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-ahci_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-ahci_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-ahci_SUFFIX),handler) +kernel-ahci_MODULE := $(AROSDIR)/$(kernel-ahci_MODDIR)/$(kernel-ahci_DEFNAME)-$(kernel-ahci_SUFFIX) +else +kernel-ahci_MODULE := $(AROSDIR)/$(kernel-ahci_MODDIR)/$(kernel-ahci_DEFNAME).$(kernel-ahci_SUFFIX) +endif +kernel-ahci_KOBJ := $(KOBJSDIR)/$(kernel-ahci_DEFNAME)_$(kernel-ahci_SUFFIX).o +else +kernel-ahci_MODULE := +kernel-ahci_KOBJ := +endif + +kernel-ahci-quick : kernel-ahci +kernel-ahci : $(kernel-ahci_MODULE) $(kernel-ahci_LINKLIB) $(kernel-ahci_RELLINKLIB) +ifeq (M,M) +kernel-ahci-kobj : $(kernel-ahci_KOBJ) $(kernel-ahci_LINKLIB) $(kernel-ahci_RELLINKLIB) +kernel-ahci-kobj-quick : $(kernel-ahci_KOBJ) $(kernel-ahci_LINKLIB) $(kernel-ahci_RELLINKLIB) +endif +ifeq (M,M) +kernel-ahci-linklib : $(kernel-ahci_LINKLIB) $(kernel-ahci_RELLINKLIB) +endif + +kernel-ahci_OBJS := $(addsuffix .o,$(kernel-ahci_STARTFILES)) $(kernel-ahci_ARCHOBJS) \ + $(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(kernel-ahci_C_NARCHFILES:=.o) $(kernel-ahci_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-ahci_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (ahci,con) + kernel-ahci_ERR := $(notdir $(kernel-ahci_MODULE)).err +else + kernel-ahci_ERR := ahci.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-ahci_DEFNAME)_LDFLAGS) $(kernel-ahci_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-ahci_LIBS) $($(kernel-ahci_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-ahci_MODULE) : LIB_NAMES := $(kernel-ahci_LIBS) $($(kernel-ahci_DEFNAME)_LIBS) +$(kernel-ahci_MODULE) : OBJS := $(kernel-ahci_STARTOBJS) $(kernel-ahci_OBJS) $(USER_OBJS) +$(kernel-ahci_MODULE) : ENDTAG := $(kernel-ahci_ENDOBJS) +$(kernel-ahci_MODULE) : ERR := $(kernel-ahci_ERR) +$(kernel-ahci_MODULE) : OBJDIR := $(kernel-ahci_OBJDIR) +$(kernel-ahci_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-ahci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-ahci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-ahci_MODULE) : $(kernel-ahci_STARTOBJS) $(kernel-ahci_OBJS) $(USER_OBJS) $(kernel-ahci_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-ahci_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-ahci_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-ahci_LC_LINKLIBNAME := $(shell echo $(kernel-ahci_LINKLIBNAME) | tr A-Z a-z) +kernel-ahci_LC_MODNAME := $(shell echo ahci | tr A-Z a-z) +ifneq ($(kernel-ahci_LINKLIB),) + +ifeq (target,target) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(HOST_AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(KERNEL_AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)$(kernel-ahci_LIBSUFFIX).a : $(kernel-ahci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-ahci_AR) $@ $^ + $(Q)$(kernel-ahci_RANLIB) $@ +ifneq ($(kernel-ahci_LC_MODNAME),$(kernel-ahci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-ahci_LIBDIR)/libahci$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(AR) +$(kernel-ahci_LIBDIR)/libahci$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-ahci_LIBDIR)/libahci$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(HOST_AR) +$(kernel-ahci_LIBDIR)/libahci$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-ahci_LIBDIR)/libahci$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(KERNEL_AR) +$(kernel-ahci_LIBDIR)/libahci$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-ahci_LIBDIR)/libahci$(kernel-ahci_LIBSUFFIX).a : $(kernel-ahci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-ahci_AR) $@ $^ + $(Q)$(kernel-ahci_RANLIB) $@ +endif + + +ifneq ($(kernel-ahci_LINKLIB),) +$(kernel-ahci_LINKLIB) : | $(kernel-ahci_LIBDIR) +else +$(kernel-ahci_LINKLIB) :: $(kernel-ahci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-ahci_LIBDIR) + +endif + +ifneq ($(kernel-ahci_RELLINKLIB),) + +ifeq (target,target) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(HOST_AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(KERNEL_AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_LINKLIBNAME)_rel$(kernel-ahci_LIBSUFFIX).a : $(kernel-ahci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-ahci_AR) $@ $^ + $(Q)$(kernel-ahci_RANLIB) $@ +ifneq ($(kernel-ahci_LC_MODNAME),$(kernel-ahci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_DEFNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_DEFNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_DEFNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(HOST_AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_DEFNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_DEFNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_AR:=$(KERNEL_AR) +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_DEFNAME)_rel$(kernel-ahci_LIBSUFFIX).a : kernel-ahci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-ahci_LIBDIR)/lib$(kernel-ahci_DEFNAME)_rel$(kernel-ahci_LIBSUFFIX).a : $(kernel-ahci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-ahci_AR) $@ $^ + $(Q)$(kernel-ahci_RANLIB) $@ +endif + + +ifneq ($(kernel-ahci_RELLINKLIB),) +$(kernel-ahci_RELLINKLIB) : | $(kernel-ahci_LIBDIR) +else +$(kernel-ahci_RELLINKLIB) :: $(kernel-ahci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-ahci_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-ahci_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-ahci_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-ahci_SYMBOLS := $(kernel-ahci_KBASE) + +kernel-ahci_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-ahci_KOBJ_LIBS := $(filter-out $(kernel-ahci_KLIB),$(kernel-ahci_LIBS)) $(kernel-ahci_KAUTOLIB) +$(kernel-ahci_KOBJ) : LINKLIBS:=$(kernel-ahci_KOBJ_LIBS) $($(kernel-ahci_DEFNAME)_LIBS) +$(kernel-ahci_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-ahci_SYMBOLS)) +$(kernel-ahci_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-ahci_KOBJ) : $(kernel-ahci_OBJS) $(USER_OBJS) $(kernel-ahci_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-ahci_DEPS := $(addprefix $(kernel-ahci_OBJDIR)/,$(notdir $(kernel-ahci_CCFILES:=.d) $(kernel-ahci_TARGETCCFILES:=.d) $(kernel-ahci_CXXFILES:=.d))) $(addprefix $(kernel-ahci_OBJDIR)/linklib/,$(notdir $(kernel-ahci_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-ahci_DEPS),) + ifneq (kernel-ahci kernel-ahci-quick kernel-ahci-kobj kernel-ahci-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-ahci kernel-ahci-quick kernel-ahci-kobj kernel-ahci-kobj-quick),) + -include $(kernel-ahci_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-ahci_DEPS) + endif + endif +endif + +$(kernel-ahci_OBJS) $(kernel-ahci_DEPS) : | $(kernel-ahci_OBJDIR)/linklib + +ifneq ($(kernel-ahci_OBJS) $(kernel-ahci_DEPS) $(kernel-ahci_MODULE) $(kernel-ahci_KOBJ),) +$(kernel-ahci_OBJS) $(kernel-ahci_DEPS) $(kernel-ahci_MODULE) $(kernel-ahci_KOBJ) : | $(kernel-ahci_OBJDIR) $(AROSDIR)/$(kernel-ahci_MODDIR) $(KOBJSDIR) +else +$(kernel-ahci_OBJS) $(kernel-ahci_DEPS) $(kernel-ahci_MODULE) $(kernel-ahci_KOBJ) :: $(kernel-ahci_OBJDIR) $(AROSDIR)/$(kernel-ahci_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-ahci_OBJDIR) $(AROSDIR)/$(kernel-ahci_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-ahci kernel-ahci-includes kernel-ahci-quick kernel-ahci-kobj kernel-ahci-kobj-quick),) # Only for this target these deps are wanted + +kernel-ahci_DFILE_DEPS := $(kernel-ahci_LIBDEFSINC) $(kernel-ahci_DEFLIBDEFSINC) \ + $(addprefix $(kernel-ahci_INCDIR)/,$($(kernel-ahci_DEFNAME)_INCLUDES)) +$(kernel-ahci_DEPS) : $(kernel-ahci_DFILE_DEPS) +endif + +kernel-ahci_TOCLEAN := $(kernel-ahci_OBJS) $(kernel-ahci_DEPS) \ + $(kernel-ahci_MODULE) $(kernel-ahci_LINKLIB) $(kernel-ahci_KOBJ) \ + $(kernel-ahci_OBJDIR)/Makefile.ahcidevice \ + $(addprefix $(kernel-ahci_OBJDIR)/include/,$($(kernel-ahci_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-ahci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-ahci_INCDIR)/,$($(kernel-ahci_DEFNAME)_INCLUDES)) \ + $(kernel-ahci_OBJDIR)/ahci_geninc $(kernel-ahci_OBJDIR)/ahci_incs \ + $(addsuffix .c,$(kernel-ahci_LINKLIBFILES)) $(kernel-ahci_LINKLIBOBJS) $(kernel-ahci_LIBDEFSINC) \ + $(kernel-ahci_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-ahci_STARTFILES) $(kernel-ahci_ENDFILES)) \ + $(kernel-ahci_ENDOBJS) +kernel-ahci-clean : FILES := $(kernel-ahci_TOCLEAN) +kernel-ahci-clean :: + $(Q)$(ECHO) "Cleaning up for module ahci" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-ahci_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/devs/scsi/mmakefile b/rom/devs/scsi/mmakefile new file mode 100644 index 00000000000..e7af5d8b2ee --- /dev/null +++ b/rom/devs/scsi/mmakefile @@ -0,0 +1,1839 @@ +# $Id: mmakefile.src 55802 2019-03-08 21:47:59Z wawa $ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -D__OOP_NOMETHODBASES__ -D__OOP_NOATTRBASES__ +USER_CPPFLAGS += -DDEBUG=1 + +INCLUDE_FILES := $(call WILDCARD, include/devices/*.h) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include/devices,) +TMP_DIR := include/devices +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include/devices,$(GENINCDIR)/devices,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/devices/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/devices/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/devices/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/devices/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/devices/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include/devices,) +BD_INCL_FILES2 := $(subst include/devices,$(AROS_INCLUDES)/devices,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/devices/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/devices/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/devices/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +INCLUDE_FILES := $(call WILDCARD, include/hardware/*.h) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include/hardware,) +TMP_DIR := include/hardware +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include/hardware,$(GENINCDIR)/hardware,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hardware/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/hardware/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/hardware/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hardware/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/hardware/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include/hardware,) +BD_INCL_FILES2 := $(subst include/hardware,$(AROS_INCLUDES)/hardware,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hardware/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hardware/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/hardware/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +INCLUDE_FILES := $(call WILDCARD, include/hidd/*.h) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include/hidd,) +TMP_DIR := include/hidd +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include/hidd,$(GENINCDIR)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/hidd/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/hidd/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include/hidd,) +BD_INCL_FILES2 := $(subst include/hidd,$(AROS_INCLUDES)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +USER_LDFLAGS := -static + +SCSI_DEVICEFILES := \ + scsi_init \ + scsi \ + lowlevel \ + timer \ + bootwait \ + waitto + +SCSI_CLASSFILES := \ + scsi_controllerclass \ + scsi_busclass \ + scsi_unitclass + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-scsi +#MM kernel-scsi-quick +#MM kernel-scsi-makefile +#MM kernel-scsi-clean + +# ABI targets: +#MM- includes-all : kernel-scsi-includes +#MM- linklibs-scsi: kernel-scsi-linklib +#MM- linklibs-scsi_rel : kernel-scsi-linklib +#MM- includes-scsi: kernel-scsi-includes +#MM- includes-scsi_rel : kernel-scsi-includes +#MM- kernel-scsi : kernel-scsi-includes core-linklibs linklibs- +#MM kernel-scsi-linklib : kernel-scsi-includes includes- +#MM- kernel-scsi-quick : kernel-scsi-includes-quick +#MM kernel-scsi-includes : kernel-scsi-makefile kernel-scsi-includes-dirs \ +#MM includes-generate-deps kernel-scsi-fd +#MM kernel-scsi-includes-quick +#MM kernel-scsi-includes-dirs +#MM kernel-scsi-fd + +# Library targets +#MM kernel-scsi-kobj : core-linklibs linklibs- +#MM kernel-scsi-kobj-quick : + +# Library with ABI targets: +#MM kernel-scsi-kobj : kernel-scsi-includes core-linklibs linklibs- +#MM kernel-scsi-kobj-quick : kernel-scsi-includes-quick + +# All MetaMake targets defined by this macro +kernel-scsi_ALLTARGETS := kernel-scsi kernel-scsi-quick kernel-scsi-clean + +ifeq (M,M) +kernel-scsi_ALLTARGETS += kernel-scsi-kobj kernel-scsi-kobj-quick +endif + +ifeq (M,M) +kernel-scsi_ALLTARGETS += kernel-scsi-includes \ + kernel-scsi-includes-quick kernel-scsi-includes-dirs \ + kernel-scsi-linklib kernel-scsi-fd +endif + +.PHONY : $(kernel-scsi_ALLTARGETS) kernel-scsi-makefile + +ifeq (scsi,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-scsi_DEFNAME := scsi_ +else + kernel-scsi_DEFNAME := scsi +endif +kernel-scsi_DEFLINKLIBNAME := $(kernel-scsi_DEFNAME) +ifneq (,) + kernel-scsi_LINKLIBNAME := +else + kernel-scsi_LINKLIBNAME = $(kernel-scsi_DEFLINKLIBNAME) +endif +kernel-scsi_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-scsi_DEFCPPFLAGS += -I +endif +kernel-scsi_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-scsi_DFLAGS := +else + kernel-scsi_DFLAGS = $(kernel-scsi_DEFDFLAGS) +endif +kernel-scsi_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-scsi_DXXFLAGS := +else + kernel-scsi_DXXFLAGS = $(kernel-scsi_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-scsi_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-scsi_DEFDFLAGS)) +kernel-scsi_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-scsi_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-scsi_FUNCINSTR := yes +kernel-scsi_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-scsi_DEFDFLAGS)) +kernel-scsi_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-scsi_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-scsi_OBJDIR := +else +kernel-scsi_OBJDIR := $(OBJDIR)/$(kernel-scsi_DEFNAME) +endif +ifneq (,) +kernel-scsi_OBJDIR := $(kernel-scsi_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-scsi-makefile := $(kernel-scsi_OBJDIR)/Makefile.$(kernel-scsi_DEFNAME)device +kernel-scsi-genmakefile : $(kernel-scsi-makefile) + + +kernel-scsi-genmakefile_OPTS := +ifneq (,) + kernel-scsi-genmakefile_OPTS += -f + kernel-scsi-genmakefile_MODNAME := scsi_ +else + kernel-scsi-genmakefile_MODNAME := scsi +endif +kernel-scsi-genmakefile_TARGET := Makefile.$(kernel-scsi-genmakefile_MODNAME)device +kernel-scsi-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-scsi-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-scsi-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-scsi-genmakefile_OPTS += -c + kernel-scsi-genmakefile_DEPS += + endif +else + kernel-scsi-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi.conf + kernel-scsi-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/scsi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-scsi-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-scsi-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-scsi-genmakefile_OPTS += -o + kernel-scsi-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-scsi-genmakefile_OPTS += -s +endif +ifneq ($(kernel-scsi_OBJDIR),) + kernel-scsi-genmakefile_OPTS += -d $(kernel-scsi_OBJDIR) + kernel-scsi-genmakefile_TARGET := $(kernel-scsi_OBJDIR)/$(kernel-scsi-genmakefile_TARGET) +endif + +$(kernel-scsi-genmakefile_TARGET) : OPTS := $(kernel-scsi-genmakefile_OPTS) +$(kernel-scsi-genmakefile_TARGET) : MODNAME := scsi +$(kernel-scsi-genmakefile_TARGET) : MODTYPE := device +$(kernel-scsi-genmakefile_TARGET) : $(kernel-scsi-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-scsi-makefile),) +$(kernel-scsi-makefile) : | $(kernel-scsi_OBJDIR) +else +$(kernel-scsi-makefile) :: $(kernel-scsi_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-scsi_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-scsi_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-scsi-makefile) + +kernel-scsi_DEFMODDIR := $($(kernel-scsi_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-scsi_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-scsi_DEFMODDIR) +endif +ifneq (,) + kernel-scsi_MODDIR := +else + kernel-scsi_MODDIR := $(kernel-scsi_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-scsi_INCDIR := +else +kernel-scsi_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-scsi_LIBDEFSINC := $(kernel-scsi_OBJDIR)/include/$(kernel-scsi_DEFNAME)_libdefs.h +kernel-scsi_DEFLIBDEFSINC := $(kernel-scsi_OBJDIR)/include/$(kernel-scsi_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-scsi-includes-quick : kernel-scsi-includes +kernel-scsi-includes : $(addprefix $(GENINCDIR)/,$($(kernel-scsi_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-scsi_INCDIR)/,$($(kernel-scsi_DEFNAME)_INCLUDES)) \ + $(kernel-scsi_LIBDEFSINC) $(kernel-scsi_DEFLIBDEFSINC) + +ifneq ($($(kernel-scsi_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-scsi-includes_MODNAME := scsi_ +else + kernel-scsi-includes_MODNAME := scsi +endif + +ifneq ($($(kernel-scsi-includes_MODNAME)_INCLUDES),) + +kernel-scsi-includes_TARGETS := $($(kernel-scsi-includes_MODNAME)_INCLUDES) + +kernel-scsi-includes_DEPS := $(GENMODULE) +kernel-scsi-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-scsi-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-scsi-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-scsi-includes_OPTS += -c + kernel-scsi-includes_DEPS += + endif +else + kernel-scsi-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi.conf + kernel-scsi-includes_DEPS += $(SRCDIR)/$(CURDIR)/scsi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-scsi-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-scsi-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-scsi-includes_OPTS += -o + kernel-scsi-includes_DEPS += + endif +endif +ifneq (,) + kernel-scsi-includes_OPTS += -s +endif +ifneq ($(kernel-scsi_OBJDIR)/include,) + kernel-scsi-includes_OPTS += -d $(kernel-scsi_OBJDIR)/include + kernel-scsi-includes_TARGETS := $(addprefix $(kernel-scsi_OBJDIR)/include/,$(kernel-scsi-includes_TARGETS)) + kernel-scsi-includes_GENINCFLAG=$(kernel-scsi_OBJDIR)/include/.scsi.device-includes +else + kernel-scsi-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.scsi.device-includes +endif + +$(kernel-scsi-includes_TARGETS) : $(kernel-scsi-includes_DEPS) $(kernel-scsi-includes_GENINCFLAG) + +$(kernel-scsi-includes_GENINCFLAG) : OPTS := $(kernel-scsi-includes_OPTS) +$(kernel-scsi-includes_GENINCFLAG) : MODNAME := scsi +$(kernel-scsi-includes_GENINCFLAG) : MODTYPE := device +$(kernel-scsi-includes_GENINCFLAG) : $(kernel-scsi-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-scsi_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-scsi_DEFNAME)_INCLUDES)) : | $(kernel-scsi_OBJDIR)/scsi_geninc + +$(kernel-scsi_OBJDIR)/scsi_geninc : COPYSRCDIR := $(kernel-scsi_OBJDIR)/include +$(kernel-scsi_OBJDIR)/scsi_geninc : TGTDIR := $(GENINCDIR) +$(kernel-scsi_OBJDIR)/scsi_geninc : FILES := $($(kernel-scsi_DEFNAME)_INCLUDES) +$(kernel-scsi_OBJDIR)/scsi_geninc : $(addprefix $(kernel-scsi_OBJDIR)/include/,$($(kernel-scsi_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-scsi_OBJDIR)/include + +$(addprefix $(kernel-scsi_INCDIR)/,$($(kernel-scsi_DEFNAME)_INCLUDES)) : | $(kernel-scsi_OBJDIR)/scsi_incs + +$(kernel-scsi_OBJDIR)/scsi_incs : COPYSRCDIR := $(kernel-scsi_OBJDIR)/include +$(kernel-scsi_OBJDIR)/scsi_incs : TGTDIR := $(kernel-scsi_INCDIR) +$(kernel-scsi_OBJDIR)/scsi_incs : FILES := $($(kernel-scsi_DEFNAME)_INCLUDES) +$(kernel-scsi_OBJDIR)/scsi_incs : $(addprefix $(kernel-scsi_OBJDIR)/include/,$($(kernel-scsi_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-scsi_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-scsi_DEFNAME)_INCLUDES)))) + +TMPscsi_INCDIRS := \ + $(kernel-scsi_OBJDIR)/include $(addprefix $(kernel-scsi_OBJDIR)/include/,$(kernel-scsi_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-scsi_INCDIRS)) \ + $(kernel-scsi_INCDIR) $(addprefix $(kernel-scsi_INCDIR)/,$(kernel-scsi_INCDIRS)) + +ifneq (kernel-scsi-includes-dirs,) +kernel-scsi-includes-dirs : | $(TMPscsi_INCDIRS) +else +kernel-scsi-includes-dirs :: $(TMPscsi_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPscsi_INCDIRS) + + +endif + +endif + + +kernel-scsi-genlibdefs_OPTS := +ifneq (,) + kernel-scsi-genlibdefs_OPTS += -f + kernel-scsi-genlibdefs_MODNAME := scsi_ +else + kernel-scsi-genlibdefs_MODNAME := scsi +endif +kernel-scsi-genlibdefs_TARGET := $(kernel-scsi-genlibdefs_MODNAME)_libdefs.h +kernel-scsi-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-scsi-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-scsi-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-scsi-genlibdefs_OPTS += -c + kernel-scsi-genlibdefs_DEPS += + endif +else + kernel-scsi-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi.conf + kernel-scsi-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/scsi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-scsi-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-scsi-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-scsi-genlibdefs_OPTS += -o + kernel-scsi-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-scsi-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-scsi_OBJDIR)/include,) + kernel-scsi-genlibdefs_OPTS += -d $(kernel-scsi_OBJDIR)/include + kernel-scsi-genlibdefs_TARGET := $(kernel-scsi_OBJDIR)/include/$(kernel-scsi-genlibdefs_TARGET) +endif +ifneq ($(AROS_TARGET_PLATFORM),) + kernel-scsi-genlibdefs_OPTS += -v $(AROS_TARGET_PLATFORM) +endif + +$(kernel-scsi-genlibdefs_TARGET) : OPTS := $(kernel-scsi-genlibdefs_OPTS) +$(kernel-scsi-genlibdefs_TARGET) : MODNAME := scsi +$(kernel-scsi-genlibdefs_TARGET) : MODTYPE := device +$(kernel-scsi-genlibdefs_TARGET) : $(kernel-scsi-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-scsi_DEFLIBDEFSINC) : FILENAME := $(kernel-scsi_LIBDEFSINC) +$(kernel-scsi_DEFLIBDEFSINC) : $(kernel-scsi_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-scsi_LIBDEFSINC) $(kernel-scsi_DEFLIBDEFSINC) : | $(kernel-scsi_OBJDIR)/include + +ifneq (kernel-scsi-includes-dirs,) +kernel-scsi-includes-dirs : | $(kernel-scsi_OBJDIR)/include +else +kernel-scsi-includes-dirs :: $(kernel-scsi_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-scsi_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-scsi-genmodfiles_OPTS := +ifneq (,) + kernel-scsi-genmodfiles_OPTS += -f + kernel-scsi-genmodfiles_MODNAME := scsi_ +else + kernel-scsi-genmodfiles_MODNAME := scsi +endif +kernel-scsi-genmodfiles_GENTARGETS := $($(kernel-scsi-genmodfiles_MODNAME)_STARTFILES) $($(kernel-scsi-genmodfiles_MODNAME)_ENDFILES) +kernel-scsi-genmodfiles_STUBTARGETS := $($(kernel-scsi-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-scsi-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-scsi-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-scsi-genmodfiles_GENTARGETS)) +kernel-scsi-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-scsi-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-scsi-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-scsi-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-scsi-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-scsi-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-scsi-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-scsi-genmodfiles_OPTS += -c + kernel-scsi-genmodfiles_DEPS += + endif +else + kernel-scsi-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi.conf + kernel-scsi-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/scsi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-scsi-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-scsi-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-scsi-genmodfiles_OPTS += -o + kernel-scsi-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-scsi-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-scsi_OBJDIR),) + kernel-scsi-genmodfiles_OPTS += -d $(kernel-scsi_OBJDIR) + kernel-scsi-genmodfiles_TARGETDIR := $(shell echo $(kernel-scsi_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-scsi-genmodfiles_GENTARGETS := $(addprefix $(kernel-scsi-genmodfiles_TARGETDIR)/,$(kernel-scsi-genmodfiles_GENTARGETS)) + kernel-scsi-genmodfiles_GENFILEFLAG=$(kernel-scsi-genmodfiles_TARGETDIR)/.scsi.device-genfiles +else + kernel-scsi-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.scsi.device-genfiles +endif +ifneq ($(kernel-scsi_OBJDIR)/linklib,) + kernel-scsi-genmodfiles_OPTS += -l $(kernel-scsi_OBJDIR)/linklib + kernel-scsi-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-scsi_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-scsi-genmodfiles_STUBTARGETS := $(addprefix $(kernel-scsi-genmodfiles_STUBTARGETDIR)/,$(kernel-scsi-genmodfiles_STUBTARGETS)) + kernel-scsi-genmodfiles_TARGETDIRS += $(kernel-scsi_OBJDIR)/linklib +else +ifneq ($(kernel-scsi_OBJDIR),) + kernel-scsi-genmodfiles_STUBTARGETS := $(addprefix $(kernel-scsi-genmodfiles_TARGETDIR)/,$(kernel-scsi-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-scsi-genmodfiles_TARGETS := $(kernel-scsi-genmodfiles_GENTARGETS) $(kernel-scsi-genmodfiles_STUBTARGETS) +ifneq ($(kernel-scsi-genmodfiles_TARGETDIRS),) +$(kernel-scsi-genmodfiles_TARGETS) : | $(kernel-scsi-genmodfiles_TARGETDIRS) +endif + +$(kernel-scsi-genmodfiles_TARGETS) : $(kernel-scsi-genmodfiles_DEPS) $(kernel-scsi-genmodfiles_GENFILEFLAG) + +$(kernel-scsi-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-scsi-genmodfiles_OPTS) +$(kernel-scsi-genmodfiles_GENFILEFLAG) : MODNAME := scsi +$(kernel-scsi-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-scsi-genmodfiles_GENFILEFLAG) : $(kernel-scsi-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-scsi-genmodfiles_GENFILEFLAG) : $(kernel-scsi_DEFLIBDEFSINC) $(kernel-scsi-makefile) + + +ifneq ($(kernel-scsi-genmodfiles_GENFILEFLAG),) +$(kernel-scsi-genmodfiles_GENFILEFLAG) : | $(kernel-scsi_OBJDIR)/linklib +else +$(kernel-scsi-genmodfiles_GENFILEFLAG) :: $(kernel-scsi_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-scsi_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-scsi_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-scsi_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-scsi-fd : $(kernel-scsi_FDDIR)/scsi_lib.fd + + +TMP_TARGET := scsi_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/scsi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-scsi_FDDIR),) + TMP_OPTS += -d $(kernel-scsi_FDDIR) + TMP_TARGET := $(kernel-scsi_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := scsi +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-scsi_FDDIR)/scsi_lib.fd : | $(kernel-scsi_FDDIR) + + +ifneq (kernel-scsi-fd-setup,) +kernel-scsi-fd-setup : | $(kernel-scsi_FDDIR) +else +kernel-scsi-fd-setup :: $(kernel-scsi_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-scsi_FDDIR) + +endif + +## Compilation +## +kernel-scsi_FILES := $(SCSI_DEVICEFILES) $(SCSI_CLASSFILES) +kernel-scsi_OBJCFILES := +kernel-scsi_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-scsi_LIBFILES := +kernel-scsi_LIBS := + +kernel-scsi_FDIRS := $(sort $(dir $(kernel-scsi_FILES))) + +kernel-scsi_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-scsi_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-scsi_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-scsi_FILTERARCH = $(filter-out $(call kernel-scsi_MATCHARCH,$(1),$(2)),$(2)) +kernel-scsi_STARTFILES := $(addprefix $(kernel-scsi_OBJDIR)/,$($(kernel-scsi_DEFNAME)_STARTFILES)) +kernel-scsi_ENDFILES := $(addprefix $(kernel-scsi_OBJDIR)/,$($(kernel-scsi_DEFNAME)_ENDFILES)) + +kernel-scsi_ARCHOBJS := $(wildcard $(kernel-scsi_OBJDIR)/arch/*.o) +kernel-scsi_LIBARCHOBJS := $(wildcard $(kernel-scsi_OBJDIR)/linklib/arch/*.o) +kernel-scsi_ARCHFILES := $(basename $(notdir $(kernel-scsi_ARCHOBJS))) +kernel-scsi_LIBARCHFILES := $(basename $(notdir $(kernel-scsi_LIBARCHOBJS))) +kernel-scsi_C_NARCHFILES := $(call kernel-scsi_FILTERARCH,$(kernel-scsi_ARCHFILES),$(kernel-scsi_FILES)) +kernel-scsi_CXX_NARCHFILES := $(call kernel-scsi_FILTERARCH,$(kernel-scsi_ARCHFILES),$(kernel-scsi_CXXFILES)) +kernel-scsi_OBJC_NARCHFILES := $(call kernel-scsi_FILTERARCH,$(kernel-scsi_ARCHFILES),$(kernel-scsi_OBJCFILES)) +kernel-scsi_NLIBARCHFILES := $(call kernel-scsi_FILTERARCH,$(kernel-scsi_LIBARCHFILES),$(kernel-scsi_LIBFILES)) +kernel-scsi_ARCHNLIBFILES := $(call kernel-scsi_FILTERARCH,$(kernel-scsi_LIBFILES),$(kernel-scsi_LIBARCHFILES)) + +kernel-scsi_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-scsi_OBJDIR)/include -include $(kernel-scsi_DEFLIBDEFSINC)) +ifneq (,) +kernel-scsi_CPPFLAGS += -I +endif +kernel-scsi_LINKLIBCPPFLAGS := $(kernel-scsi_CPPFLAGS) +kernel-scsi_CPPFLAGS += $(strip $($(kernel-scsi_DEFNAME)_CPPFLAGS)) +kernel-scsi_LINKLIBCPPFLAGS += $(strip $($(kernel-scsi_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-scsi_CFLAGS := $(strip $(CFLAGS) $($(kernel-scsi_DEFNAME)_CFLAGS)) +kernel-scsi_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-scsi_DEFNAME)_LINKLIBCFLAGS)) +kernel-scsi_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-scsi_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-scsi_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-scsi_CFLAGS := $(strip $(kernel-scsi_LTOFLAGS) $(kernel-scsi_CFLAGS)) +kernel-scsi_LINKLIBCFLAGS := $(strip $(kernel-scsi_LTOFLAGS) $(kernel-scsi_LINKLIBCFLAGS)) +kernel-scsi_CXXFLAGS := $(strip $(kernel-scsi_LTOFLAGS) $(kernel-scsi_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-scsi_SUBSTNULL := +kernel-scsi_SUBSTSPACE := $(kernel-scsi_SUBSTNULL) # +kernel-scsi_SUBSTCOMMA := , +kernel-scsi_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-scsi_SUBSTSPACE),$(kernel-scsi_SUBSTCOMMA),$(strip $($(kernel-scsi_DEFNAME)_STARTFILES)))) +kernel-scsi_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-scsi_CFLAGS := $(strip $(kernel-scsi_INSTRFUNCFLAGS) $(kernel-scsi_CFLAGS)) +kernel-scsi_CXXFLAGS := $(strip $(kernel-scsi_INSTRFUNCFLAGS) $(kernel-scsi_CXXFLAGS)) +kernel-scsi_LIBS += $(kernel-scsi_INSTRFUNCLIBS) +endif +endif +kernel-scsi_DFLAGS := $(strip $(kernel-scsi_DFLAGS) $($(kernel-scsi_DEFNAME)_DFLAGS)) +kernel-scsi_LINKLIBDFLAGS := $(strip $(kernel-scsi_DFLAGS) $($(kernel-scsi_DEFNAME)_LINKLIBDFLAGS)) +kernel-scsi_DXXFLAGS := $(strip $(kernel-scsi_DXXFLAGS) $($(kernel-scsi_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-scsi_LIBSUFFIX := +else + kernel-scsi_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-scsi_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-scsi_LIBDIR := +endif + +ifeq (M,M) +kernel-scsi_LINKLIBCFILES := $(addprefix $(kernel-scsi_OBJDIR)/linklib/,$($(kernel-scsi_DEFNAME)_LINKLIBFILES)) +kernel-scsi_LINKLIBAFILES := $(addprefix $(kernel-scsi_OBJDIR)/linklib/,$($(kernel-scsi_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-scsi_DEFNAME)_LINKLIBFILES) $($(kernel-scsi_DEFNAME)_LINKLIBAFILES) $(kernel-scsi_ARCHNLIBFILES)),) + kernel-scsi_LINKLIB := +else + kernel-scsi_LINKLIB := $(kernel-scsi_LIBDIR)/libscsi$(kernel-scsi_LIBSUFFIX).a + ifneq (scsi,$(kernel-scsi_LINKLIBNAME)) + kernel-scsi_LINKLIB += $(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)$(kernel-scsi_LIBSUFFIX).a + endif +endif +kernel-scsi_LINKLIBFILES := $(kernel-scsi_LINKLIBCFILES) $(kernel-scsi_LINKLIBAFILES) + +kernel-scsi_RELLINKLIBCFILES := $(addprefix $(kernel-scsi_OBJDIR)/linklib/,$($(kernel-scsi_DEFNAME)_RELLINKLIBFILES)) +kernel-scsi_RELLINKLIBAFILES := $(addprefix $(kernel-scsi_OBJDIR)/linklib/,$($(kernel-scsi_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-scsi_DEFNAME)_RELLINKLIBFILES) $($(kernel-scsi_DEFNAME)_RELLINKLIBAFILES) $(kernel-scsi_ARCHNLIBFILES)),) + kernel-scsi_RELLINKLIB := +else + kernel-scsi_RELLINKLIB := $(kernel-scsi_LIBDIR)/lib$(kernel-scsi_DEFNAME)_rel$(kernel-scsi_LIBSUFFIX).a + ifneq (scsi,$(kernel-scsi_LINKLIBNAME)) + kernel-scsi_RELLINKLIB += $(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)_rel$(kernel-scsi_LIBSUFFIX).a + endif +endif +kernel-scsi_RELLINKLIBFILES := $(kernel-scsi_RELLINKLIBCFILES) $(kernel-scsi_RELLINKLIBAFILES) +endif + +kernel-scsi_ENDOBJS := $(addsuffix .o,$(kernel-scsi_ENDFILES)) +kernel-scsi_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(notdir $(kernel-scsi_NLIBARCHFILES))) $(addprefix $(kernel-scsi_OBJDIR)/linklib/arch/,$(notdir $(kernel-scsi_ARCHNLIBFILES))) $(kernel-scsi_LINKLIBFILES)) \ + +kernel-scsi_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(notdir $(kernel-scsi_NLIBARCHFILES))) $(addprefix $(kernel-scsi_OBJDIR)/linklib/arch/,$(notdir $(kernel-scsi_ARCHNLIBFILES))) $(kernel-scsi_RELLINKLIBFILES)) \ + +$(kernel-scsi_LINKLIBFILES) $(kernel-scsi_RELLINKLIBFILES) : | $(kernel-scsi_OBJDIR)/linklib +$(kernel-scsi_LINKLIBOBJS) $(kernel-scsi_RELLINKLIBOBJS) : | $(kernel-scsi_OBJDIR)/linklib + +kernel-scsi_CCFILES := $(kernel-scsi_C_NARCHFILES) +kernel-scsi_TARGETCCFILES := $(strip $(kernel-scsi_STARTFILES) $(kernel-scsi_ENDFILES)) +kernel-scsi_LINKLIBCCFILES := $(strip $(kernel-scsi_NLIBARCHFILES) $(kernel-scsi_LINKLIBCFILES) $(kernel-scsi_RELLINKLIBCFILES)) +kernel-scsi_LINKLIBCCGENFILES := $(strip $(kernel-scsi_LINKLIBCFILES) $(kernel-scsi_RELLINKLIBCFILES)) + + +kernel-scsi_CXXABSBASENAMES := $(foreach kernel-scsi_CXXBASE,$(kernel-scsi_CXX_NARCHFILES),$(if $(filter /%,$(kernel-scsi_CXXBASE)),$(kernel-scsi_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-scsi_CXXBASE)))) + +ifneq ($(kernel-scsi_CXXABSBASENAMES),) + +kernel-scsi_CXXBASENAMES := $(basename $(kernel-scsi_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-scsi_MCXX_FILES := $(strip $(foreach kernel-scsi_CXXBASE,$(kernel-scsi_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-scsi_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-scsi_EXT),$(kernel-scsi_CXXBASE))))))) + +ifeq (,) +kernel-scsi_MCXX_SRCWILDCARD := % +else +kernel-scsi_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-scsi_OBJDIR),) + kernel-scsi_CXXTARGETS := $(notdir $(kernel-scsi_CXXBASENAMES:=.o)) + kernel-scsi_CXXDTARGETS := $(notdir $(kernel-scsi_CXXBASENAMES:=.d)) + kernel-scsi_MCXX_WILDCARD := % +else + kernel-scsi_CXXTARGETS := $(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(kernel-scsi_CXXBASENAMES:=.o))) + kernel-scsi_CXXDTARGETS := $(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(kernel-scsi_CXXBASENAMES:=.d))) + kernel-scsi_MCXX_WILDCARD := $(kernel-scsi_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-scsi_CXXTARGETS) $(kernel-scsi_CXXDTARGETS) : | $(kernel-scsi_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-scsi_MCXX_CPPFLAGS := $(kernel-scsi_CPPFLAGS) +kernel-scsi_CXXFLAGS := $(kernel-scsi_CXXFLAGS) +ifeq ($(kernel-scsi_DXXFLAGS),) + kernel-scsi_DXXFLAGS := $(kernel-scsi_CXXFLAGS) +else + kernel-scsi_DXXFLAGS := $(kernel-scsi_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-scsi_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-scsi_STRIP ?= $(HOST_STRIP) + kernel-scsi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-scsi_CXXCMD:=$(HOST_CXX) + kernel-scsi_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-scsi_MCXX_CPPFLAGS) $(kernel-scsi_MCXX_EXTRA_CPPFLAGS)) + kernel-scsi_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-scsi_CXXFLAGS)) + kernel-scsi_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-scsi_DXXFLAGS)) + kernel-scsi_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-scsi_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-scsi_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-scsi_STRIP ?= $(TARGET_STRIP) + kernel-scsi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-scsi_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-scsi_MCXX_CPPFLAGS := $(strip $(kernel-scsi_MCXX_CPPFLAGS) $(kernel-scsi_MCXX_EXTRA_CPPFLAGS)) + kernel-scsi_CXXFLAGS := $(strip $(kernel-scsi_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-scsi_DXXFLAGS := $(kernel-scsi_DXXFLAGS) + kernel-scsi_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-scsi_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-scsi_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-scsi_STRIP ?= $(ECHO) >/dev/null + kernel-scsi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-scsi_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-scsi_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-scsi_MCXX_CPPFLAGS) $(kernel-scsi_MCXX_EXTRA_CPPFLAGS)) + kernel-scsi_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-scsi_CXXFLAGS)) + kernel-scsi_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-scsi_DXXFLAGS)) + kernel-scsi_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-scsi_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-scsi_CXXCMD) $(kernel-scsi_CXXIQUOTE) $(dir $(2)) $(kernel-scsi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_CXXIQUOTE) . $(kernel-scsi_CXXIQUOTE_END) $(strip $(kernel-scsi_CXXFLAGS) $(kernel-scsi_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-scsi_CXXCMD) $(kernel-scsi_CXXIQUOTE) $(dir $(2)) $(kernel-scsi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_CXXIQUOTE) . $(kernel-scsi_CXXIQUOTE_END) $(strip $(kernel-scsi_CXXFLAGS) $(kernel-scsi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-scsi_CXXCMD) $(kernel-scsi_CXXIQUOTE) $(dir $(2)) $(kernel-scsi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_CXXIQUOTE) . $(kernel-scsi_CXXIQUOTE_END) $(strip $(kernel-scsi_CXXFLAGS) $(kernel-scsi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-scsi_CXXCMD)" $(MKDEPEND) $(strip $(kernel-scsi_DXXFLAGS) $(kernel-scsi_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-scsi_OBJDIR),) + $(foreach kernel-scsi_CXXFILE,$(kernel-scsi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-scsi_CXXFILE))),$(kernel-scsi_CXXFILE)))) +else + $(foreach kernel-scsi_CXXFILE,$(kernel-scsi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(basename $(kernel-scsi_CXXFILE)))),$(kernel-scsi_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-scsi_OBJC_NARCHFILES),) + +ifeq (,) +kernel-scsi_MOBJC_SRCWILDCARD := % +else +kernel-scsi_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-scsi_OBJDIR),) + kernel-scsi_MOBJC_TARGETS := $(addsuffix .o,$(kernel-scsi_OBJC_NARCHFILES)) + kernel-scsi_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-scsi_OBJC_NARCHFILES)) + kernel-scsi_MOBJC_WILDCARD := % +else + kernel-scsi_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/,$(kernel-scsi_OBJC_NARCHFILES))) + kernel-scsi_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/,$(kernel-scsi_OBJC_NARCHFILES))) + kernel-scsi_MOBJC_WILDCARD := $(kernel-scsi_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-scsi_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-scsi_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-scsi_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-scsi_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-scsi_MOBJC_DIRS := $(foreach dir, $(kernel-scsi_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-scsi_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-scsi_MOBJC_DIRS),) + kernel-scsi_MOBJC_DIRS := $(shell echo $(kernel-scsi_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-scsi_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-scsi_CC := $(TARGET_CC) +else + kernel-scsi_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-scsi_MOBJC_CPPFLAGS := $(kernel-scsi_CPPFLAGS) +kernel-scsi_OBJCFLAGS := $(kernel-scsi_CFLAGS) +kernel-scsi_OBJCFLAGS := $(kernel-scsi_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-scsi_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-scsi_OBJCFLAGS))) +ifeq ($(kernel-scsi_DFLAGS),) + kernel-scsi_OBJCDFLAGS := $(kernel-scsi_CFLAGS) +else + kernel-scsi_OBJCDFLAGS := $(kernel-scsi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-scsi_LINK ?= $(strip $(kernel-scsi_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-scsi_STRIP ?= $(TARGET_STRIP) + kernel-scsi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-scsi_CC) $(TARGET_SYSROOT)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_MOBJC_CPPFLAGS:=$(strip $(kernel-scsi_MOBJC_CPPFLAGS) $(kernel-scsi_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_OBJCFLAGS:=$(strip $(kernel-scsi_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_OBJCDFLAGS:=$(kernel-scsi_OBJCDFLAGS) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-scsi_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-scsi_STRIP ?= $(HOST_STRIP) + kernel-scsi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-scsi_MOBJC_CPPFLAGS) $(kernel-scsi_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_OBJCFLAGS)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_OBJCDFLAGS)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_IQUOTE:=$(HOST_IQUOTE) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-scsi_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-scsi_STRIP ?= $(ECHO) >/dev/null + kernel-scsi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-scsi_MOBJC_CPPFLAGS) $(kernel-scsi_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_OBJCFLAGS)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_OBJCDFLAGS)) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-scsi_MOBJC_TARGETS) $(kernel-scsi_MOBJC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-scsi_MOBJC_TARGETS) : CPPFLAGS := $(kernel-scsi_MOBJC_CPPFLAGS) +$(kernel-scsi_MOBJC_TARGETS) : CFLAGS := $(kernel-scsi_OBJCFLAGS) +$(kernel-scsi_MOBJC_TARGETS) : $(kernel-scsi_MOBJC_WILDCARD).o : $(kernel-scsi_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-scsi_MOBJC_DTARGETS) : $(kernel-scsi_MOBJC_WILDCARD).d : $(kernel-scsi_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-scsi_OBJCDFLAGS) $(kernel-scsi_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-scsi_MC_SRCWILDCARD := % +else +kernel-scsi_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-scsi_OBJDIR),) +kernel-scsi_MC_TARGETS := $(addsuffix .o,$(kernel-scsi_CCFILES)) +kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(kernel-scsi_CCFILES)) +kernel-scsi_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(kernel-scsi_CCFILES)))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(kernel-scsi_CCFILES)))) +else +ifeq (,) + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/,$(kernel-scsi_CCFILES))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/,$(kernel-scsi_CCFILES))) +else + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/,$(patsubst /%,%,$(kernel-scsi_CCFILES)))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/,$(patsubst /%,%,$(kernel-scsi_CCFILES)))) +endif +endif +kernel-scsi_MC_TGTWILDCARD := $(kernel-scsi_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : | $(addsuffix .c,$(kernel-scsi_CCFILES)) + +# Be sure that all .c files are found +kernel-scsi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-scsi_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-scsi_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-scsi_MC_DIRS := $(foreach dir, $(kernel-scsi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-scsi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-scsi_MC_DIRS),) + kernel-scsi_MC_DIRS := $(shell echo $(kernel-scsi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-scsi_MC_DIRS) +endif + +endif + +kernel-scsi_MC_CPPFLAGS := $(kernel-scsi_CPPFLAGS) +kernel-scsi_CFLAGS := $(kernel-scsi_CFLAGS) +ifeq ($(kernel-scsi_DFLAGS),) + kernel-scsi_DFLAGS := $(kernel-scsi_CFLAGS) +else + kernel-scsi_DFLAGS := $(kernel-scsi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-scsi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-scsi_STRIP ?= $(TARGET_STRIP) +kernel-scsi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(kernel-scsi_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(kernel-scsi_DFLAGS) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-scsi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-scsi_STRIP ?= $(HOST_STRIP) +kernel-scsi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_DFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(HOST_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-scsi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-scsi_STRIP ?= $(ECHO) >/dev/null +kernel-scsi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_DFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-scsi_MC_TARGETS) : CPPFLAGS := $(kernel-scsi_MC_CPPFLAGS) +$(kernel-scsi_MC_TARGETS) : CFLAGS := $(kernel-scsi_CFLAGS) +$(kernel-scsi_MC_TARGETS) : $(kernel-scsi_MC_TGTWILDCARD).o : $(kernel-scsi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-scsi_MC_DTARGETS) : $(kernel-scsi_MC_TGTWILDCARD).d : $(kernel-scsi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-scsi_DFLAGS) $(kernel-scsi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-scsi_MC_SRCWILDCARD := % +else +kernel-scsi_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-scsi_OBJDIR),) +kernel-scsi_MC_TARGETS := $(addsuffix .o,$(kernel-scsi_TARGETCCFILES)) +kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(kernel-scsi_TARGETCCFILES)) +kernel-scsi_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(kernel-scsi_TARGETCCFILES)))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(kernel-scsi_TARGETCCFILES)))) +else +ifeq (,) + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/,$(kernel-scsi_TARGETCCFILES))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/,$(kernel-scsi_TARGETCCFILES))) +else + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/,$(patsubst /%,%,$(kernel-scsi_TARGETCCFILES)))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/,$(patsubst /%,%,$(kernel-scsi_TARGETCCFILES)))) +endif +endif +kernel-scsi_MC_TGTWILDCARD := $(kernel-scsi_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : | $(addsuffix .c,$(kernel-scsi_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-scsi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-scsi_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-scsi_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-scsi_MC_DIRS := $(foreach dir, $(kernel-scsi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-scsi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-scsi_MC_DIRS),) + kernel-scsi_MC_DIRS := $(shell echo $(kernel-scsi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-scsi_MC_DIRS) +endif + +endif + +kernel-scsi_MC_CPPFLAGS := $(kernel-scsi_CPPFLAGS) -D__AROS__ +kernel-scsi_CFLAGS := $(kernel-scsi_CFLAGS) +ifeq ($(kernel-scsi_DFLAGS),) + kernel-scsi_DFLAGS := $(kernel-scsi_CFLAGS) +else + kernel-scsi_DFLAGS := $(kernel-scsi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-scsi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-scsi_STRIP ?= $(TARGET_STRIP) +kernel-scsi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(kernel-scsi_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(kernel-scsi_DFLAGS) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-scsi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-scsi_STRIP ?= $(HOST_STRIP) +kernel-scsi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_DFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(HOST_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-scsi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-scsi_STRIP ?= $(ECHO) >/dev/null +kernel-scsi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_DFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-scsi_MC_TARGETS) : CPPFLAGS := $(kernel-scsi_MC_CPPFLAGS) +$(kernel-scsi_MC_TARGETS) : CFLAGS := $(kernel-scsi_CFLAGS) +$(kernel-scsi_MC_TARGETS) : $(kernel-scsi_MC_TGTWILDCARD).o : $(kernel-scsi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-scsi_MC_DTARGETS) : $(kernel-scsi_MC_TGTWILDCARD).d : $(kernel-scsi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-scsi_DFLAGS) $(kernel-scsi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-scsi_MC_SRCWILDCARD := % +else +kernel-scsi_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-scsi_OBJDIR)/linklib,) +kernel-scsi_MC_TARGETS := $(addsuffix .o,$(kernel-scsi_NLIBARCHFILES)) +kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(kernel-scsi_NLIBARCHFILES)) +kernel-scsi_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(notdir $(kernel-scsi_NLIBARCHFILES)))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(notdir $(kernel-scsi_NLIBARCHFILES)))) +else +ifeq (,) + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(kernel-scsi_NLIBARCHFILES))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(kernel-scsi_NLIBARCHFILES))) +else + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-scsi_NLIBARCHFILES)))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-scsi_NLIBARCHFILES)))) +endif +endif +kernel-scsi_MC_TGTWILDCARD := $(kernel-scsi_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : | $(addsuffix .c,$(kernel-scsi_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-scsi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-scsi_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-scsi_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-scsi_MC_DIRS := $(foreach dir, $(kernel-scsi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-scsi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-scsi_MC_DIRS),) + kernel-scsi_MC_DIRS := $(shell echo $(kernel-scsi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-scsi_MC_DIRS) +endif + +endif + +kernel-scsi_MC_CPPFLAGS := $(kernel-scsi_LINKLIBCPPFLAGS) -D__AROS__ +kernel-scsi_CFLAGS := $(kernel-scsi_LINKLIBCFLAGS) +ifeq ($(kernel-scsi_LINKLIBDFLAGS),) + kernel-scsi_DFLAGS := $(kernel-scsi_LINKLIBCFLAGS) +else + kernel-scsi_DFLAGS := $(kernel-scsi_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-scsi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-scsi_STRIP ?= $(TARGET_STRIP) +kernel-scsi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(kernel-scsi_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(kernel-scsi_DFLAGS) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-scsi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-scsi_STRIP ?= $(HOST_STRIP) +kernel-scsi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_DFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(HOST_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-scsi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-scsi_STRIP ?= $(ECHO) >/dev/null +kernel-scsi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_DFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-scsi_MC_TARGETS) : CPPFLAGS := $(kernel-scsi_MC_CPPFLAGS) +$(kernel-scsi_MC_TARGETS) : CFLAGS := $(kernel-scsi_CFLAGS) +$(kernel-scsi_MC_TARGETS) : $(kernel-scsi_MC_TGTWILDCARD).o : $(kernel-scsi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-scsi_MC_DTARGETS) : $(kernel-scsi_MC_TGTWILDCARD).d : $(kernel-scsi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-scsi_DFLAGS) $(kernel-scsi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-scsi_OBJDIR)/linklib,) +kernel-scsi_MC_SRCWILDCARD := % +else +kernel-scsi_MC_SRCWILDCARD := $(kernel-scsi_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-scsi_OBJDIR)/linklib,) +kernel-scsi_MC_TARGETS := $(addsuffix .o,$(kernel-scsi_LINKLIBCCGENFILES)) +kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(kernel-scsi_LINKLIBCCGENFILES)) +kernel-scsi_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(notdir $(kernel-scsi_LINKLIBCCGENFILES)))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(notdir $(kernel-scsi_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-scsi_OBJDIR)/linklib,) + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(kernel-scsi_LINKLIBCCGENFILES))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(kernel-scsi_LINKLIBCCGENFILES))) +else + kernel-scsi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(patsubst $(kernel-scsi_OBJDIR)/linklib/%,%,$(kernel-scsi_LINKLIBCCGENFILES)))) + kernel-scsi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(patsubst $(kernel-scsi_OBJDIR)/linklib/%,%,$(kernel-scsi_LINKLIBCCGENFILES)))) +endif +endif +kernel-scsi_MC_TGTWILDCARD := $(kernel-scsi_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : | $(addsuffix .c,$(kernel-scsi_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-scsi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-scsi_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-scsi_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-scsi_MC_DIRS := $(foreach dir, $(kernel-scsi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-scsi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-scsi_MC_DIRS),) + kernel-scsi_MC_DIRS := $(shell echo $(kernel-scsi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-scsi_MC_DIRS) +endif + +endif + +kernel-scsi_MC_CPPFLAGS := $(kernel-scsi_LINKLIBCPPFLAGS) -D__AROS__ +kernel-scsi_CFLAGS := $(kernel-scsi_LINKLIBCFLAGS) +ifeq ($(kernel-scsi_LINKLIBDFLAGS),) + kernel-scsi_DFLAGS := $(kernel-scsi_LINKLIBCFLAGS) +else + kernel-scsi_DFLAGS := $(kernel-scsi_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-scsi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-scsi_STRIP ?= $(TARGET_STRIP) +kernel-scsi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(kernel-scsi_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(kernel-scsi_DFLAGS) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-scsi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-scsi_STRIP ?= $(HOST_STRIP) +kernel-scsi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-scsi_DFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(HOST_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-scsi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-scsi_STRIP ?= $(ECHO) >/dev/null +kernel-scsi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-scsi_MC_CPPFLAGS) $(kernel-scsi_MC_EXTRA_CPPFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_CFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-scsi_DFLAGS)) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-scsi_MC_TARGETS) $(kernel-scsi_MC_DTARGETS) : kernel-scsi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-scsi_MC_TARGETS) : CPPFLAGS := $(kernel-scsi_MC_CPPFLAGS) +$(kernel-scsi_MC_TARGETS) : CFLAGS := $(kernel-scsi_CFLAGS) +$(kernel-scsi_MC_TARGETS) : $(kernel-scsi_MC_TGTWILDCARD).o : $(kernel-scsi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-scsi_IQUOTE) $(dir $<) $(kernel-scsi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-scsi_IQUOTE) . $(kernel-scsi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-scsi_MC_DTARGETS) : $(kernel-scsi_MC_TGTWILDCARD).d : $(kernel-scsi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-scsi_DFLAGS) $(kernel-scsi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-scsi_LINKLIBAFILES),) + +ifeq ($(kernel-scsi_OBJDIR)/linklib,) +kernel-scsi-MA_TARGETS := $(addsuffix .o,$(kernel-scsi_LINKLIBAFILES) $(kernel-scsi_RELLINKLIBAFILES)) +kernel-scsi-MA_WILDCARD := % +else +kernel-scsi-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(notdir $(kernel-scsi_LINKLIBAFILES) $(kernel-scsi_RELLINKLIBAFILES)))) +kernel-scsi-MA_WILDCARD := $(kernel-scsi_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-scsi-MA_TARGETS) : | $(addsuffix .S,$(kernel-scsi_LINKLIBAFILES) $(kernel-scsi_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-scsi-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-scsi-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-scsi_LINKLIBAFILES) $(kernel-scsi_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-scsi-MA_DIRS := $(foreach dir, $(kernel-scsi-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-scsi-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-scsi-MA_DIRS),) + kernel-scsi-MA_DIRS := $(shell echo $(kernel-scsi-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-scsi-MA_DIRS) +endif + +endif + +kernel-scsi-MA_ASSEMBLER ?= $(kernel-scsi_ASSEMBLER) + +$(kernel-scsi-MA_TARGETS) : kernel-scsi-MA_CMD:= $(kernel-scsi-MA_ASSEMBLER) + +$(kernel-scsi-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-scsi-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-scsi-MA_TARGETS) : $(kernel-scsi-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-scsi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-scsi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-scsi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-scsi_SUFFIX := device +else +kernel-scsi_SUFFIX := +endif + +ifeq (target,target) +kernel-scsi_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-scsi_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-scsi_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-scsi_SUFFIX),handler) +kernel-scsi_MODULE := $(AROSDIR)/$(kernel-scsi_MODDIR)/$(kernel-scsi_DEFNAME)-$(kernel-scsi_SUFFIX) +else +kernel-scsi_MODULE := $(AROSDIR)/$(kernel-scsi_MODDIR)/$(kernel-scsi_DEFNAME).$(kernel-scsi_SUFFIX) +endif +kernel-scsi_KOBJ := $(KOBJSDIR)/$(kernel-scsi_DEFNAME)_$(kernel-scsi_SUFFIX).o +else +kernel-scsi_MODULE := +kernel-scsi_KOBJ := +endif + +kernel-scsi-quick : kernel-scsi +kernel-scsi : $(kernel-scsi_MODULE) $(kernel-scsi_LINKLIB) $(kernel-scsi_RELLINKLIB) +ifeq (M,M) +kernel-scsi-kobj : $(kernel-scsi_KOBJ) $(kernel-scsi_LINKLIB) $(kernel-scsi_RELLINKLIB) +kernel-scsi-kobj-quick : $(kernel-scsi_KOBJ) $(kernel-scsi_LINKLIB) $(kernel-scsi_RELLINKLIB) +endif +ifeq (M,M) +kernel-scsi-linklib : $(kernel-scsi_LINKLIB) $(kernel-scsi_RELLINKLIB) +endif + +kernel-scsi_OBJS := $(addsuffix .o,$(kernel-scsi_STARTFILES)) $(kernel-scsi_ARCHOBJS) \ + $(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(kernel-scsi_C_NARCHFILES:=.o) $(kernel-scsi_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-scsi_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (scsi,con) + kernel-scsi_ERR := $(notdir $(kernel-scsi_MODULE)).err +else + kernel-scsi_ERR := scsi.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-scsi_DEFNAME)_LDFLAGS) $(kernel-scsi_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-scsi_LIBS) $($(kernel-scsi_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-scsi_MODULE) : LIB_NAMES := $(kernel-scsi_LIBS) $($(kernel-scsi_DEFNAME)_LIBS) +$(kernel-scsi_MODULE) : OBJS := $(kernel-scsi_STARTOBJS) $(kernel-scsi_OBJS) $(USER_OBJS) +$(kernel-scsi_MODULE) : ENDTAG := $(kernel-scsi_ENDOBJS) +$(kernel-scsi_MODULE) : ERR := $(kernel-scsi_ERR) +$(kernel-scsi_MODULE) : OBJDIR := $(kernel-scsi_OBJDIR) +$(kernel-scsi_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-scsi_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-scsi_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-scsi_MODULE) : $(kernel-scsi_STARTOBJS) $(kernel-scsi_OBJS) $(USER_OBJS) $(kernel-scsi_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-scsi_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-scsi_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-scsi_LC_LINKLIBNAME := $(shell echo $(kernel-scsi_LINKLIBNAME) | tr A-Z a-z) +kernel-scsi_LC_MODNAME := $(shell echo scsi | tr A-Z a-z) +ifneq ($(kernel-scsi_LINKLIB),) + +ifeq (target,target) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(HOST_AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(KERNEL_AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)$(kernel-scsi_LIBSUFFIX).a : $(kernel-scsi_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-scsi_AR) $@ $^ + $(Q)$(kernel-scsi_RANLIB) $@ +ifneq ($(kernel-scsi_LC_MODNAME),$(kernel-scsi_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-scsi_LIBDIR)/libscsi$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(AR) +$(kernel-scsi_LIBDIR)/libscsi$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-scsi_LIBDIR)/libscsi$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(HOST_AR) +$(kernel-scsi_LIBDIR)/libscsi$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-scsi_LIBDIR)/libscsi$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(KERNEL_AR) +$(kernel-scsi_LIBDIR)/libscsi$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-scsi_LIBDIR)/libscsi$(kernel-scsi_LIBSUFFIX).a : $(kernel-scsi_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-scsi_AR) $@ $^ + $(Q)$(kernel-scsi_RANLIB) $@ +endif + + +ifneq ($(kernel-scsi_LINKLIB),) +$(kernel-scsi_LINKLIB) : | $(kernel-scsi_LIBDIR) +else +$(kernel-scsi_LINKLIB) :: $(kernel-scsi_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-scsi_LIBDIR) + +endif + +ifneq ($(kernel-scsi_RELLINKLIB),) + +ifeq (target,target) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(HOST_AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(KERNEL_AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_LINKLIBNAME)_rel$(kernel-scsi_LIBSUFFIX).a : $(kernel-scsi_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-scsi_AR) $@ $^ + $(Q)$(kernel-scsi_RANLIB) $@ +ifneq ($(kernel-scsi_LC_MODNAME),$(kernel-scsi_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_DEFNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_DEFNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_DEFNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(HOST_AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_DEFNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_DEFNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_AR:=$(KERNEL_AR) +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_DEFNAME)_rel$(kernel-scsi_LIBSUFFIX).a : kernel-scsi_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-scsi_LIBDIR)/lib$(kernel-scsi_DEFNAME)_rel$(kernel-scsi_LIBSUFFIX).a : $(kernel-scsi_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-scsi_AR) $@ $^ + $(Q)$(kernel-scsi_RANLIB) $@ +endif + + +ifneq ($(kernel-scsi_RELLINKLIB),) +$(kernel-scsi_RELLINKLIB) : | $(kernel-scsi_LIBDIR) +else +$(kernel-scsi_RELLINKLIB) :: $(kernel-scsi_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-scsi_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-scsi_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-scsi_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-scsi_SYMBOLS := $(kernel-scsi_KBASE) + +kernel-scsi_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-scsi_KOBJ_LIBS := $(filter-out $(kernel-scsi_KLIB),$(kernel-scsi_LIBS)) $(kernel-scsi_KAUTOLIB) +$(kernel-scsi_KOBJ) : LINKLIBS:=$(kernel-scsi_KOBJ_LIBS) $($(kernel-scsi_DEFNAME)_LIBS) +$(kernel-scsi_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-scsi_SYMBOLS)) +$(kernel-scsi_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-scsi_KOBJ) : $(kernel-scsi_OBJS) $(USER_OBJS) $(kernel-scsi_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-scsi_DEPS := $(addprefix $(kernel-scsi_OBJDIR)/,$(notdir $(kernel-scsi_CCFILES:=.d) $(kernel-scsi_TARGETCCFILES:=.d) $(kernel-scsi_CXXFILES:=.d))) $(addprefix $(kernel-scsi_OBJDIR)/linklib/,$(notdir $(kernel-scsi_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-scsi_DEPS),) + ifneq (kernel-scsi kernel-scsi-quick kernel-scsi-kobj kernel-scsi-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-scsi kernel-scsi-quick kernel-scsi-kobj kernel-scsi-kobj-quick),) + -include $(kernel-scsi_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-scsi_DEPS) + endif + endif +endif + +$(kernel-scsi_OBJS) $(kernel-scsi_DEPS) : | $(kernel-scsi_OBJDIR)/linklib + +ifneq ($(kernel-scsi_OBJS) $(kernel-scsi_DEPS) $(kernel-scsi_MODULE) $(kernel-scsi_KOBJ),) +$(kernel-scsi_OBJS) $(kernel-scsi_DEPS) $(kernel-scsi_MODULE) $(kernel-scsi_KOBJ) : | $(kernel-scsi_OBJDIR) $(AROSDIR)/$(kernel-scsi_MODDIR) $(KOBJSDIR) +else +$(kernel-scsi_OBJS) $(kernel-scsi_DEPS) $(kernel-scsi_MODULE) $(kernel-scsi_KOBJ) :: $(kernel-scsi_OBJDIR) $(AROSDIR)/$(kernel-scsi_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-scsi_OBJDIR) $(AROSDIR)/$(kernel-scsi_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-scsi kernel-scsi-includes kernel-scsi-quick kernel-scsi-kobj kernel-scsi-kobj-quick),) # Only for this target these deps are wanted + +kernel-scsi_DFILE_DEPS := $(kernel-scsi_LIBDEFSINC) $(kernel-scsi_DEFLIBDEFSINC) \ + $(addprefix $(kernel-scsi_INCDIR)/,$($(kernel-scsi_DEFNAME)_INCLUDES)) +$(kernel-scsi_DEPS) : $(kernel-scsi_DFILE_DEPS) +endif + +kernel-scsi_TOCLEAN := $(kernel-scsi_OBJS) $(kernel-scsi_DEPS) \ + $(kernel-scsi_MODULE) $(kernel-scsi_LINKLIB) $(kernel-scsi_KOBJ) \ + $(kernel-scsi_OBJDIR)/Makefile.scsidevice \ + $(addprefix $(kernel-scsi_OBJDIR)/include/,$($(kernel-scsi_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-scsi_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-scsi_INCDIR)/,$($(kernel-scsi_DEFNAME)_INCLUDES)) \ + $(kernel-scsi_OBJDIR)/scsi_geninc $(kernel-scsi_OBJDIR)/scsi_incs \ + $(addsuffix .c,$(kernel-scsi_LINKLIBFILES)) $(kernel-scsi_LINKLIBOBJS) $(kernel-scsi_LIBDEFSINC) \ + $(kernel-scsi_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-scsi_STARTFILES) $(kernel-scsi_ENDFILES)) \ + $(kernel-scsi_ENDOBJS) +kernel-scsi-clean : FILES := $(kernel-scsi_TOCLEAN) +kernel-scsi-clean :: + $(Q)$(ECHO) "Cleaning up for module scsi" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-scsi_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/devs/sdcard/mmakefile b/rom/devs/sdcard/mmakefile new file mode 100644 index 00000000000..980ca7e94c3 --- /dev/null +++ b/rom/devs/sdcard/mmakefile @@ -0,0 +1,1669 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_INCLUDES := -I $(SRCDIR)/$(CURDIR) +USER_CPPFLAGS := -D__TIMER_NOLIBBASE__ +USER_LDFLAGS := -static + +SDCARDFILES = \ + sdcard_init \ + sdcard_device \ + sdcard_bus \ + sdcard_mmcunit \ + sdcard_sdscunit \ + sdcard_ioops \ + timer + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-sdcard +#MM kernel-sdcard-quick +#MM kernel-sdcard-makefile +#MM kernel-sdcard-clean + +# ABI targets: +#MM- includes-all : kernel-sdcard-includes +#MM- linklibs-sdcard: kernel-sdcard-linklib +#MM- linklibs-sdcard_rel : kernel-sdcard-linklib +#MM- includes-sdcard: kernel-sdcard-includes +#MM- includes-sdcard_rel : kernel-sdcard-includes +#MM- kernel-sdcard : kernel-sdcard-includes core-linklibs linklibs- +#MM kernel-sdcard-linklib : kernel-sdcard-includes includes- +#MM- kernel-sdcard-quick : kernel-sdcard-includes-quick +#MM kernel-sdcard-includes : kernel-sdcard-makefile kernel-sdcard-includes-dirs \ +#MM includes-generate-deps kernel-sdcard-fd +#MM kernel-sdcard-includes-quick +#MM kernel-sdcard-includes-dirs +#MM kernel-sdcard-fd + +# Library targets +#MM kernel-sdcard-kobj : core-linklibs linklibs- +#MM kernel-sdcard-kobj-quick : + +# Library with ABI targets: +#MM kernel-sdcard-kobj : kernel-sdcard-includes core-linklibs linklibs- +#MM kernel-sdcard-kobj-quick : kernel-sdcard-includes-quick + +# All MetaMake targets defined by this macro +kernel-sdcard_ALLTARGETS := kernel-sdcard kernel-sdcard-quick kernel-sdcard-clean + +ifeq (M,M) +kernel-sdcard_ALLTARGETS += kernel-sdcard-kobj kernel-sdcard-kobj-quick +endif + +ifeq (M,M) +kernel-sdcard_ALLTARGETS += kernel-sdcard-includes \ + kernel-sdcard-includes-quick kernel-sdcard-includes-dirs \ + kernel-sdcard-linklib kernel-sdcard-fd +endif + +.PHONY : $(kernel-sdcard_ALLTARGETS) kernel-sdcard-makefile + +ifeq (sdcard,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-sdcard_DEFNAME := sdcard_ +else + kernel-sdcard_DEFNAME := sdcard +endif +kernel-sdcard_DEFLINKLIBNAME := $(kernel-sdcard_DEFNAME) +ifneq (,) + kernel-sdcard_LINKLIBNAME := +else + kernel-sdcard_LINKLIBNAME = $(kernel-sdcard_DEFLINKLIBNAME) +endif +kernel-sdcard_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-sdcard_DEFCPPFLAGS += -I +endif +kernel-sdcard_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-sdcard_DFLAGS := +else + kernel-sdcard_DFLAGS = $(kernel-sdcard_DEFDFLAGS) +endif +kernel-sdcard_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-sdcard_DXXFLAGS := +else + kernel-sdcard_DXXFLAGS = $(kernel-sdcard_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-sdcard_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-sdcard_DEFDFLAGS)) +kernel-sdcard_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-sdcard_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-sdcard_FUNCINSTR := yes +kernel-sdcard_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-sdcard_DEFDFLAGS)) +kernel-sdcard_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-sdcard_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-sdcard_OBJDIR := +else +kernel-sdcard_OBJDIR := $(OBJDIR)/$(kernel-sdcard_DEFNAME) +endif +ifneq (,) +kernel-sdcard_OBJDIR := $(kernel-sdcard_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-sdcard-makefile := $(kernel-sdcard_OBJDIR)/Makefile.$(kernel-sdcard_DEFNAME)device +kernel-sdcard-genmakefile : $(kernel-sdcard-makefile) + + +kernel-sdcard-genmakefile_OPTS := +ifneq (,) + kernel-sdcard-genmakefile_OPTS += -f + kernel-sdcard-genmakefile_MODNAME := sdcard_ +else + kernel-sdcard-genmakefile_MODNAME := sdcard +endif +kernel-sdcard-genmakefile_TARGET := Makefile.$(kernel-sdcard-genmakefile_MODNAME)device +kernel-sdcard-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-sdcard-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-sdcard-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sdcard-genmakefile_OPTS += -c + kernel-sdcard-genmakefile_DEPS += + endif +else + kernel-sdcard-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/sdcard.conf + kernel-sdcard-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/sdcard.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-sdcard-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-sdcard-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sdcard-genmakefile_OPTS += -o + kernel-sdcard-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-sdcard-genmakefile_OPTS += -s +endif +ifneq ($(kernel-sdcard_OBJDIR),) + kernel-sdcard-genmakefile_OPTS += -d $(kernel-sdcard_OBJDIR) + kernel-sdcard-genmakefile_TARGET := $(kernel-sdcard_OBJDIR)/$(kernel-sdcard-genmakefile_TARGET) +endif + +$(kernel-sdcard-genmakefile_TARGET) : OPTS := $(kernel-sdcard-genmakefile_OPTS) +$(kernel-sdcard-genmakefile_TARGET) : MODNAME := sdcard +$(kernel-sdcard-genmakefile_TARGET) : MODTYPE := device +$(kernel-sdcard-genmakefile_TARGET) : $(kernel-sdcard-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-sdcard-makefile),) +$(kernel-sdcard-makefile) : | $(kernel-sdcard_OBJDIR) +else +$(kernel-sdcard-makefile) :: $(kernel-sdcard_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-sdcard_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-sdcard_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-sdcard-makefile) + +kernel-sdcard_DEFMODDIR := $($(kernel-sdcard_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-sdcard_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-sdcard_DEFMODDIR) +endif +ifneq (,) + kernel-sdcard_MODDIR := +else + kernel-sdcard_MODDIR := $(kernel-sdcard_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-sdcard_INCDIR := +else +kernel-sdcard_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-sdcard_LIBDEFSINC := $(kernel-sdcard_OBJDIR)/include/$(kernel-sdcard_DEFNAME)_libdefs.h +kernel-sdcard_DEFLIBDEFSINC := $(kernel-sdcard_OBJDIR)/include/$(kernel-sdcard_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-sdcard-includes-quick : kernel-sdcard-includes +kernel-sdcard-includes : $(addprefix $(GENINCDIR)/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-sdcard_INCDIR)/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) \ + $(kernel-sdcard_LIBDEFSINC) $(kernel-sdcard_DEFLIBDEFSINC) + +ifneq ($($(kernel-sdcard_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-sdcard-includes_MODNAME := sdcard_ +else + kernel-sdcard-includes_MODNAME := sdcard +endif + +ifneq ($($(kernel-sdcard-includes_MODNAME)_INCLUDES),) + +kernel-sdcard-includes_TARGETS := $($(kernel-sdcard-includes_MODNAME)_INCLUDES) + +kernel-sdcard-includes_DEPS := $(GENMODULE) +kernel-sdcard-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-sdcard-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-sdcard-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sdcard-includes_OPTS += -c + kernel-sdcard-includes_DEPS += + endif +else + kernel-sdcard-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/sdcard.conf + kernel-sdcard-includes_DEPS += $(SRCDIR)/$(CURDIR)/sdcard.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-sdcard-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-sdcard-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sdcard-includes_OPTS += -o + kernel-sdcard-includes_DEPS += + endif +endif +ifneq (,) + kernel-sdcard-includes_OPTS += -s +endif +ifneq ($(kernel-sdcard_OBJDIR)/include,) + kernel-sdcard-includes_OPTS += -d $(kernel-sdcard_OBJDIR)/include + kernel-sdcard-includes_TARGETS := $(addprefix $(kernel-sdcard_OBJDIR)/include/,$(kernel-sdcard-includes_TARGETS)) + kernel-sdcard-includes_GENINCFLAG=$(kernel-sdcard_OBJDIR)/include/.sdcard.device-includes +else + kernel-sdcard-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.sdcard.device-includes +endif + +$(kernel-sdcard-includes_TARGETS) : $(kernel-sdcard-includes_DEPS) $(kernel-sdcard-includes_GENINCFLAG) + +$(kernel-sdcard-includes_GENINCFLAG) : OPTS := $(kernel-sdcard-includes_OPTS) +$(kernel-sdcard-includes_GENINCFLAG) : MODNAME := sdcard +$(kernel-sdcard-includes_GENINCFLAG) : MODTYPE := device +$(kernel-sdcard-includes_GENINCFLAG) : $(kernel-sdcard-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-sdcard_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) : | $(kernel-sdcard_OBJDIR)/sdcard_geninc + +$(kernel-sdcard_OBJDIR)/sdcard_geninc : COPYSRCDIR := $(kernel-sdcard_OBJDIR)/include +$(kernel-sdcard_OBJDIR)/sdcard_geninc : TGTDIR := $(GENINCDIR) +$(kernel-sdcard_OBJDIR)/sdcard_geninc : FILES := $($(kernel-sdcard_DEFNAME)_INCLUDES) +$(kernel-sdcard_OBJDIR)/sdcard_geninc : $(addprefix $(kernel-sdcard_OBJDIR)/include/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-sdcard_OBJDIR)/include + +$(addprefix $(kernel-sdcard_INCDIR)/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) : | $(kernel-sdcard_OBJDIR)/sdcard_incs + +$(kernel-sdcard_OBJDIR)/sdcard_incs : COPYSRCDIR := $(kernel-sdcard_OBJDIR)/include +$(kernel-sdcard_OBJDIR)/sdcard_incs : TGTDIR := $(kernel-sdcard_INCDIR) +$(kernel-sdcard_OBJDIR)/sdcard_incs : FILES := $($(kernel-sdcard_DEFNAME)_INCLUDES) +$(kernel-sdcard_OBJDIR)/sdcard_incs : $(addprefix $(kernel-sdcard_OBJDIR)/include/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-sdcard_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-sdcard_DEFNAME)_INCLUDES)))) + +TMPsdcard_INCDIRS := \ + $(kernel-sdcard_OBJDIR)/include $(addprefix $(kernel-sdcard_OBJDIR)/include/,$(kernel-sdcard_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-sdcard_INCDIRS)) \ + $(kernel-sdcard_INCDIR) $(addprefix $(kernel-sdcard_INCDIR)/,$(kernel-sdcard_INCDIRS)) + +ifneq (kernel-sdcard-includes-dirs,) +kernel-sdcard-includes-dirs : | $(TMPsdcard_INCDIRS) +else +kernel-sdcard-includes-dirs :: $(TMPsdcard_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPsdcard_INCDIRS) + + +endif + +endif + + +kernel-sdcard-genlibdefs_OPTS := +ifneq (,) + kernel-sdcard-genlibdefs_OPTS += -f + kernel-sdcard-genlibdefs_MODNAME := sdcard_ +else + kernel-sdcard-genlibdefs_MODNAME := sdcard +endif +kernel-sdcard-genlibdefs_TARGET := $(kernel-sdcard-genlibdefs_MODNAME)_libdefs.h +kernel-sdcard-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-sdcard-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-sdcard-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sdcard-genlibdefs_OPTS += -c + kernel-sdcard-genlibdefs_DEPS += + endif +else + kernel-sdcard-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/sdcard.conf + kernel-sdcard-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/sdcard.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-sdcard-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-sdcard-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sdcard-genlibdefs_OPTS += -o + kernel-sdcard-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-sdcard-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-sdcard_OBJDIR)/include,) + kernel-sdcard-genlibdefs_OPTS += -d $(kernel-sdcard_OBJDIR)/include + kernel-sdcard-genlibdefs_TARGET := $(kernel-sdcard_OBJDIR)/include/$(kernel-sdcard-genlibdefs_TARGET) +endif +ifneq ($(AROS_TARGET_PLATFORM),) + kernel-sdcard-genlibdefs_OPTS += -v $(AROS_TARGET_PLATFORM) +endif + +$(kernel-sdcard-genlibdefs_TARGET) : OPTS := $(kernel-sdcard-genlibdefs_OPTS) +$(kernel-sdcard-genlibdefs_TARGET) : MODNAME := sdcard +$(kernel-sdcard-genlibdefs_TARGET) : MODTYPE := device +$(kernel-sdcard-genlibdefs_TARGET) : $(kernel-sdcard-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-sdcard_DEFLIBDEFSINC) : FILENAME := $(kernel-sdcard_LIBDEFSINC) +$(kernel-sdcard_DEFLIBDEFSINC) : $(kernel-sdcard_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-sdcard_LIBDEFSINC) $(kernel-sdcard_DEFLIBDEFSINC) : | $(kernel-sdcard_OBJDIR)/include + +ifneq (kernel-sdcard-includes-dirs,) +kernel-sdcard-includes-dirs : | $(kernel-sdcard_OBJDIR)/include +else +kernel-sdcard-includes-dirs :: $(kernel-sdcard_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-sdcard_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-sdcard-genmodfiles_OPTS := +ifneq (,) + kernel-sdcard-genmodfiles_OPTS += -f + kernel-sdcard-genmodfiles_MODNAME := sdcard_ +else + kernel-sdcard-genmodfiles_MODNAME := sdcard +endif +kernel-sdcard-genmodfiles_GENTARGETS := $($(kernel-sdcard-genmodfiles_MODNAME)_STARTFILES) $($(kernel-sdcard-genmodfiles_MODNAME)_ENDFILES) +kernel-sdcard-genmodfiles_STUBTARGETS := $($(kernel-sdcard-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-sdcard-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-sdcard-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-sdcard-genmodfiles_GENTARGETS)) +kernel-sdcard-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-sdcard-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-sdcard-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-sdcard-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-sdcard-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-sdcard-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-sdcard-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sdcard-genmodfiles_OPTS += -c + kernel-sdcard-genmodfiles_DEPS += + endif +else + kernel-sdcard-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/sdcard.conf + kernel-sdcard-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/sdcard.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-sdcard-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-sdcard-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-sdcard-genmodfiles_OPTS += -o + kernel-sdcard-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-sdcard-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-sdcard_OBJDIR),) + kernel-sdcard-genmodfiles_OPTS += -d $(kernel-sdcard_OBJDIR) + kernel-sdcard-genmodfiles_TARGETDIR := $(shell echo $(kernel-sdcard_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-sdcard-genmodfiles_GENTARGETS := $(addprefix $(kernel-sdcard-genmodfiles_TARGETDIR)/,$(kernel-sdcard-genmodfiles_GENTARGETS)) + kernel-sdcard-genmodfiles_GENFILEFLAG=$(kernel-sdcard-genmodfiles_TARGETDIR)/.sdcard.device-genfiles +else + kernel-sdcard-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.sdcard.device-genfiles +endif +ifneq ($(kernel-sdcard_OBJDIR)/linklib,) + kernel-sdcard-genmodfiles_OPTS += -l $(kernel-sdcard_OBJDIR)/linklib + kernel-sdcard-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-sdcard_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-sdcard-genmodfiles_STUBTARGETS := $(addprefix $(kernel-sdcard-genmodfiles_STUBTARGETDIR)/,$(kernel-sdcard-genmodfiles_STUBTARGETS)) + kernel-sdcard-genmodfiles_TARGETDIRS += $(kernel-sdcard_OBJDIR)/linklib +else +ifneq ($(kernel-sdcard_OBJDIR),) + kernel-sdcard-genmodfiles_STUBTARGETS := $(addprefix $(kernel-sdcard-genmodfiles_TARGETDIR)/,$(kernel-sdcard-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-sdcard-genmodfiles_TARGETS := $(kernel-sdcard-genmodfiles_GENTARGETS) $(kernel-sdcard-genmodfiles_STUBTARGETS) +ifneq ($(kernel-sdcard-genmodfiles_TARGETDIRS),) +$(kernel-sdcard-genmodfiles_TARGETS) : | $(kernel-sdcard-genmodfiles_TARGETDIRS) +endif + +$(kernel-sdcard-genmodfiles_TARGETS) : $(kernel-sdcard-genmodfiles_DEPS) $(kernel-sdcard-genmodfiles_GENFILEFLAG) + +$(kernel-sdcard-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-sdcard-genmodfiles_OPTS) +$(kernel-sdcard-genmodfiles_GENFILEFLAG) : MODNAME := sdcard +$(kernel-sdcard-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-sdcard-genmodfiles_GENFILEFLAG) : $(kernel-sdcard-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-sdcard-genmodfiles_GENFILEFLAG) : $(kernel-sdcard_DEFLIBDEFSINC) $(kernel-sdcard-makefile) + + +ifneq ($(kernel-sdcard-genmodfiles_GENFILEFLAG),) +$(kernel-sdcard-genmodfiles_GENFILEFLAG) : | $(kernel-sdcard_OBJDIR)/linklib +else +$(kernel-sdcard-genmodfiles_GENFILEFLAG) :: $(kernel-sdcard_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-sdcard_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-sdcard_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-sdcard_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-sdcard-fd : $(kernel-sdcard_FDDIR)/sdcard_lib.fd + + +TMP_TARGET := sdcard_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/sdcard.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/sdcard.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-sdcard_FDDIR),) + TMP_OPTS += -d $(kernel-sdcard_FDDIR) + TMP_TARGET := $(kernel-sdcard_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := sdcard +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-sdcard_FDDIR)/sdcard_lib.fd : | $(kernel-sdcard_FDDIR) + + +ifneq (kernel-sdcard-fd-setup,) +kernel-sdcard-fd-setup : | $(kernel-sdcard_FDDIR) +else +kernel-sdcard-fd-setup :: $(kernel-sdcard_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-sdcard_FDDIR) + +endif + +## Compilation +## +kernel-sdcard_FILES := $(SDCARDFILES) +kernel-sdcard_OBJCFILES := +kernel-sdcard_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-sdcard_LIBFILES := +kernel-sdcard_LIBS := + +kernel-sdcard_FDIRS := $(sort $(dir $(kernel-sdcard_FILES))) + +kernel-sdcard_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-sdcard_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-sdcard_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-sdcard_FILTERARCH = $(filter-out $(call kernel-sdcard_MATCHARCH,$(1),$(2)),$(2)) +kernel-sdcard_STARTFILES := $(addprefix $(kernel-sdcard_OBJDIR)/,$($(kernel-sdcard_DEFNAME)_STARTFILES)) +kernel-sdcard_ENDFILES := $(addprefix $(kernel-sdcard_OBJDIR)/,$($(kernel-sdcard_DEFNAME)_ENDFILES)) + +kernel-sdcard_ARCHOBJS := $(wildcard $(kernel-sdcard_OBJDIR)/arch/*.o) +kernel-sdcard_LIBARCHOBJS := $(wildcard $(kernel-sdcard_OBJDIR)/linklib/arch/*.o) +kernel-sdcard_ARCHFILES := $(basename $(notdir $(kernel-sdcard_ARCHOBJS))) +kernel-sdcard_LIBARCHFILES := $(basename $(notdir $(kernel-sdcard_LIBARCHOBJS))) +kernel-sdcard_C_NARCHFILES := $(call kernel-sdcard_FILTERARCH,$(kernel-sdcard_ARCHFILES),$(kernel-sdcard_FILES)) +kernel-sdcard_CXX_NARCHFILES := $(call kernel-sdcard_FILTERARCH,$(kernel-sdcard_ARCHFILES),$(kernel-sdcard_CXXFILES)) +kernel-sdcard_OBJC_NARCHFILES := $(call kernel-sdcard_FILTERARCH,$(kernel-sdcard_ARCHFILES),$(kernel-sdcard_OBJCFILES)) +kernel-sdcard_NLIBARCHFILES := $(call kernel-sdcard_FILTERARCH,$(kernel-sdcard_LIBARCHFILES),$(kernel-sdcard_LIBFILES)) +kernel-sdcard_ARCHNLIBFILES := $(call kernel-sdcard_FILTERARCH,$(kernel-sdcard_LIBFILES),$(kernel-sdcard_LIBARCHFILES)) + +kernel-sdcard_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-sdcard_OBJDIR)/include -include $(kernel-sdcard_DEFLIBDEFSINC)) +ifneq (,) +kernel-sdcard_CPPFLAGS += -I +endif +kernel-sdcard_LINKLIBCPPFLAGS := $(kernel-sdcard_CPPFLAGS) +kernel-sdcard_CPPFLAGS += $(strip $($(kernel-sdcard_DEFNAME)_CPPFLAGS)) +kernel-sdcard_LINKLIBCPPFLAGS += $(strip $($(kernel-sdcard_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-sdcard_CFLAGS := $(strip $(CFLAGS) $($(kernel-sdcard_DEFNAME)_CFLAGS)) +kernel-sdcard_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-sdcard_DEFNAME)_LINKLIBCFLAGS)) +kernel-sdcard_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-sdcard_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-sdcard_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-sdcard_CFLAGS := $(strip $(kernel-sdcard_LTOFLAGS) $(kernel-sdcard_CFLAGS)) +kernel-sdcard_LINKLIBCFLAGS := $(strip $(kernel-sdcard_LTOFLAGS) $(kernel-sdcard_LINKLIBCFLAGS)) +kernel-sdcard_CXXFLAGS := $(strip $(kernel-sdcard_LTOFLAGS) $(kernel-sdcard_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-sdcard_SUBSTNULL := +kernel-sdcard_SUBSTSPACE := $(kernel-sdcard_SUBSTNULL) # +kernel-sdcard_SUBSTCOMMA := , +kernel-sdcard_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-sdcard_SUBSTSPACE),$(kernel-sdcard_SUBSTCOMMA),$(strip $($(kernel-sdcard_DEFNAME)_STARTFILES)))) +kernel-sdcard_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-sdcard_CFLAGS := $(strip $(kernel-sdcard_INSTRFUNCFLAGS) $(kernel-sdcard_CFLAGS)) +kernel-sdcard_CXXFLAGS := $(strip $(kernel-sdcard_INSTRFUNCFLAGS) $(kernel-sdcard_CXXFLAGS)) +kernel-sdcard_LIBS += $(kernel-sdcard_INSTRFUNCLIBS) +endif +endif +kernel-sdcard_DFLAGS := $(strip $(kernel-sdcard_DFLAGS) $($(kernel-sdcard_DEFNAME)_DFLAGS)) +kernel-sdcard_LINKLIBDFLAGS := $(strip $(kernel-sdcard_DFLAGS) $($(kernel-sdcard_DEFNAME)_LINKLIBDFLAGS)) +kernel-sdcard_DXXFLAGS := $(strip $(kernel-sdcard_DXXFLAGS) $($(kernel-sdcard_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-sdcard_LIBSUFFIX := +else + kernel-sdcard_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-sdcard_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-sdcard_LIBDIR := +endif + +ifeq (M,M) +kernel-sdcard_LINKLIBCFILES := $(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$($(kernel-sdcard_DEFNAME)_LINKLIBFILES)) +kernel-sdcard_LINKLIBAFILES := $(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$($(kernel-sdcard_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-sdcard_DEFNAME)_LINKLIBFILES) $($(kernel-sdcard_DEFNAME)_LINKLIBAFILES) $(kernel-sdcard_ARCHNLIBFILES)),) + kernel-sdcard_LINKLIB := +else + kernel-sdcard_LINKLIB := $(kernel-sdcard_LIBDIR)/libsdcard$(kernel-sdcard_LIBSUFFIX).a + ifneq (sdcard,$(kernel-sdcard_LINKLIBNAME)) + kernel-sdcard_LINKLIB += $(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)$(kernel-sdcard_LIBSUFFIX).a + endif +endif +kernel-sdcard_LINKLIBFILES := $(kernel-sdcard_LINKLIBCFILES) $(kernel-sdcard_LINKLIBAFILES) + +kernel-sdcard_RELLINKLIBCFILES := $(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$($(kernel-sdcard_DEFNAME)_RELLINKLIBFILES)) +kernel-sdcard_RELLINKLIBAFILES := $(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$($(kernel-sdcard_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-sdcard_DEFNAME)_RELLINKLIBFILES) $($(kernel-sdcard_DEFNAME)_RELLINKLIBAFILES) $(kernel-sdcard_ARCHNLIBFILES)),) + kernel-sdcard_RELLINKLIB := +else + kernel-sdcard_RELLINKLIB := $(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_DEFNAME)_rel$(kernel-sdcard_LIBSUFFIX).a + ifneq (sdcard,$(kernel-sdcard_LINKLIBNAME)) + kernel-sdcard_RELLINKLIB += $(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)_rel$(kernel-sdcard_LIBSUFFIX).a + endif +endif +kernel-sdcard_RELLINKLIBFILES := $(kernel-sdcard_RELLINKLIBCFILES) $(kernel-sdcard_RELLINKLIBAFILES) +endif + +kernel-sdcard_ENDOBJS := $(addsuffix .o,$(kernel-sdcard_ENDFILES)) +kernel-sdcard_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(notdir $(kernel-sdcard_NLIBARCHFILES))) $(addprefix $(kernel-sdcard_OBJDIR)/linklib/arch/,$(notdir $(kernel-sdcard_ARCHNLIBFILES))) $(kernel-sdcard_LINKLIBFILES)) \ + +kernel-sdcard_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(notdir $(kernel-sdcard_NLIBARCHFILES))) $(addprefix $(kernel-sdcard_OBJDIR)/linklib/arch/,$(notdir $(kernel-sdcard_ARCHNLIBFILES))) $(kernel-sdcard_RELLINKLIBFILES)) \ + +$(kernel-sdcard_LINKLIBFILES) $(kernel-sdcard_RELLINKLIBFILES) : | $(kernel-sdcard_OBJDIR)/linklib +$(kernel-sdcard_LINKLIBOBJS) $(kernel-sdcard_RELLINKLIBOBJS) : | $(kernel-sdcard_OBJDIR)/linklib + +kernel-sdcard_CCFILES := $(kernel-sdcard_C_NARCHFILES) +kernel-sdcard_TARGETCCFILES := $(strip $(kernel-sdcard_STARTFILES) $(kernel-sdcard_ENDFILES)) +kernel-sdcard_LINKLIBCCFILES := $(strip $(kernel-sdcard_NLIBARCHFILES) $(kernel-sdcard_LINKLIBCFILES) $(kernel-sdcard_RELLINKLIBCFILES)) +kernel-sdcard_LINKLIBCCGENFILES := $(strip $(kernel-sdcard_LINKLIBCFILES) $(kernel-sdcard_RELLINKLIBCFILES)) + + +kernel-sdcard_CXXABSBASENAMES := $(foreach kernel-sdcard_CXXBASE,$(kernel-sdcard_CXX_NARCHFILES),$(if $(filter /%,$(kernel-sdcard_CXXBASE)),$(kernel-sdcard_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-sdcard_CXXBASE)))) + +ifneq ($(kernel-sdcard_CXXABSBASENAMES),) + +kernel-sdcard_CXXBASENAMES := $(basename $(kernel-sdcard_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-sdcard_MCXX_FILES := $(strip $(foreach kernel-sdcard_CXXBASE,$(kernel-sdcard_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-sdcard_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-sdcard_EXT),$(kernel-sdcard_CXXBASE))))))) + +ifeq (,) +kernel-sdcard_MCXX_SRCWILDCARD := % +else +kernel-sdcard_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sdcard_OBJDIR),) + kernel-sdcard_CXXTARGETS := $(notdir $(kernel-sdcard_CXXBASENAMES:=.o)) + kernel-sdcard_CXXDTARGETS := $(notdir $(kernel-sdcard_CXXBASENAMES:=.d)) + kernel-sdcard_MCXX_WILDCARD := % +else + kernel-sdcard_CXXTARGETS := $(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(kernel-sdcard_CXXBASENAMES:=.o))) + kernel-sdcard_CXXDTARGETS := $(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(kernel-sdcard_CXXBASENAMES:=.d))) + kernel-sdcard_MCXX_WILDCARD := $(kernel-sdcard_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-sdcard_CXXTARGETS) $(kernel-sdcard_CXXDTARGETS) : | $(kernel-sdcard_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-sdcard_MCXX_CPPFLAGS := $(kernel-sdcard_CPPFLAGS) +kernel-sdcard_CXXFLAGS := $(kernel-sdcard_CXXFLAGS) +ifeq ($(kernel-sdcard_DXXFLAGS),) + kernel-sdcard_DXXFLAGS := $(kernel-sdcard_CXXFLAGS) +else + kernel-sdcard_DXXFLAGS := $(kernel-sdcard_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-sdcard_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-sdcard_STRIP ?= $(HOST_STRIP) + kernel-sdcard_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-sdcard_CXXCMD:=$(HOST_CXX) + kernel-sdcard_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-sdcard_MCXX_CPPFLAGS) $(kernel-sdcard_MCXX_EXTRA_CPPFLAGS)) + kernel-sdcard_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-sdcard_CXXFLAGS)) + kernel-sdcard_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-sdcard_DXXFLAGS)) + kernel-sdcard_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-sdcard_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-sdcard_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-sdcard_STRIP ?= $(TARGET_STRIP) + kernel-sdcard_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-sdcard_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-sdcard_MCXX_CPPFLAGS := $(strip $(kernel-sdcard_MCXX_CPPFLAGS) $(kernel-sdcard_MCXX_EXTRA_CPPFLAGS)) + kernel-sdcard_CXXFLAGS := $(strip $(kernel-sdcard_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-sdcard_DXXFLAGS := $(kernel-sdcard_DXXFLAGS) + kernel-sdcard_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-sdcard_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-sdcard_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-sdcard_STRIP ?= $(ECHO) >/dev/null + kernel-sdcard_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-sdcard_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-sdcard_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-sdcard_MCXX_CPPFLAGS) $(kernel-sdcard_MCXX_EXTRA_CPPFLAGS)) + kernel-sdcard_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-sdcard_CXXFLAGS)) + kernel-sdcard_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-sdcard_DXXFLAGS)) + kernel-sdcard_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-sdcard_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-sdcard_CXXCMD) $(kernel-sdcard_CXXIQUOTE) $(dir $(2)) $(kernel-sdcard_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_CXXIQUOTE) . $(kernel-sdcard_CXXIQUOTE_END) $(strip $(kernel-sdcard_CXXFLAGS) $(kernel-sdcard_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-sdcard_CXXCMD) $(kernel-sdcard_CXXIQUOTE) $(dir $(2)) $(kernel-sdcard_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_CXXIQUOTE) . $(kernel-sdcard_CXXIQUOTE_END) $(strip $(kernel-sdcard_CXXFLAGS) $(kernel-sdcard_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-sdcard_CXXCMD) $(kernel-sdcard_CXXIQUOTE) $(dir $(2)) $(kernel-sdcard_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_CXXIQUOTE) . $(kernel-sdcard_CXXIQUOTE_END) $(strip $(kernel-sdcard_CXXFLAGS) $(kernel-sdcard_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-sdcard_CXXCMD)" $(MKDEPEND) $(strip $(kernel-sdcard_DXXFLAGS) $(kernel-sdcard_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-sdcard_OBJDIR),) + $(foreach kernel-sdcard_CXXFILE,$(kernel-sdcard_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-sdcard_CXXFILE))),$(kernel-sdcard_CXXFILE)))) +else + $(foreach kernel-sdcard_CXXFILE,$(kernel-sdcard_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(basename $(kernel-sdcard_CXXFILE)))),$(kernel-sdcard_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-sdcard_OBJC_NARCHFILES),) + +ifeq (,) +kernel-sdcard_MOBJC_SRCWILDCARD := % +else +kernel-sdcard_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sdcard_OBJDIR),) + kernel-sdcard_MOBJC_TARGETS := $(addsuffix .o,$(kernel-sdcard_OBJC_NARCHFILES)) + kernel-sdcard_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-sdcard_OBJC_NARCHFILES)) + kernel-sdcard_MOBJC_WILDCARD := % +else + kernel-sdcard_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/,$(kernel-sdcard_OBJC_NARCHFILES))) + kernel-sdcard_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/,$(kernel-sdcard_OBJC_NARCHFILES))) + kernel-sdcard_MOBJC_WILDCARD := $(kernel-sdcard_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-sdcard_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-sdcard_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-sdcard_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sdcard_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-sdcard_MOBJC_DIRS := $(foreach dir, $(kernel-sdcard_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sdcard_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-sdcard_MOBJC_DIRS),) + kernel-sdcard_MOBJC_DIRS := $(shell echo $(kernel-sdcard_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-sdcard_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-sdcard_CC := $(TARGET_CC) +else + kernel-sdcard_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-sdcard_MOBJC_CPPFLAGS := $(kernel-sdcard_CPPFLAGS) +kernel-sdcard_OBJCFLAGS := $(kernel-sdcard_CFLAGS) +kernel-sdcard_OBJCFLAGS := $(kernel-sdcard_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-sdcard_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-sdcard_OBJCFLAGS))) +ifeq ($(kernel-sdcard_DFLAGS),) + kernel-sdcard_OBJCDFLAGS := $(kernel-sdcard_CFLAGS) +else + kernel-sdcard_OBJCDFLAGS := $(kernel-sdcard_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-sdcard_LINK ?= $(strip $(kernel-sdcard_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-sdcard_STRIP ?= $(TARGET_STRIP) + kernel-sdcard_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-sdcard_CC) $(TARGET_SYSROOT)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_MOBJC_CPPFLAGS:=$(strip $(kernel-sdcard_MOBJC_CPPFLAGS) $(kernel-sdcard_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_OBJCFLAGS:=$(strip $(kernel-sdcard_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_OBJCDFLAGS:=$(kernel-sdcard_OBJCDFLAGS) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-sdcard_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-sdcard_STRIP ?= $(HOST_STRIP) + kernel-sdcard_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-sdcard_MOBJC_CPPFLAGS) $(kernel-sdcard_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_OBJCFLAGS)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_OBJCDFLAGS)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_IQUOTE:=$(HOST_IQUOTE) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-sdcard_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-sdcard_STRIP ?= $(ECHO) >/dev/null + kernel-sdcard_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-sdcard_MOBJC_CPPFLAGS) $(kernel-sdcard_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_OBJCFLAGS)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_OBJCDFLAGS)) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-sdcard_MOBJC_TARGETS) $(kernel-sdcard_MOBJC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sdcard_MOBJC_TARGETS) : CPPFLAGS := $(kernel-sdcard_MOBJC_CPPFLAGS) +$(kernel-sdcard_MOBJC_TARGETS) : CFLAGS := $(kernel-sdcard_OBJCFLAGS) +$(kernel-sdcard_MOBJC_TARGETS) : $(kernel-sdcard_MOBJC_WILDCARD).o : $(kernel-sdcard_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sdcard_MOBJC_DTARGETS) : $(kernel-sdcard_MOBJC_WILDCARD).d : $(kernel-sdcard_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sdcard_OBJCDFLAGS) $(kernel-sdcard_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-sdcard_MC_SRCWILDCARD := % +else +kernel-sdcard_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sdcard_OBJDIR),) +kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(kernel-sdcard_CCFILES)) +kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(kernel-sdcard_CCFILES)) +kernel-sdcard_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(kernel-sdcard_CCFILES)))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(kernel-sdcard_CCFILES)))) +else +ifeq (,) + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/,$(kernel-sdcard_CCFILES))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/,$(kernel-sdcard_CCFILES))) +else + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/,$(patsubst /%,%,$(kernel-sdcard_CCFILES)))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/,$(patsubst /%,%,$(kernel-sdcard_CCFILES)))) +endif +endif +kernel-sdcard_MC_TGTWILDCARD := $(kernel-sdcard_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : | $(addsuffix .c,$(kernel-sdcard_CCFILES)) + +# Be sure that all .c files are found +kernel-sdcard_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sdcard_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sdcard_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sdcard_MC_DIRS := $(foreach dir, $(kernel-sdcard_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sdcard_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sdcard_MC_DIRS),) + kernel-sdcard_MC_DIRS := $(shell echo $(kernel-sdcard_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-sdcard_MC_DIRS) +endif + +endif + +kernel-sdcard_MC_CPPFLAGS := $(kernel-sdcard_CPPFLAGS) +kernel-sdcard_CFLAGS := $(kernel-sdcard_CFLAGS) +ifeq ($(kernel-sdcard_DFLAGS),) + kernel-sdcard_DFLAGS := $(kernel-sdcard_CFLAGS) +else + kernel-sdcard_DFLAGS := $(kernel-sdcard_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-sdcard_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-sdcard_STRIP ?= $(TARGET_STRIP) +kernel-sdcard_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(kernel-sdcard_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(kernel-sdcard_DFLAGS) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-sdcard_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-sdcard_STRIP ?= $(HOST_STRIP) +kernel-sdcard_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_DFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(HOST_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-sdcard_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-sdcard_STRIP ?= $(ECHO) >/dev/null +kernel-sdcard_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_DFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sdcard_MC_TARGETS) : CPPFLAGS := $(kernel-sdcard_MC_CPPFLAGS) +$(kernel-sdcard_MC_TARGETS) : CFLAGS := $(kernel-sdcard_CFLAGS) +$(kernel-sdcard_MC_TARGETS) : $(kernel-sdcard_MC_TGTWILDCARD).o : $(kernel-sdcard_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sdcard_MC_DTARGETS) : $(kernel-sdcard_MC_TGTWILDCARD).d : $(kernel-sdcard_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sdcard_DFLAGS) $(kernel-sdcard_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-sdcard_MC_SRCWILDCARD := % +else +kernel-sdcard_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sdcard_OBJDIR),) +kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(kernel-sdcard_TARGETCCFILES)) +kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(kernel-sdcard_TARGETCCFILES)) +kernel-sdcard_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(kernel-sdcard_TARGETCCFILES)))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(kernel-sdcard_TARGETCCFILES)))) +else +ifeq (,) + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/,$(kernel-sdcard_TARGETCCFILES))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/,$(kernel-sdcard_TARGETCCFILES))) +else + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/,$(patsubst /%,%,$(kernel-sdcard_TARGETCCFILES)))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/,$(patsubst /%,%,$(kernel-sdcard_TARGETCCFILES)))) +endif +endif +kernel-sdcard_MC_TGTWILDCARD := $(kernel-sdcard_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : | $(addsuffix .c,$(kernel-sdcard_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-sdcard_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sdcard_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sdcard_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sdcard_MC_DIRS := $(foreach dir, $(kernel-sdcard_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sdcard_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sdcard_MC_DIRS),) + kernel-sdcard_MC_DIRS := $(shell echo $(kernel-sdcard_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-sdcard_MC_DIRS) +endif + +endif + +kernel-sdcard_MC_CPPFLAGS := $(kernel-sdcard_CPPFLAGS) -D__AROS__ +kernel-sdcard_CFLAGS := $(kernel-sdcard_CFLAGS) +ifeq ($(kernel-sdcard_DFLAGS),) + kernel-sdcard_DFLAGS := $(kernel-sdcard_CFLAGS) +else + kernel-sdcard_DFLAGS := $(kernel-sdcard_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-sdcard_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-sdcard_STRIP ?= $(TARGET_STRIP) +kernel-sdcard_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(kernel-sdcard_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(kernel-sdcard_DFLAGS) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-sdcard_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-sdcard_STRIP ?= $(HOST_STRIP) +kernel-sdcard_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_DFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(HOST_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-sdcard_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-sdcard_STRIP ?= $(ECHO) >/dev/null +kernel-sdcard_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_DFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sdcard_MC_TARGETS) : CPPFLAGS := $(kernel-sdcard_MC_CPPFLAGS) +$(kernel-sdcard_MC_TARGETS) : CFLAGS := $(kernel-sdcard_CFLAGS) +$(kernel-sdcard_MC_TARGETS) : $(kernel-sdcard_MC_TGTWILDCARD).o : $(kernel-sdcard_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sdcard_MC_DTARGETS) : $(kernel-sdcard_MC_TGTWILDCARD).d : $(kernel-sdcard_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sdcard_DFLAGS) $(kernel-sdcard_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-sdcard_MC_SRCWILDCARD := % +else +kernel-sdcard_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-sdcard_OBJDIR)/linklib,) +kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(kernel-sdcard_NLIBARCHFILES)) +kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(kernel-sdcard_NLIBARCHFILES)) +kernel-sdcard_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(notdir $(kernel-sdcard_NLIBARCHFILES)))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(notdir $(kernel-sdcard_NLIBARCHFILES)))) +else +ifeq (,) + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(kernel-sdcard_NLIBARCHFILES))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(kernel-sdcard_NLIBARCHFILES))) +else + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-sdcard_NLIBARCHFILES)))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-sdcard_NLIBARCHFILES)))) +endif +endif +kernel-sdcard_MC_TGTWILDCARD := $(kernel-sdcard_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : | $(addsuffix .c,$(kernel-sdcard_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-sdcard_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sdcard_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sdcard_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sdcard_MC_DIRS := $(foreach dir, $(kernel-sdcard_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sdcard_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sdcard_MC_DIRS),) + kernel-sdcard_MC_DIRS := $(shell echo $(kernel-sdcard_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-sdcard_MC_DIRS) +endif + +endif + +kernel-sdcard_MC_CPPFLAGS := $(kernel-sdcard_LINKLIBCPPFLAGS) -D__AROS__ +kernel-sdcard_CFLAGS := $(kernel-sdcard_LINKLIBCFLAGS) +ifeq ($(kernel-sdcard_LINKLIBDFLAGS),) + kernel-sdcard_DFLAGS := $(kernel-sdcard_LINKLIBCFLAGS) +else + kernel-sdcard_DFLAGS := $(kernel-sdcard_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-sdcard_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-sdcard_STRIP ?= $(TARGET_STRIP) +kernel-sdcard_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(kernel-sdcard_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(kernel-sdcard_DFLAGS) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-sdcard_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-sdcard_STRIP ?= $(HOST_STRIP) +kernel-sdcard_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_DFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(HOST_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-sdcard_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-sdcard_STRIP ?= $(ECHO) >/dev/null +kernel-sdcard_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_DFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sdcard_MC_TARGETS) : CPPFLAGS := $(kernel-sdcard_MC_CPPFLAGS) +$(kernel-sdcard_MC_TARGETS) : CFLAGS := $(kernel-sdcard_CFLAGS) +$(kernel-sdcard_MC_TARGETS) : $(kernel-sdcard_MC_TGTWILDCARD).o : $(kernel-sdcard_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sdcard_MC_DTARGETS) : $(kernel-sdcard_MC_TGTWILDCARD).d : $(kernel-sdcard_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sdcard_DFLAGS) $(kernel-sdcard_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-sdcard_OBJDIR)/linklib,) +kernel-sdcard_MC_SRCWILDCARD := % +else +kernel-sdcard_MC_SRCWILDCARD := $(kernel-sdcard_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-sdcard_OBJDIR)/linklib,) +kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(kernel-sdcard_LINKLIBCCGENFILES)) +kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(kernel-sdcard_LINKLIBCCGENFILES)) +kernel-sdcard_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(notdir $(kernel-sdcard_LINKLIBCCGENFILES)))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(notdir $(kernel-sdcard_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-sdcard_OBJDIR)/linklib,) + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(kernel-sdcard_LINKLIBCCGENFILES))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(kernel-sdcard_LINKLIBCCGENFILES))) +else + kernel-sdcard_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(patsubst $(kernel-sdcard_OBJDIR)/linklib/%,%,$(kernel-sdcard_LINKLIBCCGENFILES)))) + kernel-sdcard_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(patsubst $(kernel-sdcard_OBJDIR)/linklib/%,%,$(kernel-sdcard_LINKLIBCCGENFILES)))) +endif +endif +kernel-sdcard_MC_TGTWILDCARD := $(kernel-sdcard_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : | $(addsuffix .c,$(kernel-sdcard_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-sdcard_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sdcard_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sdcard_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sdcard_MC_DIRS := $(foreach dir, $(kernel-sdcard_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sdcard_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sdcard_MC_DIRS),) + kernel-sdcard_MC_DIRS := $(shell echo $(kernel-sdcard_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-sdcard_MC_DIRS) +endif + +endif + +kernel-sdcard_MC_CPPFLAGS := $(kernel-sdcard_LINKLIBCPPFLAGS) -D__AROS__ +kernel-sdcard_CFLAGS := $(kernel-sdcard_LINKLIBCFLAGS) +ifeq ($(kernel-sdcard_LINKLIBDFLAGS),) + kernel-sdcard_DFLAGS := $(kernel-sdcard_LINKLIBCFLAGS) +else + kernel-sdcard_DFLAGS := $(kernel-sdcard_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-sdcard_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-sdcard_STRIP ?= $(TARGET_STRIP) +kernel-sdcard_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(kernel-sdcard_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(kernel-sdcard_DFLAGS) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-sdcard_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-sdcard_STRIP ?= $(HOST_STRIP) +kernel-sdcard_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-sdcard_DFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(HOST_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-sdcard_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-sdcard_STRIP ?= $(ECHO) >/dev/null +kernel-sdcard_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-sdcard_MC_CPPFLAGS) $(kernel-sdcard_MC_EXTRA_CPPFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_CFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-sdcard_DFLAGS)) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-sdcard_MC_TARGETS) $(kernel-sdcard_MC_DTARGETS) : kernel-sdcard_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-sdcard_MC_TARGETS) : CPPFLAGS := $(kernel-sdcard_MC_CPPFLAGS) +$(kernel-sdcard_MC_TARGETS) : CFLAGS := $(kernel-sdcard_CFLAGS) +$(kernel-sdcard_MC_TARGETS) : $(kernel-sdcard_MC_TGTWILDCARD).o : $(kernel-sdcard_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-sdcard_IQUOTE) $(dir $<) $(kernel-sdcard_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-sdcard_IQUOTE) . $(kernel-sdcard_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-sdcard_MC_DTARGETS) : $(kernel-sdcard_MC_TGTWILDCARD).d : $(kernel-sdcard_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-sdcard_DFLAGS) $(kernel-sdcard_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-sdcard_LINKLIBAFILES),) + +ifeq ($(kernel-sdcard_OBJDIR)/linklib,) +kernel-sdcard-MA_TARGETS := $(addsuffix .o,$(kernel-sdcard_LINKLIBAFILES) $(kernel-sdcard_RELLINKLIBAFILES)) +kernel-sdcard-MA_WILDCARD := % +else +kernel-sdcard-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(notdir $(kernel-sdcard_LINKLIBAFILES) $(kernel-sdcard_RELLINKLIBAFILES)))) +kernel-sdcard-MA_WILDCARD := $(kernel-sdcard_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-sdcard-MA_TARGETS) : | $(addsuffix .S,$(kernel-sdcard_LINKLIBAFILES) $(kernel-sdcard_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-sdcard-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-sdcard-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-sdcard_LINKLIBAFILES) $(kernel-sdcard_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-sdcard-MA_DIRS := $(foreach dir, $(kernel-sdcard-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-sdcard-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-sdcard-MA_DIRS),) + kernel-sdcard-MA_DIRS := $(shell echo $(kernel-sdcard-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-sdcard-MA_DIRS) +endif + +endif + +kernel-sdcard-MA_ASSEMBLER ?= $(kernel-sdcard_ASSEMBLER) + +$(kernel-sdcard-MA_TARGETS) : kernel-sdcard-MA_CMD:= $(kernel-sdcard-MA_ASSEMBLER) + +$(kernel-sdcard-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-sdcard-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-sdcard-MA_TARGETS) : $(kernel-sdcard-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-sdcard-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-sdcard-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-sdcard-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-sdcard_SUFFIX := device +else +kernel-sdcard_SUFFIX := +endif + +ifeq (target,target) +kernel-sdcard_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-sdcard_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-sdcard_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-sdcard_SUFFIX),handler) +kernel-sdcard_MODULE := $(AROSDIR)/$(kernel-sdcard_MODDIR)/$(kernel-sdcard_DEFNAME)-$(kernel-sdcard_SUFFIX) +else +kernel-sdcard_MODULE := $(AROSDIR)/$(kernel-sdcard_MODDIR)/$(kernel-sdcard_DEFNAME).$(kernel-sdcard_SUFFIX) +endif +kernel-sdcard_KOBJ := $(KOBJSDIR)/$(kernel-sdcard_DEFNAME)_$(kernel-sdcard_SUFFIX).o +else +kernel-sdcard_MODULE := +kernel-sdcard_KOBJ := +endif + +kernel-sdcard-quick : kernel-sdcard +kernel-sdcard : $(kernel-sdcard_MODULE) $(kernel-sdcard_LINKLIB) $(kernel-sdcard_RELLINKLIB) +ifeq (M,M) +kernel-sdcard-kobj : $(kernel-sdcard_KOBJ) $(kernel-sdcard_LINKLIB) $(kernel-sdcard_RELLINKLIB) +kernel-sdcard-kobj-quick : $(kernel-sdcard_KOBJ) $(kernel-sdcard_LINKLIB) $(kernel-sdcard_RELLINKLIB) +endif +ifeq (M,M) +kernel-sdcard-linklib : $(kernel-sdcard_LINKLIB) $(kernel-sdcard_RELLINKLIB) +endif + +kernel-sdcard_OBJS := $(addsuffix .o,$(kernel-sdcard_STARTFILES)) $(kernel-sdcard_ARCHOBJS) \ + $(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(kernel-sdcard_C_NARCHFILES:=.o) $(kernel-sdcard_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-sdcard_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (sdcard,con) + kernel-sdcard_ERR := $(notdir $(kernel-sdcard_MODULE)).err +else + kernel-sdcard_ERR := sdcard.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-sdcard_DEFNAME)_LDFLAGS) $(kernel-sdcard_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-sdcard_LIBS) $($(kernel-sdcard_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-sdcard_MODULE) : LIB_NAMES := $(kernel-sdcard_LIBS) $($(kernel-sdcard_DEFNAME)_LIBS) +$(kernel-sdcard_MODULE) : OBJS := $(kernel-sdcard_STARTOBJS) $(kernel-sdcard_OBJS) $(USER_OBJS) +$(kernel-sdcard_MODULE) : ENDTAG := $(kernel-sdcard_ENDOBJS) +$(kernel-sdcard_MODULE) : ERR := $(kernel-sdcard_ERR) +$(kernel-sdcard_MODULE) : OBJDIR := $(kernel-sdcard_OBJDIR) +$(kernel-sdcard_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-sdcard_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-sdcard_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-sdcard_MODULE) : $(kernel-sdcard_STARTOBJS) $(kernel-sdcard_OBJS) $(USER_OBJS) $(kernel-sdcard_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-sdcard_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-sdcard_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-sdcard_LC_LINKLIBNAME := $(shell echo $(kernel-sdcard_LINKLIBNAME) | tr A-Z a-z) +kernel-sdcard_LC_MODNAME := $(shell echo sdcard | tr A-Z a-z) +ifneq ($(kernel-sdcard_LINKLIB),) + +ifeq (target,target) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(HOST_AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(KERNEL_AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)$(kernel-sdcard_LIBSUFFIX).a : $(kernel-sdcard_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-sdcard_AR) $@ $^ + $(Q)$(kernel-sdcard_RANLIB) $@ +ifneq ($(kernel-sdcard_LC_MODNAME),$(kernel-sdcard_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-sdcard_LIBDIR)/libsdcard$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(AR) +$(kernel-sdcard_LIBDIR)/libsdcard$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-sdcard_LIBDIR)/libsdcard$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(HOST_AR) +$(kernel-sdcard_LIBDIR)/libsdcard$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-sdcard_LIBDIR)/libsdcard$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(KERNEL_AR) +$(kernel-sdcard_LIBDIR)/libsdcard$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-sdcard_LIBDIR)/libsdcard$(kernel-sdcard_LIBSUFFIX).a : $(kernel-sdcard_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-sdcard_AR) $@ $^ + $(Q)$(kernel-sdcard_RANLIB) $@ +endif + + +ifneq ($(kernel-sdcard_LINKLIB),) +$(kernel-sdcard_LINKLIB) : | $(kernel-sdcard_LIBDIR) +else +$(kernel-sdcard_LINKLIB) :: $(kernel-sdcard_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-sdcard_LIBDIR) + +endif + +ifneq ($(kernel-sdcard_RELLINKLIB),) + +ifeq (target,target) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(HOST_AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(KERNEL_AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_LINKLIBNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : $(kernel-sdcard_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-sdcard_AR) $@ $^ + $(Q)$(kernel-sdcard_RANLIB) $@ +ifneq ($(kernel-sdcard_LC_MODNAME),$(kernel-sdcard_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_DEFNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_DEFNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_DEFNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(HOST_AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_DEFNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_DEFNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_AR:=$(KERNEL_AR) +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_DEFNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : kernel-sdcard_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-sdcard_LIBDIR)/lib$(kernel-sdcard_DEFNAME)_rel$(kernel-sdcard_LIBSUFFIX).a : $(kernel-sdcard_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-sdcard_AR) $@ $^ + $(Q)$(kernel-sdcard_RANLIB) $@ +endif + + +ifneq ($(kernel-sdcard_RELLINKLIB),) +$(kernel-sdcard_RELLINKLIB) : | $(kernel-sdcard_LIBDIR) +else +$(kernel-sdcard_RELLINKLIB) :: $(kernel-sdcard_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-sdcard_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-sdcard_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-sdcard_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-sdcard_SYMBOLS := $(kernel-sdcard_KBASE) + +kernel-sdcard_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-sdcard_KOBJ_LIBS := $(filter-out $(kernel-sdcard_KLIB),$(kernel-sdcard_LIBS)) $(kernel-sdcard_KAUTOLIB) +$(kernel-sdcard_KOBJ) : LINKLIBS:=$(kernel-sdcard_KOBJ_LIBS) $($(kernel-sdcard_DEFNAME)_LIBS) +$(kernel-sdcard_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-sdcard_SYMBOLS)) +$(kernel-sdcard_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-sdcard_KOBJ) : $(kernel-sdcard_OBJS) $(USER_OBJS) $(kernel-sdcard_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-sdcard_DEPS := $(addprefix $(kernel-sdcard_OBJDIR)/,$(notdir $(kernel-sdcard_CCFILES:=.d) $(kernel-sdcard_TARGETCCFILES:=.d) $(kernel-sdcard_CXXFILES:=.d))) $(addprefix $(kernel-sdcard_OBJDIR)/linklib/,$(notdir $(kernel-sdcard_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-sdcard_DEPS),) + ifneq (kernel-sdcard kernel-sdcard-quick kernel-sdcard-kobj kernel-sdcard-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-sdcard kernel-sdcard-quick kernel-sdcard-kobj kernel-sdcard-kobj-quick),) + -include $(kernel-sdcard_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-sdcard_DEPS) + endif + endif +endif + +$(kernel-sdcard_OBJS) $(kernel-sdcard_DEPS) : | $(kernel-sdcard_OBJDIR)/linklib + +ifneq ($(kernel-sdcard_OBJS) $(kernel-sdcard_DEPS) $(kernel-sdcard_MODULE) $(kernel-sdcard_KOBJ),) +$(kernel-sdcard_OBJS) $(kernel-sdcard_DEPS) $(kernel-sdcard_MODULE) $(kernel-sdcard_KOBJ) : | $(kernel-sdcard_OBJDIR) $(AROSDIR)/$(kernel-sdcard_MODDIR) $(KOBJSDIR) +else +$(kernel-sdcard_OBJS) $(kernel-sdcard_DEPS) $(kernel-sdcard_MODULE) $(kernel-sdcard_KOBJ) :: $(kernel-sdcard_OBJDIR) $(AROSDIR)/$(kernel-sdcard_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-sdcard_OBJDIR) $(AROSDIR)/$(kernel-sdcard_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-sdcard kernel-sdcard-includes kernel-sdcard-quick kernel-sdcard-kobj kernel-sdcard-kobj-quick),) # Only for this target these deps are wanted + +kernel-sdcard_DFILE_DEPS := $(kernel-sdcard_LIBDEFSINC) $(kernel-sdcard_DEFLIBDEFSINC) \ + $(addprefix $(kernel-sdcard_INCDIR)/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) +$(kernel-sdcard_DEPS) : $(kernel-sdcard_DFILE_DEPS) +endif + +kernel-sdcard_TOCLEAN := $(kernel-sdcard_OBJS) $(kernel-sdcard_DEPS) \ + $(kernel-sdcard_MODULE) $(kernel-sdcard_LINKLIB) $(kernel-sdcard_KOBJ) \ + $(kernel-sdcard_OBJDIR)/Makefile.sdcarddevice \ + $(addprefix $(kernel-sdcard_OBJDIR)/include/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-sdcard_INCDIR)/,$($(kernel-sdcard_DEFNAME)_INCLUDES)) \ + $(kernel-sdcard_OBJDIR)/sdcard_geninc $(kernel-sdcard_OBJDIR)/sdcard_incs \ + $(addsuffix .c,$(kernel-sdcard_LINKLIBFILES)) $(kernel-sdcard_LINKLIBOBJS) $(kernel-sdcard_LIBDEFSINC) \ + $(kernel-sdcard_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-sdcard_STARTFILES) $(kernel-sdcard_ENDFILES)) \ + $(kernel-sdcard_ENDOBJS) +kernel-sdcard-clean : FILES := $(kernel-sdcard_TOCLEAN) +kernel-sdcard-clean :: + $(Q)$(ECHO) "Cleaning up for module sdcard" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-sdcard_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/devs/trackdisk/mmakefile b/rom/devs/trackdisk/mmakefile new file mode 100644 index 00000000000..dc8bc8fa5ad --- /dev/null +++ b/rom/devs/trackdisk/mmakefile @@ -0,0 +1,1664 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- kernel-pc-i386-trackdisk : includes +#MM- kernel-pc-i386-trackdisk-kobj : includes + +USER_CPPFLAGS := \ + -DUSE_EXEC_DEBUG +USER_INCLUDES := -I$(TOP)/rom/devs +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-devs-trackdisk +#MM kernel-devs-trackdisk-quick +#MM kernel-devs-trackdisk-makefile +#MM kernel-devs-trackdisk-clean + +# ABI targets: +#MM- includes-all : kernel-devs-trackdisk-includes +#MM- linklibs-trackdisk: kernel-devs-trackdisk-linklib +#MM- linklibs-trackdisk_rel : kernel-devs-trackdisk-linklib +#MM- includes-trackdisk: kernel-devs-trackdisk-includes +#MM- includes-trackdisk_rel : kernel-devs-trackdisk-includes +#MM- kernel-devs-trackdisk : kernel-devs-trackdisk-includes core-linklibs linklibs-hiddstubs +#MM kernel-devs-trackdisk-linklib : kernel-devs-trackdisk-includes includes-hiddstubs +#MM- kernel-devs-trackdisk-quick : kernel-devs-trackdisk-includes-quick +#MM kernel-devs-trackdisk-includes : kernel-devs-trackdisk-makefile kernel-devs-trackdisk-includes-dirs \ +#MM includes-generate-deps kernel-devs-trackdisk-fd +#MM kernel-devs-trackdisk-includes-quick +#MM kernel-devs-trackdisk-includes-dirs +#MM kernel-devs-trackdisk-fd + +# Library targets +#MM kernel-devs-trackdisk-kobj : core-linklibs linklibs-hiddstubs +#MM kernel-devs-trackdisk-kobj-quick : + +# Library with ABI targets: +#MM kernel-devs-trackdisk-kobj : kernel-devs-trackdisk-includes core-linklibs linklibs-hiddstubs +#MM kernel-devs-trackdisk-kobj-quick : kernel-devs-trackdisk-includes-quick + +# All MetaMake targets defined by this macro +kernel-devs-trackdisk_ALLTARGETS := kernel-devs-trackdisk kernel-devs-trackdisk-quick kernel-devs-trackdisk-clean + +ifeq (M,M) +kernel-devs-trackdisk_ALLTARGETS += kernel-devs-trackdisk-kobj kernel-devs-trackdisk-kobj-quick +endif + +ifeq (M,M) +kernel-devs-trackdisk_ALLTARGETS += kernel-devs-trackdisk-includes \ + kernel-devs-trackdisk-includes-quick kernel-devs-trackdisk-includes-dirs \ + kernel-devs-trackdisk-linklib kernel-devs-trackdisk-fd +endif + +.PHONY : $(kernel-devs-trackdisk_ALLTARGETS) kernel-devs-trackdisk-makefile + +ifeq (trackdisk,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-devs-trackdisk_DEFNAME := trackdisk_ +else + kernel-devs-trackdisk_DEFNAME := trackdisk +endif +kernel-devs-trackdisk_DEFLINKLIBNAME := $(kernel-devs-trackdisk_DEFNAME) +ifneq (,) + kernel-devs-trackdisk_LINKLIBNAME := +else + kernel-devs-trackdisk_LINKLIBNAME = $(kernel-devs-trackdisk_DEFLINKLIBNAME) +endif +kernel-devs-trackdisk_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-devs-trackdisk_DEFCPPFLAGS += -I +endif +kernel-devs-trackdisk_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-devs-trackdisk_DFLAGS := +else + kernel-devs-trackdisk_DFLAGS = $(kernel-devs-trackdisk_DEFDFLAGS) +endif +kernel-devs-trackdisk_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-devs-trackdisk_DXXFLAGS := +else + kernel-devs-trackdisk_DXXFLAGS = $(kernel-devs-trackdisk_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-devs-trackdisk_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-devs-trackdisk_DEFDFLAGS)) +kernel-devs-trackdisk_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-devs-trackdisk_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-devs-trackdisk_FUNCINSTR := yes +kernel-devs-trackdisk_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-devs-trackdisk_DEFDFLAGS)) +kernel-devs-trackdisk_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-devs-trackdisk_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-devs-trackdisk_OBJDIR := +else +kernel-devs-trackdisk_OBJDIR := $(OBJDIR)/$(kernel-devs-trackdisk_DEFNAME) +endif +ifneq (,) +kernel-devs-trackdisk_OBJDIR := $(kernel-devs-trackdisk_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-devs-trackdisk-makefile := $(kernel-devs-trackdisk_OBJDIR)/Makefile.$(kernel-devs-trackdisk_DEFNAME)device +kernel-devs-trackdisk-genmakefile : $(kernel-devs-trackdisk-makefile) + + +kernel-devs-trackdisk-genmakefile_OPTS := +ifneq (,) + kernel-devs-trackdisk-genmakefile_OPTS += -f + kernel-devs-trackdisk-genmakefile_MODNAME := trackdisk_ +else + kernel-devs-trackdisk-genmakefile_MODNAME := trackdisk +endif +kernel-devs-trackdisk-genmakefile_TARGET := Makefile.$(kernel-devs-trackdisk-genmakefile_MODNAME)device +kernel-devs-trackdisk-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-devs-trackdisk-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-devs-trackdisk-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-devs-trackdisk-genmakefile_OPTS += -c + kernel-devs-trackdisk-genmakefile_DEPS += + endif +else + kernel-devs-trackdisk-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + kernel-devs-trackdisk-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-devs-trackdisk-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-devs-trackdisk-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-devs-trackdisk-genmakefile_OPTS += -o + kernel-devs-trackdisk-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-devs-trackdisk-genmakefile_OPTS += -s +endif +ifneq ($(kernel-devs-trackdisk_OBJDIR),) + kernel-devs-trackdisk-genmakefile_OPTS += -d $(kernel-devs-trackdisk_OBJDIR) + kernel-devs-trackdisk-genmakefile_TARGET := $(kernel-devs-trackdisk_OBJDIR)/$(kernel-devs-trackdisk-genmakefile_TARGET) +endif + +$(kernel-devs-trackdisk-genmakefile_TARGET) : OPTS := $(kernel-devs-trackdisk-genmakefile_OPTS) +$(kernel-devs-trackdisk-genmakefile_TARGET) : MODNAME := trackdisk +$(kernel-devs-trackdisk-genmakefile_TARGET) : MODTYPE := device +$(kernel-devs-trackdisk-genmakefile_TARGET) : $(kernel-devs-trackdisk-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-devs-trackdisk-makefile),) +$(kernel-devs-trackdisk-makefile) : | $(kernel-devs-trackdisk_OBJDIR) +else +$(kernel-devs-trackdisk-makefile) :: $(kernel-devs-trackdisk_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-devs-trackdisk_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-devs-trackdisk_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-devs-trackdisk-makefile) + +kernel-devs-trackdisk_DEFMODDIR := $($(kernel-devs-trackdisk_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-devs-trackdisk_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-devs-trackdisk_DEFMODDIR) +endif +ifneq (,) + kernel-devs-trackdisk_MODDIR := +else + kernel-devs-trackdisk_MODDIR := $(kernel-devs-trackdisk_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-devs-trackdisk_INCDIR := +else +kernel-devs-trackdisk_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-devs-trackdisk_LIBDEFSINC := $(kernel-devs-trackdisk_OBJDIR)/include/$(kernel-devs-trackdisk_DEFNAME)_libdefs.h +kernel-devs-trackdisk_DEFLIBDEFSINC := $(kernel-devs-trackdisk_OBJDIR)/include/$(kernel-devs-trackdisk_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-devs-trackdisk-includes-quick : kernel-devs-trackdisk-includes +kernel-devs-trackdisk-includes : $(addprefix $(GENINCDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-devs-trackdisk_INCDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) \ + $(kernel-devs-trackdisk_LIBDEFSINC) $(kernel-devs-trackdisk_DEFLIBDEFSINC) + +ifneq ($($(kernel-devs-trackdisk_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-devs-trackdisk-includes_MODNAME := trackdisk_ +else + kernel-devs-trackdisk-includes_MODNAME := trackdisk +endif + +ifneq ($($(kernel-devs-trackdisk-includes_MODNAME)_INCLUDES),) + +kernel-devs-trackdisk-includes_TARGETS := $($(kernel-devs-trackdisk-includes_MODNAME)_INCLUDES) + +kernel-devs-trackdisk-includes_DEPS := $(GENMODULE) +kernel-devs-trackdisk-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-devs-trackdisk-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-devs-trackdisk-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-devs-trackdisk-includes_OPTS += -c + kernel-devs-trackdisk-includes_DEPS += + endif +else + kernel-devs-trackdisk-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + kernel-devs-trackdisk-includes_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-devs-trackdisk-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-devs-trackdisk-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-devs-trackdisk-includes_OPTS += -o + kernel-devs-trackdisk-includes_DEPS += + endif +endif +ifneq (,) + kernel-devs-trackdisk-includes_OPTS += -s +endif +ifneq ($(kernel-devs-trackdisk_OBJDIR)/include,) + kernel-devs-trackdisk-includes_OPTS += -d $(kernel-devs-trackdisk_OBJDIR)/include + kernel-devs-trackdisk-includes_TARGETS := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/include/,$(kernel-devs-trackdisk-includes_TARGETS)) + kernel-devs-trackdisk-includes_GENINCFLAG=$(kernel-devs-trackdisk_OBJDIR)/include/.trackdisk.device-includes +else + kernel-devs-trackdisk-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.trackdisk.device-includes +endif + +$(kernel-devs-trackdisk-includes_TARGETS) : $(kernel-devs-trackdisk-includes_DEPS) $(kernel-devs-trackdisk-includes_GENINCFLAG) + +$(kernel-devs-trackdisk-includes_GENINCFLAG) : OPTS := $(kernel-devs-trackdisk-includes_OPTS) +$(kernel-devs-trackdisk-includes_GENINCFLAG) : MODNAME := trackdisk +$(kernel-devs-trackdisk-includes_GENINCFLAG) : MODTYPE := device +$(kernel-devs-trackdisk-includes_GENINCFLAG) : $(kernel-devs-trackdisk-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-devs-trackdisk_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) : | $(kernel-devs-trackdisk_OBJDIR)/trackdisk_geninc + +$(kernel-devs-trackdisk_OBJDIR)/trackdisk_geninc : COPYSRCDIR := $(kernel-devs-trackdisk_OBJDIR)/include +$(kernel-devs-trackdisk_OBJDIR)/trackdisk_geninc : TGTDIR := $(GENINCDIR) +$(kernel-devs-trackdisk_OBJDIR)/trackdisk_geninc : FILES := $($(kernel-devs-trackdisk_DEFNAME)_INCLUDES) +$(kernel-devs-trackdisk_OBJDIR)/trackdisk_geninc : $(addprefix $(kernel-devs-trackdisk_OBJDIR)/include/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-devs-trackdisk_OBJDIR)/include + +$(addprefix $(kernel-devs-trackdisk_INCDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) : | $(kernel-devs-trackdisk_OBJDIR)/trackdisk_incs + +$(kernel-devs-trackdisk_OBJDIR)/trackdisk_incs : COPYSRCDIR := $(kernel-devs-trackdisk_OBJDIR)/include +$(kernel-devs-trackdisk_OBJDIR)/trackdisk_incs : TGTDIR := $(kernel-devs-trackdisk_INCDIR) +$(kernel-devs-trackdisk_OBJDIR)/trackdisk_incs : FILES := $($(kernel-devs-trackdisk_DEFNAME)_INCLUDES) +$(kernel-devs-trackdisk_OBJDIR)/trackdisk_incs : $(addprefix $(kernel-devs-trackdisk_OBJDIR)/include/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-devs-trackdisk_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)))) + +TMPtrackdisk_INCDIRS := \ + $(kernel-devs-trackdisk_OBJDIR)/include $(addprefix $(kernel-devs-trackdisk_OBJDIR)/include/,$(kernel-devs-trackdisk_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-devs-trackdisk_INCDIRS)) \ + $(kernel-devs-trackdisk_INCDIR) $(addprefix $(kernel-devs-trackdisk_INCDIR)/,$(kernel-devs-trackdisk_INCDIRS)) + +ifneq (kernel-devs-trackdisk-includes-dirs,) +kernel-devs-trackdisk-includes-dirs : | $(TMPtrackdisk_INCDIRS) +else +kernel-devs-trackdisk-includes-dirs :: $(TMPtrackdisk_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPtrackdisk_INCDIRS) + + +endif + +endif + + +kernel-devs-trackdisk-genlibdefs_OPTS := +ifneq (,) + kernel-devs-trackdisk-genlibdefs_OPTS += -f + kernel-devs-trackdisk-genlibdefs_MODNAME := trackdisk_ +else + kernel-devs-trackdisk-genlibdefs_MODNAME := trackdisk +endif +kernel-devs-trackdisk-genlibdefs_TARGET := $(kernel-devs-trackdisk-genlibdefs_MODNAME)_libdefs.h +kernel-devs-trackdisk-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-devs-trackdisk-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-devs-trackdisk-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-devs-trackdisk-genlibdefs_OPTS += -c + kernel-devs-trackdisk-genlibdefs_DEPS += + endif +else + kernel-devs-trackdisk-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + kernel-devs-trackdisk-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-devs-trackdisk-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-devs-trackdisk-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-devs-trackdisk-genlibdefs_OPTS += -o + kernel-devs-trackdisk-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-devs-trackdisk-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-devs-trackdisk_OBJDIR)/include,) + kernel-devs-trackdisk-genlibdefs_OPTS += -d $(kernel-devs-trackdisk_OBJDIR)/include + kernel-devs-trackdisk-genlibdefs_TARGET := $(kernel-devs-trackdisk_OBJDIR)/include/$(kernel-devs-trackdisk-genlibdefs_TARGET) +endif +ifneq (,) + kernel-devs-trackdisk-genlibdefs_OPTS += -v +endif + +$(kernel-devs-trackdisk-genlibdefs_TARGET) : OPTS := $(kernel-devs-trackdisk-genlibdefs_OPTS) +$(kernel-devs-trackdisk-genlibdefs_TARGET) : MODNAME := trackdisk +$(kernel-devs-trackdisk-genlibdefs_TARGET) : MODTYPE := device +$(kernel-devs-trackdisk-genlibdefs_TARGET) : $(kernel-devs-trackdisk-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-devs-trackdisk_DEFLIBDEFSINC) : FILENAME := $(kernel-devs-trackdisk_LIBDEFSINC) +$(kernel-devs-trackdisk_DEFLIBDEFSINC) : $(kernel-devs-trackdisk_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-devs-trackdisk_LIBDEFSINC) $(kernel-devs-trackdisk_DEFLIBDEFSINC) : | $(kernel-devs-trackdisk_OBJDIR)/include + +ifneq (kernel-devs-trackdisk-includes-dirs,) +kernel-devs-trackdisk-includes-dirs : | $(kernel-devs-trackdisk_OBJDIR)/include +else +kernel-devs-trackdisk-includes-dirs :: $(kernel-devs-trackdisk_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-devs-trackdisk_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-devs-trackdisk-genmodfiles_OPTS := +ifneq (,) + kernel-devs-trackdisk-genmodfiles_OPTS += -f + kernel-devs-trackdisk-genmodfiles_MODNAME := trackdisk_ +else + kernel-devs-trackdisk-genmodfiles_MODNAME := trackdisk +endif +kernel-devs-trackdisk-genmodfiles_GENTARGETS := $($(kernel-devs-trackdisk-genmodfiles_MODNAME)_STARTFILES) $($(kernel-devs-trackdisk-genmodfiles_MODNAME)_ENDFILES) +kernel-devs-trackdisk-genmodfiles_STUBTARGETS := $($(kernel-devs-trackdisk-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-devs-trackdisk-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-devs-trackdisk-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-devs-trackdisk-genmodfiles_GENTARGETS)) +kernel-devs-trackdisk-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-devs-trackdisk-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-devs-trackdisk-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-devs-trackdisk-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-devs-trackdisk-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-devs-trackdisk-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-devs-trackdisk-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-devs-trackdisk-genmodfiles_OPTS += -c + kernel-devs-trackdisk-genmodfiles_DEPS += + endif +else + kernel-devs-trackdisk-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + kernel-devs-trackdisk-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-devs-trackdisk-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-devs-trackdisk-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-devs-trackdisk-genmodfiles_OPTS += -o + kernel-devs-trackdisk-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-devs-trackdisk-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-devs-trackdisk_OBJDIR),) + kernel-devs-trackdisk-genmodfiles_OPTS += -d $(kernel-devs-trackdisk_OBJDIR) + kernel-devs-trackdisk-genmodfiles_TARGETDIR := $(shell echo $(kernel-devs-trackdisk_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-devs-trackdisk-genmodfiles_GENTARGETS := $(addprefix $(kernel-devs-trackdisk-genmodfiles_TARGETDIR)/,$(kernel-devs-trackdisk-genmodfiles_GENTARGETS)) + kernel-devs-trackdisk-genmodfiles_GENFILEFLAG=$(kernel-devs-trackdisk-genmodfiles_TARGETDIR)/.trackdisk.device-genfiles +else + kernel-devs-trackdisk-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.trackdisk.device-genfiles +endif +ifneq ($(kernel-devs-trackdisk_OBJDIR)/linklib,) + kernel-devs-trackdisk-genmodfiles_OPTS += -l $(kernel-devs-trackdisk_OBJDIR)/linklib + kernel-devs-trackdisk-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-devs-trackdisk_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-devs-trackdisk-genmodfiles_STUBTARGETS := $(addprefix $(kernel-devs-trackdisk-genmodfiles_STUBTARGETDIR)/,$(kernel-devs-trackdisk-genmodfiles_STUBTARGETS)) + kernel-devs-trackdisk-genmodfiles_TARGETDIRS += $(kernel-devs-trackdisk_OBJDIR)/linklib +else +ifneq ($(kernel-devs-trackdisk_OBJDIR),) + kernel-devs-trackdisk-genmodfiles_STUBTARGETS := $(addprefix $(kernel-devs-trackdisk-genmodfiles_TARGETDIR)/,$(kernel-devs-trackdisk-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-devs-trackdisk-genmodfiles_TARGETS := $(kernel-devs-trackdisk-genmodfiles_GENTARGETS) $(kernel-devs-trackdisk-genmodfiles_STUBTARGETS) +ifneq ($(kernel-devs-trackdisk-genmodfiles_TARGETDIRS),) +$(kernel-devs-trackdisk-genmodfiles_TARGETS) : | $(kernel-devs-trackdisk-genmodfiles_TARGETDIRS) +endif + +$(kernel-devs-trackdisk-genmodfiles_TARGETS) : $(kernel-devs-trackdisk-genmodfiles_DEPS) $(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG) + +$(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-devs-trackdisk-genmodfiles_OPTS) +$(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG) : MODNAME := trackdisk +$(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG) : $(kernel-devs-trackdisk-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG) : $(kernel-devs-trackdisk_DEFLIBDEFSINC) $(kernel-devs-trackdisk-makefile) + + +ifneq ($(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG),) +$(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG) : | $(kernel-devs-trackdisk_OBJDIR)/linklib +else +$(kernel-devs-trackdisk-genmodfiles_GENFILEFLAG) :: $(kernel-devs-trackdisk_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-devs-trackdisk_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-devs-trackdisk_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-devs-trackdisk_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-devs-trackdisk-fd : $(kernel-devs-trackdisk_FDDIR)/trackdisk_lib.fd + + +TMP_TARGET := trackdisk_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/trackdisk.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/trackdisk.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-devs-trackdisk_FDDIR),) + TMP_OPTS += -d $(kernel-devs-trackdisk_FDDIR) + TMP_TARGET := $(kernel-devs-trackdisk_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := trackdisk +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-devs-trackdisk_FDDIR)/trackdisk_lib.fd : | $(kernel-devs-trackdisk_FDDIR) + + +ifneq (kernel-devs-trackdisk-fd-setup,) +kernel-devs-trackdisk-fd-setup : | $(kernel-devs-trackdisk_FDDIR) +else +kernel-devs-trackdisk-fd-setup :: $(kernel-devs-trackdisk_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-devs-trackdisk_FDDIR) + +endif + +## Compilation +## +kernel-devs-trackdisk_FILES := trackdisk_device trackdisk_hw +kernel-devs-trackdisk_OBJCFILES := +kernel-devs-trackdisk_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-devs-trackdisk_LIBFILES := +kernel-devs-trackdisk_LIBS := hiddstubs + +kernel-devs-trackdisk_FDIRS := $(sort $(dir $(kernel-devs-trackdisk_FILES))) + +kernel-devs-trackdisk_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-devs-trackdisk_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-devs-trackdisk_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-devs-trackdisk_FILTERARCH = $(filter-out $(call kernel-devs-trackdisk_MATCHARCH,$(1),$(2)),$(2)) +kernel-devs-trackdisk_STARTFILES := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_STARTFILES)) +kernel-devs-trackdisk_ENDFILES := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_ENDFILES)) + +kernel-devs-trackdisk_ARCHOBJS := $(wildcard $(kernel-devs-trackdisk_OBJDIR)/arch/*.o) +kernel-devs-trackdisk_LIBARCHOBJS := $(wildcard $(kernel-devs-trackdisk_OBJDIR)/linklib/arch/*.o) +kernel-devs-trackdisk_ARCHFILES := $(basename $(notdir $(kernel-devs-trackdisk_ARCHOBJS))) +kernel-devs-trackdisk_LIBARCHFILES := $(basename $(notdir $(kernel-devs-trackdisk_LIBARCHOBJS))) +kernel-devs-trackdisk_C_NARCHFILES := $(call kernel-devs-trackdisk_FILTERARCH,$(kernel-devs-trackdisk_ARCHFILES),$(kernel-devs-trackdisk_FILES)) +kernel-devs-trackdisk_CXX_NARCHFILES := $(call kernel-devs-trackdisk_FILTERARCH,$(kernel-devs-trackdisk_ARCHFILES),$(kernel-devs-trackdisk_CXXFILES)) +kernel-devs-trackdisk_OBJC_NARCHFILES := $(call kernel-devs-trackdisk_FILTERARCH,$(kernel-devs-trackdisk_ARCHFILES),$(kernel-devs-trackdisk_OBJCFILES)) +kernel-devs-trackdisk_NLIBARCHFILES := $(call kernel-devs-trackdisk_FILTERARCH,$(kernel-devs-trackdisk_LIBARCHFILES),$(kernel-devs-trackdisk_LIBFILES)) +kernel-devs-trackdisk_ARCHNLIBFILES := $(call kernel-devs-trackdisk_FILTERARCH,$(kernel-devs-trackdisk_LIBFILES),$(kernel-devs-trackdisk_LIBARCHFILES)) + +kernel-devs-trackdisk_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-devs-trackdisk_OBJDIR)/include -include $(kernel-devs-trackdisk_DEFLIBDEFSINC)) +ifneq (,) +kernel-devs-trackdisk_CPPFLAGS += -I +endif +kernel-devs-trackdisk_LINKLIBCPPFLAGS := $(kernel-devs-trackdisk_CPPFLAGS) +kernel-devs-trackdisk_CPPFLAGS += $(strip $($(kernel-devs-trackdisk_DEFNAME)_CPPFLAGS)) +kernel-devs-trackdisk_LINKLIBCPPFLAGS += $(strip $($(kernel-devs-trackdisk_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-devs-trackdisk_CFLAGS := $(strip $(CFLAGS) $($(kernel-devs-trackdisk_DEFNAME)_CFLAGS)) +kernel-devs-trackdisk_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-devs-trackdisk_DEFNAME)_LINKLIBCFLAGS)) +kernel-devs-trackdisk_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-devs-trackdisk_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-devs-trackdisk_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-devs-trackdisk_CFLAGS := $(strip $(kernel-devs-trackdisk_LTOFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +kernel-devs-trackdisk_LINKLIBCFLAGS := $(strip $(kernel-devs-trackdisk_LTOFLAGS) $(kernel-devs-trackdisk_LINKLIBCFLAGS)) +kernel-devs-trackdisk_CXXFLAGS := $(strip $(kernel-devs-trackdisk_LTOFLAGS) $(kernel-devs-trackdisk_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-devs-trackdisk_SUBSTNULL := +kernel-devs-trackdisk_SUBSTSPACE := $(kernel-devs-trackdisk_SUBSTNULL) # +kernel-devs-trackdisk_SUBSTCOMMA := , +kernel-devs-trackdisk_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-devs-trackdisk_SUBSTSPACE),$(kernel-devs-trackdisk_SUBSTCOMMA),$(strip $($(kernel-devs-trackdisk_DEFNAME)_STARTFILES)))) +kernel-devs-trackdisk_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-devs-trackdisk_CFLAGS := $(strip $(kernel-devs-trackdisk_INSTRFUNCFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +kernel-devs-trackdisk_CXXFLAGS := $(strip $(kernel-devs-trackdisk_INSTRFUNCFLAGS) $(kernel-devs-trackdisk_CXXFLAGS)) +kernel-devs-trackdisk_LIBS += $(kernel-devs-trackdisk_INSTRFUNCLIBS) +endif +endif +kernel-devs-trackdisk_DFLAGS := $(strip $(kernel-devs-trackdisk_DFLAGS) $($(kernel-devs-trackdisk_DEFNAME)_DFLAGS)) +kernel-devs-trackdisk_LINKLIBDFLAGS := $(strip $(kernel-devs-trackdisk_DFLAGS) $($(kernel-devs-trackdisk_DEFNAME)_LINKLIBDFLAGS)) +kernel-devs-trackdisk_DXXFLAGS := $(strip $(kernel-devs-trackdisk_DXXFLAGS) $($(kernel-devs-trackdisk_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-devs-trackdisk_LIBSUFFIX := +else + kernel-devs-trackdisk_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-devs-trackdisk_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-devs-trackdisk_LIBDIR := +endif + +ifeq (M,M) +kernel-devs-trackdisk_LINKLIBCFILES := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$($(kernel-devs-trackdisk_DEFNAME)_LINKLIBFILES)) +kernel-devs-trackdisk_LINKLIBAFILES := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$($(kernel-devs-trackdisk_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-devs-trackdisk_DEFNAME)_LINKLIBFILES) $($(kernel-devs-trackdisk_DEFNAME)_LINKLIBAFILES) $(kernel-devs-trackdisk_ARCHNLIBFILES)),) + kernel-devs-trackdisk_LINKLIB := +else + kernel-devs-trackdisk_LINKLIB := $(kernel-devs-trackdisk_LIBDIR)/libtrackdisk$(kernel-devs-trackdisk_LIBSUFFIX).a + ifneq (trackdisk,$(kernel-devs-trackdisk_LINKLIBNAME)) + kernel-devs-trackdisk_LINKLIB += $(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)$(kernel-devs-trackdisk_LIBSUFFIX).a + endif +endif +kernel-devs-trackdisk_LINKLIBFILES := $(kernel-devs-trackdisk_LINKLIBCFILES) $(kernel-devs-trackdisk_LINKLIBAFILES) + +kernel-devs-trackdisk_RELLINKLIBCFILES := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$($(kernel-devs-trackdisk_DEFNAME)_RELLINKLIBFILES)) +kernel-devs-trackdisk_RELLINKLIBAFILES := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$($(kernel-devs-trackdisk_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-devs-trackdisk_DEFNAME)_RELLINKLIBFILES) $($(kernel-devs-trackdisk_DEFNAME)_RELLINKLIBAFILES) $(kernel-devs-trackdisk_ARCHNLIBFILES)),) + kernel-devs-trackdisk_RELLINKLIB := +else + kernel-devs-trackdisk_RELLINKLIB := $(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_DEFNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a + ifneq (trackdisk,$(kernel-devs-trackdisk_LINKLIBNAME)) + kernel-devs-trackdisk_RELLINKLIB += $(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a + endif +endif +kernel-devs-trackdisk_RELLINKLIBFILES := $(kernel-devs-trackdisk_RELLINKLIBCFILES) $(kernel-devs-trackdisk_RELLINKLIBAFILES) +endif + +kernel-devs-trackdisk_ENDOBJS := $(addsuffix .o,$(kernel-devs-trackdisk_ENDFILES)) +kernel-devs-trackdisk_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-devs-trackdisk_NLIBARCHFILES))) $(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/arch/,$(notdir $(kernel-devs-trackdisk_ARCHNLIBFILES))) $(kernel-devs-trackdisk_LINKLIBFILES)) \ + +kernel-devs-trackdisk_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-devs-trackdisk_NLIBARCHFILES))) $(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/arch/,$(notdir $(kernel-devs-trackdisk_ARCHNLIBFILES))) $(kernel-devs-trackdisk_RELLINKLIBFILES)) \ + +$(kernel-devs-trackdisk_LINKLIBFILES) $(kernel-devs-trackdisk_RELLINKLIBFILES) : | $(kernel-devs-trackdisk_OBJDIR)/linklib +$(kernel-devs-trackdisk_LINKLIBOBJS) $(kernel-devs-trackdisk_RELLINKLIBOBJS) : | $(kernel-devs-trackdisk_OBJDIR)/linklib + +kernel-devs-trackdisk_CCFILES := $(kernel-devs-trackdisk_C_NARCHFILES) +kernel-devs-trackdisk_TARGETCCFILES := $(strip $(kernel-devs-trackdisk_STARTFILES) $(kernel-devs-trackdisk_ENDFILES)) +kernel-devs-trackdisk_LINKLIBCCFILES := $(strip $(kernel-devs-trackdisk_NLIBARCHFILES) $(kernel-devs-trackdisk_LINKLIBCFILES) $(kernel-devs-trackdisk_RELLINKLIBCFILES)) +kernel-devs-trackdisk_LINKLIBCCGENFILES := $(strip $(kernel-devs-trackdisk_LINKLIBCFILES) $(kernel-devs-trackdisk_RELLINKLIBCFILES)) + + +kernel-devs-trackdisk_CXXABSBASENAMES := $(foreach kernel-devs-trackdisk_CXXBASE,$(kernel-devs-trackdisk_CXX_NARCHFILES),$(if $(filter /%,$(kernel-devs-trackdisk_CXXBASE)),$(kernel-devs-trackdisk_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-devs-trackdisk_CXXBASE)))) + +ifneq ($(kernel-devs-trackdisk_CXXABSBASENAMES),) + +kernel-devs-trackdisk_CXXBASENAMES := $(basename $(kernel-devs-trackdisk_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-devs-trackdisk_MCXX_FILES := $(strip $(foreach kernel-devs-trackdisk_CXXBASE,$(kernel-devs-trackdisk_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-devs-trackdisk_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-devs-trackdisk_EXT),$(kernel-devs-trackdisk_CXXBASE))))))) + +ifeq (,) +kernel-devs-trackdisk_MCXX_SRCWILDCARD := % +else +kernel-devs-trackdisk_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-devs-trackdisk_OBJDIR),) + kernel-devs-trackdisk_CXXTARGETS := $(notdir $(kernel-devs-trackdisk_CXXBASENAMES:=.o)) + kernel-devs-trackdisk_CXXDTARGETS := $(notdir $(kernel-devs-trackdisk_CXXBASENAMES:=.d)) + kernel-devs-trackdisk_MCXX_WILDCARD := % +else + kernel-devs-trackdisk_CXXTARGETS := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(kernel-devs-trackdisk_CXXBASENAMES:=.o))) + kernel-devs-trackdisk_CXXDTARGETS := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(kernel-devs-trackdisk_CXXBASENAMES:=.d))) + kernel-devs-trackdisk_MCXX_WILDCARD := $(kernel-devs-trackdisk_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-devs-trackdisk_CXXTARGETS) $(kernel-devs-trackdisk_CXXDTARGETS) : | $(kernel-devs-trackdisk_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-devs-trackdisk_MCXX_CPPFLAGS := $(kernel-devs-trackdisk_CPPFLAGS) +kernel-devs-trackdisk_CXXFLAGS := $(kernel-devs-trackdisk_CXXFLAGS) +ifeq ($(kernel-devs-trackdisk_DXXFLAGS),) + kernel-devs-trackdisk_DXXFLAGS := $(kernel-devs-trackdisk_CXXFLAGS) +else + kernel-devs-trackdisk_DXXFLAGS := $(kernel-devs-trackdisk_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-devs-trackdisk_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-devs-trackdisk_STRIP ?= $(HOST_STRIP) + kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-devs-trackdisk_CXXCMD:=$(HOST_CXX) + kernel-devs-trackdisk_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-devs-trackdisk_MCXX_CPPFLAGS) $(kernel-devs-trackdisk_MCXX_EXTRA_CPPFLAGS)) + kernel-devs-trackdisk_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-devs-trackdisk_CXXFLAGS)) + kernel-devs-trackdisk_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-devs-trackdisk_DXXFLAGS)) + kernel-devs-trackdisk_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-devs-trackdisk_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-devs-trackdisk_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-devs-trackdisk_STRIP ?= $(TARGET_STRIP) + kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-devs-trackdisk_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-devs-trackdisk_MCXX_CPPFLAGS := $(strip $(kernel-devs-trackdisk_MCXX_CPPFLAGS) $(kernel-devs-trackdisk_MCXX_EXTRA_CPPFLAGS)) + kernel-devs-trackdisk_CXXFLAGS := $(strip $(kernel-devs-trackdisk_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-devs-trackdisk_DXXFLAGS := $(kernel-devs-trackdisk_DXXFLAGS) + kernel-devs-trackdisk_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-devs-trackdisk_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-devs-trackdisk_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-devs-trackdisk_STRIP ?= $(ECHO) >/dev/null + kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-devs-trackdisk_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-devs-trackdisk_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-devs-trackdisk_MCXX_CPPFLAGS) $(kernel-devs-trackdisk_MCXX_EXTRA_CPPFLAGS)) + kernel-devs-trackdisk_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-devs-trackdisk_CXXFLAGS)) + kernel-devs-trackdisk_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-devs-trackdisk_DXXFLAGS)) + kernel-devs-trackdisk_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-devs-trackdisk_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-devs-trackdisk_CXXCMD) $(kernel-devs-trackdisk_CXXIQUOTE) $(dir $(2)) $(kernel-devs-trackdisk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_CXXIQUOTE) . $(kernel-devs-trackdisk_CXXIQUOTE_END) $(strip $(kernel-devs-trackdisk_CXXFLAGS) $(kernel-devs-trackdisk_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-devs-trackdisk_CXXCMD) $(kernel-devs-trackdisk_CXXIQUOTE) $(dir $(2)) $(kernel-devs-trackdisk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_CXXIQUOTE) . $(kernel-devs-trackdisk_CXXIQUOTE_END) $(strip $(kernel-devs-trackdisk_CXXFLAGS) $(kernel-devs-trackdisk_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-devs-trackdisk_CXXCMD) $(kernel-devs-trackdisk_CXXIQUOTE) $(dir $(2)) $(kernel-devs-trackdisk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_CXXIQUOTE) . $(kernel-devs-trackdisk_CXXIQUOTE_END) $(strip $(kernel-devs-trackdisk_CXXFLAGS) $(kernel-devs-trackdisk_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-devs-trackdisk_CXXCMD)" $(MKDEPEND) $(strip $(kernel-devs-trackdisk_DXXFLAGS) $(kernel-devs-trackdisk_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-devs-trackdisk_OBJDIR),) + $(foreach kernel-devs-trackdisk_CXXFILE,$(kernel-devs-trackdisk_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-devs-trackdisk_CXXFILE))),$(kernel-devs-trackdisk_CXXFILE)))) +else + $(foreach kernel-devs-trackdisk_CXXFILE,$(kernel-devs-trackdisk_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(basename $(kernel-devs-trackdisk_CXXFILE)))),$(kernel-devs-trackdisk_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-devs-trackdisk_OBJC_NARCHFILES),) + +ifeq (,) +kernel-devs-trackdisk_MOBJC_SRCWILDCARD := % +else +kernel-devs-trackdisk_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-devs-trackdisk_OBJDIR),) + kernel-devs-trackdisk_MOBJC_TARGETS := $(addsuffix .o,$(kernel-devs-trackdisk_OBJC_NARCHFILES)) + kernel-devs-trackdisk_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-devs-trackdisk_OBJC_NARCHFILES)) + kernel-devs-trackdisk_MOBJC_WILDCARD := % +else + kernel-devs-trackdisk_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(kernel-devs-trackdisk_OBJC_NARCHFILES))) + kernel-devs-trackdisk_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(kernel-devs-trackdisk_OBJC_NARCHFILES))) + kernel-devs-trackdisk_MOBJC_WILDCARD := $(kernel-devs-trackdisk_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-devs-trackdisk_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-devs-trackdisk_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-devs-trackdisk_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-devs-trackdisk_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-devs-trackdisk_MOBJC_DIRS := $(foreach dir, $(kernel-devs-trackdisk_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-devs-trackdisk_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-devs-trackdisk_MOBJC_DIRS),) + kernel-devs-trackdisk_MOBJC_DIRS := $(shell echo $(kernel-devs-trackdisk_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-devs-trackdisk_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-devs-trackdisk_CC := $(TARGET_CC) +else + kernel-devs-trackdisk_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-devs-trackdisk_MOBJC_CPPFLAGS := $(kernel-devs-trackdisk_CPPFLAGS) +kernel-devs-trackdisk_OBJCFLAGS := $(kernel-devs-trackdisk_CFLAGS) +kernel-devs-trackdisk_OBJCFLAGS := $(kernel-devs-trackdisk_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-devs-trackdisk_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-devs-trackdisk_OBJCFLAGS))) +ifeq ($(kernel-devs-trackdisk_DFLAGS),) + kernel-devs-trackdisk_OBJCDFLAGS := $(kernel-devs-trackdisk_CFLAGS) +else + kernel-devs-trackdisk_OBJCDFLAGS := $(kernel-devs-trackdisk_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-devs-trackdisk_LINK ?= $(strip $(kernel-devs-trackdisk_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-devs-trackdisk_STRIP ?= $(TARGET_STRIP) + kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-devs-trackdisk_CC) $(TARGET_SYSROOT)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_MOBJC_CPPFLAGS:=$(strip $(kernel-devs-trackdisk_MOBJC_CPPFLAGS) $(kernel-devs-trackdisk_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_OBJCFLAGS:=$(strip $(kernel-devs-trackdisk_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_OBJCDFLAGS:=$(kernel-devs-trackdisk_OBJCDFLAGS) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-devs-trackdisk_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-devs-trackdisk_STRIP ?= $(HOST_STRIP) + kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-devs-trackdisk_MOBJC_CPPFLAGS) $(kernel-devs-trackdisk_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_OBJCFLAGS)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_OBJCDFLAGS)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(HOST_IQUOTE) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-devs-trackdisk_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-devs-trackdisk_STRIP ?= $(ECHO) >/dev/null + kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-devs-trackdisk_MOBJC_CPPFLAGS) $(kernel-devs-trackdisk_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_OBJCFLAGS)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_OBJCDFLAGS)) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-devs-trackdisk_MOBJC_TARGETS) $(kernel-devs-trackdisk_MOBJC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-devs-trackdisk_MOBJC_TARGETS) : CPPFLAGS := $(kernel-devs-trackdisk_MOBJC_CPPFLAGS) +$(kernel-devs-trackdisk_MOBJC_TARGETS) : CFLAGS := $(kernel-devs-trackdisk_OBJCFLAGS) +$(kernel-devs-trackdisk_MOBJC_TARGETS) : $(kernel-devs-trackdisk_MOBJC_WILDCARD).o : $(kernel-devs-trackdisk_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-devs-trackdisk_MOBJC_DTARGETS) : $(kernel-devs-trackdisk_MOBJC_WILDCARD).d : $(kernel-devs-trackdisk_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-devs-trackdisk_OBJCDFLAGS) $(kernel-devs-trackdisk_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-devs-trackdisk_MC_SRCWILDCARD := % +else +kernel-devs-trackdisk_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-devs-trackdisk_OBJDIR),) +kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(kernel-devs-trackdisk_CCFILES)) +kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(kernel-devs-trackdisk_CCFILES)) +kernel-devs-trackdisk_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(kernel-devs-trackdisk_CCFILES)))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(kernel-devs-trackdisk_CCFILES)))) +else +ifeq (,) + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(kernel-devs-trackdisk_CCFILES))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(kernel-devs-trackdisk_CCFILES))) +else + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(patsubst /%,%,$(kernel-devs-trackdisk_CCFILES)))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(patsubst /%,%,$(kernel-devs-trackdisk_CCFILES)))) +endif +endif +kernel-devs-trackdisk_MC_TGTWILDCARD := $(kernel-devs-trackdisk_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : | $(addsuffix .c,$(kernel-devs-trackdisk_CCFILES)) + +# Be sure that all .c files are found +kernel-devs-trackdisk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-devs-trackdisk_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-devs-trackdisk_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-devs-trackdisk_MC_DIRS := $(foreach dir, $(kernel-devs-trackdisk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-devs-trackdisk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-devs-trackdisk_MC_DIRS),) + kernel-devs-trackdisk_MC_DIRS := $(shell echo $(kernel-devs-trackdisk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-devs-trackdisk_MC_DIRS) +endif + +endif + +kernel-devs-trackdisk_MC_CPPFLAGS := $(kernel-devs-trackdisk_CPPFLAGS) +kernel-devs-trackdisk_CFLAGS := $(kernel-devs-trackdisk_CFLAGS) +ifeq ($(kernel-devs-trackdisk_DFLAGS),) + kernel-devs-trackdisk_DFLAGS := $(kernel-devs-trackdisk_CFLAGS) +else + kernel-devs-trackdisk_DFLAGS := $(kernel-devs-trackdisk_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-devs-trackdisk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(TARGET_STRIP) +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(kernel-devs-trackdisk_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(kernel-devs-trackdisk_DFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-devs-trackdisk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(HOST_STRIP) +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_DFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(HOST_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-devs-trackdisk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(ECHO) >/dev/null +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_DFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-devs-trackdisk_MC_TARGETS) : CPPFLAGS := $(kernel-devs-trackdisk_MC_CPPFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) : CFLAGS := $(kernel-devs-trackdisk_CFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) : $(kernel-devs-trackdisk_MC_TGTWILDCARD).o : $(kernel-devs-trackdisk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-devs-trackdisk_MC_DTARGETS) : $(kernel-devs-trackdisk_MC_TGTWILDCARD).d : $(kernel-devs-trackdisk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-devs-trackdisk_DFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-devs-trackdisk_MC_SRCWILDCARD := % +else +kernel-devs-trackdisk_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-devs-trackdisk_OBJDIR),) +kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(kernel-devs-trackdisk_TARGETCCFILES)) +kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(kernel-devs-trackdisk_TARGETCCFILES)) +kernel-devs-trackdisk_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(kernel-devs-trackdisk_TARGETCCFILES)))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(kernel-devs-trackdisk_TARGETCCFILES)))) +else +ifeq (,) + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(kernel-devs-trackdisk_TARGETCCFILES))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(kernel-devs-trackdisk_TARGETCCFILES))) +else + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(patsubst /%,%,$(kernel-devs-trackdisk_TARGETCCFILES)))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(patsubst /%,%,$(kernel-devs-trackdisk_TARGETCCFILES)))) +endif +endif +kernel-devs-trackdisk_MC_TGTWILDCARD := $(kernel-devs-trackdisk_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : | $(addsuffix .c,$(kernel-devs-trackdisk_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-devs-trackdisk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-devs-trackdisk_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-devs-trackdisk_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-devs-trackdisk_MC_DIRS := $(foreach dir, $(kernel-devs-trackdisk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-devs-trackdisk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-devs-trackdisk_MC_DIRS),) + kernel-devs-trackdisk_MC_DIRS := $(shell echo $(kernel-devs-trackdisk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-devs-trackdisk_MC_DIRS) +endif + +endif + +kernel-devs-trackdisk_MC_CPPFLAGS := $(kernel-devs-trackdisk_CPPFLAGS) -D__AROS__ +kernel-devs-trackdisk_CFLAGS := $(kernel-devs-trackdisk_CFLAGS) +ifeq ($(kernel-devs-trackdisk_DFLAGS),) + kernel-devs-trackdisk_DFLAGS := $(kernel-devs-trackdisk_CFLAGS) +else + kernel-devs-trackdisk_DFLAGS := $(kernel-devs-trackdisk_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-devs-trackdisk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(TARGET_STRIP) +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(kernel-devs-trackdisk_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(kernel-devs-trackdisk_DFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-devs-trackdisk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(HOST_STRIP) +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_DFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(HOST_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-devs-trackdisk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(ECHO) >/dev/null +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_DFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-devs-trackdisk_MC_TARGETS) : CPPFLAGS := $(kernel-devs-trackdisk_MC_CPPFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) : CFLAGS := $(kernel-devs-trackdisk_CFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) : $(kernel-devs-trackdisk_MC_TGTWILDCARD).o : $(kernel-devs-trackdisk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-devs-trackdisk_MC_DTARGETS) : $(kernel-devs-trackdisk_MC_TGTWILDCARD).d : $(kernel-devs-trackdisk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-devs-trackdisk_DFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-devs-trackdisk_MC_SRCWILDCARD := % +else +kernel-devs-trackdisk_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-devs-trackdisk_OBJDIR)/linklib,) +kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(kernel-devs-trackdisk_NLIBARCHFILES)) +kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(kernel-devs-trackdisk_NLIBARCHFILES)) +kernel-devs-trackdisk_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-devs-trackdisk_NLIBARCHFILES)))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-devs-trackdisk_NLIBARCHFILES)))) +else +ifeq (,) + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(kernel-devs-trackdisk_NLIBARCHFILES))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(kernel-devs-trackdisk_NLIBARCHFILES))) +else + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-devs-trackdisk_NLIBARCHFILES)))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-devs-trackdisk_NLIBARCHFILES)))) +endif +endif +kernel-devs-trackdisk_MC_TGTWILDCARD := $(kernel-devs-trackdisk_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : | $(addsuffix .c,$(kernel-devs-trackdisk_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-devs-trackdisk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-devs-trackdisk_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-devs-trackdisk_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-devs-trackdisk_MC_DIRS := $(foreach dir, $(kernel-devs-trackdisk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-devs-trackdisk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-devs-trackdisk_MC_DIRS),) + kernel-devs-trackdisk_MC_DIRS := $(shell echo $(kernel-devs-trackdisk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-devs-trackdisk_MC_DIRS) +endif + +endif + +kernel-devs-trackdisk_MC_CPPFLAGS := $(kernel-devs-trackdisk_LINKLIBCPPFLAGS) -D__AROS__ +kernel-devs-trackdisk_CFLAGS := $(kernel-devs-trackdisk_LINKLIBCFLAGS) +ifeq ($(kernel-devs-trackdisk_LINKLIBDFLAGS),) + kernel-devs-trackdisk_DFLAGS := $(kernel-devs-trackdisk_LINKLIBCFLAGS) +else + kernel-devs-trackdisk_DFLAGS := $(kernel-devs-trackdisk_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-devs-trackdisk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(TARGET_STRIP) +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(kernel-devs-trackdisk_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(kernel-devs-trackdisk_DFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-devs-trackdisk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(HOST_STRIP) +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_DFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(HOST_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-devs-trackdisk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(ECHO) >/dev/null +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_DFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-devs-trackdisk_MC_TARGETS) : CPPFLAGS := $(kernel-devs-trackdisk_MC_CPPFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) : CFLAGS := $(kernel-devs-trackdisk_CFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) : $(kernel-devs-trackdisk_MC_TGTWILDCARD).o : $(kernel-devs-trackdisk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-devs-trackdisk_MC_DTARGETS) : $(kernel-devs-trackdisk_MC_TGTWILDCARD).d : $(kernel-devs-trackdisk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-devs-trackdisk_DFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-devs-trackdisk_OBJDIR)/linklib,) +kernel-devs-trackdisk_MC_SRCWILDCARD := % +else +kernel-devs-trackdisk_MC_SRCWILDCARD := $(kernel-devs-trackdisk_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-devs-trackdisk_OBJDIR)/linklib,) +kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(kernel-devs-trackdisk_LINKLIBCCGENFILES)) +kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(kernel-devs-trackdisk_LINKLIBCCGENFILES)) +kernel-devs-trackdisk_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-devs-trackdisk_LINKLIBCCGENFILES)))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-devs-trackdisk_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-devs-trackdisk_OBJDIR)/linklib,) + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(kernel-devs-trackdisk_LINKLIBCCGENFILES))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(kernel-devs-trackdisk_LINKLIBCCGENFILES))) +else + kernel-devs-trackdisk_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(patsubst $(kernel-devs-trackdisk_OBJDIR)/linklib/%,%,$(kernel-devs-trackdisk_LINKLIBCCGENFILES)))) + kernel-devs-trackdisk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(patsubst $(kernel-devs-trackdisk_OBJDIR)/linklib/%,%,$(kernel-devs-trackdisk_LINKLIBCCGENFILES)))) +endif +endif +kernel-devs-trackdisk_MC_TGTWILDCARD := $(kernel-devs-trackdisk_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : | $(addsuffix .c,$(kernel-devs-trackdisk_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-devs-trackdisk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-devs-trackdisk_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-devs-trackdisk_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-devs-trackdisk_MC_DIRS := $(foreach dir, $(kernel-devs-trackdisk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-devs-trackdisk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-devs-trackdisk_MC_DIRS),) + kernel-devs-trackdisk_MC_DIRS := $(shell echo $(kernel-devs-trackdisk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-devs-trackdisk_MC_DIRS) +endif + +endif + +kernel-devs-trackdisk_MC_CPPFLAGS := $(kernel-devs-trackdisk_LINKLIBCPPFLAGS) -D__AROS__ +kernel-devs-trackdisk_CFLAGS := $(kernel-devs-trackdisk_LINKLIBCFLAGS) +ifeq ($(kernel-devs-trackdisk_LINKLIBDFLAGS),) + kernel-devs-trackdisk_DFLAGS := $(kernel-devs-trackdisk_LINKLIBCFLAGS) +else + kernel-devs-trackdisk_DFLAGS := $(kernel-devs-trackdisk_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-devs-trackdisk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(TARGET_STRIP) +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(kernel-devs-trackdisk_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(kernel-devs-trackdisk_DFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-devs-trackdisk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(HOST_STRIP) +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-devs-trackdisk_DFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(HOST_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-devs-trackdisk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-devs-trackdisk_STRIP ?= $(ECHO) >/dev/null +kernel-devs-trackdisk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS) $(kernel-devs-trackdisk_MC_EXTRA_CPPFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_CFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-devs-trackdisk_DFLAGS)) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-devs-trackdisk_MC_TARGETS) $(kernel-devs-trackdisk_MC_DTARGETS) : kernel-devs-trackdisk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-devs-trackdisk_MC_TARGETS) : CPPFLAGS := $(kernel-devs-trackdisk_MC_CPPFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) : CFLAGS := $(kernel-devs-trackdisk_CFLAGS) +$(kernel-devs-trackdisk_MC_TARGETS) : $(kernel-devs-trackdisk_MC_TGTWILDCARD).o : $(kernel-devs-trackdisk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-devs-trackdisk_IQUOTE) $(dir $<) $(kernel-devs-trackdisk_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-devs-trackdisk_IQUOTE) . $(kernel-devs-trackdisk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-devs-trackdisk_MC_DTARGETS) : $(kernel-devs-trackdisk_MC_TGTWILDCARD).d : $(kernel-devs-trackdisk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-devs-trackdisk_DFLAGS) $(kernel-devs-trackdisk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-devs-trackdisk_LINKLIBAFILES),) + +ifeq ($(kernel-devs-trackdisk_OBJDIR)/linklib,) +kernel-devs-trackdisk-MA_TARGETS := $(addsuffix .o,$(kernel-devs-trackdisk_LINKLIBAFILES) $(kernel-devs-trackdisk_RELLINKLIBAFILES)) +kernel-devs-trackdisk-MA_WILDCARD := % +else +kernel-devs-trackdisk-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-devs-trackdisk_LINKLIBAFILES) $(kernel-devs-trackdisk_RELLINKLIBAFILES)))) +kernel-devs-trackdisk-MA_WILDCARD := $(kernel-devs-trackdisk_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-devs-trackdisk-MA_TARGETS) : | $(addsuffix .S,$(kernel-devs-trackdisk_LINKLIBAFILES) $(kernel-devs-trackdisk_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-devs-trackdisk-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-devs-trackdisk-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-devs-trackdisk_LINKLIBAFILES) $(kernel-devs-trackdisk_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-devs-trackdisk-MA_DIRS := $(foreach dir, $(kernel-devs-trackdisk-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-devs-trackdisk-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-devs-trackdisk-MA_DIRS),) + kernel-devs-trackdisk-MA_DIRS := $(shell echo $(kernel-devs-trackdisk-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-devs-trackdisk-MA_DIRS) +endif + +endif + +kernel-devs-trackdisk-MA_ASSEMBLER ?= $(kernel-devs-trackdisk_ASSEMBLER) + +$(kernel-devs-trackdisk-MA_TARGETS) : kernel-devs-trackdisk-MA_CMD:= $(kernel-devs-trackdisk-MA_ASSEMBLER) + +$(kernel-devs-trackdisk-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-devs-trackdisk-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-devs-trackdisk-MA_TARGETS) : $(kernel-devs-trackdisk-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-devs-trackdisk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-devs-trackdisk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-devs-trackdisk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-devs-trackdisk_SUFFIX := device +else +kernel-devs-trackdisk_SUFFIX := +endif + +ifeq (target,target) +kernel-devs-trackdisk_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-devs-trackdisk_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-devs-trackdisk_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-devs-trackdisk_SUFFIX),handler) +kernel-devs-trackdisk_MODULE := $(AROSDIR)/$(kernel-devs-trackdisk_MODDIR)/$(kernel-devs-trackdisk_DEFNAME)-$(kernel-devs-trackdisk_SUFFIX) +else +kernel-devs-trackdisk_MODULE := $(AROSDIR)/$(kernel-devs-trackdisk_MODDIR)/$(kernel-devs-trackdisk_DEFNAME).$(kernel-devs-trackdisk_SUFFIX) +endif +kernel-devs-trackdisk_KOBJ := $(KOBJSDIR)/$(kernel-devs-trackdisk_DEFNAME)_$(kernel-devs-trackdisk_SUFFIX).o +else +kernel-devs-trackdisk_MODULE := +kernel-devs-trackdisk_KOBJ := +endif + +kernel-devs-trackdisk-quick : kernel-devs-trackdisk +kernel-devs-trackdisk : $(kernel-devs-trackdisk_MODULE) $(kernel-devs-trackdisk_LINKLIB) $(kernel-devs-trackdisk_RELLINKLIB) +ifeq (M,M) +kernel-devs-trackdisk-kobj : $(kernel-devs-trackdisk_KOBJ) $(kernel-devs-trackdisk_LINKLIB) $(kernel-devs-trackdisk_RELLINKLIB) +kernel-devs-trackdisk-kobj-quick : $(kernel-devs-trackdisk_KOBJ) $(kernel-devs-trackdisk_LINKLIB) $(kernel-devs-trackdisk_RELLINKLIB) +endif +ifeq (M,M) +kernel-devs-trackdisk-linklib : $(kernel-devs-trackdisk_LINKLIB) $(kernel-devs-trackdisk_RELLINKLIB) +endif + +kernel-devs-trackdisk_OBJS := $(addsuffix .o,$(kernel-devs-trackdisk_STARTFILES)) $(kernel-devs-trackdisk_ARCHOBJS) \ + $(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(kernel-devs-trackdisk_C_NARCHFILES:=.o) $(kernel-devs-trackdisk_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-devs-trackdisk_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (trackdisk,con) + kernel-devs-trackdisk_ERR := $(notdir $(kernel-devs-trackdisk_MODULE)).err +else + kernel-devs-trackdisk_ERR := trackdisk.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-devs-trackdisk_DEFNAME)_LDFLAGS) $(kernel-devs-trackdisk_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-devs-trackdisk_LIBS) $($(kernel-devs-trackdisk_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-devs-trackdisk_MODULE) : LIB_NAMES := $(kernel-devs-trackdisk_LIBS) $($(kernel-devs-trackdisk_DEFNAME)_LIBS) +$(kernel-devs-trackdisk_MODULE) : OBJS := $(kernel-devs-trackdisk_STARTOBJS) $(kernel-devs-trackdisk_OBJS) $(USER_OBJS) +$(kernel-devs-trackdisk_MODULE) : ENDTAG := $(kernel-devs-trackdisk_ENDOBJS) +$(kernel-devs-trackdisk_MODULE) : ERR := $(kernel-devs-trackdisk_ERR) +$(kernel-devs-trackdisk_MODULE) : OBJDIR := $(kernel-devs-trackdisk_OBJDIR) +$(kernel-devs-trackdisk_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-devs-trackdisk_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-devs-trackdisk_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-devs-trackdisk_MODULE) : $(kernel-devs-trackdisk_STARTOBJS) $(kernel-devs-trackdisk_OBJS) $(USER_OBJS) $(kernel-devs-trackdisk_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-devs-trackdisk_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-devs-trackdisk_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-devs-trackdisk_LC_LINKLIBNAME := $(shell echo $(kernel-devs-trackdisk_LINKLIBNAME) | tr A-Z a-z) +kernel-devs-trackdisk_LC_MODNAME := $(shell echo trackdisk | tr A-Z a-z) +ifneq ($(kernel-devs-trackdisk_LINKLIB),) + +ifeq (target,target) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(HOST_AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(KERNEL_AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)$(kernel-devs-trackdisk_LIBSUFFIX).a : $(kernel-devs-trackdisk_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-devs-trackdisk_AR) $@ $^ + $(Q)$(kernel-devs-trackdisk_RANLIB) $@ +ifneq ($(kernel-devs-trackdisk_LC_MODNAME),$(kernel-devs-trackdisk_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-devs-trackdisk_LIBDIR)/libtrackdisk$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(AR) +$(kernel-devs-trackdisk_LIBDIR)/libtrackdisk$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-devs-trackdisk_LIBDIR)/libtrackdisk$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(HOST_AR) +$(kernel-devs-trackdisk_LIBDIR)/libtrackdisk$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-devs-trackdisk_LIBDIR)/libtrackdisk$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(KERNEL_AR) +$(kernel-devs-trackdisk_LIBDIR)/libtrackdisk$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-devs-trackdisk_LIBDIR)/libtrackdisk$(kernel-devs-trackdisk_LIBSUFFIX).a : $(kernel-devs-trackdisk_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-devs-trackdisk_AR) $@ $^ + $(Q)$(kernel-devs-trackdisk_RANLIB) $@ +endif + + +ifneq ($(kernel-devs-trackdisk_LINKLIB),) +$(kernel-devs-trackdisk_LINKLIB) : | $(kernel-devs-trackdisk_LIBDIR) +else +$(kernel-devs-trackdisk_LINKLIB) :: $(kernel-devs-trackdisk_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-devs-trackdisk_LIBDIR) + +endif + +ifneq ($(kernel-devs-trackdisk_RELLINKLIB),) + +ifeq (target,target) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(HOST_AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(KERNEL_AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_LINKLIBNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : $(kernel-devs-trackdisk_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-devs-trackdisk_AR) $@ $^ + $(Q)$(kernel-devs-trackdisk_RANLIB) $@ +ifneq ($(kernel-devs-trackdisk_LC_MODNAME),$(kernel-devs-trackdisk_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_DEFNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_DEFNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_DEFNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(HOST_AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_DEFNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_DEFNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_AR:=$(KERNEL_AR) +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_DEFNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : kernel-devs-trackdisk_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-devs-trackdisk_LIBDIR)/lib$(kernel-devs-trackdisk_DEFNAME)_rel$(kernel-devs-trackdisk_LIBSUFFIX).a : $(kernel-devs-trackdisk_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-devs-trackdisk_AR) $@ $^ + $(Q)$(kernel-devs-trackdisk_RANLIB) $@ +endif + + +ifneq ($(kernel-devs-trackdisk_RELLINKLIB),) +$(kernel-devs-trackdisk_RELLINKLIB) : | $(kernel-devs-trackdisk_LIBDIR) +else +$(kernel-devs-trackdisk_RELLINKLIB) :: $(kernel-devs-trackdisk_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-devs-trackdisk_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-devs-trackdisk_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-devs-trackdisk_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-devs-trackdisk_SYMBOLS := $(kernel-devs-trackdisk_KBASE) + +kernel-devs-trackdisk_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-devs-trackdisk_KOBJ_LIBS := $(filter-out $(kernel-devs-trackdisk_KLIB),$(kernel-devs-trackdisk_LIBS)) $(kernel-devs-trackdisk_KAUTOLIB) +$(kernel-devs-trackdisk_KOBJ) : LINKLIBS:=$(kernel-devs-trackdisk_KOBJ_LIBS) $($(kernel-devs-trackdisk_DEFNAME)_LIBS) +$(kernel-devs-trackdisk_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-devs-trackdisk_SYMBOLS)) +$(kernel-devs-trackdisk_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-devs-trackdisk_KOBJ) : $(kernel-devs-trackdisk_OBJS) $(USER_OBJS) $(kernel-devs-trackdisk_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-devs-trackdisk_DEPS := $(addprefix $(kernel-devs-trackdisk_OBJDIR)/,$(notdir $(kernel-devs-trackdisk_CCFILES:=.d) $(kernel-devs-trackdisk_TARGETCCFILES:=.d) $(kernel-devs-trackdisk_CXXFILES:=.d))) $(addprefix $(kernel-devs-trackdisk_OBJDIR)/linklib/,$(notdir $(kernel-devs-trackdisk_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-devs-trackdisk_DEPS),) + ifneq (kernel-devs-trackdisk kernel-devs-trackdisk-quick kernel-devs-trackdisk-kobj kernel-devs-trackdisk-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-devs-trackdisk kernel-devs-trackdisk-quick kernel-devs-trackdisk-kobj kernel-devs-trackdisk-kobj-quick),) + -include $(kernel-devs-trackdisk_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-devs-trackdisk_DEPS) + endif + endif +endif + +$(kernel-devs-trackdisk_OBJS) $(kernel-devs-trackdisk_DEPS) : | $(kernel-devs-trackdisk_OBJDIR)/linklib + +ifneq ($(kernel-devs-trackdisk_OBJS) $(kernel-devs-trackdisk_DEPS) $(kernel-devs-trackdisk_MODULE) $(kernel-devs-trackdisk_KOBJ),) +$(kernel-devs-trackdisk_OBJS) $(kernel-devs-trackdisk_DEPS) $(kernel-devs-trackdisk_MODULE) $(kernel-devs-trackdisk_KOBJ) : | $(kernel-devs-trackdisk_OBJDIR) $(AROSDIR)/$(kernel-devs-trackdisk_MODDIR) $(KOBJSDIR) +else +$(kernel-devs-trackdisk_OBJS) $(kernel-devs-trackdisk_DEPS) $(kernel-devs-trackdisk_MODULE) $(kernel-devs-trackdisk_KOBJ) :: $(kernel-devs-trackdisk_OBJDIR) $(AROSDIR)/$(kernel-devs-trackdisk_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-devs-trackdisk_OBJDIR) $(AROSDIR)/$(kernel-devs-trackdisk_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-devs-trackdisk kernel-devs-trackdisk-includes kernel-devs-trackdisk-quick kernel-devs-trackdisk-kobj kernel-devs-trackdisk-kobj-quick),) # Only for this target these deps are wanted + +kernel-devs-trackdisk_DFILE_DEPS := $(kernel-devs-trackdisk_LIBDEFSINC) $(kernel-devs-trackdisk_DEFLIBDEFSINC) \ + $(addprefix $(kernel-devs-trackdisk_INCDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) +$(kernel-devs-trackdisk_DEPS) : $(kernel-devs-trackdisk_DFILE_DEPS) +endif + +kernel-devs-trackdisk_TOCLEAN := $(kernel-devs-trackdisk_OBJS) $(kernel-devs-trackdisk_DEPS) \ + $(kernel-devs-trackdisk_MODULE) $(kernel-devs-trackdisk_LINKLIB) $(kernel-devs-trackdisk_KOBJ) \ + $(kernel-devs-trackdisk_OBJDIR)/Makefile.trackdiskdevice \ + $(addprefix $(kernel-devs-trackdisk_OBJDIR)/include/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-devs-trackdisk_INCDIR)/,$($(kernel-devs-trackdisk_DEFNAME)_INCLUDES)) \ + $(kernel-devs-trackdisk_OBJDIR)/trackdisk_geninc $(kernel-devs-trackdisk_OBJDIR)/trackdisk_incs \ + $(addsuffix .c,$(kernel-devs-trackdisk_LINKLIBFILES)) $(kernel-devs-trackdisk_LINKLIBOBJS) $(kernel-devs-trackdisk_LIBDEFSINC) \ + $(kernel-devs-trackdisk_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-devs-trackdisk_STARTFILES) $(kernel-devs-trackdisk_ENDFILES)) \ + $(kernel-devs-trackdisk_ENDOBJS) +kernel-devs-trackdisk-clean : FILES := $(kernel-devs-trackdisk_TOCLEAN) +kernel-devs-trackdisk-clean :: + $(Q)$(ECHO) "Cleaning up for module trackdisk" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-devs-trackdisk_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/exec/cause.c b/rom/exec/cause.c index 42b44c9bce6..e3f71342a1c 100644 --- a/rom/exec/cause.c +++ b/rom/exec/cause.c @@ -1,12 +1,12 @@ /* - Copyright © 1995-2018, The AROS Development Team. All rights reserved. - $Id$ + Copyright (C) 1995-2026, The AROS Development Team. All rights reserved. Desc: Cause() - Cause a software interrupt. Lang: english */ #include +#include #include #include @@ -110,6 +110,25 @@ * looking at SFF_SoftInt flag. */ } + + /* Signal pending software interrupt condition */ +#ifndef AROS_NO_ATOMIC_OPERATIONS + __AROS_ATOMIC_OR_W(SysBase->SysFlags, SFF_SoftInt); +#else + SysBase->SysFlags |= SFF_SoftInt; +#endif + + /* + * Quick soft int request. For optimal performance m68k-amiga + * Enable() does not do any extra SFF_SoftInt checks + */ + CUSTOM_CAUSE(INTF_SOFTINT); + /* + * If we are in usermode the software interrupt will end up being triggered + * in Enable(). On Amiga hardware this happens because a hardware interrupt + * was queued. On other machines Enable() will simulate this behavior, + * looking at SFF_SoftInt flag. + */ Enable(); AROS_LIBFUNC_EXIT @@ -141,8 +160,14 @@ AROS_INTH0(SoftIntDispatch) /* Don't bother if there are no software ints queued. */ if( SysBase->SysFlags & SFF_SoftInt ) { - /* Clear Software interrupt pending flag. */ - SysBase->SysFlags &= ~(SFF_SoftInt); + /* Clear Software interrupt pending flag. The scheduler's attention + * flags share this word and can be set from higher interrupt levels, + * so the update should not be a load/modify/store sequence. */ +#ifndef AROS_NO_ATOMIC_OPERATIONS + __AROS_ATOMIC_AND_W(SysBase->SysFlags, ~SFF_SoftInt); +#else + SysBase->SysFlags &= ~(SFF_SoftInt); +#endif for(;;) { diff --git a/rom/exec/exec.conf b/rom/exec/exec.conf index 090d3708847..811db2593da 100644 --- a/rom/exec/exec.conf +++ b/rom/exec/exec.conf @@ -1,5 +1,5 @@ ##begin config -version 51.3 +version 51.10 libbase SysBase libbasetype struct IntExecBase libbasetypeextern struct ExecBase diff --git a/rom/exec/exec_platform.h b/rom/exec/exec_platform.h index e65095e69b8..c582cbe7a46 100644 --- a/rom/exec/exec_platform.h +++ b/rom/exec/exec_platform.h @@ -28,8 +28,8 @@ struct Exec_PlatformData #define TDNESTCOUNT_DEC SysBase->TDNestCnt-- #define FLAG_SCHEDQUANTUM_CLEAR SysBase->SysFlags &= ~SFF_QuantumOver #define FLAG_SCHEDQUANTUM_SET SysBase->SysFlags |= SFF_QuantumOver -#define FLAG_SCHEDSWITCH_CLEAR SysBase->AttnResched &= ~ARF_AttnSwitch -#define FLAG_SCHEDSWITCH_SET SysBase->AttnResched |= ARF_AttnSwitch +#define FLAG_SCHEDSWITCH_CLEAR SysBase->SysFlags &= ~SFF_AttnSwitch +#define FLAG_SCHEDSWITCH_SET SysBase->SysFlags |= SFF_AttnSwitch #define FLAG_SCHEDDISPATCH_CLEAR SysBase->AttnResched &= ~ARF_AttnDispatch #define FLAG_SCHEDDISPATCH_SET SysBase->AttnResched |= ARF_AttnDispatch #else @@ -39,8 +39,8 @@ struct Exec_PlatformData #define TDNESTCOUNT_DEC AROS_ATOMIC_DEC(SysBase->TDNestCnt) #define FLAG_SCHEDQUANTUM_CLEAR AROS_ATOMIC_AND(SysBase->SysFlags, ~SFF_QuantumOver) #define FLAG_SCHEDQUANTUM_SET AROS_ATOMIC_OR(SysBase->SysFlags, SFF_QuantumOver) -#define FLAG_SCHEDSWITCH_CLEAR AROS_ATOMIC_AND(SysBase->AttnResched, ~ARF_AttnSwitch) -#define FLAG_SCHEDSWITCH_SET AROS_ATOMIC_OR(SysBase->AttnResched, ARF_AttnSwitch) +#define FLAG_SCHEDSWITCH_CLEAR AROS_ATOMIC_AND(SysBase->SysFlags, ~SFF_AttnSwitch) +#define FLAG_SCHEDSWITCH_SET AROS_ATOMIC_OR(SysBase->SysFlags, SFF_AttnSwitch) #define FLAG_SCHEDDISPATCH_CLEAR AROS_ATOMIC_AND(SysBase->AttnResched, ~ARF_AttnDispatch) #define FLAG_SCHEDDISPATCH_SET AROS_ATOMIC_OR(SysBase->AttnResched, ARF_AttnDispatch) #endif @@ -53,7 +53,7 @@ struct Exec_PlatformData #define TDNESTCOUNT_GET (SysBase->TDNestCnt) #define TDNESTCOUNT_SET(val) (SysBase->TDNestCnt=(val)) #define FLAG_SCHEDQUANTUM_ISSET (SysBase->SysFlags & SFF_QuantumOver) -#define FLAG_SCHEDSWITCH_ISSET (SysBase->AttnResched & ARF_AttnSwitch) +#define FLAG_SCHEDSWITCH_ISSET (SysBase->SysFlags & SFF_AttnSwitch) #define FLAG_SCHEDDISPATCH_ISSET (SysBase->AttnResched & ARF_AttnDispatch) #define GET_THIS_TASK (SysBase->ThisTask) diff --git a/rom/exec/signal.c b/rom/exec/signal.c index a295fcfddee..199e589a319 100644 --- a/rom/exec/signal.c +++ b/rom/exec/signal.c @@ -7,6 +7,7 @@ */ #define DEBUG 0 +#include #include #include diff --git a/rom/exec/wait.c b/rom/exec/wait.c index 70d317fbadd..ffe4132f208 100644 --- a/rom/exec/wait.c +++ b/rom/exec/wait.c @@ -7,6 +7,7 @@ */ #define DEBUG 0 +#include #include #include diff --git a/rom/filesys/SFS/SFScheck/mmakefile b/rom/filesys/SFS/SFScheck/mmakefile new file mode 100644 index 00000000000..c42c4f0d31a --- /dev/null +++ b/rom/filesys/SFS/SFScheck/mmakefile @@ -0,0 +1,635 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES = SFScheck ../FS/asmsupport ../FS/cachedio ../FS/deviceio ../FS/globals ../FS/req + +EXEDIR = $(AROSDIR)/C + +USER_CFLAGS := -I $(SRCDIR)/$(CURDIR)/../FS +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_CFLAGS += -DSFS_BE -DADATE="\"$(shell date '+%d.%m.%Y')\"" + +##MM workbench-devs-sfs-c-sfscheck : includes symlinks + + +.PHONY : workbench-devs-sfs-c-sfscheck + +workbench-devs-sfs-c-sfscheck_PROGNAME := SFSCheck +workbench-devs-sfs-c-sfscheck_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-sfs-c-sfscheck_TARGETDIR := $(EXEDIR) +workbench-devs-sfs-c-sfscheck_LINKER := +workbench-devs-sfs-c-sfscheck_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-sfs-c-sfscheck_LINKER),) + workbench-devs-sfs-c-sfscheck_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-devs-sfs-c-sfscheck_FILES := $(FILES) + workbench-devs-sfs-c-sfscheck_OBJCFILES := + workbench-devs-sfs-c-sfscheck_ASMFILES := + workbench-devs-sfs-c-sfscheck_CXXFILES := +else + workbench-devs-sfs-c-sfscheck_FILES := $(workbench-devs-sfs-c-sfscheck_PROGNAME) + workbench-devs-sfs-c-sfscheck_OBJCFILES := + workbench-devs-sfs-c-sfscheck_ASMFILES := + workbench-devs-sfs-c-sfscheck_CXXFILES := +endif + +workbench-devs-sfs-c-sfscheck_ARCHOBJS := $(wildcard $(workbench-devs-sfs-c-sfscheck_OBJDIR)/arch/*.o) +workbench-devs-sfs-c-sfscheck_ARCHFILES := $(basename $(notdir $(workbench-devs-sfs-c-sfscheck_ARCHOBJS))) +workbench-devs-sfs-c-sfscheck_C_NARCHFILES := $(filter-out $(workbench-devs-sfs-c-sfscheck_ARCHFILES),$(workbench-devs-sfs-c-sfscheck_FILES)) +workbench-devs-sfs-c-sfscheck_CXX_NARCHFILES := $(filter-out $(workbench-devs-sfs-c-sfscheck_ARCHFILES),$(workbench-devs-sfs-c-sfscheck_CXXFILES)) +workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES := $(filter-out $(workbench-devs-sfs-c-sfscheck_ARCHFILES),$(workbench-devs-sfs-c-sfscheck_OBJCFILES)) + +TMP_FILES := $(workbench-devs-sfs-c-sfscheck_C_NARCHFILES) $(workbench-devs-sfs-c-sfscheck_CXX_NARCHFILES) $(workbench-devs-sfs-c-sfscheck_ASMFILES) $(workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES) +workbench-devs-sfs-c-sfscheck_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-sfs-c-sfscheck_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-sfs-c-sfscheck_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-sfs-c-sfscheck_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-sfs-c-sfscheck_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-sfs-c-sfscheck_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-sfs-c-sfscheck_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-sfs-c-sfscheck_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-sfs-c-sfscheck_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-sfs-c-sfscheck_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-sfs-c-sfscheck_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-sfs-c-sfscheck_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-sfs-c-sfscheck_LDFLAGS := +endif + +workbench-devs-sfs-c-sfscheck_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-sfs-c-sfscheck_COVERAGE := yes +workbench-devs-sfs-c-sfscheck_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-sfs-c-sfscheck_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-sfs-c-sfscheck_CFLAGS := $(strip $(workbench-devs-sfs-c-sfscheck_COVERAGEFLAGS) $(workbench-devs-sfs-c-sfscheck_CFLAGS)) +workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(strip $(workbench-devs-sfs-c-sfscheck_COVERAGEFLAGS) $(workbench-devs-sfs-c-sfscheck_CXXFLAGS)) +workbench-devs-sfs-c-sfscheck_LIBS += $(workbench-devs-sfs-c-sfscheck_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-sfs-c-sfscheck_FUNCINSTR := yes +workbench-devs-sfs-c-sfscheck_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-sfs-c-sfscheck_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-sfs-c-sfscheck_CFLAGS := $(strip $(workbench-devs-sfs-c-sfscheck_INSTRFUNCFLAGS) $(workbench-devs-sfs-c-sfscheck_CFLAGS)) +workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(strip $(workbench-devs-sfs-c-sfscheck_INSTRFUNCFLAGS) $(workbench-devs-sfs-c-sfscheck_CXXFLAGS)) +workbench-devs-sfs-c-sfscheck_LIBS += $(workbench-devs-sfs-c-sfscheck_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-sfs-c-sfscheck_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-sfs-c-sfscheck_CFLAGS)) +workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-sfs-c-sfscheck_CXXFLAGS)) +endif +endif +workbench-devs-sfs-c-sfscheck_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-sfs-c-sfscheck_DFLAGS := +else + workbench-devs-sfs-c-sfscheck_DFLAGS := $(workbench-devs-sfs-c-sfscheck_CFLAGS) +endif +ifneq (,) + workbench-devs-sfs-c-sfscheck_DXXFLAGS := +else + workbench-devs-sfs-c-sfscheck_DXXFLAGS := $(workbench-devs-sfs-c-sfscheck_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-sfs-c-sfscheck_LDFLAGS := $(workbench-devs-sfs-c-sfscheck_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-sfs-c-sfscheck_LDFLAGS := $(workbench-devs-sfs-c-sfscheck_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-sfs-c-sfscheck_LDFLAGS := $(workbench-devs-sfs-c-sfscheck_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-sfs-c-sfscheck_LDFLAGS += -L +endif + +#MM +workbench-devs-sfs-c-sfscheck-quick : workbench-devs-sfs-c-sfscheck + +#MM workbench-devs-sfs-c-sfscheck : includes-generate-deps core-linklibs +workbench-devs-sfs-c-sfscheck : $(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-sfs-c-sfscheck workbench-devs-sfs-c-sfscheck-quick workbench-devs-sfs-c-sfscheck-gz-quick),) + +workbench-devs-sfs-c-sfscheck_CXXABSBASENAMES := $(foreach workbench-devs-sfs-c-sfscheck_CXXBASE,$(workbench-devs-sfs-c-sfscheck_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-sfs-c-sfscheck_CXXBASE)),$(workbench-devs-sfs-c-sfscheck_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-sfs-c-sfscheck_CXXBASE)))) + +ifneq ($(workbench-devs-sfs-c-sfscheck_CXXABSBASENAMES),) + +workbench-devs-sfs-c-sfscheck_CXXBASENAMES := $(basename $(workbench-devs-sfs-c-sfscheck_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-sfs-c-sfscheck_MCXX_FILES := $(strip $(foreach workbench-devs-sfs-c-sfscheck_CXXBASE,$(workbench-devs-sfs-c-sfscheck_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-sfs-c-sfscheck_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-sfs-c-sfscheck_EXT),$(workbench-devs-sfs-c-sfscheck_CXXBASE))))))) + +ifeq (,) +workbench-devs-sfs-c-sfscheck_MCXX_SRCWILDCARD := % +else +workbench-devs-sfs-c-sfscheck_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-sfs-c-sfscheck_OBJDIR),) + workbench-devs-sfs-c-sfscheck_CXXTARGETS := $(notdir $(workbench-devs-sfs-c-sfscheck_CXXBASENAMES:=.o)) + workbench-devs-sfs-c-sfscheck_CXXDTARGETS := $(notdir $(workbench-devs-sfs-c-sfscheck_CXXBASENAMES:=.d)) + workbench-devs-sfs-c-sfscheck_MCXX_WILDCARD := % +else + workbench-devs-sfs-c-sfscheck_CXXTARGETS := $(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(notdir $(workbench-devs-sfs-c-sfscheck_CXXBASENAMES:=.o))) + workbench-devs-sfs-c-sfscheck_CXXDTARGETS := $(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(notdir $(workbench-devs-sfs-c-sfscheck_CXXBASENAMES:=.d))) + workbench-devs-sfs-c-sfscheck_MCXX_WILDCARD := $(workbench-devs-sfs-c-sfscheck_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-sfs-c-sfscheck_CXXTARGETS) $(workbench-devs-sfs-c-sfscheck_CXXDTARGETS) : | $(workbench-devs-sfs-c-sfscheck_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS := $(workbench-devs-sfs-c-sfscheck_CPPFLAGS) +workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(workbench-devs-sfs-c-sfscheck_CXXFLAGS) +ifeq ($(workbench-devs-sfs-c-sfscheck_DXXFLAGS),) + workbench-devs-sfs-c-sfscheck_DXXFLAGS := $(workbench-devs-sfs-c-sfscheck_CXXFLAGS) +else + workbench-devs-sfs-c-sfscheck_DXXFLAGS := $(workbench-devs-sfs-c-sfscheck_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-sfs-c-sfscheck_STRIP ?= $(HOST_STRIP) + workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-sfs-c-sfscheck_CXXCMD:=$(HOST_CXX) + workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-sfs-c-sfscheck_CXXFLAGS)) + workbench-devs-sfs-c-sfscheck_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-sfs-c-sfscheck_DXXFLAGS)) + workbench-devs-sfs-c-sfscheck_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-sfs-c-sfscheck_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-sfs-c-sfscheck_STRIP ?= $(TARGET_STRIP) + workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-sfs-c-sfscheck_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS := $(strip $(workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(strip $(workbench-devs-sfs-c-sfscheck_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-sfs-c-sfscheck_DXXFLAGS := $(workbench-devs-sfs-c-sfscheck_DXXFLAGS) + workbench-devs-sfs-c-sfscheck_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-sfs-c-sfscheck_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-sfs-c-sfscheck_STRIP ?= $(ECHO) >/dev/null + workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-sfs-c-sfscheck_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-sfs-c-sfscheck_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-sfs-c-sfscheck_CXXFLAGS)) + workbench-devs-sfs-c-sfscheck_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-sfs-c-sfscheck_DXXFLAGS)) + workbench-devs-sfs-c-sfscheck_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-sfs-c-sfscheck_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-sfs-c-sfscheck_CXXCMD) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) $(dir $(2)) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) . $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE_END) $(strip $(workbench-devs-sfs-c-sfscheck_CXXFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-sfs-c-sfscheck_CXXCMD) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) $(dir $(2)) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) . $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE_END) $(strip $(workbench-devs-sfs-c-sfscheck_CXXFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-sfs-c-sfscheck_CXXCMD) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) $(dir $(2)) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE) . $(workbench-devs-sfs-c-sfscheck_CXXIQUOTE_END) $(strip $(workbench-devs-sfs-c-sfscheck_CXXFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-sfs-c-sfscheck_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-sfs-c-sfscheck_DXXFLAGS) $(workbench-devs-sfs-c-sfscheck_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-sfs-c-sfscheck_OBJDIR),) + $(foreach workbench-devs-sfs-c-sfscheck_CXXFILE,$(workbench-devs-sfs-c-sfscheck_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-sfs-c-sfscheck_CXXFILE))),$(workbench-devs-sfs-c-sfscheck_CXXFILE)))) +else + $(foreach workbench-devs-sfs-c-sfscheck_CXXFILE,$(workbench-devs-sfs-c-sfscheck_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(notdir $(basename $(workbench-devs-sfs-c-sfscheck_CXXFILE)))),$(workbench-devs-sfs-c-sfscheck_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-sfs-c-sfscheck_MOBJC_SRCWILDCARD := % +else +workbench-devs-sfs-c-sfscheck_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-sfs-c-sfscheck_OBJDIR),) + workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES)) + workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES)) + workbench-devs-sfs-c-sfscheck_MOBJC_WILDCARD := % +else + workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES))) + workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES))) + workbench-devs-sfs-c-sfscheck_MOBJC_WILDCARD := $(workbench-devs-sfs-c-sfscheck_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-sfs-c-sfscheck_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-sfs-c-sfscheck_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-sfs-c-sfscheck_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-sfs-c-sfscheck_MOBJC_DIRS := $(foreach dir, $(workbench-devs-sfs-c-sfscheck_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-sfs-c-sfscheck_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-sfs-c-sfscheck_MOBJC_DIRS),) + workbench-devs-sfs-c-sfscheck_MOBJC_DIRS := $(shell echo $(workbench-devs-sfs-c-sfscheck_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-sfs-c-sfscheck_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-sfs-c-sfscheck_CC := $(TARGET_CC) +else + workbench-devs-sfs-c-sfscheck_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS := $(workbench-devs-sfs-c-sfscheck_CPPFLAGS) +workbench-devs-sfs-c-sfscheck_OBJCFLAGS := $(workbench-devs-sfs-c-sfscheck_CFLAGS) +workbench-devs-sfs-c-sfscheck_OBJCFLAGS := $(workbench-devs-sfs-c-sfscheck_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-sfs-c-sfscheck_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-sfs-c-sfscheck_OBJCFLAGS))) +ifeq ($(workbench-devs-sfs-c-sfscheck_DFLAGS),) + workbench-devs-sfs-c-sfscheck_OBJCDFLAGS := $(workbench-devs-sfs-c-sfscheck_CFLAGS) +else + workbench-devs-sfs-c-sfscheck_OBJCDFLAGS := $(workbench-devs-sfs-c-sfscheck_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(workbench-devs-sfs-c-sfscheck_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-sfs-c-sfscheck_STRIP ?= $(TARGET_STRIP) + workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-sfs-c-sfscheck_CC) $(TARGET_SYSROOT)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_OBJCFLAGS:=$(strip $(workbench-devs-sfs-c-sfscheck_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_OBJCDFLAGS:=$(workbench-devs-sfs-c-sfscheck_OBJCDFLAGS) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-sfs-c-sfscheck_STRIP ?= $(HOST_STRIP) + workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-sfs-c-sfscheck_OBJCFLAGS)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-sfs-c-sfscheck_OBJCDFLAGS)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-sfs-c-sfscheck_STRIP ?= $(ECHO) >/dev/null + workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-sfs-c-sfscheck_OBJCFLAGS)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-sfs-c-sfscheck_OBJCDFLAGS)) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS) +$(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-sfs-c-sfscheck_OBJCFLAGS) +$(workbench-devs-sfs-c-sfscheck_MOBJC_TARGETS) : $(workbench-devs-sfs-c-sfscheck_MOBJC_WILDCARD).o : $(workbench-devs-sfs-c-sfscheck_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(dir $<) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_IQUOTE) . $(workbench-devs-sfs-c-sfscheck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(dir $<) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_IQUOTE) . $(workbench-devs-sfs-c-sfscheck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(dir $<) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_IQUOTE) . $(workbench-devs-sfs-c-sfscheck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-sfs-c-sfscheck_MOBJC_DTARGETS) : $(workbench-devs-sfs-c-sfscheck_MOBJC_WILDCARD).d : $(workbench-devs-sfs-c-sfscheck_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-sfs-c-sfscheck_OBJCDFLAGS) $(workbench-devs-sfs-c-sfscheck_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-sfs-c-sfscheck_MC_SRCWILDCARD := % +else +workbench-devs-sfs-c-sfscheck_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-sfs-c-sfscheck_OBJDIR),) +workbench-devs-sfs-c-sfscheck_MC_TARGETS := $(addsuffix .o,$(workbench-devs-sfs-c-sfscheck_C_NARCHFILES)) +workbench-devs-sfs-c-sfscheck_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-sfs-c-sfscheck_C_NARCHFILES)) +workbench-devs-sfs-c-sfscheck_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-sfs-c-sfscheck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(notdir $(workbench-devs-sfs-c-sfscheck_C_NARCHFILES)))) + workbench-devs-sfs-c-sfscheck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(notdir $(workbench-devs-sfs-c-sfscheck_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-sfs-c-sfscheck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(workbench-devs-sfs-c-sfscheck_C_NARCHFILES))) + workbench-devs-sfs-c-sfscheck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(workbench-devs-sfs-c-sfscheck_C_NARCHFILES))) +else + workbench-devs-sfs-c-sfscheck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-sfs-c-sfscheck_C_NARCHFILES)))) + workbench-devs-sfs-c-sfscheck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-sfs-c-sfscheck_C_NARCHFILES)))) +endif +endif +workbench-devs-sfs-c-sfscheck_MC_TGTWILDCARD := $(workbench-devs-sfs-c-sfscheck_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-sfs-c-sfscheck_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-sfs-c-sfscheck_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-sfs-c-sfscheck_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-sfs-c-sfscheck_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-sfs-c-sfscheck_MC_DIRS := $(foreach dir, $(workbench-devs-sfs-c-sfscheck_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-sfs-c-sfscheck_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-sfs-c-sfscheck_MC_DIRS),) + workbench-devs-sfs-c-sfscheck_MC_DIRS := $(shell echo $(workbench-devs-sfs-c-sfscheck_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-sfs-c-sfscheck_MC_DIRS) +endif + +endif + +workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS := $(workbench-devs-sfs-c-sfscheck_CPPFLAGS) +workbench-devs-sfs-c-sfscheck_CFLAGS := $(workbench-devs-sfs-c-sfscheck_CFLAGS) +ifeq ($(workbench-devs-sfs-c-sfscheck_DFLAGS),) + workbench-devs-sfs-c-sfscheck_DFLAGS := $(workbench-devs-sfs-c-sfscheck_CFLAGS) +else + workbench-devs-sfs-c-sfscheck_DFLAGS := $(workbench-devs-sfs-c-sfscheck_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-sfs-c-sfscheck_STRIP ?= $(TARGET_STRIP) +workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS:=$(strip $(workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_CFLAGS:=$(strip $(workbench-devs-sfs-c-sfscheck_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_DFLAGS:=$(workbench-devs-sfs-c-sfscheck_DFLAGS) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-sfs-c-sfscheck_STRIP ?= $(HOST_STRIP) +workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-sfs-c-sfscheck_CFLAGS)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-sfs-c-sfscheck_DFLAGS)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-sfs-c-sfscheck_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-sfs-c-sfscheck_STRIP ?= $(ECHO) >/dev/null +workbench-devs-sfs-c-sfscheck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS) $(workbench-devs-sfs-c-sfscheck_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-sfs-c-sfscheck_CFLAGS)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-sfs-c-sfscheck_DFLAGS)) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) $(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : workbench-devs-sfs-c-sfscheck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) : CPPFLAGS := $(workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) : CFLAGS := $(workbench-devs-sfs-c-sfscheck_CFLAGS) +$(workbench-devs-sfs-c-sfscheck_MC_TARGETS) : $(workbench-devs-sfs-c-sfscheck_MC_TGTWILDCARD).o : $(workbench-devs-sfs-c-sfscheck_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(dir $<) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_IQUOTE) . $(workbench-devs-sfs-c-sfscheck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(dir $<) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_IQUOTE) . $(workbench-devs-sfs-c-sfscheck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(dir $<) $(workbench-devs-sfs-c-sfscheck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-sfs-c-sfscheck_IQUOTE) . $(workbench-devs-sfs-c-sfscheck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-sfs-c-sfscheck_MC_DTARGETS) : $(workbench-devs-sfs-c-sfscheck_MC_TGTWILDCARD).d : $(workbench-devs-sfs-c-sfscheck_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-sfs-c-sfscheck_DFLAGS) $(workbench-devs-sfs-c-sfscheck_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-sfs-c-sfscheck_OBJDIR),) +workbench-devs-sfs-c-sfscheck-MA_TARGETS := $(addsuffix .o,$(workbench-devs-sfs-c-sfscheck_ASMFILES)) +workbench-devs-sfs-c-sfscheck-MA_WILDCARD := % +else +workbench-devs-sfs-c-sfscheck-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-sfs-c-sfscheck_OBJDIR)/,$(notdir $(workbench-devs-sfs-c-sfscheck_ASMFILES)))) +workbench-devs-sfs-c-sfscheck-MA_WILDCARD := $(workbench-devs-sfs-c-sfscheck_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-sfs-c-sfscheck-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-sfs-c-sfscheck_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-sfs-c-sfscheck-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-sfs-c-sfscheck-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-sfs-c-sfscheck_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-sfs-c-sfscheck-MA_DIRS := $(foreach dir, $(workbench-devs-sfs-c-sfscheck-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-sfs-c-sfscheck-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-sfs-c-sfscheck-MA_DIRS),) + workbench-devs-sfs-c-sfscheck-MA_DIRS := $(shell echo $(workbench-devs-sfs-c-sfscheck-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-sfs-c-sfscheck-MA_DIRS) +endif + +endif + +workbench-devs-sfs-c-sfscheck-MA_ASSEMBLER ?= $(workbench-devs-sfs-c-sfscheck_ASSEMBLER) + +$(workbench-devs-sfs-c-sfscheck-MA_TARGETS) : workbench-devs-sfs-c-sfscheck-MA_CMD:= $(workbench-devs-sfs-c-sfscheck-MA_ASSEMBLER) + +$(workbench-devs-sfs-c-sfscheck-MA_TARGETS) : CPPFLAGS := $(workbench-devs-sfs-c-sfscheck_CPPFLAGS) +$(workbench-devs-sfs-c-sfscheck-MA_TARGETS) : AFLAGS := $(workbench-devs-sfs-c-sfscheck_AFLAGS) +$(workbench-devs-sfs-c-sfscheck-MA_TARGETS) : $(workbench-devs-sfs-c-sfscheck-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-sfs-c-sfscheck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-sfs-c-sfscheck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-sfs-c-sfscheck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-sfs-c-sfscheck-link_EXTRA_LDFLAGS := +workbench-devs-sfs-c-sfscheck-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-sfs-c-sfscheck-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-devs-sfs-c-sfscheck-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-sfs-c-sfscheck-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-sfs-c-sfscheck-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-sfs-c-sfscheck_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-sfs-c-sfscheck-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-sfs-c-sfscheck-link_DIRS))) +# Add trailing / +workbench-devs-sfs-c-sfscheck-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-sfs-c-sfscheck-link_DIRS))) +# Add normal linklib path +workbench-devs-sfs-c-sfscheck-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-sfs-c-sfscheck-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-sfs-c-sfscheck_LIBS) $(workbench-devs-sfs-c-sfscheck-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-devs-sfs-c-sfscheck-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-sfs-c-sfscheck-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-sfs-c-sfscheck-link_DEPLIBS := $(foreach lib,$(workbench-devs-sfs-c-sfscheck-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-sfs-c-sfscheck-link_DIRS)))) \ +) + +$(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) : OBJDIR := $(workbench-devs-sfs-c-sfscheck_OBJDIR) +$(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) : OBJS := $(workbench-devs-sfs-c-sfscheck_OBJS) $(workbench-devs-sfs-c-sfscheck_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-sfs-c-sfscheck_LDFLAGS) $(workbench-devs-sfs-c-sfscheck-link_EXTRA_LDFLAGS)) +$(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-sfs-c-sfscheck_LIBS) $(workbench-devs-sfs-c-sfscheck-link_EXTRA_LIBS) ) +$(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) : $(workbench-devs-sfs-c-sfscheck_OBJS) $(workbench-devs-sfs-c-sfscheck_ARCHOBJS) $(USER_OBJS) $(workbench-devs-sfs-c-sfscheck-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-sfs-c-sfscheck_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-sfs-c-sfscheck_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-sfs-c-sfscheck_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-sfs-c-sfscheck_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-sfs-c-sfscheck_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-sfs-c-sfscheck_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-sfs-c-sfscheck_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-sfs-c-sfscheck_DEPS),) + ifneq (workbench-devs-sfs-c-sfscheck workbench-devs-sfs-c-sfscheck-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-sfs-c-sfscheck workbench-devs-sfs-c-sfscheck-quick),) + -include $(workbench-devs-sfs-c-sfscheck_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-sfs-c-sfscheck_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-sfs-c-sfscheck_OBJS) $(workbench-devs-sfs-c-sfscheck_DEPS) $(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME),) +$(workbench-devs-sfs-c-sfscheck_OBJS) $(workbench-devs-sfs-c-sfscheck_DEPS) $(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) : | $(workbench-devs-sfs-c-sfscheck_OBJDIR) $(workbench-devs-sfs-c-sfscheck_TARGETDIR) +else +$(workbench-devs-sfs-c-sfscheck_OBJS) $(workbench-devs-sfs-c-sfscheck_DEPS) $(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) :: $(workbench-devs-sfs-c-sfscheck_OBJDIR) $(workbench-devs-sfs-c-sfscheck_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-sfs-c-sfscheck_OBJDIR) $(workbench-devs-sfs-c-sfscheck_TARGETDIR) + + +workbench-devs-sfs-c-sfscheck-clean : FILES := $(workbench-devs-sfs-c-sfscheck_OBJS) $(workbench-devs-sfs-c-sfscheck_TARGETDIR)/$(workbench-devs-sfs-c-sfscheck_PROGNAME) $(workbench-devs-sfs-c-sfscheck_DEPS) +#MM +workbench-devs-sfs-c-sfscheck-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-sfs-c-sfscheck" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/filesys/SFS/SFSdefrag/catalogs/mmakefile b/rom/filesys/SFS/SFSdefrag/catalogs/mmakefile new file mode 100644 index 00000000000..629a04b02aa --- /dev/null +++ b/rom/filesys/SFS/SFSdefrag/catalogs/mmakefile @@ -0,0 +1,77 @@ +# Copyright © 2004-2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-devs-sfs-c-sfsdefrag-catalogs + +CATALOGS:=czech french german + + +ifeq (,) +workbench-devs-sfs-c-sfsdefrag-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-devs-sfs-c-sfsdefrag-catalogs_DESC := +endif + +workbench-devs-sfs-c-sfsdefrag-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-devs-sfs-c-sfsdefrag-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-devs-sfs-c-sfsdefrag-catalogs_LNGS := $(CATALOGS) +endif + +workbench-devs-sfs-c-sfsdefrag-catalogs_OBJS := $(addsuffix /System/Tools/SFSDefrag.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-devs-sfs-c-sfsdefrag-catalogs_LNGS))) +workbench-devs-sfs-c-sfsdefrag-catalogs_DIRS := $(addsuffix /System/Tools, $(addprefix $(AROS_CATALOGS)/, $(workbench-devs-sfs-c-sfsdefrag-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-devs-sfs-c-sfsdefrag-catalogs-quick : workbench-devs-sfs-c-sfsdefrag-catalogs + +#MM +workbench-devs-sfs-c-sfsdefrag-catalogs : $(workbench-devs-sfs-c-sfsdefrag-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-devs-sfs-c-sfsdefrag-catalogs_OBJS),) +$(workbench-devs-sfs-c-sfsdefrag-catalogs_OBJS) : | $(workbench-devs-sfs-c-sfsdefrag-catalogs_DIRS) +else +$(workbench-devs-sfs-c-sfsdefrag-catalogs_OBJS) :: $(workbench-devs-sfs-c-sfsdefrag-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-devs-sfs-c-sfsdefrag-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Tools/SFSDefrag.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-devs-sfs-c-sfsdefrag-catalogs_DESC).cd + $(Q)$(ECHO) "Creating SFSDefrag catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-devs-sfs-c-sfsdefrag-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/SFSDefrag.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-devs-sfs-c-sfsdefrag-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/SFSDefrag.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-devs-sfs-c-sfsdefrag-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/SFSDefrag.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-devs-sfs-c-sfsdefrag-catalogs_DESC := $(workbench-devs-sfs-c-sfsdefrag-catalogs_DESC) +../strings.h : workbench-devs-sfs-c-sfsdefrag-catalogs_SRC := $(workbench-devs-sfs-c-sfsdefrag-catalogs_SRC) +../strings.h : $(workbench-devs-sfs-c-sfsdefrag-catalogs_DESC).cd $(workbench-devs-sfs-c-sfsdefrag-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating SFSDefrag catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-devs-sfs-c-sfsdefrag-catalogs_DESC).cd $@=$(workbench-devs-sfs-c-sfsdefrag-catalogs_SRC).sd +endif + +workbench-devs-sfs-c-sfsdefrag-catalogs-clean : FILES := $(workbench-devs-sfs-c-sfsdefrag-catalogs_OBJS) ../strings.h +#MM +workbench-devs-sfs-c-sfsdefrag-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-sfs-c-sfsdefrag-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-devs-sfs-c-sfsdefrag-catalogs workbench-devs-sfs-c-sfsdefrag-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/filesys/cdfs/mmakefile b/rom/filesys/cdfs/mmakefile new file mode 100644 index 00000000000..caa9e34c33f --- /dev/null +++ b/rom/filesys/cdfs/mmakefile @@ -0,0 +1,1662 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := cdfs bcache iso9660 + +USER_CPPFLAGS += -D__NOLIBBASE__ -DADATE="\"$(shell date '+%d.%m.%Y')\"" +#USER_CPPFLAGS += -DDEBUG=1 +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-fs-cdfs +#MM kernel-fs-cdfs-quick +#MM kernel-fs-cdfs-makefile +#MM kernel-fs-cdfs-clean + +# ABI targets: +#MM- includes-all : kernel-fs-cdfs-includes +#MM- linklibs-cdfs: kernel-fs-cdfs-linklib +#MM- linklibs-cdfs_rel : kernel-fs-cdfs-linklib +#MM- includes-cdfs: kernel-fs-cdfs-includes +#MM- includes-cdfs_rel : kernel-fs-cdfs-includes +#MM- kernel-fs-cdfs : kernel-fs-cdfs-includes core-linklibs linklibs- +#MM kernel-fs-cdfs-linklib : kernel-fs-cdfs-includes includes- +#MM- kernel-fs-cdfs-quick : kernel-fs-cdfs-includes-quick +#MM kernel-fs-cdfs-includes : kernel-fs-cdfs-makefile kernel-fs-cdfs-includes-dirs \ +#MM includes-generate-deps kernel-fs-cdfs-fd +#MM kernel-fs-cdfs-includes-quick +#MM kernel-fs-cdfs-includes-dirs +#MM kernel-fs-cdfs-fd + +# Library targets +#MM kernel-fs-cdfs-kobj : core-linklibs linklibs- +#MM kernel-fs-cdfs-kobj-quick : + +# Library with ABI targets: +#MM kernel-fs-cdfs-kobj : kernel-fs-cdfs-includes core-linklibs linklibs- +#MM kernel-fs-cdfs-kobj-quick : kernel-fs-cdfs-includes-quick + +# All MetaMake targets defined by this macro +kernel-fs-cdfs_ALLTARGETS := kernel-fs-cdfs kernel-fs-cdfs-quick kernel-fs-cdfs-clean + +ifeq (M,M) +kernel-fs-cdfs_ALLTARGETS += kernel-fs-cdfs-kobj kernel-fs-cdfs-kobj-quick +endif + +ifeq (M,M) +kernel-fs-cdfs_ALLTARGETS += kernel-fs-cdfs-includes \ + kernel-fs-cdfs-includes-quick kernel-fs-cdfs-includes-dirs \ + kernel-fs-cdfs-linklib kernel-fs-cdfs-fd +endif + +.PHONY : $(kernel-fs-cdfs_ALLTARGETS) kernel-fs-cdfs-makefile + +ifeq (cdfs,) +$(error using %build_module: modname may not be empty) +endif +ifeq (handler,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-fs-cdfs_DEFNAME := cdfs_ +else + kernel-fs-cdfs_DEFNAME := cdfs +endif +kernel-fs-cdfs_DEFLINKLIBNAME := $(kernel-fs-cdfs_DEFNAME) +ifneq (,) + kernel-fs-cdfs_LINKLIBNAME := +else + kernel-fs-cdfs_LINKLIBNAME = $(kernel-fs-cdfs_DEFLINKLIBNAME) +endif +kernel-fs-cdfs_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-fs-cdfs_DEFCPPFLAGS += -I +endif +kernel-fs-cdfs_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-fs-cdfs_DFLAGS := +else + kernel-fs-cdfs_DFLAGS = $(kernel-fs-cdfs_DEFDFLAGS) +endif +kernel-fs-cdfs_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-fs-cdfs_DXXFLAGS := +else + kernel-fs-cdfs_DXXFLAGS = $(kernel-fs-cdfs_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-fs-cdfs_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-fs-cdfs_DEFDFLAGS)) +kernel-fs-cdfs_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-fs-cdfs_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-fs-cdfs_FUNCINSTR := yes +kernel-fs-cdfs_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-fs-cdfs_DEFDFLAGS)) +kernel-fs-cdfs_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-fs-cdfs_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-fs-cdfs_OBJDIR := +else +kernel-fs-cdfs_OBJDIR := $(OBJDIR)/$(kernel-fs-cdfs_DEFNAME) +endif +ifneq (,) +kernel-fs-cdfs_OBJDIR := $(kernel-fs-cdfs_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-fs-cdfs-makefile := $(kernel-fs-cdfs_OBJDIR)/Makefile.$(kernel-fs-cdfs_DEFNAME)handler +kernel-fs-cdfs-genmakefile : $(kernel-fs-cdfs-makefile) + + +kernel-fs-cdfs-genmakefile_OPTS := +ifneq (,) + kernel-fs-cdfs-genmakefile_OPTS += -f + kernel-fs-cdfs-genmakefile_MODNAME := cdfs_ +else + kernel-fs-cdfs-genmakefile_MODNAME := cdfs +endif +kernel-fs-cdfs-genmakefile_TARGET := Makefile.$(kernel-fs-cdfs-genmakefile_MODNAME)handler +kernel-fs-cdfs-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-cdfs-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-cdfs-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-cdfs-genmakefile_OPTS += -c + kernel-fs-cdfs-genmakefile_DEPS += + endif +else + kernel-fs-cdfs-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/cdfs.conf + kernel-fs-cdfs-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/cdfs.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-cdfs-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-cdfs-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-cdfs-genmakefile_OPTS += -o + kernel-fs-cdfs-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-fs-cdfs-genmakefile_OPTS += -s +endif +ifneq ($(kernel-fs-cdfs_OBJDIR),) + kernel-fs-cdfs-genmakefile_OPTS += -d $(kernel-fs-cdfs_OBJDIR) + kernel-fs-cdfs-genmakefile_TARGET := $(kernel-fs-cdfs_OBJDIR)/$(kernel-fs-cdfs-genmakefile_TARGET) +endif + +$(kernel-fs-cdfs-genmakefile_TARGET) : OPTS := $(kernel-fs-cdfs-genmakefile_OPTS) +$(kernel-fs-cdfs-genmakefile_TARGET) : MODNAME := cdfs +$(kernel-fs-cdfs-genmakefile_TARGET) : MODTYPE := handler +$(kernel-fs-cdfs-genmakefile_TARGET) : $(kernel-fs-cdfs-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-fs-cdfs-makefile),) +$(kernel-fs-cdfs-makefile) : | $(kernel-fs-cdfs_OBJDIR) +else +$(kernel-fs-cdfs-makefile) :: $(kernel-fs-cdfs_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-cdfs_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-fs-cdfs_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-fs-cdfs-makefile) + +kernel-fs-cdfs_DEFMODDIR := $($(kernel-fs-cdfs_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-fs-cdfs_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-fs-cdfs_DEFMODDIR) +endif +ifneq (,) + kernel-fs-cdfs_MODDIR := +else + kernel-fs-cdfs_MODDIR := $(kernel-fs-cdfs_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-fs-cdfs_INCDIR := +else +kernel-fs-cdfs_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-fs-cdfs_LIBDEFSINC := $(kernel-fs-cdfs_OBJDIR)/include/$(kernel-fs-cdfs_DEFNAME)_libdefs.h +kernel-fs-cdfs_DEFLIBDEFSINC := $(kernel-fs-cdfs_OBJDIR)/include/$(kernel-fs-cdfs_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-fs-cdfs-includes-quick : kernel-fs-cdfs-includes +kernel-fs-cdfs-includes : $(addprefix $(GENINCDIR)/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-fs-cdfs_INCDIR)/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) \ + $(kernel-fs-cdfs_LIBDEFSINC) $(kernel-fs-cdfs_DEFLIBDEFSINC) + +ifneq ($($(kernel-fs-cdfs_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-fs-cdfs-includes_MODNAME := cdfs_ +else + kernel-fs-cdfs-includes_MODNAME := cdfs +endif + +ifneq ($($(kernel-fs-cdfs-includes_MODNAME)_INCLUDES),) + +kernel-fs-cdfs-includes_TARGETS := $($(kernel-fs-cdfs-includes_MODNAME)_INCLUDES) + +kernel-fs-cdfs-includes_DEPS := $(GENMODULE) +kernel-fs-cdfs-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-cdfs-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-cdfs-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-cdfs-includes_OPTS += -c + kernel-fs-cdfs-includes_DEPS += + endif +else + kernel-fs-cdfs-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/cdfs.conf + kernel-fs-cdfs-includes_DEPS += $(SRCDIR)/$(CURDIR)/cdfs.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-cdfs-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-cdfs-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-cdfs-includes_OPTS += -o + kernel-fs-cdfs-includes_DEPS += + endif +endif +ifneq (,) + kernel-fs-cdfs-includes_OPTS += -s +endif +ifneq ($(kernel-fs-cdfs_OBJDIR)/include,) + kernel-fs-cdfs-includes_OPTS += -d $(kernel-fs-cdfs_OBJDIR)/include + kernel-fs-cdfs-includes_TARGETS := $(addprefix $(kernel-fs-cdfs_OBJDIR)/include/,$(kernel-fs-cdfs-includes_TARGETS)) + kernel-fs-cdfs-includes_GENINCFLAG=$(kernel-fs-cdfs_OBJDIR)/include/.cdfs.handler-includes +else + kernel-fs-cdfs-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.cdfs.handler-includes +endif + +$(kernel-fs-cdfs-includes_TARGETS) : $(kernel-fs-cdfs-includes_DEPS) $(kernel-fs-cdfs-includes_GENINCFLAG) + +$(kernel-fs-cdfs-includes_GENINCFLAG) : OPTS := $(kernel-fs-cdfs-includes_OPTS) +$(kernel-fs-cdfs-includes_GENINCFLAG) : MODNAME := cdfs +$(kernel-fs-cdfs-includes_GENINCFLAG) : MODTYPE := handler +$(kernel-fs-cdfs-includes_GENINCFLAG) : $(kernel-fs-cdfs-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-fs-cdfs_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) : | $(kernel-fs-cdfs_OBJDIR)/cdfs_geninc + +$(kernel-fs-cdfs_OBJDIR)/cdfs_geninc : COPYSRCDIR := $(kernel-fs-cdfs_OBJDIR)/include +$(kernel-fs-cdfs_OBJDIR)/cdfs_geninc : TGTDIR := $(GENINCDIR) +$(kernel-fs-cdfs_OBJDIR)/cdfs_geninc : FILES := $($(kernel-fs-cdfs_DEFNAME)_INCLUDES) +$(kernel-fs-cdfs_OBJDIR)/cdfs_geninc : $(addprefix $(kernel-fs-cdfs_OBJDIR)/include/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-fs-cdfs_OBJDIR)/include + +$(addprefix $(kernel-fs-cdfs_INCDIR)/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) : | $(kernel-fs-cdfs_OBJDIR)/cdfs_incs + +$(kernel-fs-cdfs_OBJDIR)/cdfs_incs : COPYSRCDIR := $(kernel-fs-cdfs_OBJDIR)/include +$(kernel-fs-cdfs_OBJDIR)/cdfs_incs : TGTDIR := $(kernel-fs-cdfs_INCDIR) +$(kernel-fs-cdfs_OBJDIR)/cdfs_incs : FILES := $($(kernel-fs-cdfs_DEFNAME)_INCLUDES) +$(kernel-fs-cdfs_OBJDIR)/cdfs_incs : $(addprefix $(kernel-fs-cdfs_OBJDIR)/include/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-fs-cdfs_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-fs-cdfs_DEFNAME)_INCLUDES)))) + +TMPcdfs_INCDIRS := \ + $(kernel-fs-cdfs_OBJDIR)/include $(addprefix $(kernel-fs-cdfs_OBJDIR)/include/,$(kernel-fs-cdfs_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-fs-cdfs_INCDIRS)) \ + $(kernel-fs-cdfs_INCDIR) $(addprefix $(kernel-fs-cdfs_INCDIR)/,$(kernel-fs-cdfs_INCDIRS)) + +ifneq (kernel-fs-cdfs-includes-dirs,) +kernel-fs-cdfs-includes-dirs : | $(TMPcdfs_INCDIRS) +else +kernel-fs-cdfs-includes-dirs :: $(TMPcdfs_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPcdfs_INCDIRS) + + +endif + +endif + + +kernel-fs-cdfs-genlibdefs_OPTS := +ifneq (,) + kernel-fs-cdfs-genlibdefs_OPTS += -f + kernel-fs-cdfs-genlibdefs_MODNAME := cdfs_ +else + kernel-fs-cdfs-genlibdefs_MODNAME := cdfs +endif +kernel-fs-cdfs-genlibdefs_TARGET := $(kernel-fs-cdfs-genlibdefs_MODNAME)_libdefs.h +kernel-fs-cdfs-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-cdfs-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-cdfs-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-cdfs-genlibdefs_OPTS += -c + kernel-fs-cdfs-genlibdefs_DEPS += + endif +else + kernel-fs-cdfs-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/cdfs.conf + kernel-fs-cdfs-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/cdfs.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-cdfs-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-cdfs-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-cdfs-genlibdefs_OPTS += -o + kernel-fs-cdfs-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-fs-cdfs-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-fs-cdfs_OBJDIR)/include,) + kernel-fs-cdfs-genlibdefs_OPTS += -d $(kernel-fs-cdfs_OBJDIR)/include + kernel-fs-cdfs-genlibdefs_TARGET := $(kernel-fs-cdfs_OBJDIR)/include/$(kernel-fs-cdfs-genlibdefs_TARGET) +endif +ifneq (,) + kernel-fs-cdfs-genlibdefs_OPTS += -v +endif + +$(kernel-fs-cdfs-genlibdefs_TARGET) : OPTS := $(kernel-fs-cdfs-genlibdefs_OPTS) +$(kernel-fs-cdfs-genlibdefs_TARGET) : MODNAME := cdfs +$(kernel-fs-cdfs-genlibdefs_TARGET) : MODTYPE := handler +$(kernel-fs-cdfs-genlibdefs_TARGET) : $(kernel-fs-cdfs-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-fs-cdfs_DEFLIBDEFSINC) : FILENAME := $(kernel-fs-cdfs_LIBDEFSINC) +$(kernel-fs-cdfs_DEFLIBDEFSINC) : $(kernel-fs-cdfs_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-fs-cdfs_LIBDEFSINC) $(kernel-fs-cdfs_DEFLIBDEFSINC) : | $(kernel-fs-cdfs_OBJDIR)/include + +ifneq (kernel-fs-cdfs-includes-dirs,) +kernel-fs-cdfs-includes-dirs : | $(kernel-fs-cdfs_OBJDIR)/include +else +kernel-fs-cdfs-includes-dirs :: $(kernel-fs-cdfs_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-fs-cdfs_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-fs-cdfs-genmodfiles_OPTS := +ifneq (,) + kernel-fs-cdfs-genmodfiles_OPTS += -f + kernel-fs-cdfs-genmodfiles_MODNAME := cdfs_ +else + kernel-fs-cdfs-genmodfiles_MODNAME := cdfs +endif +kernel-fs-cdfs-genmodfiles_GENTARGETS := $($(kernel-fs-cdfs-genmodfiles_MODNAME)_STARTFILES) $($(kernel-fs-cdfs-genmodfiles_MODNAME)_ENDFILES) +kernel-fs-cdfs-genmodfiles_STUBTARGETS := $($(kernel-fs-cdfs-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-fs-cdfs-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-fs-cdfs-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-fs-cdfs-genmodfiles_GENTARGETS)) +kernel-fs-cdfs-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-fs-cdfs-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-fs-cdfs-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-fs-cdfs-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-fs-cdfs-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-cdfs-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-cdfs-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-cdfs-genmodfiles_OPTS += -c + kernel-fs-cdfs-genmodfiles_DEPS += + endif +else + kernel-fs-cdfs-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/cdfs.conf + kernel-fs-cdfs-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/cdfs.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-cdfs-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-cdfs-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-cdfs-genmodfiles_OPTS += -o + kernel-fs-cdfs-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-fs-cdfs-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-fs-cdfs_OBJDIR),) + kernel-fs-cdfs-genmodfiles_OPTS += -d $(kernel-fs-cdfs_OBJDIR) + kernel-fs-cdfs-genmodfiles_TARGETDIR := $(shell echo $(kernel-fs-cdfs_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-fs-cdfs-genmodfiles_GENTARGETS := $(addprefix $(kernel-fs-cdfs-genmodfiles_TARGETDIR)/,$(kernel-fs-cdfs-genmodfiles_GENTARGETS)) + kernel-fs-cdfs-genmodfiles_GENFILEFLAG=$(kernel-fs-cdfs-genmodfiles_TARGETDIR)/.cdfs.handler-genfiles +else + kernel-fs-cdfs-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.cdfs.handler-genfiles +endif +ifneq ($(kernel-fs-cdfs_OBJDIR)/linklib,) + kernel-fs-cdfs-genmodfiles_OPTS += -l $(kernel-fs-cdfs_OBJDIR)/linklib + kernel-fs-cdfs-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-fs-cdfs_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-fs-cdfs-genmodfiles_STUBTARGETS := $(addprefix $(kernel-fs-cdfs-genmodfiles_STUBTARGETDIR)/,$(kernel-fs-cdfs-genmodfiles_STUBTARGETS)) + kernel-fs-cdfs-genmodfiles_TARGETDIRS += $(kernel-fs-cdfs_OBJDIR)/linklib +else +ifneq ($(kernel-fs-cdfs_OBJDIR),) + kernel-fs-cdfs-genmodfiles_STUBTARGETS := $(addprefix $(kernel-fs-cdfs-genmodfiles_TARGETDIR)/,$(kernel-fs-cdfs-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-fs-cdfs-genmodfiles_TARGETS := $(kernel-fs-cdfs-genmodfiles_GENTARGETS) $(kernel-fs-cdfs-genmodfiles_STUBTARGETS) +ifneq ($(kernel-fs-cdfs-genmodfiles_TARGETDIRS),) +$(kernel-fs-cdfs-genmodfiles_TARGETS) : | $(kernel-fs-cdfs-genmodfiles_TARGETDIRS) +endif + +$(kernel-fs-cdfs-genmodfiles_TARGETS) : $(kernel-fs-cdfs-genmodfiles_DEPS) $(kernel-fs-cdfs-genmodfiles_GENFILEFLAG) + +$(kernel-fs-cdfs-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-fs-cdfs-genmodfiles_OPTS) +$(kernel-fs-cdfs-genmodfiles_GENFILEFLAG) : MODNAME := cdfs +$(kernel-fs-cdfs-genmodfiles_GENFILEFLAG) : MODTYPE := handler +$(kernel-fs-cdfs-genmodfiles_GENFILEFLAG) : $(kernel-fs-cdfs-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-fs-cdfs-genmodfiles_GENFILEFLAG) : $(kernel-fs-cdfs_DEFLIBDEFSINC) $(kernel-fs-cdfs-makefile) + + +ifneq ($(kernel-fs-cdfs-genmodfiles_GENFILEFLAG),) +$(kernel-fs-cdfs-genmodfiles_GENFILEFLAG) : | $(kernel-fs-cdfs_OBJDIR)/linklib +else +$(kernel-fs-cdfs-genmodfiles_GENFILEFLAG) :: $(kernel-fs-cdfs_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-fs-cdfs_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-fs-cdfs_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-fs-cdfs_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-fs-cdfs-fd : $(kernel-fs-cdfs_FDDIR)/cdfs_lib.fd + + +TMP_TARGET := cdfs_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/cdfs.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/cdfs.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-fs-cdfs_FDDIR),) + TMP_OPTS += -d $(kernel-fs-cdfs_FDDIR) + TMP_TARGET := $(kernel-fs-cdfs_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := cdfs +$(TMP_TARGET) : MODTYPE := handler +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-fs-cdfs_FDDIR)/cdfs_lib.fd : | $(kernel-fs-cdfs_FDDIR) + + +ifneq (kernel-fs-cdfs-fd-setup,) +kernel-fs-cdfs-fd-setup : | $(kernel-fs-cdfs_FDDIR) +else +kernel-fs-cdfs-fd-setup :: $(kernel-fs-cdfs_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-cdfs_FDDIR) + +endif + +## Compilation +## +kernel-fs-cdfs_FILES := $(FILES) +kernel-fs-cdfs_OBJCFILES := +kernel-fs-cdfs_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-fs-cdfs_LIBFILES := +kernel-fs-cdfs_LIBS := + +kernel-fs-cdfs_FDIRS := $(sort $(dir $(kernel-fs-cdfs_FILES))) + +kernel-fs-cdfs_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-fs-cdfs_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-fs-cdfs_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-fs-cdfs_FILTERARCH = $(filter-out $(call kernel-fs-cdfs_MATCHARCH,$(1),$(2)),$(2)) +kernel-fs-cdfs_STARTFILES := $(addprefix $(kernel-fs-cdfs_OBJDIR)/,$($(kernel-fs-cdfs_DEFNAME)_STARTFILES)) +kernel-fs-cdfs_ENDFILES := $(addprefix $(kernel-fs-cdfs_OBJDIR)/,$($(kernel-fs-cdfs_DEFNAME)_ENDFILES)) + +kernel-fs-cdfs_ARCHOBJS := $(wildcard $(kernel-fs-cdfs_OBJDIR)/arch/*.o) +kernel-fs-cdfs_LIBARCHOBJS := $(wildcard $(kernel-fs-cdfs_OBJDIR)/linklib/arch/*.o) +kernel-fs-cdfs_ARCHFILES := $(basename $(notdir $(kernel-fs-cdfs_ARCHOBJS))) +kernel-fs-cdfs_LIBARCHFILES := $(basename $(notdir $(kernel-fs-cdfs_LIBARCHOBJS))) +kernel-fs-cdfs_C_NARCHFILES := $(call kernel-fs-cdfs_FILTERARCH,$(kernel-fs-cdfs_ARCHFILES),$(kernel-fs-cdfs_FILES)) +kernel-fs-cdfs_CXX_NARCHFILES := $(call kernel-fs-cdfs_FILTERARCH,$(kernel-fs-cdfs_ARCHFILES),$(kernel-fs-cdfs_CXXFILES)) +kernel-fs-cdfs_OBJC_NARCHFILES := $(call kernel-fs-cdfs_FILTERARCH,$(kernel-fs-cdfs_ARCHFILES),$(kernel-fs-cdfs_OBJCFILES)) +kernel-fs-cdfs_NLIBARCHFILES := $(call kernel-fs-cdfs_FILTERARCH,$(kernel-fs-cdfs_LIBARCHFILES),$(kernel-fs-cdfs_LIBFILES)) +kernel-fs-cdfs_ARCHNLIBFILES := $(call kernel-fs-cdfs_FILTERARCH,$(kernel-fs-cdfs_LIBFILES),$(kernel-fs-cdfs_LIBARCHFILES)) + +kernel-fs-cdfs_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-fs-cdfs_OBJDIR)/include -include $(kernel-fs-cdfs_DEFLIBDEFSINC)) +ifneq (,) +kernel-fs-cdfs_CPPFLAGS += -I +endif +kernel-fs-cdfs_LINKLIBCPPFLAGS := $(kernel-fs-cdfs_CPPFLAGS) +kernel-fs-cdfs_CPPFLAGS += $(strip $($(kernel-fs-cdfs_DEFNAME)_CPPFLAGS)) +kernel-fs-cdfs_LINKLIBCPPFLAGS += $(strip $($(kernel-fs-cdfs_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-fs-cdfs_CFLAGS := $(strip $(CFLAGS) $($(kernel-fs-cdfs_DEFNAME)_CFLAGS)) +kernel-fs-cdfs_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-fs-cdfs_DEFNAME)_LINKLIBCFLAGS)) +kernel-fs-cdfs_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-fs-cdfs_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-fs-cdfs_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-fs-cdfs_CFLAGS := $(strip $(kernel-fs-cdfs_LTOFLAGS) $(kernel-fs-cdfs_CFLAGS)) +kernel-fs-cdfs_LINKLIBCFLAGS := $(strip $(kernel-fs-cdfs_LTOFLAGS) $(kernel-fs-cdfs_LINKLIBCFLAGS)) +kernel-fs-cdfs_CXXFLAGS := $(strip $(kernel-fs-cdfs_LTOFLAGS) $(kernel-fs-cdfs_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-fs-cdfs_SUBSTNULL := +kernel-fs-cdfs_SUBSTSPACE := $(kernel-fs-cdfs_SUBSTNULL) # +kernel-fs-cdfs_SUBSTCOMMA := , +kernel-fs-cdfs_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-fs-cdfs_SUBSTSPACE),$(kernel-fs-cdfs_SUBSTCOMMA),$(strip $($(kernel-fs-cdfs_DEFNAME)_STARTFILES)))) +kernel-fs-cdfs_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-fs-cdfs_CFLAGS := $(strip $(kernel-fs-cdfs_INSTRFUNCFLAGS) $(kernel-fs-cdfs_CFLAGS)) +kernel-fs-cdfs_CXXFLAGS := $(strip $(kernel-fs-cdfs_INSTRFUNCFLAGS) $(kernel-fs-cdfs_CXXFLAGS)) +kernel-fs-cdfs_LIBS += $(kernel-fs-cdfs_INSTRFUNCLIBS) +endif +endif +kernel-fs-cdfs_DFLAGS := $(strip $(kernel-fs-cdfs_DFLAGS) $($(kernel-fs-cdfs_DEFNAME)_DFLAGS)) +kernel-fs-cdfs_LINKLIBDFLAGS := $(strip $(kernel-fs-cdfs_DFLAGS) $($(kernel-fs-cdfs_DEFNAME)_LINKLIBDFLAGS)) +kernel-fs-cdfs_DXXFLAGS := $(strip $(kernel-fs-cdfs_DXXFLAGS) $($(kernel-fs-cdfs_DEFNAME)_DXXFLAGS)) + +ifeq (handler,library) + kernel-fs-cdfs_LIBSUFFIX := +else + kernel-fs-cdfs_LIBSUFFIX := .handler +endif + +ifeq (,) +kernel-fs-cdfs_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-fs-cdfs_LIBDIR := +endif + +ifeq (M,M) +kernel-fs-cdfs_LINKLIBCFILES := $(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$($(kernel-fs-cdfs_DEFNAME)_LINKLIBFILES)) +kernel-fs-cdfs_LINKLIBAFILES := $(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$($(kernel-fs-cdfs_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-fs-cdfs_DEFNAME)_LINKLIBFILES) $($(kernel-fs-cdfs_DEFNAME)_LINKLIBAFILES) $(kernel-fs-cdfs_ARCHNLIBFILES)),) + kernel-fs-cdfs_LINKLIB := +else + kernel-fs-cdfs_LINKLIB := $(kernel-fs-cdfs_LIBDIR)/libcdfs$(kernel-fs-cdfs_LIBSUFFIX).a + ifneq (cdfs,$(kernel-fs-cdfs_LINKLIBNAME)) + kernel-fs-cdfs_LINKLIB += $(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)$(kernel-fs-cdfs_LIBSUFFIX).a + endif +endif +kernel-fs-cdfs_LINKLIBFILES := $(kernel-fs-cdfs_LINKLIBCFILES) $(kernel-fs-cdfs_LINKLIBAFILES) + +kernel-fs-cdfs_RELLINKLIBCFILES := $(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$($(kernel-fs-cdfs_DEFNAME)_RELLINKLIBFILES)) +kernel-fs-cdfs_RELLINKLIBAFILES := $(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$($(kernel-fs-cdfs_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-fs-cdfs_DEFNAME)_RELLINKLIBFILES) $($(kernel-fs-cdfs_DEFNAME)_RELLINKLIBAFILES) $(kernel-fs-cdfs_ARCHNLIBFILES)),) + kernel-fs-cdfs_RELLINKLIB := +else + kernel-fs-cdfs_RELLINKLIB := $(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_DEFNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a + ifneq (cdfs,$(kernel-fs-cdfs_LINKLIBNAME)) + kernel-fs-cdfs_RELLINKLIB += $(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a + endif +endif +kernel-fs-cdfs_RELLINKLIBFILES := $(kernel-fs-cdfs_RELLINKLIBCFILES) $(kernel-fs-cdfs_RELLINKLIBAFILES) +endif + +kernel-fs-cdfs_ENDOBJS := $(addsuffix .o,$(kernel-fs-cdfs_ENDFILES)) +kernel-fs-cdfs_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(notdir $(kernel-fs-cdfs_NLIBARCHFILES))) $(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/arch/,$(notdir $(kernel-fs-cdfs_ARCHNLIBFILES))) $(kernel-fs-cdfs_LINKLIBFILES)) \ + +kernel-fs-cdfs_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(notdir $(kernel-fs-cdfs_NLIBARCHFILES))) $(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/arch/,$(notdir $(kernel-fs-cdfs_ARCHNLIBFILES))) $(kernel-fs-cdfs_RELLINKLIBFILES)) \ + +$(kernel-fs-cdfs_LINKLIBFILES) $(kernel-fs-cdfs_RELLINKLIBFILES) : | $(kernel-fs-cdfs_OBJDIR)/linklib +$(kernel-fs-cdfs_LINKLIBOBJS) $(kernel-fs-cdfs_RELLINKLIBOBJS) : | $(kernel-fs-cdfs_OBJDIR)/linklib + +kernel-fs-cdfs_CCFILES := $(kernel-fs-cdfs_C_NARCHFILES) +kernel-fs-cdfs_TARGETCCFILES := $(strip $(kernel-fs-cdfs_STARTFILES) $(kernel-fs-cdfs_ENDFILES)) +kernel-fs-cdfs_LINKLIBCCFILES := $(strip $(kernel-fs-cdfs_NLIBARCHFILES) $(kernel-fs-cdfs_LINKLIBCFILES) $(kernel-fs-cdfs_RELLINKLIBCFILES)) +kernel-fs-cdfs_LINKLIBCCGENFILES := $(strip $(kernel-fs-cdfs_LINKLIBCFILES) $(kernel-fs-cdfs_RELLINKLIBCFILES)) + + +kernel-fs-cdfs_CXXABSBASENAMES := $(foreach kernel-fs-cdfs_CXXBASE,$(kernel-fs-cdfs_CXX_NARCHFILES),$(if $(filter /%,$(kernel-fs-cdfs_CXXBASE)),$(kernel-fs-cdfs_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-fs-cdfs_CXXBASE)))) + +ifneq ($(kernel-fs-cdfs_CXXABSBASENAMES),) + +kernel-fs-cdfs_CXXBASENAMES := $(basename $(kernel-fs-cdfs_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-fs-cdfs_MCXX_FILES := $(strip $(foreach kernel-fs-cdfs_CXXBASE,$(kernel-fs-cdfs_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-fs-cdfs_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-fs-cdfs_EXT),$(kernel-fs-cdfs_CXXBASE))))))) + +ifeq (,) +kernel-fs-cdfs_MCXX_SRCWILDCARD := % +else +kernel-fs-cdfs_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-cdfs_OBJDIR),) + kernel-fs-cdfs_CXXTARGETS := $(notdir $(kernel-fs-cdfs_CXXBASENAMES:=.o)) + kernel-fs-cdfs_CXXDTARGETS := $(notdir $(kernel-fs-cdfs_CXXBASENAMES:=.d)) + kernel-fs-cdfs_MCXX_WILDCARD := % +else + kernel-fs-cdfs_CXXTARGETS := $(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(kernel-fs-cdfs_CXXBASENAMES:=.o))) + kernel-fs-cdfs_CXXDTARGETS := $(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(kernel-fs-cdfs_CXXBASENAMES:=.d))) + kernel-fs-cdfs_MCXX_WILDCARD := $(kernel-fs-cdfs_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-fs-cdfs_CXXTARGETS) $(kernel-fs-cdfs_CXXDTARGETS) : | $(kernel-fs-cdfs_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-fs-cdfs_MCXX_CPPFLAGS := $(kernel-fs-cdfs_CPPFLAGS) +kernel-fs-cdfs_CXXFLAGS := $(kernel-fs-cdfs_CXXFLAGS) +ifeq ($(kernel-fs-cdfs_DXXFLAGS),) + kernel-fs-cdfs_DXXFLAGS := $(kernel-fs-cdfs_CXXFLAGS) +else + kernel-fs-cdfs_DXXFLAGS := $(kernel-fs-cdfs_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-fs-cdfs_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-fs-cdfs_STRIP ?= $(HOST_STRIP) + kernel-fs-cdfs_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-fs-cdfs_CXXCMD:=$(HOST_CXX) + kernel-fs-cdfs_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-fs-cdfs_MCXX_CPPFLAGS) $(kernel-fs-cdfs_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-cdfs_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-fs-cdfs_CXXFLAGS)) + kernel-fs-cdfs_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-fs-cdfs_DXXFLAGS)) + kernel-fs-cdfs_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-fs-cdfs_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-fs-cdfs_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-fs-cdfs_STRIP ?= $(TARGET_STRIP) + kernel-fs-cdfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-fs-cdfs_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-fs-cdfs_MCXX_CPPFLAGS := $(strip $(kernel-fs-cdfs_MCXX_CPPFLAGS) $(kernel-fs-cdfs_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-cdfs_CXXFLAGS := $(strip $(kernel-fs-cdfs_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-fs-cdfs_DXXFLAGS := $(kernel-fs-cdfs_DXXFLAGS) + kernel-fs-cdfs_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-fs-cdfs_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-fs-cdfs_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-fs-cdfs_STRIP ?= $(ECHO) >/dev/null + kernel-fs-cdfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-fs-cdfs_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-fs-cdfs_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-fs-cdfs_MCXX_CPPFLAGS) $(kernel-fs-cdfs_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-cdfs_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-fs-cdfs_CXXFLAGS)) + kernel-fs-cdfs_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-fs-cdfs_DXXFLAGS)) + kernel-fs-cdfs_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-fs-cdfs_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-fs-cdfs_CXXCMD) $(kernel-fs-cdfs_CXXIQUOTE) $(dir $(2)) $(kernel-fs-cdfs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_CXXIQUOTE) . $(kernel-fs-cdfs_CXXIQUOTE_END) $(strip $(kernel-fs-cdfs_CXXFLAGS) $(kernel-fs-cdfs_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-fs-cdfs_CXXCMD) $(kernel-fs-cdfs_CXXIQUOTE) $(dir $(2)) $(kernel-fs-cdfs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_CXXIQUOTE) . $(kernel-fs-cdfs_CXXIQUOTE_END) $(strip $(kernel-fs-cdfs_CXXFLAGS) $(kernel-fs-cdfs_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-fs-cdfs_CXXCMD) $(kernel-fs-cdfs_CXXIQUOTE) $(dir $(2)) $(kernel-fs-cdfs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_CXXIQUOTE) . $(kernel-fs-cdfs_CXXIQUOTE_END) $(strip $(kernel-fs-cdfs_CXXFLAGS) $(kernel-fs-cdfs_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-fs-cdfs_CXXCMD)" $(MKDEPEND) $(strip $(kernel-fs-cdfs_DXXFLAGS) $(kernel-fs-cdfs_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-fs-cdfs_OBJDIR),) + $(foreach kernel-fs-cdfs_CXXFILE,$(kernel-fs-cdfs_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-fs-cdfs_CXXFILE))),$(kernel-fs-cdfs_CXXFILE)))) +else + $(foreach kernel-fs-cdfs_CXXFILE,$(kernel-fs-cdfs_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(basename $(kernel-fs-cdfs_CXXFILE)))),$(kernel-fs-cdfs_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-fs-cdfs_OBJC_NARCHFILES),) + +ifeq (,) +kernel-fs-cdfs_MOBJC_SRCWILDCARD := % +else +kernel-fs-cdfs_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-cdfs_OBJDIR),) + kernel-fs-cdfs_MOBJC_TARGETS := $(addsuffix .o,$(kernel-fs-cdfs_OBJC_NARCHFILES)) + kernel-fs-cdfs_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-fs-cdfs_OBJC_NARCHFILES)) + kernel-fs-cdfs_MOBJC_WILDCARD := % +else + kernel-fs-cdfs_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(kernel-fs-cdfs_OBJC_NARCHFILES))) + kernel-fs-cdfs_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(kernel-fs-cdfs_OBJC_NARCHFILES))) + kernel-fs-cdfs_MOBJC_WILDCARD := $(kernel-fs-cdfs_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-fs-cdfs_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-fs-cdfs_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-fs-cdfs_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-cdfs_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-fs-cdfs_MOBJC_DIRS := $(foreach dir, $(kernel-fs-cdfs_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-cdfs_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-fs-cdfs_MOBJC_DIRS),) + kernel-fs-cdfs_MOBJC_DIRS := $(shell echo $(kernel-fs-cdfs_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-fs-cdfs_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-fs-cdfs_CC := $(TARGET_CC) +else + kernel-fs-cdfs_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-fs-cdfs_MOBJC_CPPFLAGS := $(kernel-fs-cdfs_CPPFLAGS) +kernel-fs-cdfs_OBJCFLAGS := $(kernel-fs-cdfs_CFLAGS) +kernel-fs-cdfs_OBJCFLAGS := $(kernel-fs-cdfs_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-fs-cdfs_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-fs-cdfs_OBJCFLAGS))) +ifeq ($(kernel-fs-cdfs_DFLAGS),) + kernel-fs-cdfs_OBJCDFLAGS := $(kernel-fs-cdfs_CFLAGS) +else + kernel-fs-cdfs_OBJCDFLAGS := $(kernel-fs-cdfs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-fs-cdfs_LINK ?= $(strip $(kernel-fs-cdfs_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-fs-cdfs_STRIP ?= $(TARGET_STRIP) + kernel-fs-cdfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-fs-cdfs_CC) $(TARGET_SYSROOT)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_MOBJC_CPPFLAGS:=$(strip $(kernel-fs-cdfs_MOBJC_CPPFLAGS) $(kernel-fs-cdfs_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_OBJCFLAGS:=$(strip $(kernel-fs-cdfs_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_OBJCDFLAGS:=$(kernel-fs-cdfs_OBJCDFLAGS) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-fs-cdfs_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-fs-cdfs_STRIP ?= $(HOST_STRIP) + kernel-fs-cdfs_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-fs-cdfs_MOBJC_CPPFLAGS) $(kernel-fs-cdfs_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_OBJCFLAGS)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_OBJCDFLAGS)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(HOST_IQUOTE) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-fs-cdfs_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-fs-cdfs_STRIP ?= $(ECHO) >/dev/null + kernel-fs-cdfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-fs-cdfs_MOBJC_CPPFLAGS) $(kernel-fs-cdfs_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_OBJCFLAGS)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_OBJCDFLAGS)) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-fs-cdfs_MOBJC_TARGETS) $(kernel-fs-cdfs_MOBJC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-cdfs_MOBJC_TARGETS) : CPPFLAGS := $(kernel-fs-cdfs_MOBJC_CPPFLAGS) +$(kernel-fs-cdfs_MOBJC_TARGETS) : CFLAGS := $(kernel-fs-cdfs_OBJCFLAGS) +$(kernel-fs-cdfs_MOBJC_TARGETS) : $(kernel-fs-cdfs_MOBJC_WILDCARD).o : $(kernel-fs-cdfs_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-cdfs_MOBJC_DTARGETS) : $(kernel-fs-cdfs_MOBJC_WILDCARD).d : $(kernel-fs-cdfs_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-cdfs_OBJCDFLAGS) $(kernel-fs-cdfs_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-fs-cdfs_MC_SRCWILDCARD := % +else +kernel-fs-cdfs_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-cdfs_OBJDIR),) +kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(kernel-fs-cdfs_CCFILES)) +kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-cdfs_CCFILES)) +kernel-fs-cdfs_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(kernel-fs-cdfs_CCFILES)))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(kernel-fs-cdfs_CCFILES)))) +else +ifeq (,) + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(kernel-fs-cdfs_CCFILES))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(kernel-fs-cdfs_CCFILES))) +else + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-cdfs_CCFILES)))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-cdfs_CCFILES)))) +endif +endif +kernel-fs-cdfs_MC_TGTWILDCARD := $(kernel-fs-cdfs_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-cdfs_CCFILES)) + +# Be sure that all .c files are found +kernel-fs-cdfs_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-cdfs_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-cdfs_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-cdfs_MC_DIRS := $(foreach dir, $(kernel-fs-cdfs_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-cdfs_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-cdfs_MC_DIRS),) + kernel-fs-cdfs_MC_DIRS := $(shell echo $(kernel-fs-cdfs_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-cdfs_MC_DIRS) +endif + +endif + +kernel-fs-cdfs_MC_CPPFLAGS := $(kernel-fs-cdfs_CPPFLAGS) +kernel-fs-cdfs_CFLAGS := $(kernel-fs-cdfs_CFLAGS) +ifeq ($(kernel-fs-cdfs_DFLAGS),) + kernel-fs-cdfs_DFLAGS := $(kernel-fs-cdfs_CFLAGS) +else + kernel-fs-cdfs_DFLAGS := $(kernel-fs-cdfs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-cdfs_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(TARGET_STRIP) +kernel-fs-cdfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(kernel-fs-cdfs_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(kernel-fs-cdfs_DFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-cdfs_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(HOST_STRIP) +kernel-fs-cdfs_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_DFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-cdfs_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(ECHO) >/dev/null +kernel-fs-cdfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_DFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-cdfs_MC_TARGETS) : CPPFLAGS := $(kernel-fs-cdfs_MC_CPPFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) : CFLAGS := $(kernel-fs-cdfs_CFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) : $(kernel-fs-cdfs_MC_TGTWILDCARD).o : $(kernel-fs-cdfs_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-cdfs_MC_DTARGETS) : $(kernel-fs-cdfs_MC_TGTWILDCARD).d : $(kernel-fs-cdfs_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-cdfs_DFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-fs-cdfs_MC_SRCWILDCARD := % +else +kernel-fs-cdfs_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-cdfs_OBJDIR),) +kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(kernel-fs-cdfs_TARGETCCFILES)) +kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-cdfs_TARGETCCFILES)) +kernel-fs-cdfs_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(kernel-fs-cdfs_TARGETCCFILES)))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(kernel-fs-cdfs_TARGETCCFILES)))) +else +ifeq (,) + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(kernel-fs-cdfs_TARGETCCFILES))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(kernel-fs-cdfs_TARGETCCFILES))) +else + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-cdfs_TARGETCCFILES)))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-cdfs_TARGETCCFILES)))) +endif +endif +kernel-fs-cdfs_MC_TGTWILDCARD := $(kernel-fs-cdfs_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-cdfs_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-fs-cdfs_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-cdfs_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-cdfs_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-cdfs_MC_DIRS := $(foreach dir, $(kernel-fs-cdfs_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-cdfs_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-cdfs_MC_DIRS),) + kernel-fs-cdfs_MC_DIRS := $(shell echo $(kernel-fs-cdfs_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-cdfs_MC_DIRS) +endif + +endif + +kernel-fs-cdfs_MC_CPPFLAGS := $(kernel-fs-cdfs_CPPFLAGS) -D__AROS__ +kernel-fs-cdfs_CFLAGS := $(kernel-fs-cdfs_CFLAGS) +ifeq ($(kernel-fs-cdfs_DFLAGS),) + kernel-fs-cdfs_DFLAGS := $(kernel-fs-cdfs_CFLAGS) +else + kernel-fs-cdfs_DFLAGS := $(kernel-fs-cdfs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-cdfs_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(TARGET_STRIP) +kernel-fs-cdfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(kernel-fs-cdfs_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(kernel-fs-cdfs_DFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-cdfs_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(HOST_STRIP) +kernel-fs-cdfs_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_DFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-cdfs_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(ECHO) >/dev/null +kernel-fs-cdfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_DFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-cdfs_MC_TARGETS) : CPPFLAGS := $(kernel-fs-cdfs_MC_CPPFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) : CFLAGS := $(kernel-fs-cdfs_CFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) : $(kernel-fs-cdfs_MC_TGTWILDCARD).o : $(kernel-fs-cdfs_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-cdfs_MC_DTARGETS) : $(kernel-fs-cdfs_MC_TGTWILDCARD).d : $(kernel-fs-cdfs_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-cdfs_DFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-fs-cdfs_MC_SRCWILDCARD := % +else +kernel-fs-cdfs_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-cdfs_OBJDIR)/linklib,) +kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(kernel-fs-cdfs_NLIBARCHFILES)) +kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-cdfs_NLIBARCHFILES)) +kernel-fs-cdfs_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(notdir $(kernel-fs-cdfs_NLIBARCHFILES)))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(notdir $(kernel-fs-cdfs_NLIBARCHFILES)))) +else +ifeq (,) + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(kernel-fs-cdfs_NLIBARCHFILES))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(kernel-fs-cdfs_NLIBARCHFILES))) +else + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-fs-cdfs_NLIBARCHFILES)))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-fs-cdfs_NLIBARCHFILES)))) +endif +endif +kernel-fs-cdfs_MC_TGTWILDCARD := $(kernel-fs-cdfs_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-cdfs_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-fs-cdfs_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-cdfs_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-cdfs_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-cdfs_MC_DIRS := $(foreach dir, $(kernel-fs-cdfs_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-cdfs_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-cdfs_MC_DIRS),) + kernel-fs-cdfs_MC_DIRS := $(shell echo $(kernel-fs-cdfs_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-cdfs_MC_DIRS) +endif + +endif + +kernel-fs-cdfs_MC_CPPFLAGS := $(kernel-fs-cdfs_LINKLIBCPPFLAGS) -D__AROS__ +kernel-fs-cdfs_CFLAGS := $(kernel-fs-cdfs_LINKLIBCFLAGS) +ifeq ($(kernel-fs-cdfs_LINKLIBDFLAGS),) + kernel-fs-cdfs_DFLAGS := $(kernel-fs-cdfs_LINKLIBCFLAGS) +else + kernel-fs-cdfs_DFLAGS := $(kernel-fs-cdfs_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-cdfs_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(TARGET_STRIP) +kernel-fs-cdfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(kernel-fs-cdfs_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(kernel-fs-cdfs_DFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-cdfs_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(HOST_STRIP) +kernel-fs-cdfs_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_DFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-cdfs_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(ECHO) >/dev/null +kernel-fs-cdfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_DFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-cdfs_MC_TARGETS) : CPPFLAGS := $(kernel-fs-cdfs_MC_CPPFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) : CFLAGS := $(kernel-fs-cdfs_CFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) : $(kernel-fs-cdfs_MC_TGTWILDCARD).o : $(kernel-fs-cdfs_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-cdfs_MC_DTARGETS) : $(kernel-fs-cdfs_MC_TGTWILDCARD).d : $(kernel-fs-cdfs_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-cdfs_DFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-fs-cdfs_OBJDIR)/linklib,) +kernel-fs-cdfs_MC_SRCWILDCARD := % +else +kernel-fs-cdfs_MC_SRCWILDCARD := $(kernel-fs-cdfs_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-fs-cdfs_OBJDIR)/linklib,) +kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(kernel-fs-cdfs_LINKLIBCCGENFILES)) +kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-cdfs_LINKLIBCCGENFILES)) +kernel-fs-cdfs_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(notdir $(kernel-fs-cdfs_LINKLIBCCGENFILES)))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(notdir $(kernel-fs-cdfs_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-fs-cdfs_OBJDIR)/linklib,) + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(kernel-fs-cdfs_LINKLIBCCGENFILES))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(kernel-fs-cdfs_LINKLIBCCGENFILES))) +else + kernel-fs-cdfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(patsubst $(kernel-fs-cdfs_OBJDIR)/linklib/%,%,$(kernel-fs-cdfs_LINKLIBCCGENFILES)))) + kernel-fs-cdfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(patsubst $(kernel-fs-cdfs_OBJDIR)/linklib/%,%,$(kernel-fs-cdfs_LINKLIBCCGENFILES)))) +endif +endif +kernel-fs-cdfs_MC_TGTWILDCARD := $(kernel-fs-cdfs_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-cdfs_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-fs-cdfs_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-cdfs_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-cdfs_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-cdfs_MC_DIRS := $(foreach dir, $(kernel-fs-cdfs_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-cdfs_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-cdfs_MC_DIRS),) + kernel-fs-cdfs_MC_DIRS := $(shell echo $(kernel-fs-cdfs_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-cdfs_MC_DIRS) +endif + +endif + +kernel-fs-cdfs_MC_CPPFLAGS := $(kernel-fs-cdfs_LINKLIBCPPFLAGS) -D__AROS__ +kernel-fs-cdfs_CFLAGS := $(kernel-fs-cdfs_LINKLIBCFLAGS) +ifeq ($(kernel-fs-cdfs_LINKLIBDFLAGS),) + kernel-fs-cdfs_DFLAGS := $(kernel-fs-cdfs_LINKLIBCFLAGS) +else + kernel-fs-cdfs_DFLAGS := $(kernel-fs-cdfs_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-cdfs_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(TARGET_STRIP) +kernel-fs-cdfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(kernel-fs-cdfs_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(kernel-fs-cdfs_DFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-cdfs_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(HOST_STRIP) +kernel-fs-cdfs_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-cdfs_DFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-cdfs_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-cdfs_STRIP ?= $(ECHO) >/dev/null +kernel-fs-cdfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS) $(kernel-fs-cdfs_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_CFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-cdfs_DFLAGS)) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-cdfs_MC_TARGETS) $(kernel-fs-cdfs_MC_DTARGETS) : kernel-fs-cdfs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-cdfs_MC_TARGETS) : CPPFLAGS := $(kernel-fs-cdfs_MC_CPPFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) : CFLAGS := $(kernel-fs-cdfs_CFLAGS) +$(kernel-fs-cdfs_MC_TARGETS) : $(kernel-fs-cdfs_MC_TGTWILDCARD).o : $(kernel-fs-cdfs_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-cdfs_IQUOTE) $(dir $<) $(kernel-fs-cdfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-cdfs_IQUOTE) . $(kernel-fs-cdfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-cdfs_MC_DTARGETS) : $(kernel-fs-cdfs_MC_TGTWILDCARD).d : $(kernel-fs-cdfs_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-cdfs_DFLAGS) $(kernel-fs-cdfs_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-fs-cdfs_LINKLIBAFILES),) + +ifeq ($(kernel-fs-cdfs_OBJDIR)/linklib,) +kernel-fs-cdfs-MA_TARGETS := $(addsuffix .o,$(kernel-fs-cdfs_LINKLIBAFILES) $(kernel-fs-cdfs_RELLINKLIBAFILES)) +kernel-fs-cdfs-MA_WILDCARD := % +else +kernel-fs-cdfs-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(notdir $(kernel-fs-cdfs_LINKLIBAFILES) $(kernel-fs-cdfs_RELLINKLIBAFILES)))) +kernel-fs-cdfs-MA_WILDCARD := $(kernel-fs-cdfs_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-fs-cdfs-MA_TARGETS) : | $(addsuffix .S,$(kernel-fs-cdfs_LINKLIBAFILES) $(kernel-fs-cdfs_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-fs-cdfs-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-cdfs-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-cdfs_LINKLIBAFILES) $(kernel-fs-cdfs_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-cdfs-MA_DIRS := $(foreach dir, $(kernel-fs-cdfs-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-cdfs-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-cdfs-MA_DIRS),) + kernel-fs-cdfs-MA_DIRS := $(shell echo $(kernel-fs-cdfs-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-fs-cdfs-MA_DIRS) +endif + +endif + +kernel-fs-cdfs-MA_ASSEMBLER ?= $(kernel-fs-cdfs_ASSEMBLER) + +$(kernel-fs-cdfs-MA_TARGETS) : kernel-fs-cdfs-MA_CMD:= $(kernel-fs-cdfs-MA_ASSEMBLER) + +$(kernel-fs-cdfs-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-fs-cdfs-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-fs-cdfs-MA_TARGETS) : $(kernel-fs-cdfs-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-fs-cdfs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-fs-cdfs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-fs-cdfs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-fs-cdfs_SUFFIX := handler +else +kernel-fs-cdfs_SUFFIX := +endif + +ifeq (target,target) +kernel-fs-cdfs_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-fs-cdfs_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-fs-cdfs_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-fs-cdfs_SUFFIX),handler) +kernel-fs-cdfs_MODULE := $(AROSDIR)/$(kernel-fs-cdfs_MODDIR)/$(kernel-fs-cdfs_DEFNAME)-$(kernel-fs-cdfs_SUFFIX) +else +kernel-fs-cdfs_MODULE := $(AROSDIR)/$(kernel-fs-cdfs_MODDIR)/$(kernel-fs-cdfs_DEFNAME).$(kernel-fs-cdfs_SUFFIX) +endif +kernel-fs-cdfs_KOBJ := $(KOBJSDIR)/$(kernel-fs-cdfs_DEFNAME)_$(kernel-fs-cdfs_SUFFIX).o +else +kernel-fs-cdfs_MODULE := +kernel-fs-cdfs_KOBJ := +endif + +kernel-fs-cdfs-quick : kernel-fs-cdfs +kernel-fs-cdfs : $(kernel-fs-cdfs_MODULE) $(kernel-fs-cdfs_LINKLIB) $(kernel-fs-cdfs_RELLINKLIB) +ifeq (M,M) +kernel-fs-cdfs-kobj : $(kernel-fs-cdfs_KOBJ) $(kernel-fs-cdfs_LINKLIB) $(kernel-fs-cdfs_RELLINKLIB) +kernel-fs-cdfs-kobj-quick : $(kernel-fs-cdfs_KOBJ) $(kernel-fs-cdfs_LINKLIB) $(kernel-fs-cdfs_RELLINKLIB) +endif +ifeq (M,M) +kernel-fs-cdfs-linklib : $(kernel-fs-cdfs_LINKLIB) $(kernel-fs-cdfs_RELLINKLIB) +endif + +kernel-fs-cdfs_OBJS := $(addsuffix .o,$(kernel-fs-cdfs_STARTFILES)) $(kernel-fs-cdfs_ARCHOBJS) \ + $(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(kernel-fs-cdfs_C_NARCHFILES:=.o) $(kernel-fs-cdfs_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (handler,handler) +kernel-fs-cdfs_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (cdfs,con) + kernel-fs-cdfs_ERR := $(notdir $(kernel-fs-cdfs_MODULE)).err +else + kernel-fs-cdfs_ERR := cdfs.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-fs-cdfs_DEFNAME)_LDFLAGS) $(kernel-fs-cdfs_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-fs-cdfs_LIBS) $($(kernel-fs-cdfs_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-fs-cdfs_MODULE) : LIB_NAMES := $(kernel-fs-cdfs_LIBS) $($(kernel-fs-cdfs_DEFNAME)_LIBS) +$(kernel-fs-cdfs_MODULE) : OBJS := $(kernel-fs-cdfs_STARTOBJS) $(kernel-fs-cdfs_OBJS) $(USER_OBJS) +$(kernel-fs-cdfs_MODULE) : ENDTAG := $(kernel-fs-cdfs_ENDOBJS) +$(kernel-fs-cdfs_MODULE) : ERR := $(kernel-fs-cdfs_ERR) +$(kernel-fs-cdfs_MODULE) : OBJDIR := $(kernel-fs-cdfs_OBJDIR) +$(kernel-fs-cdfs_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-fs-cdfs_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-fs-cdfs_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-fs-cdfs_MODULE) : $(kernel-fs-cdfs_STARTOBJS) $(kernel-fs-cdfs_OBJS) $(USER_OBJS) $(kernel-fs-cdfs_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-fs-cdfs_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-fs-cdfs_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-fs-cdfs_LC_LINKLIBNAME := $(shell echo $(kernel-fs-cdfs_LINKLIBNAME) | tr A-Z a-z) +kernel-fs-cdfs_LC_MODNAME := $(shell echo cdfs | tr A-Z a-z) +ifneq ($(kernel-fs-cdfs_LINKLIB),) + +ifeq (target,target) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(HOST_AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(KERNEL_AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)$(kernel-fs-cdfs_LIBSUFFIX).a : $(kernel-fs-cdfs_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-cdfs_AR) $@ $^ + $(Q)$(kernel-fs-cdfs_RANLIB) $@ +ifneq ($(kernel-fs-cdfs_LC_MODNAME),$(kernel-fs-cdfs_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-fs-cdfs_LIBDIR)/libcdfs$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(AR) +$(kernel-fs-cdfs_LIBDIR)/libcdfs$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-cdfs_LIBDIR)/libcdfs$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(HOST_AR) +$(kernel-fs-cdfs_LIBDIR)/libcdfs$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-cdfs_LIBDIR)/libcdfs$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(KERNEL_AR) +$(kernel-fs-cdfs_LIBDIR)/libcdfs$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-cdfs_LIBDIR)/libcdfs$(kernel-fs-cdfs_LIBSUFFIX).a : $(kernel-fs-cdfs_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-cdfs_AR) $@ $^ + $(Q)$(kernel-fs-cdfs_RANLIB) $@ +endif + + +ifneq ($(kernel-fs-cdfs_LINKLIB),) +$(kernel-fs-cdfs_LINKLIB) : | $(kernel-fs-cdfs_LIBDIR) +else +$(kernel-fs-cdfs_LINKLIB) :: $(kernel-fs-cdfs_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-cdfs_LIBDIR) + +endif + +ifneq ($(kernel-fs-cdfs_RELLINKLIB),) + +ifeq (target,target) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(HOST_AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(KERNEL_AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_LINKLIBNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : $(kernel-fs-cdfs_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-cdfs_AR) $@ $^ + $(Q)$(kernel-fs-cdfs_RANLIB) $@ +ifneq ($(kernel-fs-cdfs_LC_MODNAME),$(kernel-fs-cdfs_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_DEFNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_DEFNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_DEFNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(HOST_AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_DEFNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_DEFNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_AR:=$(KERNEL_AR) +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_DEFNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : kernel-fs-cdfs_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-cdfs_LIBDIR)/lib$(kernel-fs-cdfs_DEFNAME)_rel$(kernel-fs-cdfs_LIBSUFFIX).a : $(kernel-fs-cdfs_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-cdfs_AR) $@ $^ + $(Q)$(kernel-fs-cdfs_RANLIB) $@ +endif + + +ifneq ($(kernel-fs-cdfs_RELLINKLIB),) +$(kernel-fs-cdfs_RELLINKLIB) : | $(kernel-fs-cdfs_LIBDIR) +else +$(kernel-fs-cdfs_RELLINKLIB) :: $(kernel-fs-cdfs_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-cdfs_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-fs-cdfs_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-fs-cdfs_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-fs-cdfs_SYMBOLS := $(kernel-fs-cdfs_KBASE) + +kernel-fs-cdfs_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-fs-cdfs_KOBJ_LIBS := $(filter-out $(kernel-fs-cdfs_KLIB),$(kernel-fs-cdfs_LIBS)) $(kernel-fs-cdfs_KAUTOLIB) +$(kernel-fs-cdfs_KOBJ) : LINKLIBS:=$(kernel-fs-cdfs_KOBJ_LIBS) $($(kernel-fs-cdfs_DEFNAME)_LIBS) +$(kernel-fs-cdfs_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-fs-cdfs_SYMBOLS)) +$(kernel-fs-cdfs_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-fs-cdfs_KOBJ) : $(kernel-fs-cdfs_OBJS) $(USER_OBJS) $(kernel-fs-cdfs_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-fs-cdfs_DEPS := $(addprefix $(kernel-fs-cdfs_OBJDIR)/,$(notdir $(kernel-fs-cdfs_CCFILES:=.d) $(kernel-fs-cdfs_TARGETCCFILES:=.d) $(kernel-fs-cdfs_CXXFILES:=.d))) $(addprefix $(kernel-fs-cdfs_OBJDIR)/linklib/,$(notdir $(kernel-fs-cdfs_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-fs-cdfs_DEPS),) + ifneq (kernel-fs-cdfs kernel-fs-cdfs-quick kernel-fs-cdfs-kobj kernel-fs-cdfs-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-fs-cdfs kernel-fs-cdfs-quick kernel-fs-cdfs-kobj kernel-fs-cdfs-kobj-quick),) + -include $(kernel-fs-cdfs_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-fs-cdfs_DEPS) + endif + endif +endif + +$(kernel-fs-cdfs_OBJS) $(kernel-fs-cdfs_DEPS) : | $(kernel-fs-cdfs_OBJDIR)/linklib + +ifneq ($(kernel-fs-cdfs_OBJS) $(kernel-fs-cdfs_DEPS) $(kernel-fs-cdfs_MODULE) $(kernel-fs-cdfs_KOBJ),) +$(kernel-fs-cdfs_OBJS) $(kernel-fs-cdfs_DEPS) $(kernel-fs-cdfs_MODULE) $(kernel-fs-cdfs_KOBJ) : | $(kernel-fs-cdfs_OBJDIR) $(AROSDIR)/$(kernel-fs-cdfs_MODDIR) $(KOBJSDIR) +else +$(kernel-fs-cdfs_OBJS) $(kernel-fs-cdfs_DEPS) $(kernel-fs-cdfs_MODULE) $(kernel-fs-cdfs_KOBJ) :: $(kernel-fs-cdfs_OBJDIR) $(AROSDIR)/$(kernel-fs-cdfs_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-cdfs_OBJDIR) $(AROSDIR)/$(kernel-fs-cdfs_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-fs-cdfs kernel-fs-cdfs-includes kernel-fs-cdfs-quick kernel-fs-cdfs-kobj kernel-fs-cdfs-kobj-quick),) # Only for this target these deps are wanted + +kernel-fs-cdfs_DFILE_DEPS := $(kernel-fs-cdfs_LIBDEFSINC) $(kernel-fs-cdfs_DEFLIBDEFSINC) \ + $(addprefix $(kernel-fs-cdfs_INCDIR)/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) +$(kernel-fs-cdfs_DEPS) : $(kernel-fs-cdfs_DFILE_DEPS) +endif + +kernel-fs-cdfs_TOCLEAN := $(kernel-fs-cdfs_OBJS) $(kernel-fs-cdfs_DEPS) \ + $(kernel-fs-cdfs_MODULE) $(kernel-fs-cdfs_LINKLIB) $(kernel-fs-cdfs_KOBJ) \ + $(kernel-fs-cdfs_OBJDIR)/Makefile.cdfshandler \ + $(addprefix $(kernel-fs-cdfs_OBJDIR)/include/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-fs-cdfs_INCDIR)/,$($(kernel-fs-cdfs_DEFNAME)_INCLUDES)) \ + $(kernel-fs-cdfs_OBJDIR)/cdfs_geninc $(kernel-fs-cdfs_OBJDIR)/cdfs_incs \ + $(addsuffix .c,$(kernel-fs-cdfs_LINKLIBFILES)) $(kernel-fs-cdfs_LINKLIBOBJS) $(kernel-fs-cdfs_LIBDEFSINC) \ + $(kernel-fs-cdfs_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-fs-cdfs_STARTFILES) $(kernel-fs-cdfs_ENDFILES)) \ + $(kernel-fs-cdfs_ENDOBJS) +kernel-fs-cdfs-clean : FILES := $(kernel-fs-cdfs_TOCLEAN) +kernel-fs-cdfs-clean :: + $(Q)$(ECHO) "Cleaning up for module cdfs" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-fs-cdfs_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/filesys/fat/mmakefile b/rom/filesys/fat/mmakefile new file mode 100644 index 00000000000..fb80e666298 --- /dev/null +++ b/rom/filesys/fat/mmakefile @@ -0,0 +1,1666 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -D__NOLIBBASE__ + +USER_LDFLAGS := -static + +FILES := cache direntry date disk fat file lock main names notify ops packet\ + support timer volume + +#MM- kernel-fs-fat : includes linklibs + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-fs-fat +#MM kernel-fs-fat-quick +#MM kernel-fs-fat-makefile +#MM kernel-fs-fat-clean + +# ABI targets: +#MM- includes-all : kernel-fs-fat-includes +#MM- linklibs-fat: kernel-fs-fat-linklib +#MM- linklibs-fat_rel : kernel-fs-fat-linklib +#MM- includes-fat: kernel-fs-fat-includes +#MM- includes-fat_rel : kernel-fs-fat-includes +#MM- kernel-fs-fat : kernel-fs-fat-includes core-linklibs linklibs- +#MM kernel-fs-fat-linklib : kernel-fs-fat-includes includes- +#MM- kernel-fs-fat-quick : kernel-fs-fat-includes-quick +#MM kernel-fs-fat-includes : kernel-fs-fat-makefile kernel-fs-fat-includes-dirs \ +#MM includes-generate-deps kernel-fs-fat-fd +#MM kernel-fs-fat-includes-quick +#MM kernel-fs-fat-includes-dirs +#MM kernel-fs-fat-fd + +# Library targets +#MM kernel-fs-fat-kobj : core-linklibs linklibs- +#MM kernel-fs-fat-kobj-quick : + +# Library with ABI targets: +#MM kernel-fs-fat-kobj : kernel-fs-fat-includes core-linklibs linklibs- +#MM kernel-fs-fat-kobj-quick : kernel-fs-fat-includes-quick + +# All MetaMake targets defined by this macro +kernel-fs-fat_ALLTARGETS := kernel-fs-fat kernel-fs-fat-quick kernel-fs-fat-clean + +ifeq (M,M) +kernel-fs-fat_ALLTARGETS += kernel-fs-fat-kobj kernel-fs-fat-kobj-quick +endif + +ifeq (M,M) +kernel-fs-fat_ALLTARGETS += kernel-fs-fat-includes \ + kernel-fs-fat-includes-quick kernel-fs-fat-includes-dirs \ + kernel-fs-fat-linklib kernel-fs-fat-fd +endif + +.PHONY : $(kernel-fs-fat_ALLTARGETS) kernel-fs-fat-makefile + +ifeq (fat,) +$(error using %build_module: modname may not be empty) +endif +ifeq (handler,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-fs-fat_DEFNAME := fat_ +else + kernel-fs-fat_DEFNAME := fat +endif +kernel-fs-fat_DEFLINKLIBNAME := $(kernel-fs-fat_DEFNAME) +ifneq (,) + kernel-fs-fat_LINKLIBNAME := +else + kernel-fs-fat_LINKLIBNAME = $(kernel-fs-fat_DEFLINKLIBNAME) +endif +kernel-fs-fat_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-fs-fat_DEFCPPFLAGS += -I +endif +kernel-fs-fat_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-fs-fat_DFLAGS := +else + kernel-fs-fat_DFLAGS = $(kernel-fs-fat_DEFDFLAGS) +endif +kernel-fs-fat_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-fs-fat_DXXFLAGS := +else + kernel-fs-fat_DXXFLAGS = $(kernel-fs-fat_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-fs-fat_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-fs-fat_DEFDFLAGS)) +kernel-fs-fat_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-fs-fat_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-fs-fat_FUNCINSTR := yes +kernel-fs-fat_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-fs-fat_DEFDFLAGS)) +kernel-fs-fat_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-fs-fat_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-fs-fat_OBJDIR := +else +kernel-fs-fat_OBJDIR := $(OBJDIR)/$(kernel-fs-fat_DEFNAME) +endif +ifneq (,) +kernel-fs-fat_OBJDIR := $(kernel-fs-fat_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-fs-fat-makefile := $(kernel-fs-fat_OBJDIR)/Makefile.$(kernel-fs-fat_DEFNAME)handler +kernel-fs-fat-genmakefile : $(kernel-fs-fat-makefile) + + +kernel-fs-fat-genmakefile_OPTS := +ifneq (,) + kernel-fs-fat-genmakefile_OPTS += -f + kernel-fs-fat-genmakefile_MODNAME := fat_ +else + kernel-fs-fat-genmakefile_MODNAME := fat +endif +kernel-fs-fat-genmakefile_TARGET := Makefile.$(kernel-fs-fat-genmakefile_MODNAME)handler +kernel-fs-fat-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-fat-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-fat-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-fat-genmakefile_OPTS += -c + kernel-fs-fat-genmakefile_DEPS += + endif +else + kernel-fs-fat-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/fat.conf + kernel-fs-fat-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/fat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-fat-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-fat-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-fat-genmakefile_OPTS += -o + kernel-fs-fat-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-fs-fat-genmakefile_OPTS += -s +endif +ifneq ($(kernel-fs-fat_OBJDIR),) + kernel-fs-fat-genmakefile_OPTS += -d $(kernel-fs-fat_OBJDIR) + kernel-fs-fat-genmakefile_TARGET := $(kernel-fs-fat_OBJDIR)/$(kernel-fs-fat-genmakefile_TARGET) +endif + +$(kernel-fs-fat-genmakefile_TARGET) : OPTS := $(kernel-fs-fat-genmakefile_OPTS) +$(kernel-fs-fat-genmakefile_TARGET) : MODNAME := fat +$(kernel-fs-fat-genmakefile_TARGET) : MODTYPE := handler +$(kernel-fs-fat-genmakefile_TARGET) : $(kernel-fs-fat-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-fs-fat-makefile),) +$(kernel-fs-fat-makefile) : | $(kernel-fs-fat_OBJDIR) +else +$(kernel-fs-fat-makefile) :: $(kernel-fs-fat_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-fat_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-fs-fat_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-fs-fat-makefile) + +kernel-fs-fat_DEFMODDIR := $($(kernel-fs-fat_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-fs-fat_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-fs-fat_DEFMODDIR) +endif +ifneq (,) + kernel-fs-fat_MODDIR := +else + kernel-fs-fat_MODDIR := $(kernel-fs-fat_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-fs-fat_INCDIR := +else +kernel-fs-fat_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-fs-fat_LIBDEFSINC := $(kernel-fs-fat_OBJDIR)/include/$(kernel-fs-fat_DEFNAME)_libdefs.h +kernel-fs-fat_DEFLIBDEFSINC := $(kernel-fs-fat_OBJDIR)/include/$(kernel-fs-fat_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-fs-fat-includes-quick : kernel-fs-fat-includes +kernel-fs-fat-includes : $(addprefix $(GENINCDIR)/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-fs-fat_INCDIR)/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) \ + $(kernel-fs-fat_LIBDEFSINC) $(kernel-fs-fat_DEFLIBDEFSINC) + +ifneq ($($(kernel-fs-fat_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-fs-fat-includes_MODNAME := fat_ +else + kernel-fs-fat-includes_MODNAME := fat +endif + +ifneq ($($(kernel-fs-fat-includes_MODNAME)_INCLUDES),) + +kernel-fs-fat-includes_TARGETS := $($(kernel-fs-fat-includes_MODNAME)_INCLUDES) + +kernel-fs-fat-includes_DEPS := $(GENMODULE) +kernel-fs-fat-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-fat-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-fat-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-fat-includes_OPTS += -c + kernel-fs-fat-includes_DEPS += + endif +else + kernel-fs-fat-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/fat.conf + kernel-fs-fat-includes_DEPS += $(SRCDIR)/$(CURDIR)/fat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-fat-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-fat-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-fat-includes_OPTS += -o + kernel-fs-fat-includes_DEPS += + endif +endif +ifneq (,) + kernel-fs-fat-includes_OPTS += -s +endif +ifneq ($(kernel-fs-fat_OBJDIR)/include,) + kernel-fs-fat-includes_OPTS += -d $(kernel-fs-fat_OBJDIR)/include + kernel-fs-fat-includes_TARGETS := $(addprefix $(kernel-fs-fat_OBJDIR)/include/,$(kernel-fs-fat-includes_TARGETS)) + kernel-fs-fat-includes_GENINCFLAG=$(kernel-fs-fat_OBJDIR)/include/.fat.handler-includes +else + kernel-fs-fat-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.fat.handler-includes +endif + +$(kernel-fs-fat-includes_TARGETS) : $(kernel-fs-fat-includes_DEPS) $(kernel-fs-fat-includes_GENINCFLAG) + +$(kernel-fs-fat-includes_GENINCFLAG) : OPTS := $(kernel-fs-fat-includes_OPTS) +$(kernel-fs-fat-includes_GENINCFLAG) : MODNAME := fat +$(kernel-fs-fat-includes_GENINCFLAG) : MODTYPE := handler +$(kernel-fs-fat-includes_GENINCFLAG) : $(kernel-fs-fat-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-fs-fat_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) : | $(kernel-fs-fat_OBJDIR)/fat_geninc + +$(kernel-fs-fat_OBJDIR)/fat_geninc : COPYSRCDIR := $(kernel-fs-fat_OBJDIR)/include +$(kernel-fs-fat_OBJDIR)/fat_geninc : TGTDIR := $(GENINCDIR) +$(kernel-fs-fat_OBJDIR)/fat_geninc : FILES := $($(kernel-fs-fat_DEFNAME)_INCLUDES) +$(kernel-fs-fat_OBJDIR)/fat_geninc : $(addprefix $(kernel-fs-fat_OBJDIR)/include/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-fs-fat_OBJDIR)/include + +$(addprefix $(kernel-fs-fat_INCDIR)/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) : | $(kernel-fs-fat_OBJDIR)/fat_incs + +$(kernel-fs-fat_OBJDIR)/fat_incs : COPYSRCDIR := $(kernel-fs-fat_OBJDIR)/include +$(kernel-fs-fat_OBJDIR)/fat_incs : TGTDIR := $(kernel-fs-fat_INCDIR) +$(kernel-fs-fat_OBJDIR)/fat_incs : FILES := $($(kernel-fs-fat_DEFNAME)_INCLUDES) +$(kernel-fs-fat_OBJDIR)/fat_incs : $(addprefix $(kernel-fs-fat_OBJDIR)/include/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-fs-fat_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-fs-fat_DEFNAME)_INCLUDES)))) + +TMPfat_INCDIRS := \ + $(kernel-fs-fat_OBJDIR)/include $(addprefix $(kernel-fs-fat_OBJDIR)/include/,$(kernel-fs-fat_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-fs-fat_INCDIRS)) \ + $(kernel-fs-fat_INCDIR) $(addprefix $(kernel-fs-fat_INCDIR)/,$(kernel-fs-fat_INCDIRS)) + +ifneq (kernel-fs-fat-includes-dirs,) +kernel-fs-fat-includes-dirs : | $(TMPfat_INCDIRS) +else +kernel-fs-fat-includes-dirs :: $(TMPfat_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPfat_INCDIRS) + + +endif + +endif + + +kernel-fs-fat-genlibdefs_OPTS := +ifneq (,) + kernel-fs-fat-genlibdefs_OPTS += -f + kernel-fs-fat-genlibdefs_MODNAME := fat_ +else + kernel-fs-fat-genlibdefs_MODNAME := fat +endif +kernel-fs-fat-genlibdefs_TARGET := $(kernel-fs-fat-genlibdefs_MODNAME)_libdefs.h +kernel-fs-fat-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-fat-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-fat-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-fat-genlibdefs_OPTS += -c + kernel-fs-fat-genlibdefs_DEPS += + endif +else + kernel-fs-fat-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/fat.conf + kernel-fs-fat-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/fat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-fat-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-fat-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-fat-genlibdefs_OPTS += -o + kernel-fs-fat-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-fs-fat-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-fs-fat_OBJDIR)/include,) + kernel-fs-fat-genlibdefs_OPTS += -d $(kernel-fs-fat_OBJDIR)/include + kernel-fs-fat-genlibdefs_TARGET := $(kernel-fs-fat_OBJDIR)/include/$(kernel-fs-fat-genlibdefs_TARGET) +endif +ifneq (,) + kernel-fs-fat-genlibdefs_OPTS += -v +endif + +$(kernel-fs-fat-genlibdefs_TARGET) : OPTS := $(kernel-fs-fat-genlibdefs_OPTS) +$(kernel-fs-fat-genlibdefs_TARGET) : MODNAME := fat +$(kernel-fs-fat-genlibdefs_TARGET) : MODTYPE := handler +$(kernel-fs-fat-genlibdefs_TARGET) : $(kernel-fs-fat-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-fs-fat_DEFLIBDEFSINC) : FILENAME := $(kernel-fs-fat_LIBDEFSINC) +$(kernel-fs-fat_DEFLIBDEFSINC) : $(kernel-fs-fat_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-fs-fat_LIBDEFSINC) $(kernel-fs-fat_DEFLIBDEFSINC) : | $(kernel-fs-fat_OBJDIR)/include + +ifneq (kernel-fs-fat-includes-dirs,) +kernel-fs-fat-includes-dirs : | $(kernel-fs-fat_OBJDIR)/include +else +kernel-fs-fat-includes-dirs :: $(kernel-fs-fat_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-fs-fat_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-fs-fat-genmodfiles_OPTS := +ifneq (,) + kernel-fs-fat-genmodfiles_OPTS += -f + kernel-fs-fat-genmodfiles_MODNAME := fat_ +else + kernel-fs-fat-genmodfiles_MODNAME := fat +endif +kernel-fs-fat-genmodfiles_GENTARGETS := $($(kernel-fs-fat-genmodfiles_MODNAME)_STARTFILES) $($(kernel-fs-fat-genmodfiles_MODNAME)_ENDFILES) +kernel-fs-fat-genmodfiles_STUBTARGETS := $($(kernel-fs-fat-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-fs-fat-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-fs-fat-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-fs-fat-genmodfiles_GENTARGETS)) +kernel-fs-fat-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-fs-fat-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-fs-fat-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-fs-fat-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-fs-fat-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-fat-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-fat-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-fat-genmodfiles_OPTS += -c + kernel-fs-fat-genmodfiles_DEPS += + endif +else + kernel-fs-fat-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/fat.conf + kernel-fs-fat-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/fat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-fat-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-fat-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-fat-genmodfiles_OPTS += -o + kernel-fs-fat-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-fs-fat-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-fs-fat_OBJDIR),) + kernel-fs-fat-genmodfiles_OPTS += -d $(kernel-fs-fat_OBJDIR) + kernel-fs-fat-genmodfiles_TARGETDIR := $(shell echo $(kernel-fs-fat_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-fs-fat-genmodfiles_GENTARGETS := $(addprefix $(kernel-fs-fat-genmodfiles_TARGETDIR)/,$(kernel-fs-fat-genmodfiles_GENTARGETS)) + kernel-fs-fat-genmodfiles_GENFILEFLAG=$(kernel-fs-fat-genmodfiles_TARGETDIR)/.fat.handler-genfiles +else + kernel-fs-fat-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.fat.handler-genfiles +endif +ifneq ($(kernel-fs-fat_OBJDIR)/linklib,) + kernel-fs-fat-genmodfiles_OPTS += -l $(kernel-fs-fat_OBJDIR)/linklib + kernel-fs-fat-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-fs-fat_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-fs-fat-genmodfiles_STUBTARGETS := $(addprefix $(kernel-fs-fat-genmodfiles_STUBTARGETDIR)/,$(kernel-fs-fat-genmodfiles_STUBTARGETS)) + kernel-fs-fat-genmodfiles_TARGETDIRS += $(kernel-fs-fat_OBJDIR)/linklib +else +ifneq ($(kernel-fs-fat_OBJDIR),) + kernel-fs-fat-genmodfiles_STUBTARGETS := $(addprefix $(kernel-fs-fat-genmodfiles_TARGETDIR)/,$(kernel-fs-fat-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-fs-fat-genmodfiles_TARGETS := $(kernel-fs-fat-genmodfiles_GENTARGETS) $(kernel-fs-fat-genmodfiles_STUBTARGETS) +ifneq ($(kernel-fs-fat-genmodfiles_TARGETDIRS),) +$(kernel-fs-fat-genmodfiles_TARGETS) : | $(kernel-fs-fat-genmodfiles_TARGETDIRS) +endif + +$(kernel-fs-fat-genmodfiles_TARGETS) : $(kernel-fs-fat-genmodfiles_DEPS) $(kernel-fs-fat-genmodfiles_GENFILEFLAG) + +$(kernel-fs-fat-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-fs-fat-genmodfiles_OPTS) +$(kernel-fs-fat-genmodfiles_GENFILEFLAG) : MODNAME := fat +$(kernel-fs-fat-genmodfiles_GENFILEFLAG) : MODTYPE := handler +$(kernel-fs-fat-genmodfiles_GENFILEFLAG) : $(kernel-fs-fat-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-fs-fat-genmodfiles_GENFILEFLAG) : $(kernel-fs-fat_DEFLIBDEFSINC) $(kernel-fs-fat-makefile) + + +ifneq ($(kernel-fs-fat-genmodfiles_GENFILEFLAG),) +$(kernel-fs-fat-genmodfiles_GENFILEFLAG) : | $(kernel-fs-fat_OBJDIR)/linklib +else +$(kernel-fs-fat-genmodfiles_GENFILEFLAG) :: $(kernel-fs-fat_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-fs-fat_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-fs-fat_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-fs-fat_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-fs-fat-fd : $(kernel-fs-fat_FDDIR)/fat_lib.fd + + +TMP_TARGET := fat_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/fat.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/fat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-fs-fat_FDDIR),) + TMP_OPTS += -d $(kernel-fs-fat_FDDIR) + TMP_TARGET := $(kernel-fs-fat_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := fat +$(TMP_TARGET) : MODTYPE := handler +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-fs-fat_FDDIR)/fat_lib.fd : | $(kernel-fs-fat_FDDIR) + + +ifneq (kernel-fs-fat-fd-setup,) +kernel-fs-fat-fd-setup : | $(kernel-fs-fat_FDDIR) +else +kernel-fs-fat-fd-setup :: $(kernel-fs-fat_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-fat_FDDIR) + +endif + +## Compilation +## +kernel-fs-fat_FILES := $(FILES) +kernel-fs-fat_OBJCFILES := +kernel-fs-fat_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-fs-fat_LIBFILES := +kernel-fs-fat_LIBS := + +kernel-fs-fat_FDIRS := $(sort $(dir $(kernel-fs-fat_FILES))) + +kernel-fs-fat_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-fs-fat_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-fs-fat_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-fs-fat_FILTERARCH = $(filter-out $(call kernel-fs-fat_MATCHARCH,$(1),$(2)),$(2)) +kernel-fs-fat_STARTFILES := $(addprefix $(kernel-fs-fat_OBJDIR)/,$($(kernel-fs-fat_DEFNAME)_STARTFILES)) +kernel-fs-fat_ENDFILES := $(addprefix $(kernel-fs-fat_OBJDIR)/,$($(kernel-fs-fat_DEFNAME)_ENDFILES)) + +kernel-fs-fat_ARCHOBJS := $(wildcard $(kernel-fs-fat_OBJDIR)/arch/*.o) +kernel-fs-fat_LIBARCHOBJS := $(wildcard $(kernel-fs-fat_OBJDIR)/linklib/arch/*.o) +kernel-fs-fat_ARCHFILES := $(basename $(notdir $(kernel-fs-fat_ARCHOBJS))) +kernel-fs-fat_LIBARCHFILES := $(basename $(notdir $(kernel-fs-fat_LIBARCHOBJS))) +kernel-fs-fat_C_NARCHFILES := $(call kernel-fs-fat_FILTERARCH,$(kernel-fs-fat_ARCHFILES),$(kernel-fs-fat_FILES)) +kernel-fs-fat_CXX_NARCHFILES := $(call kernel-fs-fat_FILTERARCH,$(kernel-fs-fat_ARCHFILES),$(kernel-fs-fat_CXXFILES)) +kernel-fs-fat_OBJC_NARCHFILES := $(call kernel-fs-fat_FILTERARCH,$(kernel-fs-fat_ARCHFILES),$(kernel-fs-fat_OBJCFILES)) +kernel-fs-fat_NLIBARCHFILES := $(call kernel-fs-fat_FILTERARCH,$(kernel-fs-fat_LIBARCHFILES),$(kernel-fs-fat_LIBFILES)) +kernel-fs-fat_ARCHNLIBFILES := $(call kernel-fs-fat_FILTERARCH,$(kernel-fs-fat_LIBFILES),$(kernel-fs-fat_LIBARCHFILES)) + +kernel-fs-fat_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-fs-fat_OBJDIR)/include -include $(kernel-fs-fat_DEFLIBDEFSINC)) +ifneq (,) +kernel-fs-fat_CPPFLAGS += -I +endif +kernel-fs-fat_LINKLIBCPPFLAGS := $(kernel-fs-fat_CPPFLAGS) +kernel-fs-fat_CPPFLAGS += $(strip $($(kernel-fs-fat_DEFNAME)_CPPFLAGS)) +kernel-fs-fat_LINKLIBCPPFLAGS += $(strip $($(kernel-fs-fat_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-fs-fat_CFLAGS := $(strip $(CFLAGS) $($(kernel-fs-fat_DEFNAME)_CFLAGS)) +kernel-fs-fat_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-fs-fat_DEFNAME)_LINKLIBCFLAGS)) +kernel-fs-fat_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-fs-fat_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-fs-fat_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-fs-fat_CFLAGS := $(strip $(kernel-fs-fat_LTOFLAGS) $(kernel-fs-fat_CFLAGS)) +kernel-fs-fat_LINKLIBCFLAGS := $(strip $(kernel-fs-fat_LTOFLAGS) $(kernel-fs-fat_LINKLIBCFLAGS)) +kernel-fs-fat_CXXFLAGS := $(strip $(kernel-fs-fat_LTOFLAGS) $(kernel-fs-fat_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-fs-fat_SUBSTNULL := +kernel-fs-fat_SUBSTSPACE := $(kernel-fs-fat_SUBSTNULL) # +kernel-fs-fat_SUBSTCOMMA := , +kernel-fs-fat_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-fs-fat_SUBSTSPACE),$(kernel-fs-fat_SUBSTCOMMA),$(strip $($(kernel-fs-fat_DEFNAME)_STARTFILES)))) +kernel-fs-fat_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-fs-fat_CFLAGS := $(strip $(kernel-fs-fat_INSTRFUNCFLAGS) $(kernel-fs-fat_CFLAGS)) +kernel-fs-fat_CXXFLAGS := $(strip $(kernel-fs-fat_INSTRFUNCFLAGS) $(kernel-fs-fat_CXXFLAGS)) +kernel-fs-fat_LIBS += $(kernel-fs-fat_INSTRFUNCLIBS) +endif +endif +kernel-fs-fat_DFLAGS := $(strip $(kernel-fs-fat_DFLAGS) $($(kernel-fs-fat_DEFNAME)_DFLAGS)) +kernel-fs-fat_LINKLIBDFLAGS := $(strip $(kernel-fs-fat_DFLAGS) $($(kernel-fs-fat_DEFNAME)_LINKLIBDFLAGS)) +kernel-fs-fat_DXXFLAGS := $(strip $(kernel-fs-fat_DXXFLAGS) $($(kernel-fs-fat_DEFNAME)_DXXFLAGS)) + +ifeq (handler,library) + kernel-fs-fat_LIBSUFFIX := +else + kernel-fs-fat_LIBSUFFIX := .handler +endif + +ifeq (,) +kernel-fs-fat_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-fs-fat_LIBDIR := +endif + +ifeq (M,M) +kernel-fs-fat_LINKLIBCFILES := $(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$($(kernel-fs-fat_DEFNAME)_LINKLIBFILES)) +kernel-fs-fat_LINKLIBAFILES := $(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$($(kernel-fs-fat_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-fs-fat_DEFNAME)_LINKLIBFILES) $($(kernel-fs-fat_DEFNAME)_LINKLIBAFILES) $(kernel-fs-fat_ARCHNLIBFILES)),) + kernel-fs-fat_LINKLIB := +else + kernel-fs-fat_LINKLIB := $(kernel-fs-fat_LIBDIR)/libfat$(kernel-fs-fat_LIBSUFFIX).a + ifneq (fat,$(kernel-fs-fat_LINKLIBNAME)) + kernel-fs-fat_LINKLIB += $(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)$(kernel-fs-fat_LIBSUFFIX).a + endif +endif +kernel-fs-fat_LINKLIBFILES := $(kernel-fs-fat_LINKLIBCFILES) $(kernel-fs-fat_LINKLIBAFILES) + +kernel-fs-fat_RELLINKLIBCFILES := $(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$($(kernel-fs-fat_DEFNAME)_RELLINKLIBFILES)) +kernel-fs-fat_RELLINKLIBAFILES := $(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$($(kernel-fs-fat_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-fs-fat_DEFNAME)_RELLINKLIBFILES) $($(kernel-fs-fat_DEFNAME)_RELLINKLIBAFILES) $(kernel-fs-fat_ARCHNLIBFILES)),) + kernel-fs-fat_RELLINKLIB := +else + kernel-fs-fat_RELLINKLIB := $(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_DEFNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a + ifneq (fat,$(kernel-fs-fat_LINKLIBNAME)) + kernel-fs-fat_RELLINKLIB += $(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a + endif +endif +kernel-fs-fat_RELLINKLIBFILES := $(kernel-fs-fat_RELLINKLIBCFILES) $(kernel-fs-fat_RELLINKLIBAFILES) +endif + +kernel-fs-fat_ENDOBJS := $(addsuffix .o,$(kernel-fs-fat_ENDFILES)) +kernel-fs-fat_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(notdir $(kernel-fs-fat_NLIBARCHFILES))) $(addprefix $(kernel-fs-fat_OBJDIR)/linklib/arch/,$(notdir $(kernel-fs-fat_ARCHNLIBFILES))) $(kernel-fs-fat_LINKLIBFILES)) \ + +kernel-fs-fat_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(notdir $(kernel-fs-fat_NLIBARCHFILES))) $(addprefix $(kernel-fs-fat_OBJDIR)/linklib/arch/,$(notdir $(kernel-fs-fat_ARCHNLIBFILES))) $(kernel-fs-fat_RELLINKLIBFILES)) \ + +$(kernel-fs-fat_LINKLIBFILES) $(kernel-fs-fat_RELLINKLIBFILES) : | $(kernel-fs-fat_OBJDIR)/linklib +$(kernel-fs-fat_LINKLIBOBJS) $(kernel-fs-fat_RELLINKLIBOBJS) : | $(kernel-fs-fat_OBJDIR)/linklib + +kernel-fs-fat_CCFILES := $(kernel-fs-fat_C_NARCHFILES) +kernel-fs-fat_TARGETCCFILES := $(strip $(kernel-fs-fat_STARTFILES) $(kernel-fs-fat_ENDFILES)) +kernel-fs-fat_LINKLIBCCFILES := $(strip $(kernel-fs-fat_NLIBARCHFILES) $(kernel-fs-fat_LINKLIBCFILES) $(kernel-fs-fat_RELLINKLIBCFILES)) +kernel-fs-fat_LINKLIBCCGENFILES := $(strip $(kernel-fs-fat_LINKLIBCFILES) $(kernel-fs-fat_RELLINKLIBCFILES)) + + +kernel-fs-fat_CXXABSBASENAMES := $(foreach kernel-fs-fat_CXXBASE,$(kernel-fs-fat_CXX_NARCHFILES),$(if $(filter /%,$(kernel-fs-fat_CXXBASE)),$(kernel-fs-fat_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-fs-fat_CXXBASE)))) + +ifneq ($(kernel-fs-fat_CXXABSBASENAMES),) + +kernel-fs-fat_CXXBASENAMES := $(basename $(kernel-fs-fat_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-fs-fat_MCXX_FILES := $(strip $(foreach kernel-fs-fat_CXXBASE,$(kernel-fs-fat_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-fs-fat_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-fs-fat_EXT),$(kernel-fs-fat_CXXBASE))))))) + +ifeq (,) +kernel-fs-fat_MCXX_SRCWILDCARD := % +else +kernel-fs-fat_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-fat_OBJDIR),) + kernel-fs-fat_CXXTARGETS := $(notdir $(kernel-fs-fat_CXXBASENAMES:=.o)) + kernel-fs-fat_CXXDTARGETS := $(notdir $(kernel-fs-fat_CXXBASENAMES:=.d)) + kernel-fs-fat_MCXX_WILDCARD := % +else + kernel-fs-fat_CXXTARGETS := $(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(kernel-fs-fat_CXXBASENAMES:=.o))) + kernel-fs-fat_CXXDTARGETS := $(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(kernel-fs-fat_CXXBASENAMES:=.d))) + kernel-fs-fat_MCXX_WILDCARD := $(kernel-fs-fat_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-fs-fat_CXXTARGETS) $(kernel-fs-fat_CXXDTARGETS) : | $(kernel-fs-fat_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-fs-fat_MCXX_CPPFLAGS := $(kernel-fs-fat_CPPFLAGS) +kernel-fs-fat_CXXFLAGS := $(kernel-fs-fat_CXXFLAGS) +ifeq ($(kernel-fs-fat_DXXFLAGS),) + kernel-fs-fat_DXXFLAGS := $(kernel-fs-fat_CXXFLAGS) +else + kernel-fs-fat_DXXFLAGS := $(kernel-fs-fat_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-fs-fat_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-fs-fat_STRIP ?= $(HOST_STRIP) + kernel-fs-fat_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-fs-fat_CXXCMD:=$(HOST_CXX) + kernel-fs-fat_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-fs-fat_MCXX_CPPFLAGS) $(kernel-fs-fat_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-fat_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-fs-fat_CXXFLAGS)) + kernel-fs-fat_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-fs-fat_DXXFLAGS)) + kernel-fs-fat_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-fs-fat_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-fs-fat_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-fs-fat_STRIP ?= $(TARGET_STRIP) + kernel-fs-fat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-fs-fat_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-fs-fat_MCXX_CPPFLAGS := $(strip $(kernel-fs-fat_MCXX_CPPFLAGS) $(kernel-fs-fat_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-fat_CXXFLAGS := $(strip $(kernel-fs-fat_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-fs-fat_DXXFLAGS := $(kernel-fs-fat_DXXFLAGS) + kernel-fs-fat_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-fs-fat_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-fs-fat_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-fs-fat_STRIP ?= $(ECHO) >/dev/null + kernel-fs-fat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-fs-fat_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-fs-fat_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-fs-fat_MCXX_CPPFLAGS) $(kernel-fs-fat_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-fat_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-fs-fat_CXXFLAGS)) + kernel-fs-fat_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-fs-fat_DXXFLAGS)) + kernel-fs-fat_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-fs-fat_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-fs-fat_CXXCMD) $(kernel-fs-fat_CXXIQUOTE) $(dir $(2)) $(kernel-fs-fat_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_CXXIQUOTE) . $(kernel-fs-fat_CXXIQUOTE_END) $(strip $(kernel-fs-fat_CXXFLAGS) $(kernel-fs-fat_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-fs-fat_CXXCMD) $(kernel-fs-fat_CXXIQUOTE) $(dir $(2)) $(kernel-fs-fat_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_CXXIQUOTE) . $(kernel-fs-fat_CXXIQUOTE_END) $(strip $(kernel-fs-fat_CXXFLAGS) $(kernel-fs-fat_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-fs-fat_CXXCMD) $(kernel-fs-fat_CXXIQUOTE) $(dir $(2)) $(kernel-fs-fat_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_CXXIQUOTE) . $(kernel-fs-fat_CXXIQUOTE_END) $(strip $(kernel-fs-fat_CXXFLAGS) $(kernel-fs-fat_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-fs-fat_CXXCMD)" $(MKDEPEND) $(strip $(kernel-fs-fat_DXXFLAGS) $(kernel-fs-fat_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-fs-fat_OBJDIR),) + $(foreach kernel-fs-fat_CXXFILE,$(kernel-fs-fat_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-fs-fat_CXXFILE))),$(kernel-fs-fat_CXXFILE)))) +else + $(foreach kernel-fs-fat_CXXFILE,$(kernel-fs-fat_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(basename $(kernel-fs-fat_CXXFILE)))),$(kernel-fs-fat_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-fs-fat_OBJC_NARCHFILES),) + +ifeq (,) +kernel-fs-fat_MOBJC_SRCWILDCARD := % +else +kernel-fs-fat_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-fat_OBJDIR),) + kernel-fs-fat_MOBJC_TARGETS := $(addsuffix .o,$(kernel-fs-fat_OBJC_NARCHFILES)) + kernel-fs-fat_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-fs-fat_OBJC_NARCHFILES)) + kernel-fs-fat_MOBJC_WILDCARD := % +else + kernel-fs-fat_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(kernel-fs-fat_OBJC_NARCHFILES))) + kernel-fs-fat_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(kernel-fs-fat_OBJC_NARCHFILES))) + kernel-fs-fat_MOBJC_WILDCARD := $(kernel-fs-fat_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-fs-fat_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-fs-fat_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-fs-fat_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-fat_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-fs-fat_MOBJC_DIRS := $(foreach dir, $(kernel-fs-fat_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-fat_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-fs-fat_MOBJC_DIRS),) + kernel-fs-fat_MOBJC_DIRS := $(shell echo $(kernel-fs-fat_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-fs-fat_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-fs-fat_CC := $(TARGET_CC) +else + kernel-fs-fat_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-fs-fat_MOBJC_CPPFLAGS := $(kernel-fs-fat_CPPFLAGS) +kernel-fs-fat_OBJCFLAGS := $(kernel-fs-fat_CFLAGS) +kernel-fs-fat_OBJCFLAGS := $(kernel-fs-fat_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-fs-fat_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-fs-fat_OBJCFLAGS))) +ifeq ($(kernel-fs-fat_DFLAGS),) + kernel-fs-fat_OBJCDFLAGS := $(kernel-fs-fat_CFLAGS) +else + kernel-fs-fat_OBJCDFLAGS := $(kernel-fs-fat_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-fs-fat_LINK ?= $(strip $(kernel-fs-fat_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-fs-fat_STRIP ?= $(TARGET_STRIP) + kernel-fs-fat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-fs-fat_CC) $(TARGET_SYSROOT)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_MOBJC_CPPFLAGS:=$(strip $(kernel-fs-fat_MOBJC_CPPFLAGS) $(kernel-fs-fat_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_OBJCFLAGS:=$(strip $(kernel-fs-fat_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_OBJCDFLAGS:=$(kernel-fs-fat_OBJCDFLAGS) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-fs-fat_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-fs-fat_STRIP ?= $(HOST_STRIP) + kernel-fs-fat_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-fs-fat_MOBJC_CPPFLAGS) $(kernel-fs-fat_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_OBJCFLAGS)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_OBJCDFLAGS)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(HOST_IQUOTE) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-fs-fat_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-fs-fat_STRIP ?= $(ECHO) >/dev/null + kernel-fs-fat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-fs-fat_MOBJC_CPPFLAGS) $(kernel-fs-fat_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_OBJCFLAGS)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_OBJCDFLAGS)) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-fs-fat_MOBJC_TARGETS) $(kernel-fs-fat_MOBJC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-fat_MOBJC_TARGETS) : CPPFLAGS := $(kernel-fs-fat_MOBJC_CPPFLAGS) +$(kernel-fs-fat_MOBJC_TARGETS) : CFLAGS := $(kernel-fs-fat_OBJCFLAGS) +$(kernel-fs-fat_MOBJC_TARGETS) : $(kernel-fs-fat_MOBJC_WILDCARD).o : $(kernel-fs-fat_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-fat_MOBJC_DTARGETS) : $(kernel-fs-fat_MOBJC_WILDCARD).d : $(kernel-fs-fat_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-fat_OBJCDFLAGS) $(kernel-fs-fat_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-fs-fat_MC_SRCWILDCARD := % +else +kernel-fs-fat_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-fat_OBJDIR),) +kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(kernel-fs-fat_CCFILES)) +kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-fat_CCFILES)) +kernel-fs-fat_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(kernel-fs-fat_CCFILES)))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(kernel-fs-fat_CCFILES)))) +else +ifeq (,) + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(kernel-fs-fat_CCFILES))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(kernel-fs-fat_CCFILES))) +else + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-fat_CCFILES)))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-fat_CCFILES)))) +endif +endif +kernel-fs-fat_MC_TGTWILDCARD := $(kernel-fs-fat_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-fat_CCFILES)) + +# Be sure that all .c files are found +kernel-fs-fat_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-fat_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-fat_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-fat_MC_DIRS := $(foreach dir, $(kernel-fs-fat_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-fat_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-fat_MC_DIRS),) + kernel-fs-fat_MC_DIRS := $(shell echo $(kernel-fs-fat_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-fat_MC_DIRS) +endif + +endif + +kernel-fs-fat_MC_CPPFLAGS := $(kernel-fs-fat_CPPFLAGS) +kernel-fs-fat_CFLAGS := $(kernel-fs-fat_CFLAGS) +ifeq ($(kernel-fs-fat_DFLAGS),) + kernel-fs-fat_DFLAGS := $(kernel-fs-fat_CFLAGS) +else + kernel-fs-fat_DFLAGS := $(kernel-fs-fat_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-fat_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(TARGET_STRIP) +kernel-fs-fat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(kernel-fs-fat_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(kernel-fs-fat_DFLAGS) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-fat_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(HOST_STRIP) +kernel-fs-fat_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_DFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-fat_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(ECHO) >/dev/null +kernel-fs-fat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_DFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-fat_MC_TARGETS) : CPPFLAGS := $(kernel-fs-fat_MC_CPPFLAGS) +$(kernel-fs-fat_MC_TARGETS) : CFLAGS := $(kernel-fs-fat_CFLAGS) +$(kernel-fs-fat_MC_TARGETS) : $(kernel-fs-fat_MC_TGTWILDCARD).o : $(kernel-fs-fat_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-fat_MC_DTARGETS) : $(kernel-fs-fat_MC_TGTWILDCARD).d : $(kernel-fs-fat_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-fat_DFLAGS) $(kernel-fs-fat_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-fs-fat_MC_SRCWILDCARD := % +else +kernel-fs-fat_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-fat_OBJDIR),) +kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(kernel-fs-fat_TARGETCCFILES)) +kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-fat_TARGETCCFILES)) +kernel-fs-fat_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(kernel-fs-fat_TARGETCCFILES)))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(kernel-fs-fat_TARGETCCFILES)))) +else +ifeq (,) + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(kernel-fs-fat_TARGETCCFILES))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(kernel-fs-fat_TARGETCCFILES))) +else + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-fat_TARGETCCFILES)))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-fat_TARGETCCFILES)))) +endif +endif +kernel-fs-fat_MC_TGTWILDCARD := $(kernel-fs-fat_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-fat_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-fs-fat_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-fat_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-fat_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-fat_MC_DIRS := $(foreach dir, $(kernel-fs-fat_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-fat_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-fat_MC_DIRS),) + kernel-fs-fat_MC_DIRS := $(shell echo $(kernel-fs-fat_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-fat_MC_DIRS) +endif + +endif + +kernel-fs-fat_MC_CPPFLAGS := $(kernel-fs-fat_CPPFLAGS) -D__AROS__ +kernel-fs-fat_CFLAGS := $(kernel-fs-fat_CFLAGS) +ifeq ($(kernel-fs-fat_DFLAGS),) + kernel-fs-fat_DFLAGS := $(kernel-fs-fat_CFLAGS) +else + kernel-fs-fat_DFLAGS := $(kernel-fs-fat_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-fat_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(TARGET_STRIP) +kernel-fs-fat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(kernel-fs-fat_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(kernel-fs-fat_DFLAGS) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-fat_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(HOST_STRIP) +kernel-fs-fat_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_DFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-fat_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(ECHO) >/dev/null +kernel-fs-fat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_DFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-fat_MC_TARGETS) : CPPFLAGS := $(kernel-fs-fat_MC_CPPFLAGS) +$(kernel-fs-fat_MC_TARGETS) : CFLAGS := $(kernel-fs-fat_CFLAGS) +$(kernel-fs-fat_MC_TARGETS) : $(kernel-fs-fat_MC_TGTWILDCARD).o : $(kernel-fs-fat_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-fat_MC_DTARGETS) : $(kernel-fs-fat_MC_TGTWILDCARD).d : $(kernel-fs-fat_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-fat_DFLAGS) $(kernel-fs-fat_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-fs-fat_MC_SRCWILDCARD := % +else +kernel-fs-fat_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-fat_OBJDIR)/linklib,) +kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(kernel-fs-fat_NLIBARCHFILES)) +kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-fat_NLIBARCHFILES)) +kernel-fs-fat_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(notdir $(kernel-fs-fat_NLIBARCHFILES)))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(notdir $(kernel-fs-fat_NLIBARCHFILES)))) +else +ifeq (,) + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(kernel-fs-fat_NLIBARCHFILES))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(kernel-fs-fat_NLIBARCHFILES))) +else + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-fs-fat_NLIBARCHFILES)))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-fs-fat_NLIBARCHFILES)))) +endif +endif +kernel-fs-fat_MC_TGTWILDCARD := $(kernel-fs-fat_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-fat_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-fs-fat_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-fat_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-fat_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-fat_MC_DIRS := $(foreach dir, $(kernel-fs-fat_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-fat_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-fat_MC_DIRS),) + kernel-fs-fat_MC_DIRS := $(shell echo $(kernel-fs-fat_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-fat_MC_DIRS) +endif + +endif + +kernel-fs-fat_MC_CPPFLAGS := $(kernel-fs-fat_LINKLIBCPPFLAGS) -D__AROS__ +kernel-fs-fat_CFLAGS := $(kernel-fs-fat_LINKLIBCFLAGS) +ifeq ($(kernel-fs-fat_LINKLIBDFLAGS),) + kernel-fs-fat_DFLAGS := $(kernel-fs-fat_LINKLIBCFLAGS) +else + kernel-fs-fat_DFLAGS := $(kernel-fs-fat_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-fat_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(TARGET_STRIP) +kernel-fs-fat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(kernel-fs-fat_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(kernel-fs-fat_DFLAGS) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-fat_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(HOST_STRIP) +kernel-fs-fat_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_DFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-fat_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(ECHO) >/dev/null +kernel-fs-fat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_DFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-fat_MC_TARGETS) : CPPFLAGS := $(kernel-fs-fat_MC_CPPFLAGS) +$(kernel-fs-fat_MC_TARGETS) : CFLAGS := $(kernel-fs-fat_CFLAGS) +$(kernel-fs-fat_MC_TARGETS) : $(kernel-fs-fat_MC_TGTWILDCARD).o : $(kernel-fs-fat_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-fat_MC_DTARGETS) : $(kernel-fs-fat_MC_TGTWILDCARD).d : $(kernel-fs-fat_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-fat_DFLAGS) $(kernel-fs-fat_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-fs-fat_OBJDIR)/linklib,) +kernel-fs-fat_MC_SRCWILDCARD := % +else +kernel-fs-fat_MC_SRCWILDCARD := $(kernel-fs-fat_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-fs-fat_OBJDIR)/linklib,) +kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(kernel-fs-fat_LINKLIBCCGENFILES)) +kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-fat_LINKLIBCCGENFILES)) +kernel-fs-fat_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(notdir $(kernel-fs-fat_LINKLIBCCGENFILES)))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(notdir $(kernel-fs-fat_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-fs-fat_OBJDIR)/linklib,) + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(kernel-fs-fat_LINKLIBCCGENFILES))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(kernel-fs-fat_LINKLIBCCGENFILES))) +else + kernel-fs-fat_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(patsubst $(kernel-fs-fat_OBJDIR)/linklib/%,%,$(kernel-fs-fat_LINKLIBCCGENFILES)))) + kernel-fs-fat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(patsubst $(kernel-fs-fat_OBJDIR)/linklib/%,%,$(kernel-fs-fat_LINKLIBCCGENFILES)))) +endif +endif +kernel-fs-fat_MC_TGTWILDCARD := $(kernel-fs-fat_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-fat_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-fs-fat_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-fat_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-fat_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-fat_MC_DIRS := $(foreach dir, $(kernel-fs-fat_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-fat_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-fat_MC_DIRS),) + kernel-fs-fat_MC_DIRS := $(shell echo $(kernel-fs-fat_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-fat_MC_DIRS) +endif + +endif + +kernel-fs-fat_MC_CPPFLAGS := $(kernel-fs-fat_LINKLIBCPPFLAGS) -D__AROS__ +kernel-fs-fat_CFLAGS := $(kernel-fs-fat_LINKLIBCFLAGS) +ifeq ($(kernel-fs-fat_LINKLIBDFLAGS),) + kernel-fs-fat_DFLAGS := $(kernel-fs-fat_LINKLIBCFLAGS) +else + kernel-fs-fat_DFLAGS := $(kernel-fs-fat_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-fat_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(TARGET_STRIP) +kernel-fs-fat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(kernel-fs-fat_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(kernel-fs-fat_DFLAGS) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-fat_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(HOST_STRIP) +kernel-fs-fat_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-fat_DFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-fat_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-fat_STRIP ?= $(ECHO) >/dev/null +kernel-fs-fat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-fat_MC_CPPFLAGS) $(kernel-fs-fat_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_CFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-fat_DFLAGS)) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-fat_MC_TARGETS) $(kernel-fs-fat_MC_DTARGETS) : kernel-fs-fat_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-fat_MC_TARGETS) : CPPFLAGS := $(kernel-fs-fat_MC_CPPFLAGS) +$(kernel-fs-fat_MC_TARGETS) : CFLAGS := $(kernel-fs-fat_CFLAGS) +$(kernel-fs-fat_MC_TARGETS) : $(kernel-fs-fat_MC_TGTWILDCARD).o : $(kernel-fs-fat_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-fat_IQUOTE) $(dir $<) $(kernel-fs-fat_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-fat_IQUOTE) . $(kernel-fs-fat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-fat_MC_DTARGETS) : $(kernel-fs-fat_MC_TGTWILDCARD).d : $(kernel-fs-fat_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-fat_DFLAGS) $(kernel-fs-fat_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-fs-fat_LINKLIBAFILES),) + +ifeq ($(kernel-fs-fat_OBJDIR)/linklib,) +kernel-fs-fat-MA_TARGETS := $(addsuffix .o,$(kernel-fs-fat_LINKLIBAFILES) $(kernel-fs-fat_RELLINKLIBAFILES)) +kernel-fs-fat-MA_WILDCARD := % +else +kernel-fs-fat-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(notdir $(kernel-fs-fat_LINKLIBAFILES) $(kernel-fs-fat_RELLINKLIBAFILES)))) +kernel-fs-fat-MA_WILDCARD := $(kernel-fs-fat_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-fs-fat-MA_TARGETS) : | $(addsuffix .S,$(kernel-fs-fat_LINKLIBAFILES) $(kernel-fs-fat_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-fs-fat-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-fat-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-fat_LINKLIBAFILES) $(kernel-fs-fat_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-fat-MA_DIRS := $(foreach dir, $(kernel-fs-fat-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-fat-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-fat-MA_DIRS),) + kernel-fs-fat-MA_DIRS := $(shell echo $(kernel-fs-fat-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-fs-fat-MA_DIRS) +endif + +endif + +kernel-fs-fat-MA_ASSEMBLER ?= $(kernel-fs-fat_ASSEMBLER) + +$(kernel-fs-fat-MA_TARGETS) : kernel-fs-fat-MA_CMD:= $(kernel-fs-fat-MA_ASSEMBLER) + +$(kernel-fs-fat-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-fs-fat-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-fs-fat-MA_TARGETS) : $(kernel-fs-fat-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-fs-fat-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-fs-fat-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-fs-fat-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-fs-fat_SUFFIX := handler +else +kernel-fs-fat_SUFFIX := +endif + +ifeq (target,target) +kernel-fs-fat_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-fs-fat_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-fs-fat_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-fs-fat_SUFFIX),handler) +kernel-fs-fat_MODULE := $(AROSDIR)/$(kernel-fs-fat_MODDIR)/$(kernel-fs-fat_DEFNAME)-$(kernel-fs-fat_SUFFIX) +else +kernel-fs-fat_MODULE := $(AROSDIR)/$(kernel-fs-fat_MODDIR)/$(kernel-fs-fat_DEFNAME).$(kernel-fs-fat_SUFFIX) +endif +kernel-fs-fat_KOBJ := $(KOBJSDIR)/$(kernel-fs-fat_DEFNAME)_$(kernel-fs-fat_SUFFIX).o +else +kernel-fs-fat_MODULE := +kernel-fs-fat_KOBJ := +endif + +kernel-fs-fat-quick : kernel-fs-fat +kernel-fs-fat : $(kernel-fs-fat_MODULE) $(kernel-fs-fat_LINKLIB) $(kernel-fs-fat_RELLINKLIB) +ifeq (M,M) +kernel-fs-fat-kobj : $(kernel-fs-fat_KOBJ) $(kernel-fs-fat_LINKLIB) $(kernel-fs-fat_RELLINKLIB) +kernel-fs-fat-kobj-quick : $(kernel-fs-fat_KOBJ) $(kernel-fs-fat_LINKLIB) $(kernel-fs-fat_RELLINKLIB) +endif +ifeq (M,M) +kernel-fs-fat-linklib : $(kernel-fs-fat_LINKLIB) $(kernel-fs-fat_RELLINKLIB) +endif + +kernel-fs-fat_OBJS := $(addsuffix .o,$(kernel-fs-fat_STARTFILES)) $(kernel-fs-fat_ARCHOBJS) \ + $(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(kernel-fs-fat_C_NARCHFILES:=.o) $(kernel-fs-fat_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (handler,handler) +kernel-fs-fat_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (fat,con) + kernel-fs-fat_ERR := $(notdir $(kernel-fs-fat_MODULE)).err +else + kernel-fs-fat_ERR := fat.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-fs-fat_DEFNAME)_LDFLAGS) $(kernel-fs-fat_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-fs-fat_LIBS) $($(kernel-fs-fat_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-fs-fat_MODULE) : LIB_NAMES := $(kernel-fs-fat_LIBS) $($(kernel-fs-fat_DEFNAME)_LIBS) +$(kernel-fs-fat_MODULE) : OBJS := $(kernel-fs-fat_STARTOBJS) $(kernel-fs-fat_OBJS) $(USER_OBJS) +$(kernel-fs-fat_MODULE) : ENDTAG := $(kernel-fs-fat_ENDOBJS) +$(kernel-fs-fat_MODULE) : ERR := $(kernel-fs-fat_ERR) +$(kernel-fs-fat_MODULE) : OBJDIR := $(kernel-fs-fat_OBJDIR) +$(kernel-fs-fat_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-fs-fat_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-fs-fat_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-fs-fat_MODULE) : $(kernel-fs-fat_STARTOBJS) $(kernel-fs-fat_OBJS) $(USER_OBJS) $(kernel-fs-fat_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-fs-fat_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-fs-fat_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-fs-fat_LC_LINKLIBNAME := $(shell echo $(kernel-fs-fat_LINKLIBNAME) | tr A-Z a-z) +kernel-fs-fat_LC_MODNAME := $(shell echo fat | tr A-Z a-z) +ifneq ($(kernel-fs-fat_LINKLIB),) + +ifeq (target,target) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(HOST_AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(KERNEL_AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)$(kernel-fs-fat_LIBSUFFIX).a : $(kernel-fs-fat_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-fat_AR) $@ $^ + $(Q)$(kernel-fs-fat_RANLIB) $@ +ifneq ($(kernel-fs-fat_LC_MODNAME),$(kernel-fs-fat_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-fs-fat_LIBDIR)/libfat$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(AR) +$(kernel-fs-fat_LIBDIR)/libfat$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-fat_LIBDIR)/libfat$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(HOST_AR) +$(kernel-fs-fat_LIBDIR)/libfat$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-fat_LIBDIR)/libfat$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(KERNEL_AR) +$(kernel-fs-fat_LIBDIR)/libfat$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-fat_LIBDIR)/libfat$(kernel-fs-fat_LIBSUFFIX).a : $(kernel-fs-fat_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-fat_AR) $@ $^ + $(Q)$(kernel-fs-fat_RANLIB) $@ +endif + + +ifneq ($(kernel-fs-fat_LINKLIB),) +$(kernel-fs-fat_LINKLIB) : | $(kernel-fs-fat_LIBDIR) +else +$(kernel-fs-fat_LINKLIB) :: $(kernel-fs-fat_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-fat_LIBDIR) + +endif + +ifneq ($(kernel-fs-fat_RELLINKLIB),) + +ifeq (target,target) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(HOST_AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(KERNEL_AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_LINKLIBNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : $(kernel-fs-fat_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-fat_AR) $@ $^ + $(Q)$(kernel-fs-fat_RANLIB) $@ +ifneq ($(kernel-fs-fat_LC_MODNAME),$(kernel-fs-fat_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_DEFNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_DEFNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_DEFNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(HOST_AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_DEFNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_DEFNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_AR:=$(KERNEL_AR) +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_DEFNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : kernel-fs-fat_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-fat_LIBDIR)/lib$(kernel-fs-fat_DEFNAME)_rel$(kernel-fs-fat_LIBSUFFIX).a : $(kernel-fs-fat_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-fat_AR) $@ $^ + $(Q)$(kernel-fs-fat_RANLIB) $@ +endif + + +ifneq ($(kernel-fs-fat_RELLINKLIB),) +$(kernel-fs-fat_RELLINKLIB) : | $(kernel-fs-fat_LIBDIR) +else +$(kernel-fs-fat_RELLINKLIB) :: $(kernel-fs-fat_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-fat_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-fs-fat_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-fs-fat_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-fs-fat_SYMBOLS := $(kernel-fs-fat_KBASE) + +kernel-fs-fat_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-fs-fat_KOBJ_LIBS := $(filter-out $(kernel-fs-fat_KLIB),$(kernel-fs-fat_LIBS)) $(kernel-fs-fat_KAUTOLIB) +$(kernel-fs-fat_KOBJ) : LINKLIBS:=$(kernel-fs-fat_KOBJ_LIBS) $($(kernel-fs-fat_DEFNAME)_LIBS) +$(kernel-fs-fat_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-fs-fat_SYMBOLS)) +$(kernel-fs-fat_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-fs-fat_KOBJ) : $(kernel-fs-fat_OBJS) $(USER_OBJS) $(kernel-fs-fat_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-fs-fat_DEPS := $(addprefix $(kernel-fs-fat_OBJDIR)/,$(notdir $(kernel-fs-fat_CCFILES:=.d) $(kernel-fs-fat_TARGETCCFILES:=.d) $(kernel-fs-fat_CXXFILES:=.d))) $(addprefix $(kernel-fs-fat_OBJDIR)/linklib/,$(notdir $(kernel-fs-fat_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-fs-fat_DEPS),) + ifneq (kernel-fs-fat kernel-fs-fat-quick kernel-fs-fat-kobj kernel-fs-fat-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-fs-fat kernel-fs-fat-quick kernel-fs-fat-kobj kernel-fs-fat-kobj-quick),) + -include $(kernel-fs-fat_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-fs-fat_DEPS) + endif + endif +endif + +$(kernel-fs-fat_OBJS) $(kernel-fs-fat_DEPS) : | $(kernel-fs-fat_OBJDIR)/linklib + +ifneq ($(kernel-fs-fat_OBJS) $(kernel-fs-fat_DEPS) $(kernel-fs-fat_MODULE) $(kernel-fs-fat_KOBJ),) +$(kernel-fs-fat_OBJS) $(kernel-fs-fat_DEPS) $(kernel-fs-fat_MODULE) $(kernel-fs-fat_KOBJ) : | $(kernel-fs-fat_OBJDIR) $(AROSDIR)/$(kernel-fs-fat_MODDIR) $(KOBJSDIR) +else +$(kernel-fs-fat_OBJS) $(kernel-fs-fat_DEPS) $(kernel-fs-fat_MODULE) $(kernel-fs-fat_KOBJ) :: $(kernel-fs-fat_OBJDIR) $(AROSDIR)/$(kernel-fs-fat_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-fat_OBJDIR) $(AROSDIR)/$(kernel-fs-fat_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-fs-fat kernel-fs-fat-includes kernel-fs-fat-quick kernel-fs-fat-kobj kernel-fs-fat-kobj-quick),) # Only for this target these deps are wanted + +kernel-fs-fat_DFILE_DEPS := $(kernel-fs-fat_LIBDEFSINC) $(kernel-fs-fat_DEFLIBDEFSINC) \ + $(addprefix $(kernel-fs-fat_INCDIR)/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) +$(kernel-fs-fat_DEPS) : $(kernel-fs-fat_DFILE_DEPS) +endif + +kernel-fs-fat_TOCLEAN := $(kernel-fs-fat_OBJS) $(kernel-fs-fat_DEPS) \ + $(kernel-fs-fat_MODULE) $(kernel-fs-fat_LINKLIB) $(kernel-fs-fat_KOBJ) \ + $(kernel-fs-fat_OBJDIR)/Makefile.fathandler \ + $(addprefix $(kernel-fs-fat_OBJDIR)/include/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-fs-fat_INCDIR)/,$($(kernel-fs-fat_DEFNAME)_INCLUDES)) \ + $(kernel-fs-fat_OBJDIR)/fat_geninc $(kernel-fs-fat_OBJDIR)/fat_incs \ + $(addsuffix .c,$(kernel-fs-fat_LINKLIBFILES)) $(kernel-fs-fat_LINKLIBOBJS) $(kernel-fs-fat_LIBDEFSINC) \ + $(kernel-fs-fat_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-fs-fat_STARTFILES) $(kernel-fs-fat_ENDFILES)) \ + $(kernel-fs-fat_ENDOBJS) +kernel-fs-fat-clean : FILES := $(kernel-fs-fat_TOCLEAN) +kernel-fs-fat-clean :: + $(Q)$(ECHO) "Cleaning up for module fat" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-fs-fat_ALLTARGETS) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/filesys/pfs3/pfsdoctor/mmakefile b/rom/filesys/pfs3/pfsdoctor/mmakefile new file mode 100644 index 00000000000..81947517f60 --- /dev/null +++ b/rom/filesys/pfs3/pfsdoctor/mmakefile @@ -0,0 +1,642 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + access \ + device \ + fullscan \ + standardscan \ + stats \ + console + +USER_CPPFLAGS := \ + -DLARGE_FILE_SIZE=1 \ + -DNO_GUI=1 \ + -DREVISION=19 \ + -DREVDATE="\"$(shell date '+%d.%m.%Y')\"" \ + -DADATE="\"$(shell date '+%d.%m.%Y')\"" + +EXEDIR = $(AROSDIR)/C + + +.PHONY : workbench-devs-pfs3-c-pfsdoctor + +workbench-devs-pfs3-c-pfsdoctor_PROGNAME := PFSDoctor +workbench-devs-pfs3-c-pfsdoctor_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-pfs3-c-pfsdoctor_TARGETDIR := $(EXEDIR) +workbench-devs-pfs3-c-pfsdoctor_LINKER := +workbench-devs-pfs3-c-pfsdoctor_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_LINKER),) + workbench-devs-pfs3-c-pfsdoctor_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-devs-pfs3-c-pfsdoctor_FILES := $(FILES) + workbench-devs-pfs3-c-pfsdoctor_OBJCFILES := + workbench-devs-pfs3-c-pfsdoctor_ASMFILES := + workbench-devs-pfs3-c-pfsdoctor_CXXFILES := +else + workbench-devs-pfs3-c-pfsdoctor_FILES := $(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) + workbench-devs-pfs3-c-pfsdoctor_OBJCFILES := + workbench-devs-pfs3-c-pfsdoctor_ASMFILES := + workbench-devs-pfs3-c-pfsdoctor_CXXFILES := +endif + +workbench-devs-pfs3-c-pfsdoctor_ARCHOBJS := $(wildcard $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/arch/*.o) +workbench-devs-pfs3-c-pfsdoctor_ARCHFILES := $(basename $(notdir $(workbench-devs-pfs3-c-pfsdoctor_ARCHOBJS))) +workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES := $(filter-out $(workbench-devs-pfs3-c-pfsdoctor_ARCHFILES),$(workbench-devs-pfs3-c-pfsdoctor_FILES)) +workbench-devs-pfs3-c-pfsdoctor_CXX_NARCHFILES := $(filter-out $(workbench-devs-pfs3-c-pfsdoctor_ARCHFILES),$(workbench-devs-pfs3-c-pfsdoctor_CXXFILES)) +workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES := $(filter-out $(workbench-devs-pfs3-c-pfsdoctor_ARCHFILES),$(workbench-devs-pfs3-c-pfsdoctor_OBJCFILES)) + +TMP_FILES := $(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES) $(workbench-devs-pfs3-c-pfsdoctor_CXX_NARCHFILES) $(workbench-devs-pfs3-c-pfsdoctor_ASMFILES) $(workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES) +workbench-devs-pfs3-c-pfsdoctor_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-pfs3-c-pfsdoctor_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-pfs3-c-pfsdoctor_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-pfs3-c-pfsdoctor_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-pfs3-c-pfsdoctor_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-pfs3-c-pfsdoctor_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-pfs3-c-pfsdoctor_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-pfs3-c-pfsdoctor_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-pfs3-c-pfsdoctor_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-pfs3-c-pfsdoctor_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-pfs3-c-pfsdoctor_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-pfs3-c-pfsdoctor_LDFLAGS := +endif + +workbench-devs-pfs3-c-pfsdoctor_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-pfs3-c-pfsdoctor_COVERAGE := yes +workbench-devs-pfs3-c-pfsdoctor_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-pfs3-c-pfsdoctor_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-pfs3-c-pfsdoctor_CFLAGS := $(strip $(workbench-devs-pfs3-c-pfsdoctor_COVERAGEFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS)) +workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(strip $(workbench-devs-pfs3-c-pfsdoctor_COVERAGEFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS)) +workbench-devs-pfs3-c-pfsdoctor_LIBS += $(workbench-devs-pfs3-c-pfsdoctor_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-pfs3-c-pfsdoctor_FUNCINSTR := yes +workbench-devs-pfs3-c-pfsdoctor_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-pfs3-c-pfsdoctor_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-pfs3-c-pfsdoctor_CFLAGS := $(strip $(workbench-devs-pfs3-c-pfsdoctor_INSTRFUNCFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS)) +workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(strip $(workbench-devs-pfs3-c-pfsdoctor_INSTRFUNCFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS)) +workbench-devs-pfs3-c-pfsdoctor_LIBS += $(workbench-devs-pfs3-c-pfsdoctor_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-pfs3-c-pfsdoctor_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS)) +workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS)) +endif +endif +workbench-devs-pfs3-c-pfsdoctor_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-pfs3-c-pfsdoctor_DFLAGS := +else + workbench-devs-pfs3-c-pfsdoctor_DFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS) +endif +ifneq (,) + workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS := +else + workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-pfs3-c-pfsdoctor_LDFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-pfs3-c-pfsdoctor_LDFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-pfs3-c-pfsdoctor_LDFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-pfs3-c-pfsdoctor_LDFLAGS += -L +endif + +#MM +workbench-devs-pfs3-c-pfsdoctor-quick : workbench-devs-pfs3-c-pfsdoctor + +#MM workbench-devs-pfs3-c-pfsdoctor : includes-generate-deps core-linklibs +workbench-devs-pfs3-c-pfsdoctor : $(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-pfs3-c-pfsdoctor workbench-devs-pfs3-c-pfsdoctor-quick workbench-devs-pfs3-c-pfsdoctor-gz-quick),) + +workbench-devs-pfs3-c-pfsdoctor_CXXABSBASENAMES := $(foreach workbench-devs-pfs3-c-pfsdoctor_CXXBASE,$(workbench-devs-pfs3-c-pfsdoctor_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-pfs3-c-pfsdoctor_CXXBASE)),$(workbench-devs-pfs3-c-pfsdoctor_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-pfs3-c-pfsdoctor_CXXBASE)))) + +ifneq ($(workbench-devs-pfs3-c-pfsdoctor_CXXABSBASENAMES),) + +workbench-devs-pfs3-c-pfsdoctor_CXXBASENAMES := $(basename $(workbench-devs-pfs3-c-pfsdoctor_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-pfs3-c-pfsdoctor_MCXX_FILES := $(strip $(foreach workbench-devs-pfs3-c-pfsdoctor_CXXBASE,$(workbench-devs-pfs3-c-pfsdoctor_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-pfs3-c-pfsdoctor_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-pfs3-c-pfsdoctor_EXT),$(workbench-devs-pfs3-c-pfsdoctor_CXXBASE))))))) + +ifeq (,) +workbench-devs-pfs3-c-pfsdoctor_MCXX_SRCWILDCARD := % +else +workbench-devs-pfs3-c-pfsdoctor_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_OBJDIR),) + workbench-devs-pfs3-c-pfsdoctor_CXXTARGETS := $(notdir $(workbench-devs-pfs3-c-pfsdoctor_CXXBASENAMES:=.o)) + workbench-devs-pfs3-c-pfsdoctor_CXXDTARGETS := $(notdir $(workbench-devs-pfs3-c-pfsdoctor_CXXBASENAMES:=.d)) + workbench-devs-pfs3-c-pfsdoctor_MCXX_WILDCARD := % +else + workbench-devs-pfs3-c-pfsdoctor_CXXTARGETS := $(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(notdir $(workbench-devs-pfs3-c-pfsdoctor_CXXBASENAMES:=.o))) + workbench-devs-pfs3-c-pfsdoctor_CXXDTARGETS := $(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(notdir $(workbench-devs-pfs3-c-pfsdoctor_CXXBASENAMES:=.d))) + workbench-devs-pfs3-c-pfsdoctor_MCXX_WILDCARD := $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-pfs3-c-pfsdoctor_CXXTARGETS) $(workbench-devs-pfs3-c-pfsdoctor_CXXDTARGETS) : | $(workbench-devs-pfs3-c-pfsdoctor_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CPPFLAGS) +workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS) +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS),) + workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS) +else + workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(HOST_STRIP) + workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-pfs3-c-pfsdoctor_CXXCMD:=$(HOST_CXX) + workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(TARGET_STRIP) + workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-pfs3-c-pfsdoctor_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS := $(strip $(workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(strip $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS) + workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(ECHO) >/dev/null + workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-pfs3-c-pfsdoctor_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-pfs3-c-pfsdoctor_CXXCMD) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) $(dir $(2)) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE_END) $(strip $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-pfs3-c-pfsdoctor_CXXCMD) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) $(dir $(2)) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE_END) $(strip $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-pfs3-c-pfsdoctor_CXXCMD) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) $(dir $(2)) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_CXXIQUOTE_END) $(strip $(workbench-devs-pfs3-c-pfsdoctor_CXXFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-pfs3-c-pfsdoctor_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-pfs3-c-pfsdoctor_DXXFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_OBJDIR),) + $(foreach workbench-devs-pfs3-c-pfsdoctor_CXXFILE,$(workbench-devs-pfs3-c-pfsdoctor_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-pfs3-c-pfsdoctor_CXXFILE))),$(workbench-devs-pfs3-c-pfsdoctor_CXXFILE)))) +else + $(foreach workbench-devs-pfs3-c-pfsdoctor_CXXFILE,$(workbench-devs-pfs3-c-pfsdoctor_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(notdir $(basename $(workbench-devs-pfs3-c-pfsdoctor_CXXFILE)))),$(workbench-devs-pfs3-c-pfsdoctor_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-pfs3-c-pfsdoctor_MOBJC_SRCWILDCARD := % +else +workbench-devs-pfs3-c-pfsdoctor_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_OBJDIR),) + workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES)) + workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES)) + workbench-devs-pfs3-c-pfsdoctor_MOBJC_WILDCARD := % +else + workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES))) + workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES))) + workbench-devs-pfs3-c-pfsdoctor_MOBJC_WILDCARD := $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-pfs3-c-pfsdoctor_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-pfs3-c-pfsdoctor_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-pfs3-c-pfsdoctor_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-pfs3-c-pfsdoctor_MOBJC_DIRS := $(foreach dir, $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-pfs3-c-pfsdoctor_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DIRS),) + workbench-devs-pfs3-c-pfsdoctor_MOBJC_DIRS := $(shell echo $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-pfs3-c-pfsdoctor_CC := $(TARGET_CC) +else + workbench-devs-pfs3-c-pfsdoctor_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CPPFLAGS) +workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS) +workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS))) +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_DFLAGS),) + workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS) +else + workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(workbench-devs-pfs3-c-pfsdoctor_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(TARGET_STRIP) + workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-pfs3-c-pfsdoctor_CC) $(TARGET_SYSROOT)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS:=$(strip $(workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS:=$(workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(HOST_STRIP) + workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(ECHO) >/dev/null + workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS)) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS) +$(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_OBJCFLAGS) +$(workbench-devs-pfs3-c-pfsdoctor_MOBJC_TARGETS) : $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_WILDCARD).o : $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(dir $<) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(dir $<) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(dir $<) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-pfs3-c-pfsdoctor_MOBJC_DTARGETS) : $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_WILDCARD).d : $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-pfs3-c-pfsdoctor_OBJCDFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-pfs3-c-pfsdoctor_MC_SRCWILDCARD := % +else +workbench-devs-pfs3-c-pfsdoctor_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_OBJDIR),) +workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS := $(addsuffix .o,$(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES)) +workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES)) +workbench-devs-pfs3-c-pfsdoctor_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(notdir $(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES)))) + workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(notdir $(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES))) + workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES))) +else + workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES)))) + workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES)))) +endif +endif +workbench-devs-pfs3-c-pfsdoctor_MC_TGTWILDCARD := $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-pfs3-c-pfsdoctor_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-pfs3-c-pfsdoctor_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-pfs3-c-pfsdoctor_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-pfs3-c-pfsdoctor_MC_DIRS := $(foreach dir, $(workbench-devs-pfs3-c-pfsdoctor_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-pfs3-c-pfsdoctor_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-pfs3-c-pfsdoctor_MC_DIRS),) + workbench-devs-pfs3-c-pfsdoctor_MC_DIRS := $(shell echo $(workbench-devs-pfs3-c-pfsdoctor_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-pfs3-c-pfsdoctor_MC_DIRS) +endif + +endif + +workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CPPFLAGS) +workbench-devs-pfs3-c-pfsdoctor_CFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS) +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_DFLAGS),) + workbench-devs-pfs3-c-pfsdoctor_DFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS) +else + workbench-devs-pfs3-c-pfsdoctor_DFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(TARGET_STRIP) +workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS:=$(strip $(workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_CFLAGS:=$(strip $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_DFLAGS:=$(workbench-devs-pfs3-c-pfsdoctor_DFLAGS) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(HOST_STRIP) +workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_DFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-pfs3-c-pfsdoctor_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-pfs3-c-pfsdoctor_STRIP ?= $(ECHO) >/dev/null +workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_DFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) $(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) : CPPFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) : CFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CFLAGS) +$(workbench-devs-pfs3-c-pfsdoctor_MC_TARGETS) : $(workbench-devs-pfs3-c-pfsdoctor_MC_TGTWILDCARD).o : $(workbench-devs-pfs3-c-pfsdoctor_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(dir $<) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(dir $<) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(dir $<) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE) . $(workbench-devs-pfs3-c-pfsdoctor_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-pfs3-c-pfsdoctor_MC_DTARGETS) : $(workbench-devs-pfs3-c-pfsdoctor_MC_TGTWILDCARD).d : $(workbench-devs-pfs3-c-pfsdoctor_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-pfs3-c-pfsdoctor_DFLAGS) $(workbench-devs-pfs3-c-pfsdoctor_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-pfs3-c-pfsdoctor_OBJDIR),) +workbench-devs-pfs3-c-pfsdoctor-MA_TARGETS := $(addsuffix .o,$(workbench-devs-pfs3-c-pfsdoctor_ASMFILES)) +workbench-devs-pfs3-c-pfsdoctor-MA_WILDCARD := % +else +workbench-devs-pfs3-c-pfsdoctor-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/,$(notdir $(workbench-devs-pfs3-c-pfsdoctor_ASMFILES)))) +workbench-devs-pfs3-c-pfsdoctor-MA_WILDCARD := $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-pfs3-c-pfsdoctor-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-pfs3-c-pfsdoctor_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-pfs3-c-pfsdoctor-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-pfs3-c-pfsdoctor-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-pfs3-c-pfsdoctor_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-pfs3-c-pfsdoctor-MA_DIRS := $(foreach dir, $(workbench-devs-pfs3-c-pfsdoctor-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-pfs3-c-pfsdoctor-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-pfs3-c-pfsdoctor-MA_DIRS),) + workbench-devs-pfs3-c-pfsdoctor-MA_DIRS := $(shell echo $(workbench-devs-pfs3-c-pfsdoctor-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-pfs3-c-pfsdoctor-MA_DIRS) +endif + +endif + +workbench-devs-pfs3-c-pfsdoctor-MA_ASSEMBLER ?= $(workbench-devs-pfs3-c-pfsdoctor_ASSEMBLER) + +$(workbench-devs-pfs3-c-pfsdoctor-MA_TARGETS) : workbench-devs-pfs3-c-pfsdoctor-MA_CMD:= $(workbench-devs-pfs3-c-pfsdoctor-MA_ASSEMBLER) + +$(workbench-devs-pfs3-c-pfsdoctor-MA_TARGETS) : CPPFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_CPPFLAGS) +$(workbench-devs-pfs3-c-pfsdoctor-MA_TARGETS) : AFLAGS := $(workbench-devs-pfs3-c-pfsdoctor_AFLAGS) +$(workbench-devs-pfs3-c-pfsdoctor-MA_TARGETS) : $(workbench-devs-pfs3-c-pfsdoctor-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-pfs3-c-pfsdoctor-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-pfs3-c-pfsdoctor-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-pfs3-c-pfsdoctor-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-pfs3-c-pfsdoctor-link_EXTRA_LDFLAGS := +workbench-devs-pfs3-c-pfsdoctor-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-pfs3-c-pfsdoctor-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-devs-pfs3-c-pfsdoctor-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-pfs3-c-pfsdoctor-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-pfs3-c-pfsdoctor-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-pfs3-c-pfsdoctor_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-pfs3-c-pfsdoctor-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-pfs3-c-pfsdoctor-link_DIRS))) +# Add trailing / +workbench-devs-pfs3-c-pfsdoctor-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-pfs3-c-pfsdoctor-link_DIRS))) +# Add normal linklib path +workbench-devs-pfs3-c-pfsdoctor-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-pfs3-c-pfsdoctor-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-pfs3-c-pfsdoctor_LIBS) $(workbench-devs-pfs3-c-pfsdoctor-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-devs-pfs3-c-pfsdoctor-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-pfs3-c-pfsdoctor-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-pfs3-c-pfsdoctor-link_DEPLIBS := $(foreach lib,$(workbench-devs-pfs3-c-pfsdoctor-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-pfs3-c-pfsdoctor-link_DIRS)))) \ +) + +$(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) : OBJDIR := $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR) +$(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) : OBJS := $(workbench-devs-pfs3-c-pfsdoctor_OBJS) $(workbench-devs-pfs3-c-pfsdoctor_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-pfs3-c-pfsdoctor_LDFLAGS) $(workbench-devs-pfs3-c-pfsdoctor-link_EXTRA_LDFLAGS)) +$(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-pfs3-c-pfsdoctor_LIBS) $(workbench-devs-pfs3-c-pfsdoctor-link_EXTRA_LIBS) ) +$(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) : $(workbench-devs-pfs3-c-pfsdoctor_OBJS) $(workbench-devs-pfs3-c-pfsdoctor_ARCHOBJS) $(USER_OBJS) $(workbench-devs-pfs3-c-pfsdoctor-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-pfs3-c-pfsdoctor_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-pfs3-c-pfsdoctor_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-pfs3-c-pfsdoctor_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-pfs3-c-pfsdoctor_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-pfs3-c-pfsdoctor_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-pfs3-c-pfsdoctor_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-pfs3-c-pfsdoctor_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-pfs3-c-pfsdoctor_DEPS),) + ifneq (workbench-devs-pfs3-c-pfsdoctor workbench-devs-pfs3-c-pfsdoctor-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-pfs3-c-pfsdoctor workbench-devs-pfs3-c-pfsdoctor-quick),) + -include $(workbench-devs-pfs3-c-pfsdoctor_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-pfs3-c-pfsdoctor_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-pfs3-c-pfsdoctor_OBJS) $(workbench-devs-pfs3-c-pfsdoctor_DEPS) $(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME),) +$(workbench-devs-pfs3-c-pfsdoctor_OBJS) $(workbench-devs-pfs3-c-pfsdoctor_DEPS) $(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) : | $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR) $(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR) +else +$(workbench-devs-pfs3-c-pfsdoctor_OBJS) $(workbench-devs-pfs3-c-pfsdoctor_DEPS) $(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) :: $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR) $(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-pfs3-c-pfsdoctor_OBJDIR) $(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR) + + +workbench-devs-pfs3-c-pfsdoctor-clean : FILES := $(workbench-devs-pfs3-c-pfsdoctor_OBJS) $(workbench-devs-pfs3-c-pfsdoctor_TARGETDIR)/$(workbench-devs-pfs3-c-pfsdoctor_PROGNAME) $(workbench-devs-pfs3-c-pfsdoctor_DEPS) +#MM +workbench-devs-pfs3-c-pfsdoctor-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-pfs3-c-pfsdoctor" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/filesys/ram/mmakefile b/rom/filesys/ram/mmakefile new file mode 100644 index 00000000000..6ab3130395a --- /dev/null +++ b/rom/filesys/ram/mmakefile @@ -0,0 +1,1659 @@ +include $(SRCDIR)/config/aros.cfg + +FILES := handler commands filesystem notification support + +USER_CPPFLAGS := -DADATE="\"$(shell date '+%d.%m.%Y')\"" + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-fs-ram +#MM kernel-fs-ram-quick +#MM kernel-fs-ram-makefile +#MM kernel-fs-ram-clean + +# ABI targets: +#MM- includes-all : kernel-fs-ram-includes +#MM- linklibs-ram: kernel-fs-ram-linklib +#MM- linklibs-ram_rel : kernel-fs-ram-linklib +#MM- includes-ram: kernel-fs-ram-includes +#MM- includes-ram_rel : kernel-fs-ram-includes +#MM- kernel-fs-ram : kernel-fs-ram-includes core-linklibs linklibs- +#MM kernel-fs-ram-linklib : kernel-fs-ram-includes includes- +#MM- kernel-fs-ram-quick : kernel-fs-ram-includes-quick +#MM kernel-fs-ram-includes : kernel-fs-ram-makefile kernel-fs-ram-includes-dirs \ +#MM includes-generate-deps kernel-fs-ram-fd +#MM kernel-fs-ram-includes-quick +#MM kernel-fs-ram-includes-dirs +#MM kernel-fs-ram-fd + +# Library targets +#MM kernel-fs-ram-kobj : core-linklibs linklibs- +#MM kernel-fs-ram-kobj-quick : + +# Library with ABI targets: +#MM kernel-fs-ram-kobj : kernel-fs-ram-includes core-linklibs linklibs- +#MM kernel-fs-ram-kobj-quick : kernel-fs-ram-includes-quick + +# All MetaMake targets defined by this macro +kernel-fs-ram_ALLTARGETS := kernel-fs-ram kernel-fs-ram-quick kernel-fs-ram-clean + +ifeq (M,M) +kernel-fs-ram_ALLTARGETS += kernel-fs-ram-kobj kernel-fs-ram-kobj-quick +endif + +ifeq (M,M) +kernel-fs-ram_ALLTARGETS += kernel-fs-ram-includes \ + kernel-fs-ram-includes-quick kernel-fs-ram-includes-dirs \ + kernel-fs-ram-linklib kernel-fs-ram-fd +endif + +.PHONY : $(kernel-fs-ram_ALLTARGETS) kernel-fs-ram-makefile + +ifeq (ram,) +$(error using %build_module: modname may not be empty) +endif +ifeq (handler,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-fs-ram_DEFNAME := ram_ +else + kernel-fs-ram_DEFNAME := ram +endif +kernel-fs-ram_DEFLINKLIBNAME := $(kernel-fs-ram_DEFNAME) +ifneq (,) + kernel-fs-ram_LINKLIBNAME := +else + kernel-fs-ram_LINKLIBNAME = $(kernel-fs-ram_DEFLINKLIBNAME) +endif +kernel-fs-ram_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-fs-ram_DEFCPPFLAGS += -I +endif +kernel-fs-ram_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-fs-ram_DFLAGS := +else + kernel-fs-ram_DFLAGS = $(kernel-fs-ram_DEFDFLAGS) +endif +kernel-fs-ram_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-fs-ram_DXXFLAGS := +else + kernel-fs-ram_DXXFLAGS = $(kernel-fs-ram_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-fs-ram_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-fs-ram_DEFDFLAGS)) +kernel-fs-ram_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-fs-ram_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-fs-ram_FUNCINSTR := yes +kernel-fs-ram_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-fs-ram_DEFDFLAGS)) +kernel-fs-ram_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-fs-ram_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-fs-ram_OBJDIR := +else +kernel-fs-ram_OBJDIR := $(OBJDIR)/$(kernel-fs-ram_DEFNAME) +endif +ifneq (,) +kernel-fs-ram_OBJDIR := $(kernel-fs-ram_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-fs-ram-makefile := $(kernel-fs-ram_OBJDIR)/Makefile.$(kernel-fs-ram_DEFNAME)handler +kernel-fs-ram-genmakefile : $(kernel-fs-ram-makefile) + + +kernel-fs-ram-genmakefile_OPTS := +ifneq (,) + kernel-fs-ram-genmakefile_OPTS += -f + kernel-fs-ram-genmakefile_MODNAME := ram_ +else + kernel-fs-ram-genmakefile_MODNAME := ram +endif +kernel-fs-ram-genmakefile_TARGET := Makefile.$(kernel-fs-ram-genmakefile_MODNAME)handler +kernel-fs-ram-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-ram-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-ram-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-ram-genmakefile_OPTS += -c + kernel-fs-ram-genmakefile_DEPS += + endif +else + kernel-fs-ram-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ram.conf + kernel-fs-ram-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ram.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-ram-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-ram-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-ram-genmakefile_OPTS += -o + kernel-fs-ram-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-fs-ram-genmakefile_OPTS += -s +endif +ifneq ($(kernel-fs-ram_OBJDIR),) + kernel-fs-ram-genmakefile_OPTS += -d $(kernel-fs-ram_OBJDIR) + kernel-fs-ram-genmakefile_TARGET := $(kernel-fs-ram_OBJDIR)/$(kernel-fs-ram-genmakefile_TARGET) +endif + +$(kernel-fs-ram-genmakefile_TARGET) : OPTS := $(kernel-fs-ram-genmakefile_OPTS) +$(kernel-fs-ram-genmakefile_TARGET) : MODNAME := ram +$(kernel-fs-ram-genmakefile_TARGET) : MODTYPE := handler +$(kernel-fs-ram-genmakefile_TARGET) : $(kernel-fs-ram-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-fs-ram-makefile),) +$(kernel-fs-ram-makefile) : | $(kernel-fs-ram_OBJDIR) +else +$(kernel-fs-ram-makefile) :: $(kernel-fs-ram_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-ram_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-fs-ram_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-fs-ram-makefile) + +kernel-fs-ram_DEFMODDIR := $($(kernel-fs-ram_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-fs-ram_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-fs-ram_DEFMODDIR) +endif +ifneq (,) + kernel-fs-ram_MODDIR := +else + kernel-fs-ram_MODDIR := $(kernel-fs-ram_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-fs-ram_INCDIR := +else +kernel-fs-ram_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-fs-ram_LIBDEFSINC := $(kernel-fs-ram_OBJDIR)/include/$(kernel-fs-ram_DEFNAME)_libdefs.h +kernel-fs-ram_DEFLIBDEFSINC := $(kernel-fs-ram_OBJDIR)/include/$(kernel-fs-ram_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-fs-ram-includes-quick : kernel-fs-ram-includes +kernel-fs-ram-includes : $(addprefix $(GENINCDIR)/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-fs-ram_INCDIR)/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) \ + $(kernel-fs-ram_LIBDEFSINC) $(kernel-fs-ram_DEFLIBDEFSINC) + +ifneq ($($(kernel-fs-ram_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-fs-ram-includes_MODNAME := ram_ +else + kernel-fs-ram-includes_MODNAME := ram +endif + +ifneq ($($(kernel-fs-ram-includes_MODNAME)_INCLUDES),) + +kernel-fs-ram-includes_TARGETS := $($(kernel-fs-ram-includes_MODNAME)_INCLUDES) + +kernel-fs-ram-includes_DEPS := $(GENMODULE) +kernel-fs-ram-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-ram-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-ram-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-ram-includes_OPTS += -c + kernel-fs-ram-includes_DEPS += + endif +else + kernel-fs-ram-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ram.conf + kernel-fs-ram-includes_DEPS += $(SRCDIR)/$(CURDIR)/ram.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-ram-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-ram-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-ram-includes_OPTS += -o + kernel-fs-ram-includes_DEPS += + endif +endif +ifneq (,) + kernel-fs-ram-includes_OPTS += -s +endif +ifneq ($(kernel-fs-ram_OBJDIR)/include,) + kernel-fs-ram-includes_OPTS += -d $(kernel-fs-ram_OBJDIR)/include + kernel-fs-ram-includes_TARGETS := $(addprefix $(kernel-fs-ram_OBJDIR)/include/,$(kernel-fs-ram-includes_TARGETS)) + kernel-fs-ram-includes_GENINCFLAG=$(kernel-fs-ram_OBJDIR)/include/.ram.handler-includes +else + kernel-fs-ram-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.ram.handler-includes +endif + +$(kernel-fs-ram-includes_TARGETS) : $(kernel-fs-ram-includes_DEPS) $(kernel-fs-ram-includes_GENINCFLAG) + +$(kernel-fs-ram-includes_GENINCFLAG) : OPTS := $(kernel-fs-ram-includes_OPTS) +$(kernel-fs-ram-includes_GENINCFLAG) : MODNAME := ram +$(kernel-fs-ram-includes_GENINCFLAG) : MODTYPE := handler +$(kernel-fs-ram-includes_GENINCFLAG) : $(kernel-fs-ram-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-fs-ram_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) : | $(kernel-fs-ram_OBJDIR)/ram_geninc + +$(kernel-fs-ram_OBJDIR)/ram_geninc : COPYSRCDIR := $(kernel-fs-ram_OBJDIR)/include +$(kernel-fs-ram_OBJDIR)/ram_geninc : TGTDIR := $(GENINCDIR) +$(kernel-fs-ram_OBJDIR)/ram_geninc : FILES := $($(kernel-fs-ram_DEFNAME)_INCLUDES) +$(kernel-fs-ram_OBJDIR)/ram_geninc : $(addprefix $(kernel-fs-ram_OBJDIR)/include/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-fs-ram_OBJDIR)/include + +$(addprefix $(kernel-fs-ram_INCDIR)/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) : | $(kernel-fs-ram_OBJDIR)/ram_incs + +$(kernel-fs-ram_OBJDIR)/ram_incs : COPYSRCDIR := $(kernel-fs-ram_OBJDIR)/include +$(kernel-fs-ram_OBJDIR)/ram_incs : TGTDIR := $(kernel-fs-ram_INCDIR) +$(kernel-fs-ram_OBJDIR)/ram_incs : FILES := $($(kernel-fs-ram_DEFNAME)_INCLUDES) +$(kernel-fs-ram_OBJDIR)/ram_incs : $(addprefix $(kernel-fs-ram_OBJDIR)/include/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-fs-ram_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-fs-ram_DEFNAME)_INCLUDES)))) + +TMPram_INCDIRS := \ + $(kernel-fs-ram_OBJDIR)/include $(addprefix $(kernel-fs-ram_OBJDIR)/include/,$(kernel-fs-ram_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-fs-ram_INCDIRS)) \ + $(kernel-fs-ram_INCDIR) $(addprefix $(kernel-fs-ram_INCDIR)/,$(kernel-fs-ram_INCDIRS)) + +ifneq (kernel-fs-ram-includes-dirs,) +kernel-fs-ram-includes-dirs : | $(TMPram_INCDIRS) +else +kernel-fs-ram-includes-dirs :: $(TMPram_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPram_INCDIRS) + + +endif + +endif + + +kernel-fs-ram-genlibdefs_OPTS := +ifneq (,) + kernel-fs-ram-genlibdefs_OPTS += -f + kernel-fs-ram-genlibdefs_MODNAME := ram_ +else + kernel-fs-ram-genlibdefs_MODNAME := ram +endif +kernel-fs-ram-genlibdefs_TARGET := $(kernel-fs-ram-genlibdefs_MODNAME)_libdefs.h +kernel-fs-ram-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-ram-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-ram-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-ram-genlibdefs_OPTS += -c + kernel-fs-ram-genlibdefs_DEPS += + endif +else + kernel-fs-ram-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ram.conf + kernel-fs-ram-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ram.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-ram-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-ram-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-ram-genlibdefs_OPTS += -o + kernel-fs-ram-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-fs-ram-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-fs-ram_OBJDIR)/include,) + kernel-fs-ram-genlibdefs_OPTS += -d $(kernel-fs-ram_OBJDIR)/include + kernel-fs-ram-genlibdefs_TARGET := $(kernel-fs-ram_OBJDIR)/include/$(kernel-fs-ram-genlibdefs_TARGET) +endif +ifneq (,) + kernel-fs-ram-genlibdefs_OPTS += -v +endif + +$(kernel-fs-ram-genlibdefs_TARGET) : OPTS := $(kernel-fs-ram-genlibdefs_OPTS) +$(kernel-fs-ram-genlibdefs_TARGET) : MODNAME := ram +$(kernel-fs-ram-genlibdefs_TARGET) : MODTYPE := handler +$(kernel-fs-ram-genlibdefs_TARGET) : $(kernel-fs-ram-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-fs-ram_DEFLIBDEFSINC) : FILENAME := $(kernel-fs-ram_LIBDEFSINC) +$(kernel-fs-ram_DEFLIBDEFSINC) : $(kernel-fs-ram_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-fs-ram_LIBDEFSINC) $(kernel-fs-ram_DEFLIBDEFSINC) : | $(kernel-fs-ram_OBJDIR)/include + +ifneq (kernel-fs-ram-includes-dirs,) +kernel-fs-ram-includes-dirs : | $(kernel-fs-ram_OBJDIR)/include +else +kernel-fs-ram-includes-dirs :: $(kernel-fs-ram_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-fs-ram_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-fs-ram-genmodfiles_OPTS := +ifneq (,) + kernel-fs-ram-genmodfiles_OPTS += -f + kernel-fs-ram-genmodfiles_MODNAME := ram_ +else + kernel-fs-ram-genmodfiles_MODNAME := ram +endif +kernel-fs-ram-genmodfiles_GENTARGETS := $($(kernel-fs-ram-genmodfiles_MODNAME)_STARTFILES) $($(kernel-fs-ram-genmodfiles_MODNAME)_ENDFILES) +kernel-fs-ram-genmodfiles_STUBTARGETS := $($(kernel-fs-ram-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-fs-ram-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-fs-ram-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-fs-ram-genmodfiles_GENTARGETS)) +kernel-fs-ram-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-fs-ram-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-fs-ram-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-fs-ram-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-fs-ram-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-ram-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-fs-ram-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-ram-genmodfiles_OPTS += -c + kernel-fs-ram-genmodfiles_DEPS += + endif +else + kernel-fs-ram-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ram.conf + kernel-fs-ram-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ram.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-fs-ram-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-fs-ram-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-fs-ram-genmodfiles_OPTS += -o + kernel-fs-ram-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-fs-ram-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-fs-ram_OBJDIR),) + kernel-fs-ram-genmodfiles_OPTS += -d $(kernel-fs-ram_OBJDIR) + kernel-fs-ram-genmodfiles_TARGETDIR := $(shell echo $(kernel-fs-ram_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-fs-ram-genmodfiles_GENTARGETS := $(addprefix $(kernel-fs-ram-genmodfiles_TARGETDIR)/,$(kernel-fs-ram-genmodfiles_GENTARGETS)) + kernel-fs-ram-genmodfiles_GENFILEFLAG=$(kernel-fs-ram-genmodfiles_TARGETDIR)/.ram.handler-genfiles +else + kernel-fs-ram-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.ram.handler-genfiles +endif +ifneq ($(kernel-fs-ram_OBJDIR)/linklib,) + kernel-fs-ram-genmodfiles_OPTS += -l $(kernel-fs-ram_OBJDIR)/linklib + kernel-fs-ram-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-fs-ram_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-fs-ram-genmodfiles_STUBTARGETS := $(addprefix $(kernel-fs-ram-genmodfiles_STUBTARGETDIR)/,$(kernel-fs-ram-genmodfiles_STUBTARGETS)) + kernel-fs-ram-genmodfiles_TARGETDIRS += $(kernel-fs-ram_OBJDIR)/linklib +else +ifneq ($(kernel-fs-ram_OBJDIR),) + kernel-fs-ram-genmodfiles_STUBTARGETS := $(addprefix $(kernel-fs-ram-genmodfiles_TARGETDIR)/,$(kernel-fs-ram-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-fs-ram-genmodfiles_TARGETS := $(kernel-fs-ram-genmodfiles_GENTARGETS) $(kernel-fs-ram-genmodfiles_STUBTARGETS) +ifneq ($(kernel-fs-ram-genmodfiles_TARGETDIRS),) +$(kernel-fs-ram-genmodfiles_TARGETS) : | $(kernel-fs-ram-genmodfiles_TARGETDIRS) +endif + +$(kernel-fs-ram-genmodfiles_TARGETS) : $(kernel-fs-ram-genmodfiles_DEPS) $(kernel-fs-ram-genmodfiles_GENFILEFLAG) + +$(kernel-fs-ram-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-fs-ram-genmodfiles_OPTS) +$(kernel-fs-ram-genmodfiles_GENFILEFLAG) : MODNAME := ram +$(kernel-fs-ram-genmodfiles_GENFILEFLAG) : MODTYPE := handler +$(kernel-fs-ram-genmodfiles_GENFILEFLAG) : $(kernel-fs-ram-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-fs-ram-genmodfiles_GENFILEFLAG) : $(kernel-fs-ram_DEFLIBDEFSINC) $(kernel-fs-ram-makefile) + + +ifneq ($(kernel-fs-ram-genmodfiles_GENFILEFLAG),) +$(kernel-fs-ram-genmodfiles_GENFILEFLAG) : | $(kernel-fs-ram_OBJDIR)/linklib +else +$(kernel-fs-ram-genmodfiles_GENFILEFLAG) :: $(kernel-fs-ram_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-fs-ram_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-fs-ram_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-fs-ram_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-fs-ram-fd : $(kernel-fs-ram_FDDIR)/ram_lib.fd + + +TMP_TARGET := ram_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ram.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ram.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-fs-ram_FDDIR),) + TMP_OPTS += -d $(kernel-fs-ram_FDDIR) + TMP_TARGET := $(kernel-fs-ram_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := ram +$(TMP_TARGET) : MODTYPE := handler +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-fs-ram_FDDIR)/ram_lib.fd : | $(kernel-fs-ram_FDDIR) + + +ifneq (kernel-fs-ram-fd-setup,) +kernel-fs-ram-fd-setup : | $(kernel-fs-ram_FDDIR) +else +kernel-fs-ram-fd-setup :: $(kernel-fs-ram_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-ram_FDDIR) + +endif + +## Compilation +## +kernel-fs-ram_FILES := $(FILES) +kernel-fs-ram_OBJCFILES := +kernel-fs-ram_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-fs-ram_LIBFILES := +kernel-fs-ram_LIBS := + +kernel-fs-ram_FDIRS := $(sort $(dir $(kernel-fs-ram_FILES))) + +kernel-fs-ram_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-fs-ram_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-fs-ram_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-fs-ram_FILTERARCH = $(filter-out $(call kernel-fs-ram_MATCHARCH,$(1),$(2)),$(2)) +kernel-fs-ram_STARTFILES := $(addprefix $(kernel-fs-ram_OBJDIR)/,$($(kernel-fs-ram_DEFNAME)_STARTFILES)) +kernel-fs-ram_ENDFILES := $(addprefix $(kernel-fs-ram_OBJDIR)/,$($(kernel-fs-ram_DEFNAME)_ENDFILES)) + +kernel-fs-ram_ARCHOBJS := $(wildcard $(kernel-fs-ram_OBJDIR)/arch/*.o) +kernel-fs-ram_LIBARCHOBJS := $(wildcard $(kernel-fs-ram_OBJDIR)/linklib/arch/*.o) +kernel-fs-ram_ARCHFILES := $(basename $(notdir $(kernel-fs-ram_ARCHOBJS))) +kernel-fs-ram_LIBARCHFILES := $(basename $(notdir $(kernel-fs-ram_LIBARCHOBJS))) +kernel-fs-ram_C_NARCHFILES := $(call kernel-fs-ram_FILTERARCH,$(kernel-fs-ram_ARCHFILES),$(kernel-fs-ram_FILES)) +kernel-fs-ram_CXX_NARCHFILES := $(call kernel-fs-ram_FILTERARCH,$(kernel-fs-ram_ARCHFILES),$(kernel-fs-ram_CXXFILES)) +kernel-fs-ram_OBJC_NARCHFILES := $(call kernel-fs-ram_FILTERARCH,$(kernel-fs-ram_ARCHFILES),$(kernel-fs-ram_OBJCFILES)) +kernel-fs-ram_NLIBARCHFILES := $(call kernel-fs-ram_FILTERARCH,$(kernel-fs-ram_LIBARCHFILES),$(kernel-fs-ram_LIBFILES)) +kernel-fs-ram_ARCHNLIBFILES := $(call kernel-fs-ram_FILTERARCH,$(kernel-fs-ram_LIBFILES),$(kernel-fs-ram_LIBARCHFILES)) + +kernel-fs-ram_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-fs-ram_OBJDIR)/include -include $(kernel-fs-ram_DEFLIBDEFSINC)) +ifneq (,) +kernel-fs-ram_CPPFLAGS += -I +endif +kernel-fs-ram_LINKLIBCPPFLAGS := $(kernel-fs-ram_CPPFLAGS) +kernel-fs-ram_CPPFLAGS += $(strip $($(kernel-fs-ram_DEFNAME)_CPPFLAGS)) +kernel-fs-ram_LINKLIBCPPFLAGS += $(strip $($(kernel-fs-ram_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-fs-ram_CFLAGS := $(strip $(CFLAGS) $($(kernel-fs-ram_DEFNAME)_CFLAGS)) +kernel-fs-ram_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-fs-ram_DEFNAME)_LINKLIBCFLAGS)) +kernel-fs-ram_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-fs-ram_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-fs-ram_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-fs-ram_CFLAGS := $(strip $(kernel-fs-ram_LTOFLAGS) $(kernel-fs-ram_CFLAGS)) +kernel-fs-ram_LINKLIBCFLAGS := $(strip $(kernel-fs-ram_LTOFLAGS) $(kernel-fs-ram_LINKLIBCFLAGS)) +kernel-fs-ram_CXXFLAGS := $(strip $(kernel-fs-ram_LTOFLAGS) $(kernel-fs-ram_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-fs-ram_SUBSTNULL := +kernel-fs-ram_SUBSTSPACE := $(kernel-fs-ram_SUBSTNULL) # +kernel-fs-ram_SUBSTCOMMA := , +kernel-fs-ram_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-fs-ram_SUBSTSPACE),$(kernel-fs-ram_SUBSTCOMMA),$(strip $($(kernel-fs-ram_DEFNAME)_STARTFILES)))) +kernel-fs-ram_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-fs-ram_CFLAGS := $(strip $(kernel-fs-ram_INSTRFUNCFLAGS) $(kernel-fs-ram_CFLAGS)) +kernel-fs-ram_CXXFLAGS := $(strip $(kernel-fs-ram_INSTRFUNCFLAGS) $(kernel-fs-ram_CXXFLAGS)) +kernel-fs-ram_LIBS += $(kernel-fs-ram_INSTRFUNCLIBS) +endif +endif +kernel-fs-ram_DFLAGS := $(strip $(kernel-fs-ram_DFLAGS) $($(kernel-fs-ram_DEFNAME)_DFLAGS)) +kernel-fs-ram_LINKLIBDFLAGS := $(strip $(kernel-fs-ram_DFLAGS) $($(kernel-fs-ram_DEFNAME)_LINKLIBDFLAGS)) +kernel-fs-ram_DXXFLAGS := $(strip $(kernel-fs-ram_DXXFLAGS) $($(kernel-fs-ram_DEFNAME)_DXXFLAGS)) + +ifeq (handler,library) + kernel-fs-ram_LIBSUFFIX := +else + kernel-fs-ram_LIBSUFFIX := .handler +endif + +ifeq (,) +kernel-fs-ram_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-fs-ram_LIBDIR := +endif + +ifeq (M,M) +kernel-fs-ram_LINKLIBCFILES := $(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$($(kernel-fs-ram_DEFNAME)_LINKLIBFILES)) +kernel-fs-ram_LINKLIBAFILES := $(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$($(kernel-fs-ram_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-fs-ram_DEFNAME)_LINKLIBFILES) $($(kernel-fs-ram_DEFNAME)_LINKLIBAFILES) $(kernel-fs-ram_ARCHNLIBFILES)),) + kernel-fs-ram_LINKLIB := +else + kernel-fs-ram_LINKLIB := $(kernel-fs-ram_LIBDIR)/libram$(kernel-fs-ram_LIBSUFFIX).a + ifneq (ram,$(kernel-fs-ram_LINKLIBNAME)) + kernel-fs-ram_LINKLIB += $(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)$(kernel-fs-ram_LIBSUFFIX).a + endif +endif +kernel-fs-ram_LINKLIBFILES := $(kernel-fs-ram_LINKLIBCFILES) $(kernel-fs-ram_LINKLIBAFILES) + +kernel-fs-ram_RELLINKLIBCFILES := $(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$($(kernel-fs-ram_DEFNAME)_RELLINKLIBFILES)) +kernel-fs-ram_RELLINKLIBAFILES := $(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$($(kernel-fs-ram_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-fs-ram_DEFNAME)_RELLINKLIBFILES) $($(kernel-fs-ram_DEFNAME)_RELLINKLIBAFILES) $(kernel-fs-ram_ARCHNLIBFILES)),) + kernel-fs-ram_RELLINKLIB := +else + kernel-fs-ram_RELLINKLIB := $(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_DEFNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a + ifneq (ram,$(kernel-fs-ram_LINKLIBNAME)) + kernel-fs-ram_RELLINKLIB += $(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a + endif +endif +kernel-fs-ram_RELLINKLIBFILES := $(kernel-fs-ram_RELLINKLIBCFILES) $(kernel-fs-ram_RELLINKLIBAFILES) +endif + +kernel-fs-ram_ENDOBJS := $(addsuffix .o,$(kernel-fs-ram_ENDFILES)) +kernel-fs-ram_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(notdir $(kernel-fs-ram_NLIBARCHFILES))) $(addprefix $(kernel-fs-ram_OBJDIR)/linklib/arch/,$(notdir $(kernel-fs-ram_ARCHNLIBFILES))) $(kernel-fs-ram_LINKLIBFILES)) \ + +kernel-fs-ram_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(notdir $(kernel-fs-ram_NLIBARCHFILES))) $(addprefix $(kernel-fs-ram_OBJDIR)/linklib/arch/,$(notdir $(kernel-fs-ram_ARCHNLIBFILES))) $(kernel-fs-ram_RELLINKLIBFILES)) \ + +$(kernel-fs-ram_LINKLIBFILES) $(kernel-fs-ram_RELLINKLIBFILES) : | $(kernel-fs-ram_OBJDIR)/linklib +$(kernel-fs-ram_LINKLIBOBJS) $(kernel-fs-ram_RELLINKLIBOBJS) : | $(kernel-fs-ram_OBJDIR)/linklib + +kernel-fs-ram_CCFILES := $(kernel-fs-ram_C_NARCHFILES) +kernel-fs-ram_TARGETCCFILES := $(strip $(kernel-fs-ram_STARTFILES) $(kernel-fs-ram_ENDFILES)) +kernel-fs-ram_LINKLIBCCFILES := $(strip $(kernel-fs-ram_NLIBARCHFILES) $(kernel-fs-ram_LINKLIBCFILES) $(kernel-fs-ram_RELLINKLIBCFILES)) +kernel-fs-ram_LINKLIBCCGENFILES := $(strip $(kernel-fs-ram_LINKLIBCFILES) $(kernel-fs-ram_RELLINKLIBCFILES)) + + +kernel-fs-ram_CXXABSBASENAMES := $(foreach kernel-fs-ram_CXXBASE,$(kernel-fs-ram_CXX_NARCHFILES),$(if $(filter /%,$(kernel-fs-ram_CXXBASE)),$(kernel-fs-ram_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-fs-ram_CXXBASE)))) + +ifneq ($(kernel-fs-ram_CXXABSBASENAMES),) + +kernel-fs-ram_CXXBASENAMES := $(basename $(kernel-fs-ram_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-fs-ram_MCXX_FILES := $(strip $(foreach kernel-fs-ram_CXXBASE,$(kernel-fs-ram_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-fs-ram_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-fs-ram_EXT),$(kernel-fs-ram_CXXBASE))))))) + +ifeq (,) +kernel-fs-ram_MCXX_SRCWILDCARD := % +else +kernel-fs-ram_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-ram_OBJDIR),) + kernel-fs-ram_CXXTARGETS := $(notdir $(kernel-fs-ram_CXXBASENAMES:=.o)) + kernel-fs-ram_CXXDTARGETS := $(notdir $(kernel-fs-ram_CXXBASENAMES:=.d)) + kernel-fs-ram_MCXX_WILDCARD := % +else + kernel-fs-ram_CXXTARGETS := $(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(kernel-fs-ram_CXXBASENAMES:=.o))) + kernel-fs-ram_CXXDTARGETS := $(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(kernel-fs-ram_CXXBASENAMES:=.d))) + kernel-fs-ram_MCXX_WILDCARD := $(kernel-fs-ram_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-fs-ram_CXXTARGETS) $(kernel-fs-ram_CXXDTARGETS) : | $(kernel-fs-ram_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-fs-ram_MCXX_CPPFLAGS := $(kernel-fs-ram_CPPFLAGS) +kernel-fs-ram_CXXFLAGS := $(kernel-fs-ram_CXXFLAGS) +ifeq ($(kernel-fs-ram_DXXFLAGS),) + kernel-fs-ram_DXXFLAGS := $(kernel-fs-ram_CXXFLAGS) +else + kernel-fs-ram_DXXFLAGS := $(kernel-fs-ram_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-fs-ram_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-fs-ram_STRIP ?= $(HOST_STRIP) + kernel-fs-ram_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-fs-ram_CXXCMD:=$(HOST_CXX) + kernel-fs-ram_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-fs-ram_MCXX_CPPFLAGS) $(kernel-fs-ram_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-ram_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-fs-ram_CXXFLAGS)) + kernel-fs-ram_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-fs-ram_DXXFLAGS)) + kernel-fs-ram_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-fs-ram_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-fs-ram_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-fs-ram_STRIP ?= $(TARGET_STRIP) + kernel-fs-ram_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-fs-ram_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-fs-ram_MCXX_CPPFLAGS := $(strip $(kernel-fs-ram_MCXX_CPPFLAGS) $(kernel-fs-ram_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-ram_CXXFLAGS := $(strip $(kernel-fs-ram_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-fs-ram_DXXFLAGS := $(kernel-fs-ram_DXXFLAGS) + kernel-fs-ram_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-fs-ram_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-fs-ram_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-fs-ram_STRIP ?= $(ECHO) >/dev/null + kernel-fs-ram_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-fs-ram_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-fs-ram_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-fs-ram_MCXX_CPPFLAGS) $(kernel-fs-ram_MCXX_EXTRA_CPPFLAGS)) + kernel-fs-ram_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-fs-ram_CXXFLAGS)) + kernel-fs-ram_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-fs-ram_DXXFLAGS)) + kernel-fs-ram_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-fs-ram_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-fs-ram_CXXCMD) $(kernel-fs-ram_CXXIQUOTE) $(dir $(2)) $(kernel-fs-ram_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_CXXIQUOTE) . $(kernel-fs-ram_CXXIQUOTE_END) $(strip $(kernel-fs-ram_CXXFLAGS) $(kernel-fs-ram_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-fs-ram_CXXCMD) $(kernel-fs-ram_CXXIQUOTE) $(dir $(2)) $(kernel-fs-ram_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_CXXIQUOTE) . $(kernel-fs-ram_CXXIQUOTE_END) $(strip $(kernel-fs-ram_CXXFLAGS) $(kernel-fs-ram_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-fs-ram_CXXCMD) $(kernel-fs-ram_CXXIQUOTE) $(dir $(2)) $(kernel-fs-ram_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_CXXIQUOTE) . $(kernel-fs-ram_CXXIQUOTE_END) $(strip $(kernel-fs-ram_CXXFLAGS) $(kernel-fs-ram_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-fs-ram_CXXCMD)" $(MKDEPEND) $(strip $(kernel-fs-ram_DXXFLAGS) $(kernel-fs-ram_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-fs-ram_OBJDIR),) + $(foreach kernel-fs-ram_CXXFILE,$(kernel-fs-ram_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-fs-ram_CXXFILE))),$(kernel-fs-ram_CXXFILE)))) +else + $(foreach kernel-fs-ram_CXXFILE,$(kernel-fs-ram_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(basename $(kernel-fs-ram_CXXFILE)))),$(kernel-fs-ram_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-fs-ram_OBJC_NARCHFILES),) + +ifeq (,) +kernel-fs-ram_MOBJC_SRCWILDCARD := % +else +kernel-fs-ram_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-ram_OBJDIR),) + kernel-fs-ram_MOBJC_TARGETS := $(addsuffix .o,$(kernel-fs-ram_OBJC_NARCHFILES)) + kernel-fs-ram_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-fs-ram_OBJC_NARCHFILES)) + kernel-fs-ram_MOBJC_WILDCARD := % +else + kernel-fs-ram_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(kernel-fs-ram_OBJC_NARCHFILES))) + kernel-fs-ram_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(kernel-fs-ram_OBJC_NARCHFILES))) + kernel-fs-ram_MOBJC_WILDCARD := $(kernel-fs-ram_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-fs-ram_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-fs-ram_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-fs-ram_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-ram_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-fs-ram_MOBJC_DIRS := $(foreach dir, $(kernel-fs-ram_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-ram_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-fs-ram_MOBJC_DIRS),) + kernel-fs-ram_MOBJC_DIRS := $(shell echo $(kernel-fs-ram_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-fs-ram_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-fs-ram_CC := $(TARGET_CC) +else + kernel-fs-ram_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-fs-ram_MOBJC_CPPFLAGS := $(kernel-fs-ram_CPPFLAGS) +kernel-fs-ram_OBJCFLAGS := $(kernel-fs-ram_CFLAGS) +kernel-fs-ram_OBJCFLAGS := $(kernel-fs-ram_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-fs-ram_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-fs-ram_OBJCFLAGS))) +ifeq ($(kernel-fs-ram_DFLAGS),) + kernel-fs-ram_OBJCDFLAGS := $(kernel-fs-ram_CFLAGS) +else + kernel-fs-ram_OBJCDFLAGS := $(kernel-fs-ram_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-fs-ram_LINK ?= $(strip $(kernel-fs-ram_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-fs-ram_STRIP ?= $(TARGET_STRIP) + kernel-fs-ram_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-fs-ram_CC) $(TARGET_SYSROOT)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_MOBJC_CPPFLAGS:=$(strip $(kernel-fs-ram_MOBJC_CPPFLAGS) $(kernel-fs-ram_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_OBJCFLAGS:=$(strip $(kernel-fs-ram_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_OBJCDFLAGS:=$(kernel-fs-ram_OBJCDFLAGS) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-fs-ram_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-fs-ram_STRIP ?= $(HOST_STRIP) + kernel-fs-ram_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-fs-ram_MOBJC_CPPFLAGS) $(kernel-fs-ram_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_OBJCFLAGS)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_OBJCDFLAGS)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(HOST_IQUOTE) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-fs-ram_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-fs-ram_STRIP ?= $(ECHO) >/dev/null + kernel-fs-ram_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-fs-ram_MOBJC_CPPFLAGS) $(kernel-fs-ram_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_OBJCFLAGS)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_OBJCDFLAGS)) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-fs-ram_MOBJC_TARGETS) $(kernel-fs-ram_MOBJC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-ram_MOBJC_TARGETS) : CPPFLAGS := $(kernel-fs-ram_MOBJC_CPPFLAGS) +$(kernel-fs-ram_MOBJC_TARGETS) : CFLAGS := $(kernel-fs-ram_OBJCFLAGS) +$(kernel-fs-ram_MOBJC_TARGETS) : $(kernel-fs-ram_MOBJC_WILDCARD).o : $(kernel-fs-ram_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-ram_MOBJC_DTARGETS) : $(kernel-fs-ram_MOBJC_WILDCARD).d : $(kernel-fs-ram_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-ram_OBJCDFLAGS) $(kernel-fs-ram_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-fs-ram_MC_SRCWILDCARD := % +else +kernel-fs-ram_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-ram_OBJDIR),) +kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(kernel-fs-ram_CCFILES)) +kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-ram_CCFILES)) +kernel-fs-ram_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(kernel-fs-ram_CCFILES)))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(kernel-fs-ram_CCFILES)))) +else +ifeq (,) + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(kernel-fs-ram_CCFILES))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(kernel-fs-ram_CCFILES))) +else + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-ram_CCFILES)))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-ram_CCFILES)))) +endif +endif +kernel-fs-ram_MC_TGTWILDCARD := $(kernel-fs-ram_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-ram_CCFILES)) + +# Be sure that all .c files are found +kernel-fs-ram_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-ram_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-ram_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-ram_MC_DIRS := $(foreach dir, $(kernel-fs-ram_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-ram_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-ram_MC_DIRS),) + kernel-fs-ram_MC_DIRS := $(shell echo $(kernel-fs-ram_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-ram_MC_DIRS) +endif + +endif + +kernel-fs-ram_MC_CPPFLAGS := $(kernel-fs-ram_CPPFLAGS) +kernel-fs-ram_CFLAGS := $(kernel-fs-ram_CFLAGS) +ifeq ($(kernel-fs-ram_DFLAGS),) + kernel-fs-ram_DFLAGS := $(kernel-fs-ram_CFLAGS) +else + kernel-fs-ram_DFLAGS := $(kernel-fs-ram_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-ram_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(TARGET_STRIP) +kernel-fs-ram_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(kernel-fs-ram_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(kernel-fs-ram_DFLAGS) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-ram_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(HOST_STRIP) +kernel-fs-ram_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_DFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-ram_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(ECHO) >/dev/null +kernel-fs-ram_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_DFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-ram_MC_TARGETS) : CPPFLAGS := $(kernel-fs-ram_MC_CPPFLAGS) +$(kernel-fs-ram_MC_TARGETS) : CFLAGS := $(kernel-fs-ram_CFLAGS) +$(kernel-fs-ram_MC_TARGETS) : $(kernel-fs-ram_MC_TGTWILDCARD).o : $(kernel-fs-ram_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-ram_MC_DTARGETS) : $(kernel-fs-ram_MC_TGTWILDCARD).d : $(kernel-fs-ram_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-ram_DFLAGS) $(kernel-fs-ram_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-fs-ram_MC_SRCWILDCARD := % +else +kernel-fs-ram_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-ram_OBJDIR),) +kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(kernel-fs-ram_TARGETCCFILES)) +kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-ram_TARGETCCFILES)) +kernel-fs-ram_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(kernel-fs-ram_TARGETCCFILES)))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(kernel-fs-ram_TARGETCCFILES)))) +else +ifeq (,) + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(kernel-fs-ram_TARGETCCFILES))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(kernel-fs-ram_TARGETCCFILES))) +else + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-ram_TARGETCCFILES)))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/,$(patsubst /%,%,$(kernel-fs-ram_TARGETCCFILES)))) +endif +endif +kernel-fs-ram_MC_TGTWILDCARD := $(kernel-fs-ram_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-ram_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-fs-ram_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-ram_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-ram_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-ram_MC_DIRS := $(foreach dir, $(kernel-fs-ram_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-ram_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-ram_MC_DIRS),) + kernel-fs-ram_MC_DIRS := $(shell echo $(kernel-fs-ram_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-ram_MC_DIRS) +endif + +endif + +kernel-fs-ram_MC_CPPFLAGS := $(kernel-fs-ram_CPPFLAGS) -D__AROS__ +kernel-fs-ram_CFLAGS := $(kernel-fs-ram_CFLAGS) +ifeq ($(kernel-fs-ram_DFLAGS),) + kernel-fs-ram_DFLAGS := $(kernel-fs-ram_CFLAGS) +else + kernel-fs-ram_DFLAGS := $(kernel-fs-ram_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-ram_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(TARGET_STRIP) +kernel-fs-ram_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(kernel-fs-ram_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(kernel-fs-ram_DFLAGS) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-ram_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(HOST_STRIP) +kernel-fs-ram_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_DFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-ram_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(ECHO) >/dev/null +kernel-fs-ram_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_DFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-ram_MC_TARGETS) : CPPFLAGS := $(kernel-fs-ram_MC_CPPFLAGS) +$(kernel-fs-ram_MC_TARGETS) : CFLAGS := $(kernel-fs-ram_CFLAGS) +$(kernel-fs-ram_MC_TARGETS) : $(kernel-fs-ram_MC_TGTWILDCARD).o : $(kernel-fs-ram_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-ram_MC_DTARGETS) : $(kernel-fs-ram_MC_TGTWILDCARD).d : $(kernel-fs-ram_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-ram_DFLAGS) $(kernel-fs-ram_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-fs-ram_MC_SRCWILDCARD := % +else +kernel-fs-ram_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-fs-ram_OBJDIR)/linklib,) +kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(kernel-fs-ram_NLIBARCHFILES)) +kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-ram_NLIBARCHFILES)) +kernel-fs-ram_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(notdir $(kernel-fs-ram_NLIBARCHFILES)))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(notdir $(kernel-fs-ram_NLIBARCHFILES)))) +else +ifeq (,) + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(kernel-fs-ram_NLIBARCHFILES))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(kernel-fs-ram_NLIBARCHFILES))) +else + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-fs-ram_NLIBARCHFILES)))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-fs-ram_NLIBARCHFILES)))) +endif +endif +kernel-fs-ram_MC_TGTWILDCARD := $(kernel-fs-ram_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-ram_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-fs-ram_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-ram_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-ram_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-ram_MC_DIRS := $(foreach dir, $(kernel-fs-ram_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-ram_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-ram_MC_DIRS),) + kernel-fs-ram_MC_DIRS := $(shell echo $(kernel-fs-ram_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-ram_MC_DIRS) +endif + +endif + +kernel-fs-ram_MC_CPPFLAGS := $(kernel-fs-ram_LINKLIBCPPFLAGS) -D__AROS__ +kernel-fs-ram_CFLAGS := $(kernel-fs-ram_LINKLIBCFLAGS) +ifeq ($(kernel-fs-ram_LINKLIBDFLAGS),) + kernel-fs-ram_DFLAGS := $(kernel-fs-ram_LINKLIBCFLAGS) +else + kernel-fs-ram_DFLAGS := $(kernel-fs-ram_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-ram_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(TARGET_STRIP) +kernel-fs-ram_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(kernel-fs-ram_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(kernel-fs-ram_DFLAGS) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-ram_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(HOST_STRIP) +kernel-fs-ram_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_DFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-ram_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(ECHO) >/dev/null +kernel-fs-ram_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_DFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-ram_MC_TARGETS) : CPPFLAGS := $(kernel-fs-ram_MC_CPPFLAGS) +$(kernel-fs-ram_MC_TARGETS) : CFLAGS := $(kernel-fs-ram_CFLAGS) +$(kernel-fs-ram_MC_TARGETS) : $(kernel-fs-ram_MC_TGTWILDCARD).o : $(kernel-fs-ram_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-ram_MC_DTARGETS) : $(kernel-fs-ram_MC_TGTWILDCARD).d : $(kernel-fs-ram_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-ram_DFLAGS) $(kernel-fs-ram_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-fs-ram_OBJDIR)/linklib,) +kernel-fs-ram_MC_SRCWILDCARD := % +else +kernel-fs-ram_MC_SRCWILDCARD := $(kernel-fs-ram_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-fs-ram_OBJDIR)/linklib,) +kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(kernel-fs-ram_LINKLIBCCGENFILES)) +kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(kernel-fs-ram_LINKLIBCCGENFILES)) +kernel-fs-ram_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(notdir $(kernel-fs-ram_LINKLIBCCGENFILES)))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(notdir $(kernel-fs-ram_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-fs-ram_OBJDIR)/linklib,) + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(kernel-fs-ram_LINKLIBCCGENFILES))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(kernel-fs-ram_LINKLIBCCGENFILES))) +else + kernel-fs-ram_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(patsubst $(kernel-fs-ram_OBJDIR)/linklib/%,%,$(kernel-fs-ram_LINKLIBCCGENFILES)))) + kernel-fs-ram_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(patsubst $(kernel-fs-ram_OBJDIR)/linklib/%,%,$(kernel-fs-ram_LINKLIBCCGENFILES)))) +endif +endif +kernel-fs-ram_MC_TGTWILDCARD := $(kernel-fs-ram_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : | $(addsuffix .c,$(kernel-fs-ram_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-fs-ram_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-ram_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-ram_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-ram_MC_DIRS := $(foreach dir, $(kernel-fs-ram_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-ram_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-ram_MC_DIRS),) + kernel-fs-ram_MC_DIRS := $(shell echo $(kernel-fs-ram_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-fs-ram_MC_DIRS) +endif + +endif + +kernel-fs-ram_MC_CPPFLAGS := $(kernel-fs-ram_LINKLIBCPPFLAGS) -D__AROS__ +kernel-fs-ram_CFLAGS := $(kernel-fs-ram_LINKLIBCFLAGS) +ifeq ($(kernel-fs-ram_LINKLIBDFLAGS),) + kernel-fs-ram_DFLAGS := $(kernel-fs-ram_LINKLIBCFLAGS) +else + kernel-fs-ram_DFLAGS := $(kernel-fs-ram_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-fs-ram_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(TARGET_STRIP) +kernel-fs-ram_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(kernel-fs-ram_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(kernel-fs-ram_DFLAGS) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-fs-ram_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(HOST_STRIP) +kernel-fs-ram_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-fs-ram_DFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(HOST_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-fs-ram_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-fs-ram_STRIP ?= $(ECHO) >/dev/null +kernel-fs-ram_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-fs-ram_MC_CPPFLAGS) $(kernel-fs-ram_MC_EXTRA_CPPFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_CFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-fs-ram_DFLAGS)) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-fs-ram_MC_TARGETS) $(kernel-fs-ram_MC_DTARGETS) : kernel-fs-ram_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-fs-ram_MC_TARGETS) : CPPFLAGS := $(kernel-fs-ram_MC_CPPFLAGS) +$(kernel-fs-ram_MC_TARGETS) : CFLAGS := $(kernel-fs-ram_CFLAGS) +$(kernel-fs-ram_MC_TARGETS) : $(kernel-fs-ram_MC_TGTWILDCARD).o : $(kernel-fs-ram_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-fs-ram_IQUOTE) $(dir $<) $(kernel-fs-ram_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-fs-ram_IQUOTE) . $(kernel-fs-ram_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-fs-ram_MC_DTARGETS) : $(kernel-fs-ram_MC_TGTWILDCARD).d : $(kernel-fs-ram_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-fs-ram_DFLAGS) $(kernel-fs-ram_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-fs-ram_LINKLIBAFILES),) + +ifeq ($(kernel-fs-ram_OBJDIR)/linklib,) +kernel-fs-ram-MA_TARGETS := $(addsuffix .o,$(kernel-fs-ram_LINKLIBAFILES) $(kernel-fs-ram_RELLINKLIBAFILES)) +kernel-fs-ram-MA_WILDCARD := % +else +kernel-fs-ram-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(notdir $(kernel-fs-ram_LINKLIBAFILES) $(kernel-fs-ram_RELLINKLIBAFILES)))) +kernel-fs-ram-MA_WILDCARD := $(kernel-fs-ram_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-fs-ram-MA_TARGETS) : | $(addsuffix .S,$(kernel-fs-ram_LINKLIBAFILES) $(kernel-fs-ram_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-fs-ram-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-fs-ram-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-fs-ram_LINKLIBAFILES) $(kernel-fs-ram_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-fs-ram-MA_DIRS := $(foreach dir, $(kernel-fs-ram-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-fs-ram-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-fs-ram-MA_DIRS),) + kernel-fs-ram-MA_DIRS := $(shell echo $(kernel-fs-ram-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-fs-ram-MA_DIRS) +endif + +endif + +kernel-fs-ram-MA_ASSEMBLER ?= $(kernel-fs-ram_ASSEMBLER) + +$(kernel-fs-ram-MA_TARGETS) : kernel-fs-ram-MA_CMD:= $(kernel-fs-ram-MA_ASSEMBLER) + +$(kernel-fs-ram-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-fs-ram-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-fs-ram-MA_TARGETS) : $(kernel-fs-ram-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-fs-ram-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-fs-ram-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-fs-ram-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-fs-ram_SUFFIX := handler +else +kernel-fs-ram_SUFFIX := +endif + +ifeq (target,target) +kernel-fs-ram_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-fs-ram_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-fs-ram_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-fs-ram_SUFFIX),handler) +kernel-fs-ram_MODULE := $(AROSDIR)/$(kernel-fs-ram_MODDIR)/$(kernel-fs-ram_DEFNAME)-$(kernel-fs-ram_SUFFIX) +else +kernel-fs-ram_MODULE := $(AROSDIR)/$(kernel-fs-ram_MODDIR)/$(kernel-fs-ram_DEFNAME).$(kernel-fs-ram_SUFFIX) +endif +kernel-fs-ram_KOBJ := $(KOBJSDIR)/$(kernel-fs-ram_DEFNAME)_$(kernel-fs-ram_SUFFIX).o +else +kernel-fs-ram_MODULE := +kernel-fs-ram_KOBJ := +endif + +kernel-fs-ram-quick : kernel-fs-ram +kernel-fs-ram : $(kernel-fs-ram_MODULE) $(kernel-fs-ram_LINKLIB) $(kernel-fs-ram_RELLINKLIB) +ifeq (M,M) +kernel-fs-ram-kobj : $(kernel-fs-ram_KOBJ) $(kernel-fs-ram_LINKLIB) $(kernel-fs-ram_RELLINKLIB) +kernel-fs-ram-kobj-quick : $(kernel-fs-ram_KOBJ) $(kernel-fs-ram_LINKLIB) $(kernel-fs-ram_RELLINKLIB) +endif +ifeq (M,M) +kernel-fs-ram-linklib : $(kernel-fs-ram_LINKLIB) $(kernel-fs-ram_RELLINKLIB) +endif + +kernel-fs-ram_OBJS := $(addsuffix .o,$(kernel-fs-ram_STARTFILES)) $(kernel-fs-ram_ARCHOBJS) \ + $(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(kernel-fs-ram_C_NARCHFILES:=.o) $(kernel-fs-ram_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (handler,handler) +kernel-fs-ram_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (ram,con) + kernel-fs-ram_ERR := $(notdir $(kernel-fs-ram_MODULE)).err +else + kernel-fs-ram_ERR := ram.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-fs-ram_DEFNAME)_LDFLAGS) $(kernel-fs-ram_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-fs-ram_LIBS) $($(kernel-fs-ram_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-fs-ram_MODULE) : LIB_NAMES := $(kernel-fs-ram_LIBS) $($(kernel-fs-ram_DEFNAME)_LIBS) +$(kernel-fs-ram_MODULE) : OBJS := $(kernel-fs-ram_STARTOBJS) $(kernel-fs-ram_OBJS) $(USER_OBJS) +$(kernel-fs-ram_MODULE) : ENDTAG := $(kernel-fs-ram_ENDOBJS) +$(kernel-fs-ram_MODULE) : ERR := $(kernel-fs-ram_ERR) +$(kernel-fs-ram_MODULE) : OBJDIR := $(kernel-fs-ram_OBJDIR) +$(kernel-fs-ram_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-fs-ram_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-fs-ram_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-fs-ram_MODULE) : $(kernel-fs-ram_STARTOBJS) $(kernel-fs-ram_OBJS) $(USER_OBJS) $(kernel-fs-ram_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-fs-ram_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-fs-ram_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-fs-ram_LC_LINKLIBNAME := $(shell echo $(kernel-fs-ram_LINKLIBNAME) | tr A-Z a-z) +kernel-fs-ram_LC_MODNAME := $(shell echo ram | tr A-Z a-z) +ifneq ($(kernel-fs-ram_LINKLIB),) + +ifeq (target,target) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(HOST_AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(KERNEL_AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)$(kernel-fs-ram_LIBSUFFIX).a : $(kernel-fs-ram_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-ram_AR) $@ $^ + $(Q)$(kernel-fs-ram_RANLIB) $@ +ifneq ($(kernel-fs-ram_LC_MODNAME),$(kernel-fs-ram_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-fs-ram_LIBDIR)/libram$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(AR) +$(kernel-fs-ram_LIBDIR)/libram$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-ram_LIBDIR)/libram$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(HOST_AR) +$(kernel-fs-ram_LIBDIR)/libram$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-ram_LIBDIR)/libram$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(KERNEL_AR) +$(kernel-fs-ram_LIBDIR)/libram$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-ram_LIBDIR)/libram$(kernel-fs-ram_LIBSUFFIX).a : $(kernel-fs-ram_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-ram_AR) $@ $^ + $(Q)$(kernel-fs-ram_RANLIB) $@ +endif + + +ifneq ($(kernel-fs-ram_LINKLIB),) +$(kernel-fs-ram_LINKLIB) : | $(kernel-fs-ram_LIBDIR) +else +$(kernel-fs-ram_LINKLIB) :: $(kernel-fs-ram_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-ram_LIBDIR) + +endif + +ifneq ($(kernel-fs-ram_RELLINKLIB),) + +ifeq (target,target) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(HOST_AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(KERNEL_AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_LINKLIBNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : $(kernel-fs-ram_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-ram_AR) $@ $^ + $(Q)$(kernel-fs-ram_RANLIB) $@ +ifneq ($(kernel-fs-ram_LC_MODNAME),$(kernel-fs-ram_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_DEFNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_DEFNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_DEFNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(HOST_AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_DEFNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_DEFNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_AR:=$(KERNEL_AR) +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_DEFNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : kernel-fs-ram_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-fs-ram_LIBDIR)/lib$(kernel-fs-ram_DEFNAME)_rel$(kernel-fs-ram_LIBSUFFIX).a : $(kernel-fs-ram_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-fs-ram_AR) $@ $^ + $(Q)$(kernel-fs-ram_RANLIB) $@ +endif + + +ifneq ($(kernel-fs-ram_RELLINKLIB),) +$(kernel-fs-ram_RELLINKLIB) : | $(kernel-fs-ram_LIBDIR) +else +$(kernel-fs-ram_RELLINKLIB) :: $(kernel-fs-ram_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-ram_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-fs-ram_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-fs-ram_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-fs-ram_SYMBOLS := $(kernel-fs-ram_KBASE) + +kernel-fs-ram_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-fs-ram_KOBJ_LIBS := $(filter-out $(kernel-fs-ram_KLIB),$(kernel-fs-ram_LIBS)) $(kernel-fs-ram_KAUTOLIB) +$(kernel-fs-ram_KOBJ) : LINKLIBS:=$(kernel-fs-ram_KOBJ_LIBS) $($(kernel-fs-ram_DEFNAME)_LIBS) +$(kernel-fs-ram_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-fs-ram_SYMBOLS)) +$(kernel-fs-ram_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-fs-ram_KOBJ) : $(kernel-fs-ram_OBJS) $(USER_OBJS) $(kernel-fs-ram_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-fs-ram_DEPS := $(addprefix $(kernel-fs-ram_OBJDIR)/,$(notdir $(kernel-fs-ram_CCFILES:=.d) $(kernel-fs-ram_TARGETCCFILES:=.d) $(kernel-fs-ram_CXXFILES:=.d))) $(addprefix $(kernel-fs-ram_OBJDIR)/linklib/,$(notdir $(kernel-fs-ram_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-fs-ram_DEPS),) + ifneq (kernel-fs-ram kernel-fs-ram-quick kernel-fs-ram-kobj kernel-fs-ram-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-fs-ram kernel-fs-ram-quick kernel-fs-ram-kobj kernel-fs-ram-kobj-quick),) + -include $(kernel-fs-ram_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-fs-ram_DEPS) + endif + endif +endif + +$(kernel-fs-ram_OBJS) $(kernel-fs-ram_DEPS) : | $(kernel-fs-ram_OBJDIR)/linklib + +ifneq ($(kernel-fs-ram_OBJS) $(kernel-fs-ram_DEPS) $(kernel-fs-ram_MODULE) $(kernel-fs-ram_KOBJ),) +$(kernel-fs-ram_OBJS) $(kernel-fs-ram_DEPS) $(kernel-fs-ram_MODULE) $(kernel-fs-ram_KOBJ) : | $(kernel-fs-ram_OBJDIR) $(AROSDIR)/$(kernel-fs-ram_MODDIR) $(KOBJSDIR) +else +$(kernel-fs-ram_OBJS) $(kernel-fs-ram_DEPS) $(kernel-fs-ram_MODULE) $(kernel-fs-ram_KOBJ) :: $(kernel-fs-ram_OBJDIR) $(AROSDIR)/$(kernel-fs-ram_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-fs-ram_OBJDIR) $(AROSDIR)/$(kernel-fs-ram_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-fs-ram kernel-fs-ram-includes kernel-fs-ram-quick kernel-fs-ram-kobj kernel-fs-ram-kobj-quick),) # Only for this target these deps are wanted + +kernel-fs-ram_DFILE_DEPS := $(kernel-fs-ram_LIBDEFSINC) $(kernel-fs-ram_DEFLIBDEFSINC) \ + $(addprefix $(kernel-fs-ram_INCDIR)/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) +$(kernel-fs-ram_DEPS) : $(kernel-fs-ram_DFILE_DEPS) +endif + +kernel-fs-ram_TOCLEAN := $(kernel-fs-ram_OBJS) $(kernel-fs-ram_DEPS) \ + $(kernel-fs-ram_MODULE) $(kernel-fs-ram_LINKLIB) $(kernel-fs-ram_KOBJ) \ + $(kernel-fs-ram_OBJDIR)/Makefile.ramhandler \ + $(addprefix $(kernel-fs-ram_OBJDIR)/include/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-fs-ram_INCDIR)/,$($(kernel-fs-ram_DEFNAME)_INCLUDES)) \ + $(kernel-fs-ram_OBJDIR)/ram_geninc $(kernel-fs-ram_OBJDIR)/ram_incs \ + $(addsuffix .c,$(kernel-fs-ram_LINKLIBFILES)) $(kernel-fs-ram_LINKLIBOBJS) $(kernel-fs-ram_LIBDEFSINC) \ + $(kernel-fs-ram_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-fs-ram_STARTFILES) $(kernel-fs-ram_ENDFILES)) \ + $(kernel-fs-ram_ENDOBJS) +kernel-fs-ram-clean : FILES := $(kernel-fs-ram_TOCLEAN) +kernel-fs-ram-clean :: + $(Q)$(ECHO) "Cleaning up for module ram" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-fs-ram_ALLTARGETS) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/base/bus/mmakefile b/rom/hidds/base/bus/mmakefile new file mode 100644 index 00000000000..a4a100264c4 --- /dev/null +++ b/rom/hidds/base/bus/mmakefile @@ -0,0 +1,1724 @@ +#$Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := bus_init bus_class + +NOWARN_FLAGS := $(NOWARN_PARENTHESES) +USER_CFLAGS := $(NOWARN_FLAGS) +USER_CPPFLAGS := \ + -DUSE_EXEC_DEBUG \ + -DAROS_USE_OOP \ + -D__OOP_NOMETHODBASES__ \ + -D__OOP_NOATTRBASES__ +#USER_CPPFLAGS += -DDEBUG +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-bus +#MM kernel-hidd-bus-quick +#MM kernel-hidd-bus-makefile +#MM kernel-hidd-bus-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-bus-includes +#MM- linklibs-bus: kernel-hidd-bus-linklib +#MM- linklibs-bus_rel : kernel-hidd-bus-linklib +#MM- includes-bus: kernel-hidd-bus-includes +#MM- includes-bus_rel : kernel-hidd-bus-includes +#MM- kernel-hidd-bus : kernel-hidd-bus-includes core-linklibs linklibs- +#MM kernel-hidd-bus-linklib : kernel-hidd-bus-includes includes- +#MM- kernel-hidd-bus-quick : kernel-hidd-bus-includes-quick +#MM kernel-hidd-bus-includes : kernel-hidd-bus-makefile kernel-hidd-bus-includes-dirs \ +#MM includes-generate-deps kernel-hidd-bus-fd +#MM kernel-hidd-bus-includes-quick +#MM kernel-hidd-bus-includes-dirs +#MM kernel-hidd-bus-fd + +# Library targets +#MM kernel-hidd-bus-kobj : core-linklibs linklibs- +#MM kernel-hidd-bus-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-bus-kobj : kernel-hidd-bus-includes core-linklibs linklibs- +#MM kernel-hidd-bus-kobj-quick : kernel-hidd-bus-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-bus_ALLTARGETS := kernel-hidd-bus kernel-hidd-bus-quick kernel-hidd-bus-clean + +ifeq (M,M) +kernel-hidd-bus_ALLTARGETS += kernel-hidd-bus-kobj kernel-hidd-bus-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-bus_ALLTARGETS += kernel-hidd-bus-includes \ + kernel-hidd-bus-includes-quick kernel-hidd-bus-includes-dirs \ + kernel-hidd-bus-linklib kernel-hidd-bus-fd +endif + +.PHONY : $(kernel-hidd-bus_ALLTARGETS) kernel-hidd-bus-makefile + +ifeq (bus,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-bus_DEFNAME := bus_ +else + kernel-hidd-bus_DEFNAME := bus +endif +kernel-hidd-bus_DEFLINKLIBNAME := $(kernel-hidd-bus_DEFNAME) +ifneq (,) + kernel-hidd-bus_LINKLIBNAME := +else + kernel-hidd-bus_LINKLIBNAME = $(kernel-hidd-bus_DEFLINKLIBNAME) +endif +kernel-hidd-bus_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-bus_DEFCPPFLAGS += -I +endif +kernel-hidd-bus_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-bus_DFLAGS := +else + kernel-hidd-bus_DFLAGS = $(kernel-hidd-bus_DEFDFLAGS) +endif +kernel-hidd-bus_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-bus_DXXFLAGS := +else + kernel-hidd-bus_DXXFLAGS = $(kernel-hidd-bus_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-bus_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-bus_DEFDFLAGS)) +kernel-hidd-bus_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-bus_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-bus_FUNCINSTR := yes +kernel-hidd-bus_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-bus_DEFDFLAGS)) +kernel-hidd-bus_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-bus_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-bus_OBJDIR := +else +kernel-hidd-bus_OBJDIR := $(OBJDIR)/$(kernel-hidd-bus_DEFNAME) +endif +ifneq (,) +kernel-hidd-bus_OBJDIR := $(kernel-hidd-bus_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-bus-makefile := $(kernel-hidd-bus_OBJDIR)/Makefile.$(kernel-hidd-bus_DEFNAME)hidd +kernel-hidd-bus-genmakefile : $(kernel-hidd-bus-makefile) + + +kernel-hidd-bus-genmakefile_OPTS := +ifneq (,) + kernel-hidd-bus-genmakefile_OPTS += -f + kernel-hidd-bus-genmakefile_MODNAME := bus_ +else + kernel-hidd-bus-genmakefile_MODNAME := bus +endif +kernel-hidd-bus-genmakefile_TARGET := Makefile.$(kernel-hidd-bus-genmakefile_MODNAME)hidd +kernel-hidd-bus-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-bus-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-bus-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-bus-genmakefile_OPTS += -c + kernel-hidd-bus-genmakefile_DEPS += + endif +else + kernel-hidd-bus-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/bus.conf + kernel-hidd-bus-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/bus.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-bus-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-bus-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-bus-genmakefile_OPTS += -o + kernel-hidd-bus-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-bus-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-bus_OBJDIR),) + kernel-hidd-bus-genmakefile_OPTS += -d $(kernel-hidd-bus_OBJDIR) + kernel-hidd-bus-genmakefile_TARGET := $(kernel-hidd-bus_OBJDIR)/$(kernel-hidd-bus-genmakefile_TARGET) +endif + +$(kernel-hidd-bus-genmakefile_TARGET) : OPTS := $(kernel-hidd-bus-genmakefile_OPTS) +$(kernel-hidd-bus-genmakefile_TARGET) : MODNAME := bus +$(kernel-hidd-bus-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-bus-genmakefile_TARGET) : $(kernel-hidd-bus-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-bus-makefile),) +$(kernel-hidd-bus-makefile) : | $(kernel-hidd-bus_OBJDIR) +else +$(kernel-hidd-bus-makefile) :: $(kernel-hidd-bus_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-bus_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-bus_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-bus-makefile) + +kernel-hidd-bus_DEFMODDIR := $($(kernel-hidd-bus_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-bus_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-bus_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-bus_MODDIR := +else + kernel-hidd-bus_MODDIR := $(kernel-hidd-bus_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-bus_INCDIR := +else +kernel-hidd-bus_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-bus_LIBDEFSINC := $(kernel-hidd-bus_OBJDIR)/include/$(kernel-hidd-bus_DEFNAME)_libdefs.h +kernel-hidd-bus_DEFLIBDEFSINC := $(kernel-hidd-bus_OBJDIR)/include/$(kernel-hidd-bus_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-bus-includes-quick : kernel-hidd-bus-includes +kernel-hidd-bus-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-bus_INCDIR)/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-bus_LIBDEFSINC) $(kernel-hidd-bus_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-bus_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-bus-includes_MODNAME := bus_ +else + kernel-hidd-bus-includes_MODNAME := bus +endif + +ifneq ($($(kernel-hidd-bus-includes_MODNAME)_INCLUDES),) + +kernel-hidd-bus-includes_TARGETS := $($(kernel-hidd-bus-includes_MODNAME)_INCLUDES) + +kernel-hidd-bus-includes_DEPS := $(GENMODULE) +kernel-hidd-bus-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-bus-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-bus-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-bus-includes_OPTS += -c + kernel-hidd-bus-includes_DEPS += + endif +else + kernel-hidd-bus-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/bus.conf + kernel-hidd-bus-includes_DEPS += $(SRCDIR)/$(CURDIR)/bus.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-bus-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-bus-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-bus-includes_OPTS += -o + kernel-hidd-bus-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-bus-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-bus_OBJDIR)/include,) + kernel-hidd-bus-includes_OPTS += -d $(kernel-hidd-bus_OBJDIR)/include + kernel-hidd-bus-includes_TARGETS := $(addprefix $(kernel-hidd-bus_OBJDIR)/include/,$(kernel-hidd-bus-includes_TARGETS)) + kernel-hidd-bus-includes_GENINCFLAG=$(kernel-hidd-bus_OBJDIR)/include/.bus.hidd-includes +else + kernel-hidd-bus-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.bus.hidd-includes +endif + +$(kernel-hidd-bus-includes_TARGETS) : $(kernel-hidd-bus-includes_DEPS) $(kernel-hidd-bus-includes_GENINCFLAG) + +$(kernel-hidd-bus-includes_GENINCFLAG) : OPTS := $(kernel-hidd-bus-includes_OPTS) +$(kernel-hidd-bus-includes_GENINCFLAG) : MODNAME := bus +$(kernel-hidd-bus-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-bus-includes_GENINCFLAG) : $(kernel-hidd-bus-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-bus_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) : | $(kernel-hidd-bus_OBJDIR)/bus_geninc + +$(kernel-hidd-bus_OBJDIR)/bus_geninc : COPYSRCDIR := $(kernel-hidd-bus_OBJDIR)/include +$(kernel-hidd-bus_OBJDIR)/bus_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-bus_OBJDIR)/bus_geninc : FILES := $($(kernel-hidd-bus_DEFNAME)_INCLUDES) +$(kernel-hidd-bus_OBJDIR)/bus_geninc : $(addprefix $(kernel-hidd-bus_OBJDIR)/include/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-bus_OBJDIR)/include + +$(addprefix $(kernel-hidd-bus_INCDIR)/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) : | $(kernel-hidd-bus_OBJDIR)/bus_incs + +$(kernel-hidd-bus_OBJDIR)/bus_incs : COPYSRCDIR := $(kernel-hidd-bus_OBJDIR)/include +$(kernel-hidd-bus_OBJDIR)/bus_incs : TGTDIR := $(kernel-hidd-bus_INCDIR) +$(kernel-hidd-bus_OBJDIR)/bus_incs : FILES := $($(kernel-hidd-bus_DEFNAME)_INCLUDES) +$(kernel-hidd-bus_OBJDIR)/bus_incs : $(addprefix $(kernel-hidd-bus_OBJDIR)/include/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-bus_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-bus_DEFNAME)_INCLUDES)))) + +TMPbus_INCDIRS := \ + $(kernel-hidd-bus_OBJDIR)/include $(addprefix $(kernel-hidd-bus_OBJDIR)/include/,$(kernel-hidd-bus_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-bus_INCDIRS)) \ + $(kernel-hidd-bus_INCDIR) $(addprefix $(kernel-hidd-bus_INCDIR)/,$(kernel-hidd-bus_INCDIRS)) + +ifneq (kernel-hidd-bus-includes-dirs,) +kernel-hidd-bus-includes-dirs : | $(TMPbus_INCDIRS) +else +kernel-hidd-bus-includes-dirs :: $(TMPbus_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPbus_INCDIRS) + + +endif + +endif + + +kernel-hidd-bus-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-bus-genlibdefs_OPTS += -f + kernel-hidd-bus-genlibdefs_MODNAME := bus_ +else + kernel-hidd-bus-genlibdefs_MODNAME := bus +endif +kernel-hidd-bus-genlibdefs_TARGET := $(kernel-hidd-bus-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-bus-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-bus-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-bus-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-bus-genlibdefs_OPTS += -c + kernel-hidd-bus-genlibdefs_DEPS += + endif +else + kernel-hidd-bus-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/bus.conf + kernel-hidd-bus-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/bus.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-bus-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-bus-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-bus-genlibdefs_OPTS += -o + kernel-hidd-bus-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-bus-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-bus_OBJDIR)/include,) + kernel-hidd-bus-genlibdefs_OPTS += -d $(kernel-hidd-bus_OBJDIR)/include + kernel-hidd-bus-genlibdefs_TARGET := $(kernel-hidd-bus_OBJDIR)/include/$(kernel-hidd-bus-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-bus-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-bus-genlibdefs_TARGET) : OPTS := $(kernel-hidd-bus-genlibdefs_OPTS) +$(kernel-hidd-bus-genlibdefs_TARGET) : MODNAME := bus +$(kernel-hidd-bus-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-bus-genlibdefs_TARGET) : $(kernel-hidd-bus-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-bus_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-bus_LIBDEFSINC) +$(kernel-hidd-bus_DEFLIBDEFSINC) : $(kernel-hidd-bus_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-bus_LIBDEFSINC) $(kernel-hidd-bus_DEFLIBDEFSINC) : | $(kernel-hidd-bus_OBJDIR)/include + +ifneq (kernel-hidd-bus-includes-dirs,) +kernel-hidd-bus-includes-dirs : | $(kernel-hidd-bus_OBJDIR)/include +else +kernel-hidd-bus-includes-dirs :: $(kernel-hidd-bus_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-bus_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-bus-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-bus-genmodfiles_OPTS += -f + kernel-hidd-bus-genmodfiles_MODNAME := bus_ +else + kernel-hidd-bus-genmodfiles_MODNAME := bus +endif +kernel-hidd-bus-genmodfiles_GENTARGETS := $($(kernel-hidd-bus-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-bus-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-bus-genmodfiles_STUBTARGETS := $($(kernel-hidd-bus-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-bus-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-bus-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-bus-genmodfiles_GENTARGETS)) +kernel-hidd-bus-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-bus-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-bus-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-bus-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-bus-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-bus-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-bus-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-bus-genmodfiles_OPTS += -c + kernel-hidd-bus-genmodfiles_DEPS += + endif +else + kernel-hidd-bus-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/bus.conf + kernel-hidd-bus-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/bus.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-bus-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-bus-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-bus-genmodfiles_OPTS += -o + kernel-hidd-bus-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-bus-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-bus_OBJDIR),) + kernel-hidd-bus-genmodfiles_OPTS += -d $(kernel-hidd-bus_OBJDIR) + kernel-hidd-bus-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-bus_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-bus-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-bus-genmodfiles_TARGETDIR)/,$(kernel-hidd-bus-genmodfiles_GENTARGETS)) + kernel-hidd-bus-genmodfiles_GENFILEFLAG=$(kernel-hidd-bus-genmodfiles_TARGETDIR)/.bus.hidd-genfiles +else + kernel-hidd-bus-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.bus.hidd-genfiles +endif +ifneq ($(kernel-hidd-bus_OBJDIR)/linklib,) + kernel-hidd-bus-genmodfiles_OPTS += -l $(kernel-hidd-bus_OBJDIR)/linklib + kernel-hidd-bus-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-bus_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-bus-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-bus-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-bus-genmodfiles_STUBTARGETS)) + kernel-hidd-bus-genmodfiles_TARGETDIRS += $(kernel-hidd-bus_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-bus_OBJDIR),) + kernel-hidd-bus-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-bus-genmodfiles_TARGETDIR)/,$(kernel-hidd-bus-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-bus-genmodfiles_TARGETS := $(kernel-hidd-bus-genmodfiles_GENTARGETS) $(kernel-hidd-bus-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-bus-genmodfiles_TARGETDIRS),) +$(kernel-hidd-bus-genmodfiles_TARGETS) : | $(kernel-hidd-bus-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-bus-genmodfiles_TARGETS) : $(kernel-hidd-bus-genmodfiles_DEPS) $(kernel-hidd-bus-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-bus-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-bus-genmodfiles_OPTS) +$(kernel-hidd-bus-genmodfiles_GENFILEFLAG) : MODNAME := bus +$(kernel-hidd-bus-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-bus-genmodfiles_GENFILEFLAG) : $(kernel-hidd-bus-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-bus-genmodfiles_GENFILEFLAG) : $(kernel-hidd-bus_DEFLIBDEFSINC) $(kernel-hidd-bus-makefile) + + +ifneq ($(kernel-hidd-bus-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-bus-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-bus_OBJDIR)/linklib +else +$(kernel-hidd-bus-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-bus_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-bus_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-bus_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-bus_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-bus-fd : $(kernel-hidd-bus_FDDIR)/bus_lib.fd + + +TMP_TARGET := bus_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/bus.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/bus.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-bus_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-bus_FDDIR) + TMP_TARGET := $(kernel-hidd-bus_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := bus +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-bus_FDDIR)/bus_lib.fd : | $(kernel-hidd-bus_FDDIR) + + +ifneq (kernel-hidd-bus-fd-setup,) +kernel-hidd-bus-fd-setup : | $(kernel-hidd-bus_FDDIR) +else +kernel-hidd-bus-fd-setup :: $(kernel-hidd-bus_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-bus_FDDIR) + +endif + +## Compilation +## +kernel-hidd-bus_FILES := $(FILES) +kernel-hidd-bus_OBJCFILES := +kernel-hidd-bus_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-bus_LIBFILES := +kernel-hidd-bus_LIBS := + +kernel-hidd-bus_FDIRS := $(sort $(dir $(kernel-hidd-bus_FILES))) + +kernel-hidd-bus_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-bus_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-bus_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-bus_FILTERARCH = $(filter-out $(call kernel-hidd-bus_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-bus_STARTFILES := $(addprefix $(kernel-hidd-bus_OBJDIR)/,$($(kernel-hidd-bus_DEFNAME)_STARTFILES)) +kernel-hidd-bus_ENDFILES := $(addprefix $(kernel-hidd-bus_OBJDIR)/,$($(kernel-hidd-bus_DEFNAME)_ENDFILES)) + +kernel-hidd-bus_ARCHOBJS := $(wildcard $(kernel-hidd-bus_OBJDIR)/arch/*.o) +kernel-hidd-bus_LIBARCHOBJS := $(wildcard $(kernel-hidd-bus_OBJDIR)/linklib/arch/*.o) +kernel-hidd-bus_ARCHFILES := $(basename $(notdir $(kernel-hidd-bus_ARCHOBJS))) +kernel-hidd-bus_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-bus_LIBARCHOBJS))) +kernel-hidd-bus_C_NARCHFILES := $(call kernel-hidd-bus_FILTERARCH,$(kernel-hidd-bus_ARCHFILES),$(kernel-hidd-bus_FILES)) +kernel-hidd-bus_CXX_NARCHFILES := $(call kernel-hidd-bus_FILTERARCH,$(kernel-hidd-bus_ARCHFILES),$(kernel-hidd-bus_CXXFILES)) +kernel-hidd-bus_OBJC_NARCHFILES := $(call kernel-hidd-bus_FILTERARCH,$(kernel-hidd-bus_ARCHFILES),$(kernel-hidd-bus_OBJCFILES)) +kernel-hidd-bus_NLIBARCHFILES := $(call kernel-hidd-bus_FILTERARCH,$(kernel-hidd-bus_LIBARCHFILES),$(kernel-hidd-bus_LIBFILES)) +kernel-hidd-bus_ARCHNLIBFILES := $(call kernel-hidd-bus_FILTERARCH,$(kernel-hidd-bus_LIBFILES),$(kernel-hidd-bus_LIBARCHFILES)) + +kernel-hidd-bus_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-bus_OBJDIR)/include -include $(kernel-hidd-bus_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-bus_CPPFLAGS += -I +endif +kernel-hidd-bus_LINKLIBCPPFLAGS := $(kernel-hidd-bus_CPPFLAGS) +kernel-hidd-bus_CPPFLAGS += $(strip $($(kernel-hidd-bus_DEFNAME)_CPPFLAGS)) +kernel-hidd-bus_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-bus_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-bus_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-bus_DEFNAME)_CFLAGS)) +kernel-hidd-bus_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-bus_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-bus_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-bus_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-bus_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-bus_CFLAGS := $(strip $(kernel-hidd-bus_LTOFLAGS) $(kernel-hidd-bus_CFLAGS)) +kernel-hidd-bus_LINKLIBCFLAGS := $(strip $(kernel-hidd-bus_LTOFLAGS) $(kernel-hidd-bus_LINKLIBCFLAGS)) +kernel-hidd-bus_CXXFLAGS := $(strip $(kernel-hidd-bus_LTOFLAGS) $(kernel-hidd-bus_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-bus_SUBSTNULL := +kernel-hidd-bus_SUBSTSPACE := $(kernel-hidd-bus_SUBSTNULL) # +kernel-hidd-bus_SUBSTCOMMA := , +kernel-hidd-bus_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-bus_SUBSTSPACE),$(kernel-hidd-bus_SUBSTCOMMA),$(strip $($(kernel-hidd-bus_DEFNAME)_STARTFILES)))) +kernel-hidd-bus_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-bus_CFLAGS := $(strip $(kernel-hidd-bus_INSTRFUNCFLAGS) $(kernel-hidd-bus_CFLAGS)) +kernel-hidd-bus_CXXFLAGS := $(strip $(kernel-hidd-bus_INSTRFUNCFLAGS) $(kernel-hidd-bus_CXXFLAGS)) +kernel-hidd-bus_LIBS += $(kernel-hidd-bus_INSTRFUNCLIBS) +endif +endif +kernel-hidd-bus_DFLAGS := $(strip $(kernel-hidd-bus_DFLAGS) $($(kernel-hidd-bus_DEFNAME)_DFLAGS)) +kernel-hidd-bus_LINKLIBDFLAGS := $(strip $(kernel-hidd-bus_DFLAGS) $($(kernel-hidd-bus_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-bus_DXXFLAGS := $(strip $(kernel-hidd-bus_DXXFLAGS) $($(kernel-hidd-bus_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-bus_LIBSUFFIX := +else + kernel-hidd-bus_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-bus_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-bus_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-bus_LINKLIBCFILES := $(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$($(kernel-hidd-bus_DEFNAME)_LINKLIBFILES)) +kernel-hidd-bus_LINKLIBAFILES := $(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$($(kernel-hidd-bus_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-bus_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-bus_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-bus_ARCHNLIBFILES)),) + kernel-hidd-bus_LINKLIB := +else + kernel-hidd-bus_LINKLIB := $(kernel-hidd-bus_LIBDIR)/libbus$(kernel-hidd-bus_LIBSUFFIX).a + ifneq (bus,$(kernel-hidd-bus_LINKLIBNAME)) + kernel-hidd-bus_LINKLIB += $(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)$(kernel-hidd-bus_LIBSUFFIX).a + endif +endif +kernel-hidd-bus_LINKLIBFILES := $(kernel-hidd-bus_LINKLIBCFILES) $(kernel-hidd-bus_LINKLIBAFILES) + +kernel-hidd-bus_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$($(kernel-hidd-bus_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-bus_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$($(kernel-hidd-bus_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-bus_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-bus_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-bus_ARCHNLIBFILES)),) + kernel-hidd-bus_RELLINKLIB := +else + kernel-hidd-bus_RELLINKLIB := $(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_DEFNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a + ifneq (bus,$(kernel-hidd-bus_LINKLIBNAME)) + kernel-hidd-bus_RELLINKLIB += $(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a + endif +endif +kernel-hidd-bus_RELLINKLIBFILES := $(kernel-hidd-bus_RELLINKLIBCFILES) $(kernel-hidd-bus_RELLINKLIBAFILES) +endif + +kernel-hidd-bus_ENDOBJS := $(addsuffix .o,$(kernel-hidd-bus_ENDFILES)) +kernel-hidd-bus_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(notdir $(kernel-hidd-bus_NLIBARCHFILES))) $(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-bus_ARCHNLIBFILES))) $(kernel-hidd-bus_LINKLIBFILES)) \ + +kernel-hidd-bus_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(notdir $(kernel-hidd-bus_NLIBARCHFILES))) $(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-bus_ARCHNLIBFILES))) $(kernel-hidd-bus_RELLINKLIBFILES)) \ + +$(kernel-hidd-bus_LINKLIBFILES) $(kernel-hidd-bus_RELLINKLIBFILES) : | $(kernel-hidd-bus_OBJDIR)/linklib +$(kernel-hidd-bus_LINKLIBOBJS) $(kernel-hidd-bus_RELLINKLIBOBJS) : | $(kernel-hidd-bus_OBJDIR)/linklib + +kernel-hidd-bus_CCFILES := $(kernel-hidd-bus_C_NARCHFILES) +kernel-hidd-bus_TARGETCCFILES := $(strip $(kernel-hidd-bus_STARTFILES) $(kernel-hidd-bus_ENDFILES)) +kernel-hidd-bus_LINKLIBCCFILES := $(strip $(kernel-hidd-bus_NLIBARCHFILES) $(kernel-hidd-bus_LINKLIBCFILES) $(kernel-hidd-bus_RELLINKLIBCFILES)) +kernel-hidd-bus_LINKLIBCCGENFILES := $(strip $(kernel-hidd-bus_LINKLIBCFILES) $(kernel-hidd-bus_RELLINKLIBCFILES)) + + +kernel-hidd-bus_CXXABSBASENAMES := $(foreach kernel-hidd-bus_CXXBASE,$(kernel-hidd-bus_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-bus_CXXBASE)),$(kernel-hidd-bus_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-bus_CXXBASE)))) + +ifneq ($(kernel-hidd-bus_CXXABSBASENAMES),) + +kernel-hidd-bus_CXXBASENAMES := $(basename $(kernel-hidd-bus_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-bus_MCXX_FILES := $(strip $(foreach kernel-hidd-bus_CXXBASE,$(kernel-hidd-bus_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-bus_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-bus_EXT),$(kernel-hidd-bus_CXXBASE))))))) + +ifeq (,) +kernel-hidd-bus_MCXX_SRCWILDCARD := % +else +kernel-hidd-bus_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-bus_OBJDIR),) + kernel-hidd-bus_CXXTARGETS := $(notdir $(kernel-hidd-bus_CXXBASENAMES:=.o)) + kernel-hidd-bus_CXXDTARGETS := $(notdir $(kernel-hidd-bus_CXXBASENAMES:=.d)) + kernel-hidd-bus_MCXX_WILDCARD := % +else + kernel-hidd-bus_CXXTARGETS := $(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(kernel-hidd-bus_CXXBASENAMES:=.o))) + kernel-hidd-bus_CXXDTARGETS := $(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(kernel-hidd-bus_CXXBASENAMES:=.d))) + kernel-hidd-bus_MCXX_WILDCARD := $(kernel-hidd-bus_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-bus_CXXTARGETS) $(kernel-hidd-bus_CXXDTARGETS) : | $(kernel-hidd-bus_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-bus_MCXX_CPPFLAGS := $(kernel-hidd-bus_CPPFLAGS) +kernel-hidd-bus_CXXFLAGS := $(kernel-hidd-bus_CXXFLAGS) +ifeq ($(kernel-hidd-bus_DXXFLAGS),) + kernel-hidd-bus_DXXFLAGS := $(kernel-hidd-bus_CXXFLAGS) +else + kernel-hidd-bus_DXXFLAGS := $(kernel-hidd-bus_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-bus_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-bus_STRIP ?= $(HOST_STRIP) + kernel-hidd-bus_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-bus_CXXCMD:=$(HOST_CXX) + kernel-hidd-bus_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-bus_MCXX_CPPFLAGS) $(kernel-hidd-bus_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-bus_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-bus_CXXFLAGS)) + kernel-hidd-bus_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-bus_DXXFLAGS)) + kernel-hidd-bus_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-bus_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-bus_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-bus_STRIP ?= $(TARGET_STRIP) + kernel-hidd-bus_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-bus_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-bus_MCXX_CPPFLAGS := $(strip $(kernel-hidd-bus_MCXX_CPPFLAGS) $(kernel-hidd-bus_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-bus_CXXFLAGS := $(strip $(kernel-hidd-bus_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-bus_DXXFLAGS := $(kernel-hidd-bus_DXXFLAGS) + kernel-hidd-bus_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-bus_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-bus_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-bus_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-bus_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-bus_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-bus_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-bus_MCXX_CPPFLAGS) $(kernel-hidd-bus_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-bus_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-bus_CXXFLAGS)) + kernel-hidd-bus_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-bus_DXXFLAGS)) + kernel-hidd-bus_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-bus_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-bus_CXXCMD) $(kernel-hidd-bus_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-bus_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_CXXIQUOTE) . $(kernel-hidd-bus_CXXIQUOTE_END) $(strip $(kernel-hidd-bus_CXXFLAGS) $(kernel-hidd-bus_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-bus_CXXCMD) $(kernel-hidd-bus_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-bus_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_CXXIQUOTE) . $(kernel-hidd-bus_CXXIQUOTE_END) $(strip $(kernel-hidd-bus_CXXFLAGS) $(kernel-hidd-bus_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-bus_CXXCMD) $(kernel-hidd-bus_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-bus_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_CXXIQUOTE) . $(kernel-hidd-bus_CXXIQUOTE_END) $(strip $(kernel-hidd-bus_CXXFLAGS) $(kernel-hidd-bus_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-bus_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-bus_DXXFLAGS) $(kernel-hidd-bus_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-bus_OBJDIR),) + $(foreach kernel-hidd-bus_CXXFILE,$(kernel-hidd-bus_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-bus_CXXFILE))),$(kernel-hidd-bus_CXXFILE)))) +else + $(foreach kernel-hidd-bus_CXXFILE,$(kernel-hidd-bus_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(basename $(kernel-hidd-bus_CXXFILE)))),$(kernel-hidd-bus_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-bus_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-bus_MOBJC_SRCWILDCARD := % +else +kernel-hidd-bus_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-bus_OBJDIR),) + kernel-hidd-bus_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-bus_OBJC_NARCHFILES)) + kernel-hidd-bus_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-bus_OBJC_NARCHFILES)) + kernel-hidd-bus_MOBJC_WILDCARD := % +else + kernel-hidd-bus_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(kernel-hidd-bus_OBJC_NARCHFILES))) + kernel-hidd-bus_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(kernel-hidd-bus_OBJC_NARCHFILES))) + kernel-hidd-bus_MOBJC_WILDCARD := $(kernel-hidd-bus_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-bus_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-bus_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-bus_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-bus_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-bus_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-bus_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-bus_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-bus_MOBJC_DIRS),) + kernel-hidd-bus_MOBJC_DIRS := $(shell echo $(kernel-hidd-bus_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-bus_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-bus_CC := $(TARGET_CC) +else + kernel-hidd-bus_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-bus_MOBJC_CPPFLAGS := $(kernel-hidd-bus_CPPFLAGS) +kernel-hidd-bus_OBJCFLAGS := $(kernel-hidd-bus_CFLAGS) +kernel-hidd-bus_OBJCFLAGS := $(kernel-hidd-bus_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-bus_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-bus_OBJCFLAGS))) +ifeq ($(kernel-hidd-bus_DFLAGS),) + kernel-hidd-bus_OBJCDFLAGS := $(kernel-hidd-bus_CFLAGS) +else + kernel-hidd-bus_OBJCDFLAGS := $(kernel-hidd-bus_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-bus_LINK ?= $(strip $(kernel-hidd-bus_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-bus_STRIP ?= $(TARGET_STRIP) + kernel-hidd-bus_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-bus_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-bus_MOBJC_CPPFLAGS) $(kernel-hidd-bus_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_OBJCFLAGS:=$(strip $(kernel-hidd-bus_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_OBJCDFLAGS:=$(kernel-hidd-bus_OBJCDFLAGS) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-bus_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-bus_STRIP ?= $(HOST_STRIP) + kernel-hidd-bus_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-bus_MOBJC_CPPFLAGS) $(kernel-hidd-bus_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_OBJCFLAGS)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_OBJCDFLAGS)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-bus_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-bus_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-bus_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-bus_MOBJC_CPPFLAGS) $(kernel-hidd-bus_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_OBJCFLAGS)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_OBJCDFLAGS)) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-bus_MOBJC_TARGETS) $(kernel-hidd-bus_MOBJC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-bus_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-bus_MOBJC_CPPFLAGS) +$(kernel-hidd-bus_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-bus_OBJCFLAGS) +$(kernel-hidd-bus_MOBJC_TARGETS) : $(kernel-hidd-bus_MOBJC_WILDCARD).o : $(kernel-hidd-bus_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-bus_MOBJC_DTARGETS) : $(kernel-hidd-bus_MOBJC_WILDCARD).d : $(kernel-hidd-bus_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-bus_OBJCDFLAGS) $(kernel-hidd-bus_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-bus_MC_SRCWILDCARD := % +else +kernel-hidd-bus_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-bus_OBJDIR),) +kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-bus_CCFILES)) +kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-bus_CCFILES)) +kernel-hidd-bus_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(kernel-hidd-bus_CCFILES)))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(kernel-hidd-bus_CCFILES)))) +else +ifeq (,) + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(kernel-hidd-bus_CCFILES))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(kernel-hidd-bus_CCFILES))) +else + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-bus_CCFILES)))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-bus_CCFILES)))) +endif +endif +kernel-hidd-bus_MC_TGTWILDCARD := $(kernel-hidd-bus_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-bus_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-bus_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-bus_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-bus_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-bus_MC_DIRS := $(foreach dir, $(kernel-hidd-bus_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-bus_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-bus_MC_DIRS),) + kernel-hidd-bus_MC_DIRS := $(shell echo $(kernel-hidd-bus_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-bus_MC_DIRS) +endif + +endif + +kernel-hidd-bus_MC_CPPFLAGS := $(kernel-hidd-bus_CPPFLAGS) +kernel-hidd-bus_CFLAGS := $(kernel-hidd-bus_CFLAGS) +ifeq ($(kernel-hidd-bus_DFLAGS),) + kernel-hidd-bus_DFLAGS := $(kernel-hidd-bus_CFLAGS) +else + kernel-hidd-bus_DFLAGS := $(kernel-hidd-bus_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-bus_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(TARGET_STRIP) +kernel-hidd-bus_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(kernel-hidd-bus_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(kernel-hidd-bus_DFLAGS) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-bus_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(HOST_STRIP) +kernel-hidd-bus_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_DFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-bus_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-bus_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_DFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-bus_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-bus_MC_CPPFLAGS) +$(kernel-hidd-bus_MC_TARGETS) : CFLAGS := $(kernel-hidd-bus_CFLAGS) +$(kernel-hidd-bus_MC_TARGETS) : $(kernel-hidd-bus_MC_TGTWILDCARD).o : $(kernel-hidd-bus_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-bus_MC_DTARGETS) : $(kernel-hidd-bus_MC_TGTWILDCARD).d : $(kernel-hidd-bus_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-bus_DFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-bus_MC_SRCWILDCARD := % +else +kernel-hidd-bus_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-bus_OBJDIR),) +kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-bus_TARGETCCFILES)) +kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-bus_TARGETCCFILES)) +kernel-hidd-bus_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(kernel-hidd-bus_TARGETCCFILES)))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(kernel-hidd-bus_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(kernel-hidd-bus_TARGETCCFILES))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(kernel-hidd-bus_TARGETCCFILES))) +else + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-bus_TARGETCCFILES)))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-bus_TARGETCCFILES)))) +endif +endif +kernel-hidd-bus_MC_TGTWILDCARD := $(kernel-hidd-bus_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-bus_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-bus_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-bus_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-bus_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-bus_MC_DIRS := $(foreach dir, $(kernel-hidd-bus_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-bus_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-bus_MC_DIRS),) + kernel-hidd-bus_MC_DIRS := $(shell echo $(kernel-hidd-bus_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-bus_MC_DIRS) +endif + +endif + +kernel-hidd-bus_MC_CPPFLAGS := $(kernel-hidd-bus_CPPFLAGS) -D__AROS__ +kernel-hidd-bus_CFLAGS := $(kernel-hidd-bus_CFLAGS) +ifeq ($(kernel-hidd-bus_DFLAGS),) + kernel-hidd-bus_DFLAGS := $(kernel-hidd-bus_CFLAGS) +else + kernel-hidd-bus_DFLAGS := $(kernel-hidd-bus_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-bus_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(TARGET_STRIP) +kernel-hidd-bus_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(kernel-hidd-bus_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(kernel-hidd-bus_DFLAGS) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-bus_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(HOST_STRIP) +kernel-hidd-bus_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_DFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-bus_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-bus_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_DFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-bus_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-bus_MC_CPPFLAGS) +$(kernel-hidd-bus_MC_TARGETS) : CFLAGS := $(kernel-hidd-bus_CFLAGS) +$(kernel-hidd-bus_MC_TARGETS) : $(kernel-hidd-bus_MC_TGTWILDCARD).o : $(kernel-hidd-bus_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-bus_MC_DTARGETS) : $(kernel-hidd-bus_MC_TGTWILDCARD).d : $(kernel-hidd-bus_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-bus_DFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-bus_MC_SRCWILDCARD := % +else +kernel-hidd-bus_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-bus_OBJDIR)/linklib,) +kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-bus_NLIBARCHFILES)) +kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-bus_NLIBARCHFILES)) +kernel-hidd-bus_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(notdir $(kernel-hidd-bus_NLIBARCHFILES)))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(notdir $(kernel-hidd-bus_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(kernel-hidd-bus_NLIBARCHFILES))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(kernel-hidd-bus_NLIBARCHFILES))) +else + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-bus_NLIBARCHFILES)))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-bus_NLIBARCHFILES)))) +endif +endif +kernel-hidd-bus_MC_TGTWILDCARD := $(kernel-hidd-bus_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-bus_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-bus_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-bus_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-bus_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-bus_MC_DIRS := $(foreach dir, $(kernel-hidd-bus_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-bus_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-bus_MC_DIRS),) + kernel-hidd-bus_MC_DIRS := $(shell echo $(kernel-hidd-bus_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-bus_MC_DIRS) +endif + +endif + +kernel-hidd-bus_MC_CPPFLAGS := $(kernel-hidd-bus_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-bus_CFLAGS := $(kernel-hidd-bus_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-bus_LINKLIBDFLAGS),) + kernel-hidd-bus_DFLAGS := $(kernel-hidd-bus_LINKLIBCFLAGS) +else + kernel-hidd-bus_DFLAGS := $(kernel-hidd-bus_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-bus_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(TARGET_STRIP) +kernel-hidd-bus_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(kernel-hidd-bus_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(kernel-hidd-bus_DFLAGS) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-bus_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(HOST_STRIP) +kernel-hidd-bus_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_DFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-bus_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-bus_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_DFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-bus_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-bus_MC_CPPFLAGS) +$(kernel-hidd-bus_MC_TARGETS) : CFLAGS := $(kernel-hidd-bus_CFLAGS) +$(kernel-hidd-bus_MC_TARGETS) : $(kernel-hidd-bus_MC_TGTWILDCARD).o : $(kernel-hidd-bus_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-bus_MC_DTARGETS) : $(kernel-hidd-bus_MC_TGTWILDCARD).d : $(kernel-hidd-bus_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-bus_DFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-bus_OBJDIR)/linklib,) +kernel-hidd-bus_MC_SRCWILDCARD := % +else +kernel-hidd-bus_MC_SRCWILDCARD := $(kernel-hidd-bus_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-bus_OBJDIR)/linklib,) +kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-bus_LINKLIBCCGENFILES)) +kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-bus_LINKLIBCCGENFILES)) +kernel-hidd-bus_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(notdir $(kernel-hidd-bus_LINKLIBCCGENFILES)))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(notdir $(kernel-hidd-bus_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-bus_OBJDIR)/linklib,) + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(kernel-hidd-bus_LINKLIBCCGENFILES))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(kernel-hidd-bus_LINKLIBCCGENFILES))) +else + kernel-hidd-bus_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-bus_OBJDIR)/linklib/%,%,$(kernel-hidd-bus_LINKLIBCCGENFILES)))) + kernel-hidd-bus_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-bus_OBJDIR)/linklib/%,%,$(kernel-hidd-bus_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-bus_MC_TGTWILDCARD := $(kernel-hidd-bus_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-bus_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-bus_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-bus_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-bus_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-bus_MC_DIRS := $(foreach dir, $(kernel-hidd-bus_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-bus_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-bus_MC_DIRS),) + kernel-hidd-bus_MC_DIRS := $(shell echo $(kernel-hidd-bus_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-bus_MC_DIRS) +endif + +endif + +kernel-hidd-bus_MC_CPPFLAGS := $(kernel-hidd-bus_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-bus_CFLAGS := $(kernel-hidd-bus_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-bus_LINKLIBDFLAGS),) + kernel-hidd-bus_DFLAGS := $(kernel-hidd-bus_LINKLIBCFLAGS) +else + kernel-hidd-bus_DFLAGS := $(kernel-hidd-bus_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-bus_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(TARGET_STRIP) +kernel-hidd-bus_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(kernel-hidd-bus_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(kernel-hidd-bus_DFLAGS) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-bus_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(HOST_STRIP) +kernel-hidd-bus_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-bus_DFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-bus_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-bus_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-bus_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS) $(kernel-hidd-bus_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_CFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-bus_DFLAGS)) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-bus_MC_TARGETS) $(kernel-hidd-bus_MC_DTARGETS) : kernel-hidd-bus_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-bus_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-bus_MC_CPPFLAGS) +$(kernel-hidd-bus_MC_TARGETS) : CFLAGS := $(kernel-hidd-bus_CFLAGS) +$(kernel-hidd-bus_MC_TARGETS) : $(kernel-hidd-bus_MC_TGTWILDCARD).o : $(kernel-hidd-bus_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-bus_IQUOTE) $(dir $<) $(kernel-hidd-bus_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-bus_IQUOTE) . $(kernel-hidd-bus_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-bus_MC_DTARGETS) : $(kernel-hidd-bus_MC_TGTWILDCARD).d : $(kernel-hidd-bus_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-bus_DFLAGS) $(kernel-hidd-bus_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-bus_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-bus_OBJDIR)/linklib,) +kernel-hidd-bus-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-bus_LINKLIBAFILES) $(kernel-hidd-bus_RELLINKLIBAFILES)) +kernel-hidd-bus-MA_WILDCARD := % +else +kernel-hidd-bus-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(notdir $(kernel-hidd-bus_LINKLIBAFILES) $(kernel-hidd-bus_RELLINKLIBAFILES)))) +kernel-hidd-bus-MA_WILDCARD := $(kernel-hidd-bus_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-bus-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-bus_LINKLIBAFILES) $(kernel-hidd-bus_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-bus-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-bus-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-bus_LINKLIBAFILES) $(kernel-hidd-bus_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-bus-MA_DIRS := $(foreach dir, $(kernel-hidd-bus-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-bus-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-bus-MA_DIRS),) + kernel-hidd-bus-MA_DIRS := $(shell echo $(kernel-hidd-bus-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-bus-MA_DIRS) +endif + +endif + +kernel-hidd-bus-MA_ASSEMBLER ?= $(kernel-hidd-bus_ASSEMBLER) + +$(kernel-hidd-bus-MA_TARGETS) : kernel-hidd-bus-MA_CMD:= $(kernel-hidd-bus-MA_ASSEMBLER) + +$(kernel-hidd-bus-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-bus-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-bus-MA_TARGETS) : $(kernel-hidd-bus-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-bus-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-bus-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-bus-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-bus_SUFFIX := hidd +else +kernel-hidd-bus_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-bus_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-bus_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-bus_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-bus_SUFFIX),handler) +kernel-hidd-bus_MODULE := $(AROSDIR)/$(kernel-hidd-bus_MODDIR)/$(kernel-hidd-bus_DEFNAME)-$(kernel-hidd-bus_SUFFIX) +else +kernel-hidd-bus_MODULE := $(AROSDIR)/$(kernel-hidd-bus_MODDIR)/$(kernel-hidd-bus_DEFNAME).$(kernel-hidd-bus_SUFFIX) +endif +kernel-hidd-bus_KOBJ := $(KOBJSDIR)/$(kernel-hidd-bus_DEFNAME)_$(kernel-hidd-bus_SUFFIX).o +else +kernel-hidd-bus_MODULE := +kernel-hidd-bus_KOBJ := +endif + +kernel-hidd-bus-quick : kernel-hidd-bus +kernel-hidd-bus : $(kernel-hidd-bus_MODULE) $(kernel-hidd-bus_LINKLIB) $(kernel-hidd-bus_RELLINKLIB) +ifeq (M,M) +kernel-hidd-bus-kobj : $(kernel-hidd-bus_KOBJ) $(kernel-hidd-bus_LINKLIB) $(kernel-hidd-bus_RELLINKLIB) +kernel-hidd-bus-kobj-quick : $(kernel-hidd-bus_KOBJ) $(kernel-hidd-bus_LINKLIB) $(kernel-hidd-bus_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-bus-linklib : $(kernel-hidd-bus_LINKLIB) $(kernel-hidd-bus_RELLINKLIB) +endif + +kernel-hidd-bus_OBJS := $(addsuffix .o,$(kernel-hidd-bus_STARTFILES)) $(kernel-hidd-bus_ARCHOBJS) \ + $(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(kernel-hidd-bus_C_NARCHFILES:=.o) $(kernel-hidd-bus_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-bus_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (bus,con) + kernel-hidd-bus_ERR := $(notdir $(kernel-hidd-bus_MODULE)).err +else + kernel-hidd-bus_ERR := bus.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-bus_DEFNAME)_LDFLAGS) $(kernel-hidd-bus_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-bus_LIBS) $($(kernel-hidd-bus_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-bus_MODULE) : LIB_NAMES := $(kernel-hidd-bus_LIBS) $($(kernel-hidd-bus_DEFNAME)_LIBS) +$(kernel-hidd-bus_MODULE) : OBJS := $(kernel-hidd-bus_STARTOBJS) $(kernel-hidd-bus_OBJS) $(USER_OBJS) +$(kernel-hidd-bus_MODULE) : ENDTAG := $(kernel-hidd-bus_ENDOBJS) +$(kernel-hidd-bus_MODULE) : ERR := $(kernel-hidd-bus_ERR) +$(kernel-hidd-bus_MODULE) : OBJDIR := $(kernel-hidd-bus_OBJDIR) +$(kernel-hidd-bus_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-bus_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-bus_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-bus_MODULE) : $(kernel-hidd-bus_STARTOBJS) $(kernel-hidd-bus_OBJS) $(USER_OBJS) $(kernel-hidd-bus_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-bus_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-bus_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-bus_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-bus_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-bus_LC_MODNAME := $(shell echo bus | tr A-Z a-z) +ifneq ($(kernel-hidd-bus_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(HOST_AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(KERNEL_AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)$(kernel-hidd-bus_LIBSUFFIX).a : $(kernel-hidd-bus_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-bus_AR) $@ $^ + $(Q)$(kernel-hidd-bus_RANLIB) $@ +ifneq ($(kernel-hidd-bus_LC_MODNAME),$(kernel-hidd-bus_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-bus_LIBDIR)/libbus$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(AR) +$(kernel-hidd-bus_LIBDIR)/libbus$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-bus_LIBDIR)/libbus$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(HOST_AR) +$(kernel-hidd-bus_LIBDIR)/libbus$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-bus_LIBDIR)/libbus$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(KERNEL_AR) +$(kernel-hidd-bus_LIBDIR)/libbus$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-bus_LIBDIR)/libbus$(kernel-hidd-bus_LIBSUFFIX).a : $(kernel-hidd-bus_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-bus_AR) $@ $^ + $(Q)$(kernel-hidd-bus_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-bus_LINKLIB),) +$(kernel-hidd-bus_LINKLIB) : | $(kernel-hidd-bus_LIBDIR) +else +$(kernel-hidd-bus_LINKLIB) :: $(kernel-hidd-bus_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-bus_LIBDIR) + +endif + +ifneq ($(kernel-hidd-bus_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(HOST_AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(KERNEL_AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_LINKLIBNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : $(kernel-hidd-bus_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-bus_AR) $@ $^ + $(Q)$(kernel-hidd-bus_RANLIB) $@ +ifneq ($(kernel-hidd-bus_LC_MODNAME),$(kernel-hidd-bus_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_DEFNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_DEFNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_DEFNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(HOST_AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_DEFNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_DEFNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_AR:=$(KERNEL_AR) +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_DEFNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : kernel-hidd-bus_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-bus_LIBDIR)/lib$(kernel-hidd-bus_DEFNAME)_rel$(kernel-hidd-bus_LIBSUFFIX).a : $(kernel-hidd-bus_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-bus_AR) $@ $^ + $(Q)$(kernel-hidd-bus_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-bus_RELLINKLIB),) +$(kernel-hidd-bus_RELLINKLIB) : | $(kernel-hidd-bus_LIBDIR) +else +$(kernel-hidd-bus_RELLINKLIB) :: $(kernel-hidd-bus_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-bus_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-bus_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-bus_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-bus_SYMBOLS := $(kernel-hidd-bus_KBASE) + +kernel-hidd-bus_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-bus_KOBJ_LIBS := $(filter-out $(kernel-hidd-bus_KLIB),$(kernel-hidd-bus_LIBS)) $(kernel-hidd-bus_KAUTOLIB) +$(kernel-hidd-bus_KOBJ) : LINKLIBS:=$(kernel-hidd-bus_KOBJ_LIBS) $($(kernel-hidd-bus_DEFNAME)_LIBS) +$(kernel-hidd-bus_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-bus_SYMBOLS)) +$(kernel-hidd-bus_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-bus_KOBJ) : $(kernel-hidd-bus_OBJS) $(USER_OBJS) $(kernel-hidd-bus_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-bus_DEPS := $(addprefix $(kernel-hidd-bus_OBJDIR)/,$(notdir $(kernel-hidd-bus_CCFILES:=.d) $(kernel-hidd-bus_TARGETCCFILES:=.d) $(kernel-hidd-bus_CXXFILES:=.d))) $(addprefix $(kernel-hidd-bus_OBJDIR)/linklib/,$(notdir $(kernel-hidd-bus_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-bus_DEPS),) + ifneq (kernel-hidd-bus kernel-hidd-bus-quick kernel-hidd-bus-kobj kernel-hidd-bus-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-bus kernel-hidd-bus-quick kernel-hidd-bus-kobj kernel-hidd-bus-kobj-quick),) + -include $(kernel-hidd-bus_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-bus_DEPS) + endif + endif +endif + +$(kernel-hidd-bus_OBJS) $(kernel-hidd-bus_DEPS) : | $(kernel-hidd-bus_OBJDIR)/linklib + +ifneq ($(kernel-hidd-bus_OBJS) $(kernel-hidd-bus_DEPS) $(kernel-hidd-bus_MODULE) $(kernel-hidd-bus_KOBJ),) +$(kernel-hidd-bus_OBJS) $(kernel-hidd-bus_DEPS) $(kernel-hidd-bus_MODULE) $(kernel-hidd-bus_KOBJ) : | $(kernel-hidd-bus_OBJDIR) $(AROSDIR)/$(kernel-hidd-bus_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-bus_OBJS) $(kernel-hidd-bus_DEPS) $(kernel-hidd-bus_MODULE) $(kernel-hidd-bus_KOBJ) :: $(kernel-hidd-bus_OBJDIR) $(AROSDIR)/$(kernel-hidd-bus_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-bus_OBJDIR) $(AROSDIR)/$(kernel-hidd-bus_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-bus kernel-hidd-bus-includes kernel-hidd-bus-quick kernel-hidd-bus-kobj kernel-hidd-bus-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-bus_DFILE_DEPS := $(kernel-hidd-bus_LIBDEFSINC) $(kernel-hidd-bus_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-bus_INCDIR)/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) +$(kernel-hidd-bus_DEPS) : $(kernel-hidd-bus_DFILE_DEPS) +endif + +kernel-hidd-bus_TOCLEAN := $(kernel-hidd-bus_OBJS) $(kernel-hidd-bus_DEPS) \ + $(kernel-hidd-bus_MODULE) $(kernel-hidd-bus_LINKLIB) $(kernel-hidd-bus_KOBJ) \ + $(kernel-hidd-bus_OBJDIR)/Makefile.bushidd \ + $(addprefix $(kernel-hidd-bus_OBJDIR)/include/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-bus_INCDIR)/,$($(kernel-hidd-bus_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-bus_OBJDIR)/bus_geninc $(kernel-hidd-bus_OBJDIR)/bus_incs \ + $(addsuffix .c,$(kernel-hidd-bus_LINKLIBFILES)) $(kernel-hidd-bus_LINKLIBOBJS) $(kernel-hidd-bus_LIBDEFSINC) \ + $(kernel-hidd-bus_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-bus_STARTFILES) $(kernel-hidd-bus_ENDFILES)) \ + $(kernel-hidd-bus_ENDOBJS) +kernel-hidd-bus-clean : FILES := $(kernel-hidd-bus_TOCLEAN) +kernel-hidd-bus-clean :: + $(Q)$(ECHO) "Cleaning up for module bus" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-bus_ALLTARGETS) + + +INCLUDE_FILES := $(call WILDCARD, include/*.h) + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include,) +TMP_DIR := include +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include,$(GENINCDIR)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include,) +BD_INCL_FILES2 := $(subst include,$(AROS_INCLUDES)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/base/mmakefile b/rom/hidds/base/mmakefile new file mode 100644 index 00000000000..f1b6aa49abf --- /dev/null +++ b/rom/hidds/base/mmakefile @@ -0,0 +1,12 @@ +#$Id$ + +#MM- kernel-hidd-base : kernel-hidd-storage kernel-hidd-system + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/base/storage/mmakefile b/rom/hidds/base/storage/mmakefile new file mode 100644 index 00000000000..a166a4cc490 --- /dev/null +++ b/rom/hidds/base/storage/mmakefile @@ -0,0 +1,1741 @@ +#$Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- kernel-hidd-base-kobj : kernel-hidd-storage-kobj +#MM kernel-hidd-storage-includes : kernel-hidd-bus-includes + +FILES := \ + storage_init \ + storage_controllerclass \ + storage_busclass \ + storage_unitclass \ + storage_class + +NOWARN_FLAGS := $(NOWARN_PARENTHESES) +USER_CFLAGS := $(NOWARN_FLAGS) +USER_CPPFLAGS := \ + -DUSE_EXEC_DEBUG \ + -DAROS_USE_OOP \ + -D__OOP_NOLIBBASE__ \ + -D__OOP_NOMETHODBASES__ \ + -D__OOP_NOATTRBASES__ \ + -D__UTILITY_NOLIBBASE__ +#USER_CPPFLAGS += -DDEBUG +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-storage +#MM kernel-hidd-storage-quick +#MM kernel-hidd-storage-makefile +#MM kernel-hidd-storage-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-storage-includes +#MM- linklibs-storage: kernel-hidd-storage-linklib +#MM- linklibs-storage_rel : kernel-hidd-storage-linklib +#MM- includes-storage: kernel-hidd-storage-includes +#MM- includes-storage_rel : kernel-hidd-storage-includes +#MM- kernel-hidd-storage : kernel-hidd-storage-includes core-linklibs linklibs- +#MM kernel-hidd-storage-linklib : kernel-hidd-storage-includes includes- +#MM- kernel-hidd-storage-quick : kernel-hidd-storage-includes-quick +#MM kernel-hidd-storage-includes : kernel-hidd-storage-makefile kernel-hidd-storage-includes-dirs \ +#MM includes-generate-deps kernel-hidd-storage-fd +#MM kernel-hidd-storage-includes-quick +#MM kernel-hidd-storage-includes-dirs +#MM kernel-hidd-storage-fd + +# Library targets +#MM kernel-hidd-storage-kobj : core-linklibs linklibs- +#MM kernel-hidd-storage-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-storage-kobj : kernel-hidd-storage-includes core-linklibs linklibs- +#MM kernel-hidd-storage-kobj-quick : kernel-hidd-storage-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-storage_ALLTARGETS := kernel-hidd-storage kernel-hidd-storage-quick kernel-hidd-storage-clean + +ifeq (M,M) +kernel-hidd-storage_ALLTARGETS += kernel-hidd-storage-kobj kernel-hidd-storage-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-storage_ALLTARGETS += kernel-hidd-storage-includes \ + kernel-hidd-storage-includes-quick kernel-hidd-storage-includes-dirs \ + kernel-hidd-storage-linklib kernel-hidd-storage-fd +endif + +.PHONY : $(kernel-hidd-storage_ALLTARGETS) kernel-hidd-storage-makefile + +ifeq (storage,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-storage_DEFNAME := storage_ +else + kernel-hidd-storage_DEFNAME := storage +endif +kernel-hidd-storage_DEFLINKLIBNAME := $(kernel-hidd-storage_DEFNAME) +ifneq (,) + kernel-hidd-storage_LINKLIBNAME := +else + kernel-hidd-storage_LINKLIBNAME = $(kernel-hidd-storage_DEFLINKLIBNAME) +endif +kernel-hidd-storage_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-storage_DEFCPPFLAGS += -I +endif +kernel-hidd-storage_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-storage_DFLAGS := +else + kernel-hidd-storage_DFLAGS = $(kernel-hidd-storage_DEFDFLAGS) +endif +kernel-hidd-storage_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-storage_DXXFLAGS := +else + kernel-hidd-storage_DXXFLAGS = $(kernel-hidd-storage_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-storage_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-storage_DEFDFLAGS)) +kernel-hidd-storage_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-storage_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-storage_FUNCINSTR := yes +kernel-hidd-storage_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-storage_DEFDFLAGS)) +kernel-hidd-storage_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-storage_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-storage_OBJDIR := +else +kernel-hidd-storage_OBJDIR := $(OBJDIR)/$(kernel-hidd-storage_DEFNAME) +endif +ifneq (,) +kernel-hidd-storage_OBJDIR := $(kernel-hidd-storage_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-storage-makefile := $(kernel-hidd-storage_OBJDIR)/Makefile.$(kernel-hidd-storage_DEFNAME)hidd +kernel-hidd-storage-genmakefile : $(kernel-hidd-storage-makefile) + + +kernel-hidd-storage-genmakefile_OPTS := +ifneq (,) + kernel-hidd-storage-genmakefile_OPTS += -f + kernel-hidd-storage-genmakefile_MODNAME := storage_ +else + kernel-hidd-storage-genmakefile_MODNAME := storage +endif +kernel-hidd-storage-genmakefile_TARGET := Makefile.$(kernel-hidd-storage-genmakefile_MODNAME)hidd +kernel-hidd-storage-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-storage-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-storage-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-storage-genmakefile_OPTS += -c + kernel-hidd-storage-genmakefile_DEPS += + endif +else + kernel-hidd-storage-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + kernel-hidd-storage-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-storage-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-storage-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-storage-genmakefile_OPTS += -o + kernel-hidd-storage-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-storage-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-storage_OBJDIR),) + kernel-hidd-storage-genmakefile_OPTS += -d $(kernel-hidd-storage_OBJDIR) + kernel-hidd-storage-genmakefile_TARGET := $(kernel-hidd-storage_OBJDIR)/$(kernel-hidd-storage-genmakefile_TARGET) +endif + +$(kernel-hidd-storage-genmakefile_TARGET) : OPTS := $(kernel-hidd-storage-genmakefile_OPTS) +$(kernel-hidd-storage-genmakefile_TARGET) : MODNAME := storage +$(kernel-hidd-storage-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-storage-genmakefile_TARGET) : $(kernel-hidd-storage-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-storage-makefile),) +$(kernel-hidd-storage-makefile) : | $(kernel-hidd-storage_OBJDIR) +else +$(kernel-hidd-storage-makefile) :: $(kernel-hidd-storage_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-storage_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-storage_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-storage-makefile) + +kernel-hidd-storage_DEFMODDIR := $($(kernel-hidd-storage_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-storage_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-storage_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-storage_MODDIR := +else + kernel-hidd-storage_MODDIR := $(kernel-hidd-storage_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-storage_INCDIR := +else +kernel-hidd-storage_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-storage_LIBDEFSINC := $(kernel-hidd-storage_OBJDIR)/include/$(kernel-hidd-storage_DEFNAME)_libdefs.h +kernel-hidd-storage_DEFLIBDEFSINC := $(kernel-hidd-storage_OBJDIR)/include/$(kernel-hidd-storage_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-storage-includes-quick : kernel-hidd-storage-includes +kernel-hidd-storage-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-storage_INCDIR)/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-storage_LIBDEFSINC) $(kernel-hidd-storage_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-storage_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-storage-includes_MODNAME := storage_ +else + kernel-hidd-storage-includes_MODNAME := storage +endif + +ifneq ($($(kernel-hidd-storage-includes_MODNAME)_INCLUDES),) + +kernel-hidd-storage-includes_TARGETS := $($(kernel-hidd-storage-includes_MODNAME)_INCLUDES) + +kernel-hidd-storage-includes_DEPS := $(GENMODULE) +kernel-hidd-storage-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-storage-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-storage-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-storage-includes_OPTS += -c + kernel-hidd-storage-includes_DEPS += + endif +else + kernel-hidd-storage-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + kernel-hidd-storage-includes_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-storage-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-storage-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-storage-includes_OPTS += -o + kernel-hidd-storage-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-storage-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-storage_OBJDIR)/include,) + kernel-hidd-storage-includes_OPTS += -d $(kernel-hidd-storage_OBJDIR)/include + kernel-hidd-storage-includes_TARGETS := $(addprefix $(kernel-hidd-storage_OBJDIR)/include/,$(kernel-hidd-storage-includes_TARGETS)) + kernel-hidd-storage-includes_GENINCFLAG=$(kernel-hidd-storage_OBJDIR)/include/.storage.hidd-includes +else + kernel-hidd-storage-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.storage.hidd-includes +endif + +$(kernel-hidd-storage-includes_TARGETS) : $(kernel-hidd-storage-includes_DEPS) $(kernel-hidd-storage-includes_GENINCFLAG) + +$(kernel-hidd-storage-includes_GENINCFLAG) : OPTS := $(kernel-hidd-storage-includes_OPTS) +$(kernel-hidd-storage-includes_GENINCFLAG) : MODNAME := storage +$(kernel-hidd-storage-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-storage-includes_GENINCFLAG) : $(kernel-hidd-storage-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-storage_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) : | $(kernel-hidd-storage_OBJDIR)/storage_geninc + +$(kernel-hidd-storage_OBJDIR)/storage_geninc : COPYSRCDIR := $(kernel-hidd-storage_OBJDIR)/include +$(kernel-hidd-storage_OBJDIR)/storage_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-storage_OBJDIR)/storage_geninc : FILES := $($(kernel-hidd-storage_DEFNAME)_INCLUDES) +$(kernel-hidd-storage_OBJDIR)/storage_geninc : $(addprefix $(kernel-hidd-storage_OBJDIR)/include/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-storage_OBJDIR)/include + +$(addprefix $(kernel-hidd-storage_INCDIR)/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) : | $(kernel-hidd-storage_OBJDIR)/storage_incs + +$(kernel-hidd-storage_OBJDIR)/storage_incs : COPYSRCDIR := $(kernel-hidd-storage_OBJDIR)/include +$(kernel-hidd-storage_OBJDIR)/storage_incs : TGTDIR := $(kernel-hidd-storage_INCDIR) +$(kernel-hidd-storage_OBJDIR)/storage_incs : FILES := $($(kernel-hidd-storage_DEFNAME)_INCLUDES) +$(kernel-hidd-storage_OBJDIR)/storage_incs : $(addprefix $(kernel-hidd-storage_OBJDIR)/include/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-storage_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-storage_DEFNAME)_INCLUDES)))) + +TMPstorage_INCDIRS := \ + $(kernel-hidd-storage_OBJDIR)/include $(addprefix $(kernel-hidd-storage_OBJDIR)/include/,$(kernel-hidd-storage_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-storage_INCDIRS)) \ + $(kernel-hidd-storage_INCDIR) $(addprefix $(kernel-hidd-storage_INCDIR)/,$(kernel-hidd-storage_INCDIRS)) + +ifneq (kernel-hidd-storage-includes-dirs,) +kernel-hidd-storage-includes-dirs : | $(TMPstorage_INCDIRS) +else +kernel-hidd-storage-includes-dirs :: $(TMPstorage_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPstorage_INCDIRS) + + +endif + +endif + + +kernel-hidd-storage-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-storage-genlibdefs_OPTS += -f + kernel-hidd-storage-genlibdefs_MODNAME := storage_ +else + kernel-hidd-storage-genlibdefs_MODNAME := storage +endif +kernel-hidd-storage-genlibdefs_TARGET := $(kernel-hidd-storage-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-storage-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-storage-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-storage-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-storage-genlibdefs_OPTS += -c + kernel-hidd-storage-genlibdefs_DEPS += + endif +else + kernel-hidd-storage-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + kernel-hidd-storage-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-storage-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-storage-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-storage-genlibdefs_OPTS += -o + kernel-hidd-storage-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-storage-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-storage_OBJDIR)/include,) + kernel-hidd-storage-genlibdefs_OPTS += -d $(kernel-hidd-storage_OBJDIR)/include + kernel-hidd-storage-genlibdefs_TARGET := $(kernel-hidd-storage_OBJDIR)/include/$(kernel-hidd-storage-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-storage-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-storage-genlibdefs_TARGET) : OPTS := $(kernel-hidd-storage-genlibdefs_OPTS) +$(kernel-hidd-storage-genlibdefs_TARGET) : MODNAME := storage +$(kernel-hidd-storage-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-storage-genlibdefs_TARGET) : $(kernel-hidd-storage-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-storage_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-storage_LIBDEFSINC) +$(kernel-hidd-storage_DEFLIBDEFSINC) : $(kernel-hidd-storage_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-storage_LIBDEFSINC) $(kernel-hidd-storage_DEFLIBDEFSINC) : | $(kernel-hidd-storage_OBJDIR)/include + +ifneq (kernel-hidd-storage-includes-dirs,) +kernel-hidd-storage-includes-dirs : | $(kernel-hidd-storage_OBJDIR)/include +else +kernel-hidd-storage-includes-dirs :: $(kernel-hidd-storage_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-storage_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-storage-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-storage-genmodfiles_OPTS += -f + kernel-hidd-storage-genmodfiles_MODNAME := storage_ +else + kernel-hidd-storage-genmodfiles_MODNAME := storage +endif +kernel-hidd-storage-genmodfiles_GENTARGETS := $($(kernel-hidd-storage-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-storage-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-storage-genmodfiles_STUBTARGETS := $($(kernel-hidd-storage-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-storage-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-storage-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-storage-genmodfiles_GENTARGETS)) +kernel-hidd-storage-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-storage-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-storage-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-storage-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-storage-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-storage-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-storage-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-storage-genmodfiles_OPTS += -c + kernel-hidd-storage-genmodfiles_DEPS += + endif +else + kernel-hidd-storage-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + kernel-hidd-storage-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-storage-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-storage-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-storage-genmodfiles_OPTS += -o + kernel-hidd-storage-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-storage-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-storage_OBJDIR),) + kernel-hidd-storage-genmodfiles_OPTS += -d $(kernel-hidd-storage_OBJDIR) + kernel-hidd-storage-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-storage_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-storage-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-storage-genmodfiles_TARGETDIR)/,$(kernel-hidd-storage-genmodfiles_GENTARGETS)) + kernel-hidd-storage-genmodfiles_GENFILEFLAG=$(kernel-hidd-storage-genmodfiles_TARGETDIR)/.storage.hidd-genfiles +else + kernel-hidd-storage-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.storage.hidd-genfiles +endif +ifneq ($(kernel-hidd-storage_OBJDIR)/linklib,) + kernel-hidd-storage-genmodfiles_OPTS += -l $(kernel-hidd-storage_OBJDIR)/linklib + kernel-hidd-storage-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-storage_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-storage-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-storage-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-storage-genmodfiles_STUBTARGETS)) + kernel-hidd-storage-genmodfiles_TARGETDIRS += $(kernel-hidd-storage_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-storage_OBJDIR),) + kernel-hidd-storage-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-storage-genmodfiles_TARGETDIR)/,$(kernel-hidd-storage-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-storage-genmodfiles_TARGETS := $(kernel-hidd-storage-genmodfiles_GENTARGETS) $(kernel-hidd-storage-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-storage-genmodfiles_TARGETDIRS),) +$(kernel-hidd-storage-genmodfiles_TARGETS) : | $(kernel-hidd-storage-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-storage-genmodfiles_TARGETS) : $(kernel-hidd-storage-genmodfiles_DEPS) $(kernel-hidd-storage-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-storage-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-storage-genmodfiles_OPTS) +$(kernel-hidd-storage-genmodfiles_GENFILEFLAG) : MODNAME := storage +$(kernel-hidd-storage-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-storage-genmodfiles_GENFILEFLAG) : $(kernel-hidd-storage-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-storage-genmodfiles_GENFILEFLAG) : $(kernel-hidd-storage_DEFLIBDEFSINC) $(kernel-hidd-storage-makefile) + + +ifneq ($(kernel-hidd-storage-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-storage-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-storage_OBJDIR)/linklib +else +$(kernel-hidd-storage-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-storage_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-storage_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-storage_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-storage_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-storage-fd : $(kernel-hidd-storage_FDDIR)/storage_lib.fd + + +TMP_TARGET := storage_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-storage_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-storage_FDDIR) + TMP_TARGET := $(kernel-hidd-storage_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := storage +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-storage_FDDIR)/storage_lib.fd : | $(kernel-hidd-storage_FDDIR) + + +ifneq (kernel-hidd-storage-fd-setup,) +kernel-hidd-storage-fd-setup : | $(kernel-hidd-storage_FDDIR) +else +kernel-hidd-storage-fd-setup :: $(kernel-hidd-storage_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-storage_FDDIR) + +endif + +## Compilation +## +kernel-hidd-storage_FILES := $(FILES) +kernel-hidd-storage_OBJCFILES := +kernel-hidd-storage_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-storage_LIBFILES := +kernel-hidd-storage_LIBS := + +kernel-hidd-storage_FDIRS := $(sort $(dir $(kernel-hidd-storage_FILES))) + +kernel-hidd-storage_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-storage_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-storage_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-storage_FILTERARCH = $(filter-out $(call kernel-hidd-storage_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-storage_STARTFILES := $(addprefix $(kernel-hidd-storage_OBJDIR)/,$($(kernel-hidd-storage_DEFNAME)_STARTFILES)) +kernel-hidd-storage_ENDFILES := $(addprefix $(kernel-hidd-storage_OBJDIR)/,$($(kernel-hidd-storage_DEFNAME)_ENDFILES)) + +kernel-hidd-storage_ARCHOBJS := $(wildcard $(kernel-hidd-storage_OBJDIR)/arch/*.o) +kernel-hidd-storage_LIBARCHOBJS := $(wildcard $(kernel-hidd-storage_OBJDIR)/linklib/arch/*.o) +kernel-hidd-storage_ARCHFILES := $(basename $(notdir $(kernel-hidd-storage_ARCHOBJS))) +kernel-hidd-storage_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-storage_LIBARCHOBJS))) +kernel-hidd-storage_C_NARCHFILES := $(call kernel-hidd-storage_FILTERARCH,$(kernel-hidd-storage_ARCHFILES),$(kernel-hidd-storage_FILES)) +kernel-hidd-storage_CXX_NARCHFILES := $(call kernel-hidd-storage_FILTERARCH,$(kernel-hidd-storage_ARCHFILES),$(kernel-hidd-storage_CXXFILES)) +kernel-hidd-storage_OBJC_NARCHFILES := $(call kernel-hidd-storage_FILTERARCH,$(kernel-hidd-storage_ARCHFILES),$(kernel-hidd-storage_OBJCFILES)) +kernel-hidd-storage_NLIBARCHFILES := $(call kernel-hidd-storage_FILTERARCH,$(kernel-hidd-storage_LIBARCHFILES),$(kernel-hidd-storage_LIBFILES)) +kernel-hidd-storage_ARCHNLIBFILES := $(call kernel-hidd-storage_FILTERARCH,$(kernel-hidd-storage_LIBFILES),$(kernel-hidd-storage_LIBARCHFILES)) + +kernel-hidd-storage_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-storage_OBJDIR)/include -include $(kernel-hidd-storage_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-storage_CPPFLAGS += -I +endif +kernel-hidd-storage_LINKLIBCPPFLAGS := $(kernel-hidd-storage_CPPFLAGS) +kernel-hidd-storage_CPPFLAGS += $(strip $($(kernel-hidd-storage_DEFNAME)_CPPFLAGS)) +kernel-hidd-storage_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-storage_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-storage_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-storage_DEFNAME)_CFLAGS)) +kernel-hidd-storage_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-storage_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-storage_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-storage_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-storage_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-storage_CFLAGS := $(strip $(kernel-hidd-storage_LTOFLAGS) $(kernel-hidd-storage_CFLAGS)) +kernel-hidd-storage_LINKLIBCFLAGS := $(strip $(kernel-hidd-storage_LTOFLAGS) $(kernel-hidd-storage_LINKLIBCFLAGS)) +kernel-hidd-storage_CXXFLAGS := $(strip $(kernel-hidd-storage_LTOFLAGS) $(kernel-hidd-storage_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-storage_SUBSTNULL := +kernel-hidd-storage_SUBSTSPACE := $(kernel-hidd-storage_SUBSTNULL) # +kernel-hidd-storage_SUBSTCOMMA := , +kernel-hidd-storage_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-storage_SUBSTSPACE),$(kernel-hidd-storage_SUBSTCOMMA),$(strip $($(kernel-hidd-storage_DEFNAME)_STARTFILES)))) +kernel-hidd-storage_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-storage_CFLAGS := $(strip $(kernel-hidd-storage_INSTRFUNCFLAGS) $(kernel-hidd-storage_CFLAGS)) +kernel-hidd-storage_CXXFLAGS := $(strip $(kernel-hidd-storage_INSTRFUNCFLAGS) $(kernel-hidd-storage_CXXFLAGS)) +kernel-hidd-storage_LIBS += $(kernel-hidd-storage_INSTRFUNCLIBS) +endif +endif +kernel-hidd-storage_DFLAGS := $(strip $(kernel-hidd-storage_DFLAGS) $($(kernel-hidd-storage_DEFNAME)_DFLAGS)) +kernel-hidd-storage_LINKLIBDFLAGS := $(strip $(kernel-hidd-storage_DFLAGS) $($(kernel-hidd-storage_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-storage_DXXFLAGS := $(strip $(kernel-hidd-storage_DXXFLAGS) $($(kernel-hidd-storage_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-storage_LIBSUFFIX := +else + kernel-hidd-storage_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-storage_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-storage_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-storage_LINKLIBCFILES := $(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$($(kernel-hidd-storage_DEFNAME)_LINKLIBFILES)) +kernel-hidd-storage_LINKLIBAFILES := $(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$($(kernel-hidd-storage_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-storage_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-storage_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-storage_ARCHNLIBFILES)),) + kernel-hidd-storage_LINKLIB := +else + kernel-hidd-storage_LINKLIB := $(kernel-hidd-storage_LIBDIR)/libstorage$(kernel-hidd-storage_LIBSUFFIX).a + ifneq (storage,$(kernel-hidd-storage_LINKLIBNAME)) + kernel-hidd-storage_LINKLIB += $(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)$(kernel-hidd-storage_LIBSUFFIX).a + endif +endif +kernel-hidd-storage_LINKLIBFILES := $(kernel-hidd-storage_LINKLIBCFILES) $(kernel-hidd-storage_LINKLIBAFILES) + +kernel-hidd-storage_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$($(kernel-hidd-storage_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-storage_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$($(kernel-hidd-storage_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-storage_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-storage_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-storage_ARCHNLIBFILES)),) + kernel-hidd-storage_RELLINKLIB := +else + kernel-hidd-storage_RELLINKLIB := $(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_DEFNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a + ifneq (storage,$(kernel-hidd-storage_LINKLIBNAME)) + kernel-hidd-storage_RELLINKLIB += $(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a + endif +endif +kernel-hidd-storage_RELLINKLIBFILES := $(kernel-hidd-storage_RELLINKLIBCFILES) $(kernel-hidd-storage_RELLINKLIBAFILES) +endif + +kernel-hidd-storage_ENDOBJS := $(addsuffix .o,$(kernel-hidd-storage_ENDFILES)) +kernel-hidd-storage_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(notdir $(kernel-hidd-storage_NLIBARCHFILES))) $(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-storage_ARCHNLIBFILES))) $(kernel-hidd-storage_LINKLIBFILES)) \ + +kernel-hidd-storage_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(notdir $(kernel-hidd-storage_NLIBARCHFILES))) $(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-storage_ARCHNLIBFILES))) $(kernel-hidd-storage_RELLINKLIBFILES)) \ + +$(kernel-hidd-storage_LINKLIBFILES) $(kernel-hidd-storage_RELLINKLIBFILES) : | $(kernel-hidd-storage_OBJDIR)/linklib +$(kernel-hidd-storage_LINKLIBOBJS) $(kernel-hidd-storage_RELLINKLIBOBJS) : | $(kernel-hidd-storage_OBJDIR)/linklib + +kernel-hidd-storage_CCFILES := $(kernel-hidd-storage_C_NARCHFILES) +kernel-hidd-storage_TARGETCCFILES := $(strip $(kernel-hidd-storage_STARTFILES) $(kernel-hidd-storage_ENDFILES)) +kernel-hidd-storage_LINKLIBCCFILES := $(strip $(kernel-hidd-storage_NLIBARCHFILES) $(kernel-hidd-storage_LINKLIBCFILES) $(kernel-hidd-storage_RELLINKLIBCFILES)) +kernel-hidd-storage_LINKLIBCCGENFILES := $(strip $(kernel-hidd-storage_LINKLIBCFILES) $(kernel-hidd-storage_RELLINKLIBCFILES)) + + +kernel-hidd-storage_CXXABSBASENAMES := $(foreach kernel-hidd-storage_CXXBASE,$(kernel-hidd-storage_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-storage_CXXBASE)),$(kernel-hidd-storage_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-storage_CXXBASE)))) + +ifneq ($(kernel-hidd-storage_CXXABSBASENAMES),) + +kernel-hidd-storage_CXXBASENAMES := $(basename $(kernel-hidd-storage_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-storage_MCXX_FILES := $(strip $(foreach kernel-hidd-storage_CXXBASE,$(kernel-hidd-storage_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-storage_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-storage_EXT),$(kernel-hidd-storage_CXXBASE))))))) + +ifeq (,) +kernel-hidd-storage_MCXX_SRCWILDCARD := % +else +kernel-hidd-storage_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-storage_OBJDIR),) + kernel-hidd-storage_CXXTARGETS := $(notdir $(kernel-hidd-storage_CXXBASENAMES:=.o)) + kernel-hidd-storage_CXXDTARGETS := $(notdir $(kernel-hidd-storage_CXXBASENAMES:=.d)) + kernel-hidd-storage_MCXX_WILDCARD := % +else + kernel-hidd-storage_CXXTARGETS := $(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(kernel-hidd-storage_CXXBASENAMES:=.o))) + kernel-hidd-storage_CXXDTARGETS := $(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(kernel-hidd-storage_CXXBASENAMES:=.d))) + kernel-hidd-storage_MCXX_WILDCARD := $(kernel-hidd-storage_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-storage_CXXTARGETS) $(kernel-hidd-storage_CXXDTARGETS) : | $(kernel-hidd-storage_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-storage_MCXX_CPPFLAGS := $(kernel-hidd-storage_CPPFLAGS) +kernel-hidd-storage_CXXFLAGS := $(kernel-hidd-storage_CXXFLAGS) +ifeq ($(kernel-hidd-storage_DXXFLAGS),) + kernel-hidd-storage_DXXFLAGS := $(kernel-hidd-storage_CXXFLAGS) +else + kernel-hidd-storage_DXXFLAGS := $(kernel-hidd-storage_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-storage_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-storage_STRIP ?= $(HOST_STRIP) + kernel-hidd-storage_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-storage_CXXCMD:=$(HOST_CXX) + kernel-hidd-storage_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-storage_MCXX_CPPFLAGS) $(kernel-hidd-storage_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-storage_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-storage_CXXFLAGS)) + kernel-hidd-storage_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-storage_DXXFLAGS)) + kernel-hidd-storage_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-storage_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-storage_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-storage_STRIP ?= $(TARGET_STRIP) + kernel-hidd-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-storage_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-storage_MCXX_CPPFLAGS := $(strip $(kernel-hidd-storage_MCXX_CPPFLAGS) $(kernel-hidd-storage_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-storage_CXXFLAGS := $(strip $(kernel-hidd-storage_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-storage_DXXFLAGS := $(kernel-hidd-storage_DXXFLAGS) + kernel-hidd-storage_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-storage_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-storage_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-storage_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-storage_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-storage_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-storage_MCXX_CPPFLAGS) $(kernel-hidd-storage_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-storage_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-storage_CXXFLAGS)) + kernel-hidd-storage_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-storage_DXXFLAGS)) + kernel-hidd-storage_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-storage_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-storage_CXXCMD) $(kernel-hidd-storage_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-storage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_CXXIQUOTE) . $(kernel-hidd-storage_CXXIQUOTE_END) $(strip $(kernel-hidd-storage_CXXFLAGS) $(kernel-hidd-storage_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-storage_CXXCMD) $(kernel-hidd-storage_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-storage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_CXXIQUOTE) . $(kernel-hidd-storage_CXXIQUOTE_END) $(strip $(kernel-hidd-storage_CXXFLAGS) $(kernel-hidd-storage_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-storage_CXXCMD) $(kernel-hidd-storage_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-storage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_CXXIQUOTE) . $(kernel-hidd-storage_CXXIQUOTE_END) $(strip $(kernel-hidd-storage_CXXFLAGS) $(kernel-hidd-storage_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-storage_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-storage_DXXFLAGS) $(kernel-hidd-storage_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-storage_OBJDIR),) + $(foreach kernel-hidd-storage_CXXFILE,$(kernel-hidd-storage_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-storage_CXXFILE))),$(kernel-hidd-storage_CXXFILE)))) +else + $(foreach kernel-hidd-storage_CXXFILE,$(kernel-hidd-storage_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(basename $(kernel-hidd-storage_CXXFILE)))),$(kernel-hidd-storage_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-storage_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-storage_MOBJC_SRCWILDCARD := % +else +kernel-hidd-storage_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-storage_OBJDIR),) + kernel-hidd-storage_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-storage_OBJC_NARCHFILES)) + kernel-hidd-storage_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-storage_OBJC_NARCHFILES)) + kernel-hidd-storage_MOBJC_WILDCARD := % +else + kernel-hidd-storage_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(kernel-hidd-storage_OBJC_NARCHFILES))) + kernel-hidd-storage_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(kernel-hidd-storage_OBJC_NARCHFILES))) + kernel-hidd-storage_MOBJC_WILDCARD := $(kernel-hidd-storage_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-storage_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-storage_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-storage_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-storage_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-storage_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-storage_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-storage_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-storage_MOBJC_DIRS),) + kernel-hidd-storage_MOBJC_DIRS := $(shell echo $(kernel-hidd-storage_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-storage_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-storage_CC := $(TARGET_CC) +else + kernel-hidd-storage_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-storage_MOBJC_CPPFLAGS := $(kernel-hidd-storage_CPPFLAGS) +kernel-hidd-storage_OBJCFLAGS := $(kernel-hidd-storage_CFLAGS) +kernel-hidd-storage_OBJCFLAGS := $(kernel-hidd-storage_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-storage_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-storage_OBJCFLAGS))) +ifeq ($(kernel-hidd-storage_DFLAGS),) + kernel-hidd-storage_OBJCDFLAGS := $(kernel-hidd-storage_CFLAGS) +else + kernel-hidd-storage_OBJCDFLAGS := $(kernel-hidd-storage_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-storage_LINK ?= $(strip $(kernel-hidd-storage_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-storage_STRIP ?= $(TARGET_STRIP) + kernel-hidd-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-storage_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-storage_MOBJC_CPPFLAGS) $(kernel-hidd-storage_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_OBJCFLAGS:=$(strip $(kernel-hidd-storage_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_OBJCDFLAGS:=$(kernel-hidd-storage_OBJCDFLAGS) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-storage_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-storage_STRIP ?= $(HOST_STRIP) + kernel-hidd-storage_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-storage_MOBJC_CPPFLAGS) $(kernel-hidd-storage_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_OBJCFLAGS)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_OBJCDFLAGS)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-storage_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-storage_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-storage_MOBJC_CPPFLAGS) $(kernel-hidd-storage_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_OBJCFLAGS)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_OBJCDFLAGS)) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-storage_MOBJC_TARGETS) $(kernel-hidd-storage_MOBJC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-storage_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-storage_MOBJC_CPPFLAGS) +$(kernel-hidd-storage_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-storage_OBJCFLAGS) +$(kernel-hidd-storage_MOBJC_TARGETS) : $(kernel-hidd-storage_MOBJC_WILDCARD).o : $(kernel-hidd-storage_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-storage_MOBJC_DTARGETS) : $(kernel-hidd-storage_MOBJC_WILDCARD).d : $(kernel-hidd-storage_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-storage_OBJCDFLAGS) $(kernel-hidd-storage_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-storage_MC_SRCWILDCARD := % +else +kernel-hidd-storage_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-storage_OBJDIR),) +kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-storage_CCFILES)) +kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-storage_CCFILES)) +kernel-hidd-storage_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(kernel-hidd-storage_CCFILES)))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(kernel-hidd-storage_CCFILES)))) +else +ifeq (,) + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(kernel-hidd-storage_CCFILES))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(kernel-hidd-storage_CCFILES))) +else + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-storage_CCFILES)))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-storage_CCFILES)))) +endif +endif +kernel-hidd-storage_MC_TGTWILDCARD := $(kernel-hidd-storage_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-storage_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-storage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-storage_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-storage_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-storage_MC_DIRS := $(foreach dir, $(kernel-hidd-storage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-storage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-storage_MC_DIRS),) + kernel-hidd-storage_MC_DIRS := $(shell echo $(kernel-hidd-storage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-storage_MC_DIRS) +endif + +endif + +kernel-hidd-storage_MC_CPPFLAGS := $(kernel-hidd-storage_CPPFLAGS) +kernel-hidd-storage_CFLAGS := $(kernel-hidd-storage_CFLAGS) +ifeq ($(kernel-hidd-storage_DFLAGS),) + kernel-hidd-storage_DFLAGS := $(kernel-hidd-storage_CFLAGS) +else + kernel-hidd-storage_DFLAGS := $(kernel-hidd-storage_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-storage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(TARGET_STRIP) +kernel-hidd-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(kernel-hidd-storage_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(kernel-hidd-storage_DFLAGS) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-storage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(HOST_STRIP) +kernel-hidd-storage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_DFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-storage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_DFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-storage_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-storage_MC_CPPFLAGS) +$(kernel-hidd-storage_MC_TARGETS) : CFLAGS := $(kernel-hidd-storage_CFLAGS) +$(kernel-hidd-storage_MC_TARGETS) : $(kernel-hidd-storage_MC_TGTWILDCARD).o : $(kernel-hidd-storage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-storage_MC_DTARGETS) : $(kernel-hidd-storage_MC_TGTWILDCARD).d : $(kernel-hidd-storage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-storage_DFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-storage_MC_SRCWILDCARD := % +else +kernel-hidd-storage_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-storage_OBJDIR),) +kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-storage_TARGETCCFILES)) +kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-storage_TARGETCCFILES)) +kernel-hidd-storage_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(kernel-hidd-storage_TARGETCCFILES)))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(kernel-hidd-storage_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(kernel-hidd-storage_TARGETCCFILES))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(kernel-hidd-storage_TARGETCCFILES))) +else + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-storage_TARGETCCFILES)))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-storage_TARGETCCFILES)))) +endif +endif +kernel-hidd-storage_MC_TGTWILDCARD := $(kernel-hidd-storage_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-storage_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-storage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-storage_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-storage_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-storage_MC_DIRS := $(foreach dir, $(kernel-hidd-storage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-storage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-storage_MC_DIRS),) + kernel-hidd-storage_MC_DIRS := $(shell echo $(kernel-hidd-storage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-storage_MC_DIRS) +endif + +endif + +kernel-hidd-storage_MC_CPPFLAGS := $(kernel-hidd-storage_CPPFLAGS) -D__AROS__ +kernel-hidd-storage_CFLAGS := $(kernel-hidd-storage_CFLAGS) +ifeq ($(kernel-hidd-storage_DFLAGS),) + kernel-hidd-storage_DFLAGS := $(kernel-hidd-storage_CFLAGS) +else + kernel-hidd-storage_DFLAGS := $(kernel-hidd-storage_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-storage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(TARGET_STRIP) +kernel-hidd-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(kernel-hidd-storage_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(kernel-hidd-storage_DFLAGS) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-storage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(HOST_STRIP) +kernel-hidd-storage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_DFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-storage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_DFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-storage_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-storage_MC_CPPFLAGS) +$(kernel-hidd-storage_MC_TARGETS) : CFLAGS := $(kernel-hidd-storage_CFLAGS) +$(kernel-hidd-storage_MC_TARGETS) : $(kernel-hidd-storage_MC_TGTWILDCARD).o : $(kernel-hidd-storage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-storage_MC_DTARGETS) : $(kernel-hidd-storage_MC_TGTWILDCARD).d : $(kernel-hidd-storage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-storage_DFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-storage_MC_SRCWILDCARD := % +else +kernel-hidd-storage_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-storage_OBJDIR)/linklib,) +kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-storage_NLIBARCHFILES)) +kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-storage_NLIBARCHFILES)) +kernel-hidd-storage_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(notdir $(kernel-hidd-storage_NLIBARCHFILES)))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(notdir $(kernel-hidd-storage_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(kernel-hidd-storage_NLIBARCHFILES))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(kernel-hidd-storage_NLIBARCHFILES))) +else + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-storage_NLIBARCHFILES)))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-storage_NLIBARCHFILES)))) +endif +endif +kernel-hidd-storage_MC_TGTWILDCARD := $(kernel-hidd-storage_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-storage_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-storage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-storage_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-storage_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-storage_MC_DIRS := $(foreach dir, $(kernel-hidd-storage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-storage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-storage_MC_DIRS),) + kernel-hidd-storage_MC_DIRS := $(shell echo $(kernel-hidd-storage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-storage_MC_DIRS) +endif + +endif + +kernel-hidd-storage_MC_CPPFLAGS := $(kernel-hidd-storage_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-storage_CFLAGS := $(kernel-hidd-storage_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-storage_LINKLIBDFLAGS),) + kernel-hidd-storage_DFLAGS := $(kernel-hidd-storage_LINKLIBCFLAGS) +else + kernel-hidd-storage_DFLAGS := $(kernel-hidd-storage_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-storage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(TARGET_STRIP) +kernel-hidd-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(kernel-hidd-storage_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(kernel-hidd-storage_DFLAGS) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-storage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(HOST_STRIP) +kernel-hidd-storage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_DFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-storage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_DFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-storage_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-storage_MC_CPPFLAGS) +$(kernel-hidd-storage_MC_TARGETS) : CFLAGS := $(kernel-hidd-storage_CFLAGS) +$(kernel-hidd-storage_MC_TARGETS) : $(kernel-hidd-storage_MC_TGTWILDCARD).o : $(kernel-hidd-storage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-storage_MC_DTARGETS) : $(kernel-hidd-storage_MC_TGTWILDCARD).d : $(kernel-hidd-storage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-storage_DFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-storage_OBJDIR)/linklib,) +kernel-hidd-storage_MC_SRCWILDCARD := % +else +kernel-hidd-storage_MC_SRCWILDCARD := $(kernel-hidd-storage_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-storage_OBJDIR)/linklib,) +kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-storage_LINKLIBCCGENFILES)) +kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-storage_LINKLIBCCGENFILES)) +kernel-hidd-storage_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(notdir $(kernel-hidd-storage_LINKLIBCCGENFILES)))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(notdir $(kernel-hidd-storage_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-storage_OBJDIR)/linklib,) + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(kernel-hidd-storage_LINKLIBCCGENFILES))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(kernel-hidd-storage_LINKLIBCCGENFILES))) +else + kernel-hidd-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-storage_OBJDIR)/linklib/%,%,$(kernel-hidd-storage_LINKLIBCCGENFILES)))) + kernel-hidd-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-storage_OBJDIR)/linklib/%,%,$(kernel-hidd-storage_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-storage_MC_TGTWILDCARD := $(kernel-hidd-storage_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-storage_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-storage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-storage_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-storage_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-storage_MC_DIRS := $(foreach dir, $(kernel-hidd-storage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-storage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-storage_MC_DIRS),) + kernel-hidd-storage_MC_DIRS := $(shell echo $(kernel-hidd-storage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-storage_MC_DIRS) +endif + +endif + +kernel-hidd-storage_MC_CPPFLAGS := $(kernel-hidd-storage_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-storage_CFLAGS := $(kernel-hidd-storage_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-storage_LINKLIBDFLAGS),) + kernel-hidd-storage_DFLAGS := $(kernel-hidd-storage_LINKLIBCFLAGS) +else + kernel-hidd-storage_DFLAGS := $(kernel-hidd-storage_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-storage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(TARGET_STRIP) +kernel-hidd-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(kernel-hidd-storage_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(kernel-hidd-storage_DFLAGS) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-storage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(HOST_STRIP) +kernel-hidd-storage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-storage_DFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-storage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-storage_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS) $(kernel-hidd-storage_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_CFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-storage_DFLAGS)) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-storage_MC_TARGETS) $(kernel-hidd-storage_MC_DTARGETS) : kernel-hidd-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-storage_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-storage_MC_CPPFLAGS) +$(kernel-hidd-storage_MC_TARGETS) : CFLAGS := $(kernel-hidd-storage_CFLAGS) +$(kernel-hidd-storage_MC_TARGETS) : $(kernel-hidd-storage_MC_TGTWILDCARD).o : $(kernel-hidd-storage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-storage_IQUOTE) $(dir $<) $(kernel-hidd-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-storage_IQUOTE) . $(kernel-hidd-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-storage_MC_DTARGETS) : $(kernel-hidd-storage_MC_TGTWILDCARD).d : $(kernel-hidd-storage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-storage_DFLAGS) $(kernel-hidd-storage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-storage_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-storage_OBJDIR)/linklib,) +kernel-hidd-storage-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-storage_LINKLIBAFILES) $(kernel-hidd-storage_RELLINKLIBAFILES)) +kernel-hidd-storage-MA_WILDCARD := % +else +kernel-hidd-storage-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(notdir $(kernel-hidd-storage_LINKLIBAFILES) $(kernel-hidd-storage_RELLINKLIBAFILES)))) +kernel-hidd-storage-MA_WILDCARD := $(kernel-hidd-storage_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-storage-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-storage_LINKLIBAFILES) $(kernel-hidd-storage_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-storage-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-storage-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-storage_LINKLIBAFILES) $(kernel-hidd-storage_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-storage-MA_DIRS := $(foreach dir, $(kernel-hidd-storage-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-storage-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-storage-MA_DIRS),) + kernel-hidd-storage-MA_DIRS := $(shell echo $(kernel-hidd-storage-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-storage-MA_DIRS) +endif + +endif + +kernel-hidd-storage-MA_ASSEMBLER ?= $(kernel-hidd-storage_ASSEMBLER) + +$(kernel-hidd-storage-MA_TARGETS) : kernel-hidd-storage-MA_CMD:= $(kernel-hidd-storage-MA_ASSEMBLER) + +$(kernel-hidd-storage-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-storage-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-storage-MA_TARGETS) : $(kernel-hidd-storage-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-storage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-storage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-storage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-storage_SUFFIX := hidd +else +kernel-hidd-storage_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-storage_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-storage_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-storage_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-storage_SUFFIX),handler) +kernel-hidd-storage_MODULE := $(AROSDIR)/$(kernel-hidd-storage_MODDIR)/$(kernel-hidd-storage_DEFNAME)-$(kernel-hidd-storage_SUFFIX) +else +kernel-hidd-storage_MODULE := $(AROSDIR)/$(kernel-hidd-storage_MODDIR)/$(kernel-hidd-storage_DEFNAME).$(kernel-hidd-storage_SUFFIX) +endif +kernel-hidd-storage_KOBJ := $(KOBJSDIR)/$(kernel-hidd-storage_DEFNAME)_$(kernel-hidd-storage_SUFFIX).o +else +kernel-hidd-storage_MODULE := +kernel-hidd-storage_KOBJ := +endif + +kernel-hidd-storage-quick : kernel-hidd-storage +kernel-hidd-storage : $(kernel-hidd-storage_MODULE) $(kernel-hidd-storage_LINKLIB) $(kernel-hidd-storage_RELLINKLIB) +ifeq (M,M) +kernel-hidd-storage-kobj : $(kernel-hidd-storage_KOBJ) $(kernel-hidd-storage_LINKLIB) $(kernel-hidd-storage_RELLINKLIB) +kernel-hidd-storage-kobj-quick : $(kernel-hidd-storage_KOBJ) $(kernel-hidd-storage_LINKLIB) $(kernel-hidd-storage_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-storage-linklib : $(kernel-hidd-storage_LINKLIB) $(kernel-hidd-storage_RELLINKLIB) +endif + +kernel-hidd-storage_OBJS := $(addsuffix .o,$(kernel-hidd-storage_STARTFILES)) $(kernel-hidd-storage_ARCHOBJS) \ + $(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(kernel-hidd-storage_C_NARCHFILES:=.o) $(kernel-hidd-storage_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-storage_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (storage,con) + kernel-hidd-storage_ERR := $(notdir $(kernel-hidd-storage_MODULE)).err +else + kernel-hidd-storage_ERR := storage.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-storage_DEFNAME)_LDFLAGS) $(kernel-hidd-storage_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-storage_LIBS) $($(kernel-hidd-storage_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-storage_MODULE) : LIB_NAMES := $(kernel-hidd-storage_LIBS) $($(kernel-hidd-storage_DEFNAME)_LIBS) +$(kernel-hidd-storage_MODULE) : OBJS := $(kernel-hidd-storage_STARTOBJS) $(kernel-hidd-storage_OBJS) $(USER_OBJS) +$(kernel-hidd-storage_MODULE) : ENDTAG := $(kernel-hidd-storage_ENDOBJS) +$(kernel-hidd-storage_MODULE) : ERR := $(kernel-hidd-storage_ERR) +$(kernel-hidd-storage_MODULE) : OBJDIR := $(kernel-hidd-storage_OBJDIR) +$(kernel-hidd-storage_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-storage_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-storage_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-storage_MODULE) : $(kernel-hidd-storage_STARTOBJS) $(kernel-hidd-storage_OBJS) $(USER_OBJS) $(kernel-hidd-storage_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-storage_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-storage_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-storage_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-storage_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-storage_LC_MODNAME := $(shell echo storage | tr A-Z a-z) +ifneq ($(kernel-hidd-storage_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(HOST_AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(KERNEL_AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)$(kernel-hidd-storage_LIBSUFFIX).a : $(kernel-hidd-storage_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-storage_AR) $@ $^ + $(Q)$(kernel-hidd-storage_RANLIB) $@ +ifneq ($(kernel-hidd-storage_LC_MODNAME),$(kernel-hidd-storage_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-storage_LIBDIR)/libstorage$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(AR) +$(kernel-hidd-storage_LIBDIR)/libstorage$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-storage_LIBDIR)/libstorage$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(HOST_AR) +$(kernel-hidd-storage_LIBDIR)/libstorage$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-storage_LIBDIR)/libstorage$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(KERNEL_AR) +$(kernel-hidd-storage_LIBDIR)/libstorage$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-storage_LIBDIR)/libstorage$(kernel-hidd-storage_LIBSUFFIX).a : $(kernel-hidd-storage_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-storage_AR) $@ $^ + $(Q)$(kernel-hidd-storage_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-storage_LINKLIB),) +$(kernel-hidd-storage_LINKLIB) : | $(kernel-hidd-storage_LIBDIR) +else +$(kernel-hidd-storage_LINKLIB) :: $(kernel-hidd-storage_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-storage_LIBDIR) + +endif + +ifneq ($(kernel-hidd-storage_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(HOST_AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(KERNEL_AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_LINKLIBNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : $(kernel-hidd-storage_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-storage_AR) $@ $^ + $(Q)$(kernel-hidd-storage_RANLIB) $@ +ifneq ($(kernel-hidd-storage_LC_MODNAME),$(kernel-hidd-storage_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_DEFNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_DEFNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_DEFNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(HOST_AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_DEFNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_DEFNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_AR:=$(KERNEL_AR) +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_DEFNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : kernel-hidd-storage_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-storage_LIBDIR)/lib$(kernel-hidd-storage_DEFNAME)_rel$(kernel-hidd-storage_LIBSUFFIX).a : $(kernel-hidd-storage_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-storage_AR) $@ $^ + $(Q)$(kernel-hidd-storage_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-storage_RELLINKLIB),) +$(kernel-hidd-storage_RELLINKLIB) : | $(kernel-hidd-storage_LIBDIR) +else +$(kernel-hidd-storage_RELLINKLIB) :: $(kernel-hidd-storage_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-storage_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-storage_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-storage_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-storage_SYMBOLS := $(kernel-hidd-storage_KBASE) + +kernel-hidd-storage_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-storage_KOBJ_LIBS := $(filter-out $(kernel-hidd-storage_KLIB),$(kernel-hidd-storage_LIBS)) $(kernel-hidd-storage_KAUTOLIB) +$(kernel-hidd-storage_KOBJ) : LINKLIBS:=$(kernel-hidd-storage_KOBJ_LIBS) $($(kernel-hidd-storage_DEFNAME)_LIBS) +$(kernel-hidd-storage_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-storage_SYMBOLS)) +$(kernel-hidd-storage_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-storage_KOBJ) : $(kernel-hidd-storage_OBJS) $(USER_OBJS) $(kernel-hidd-storage_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-storage_DEPS := $(addprefix $(kernel-hidd-storage_OBJDIR)/,$(notdir $(kernel-hidd-storage_CCFILES:=.d) $(kernel-hidd-storage_TARGETCCFILES:=.d) $(kernel-hidd-storage_CXXFILES:=.d))) $(addprefix $(kernel-hidd-storage_OBJDIR)/linklib/,$(notdir $(kernel-hidd-storage_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-storage_DEPS),) + ifneq (kernel-hidd-storage kernel-hidd-storage-quick kernel-hidd-storage-kobj kernel-hidd-storage-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-storage kernel-hidd-storage-quick kernel-hidd-storage-kobj kernel-hidd-storage-kobj-quick),) + -include $(kernel-hidd-storage_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-storage_DEPS) + endif + endif +endif + +$(kernel-hidd-storage_OBJS) $(kernel-hidd-storage_DEPS) : | $(kernel-hidd-storage_OBJDIR)/linklib + +ifneq ($(kernel-hidd-storage_OBJS) $(kernel-hidd-storage_DEPS) $(kernel-hidd-storage_MODULE) $(kernel-hidd-storage_KOBJ),) +$(kernel-hidd-storage_OBJS) $(kernel-hidd-storage_DEPS) $(kernel-hidd-storage_MODULE) $(kernel-hidd-storage_KOBJ) : | $(kernel-hidd-storage_OBJDIR) $(AROSDIR)/$(kernel-hidd-storage_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-storage_OBJS) $(kernel-hidd-storage_DEPS) $(kernel-hidd-storage_MODULE) $(kernel-hidd-storage_KOBJ) :: $(kernel-hidd-storage_OBJDIR) $(AROSDIR)/$(kernel-hidd-storage_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-storage_OBJDIR) $(AROSDIR)/$(kernel-hidd-storage_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-storage kernel-hidd-storage-includes kernel-hidd-storage-quick kernel-hidd-storage-kobj kernel-hidd-storage-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-storage_DFILE_DEPS := $(kernel-hidd-storage_LIBDEFSINC) $(kernel-hidd-storage_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-storage_INCDIR)/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) +$(kernel-hidd-storage_DEPS) : $(kernel-hidd-storage_DFILE_DEPS) +endif + +kernel-hidd-storage_TOCLEAN := $(kernel-hidd-storage_OBJS) $(kernel-hidd-storage_DEPS) \ + $(kernel-hidd-storage_MODULE) $(kernel-hidd-storage_LINKLIB) $(kernel-hidd-storage_KOBJ) \ + $(kernel-hidd-storage_OBJDIR)/Makefile.storagehidd \ + $(addprefix $(kernel-hidd-storage_OBJDIR)/include/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-storage_INCDIR)/,$($(kernel-hidd-storage_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-storage_OBJDIR)/storage_geninc $(kernel-hidd-storage_OBJDIR)/storage_incs \ + $(addsuffix .c,$(kernel-hidd-storage_LINKLIBFILES)) $(kernel-hidd-storage_LINKLIBOBJS) $(kernel-hidd-storage_LIBDEFSINC) \ + $(kernel-hidd-storage_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-storage_STARTFILES) $(kernel-hidd-storage_ENDFILES)) \ + $(kernel-hidd-storage_ENDOBJS) +kernel-hidd-storage-clean : FILES := $(kernel-hidd-storage_TOCLEAN) +kernel-hidd-storage-clean :: + $(Q)$(ECHO) "Cleaning up for module storage" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-storage_ALLTARGETS) + + +LIBNAME := storage + +INCLUDE_FILES := $(call WILDCARD, include/*.h) + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include,) +TMP_DIR := include +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include,$(GENINCDIR)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include,) +BD_INCL_FILES2 := $(subst include,$(AROS_INCLUDES)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +#MM +clean :: + -$(RM) $(OBJDIR) *.err $(LIB) *.s + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/base/system/mmakefile b/rom/hidds/base/system/mmakefile new file mode 100644 index 00000000000..38925b7257d --- /dev/null +++ b/rom/hidds/base/system/mmakefile @@ -0,0 +1,1737 @@ +#$Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- kernel-hidd-base-kobj : kernel-hidd-system-kobj + +FILES := \ + system_init \ + system_class + +NOWARN_FLAGS := $(NOWARN_PARENTHESES) +USER_CFLAGS := $(NOWARN_FLAGS) +USER_CPPFLAGS := \ + -DUSE_EXEC_DEBUG \ + -DAROS_USE_OOP \ + -D__OOP_NOLIBBASE__ \ + -D__OOP_NOMETHODBASES__ \ + -D__OOP_NOATTRBASES__ \ + -D__UTILITY_NOLIBBASE__ +#USER_CPPFLAGS += -DDEBUG +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-system +#MM kernel-hidd-system-quick +#MM kernel-hidd-system-makefile +#MM kernel-hidd-system-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-system-includes +#MM- linklibs-system: kernel-hidd-system-linklib +#MM- linklibs-system_rel : kernel-hidd-system-linklib +#MM- includes-system: kernel-hidd-system-includes +#MM- includes-system_rel : kernel-hidd-system-includes +#MM- kernel-hidd-system : kernel-hidd-system-includes core-linklibs linklibs- +#MM kernel-hidd-system-linklib : kernel-hidd-system-includes includes- +#MM- kernel-hidd-system-quick : kernel-hidd-system-includes-quick +#MM kernel-hidd-system-includes : kernel-hidd-system-makefile kernel-hidd-system-includes-dirs \ +#MM includes-generate-deps kernel-hidd-system-fd +#MM kernel-hidd-system-includes-quick +#MM kernel-hidd-system-includes-dirs +#MM kernel-hidd-system-fd + +# Library targets +#MM kernel-hidd-system-kobj : core-linklibs linklibs- +#MM kernel-hidd-system-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-system-kobj : kernel-hidd-system-includes core-linklibs linklibs- +#MM kernel-hidd-system-kobj-quick : kernel-hidd-system-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-system_ALLTARGETS := kernel-hidd-system kernel-hidd-system-quick kernel-hidd-system-clean + +ifeq (M,M) +kernel-hidd-system_ALLTARGETS += kernel-hidd-system-kobj kernel-hidd-system-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-system_ALLTARGETS += kernel-hidd-system-includes \ + kernel-hidd-system-includes-quick kernel-hidd-system-includes-dirs \ + kernel-hidd-system-linklib kernel-hidd-system-fd +endif + +.PHONY : $(kernel-hidd-system_ALLTARGETS) kernel-hidd-system-makefile + +ifeq (system,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-system_DEFNAME := system_ +else + kernel-hidd-system_DEFNAME := system +endif +kernel-hidd-system_DEFLINKLIBNAME := $(kernel-hidd-system_DEFNAME) +ifneq (,) + kernel-hidd-system_LINKLIBNAME := +else + kernel-hidd-system_LINKLIBNAME = $(kernel-hidd-system_DEFLINKLIBNAME) +endif +kernel-hidd-system_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-system_DEFCPPFLAGS += -I +endif +kernel-hidd-system_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-system_DFLAGS := +else + kernel-hidd-system_DFLAGS = $(kernel-hidd-system_DEFDFLAGS) +endif +kernel-hidd-system_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-system_DXXFLAGS := +else + kernel-hidd-system_DXXFLAGS = $(kernel-hidd-system_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-system_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-system_DEFDFLAGS)) +kernel-hidd-system_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-system_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-system_FUNCINSTR := yes +kernel-hidd-system_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-system_DEFDFLAGS)) +kernel-hidd-system_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-system_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-system_OBJDIR := +else +kernel-hidd-system_OBJDIR := $(OBJDIR)/$(kernel-hidd-system_DEFNAME) +endif +ifneq (,) +kernel-hidd-system_OBJDIR := $(kernel-hidd-system_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-system-makefile := $(kernel-hidd-system_OBJDIR)/Makefile.$(kernel-hidd-system_DEFNAME)hidd +kernel-hidd-system-genmakefile : $(kernel-hidd-system-makefile) + + +kernel-hidd-system-genmakefile_OPTS := +ifneq (,) + kernel-hidd-system-genmakefile_OPTS += -f + kernel-hidd-system-genmakefile_MODNAME := system_ +else + kernel-hidd-system-genmakefile_MODNAME := system +endif +kernel-hidd-system-genmakefile_TARGET := Makefile.$(kernel-hidd-system-genmakefile_MODNAME)hidd +kernel-hidd-system-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-system-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-system-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-system-genmakefile_OPTS += -c + kernel-hidd-system-genmakefile_DEPS += + endif +else + kernel-hidd-system-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/system.conf + kernel-hidd-system-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/system.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-system-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-system-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-system-genmakefile_OPTS += -o + kernel-hidd-system-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-system-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-system_OBJDIR),) + kernel-hidd-system-genmakefile_OPTS += -d $(kernel-hidd-system_OBJDIR) + kernel-hidd-system-genmakefile_TARGET := $(kernel-hidd-system_OBJDIR)/$(kernel-hidd-system-genmakefile_TARGET) +endif + +$(kernel-hidd-system-genmakefile_TARGET) : OPTS := $(kernel-hidd-system-genmakefile_OPTS) +$(kernel-hidd-system-genmakefile_TARGET) : MODNAME := system +$(kernel-hidd-system-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-system-genmakefile_TARGET) : $(kernel-hidd-system-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-system-makefile),) +$(kernel-hidd-system-makefile) : | $(kernel-hidd-system_OBJDIR) +else +$(kernel-hidd-system-makefile) :: $(kernel-hidd-system_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-system_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-system_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-system-makefile) + +kernel-hidd-system_DEFMODDIR := $($(kernel-hidd-system_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-system_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-system_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-system_MODDIR := +else + kernel-hidd-system_MODDIR := $(kernel-hidd-system_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-system_INCDIR := +else +kernel-hidd-system_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-system_LIBDEFSINC := $(kernel-hidd-system_OBJDIR)/include/$(kernel-hidd-system_DEFNAME)_libdefs.h +kernel-hidd-system_DEFLIBDEFSINC := $(kernel-hidd-system_OBJDIR)/include/$(kernel-hidd-system_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-system-includes-quick : kernel-hidd-system-includes +kernel-hidd-system-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-system_INCDIR)/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-system_LIBDEFSINC) $(kernel-hidd-system_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-system_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-system-includes_MODNAME := system_ +else + kernel-hidd-system-includes_MODNAME := system +endif + +ifneq ($($(kernel-hidd-system-includes_MODNAME)_INCLUDES),) + +kernel-hidd-system-includes_TARGETS := $($(kernel-hidd-system-includes_MODNAME)_INCLUDES) + +kernel-hidd-system-includes_DEPS := $(GENMODULE) +kernel-hidd-system-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-system-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-system-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-system-includes_OPTS += -c + kernel-hidd-system-includes_DEPS += + endif +else + kernel-hidd-system-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/system.conf + kernel-hidd-system-includes_DEPS += $(SRCDIR)/$(CURDIR)/system.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-system-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-system-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-system-includes_OPTS += -o + kernel-hidd-system-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-system-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-system_OBJDIR)/include,) + kernel-hidd-system-includes_OPTS += -d $(kernel-hidd-system_OBJDIR)/include + kernel-hidd-system-includes_TARGETS := $(addprefix $(kernel-hidd-system_OBJDIR)/include/,$(kernel-hidd-system-includes_TARGETS)) + kernel-hidd-system-includes_GENINCFLAG=$(kernel-hidd-system_OBJDIR)/include/.system.hidd-includes +else + kernel-hidd-system-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.system.hidd-includes +endif + +$(kernel-hidd-system-includes_TARGETS) : $(kernel-hidd-system-includes_DEPS) $(kernel-hidd-system-includes_GENINCFLAG) + +$(kernel-hidd-system-includes_GENINCFLAG) : OPTS := $(kernel-hidd-system-includes_OPTS) +$(kernel-hidd-system-includes_GENINCFLAG) : MODNAME := system +$(kernel-hidd-system-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-system-includes_GENINCFLAG) : $(kernel-hidd-system-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-system_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) : | $(kernel-hidd-system_OBJDIR)/system_geninc + +$(kernel-hidd-system_OBJDIR)/system_geninc : COPYSRCDIR := $(kernel-hidd-system_OBJDIR)/include +$(kernel-hidd-system_OBJDIR)/system_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-system_OBJDIR)/system_geninc : FILES := $($(kernel-hidd-system_DEFNAME)_INCLUDES) +$(kernel-hidd-system_OBJDIR)/system_geninc : $(addprefix $(kernel-hidd-system_OBJDIR)/include/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-system_OBJDIR)/include + +$(addprefix $(kernel-hidd-system_INCDIR)/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) : | $(kernel-hidd-system_OBJDIR)/system_incs + +$(kernel-hidd-system_OBJDIR)/system_incs : COPYSRCDIR := $(kernel-hidd-system_OBJDIR)/include +$(kernel-hidd-system_OBJDIR)/system_incs : TGTDIR := $(kernel-hidd-system_INCDIR) +$(kernel-hidd-system_OBJDIR)/system_incs : FILES := $($(kernel-hidd-system_DEFNAME)_INCLUDES) +$(kernel-hidd-system_OBJDIR)/system_incs : $(addprefix $(kernel-hidd-system_OBJDIR)/include/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-system_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-system_DEFNAME)_INCLUDES)))) + +TMPsystem_INCDIRS := \ + $(kernel-hidd-system_OBJDIR)/include $(addprefix $(kernel-hidd-system_OBJDIR)/include/,$(kernel-hidd-system_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-system_INCDIRS)) \ + $(kernel-hidd-system_INCDIR) $(addprefix $(kernel-hidd-system_INCDIR)/,$(kernel-hidd-system_INCDIRS)) + +ifneq (kernel-hidd-system-includes-dirs,) +kernel-hidd-system-includes-dirs : | $(TMPsystem_INCDIRS) +else +kernel-hidd-system-includes-dirs :: $(TMPsystem_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPsystem_INCDIRS) + + +endif + +endif + + +kernel-hidd-system-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-system-genlibdefs_OPTS += -f + kernel-hidd-system-genlibdefs_MODNAME := system_ +else + kernel-hidd-system-genlibdefs_MODNAME := system +endif +kernel-hidd-system-genlibdefs_TARGET := $(kernel-hidd-system-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-system-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-system-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-system-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-system-genlibdefs_OPTS += -c + kernel-hidd-system-genlibdefs_DEPS += + endif +else + kernel-hidd-system-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/system.conf + kernel-hidd-system-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/system.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-system-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-system-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-system-genlibdefs_OPTS += -o + kernel-hidd-system-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-system-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-system_OBJDIR)/include,) + kernel-hidd-system-genlibdefs_OPTS += -d $(kernel-hidd-system_OBJDIR)/include + kernel-hidd-system-genlibdefs_TARGET := $(kernel-hidd-system_OBJDIR)/include/$(kernel-hidd-system-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-system-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-system-genlibdefs_TARGET) : OPTS := $(kernel-hidd-system-genlibdefs_OPTS) +$(kernel-hidd-system-genlibdefs_TARGET) : MODNAME := system +$(kernel-hidd-system-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-system-genlibdefs_TARGET) : $(kernel-hidd-system-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-system_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-system_LIBDEFSINC) +$(kernel-hidd-system_DEFLIBDEFSINC) : $(kernel-hidd-system_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-system_LIBDEFSINC) $(kernel-hidd-system_DEFLIBDEFSINC) : | $(kernel-hidd-system_OBJDIR)/include + +ifneq (kernel-hidd-system-includes-dirs,) +kernel-hidd-system-includes-dirs : | $(kernel-hidd-system_OBJDIR)/include +else +kernel-hidd-system-includes-dirs :: $(kernel-hidd-system_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-system_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-system-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-system-genmodfiles_OPTS += -f + kernel-hidd-system-genmodfiles_MODNAME := system_ +else + kernel-hidd-system-genmodfiles_MODNAME := system +endif +kernel-hidd-system-genmodfiles_GENTARGETS := $($(kernel-hidd-system-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-system-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-system-genmodfiles_STUBTARGETS := $($(kernel-hidd-system-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-system-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-system-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-system-genmodfiles_GENTARGETS)) +kernel-hidd-system-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-system-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-system-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-system-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-system-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-system-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-system-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-system-genmodfiles_OPTS += -c + kernel-hidd-system-genmodfiles_DEPS += + endif +else + kernel-hidd-system-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/system.conf + kernel-hidd-system-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/system.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-system-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-system-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-system-genmodfiles_OPTS += -o + kernel-hidd-system-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-system-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-system_OBJDIR),) + kernel-hidd-system-genmodfiles_OPTS += -d $(kernel-hidd-system_OBJDIR) + kernel-hidd-system-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-system_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-system-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-system-genmodfiles_TARGETDIR)/,$(kernel-hidd-system-genmodfiles_GENTARGETS)) + kernel-hidd-system-genmodfiles_GENFILEFLAG=$(kernel-hidd-system-genmodfiles_TARGETDIR)/.system.hidd-genfiles +else + kernel-hidd-system-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.system.hidd-genfiles +endif +ifneq ($(kernel-hidd-system_OBJDIR)/linklib,) + kernel-hidd-system-genmodfiles_OPTS += -l $(kernel-hidd-system_OBJDIR)/linklib + kernel-hidd-system-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-system_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-system-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-system-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-system-genmodfiles_STUBTARGETS)) + kernel-hidd-system-genmodfiles_TARGETDIRS += $(kernel-hidd-system_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-system_OBJDIR),) + kernel-hidd-system-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-system-genmodfiles_TARGETDIR)/,$(kernel-hidd-system-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-system-genmodfiles_TARGETS := $(kernel-hidd-system-genmodfiles_GENTARGETS) $(kernel-hidd-system-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-system-genmodfiles_TARGETDIRS),) +$(kernel-hidd-system-genmodfiles_TARGETS) : | $(kernel-hidd-system-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-system-genmodfiles_TARGETS) : $(kernel-hidd-system-genmodfiles_DEPS) $(kernel-hidd-system-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-system-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-system-genmodfiles_OPTS) +$(kernel-hidd-system-genmodfiles_GENFILEFLAG) : MODNAME := system +$(kernel-hidd-system-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-system-genmodfiles_GENFILEFLAG) : $(kernel-hidd-system-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-system-genmodfiles_GENFILEFLAG) : $(kernel-hidd-system_DEFLIBDEFSINC) $(kernel-hidd-system-makefile) + + +ifneq ($(kernel-hidd-system-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-system-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-system_OBJDIR)/linklib +else +$(kernel-hidd-system-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-system_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-system_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-system_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-system_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-system-fd : $(kernel-hidd-system_FDDIR)/system_lib.fd + + +TMP_TARGET := system_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/system.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/system.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-system_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-system_FDDIR) + TMP_TARGET := $(kernel-hidd-system_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := system +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-system_FDDIR)/system_lib.fd : | $(kernel-hidd-system_FDDIR) + + +ifneq (kernel-hidd-system-fd-setup,) +kernel-hidd-system-fd-setup : | $(kernel-hidd-system_FDDIR) +else +kernel-hidd-system-fd-setup :: $(kernel-hidd-system_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-system_FDDIR) + +endif + +## Compilation +## +kernel-hidd-system_FILES := $(FILES) +kernel-hidd-system_OBJCFILES := +kernel-hidd-system_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-system_LIBFILES := +kernel-hidd-system_LIBS := + +kernel-hidd-system_FDIRS := $(sort $(dir $(kernel-hidd-system_FILES))) + +kernel-hidd-system_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-system_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-system_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-system_FILTERARCH = $(filter-out $(call kernel-hidd-system_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-system_STARTFILES := $(addprefix $(kernel-hidd-system_OBJDIR)/,$($(kernel-hidd-system_DEFNAME)_STARTFILES)) +kernel-hidd-system_ENDFILES := $(addprefix $(kernel-hidd-system_OBJDIR)/,$($(kernel-hidd-system_DEFNAME)_ENDFILES)) + +kernel-hidd-system_ARCHOBJS := $(wildcard $(kernel-hidd-system_OBJDIR)/arch/*.o) +kernel-hidd-system_LIBARCHOBJS := $(wildcard $(kernel-hidd-system_OBJDIR)/linklib/arch/*.o) +kernel-hidd-system_ARCHFILES := $(basename $(notdir $(kernel-hidd-system_ARCHOBJS))) +kernel-hidd-system_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-system_LIBARCHOBJS))) +kernel-hidd-system_C_NARCHFILES := $(call kernel-hidd-system_FILTERARCH,$(kernel-hidd-system_ARCHFILES),$(kernel-hidd-system_FILES)) +kernel-hidd-system_CXX_NARCHFILES := $(call kernel-hidd-system_FILTERARCH,$(kernel-hidd-system_ARCHFILES),$(kernel-hidd-system_CXXFILES)) +kernel-hidd-system_OBJC_NARCHFILES := $(call kernel-hidd-system_FILTERARCH,$(kernel-hidd-system_ARCHFILES),$(kernel-hidd-system_OBJCFILES)) +kernel-hidd-system_NLIBARCHFILES := $(call kernel-hidd-system_FILTERARCH,$(kernel-hidd-system_LIBARCHFILES),$(kernel-hidd-system_LIBFILES)) +kernel-hidd-system_ARCHNLIBFILES := $(call kernel-hidd-system_FILTERARCH,$(kernel-hidd-system_LIBFILES),$(kernel-hidd-system_LIBARCHFILES)) + +kernel-hidd-system_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-system_OBJDIR)/include -include $(kernel-hidd-system_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-system_CPPFLAGS += -I +endif +kernel-hidd-system_LINKLIBCPPFLAGS := $(kernel-hidd-system_CPPFLAGS) +kernel-hidd-system_CPPFLAGS += $(strip $($(kernel-hidd-system_DEFNAME)_CPPFLAGS)) +kernel-hidd-system_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-system_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-system_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-system_DEFNAME)_CFLAGS)) +kernel-hidd-system_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-system_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-system_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-system_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-system_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-system_CFLAGS := $(strip $(kernel-hidd-system_LTOFLAGS) $(kernel-hidd-system_CFLAGS)) +kernel-hidd-system_LINKLIBCFLAGS := $(strip $(kernel-hidd-system_LTOFLAGS) $(kernel-hidd-system_LINKLIBCFLAGS)) +kernel-hidd-system_CXXFLAGS := $(strip $(kernel-hidd-system_LTOFLAGS) $(kernel-hidd-system_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-system_SUBSTNULL := +kernel-hidd-system_SUBSTSPACE := $(kernel-hidd-system_SUBSTNULL) # +kernel-hidd-system_SUBSTCOMMA := , +kernel-hidd-system_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-system_SUBSTSPACE),$(kernel-hidd-system_SUBSTCOMMA),$(strip $($(kernel-hidd-system_DEFNAME)_STARTFILES)))) +kernel-hidd-system_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-system_CFLAGS := $(strip $(kernel-hidd-system_INSTRFUNCFLAGS) $(kernel-hidd-system_CFLAGS)) +kernel-hidd-system_CXXFLAGS := $(strip $(kernel-hidd-system_INSTRFUNCFLAGS) $(kernel-hidd-system_CXXFLAGS)) +kernel-hidd-system_LIBS += $(kernel-hidd-system_INSTRFUNCLIBS) +endif +endif +kernel-hidd-system_DFLAGS := $(strip $(kernel-hidd-system_DFLAGS) $($(kernel-hidd-system_DEFNAME)_DFLAGS)) +kernel-hidd-system_LINKLIBDFLAGS := $(strip $(kernel-hidd-system_DFLAGS) $($(kernel-hidd-system_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-system_DXXFLAGS := $(strip $(kernel-hidd-system_DXXFLAGS) $($(kernel-hidd-system_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-system_LIBSUFFIX := +else + kernel-hidd-system_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-system_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-system_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-system_LINKLIBCFILES := $(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$($(kernel-hidd-system_DEFNAME)_LINKLIBFILES)) +kernel-hidd-system_LINKLIBAFILES := $(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$($(kernel-hidd-system_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-system_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-system_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-system_ARCHNLIBFILES)),) + kernel-hidd-system_LINKLIB := +else + kernel-hidd-system_LINKLIB := $(kernel-hidd-system_LIBDIR)/libsystem$(kernel-hidd-system_LIBSUFFIX).a + ifneq (system,$(kernel-hidd-system_LINKLIBNAME)) + kernel-hidd-system_LINKLIB += $(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)$(kernel-hidd-system_LIBSUFFIX).a + endif +endif +kernel-hidd-system_LINKLIBFILES := $(kernel-hidd-system_LINKLIBCFILES) $(kernel-hidd-system_LINKLIBAFILES) + +kernel-hidd-system_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$($(kernel-hidd-system_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-system_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$($(kernel-hidd-system_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-system_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-system_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-system_ARCHNLIBFILES)),) + kernel-hidd-system_RELLINKLIB := +else + kernel-hidd-system_RELLINKLIB := $(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_DEFNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a + ifneq (system,$(kernel-hidd-system_LINKLIBNAME)) + kernel-hidd-system_RELLINKLIB += $(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a + endif +endif +kernel-hidd-system_RELLINKLIBFILES := $(kernel-hidd-system_RELLINKLIBCFILES) $(kernel-hidd-system_RELLINKLIBAFILES) +endif + +kernel-hidd-system_ENDOBJS := $(addsuffix .o,$(kernel-hidd-system_ENDFILES)) +kernel-hidd-system_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(notdir $(kernel-hidd-system_NLIBARCHFILES))) $(addprefix $(kernel-hidd-system_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-system_ARCHNLIBFILES))) $(kernel-hidd-system_LINKLIBFILES)) \ + +kernel-hidd-system_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(notdir $(kernel-hidd-system_NLIBARCHFILES))) $(addprefix $(kernel-hidd-system_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-system_ARCHNLIBFILES))) $(kernel-hidd-system_RELLINKLIBFILES)) \ + +$(kernel-hidd-system_LINKLIBFILES) $(kernel-hidd-system_RELLINKLIBFILES) : | $(kernel-hidd-system_OBJDIR)/linklib +$(kernel-hidd-system_LINKLIBOBJS) $(kernel-hidd-system_RELLINKLIBOBJS) : | $(kernel-hidd-system_OBJDIR)/linklib + +kernel-hidd-system_CCFILES := $(kernel-hidd-system_C_NARCHFILES) +kernel-hidd-system_TARGETCCFILES := $(strip $(kernel-hidd-system_STARTFILES) $(kernel-hidd-system_ENDFILES)) +kernel-hidd-system_LINKLIBCCFILES := $(strip $(kernel-hidd-system_NLIBARCHFILES) $(kernel-hidd-system_LINKLIBCFILES) $(kernel-hidd-system_RELLINKLIBCFILES)) +kernel-hidd-system_LINKLIBCCGENFILES := $(strip $(kernel-hidd-system_LINKLIBCFILES) $(kernel-hidd-system_RELLINKLIBCFILES)) + + +kernel-hidd-system_CXXABSBASENAMES := $(foreach kernel-hidd-system_CXXBASE,$(kernel-hidd-system_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-system_CXXBASE)),$(kernel-hidd-system_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-system_CXXBASE)))) + +ifneq ($(kernel-hidd-system_CXXABSBASENAMES),) + +kernel-hidd-system_CXXBASENAMES := $(basename $(kernel-hidd-system_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-system_MCXX_FILES := $(strip $(foreach kernel-hidd-system_CXXBASE,$(kernel-hidd-system_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-system_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-system_EXT),$(kernel-hidd-system_CXXBASE))))))) + +ifeq (,) +kernel-hidd-system_MCXX_SRCWILDCARD := % +else +kernel-hidd-system_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-system_OBJDIR),) + kernel-hidd-system_CXXTARGETS := $(notdir $(kernel-hidd-system_CXXBASENAMES:=.o)) + kernel-hidd-system_CXXDTARGETS := $(notdir $(kernel-hidd-system_CXXBASENAMES:=.d)) + kernel-hidd-system_MCXX_WILDCARD := % +else + kernel-hidd-system_CXXTARGETS := $(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(kernel-hidd-system_CXXBASENAMES:=.o))) + kernel-hidd-system_CXXDTARGETS := $(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(kernel-hidd-system_CXXBASENAMES:=.d))) + kernel-hidd-system_MCXX_WILDCARD := $(kernel-hidd-system_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-system_CXXTARGETS) $(kernel-hidd-system_CXXDTARGETS) : | $(kernel-hidd-system_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-system_MCXX_CPPFLAGS := $(kernel-hidd-system_CPPFLAGS) +kernel-hidd-system_CXXFLAGS := $(kernel-hidd-system_CXXFLAGS) +ifeq ($(kernel-hidd-system_DXXFLAGS),) + kernel-hidd-system_DXXFLAGS := $(kernel-hidd-system_CXXFLAGS) +else + kernel-hidd-system_DXXFLAGS := $(kernel-hidd-system_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-system_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-system_STRIP ?= $(HOST_STRIP) + kernel-hidd-system_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-system_CXXCMD:=$(HOST_CXX) + kernel-hidd-system_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-system_MCXX_CPPFLAGS) $(kernel-hidd-system_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-system_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-system_CXXFLAGS)) + kernel-hidd-system_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-system_DXXFLAGS)) + kernel-hidd-system_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-system_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-system_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-system_STRIP ?= $(TARGET_STRIP) + kernel-hidd-system_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-system_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-system_MCXX_CPPFLAGS := $(strip $(kernel-hidd-system_MCXX_CPPFLAGS) $(kernel-hidd-system_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-system_CXXFLAGS := $(strip $(kernel-hidd-system_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-system_DXXFLAGS := $(kernel-hidd-system_DXXFLAGS) + kernel-hidd-system_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-system_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-system_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-system_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-system_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-system_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-system_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-system_MCXX_CPPFLAGS) $(kernel-hidd-system_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-system_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-system_CXXFLAGS)) + kernel-hidd-system_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-system_DXXFLAGS)) + kernel-hidd-system_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-system_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-system_CXXCMD) $(kernel-hidd-system_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-system_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_CXXIQUOTE) . $(kernel-hidd-system_CXXIQUOTE_END) $(strip $(kernel-hidd-system_CXXFLAGS) $(kernel-hidd-system_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-system_CXXCMD) $(kernel-hidd-system_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-system_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_CXXIQUOTE) . $(kernel-hidd-system_CXXIQUOTE_END) $(strip $(kernel-hidd-system_CXXFLAGS) $(kernel-hidd-system_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-system_CXXCMD) $(kernel-hidd-system_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-system_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_CXXIQUOTE) . $(kernel-hidd-system_CXXIQUOTE_END) $(strip $(kernel-hidd-system_CXXFLAGS) $(kernel-hidd-system_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-system_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-system_DXXFLAGS) $(kernel-hidd-system_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-system_OBJDIR),) + $(foreach kernel-hidd-system_CXXFILE,$(kernel-hidd-system_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-system_CXXFILE))),$(kernel-hidd-system_CXXFILE)))) +else + $(foreach kernel-hidd-system_CXXFILE,$(kernel-hidd-system_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(basename $(kernel-hidd-system_CXXFILE)))),$(kernel-hidd-system_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-system_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-system_MOBJC_SRCWILDCARD := % +else +kernel-hidd-system_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-system_OBJDIR),) + kernel-hidd-system_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-system_OBJC_NARCHFILES)) + kernel-hidd-system_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-system_OBJC_NARCHFILES)) + kernel-hidd-system_MOBJC_WILDCARD := % +else + kernel-hidd-system_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(kernel-hidd-system_OBJC_NARCHFILES))) + kernel-hidd-system_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(kernel-hidd-system_OBJC_NARCHFILES))) + kernel-hidd-system_MOBJC_WILDCARD := $(kernel-hidd-system_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-system_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-system_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-system_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-system_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-system_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-system_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-system_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-system_MOBJC_DIRS),) + kernel-hidd-system_MOBJC_DIRS := $(shell echo $(kernel-hidd-system_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-system_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-system_CC := $(TARGET_CC) +else + kernel-hidd-system_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-system_MOBJC_CPPFLAGS := $(kernel-hidd-system_CPPFLAGS) +kernel-hidd-system_OBJCFLAGS := $(kernel-hidd-system_CFLAGS) +kernel-hidd-system_OBJCFLAGS := $(kernel-hidd-system_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-system_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-system_OBJCFLAGS))) +ifeq ($(kernel-hidd-system_DFLAGS),) + kernel-hidd-system_OBJCDFLAGS := $(kernel-hidd-system_CFLAGS) +else + kernel-hidd-system_OBJCDFLAGS := $(kernel-hidd-system_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-system_LINK ?= $(strip $(kernel-hidd-system_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-system_STRIP ?= $(TARGET_STRIP) + kernel-hidd-system_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-system_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-system_MOBJC_CPPFLAGS) $(kernel-hidd-system_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_OBJCFLAGS:=$(strip $(kernel-hidd-system_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_OBJCDFLAGS:=$(kernel-hidd-system_OBJCDFLAGS) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-system_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-system_STRIP ?= $(HOST_STRIP) + kernel-hidd-system_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-system_MOBJC_CPPFLAGS) $(kernel-hidd-system_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_OBJCFLAGS)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_OBJCDFLAGS)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-system_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-system_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-system_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-system_MOBJC_CPPFLAGS) $(kernel-hidd-system_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_OBJCFLAGS)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_OBJCDFLAGS)) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-system_MOBJC_TARGETS) $(kernel-hidd-system_MOBJC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-system_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-system_MOBJC_CPPFLAGS) +$(kernel-hidd-system_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-system_OBJCFLAGS) +$(kernel-hidd-system_MOBJC_TARGETS) : $(kernel-hidd-system_MOBJC_WILDCARD).o : $(kernel-hidd-system_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-system_MOBJC_DTARGETS) : $(kernel-hidd-system_MOBJC_WILDCARD).d : $(kernel-hidd-system_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-system_OBJCDFLAGS) $(kernel-hidd-system_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-system_MC_SRCWILDCARD := % +else +kernel-hidd-system_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-system_OBJDIR),) +kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-system_CCFILES)) +kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-system_CCFILES)) +kernel-hidd-system_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(kernel-hidd-system_CCFILES)))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(kernel-hidd-system_CCFILES)))) +else +ifeq (,) + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(kernel-hidd-system_CCFILES))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(kernel-hidd-system_CCFILES))) +else + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-system_CCFILES)))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-system_CCFILES)))) +endif +endif +kernel-hidd-system_MC_TGTWILDCARD := $(kernel-hidd-system_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-system_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-system_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-system_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-system_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-system_MC_DIRS := $(foreach dir, $(kernel-hidd-system_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-system_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-system_MC_DIRS),) + kernel-hidd-system_MC_DIRS := $(shell echo $(kernel-hidd-system_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-system_MC_DIRS) +endif + +endif + +kernel-hidd-system_MC_CPPFLAGS := $(kernel-hidd-system_CPPFLAGS) +kernel-hidd-system_CFLAGS := $(kernel-hidd-system_CFLAGS) +ifeq ($(kernel-hidd-system_DFLAGS),) + kernel-hidd-system_DFLAGS := $(kernel-hidd-system_CFLAGS) +else + kernel-hidd-system_DFLAGS := $(kernel-hidd-system_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-system_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(TARGET_STRIP) +kernel-hidd-system_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(kernel-hidd-system_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(kernel-hidd-system_DFLAGS) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-system_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(HOST_STRIP) +kernel-hidd-system_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_DFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-system_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-system_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_DFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-system_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-system_MC_CPPFLAGS) +$(kernel-hidd-system_MC_TARGETS) : CFLAGS := $(kernel-hidd-system_CFLAGS) +$(kernel-hidd-system_MC_TARGETS) : $(kernel-hidd-system_MC_TGTWILDCARD).o : $(kernel-hidd-system_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-system_MC_DTARGETS) : $(kernel-hidd-system_MC_TGTWILDCARD).d : $(kernel-hidd-system_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-system_DFLAGS) $(kernel-hidd-system_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-system_MC_SRCWILDCARD := % +else +kernel-hidd-system_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-system_OBJDIR),) +kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-system_TARGETCCFILES)) +kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-system_TARGETCCFILES)) +kernel-hidd-system_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(kernel-hidd-system_TARGETCCFILES)))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(kernel-hidd-system_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(kernel-hidd-system_TARGETCCFILES))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(kernel-hidd-system_TARGETCCFILES))) +else + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-system_TARGETCCFILES)))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-system_TARGETCCFILES)))) +endif +endif +kernel-hidd-system_MC_TGTWILDCARD := $(kernel-hidd-system_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-system_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-system_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-system_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-system_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-system_MC_DIRS := $(foreach dir, $(kernel-hidd-system_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-system_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-system_MC_DIRS),) + kernel-hidd-system_MC_DIRS := $(shell echo $(kernel-hidd-system_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-system_MC_DIRS) +endif + +endif + +kernel-hidd-system_MC_CPPFLAGS := $(kernel-hidd-system_CPPFLAGS) -D__AROS__ +kernel-hidd-system_CFLAGS := $(kernel-hidd-system_CFLAGS) +ifeq ($(kernel-hidd-system_DFLAGS),) + kernel-hidd-system_DFLAGS := $(kernel-hidd-system_CFLAGS) +else + kernel-hidd-system_DFLAGS := $(kernel-hidd-system_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-system_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(TARGET_STRIP) +kernel-hidd-system_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(kernel-hidd-system_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(kernel-hidd-system_DFLAGS) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-system_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(HOST_STRIP) +kernel-hidd-system_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_DFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-system_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-system_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_DFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-system_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-system_MC_CPPFLAGS) +$(kernel-hidd-system_MC_TARGETS) : CFLAGS := $(kernel-hidd-system_CFLAGS) +$(kernel-hidd-system_MC_TARGETS) : $(kernel-hidd-system_MC_TGTWILDCARD).o : $(kernel-hidd-system_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-system_MC_DTARGETS) : $(kernel-hidd-system_MC_TGTWILDCARD).d : $(kernel-hidd-system_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-system_DFLAGS) $(kernel-hidd-system_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-system_MC_SRCWILDCARD := % +else +kernel-hidd-system_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-system_OBJDIR)/linklib,) +kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-system_NLIBARCHFILES)) +kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-system_NLIBARCHFILES)) +kernel-hidd-system_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(notdir $(kernel-hidd-system_NLIBARCHFILES)))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(notdir $(kernel-hidd-system_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(kernel-hidd-system_NLIBARCHFILES))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(kernel-hidd-system_NLIBARCHFILES))) +else + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-system_NLIBARCHFILES)))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-system_NLIBARCHFILES)))) +endif +endif +kernel-hidd-system_MC_TGTWILDCARD := $(kernel-hidd-system_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-system_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-system_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-system_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-system_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-system_MC_DIRS := $(foreach dir, $(kernel-hidd-system_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-system_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-system_MC_DIRS),) + kernel-hidd-system_MC_DIRS := $(shell echo $(kernel-hidd-system_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-system_MC_DIRS) +endif + +endif + +kernel-hidd-system_MC_CPPFLAGS := $(kernel-hidd-system_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-system_CFLAGS := $(kernel-hidd-system_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-system_LINKLIBDFLAGS),) + kernel-hidd-system_DFLAGS := $(kernel-hidd-system_LINKLIBCFLAGS) +else + kernel-hidd-system_DFLAGS := $(kernel-hidd-system_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-system_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(TARGET_STRIP) +kernel-hidd-system_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(kernel-hidd-system_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(kernel-hidd-system_DFLAGS) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-system_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(HOST_STRIP) +kernel-hidd-system_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_DFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-system_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-system_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_DFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-system_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-system_MC_CPPFLAGS) +$(kernel-hidd-system_MC_TARGETS) : CFLAGS := $(kernel-hidd-system_CFLAGS) +$(kernel-hidd-system_MC_TARGETS) : $(kernel-hidd-system_MC_TGTWILDCARD).o : $(kernel-hidd-system_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-system_MC_DTARGETS) : $(kernel-hidd-system_MC_TGTWILDCARD).d : $(kernel-hidd-system_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-system_DFLAGS) $(kernel-hidd-system_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-system_OBJDIR)/linklib,) +kernel-hidd-system_MC_SRCWILDCARD := % +else +kernel-hidd-system_MC_SRCWILDCARD := $(kernel-hidd-system_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-system_OBJDIR)/linklib,) +kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-system_LINKLIBCCGENFILES)) +kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-system_LINKLIBCCGENFILES)) +kernel-hidd-system_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(notdir $(kernel-hidd-system_LINKLIBCCGENFILES)))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(notdir $(kernel-hidd-system_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-system_OBJDIR)/linklib,) + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(kernel-hidd-system_LINKLIBCCGENFILES))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(kernel-hidd-system_LINKLIBCCGENFILES))) +else + kernel-hidd-system_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-system_OBJDIR)/linklib/%,%,$(kernel-hidd-system_LINKLIBCCGENFILES)))) + kernel-hidd-system_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-system_OBJDIR)/linklib/%,%,$(kernel-hidd-system_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-system_MC_TGTWILDCARD := $(kernel-hidd-system_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-system_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-system_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-system_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-system_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-system_MC_DIRS := $(foreach dir, $(kernel-hidd-system_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-system_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-system_MC_DIRS),) + kernel-hidd-system_MC_DIRS := $(shell echo $(kernel-hidd-system_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-system_MC_DIRS) +endif + +endif + +kernel-hidd-system_MC_CPPFLAGS := $(kernel-hidd-system_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-system_CFLAGS := $(kernel-hidd-system_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-system_LINKLIBDFLAGS),) + kernel-hidd-system_DFLAGS := $(kernel-hidd-system_LINKLIBCFLAGS) +else + kernel-hidd-system_DFLAGS := $(kernel-hidd-system_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-system_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(TARGET_STRIP) +kernel-hidd-system_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(kernel-hidd-system_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(kernel-hidd-system_DFLAGS) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-system_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(HOST_STRIP) +kernel-hidd-system_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-system_DFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-system_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-system_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-system_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-system_MC_CPPFLAGS) $(kernel-hidd-system_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_CFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-system_DFLAGS)) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-system_MC_TARGETS) $(kernel-hidd-system_MC_DTARGETS) : kernel-hidd-system_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-system_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-system_MC_CPPFLAGS) +$(kernel-hidd-system_MC_TARGETS) : CFLAGS := $(kernel-hidd-system_CFLAGS) +$(kernel-hidd-system_MC_TARGETS) : $(kernel-hidd-system_MC_TGTWILDCARD).o : $(kernel-hidd-system_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-system_IQUOTE) $(dir $<) $(kernel-hidd-system_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-system_IQUOTE) . $(kernel-hidd-system_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-system_MC_DTARGETS) : $(kernel-hidd-system_MC_TGTWILDCARD).d : $(kernel-hidd-system_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-system_DFLAGS) $(kernel-hidd-system_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-system_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-system_OBJDIR)/linklib,) +kernel-hidd-system-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-system_LINKLIBAFILES) $(kernel-hidd-system_RELLINKLIBAFILES)) +kernel-hidd-system-MA_WILDCARD := % +else +kernel-hidd-system-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(notdir $(kernel-hidd-system_LINKLIBAFILES) $(kernel-hidd-system_RELLINKLIBAFILES)))) +kernel-hidd-system-MA_WILDCARD := $(kernel-hidd-system_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-system-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-system_LINKLIBAFILES) $(kernel-hidd-system_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-system-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-system-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-system_LINKLIBAFILES) $(kernel-hidd-system_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-system-MA_DIRS := $(foreach dir, $(kernel-hidd-system-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-system-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-system-MA_DIRS),) + kernel-hidd-system-MA_DIRS := $(shell echo $(kernel-hidd-system-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-system-MA_DIRS) +endif + +endif + +kernel-hidd-system-MA_ASSEMBLER ?= $(kernel-hidd-system_ASSEMBLER) + +$(kernel-hidd-system-MA_TARGETS) : kernel-hidd-system-MA_CMD:= $(kernel-hidd-system-MA_ASSEMBLER) + +$(kernel-hidd-system-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-system-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-system-MA_TARGETS) : $(kernel-hidd-system-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-system-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-system-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-system-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-system_SUFFIX := hidd +else +kernel-hidd-system_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-system_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-system_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-system_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-system_SUFFIX),handler) +kernel-hidd-system_MODULE := $(AROSDIR)/$(kernel-hidd-system_MODDIR)/$(kernel-hidd-system_DEFNAME)-$(kernel-hidd-system_SUFFIX) +else +kernel-hidd-system_MODULE := $(AROSDIR)/$(kernel-hidd-system_MODDIR)/$(kernel-hidd-system_DEFNAME).$(kernel-hidd-system_SUFFIX) +endif +kernel-hidd-system_KOBJ := $(KOBJSDIR)/$(kernel-hidd-system_DEFNAME)_$(kernel-hidd-system_SUFFIX).o +else +kernel-hidd-system_MODULE := +kernel-hidd-system_KOBJ := +endif + +kernel-hidd-system-quick : kernel-hidd-system +kernel-hidd-system : $(kernel-hidd-system_MODULE) $(kernel-hidd-system_LINKLIB) $(kernel-hidd-system_RELLINKLIB) +ifeq (M,M) +kernel-hidd-system-kobj : $(kernel-hidd-system_KOBJ) $(kernel-hidd-system_LINKLIB) $(kernel-hidd-system_RELLINKLIB) +kernel-hidd-system-kobj-quick : $(kernel-hidd-system_KOBJ) $(kernel-hidd-system_LINKLIB) $(kernel-hidd-system_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-system-linklib : $(kernel-hidd-system_LINKLIB) $(kernel-hidd-system_RELLINKLIB) +endif + +kernel-hidd-system_OBJS := $(addsuffix .o,$(kernel-hidd-system_STARTFILES)) $(kernel-hidd-system_ARCHOBJS) \ + $(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(kernel-hidd-system_C_NARCHFILES:=.o) $(kernel-hidd-system_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-system_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (system,con) + kernel-hidd-system_ERR := $(notdir $(kernel-hidd-system_MODULE)).err +else + kernel-hidd-system_ERR := system.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-system_DEFNAME)_LDFLAGS) $(kernel-hidd-system_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-system_LIBS) $($(kernel-hidd-system_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-system_MODULE) : LIB_NAMES := $(kernel-hidd-system_LIBS) $($(kernel-hidd-system_DEFNAME)_LIBS) +$(kernel-hidd-system_MODULE) : OBJS := $(kernel-hidd-system_STARTOBJS) $(kernel-hidd-system_OBJS) $(USER_OBJS) +$(kernel-hidd-system_MODULE) : ENDTAG := $(kernel-hidd-system_ENDOBJS) +$(kernel-hidd-system_MODULE) : ERR := $(kernel-hidd-system_ERR) +$(kernel-hidd-system_MODULE) : OBJDIR := $(kernel-hidd-system_OBJDIR) +$(kernel-hidd-system_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-system_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-system_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-system_MODULE) : $(kernel-hidd-system_STARTOBJS) $(kernel-hidd-system_OBJS) $(USER_OBJS) $(kernel-hidd-system_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-system_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-system_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-system_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-system_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-system_LC_MODNAME := $(shell echo system | tr A-Z a-z) +ifneq ($(kernel-hidd-system_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(HOST_AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(KERNEL_AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)$(kernel-hidd-system_LIBSUFFIX).a : $(kernel-hidd-system_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-system_AR) $@ $^ + $(Q)$(kernel-hidd-system_RANLIB) $@ +ifneq ($(kernel-hidd-system_LC_MODNAME),$(kernel-hidd-system_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-system_LIBDIR)/libsystem$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(AR) +$(kernel-hidd-system_LIBDIR)/libsystem$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-system_LIBDIR)/libsystem$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(HOST_AR) +$(kernel-hidd-system_LIBDIR)/libsystem$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-system_LIBDIR)/libsystem$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(KERNEL_AR) +$(kernel-hidd-system_LIBDIR)/libsystem$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-system_LIBDIR)/libsystem$(kernel-hidd-system_LIBSUFFIX).a : $(kernel-hidd-system_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-system_AR) $@ $^ + $(Q)$(kernel-hidd-system_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-system_LINKLIB),) +$(kernel-hidd-system_LINKLIB) : | $(kernel-hidd-system_LIBDIR) +else +$(kernel-hidd-system_LINKLIB) :: $(kernel-hidd-system_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-system_LIBDIR) + +endif + +ifneq ($(kernel-hidd-system_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(HOST_AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(KERNEL_AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_LINKLIBNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : $(kernel-hidd-system_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-system_AR) $@ $^ + $(Q)$(kernel-hidd-system_RANLIB) $@ +ifneq ($(kernel-hidd-system_LC_MODNAME),$(kernel-hidd-system_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_DEFNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_DEFNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_DEFNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(HOST_AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_DEFNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_DEFNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_AR:=$(KERNEL_AR) +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_DEFNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : kernel-hidd-system_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-system_LIBDIR)/lib$(kernel-hidd-system_DEFNAME)_rel$(kernel-hidd-system_LIBSUFFIX).a : $(kernel-hidd-system_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-system_AR) $@ $^ + $(Q)$(kernel-hidd-system_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-system_RELLINKLIB),) +$(kernel-hidd-system_RELLINKLIB) : | $(kernel-hidd-system_LIBDIR) +else +$(kernel-hidd-system_RELLINKLIB) :: $(kernel-hidd-system_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-system_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-system_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-system_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-system_SYMBOLS := $(kernel-hidd-system_KBASE) + +kernel-hidd-system_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-system_KOBJ_LIBS := $(filter-out $(kernel-hidd-system_KLIB),$(kernel-hidd-system_LIBS)) $(kernel-hidd-system_KAUTOLIB) +$(kernel-hidd-system_KOBJ) : LINKLIBS:=$(kernel-hidd-system_KOBJ_LIBS) $($(kernel-hidd-system_DEFNAME)_LIBS) +$(kernel-hidd-system_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-system_SYMBOLS)) +$(kernel-hidd-system_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-system_KOBJ) : $(kernel-hidd-system_OBJS) $(USER_OBJS) $(kernel-hidd-system_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-system_DEPS := $(addprefix $(kernel-hidd-system_OBJDIR)/,$(notdir $(kernel-hidd-system_CCFILES:=.d) $(kernel-hidd-system_TARGETCCFILES:=.d) $(kernel-hidd-system_CXXFILES:=.d))) $(addprefix $(kernel-hidd-system_OBJDIR)/linklib/,$(notdir $(kernel-hidd-system_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-system_DEPS),) + ifneq (kernel-hidd-system kernel-hidd-system-quick kernel-hidd-system-kobj kernel-hidd-system-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-system kernel-hidd-system-quick kernel-hidd-system-kobj kernel-hidd-system-kobj-quick),) + -include $(kernel-hidd-system_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-system_DEPS) + endif + endif +endif + +$(kernel-hidd-system_OBJS) $(kernel-hidd-system_DEPS) : | $(kernel-hidd-system_OBJDIR)/linklib + +ifneq ($(kernel-hidd-system_OBJS) $(kernel-hidd-system_DEPS) $(kernel-hidd-system_MODULE) $(kernel-hidd-system_KOBJ),) +$(kernel-hidd-system_OBJS) $(kernel-hidd-system_DEPS) $(kernel-hidd-system_MODULE) $(kernel-hidd-system_KOBJ) : | $(kernel-hidd-system_OBJDIR) $(AROSDIR)/$(kernel-hidd-system_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-system_OBJS) $(kernel-hidd-system_DEPS) $(kernel-hidd-system_MODULE) $(kernel-hidd-system_KOBJ) :: $(kernel-hidd-system_OBJDIR) $(AROSDIR)/$(kernel-hidd-system_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-system_OBJDIR) $(AROSDIR)/$(kernel-hidd-system_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-system kernel-hidd-system-includes kernel-hidd-system-quick kernel-hidd-system-kobj kernel-hidd-system-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-system_DFILE_DEPS := $(kernel-hidd-system_LIBDEFSINC) $(kernel-hidd-system_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-system_INCDIR)/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) +$(kernel-hidd-system_DEPS) : $(kernel-hidd-system_DFILE_DEPS) +endif + +kernel-hidd-system_TOCLEAN := $(kernel-hidd-system_OBJS) $(kernel-hidd-system_DEPS) \ + $(kernel-hidd-system_MODULE) $(kernel-hidd-system_LINKLIB) $(kernel-hidd-system_KOBJ) \ + $(kernel-hidd-system_OBJDIR)/Makefile.systemhidd \ + $(addprefix $(kernel-hidd-system_OBJDIR)/include/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-system_INCDIR)/,$($(kernel-hidd-system_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-system_OBJDIR)/system_geninc $(kernel-hidd-system_OBJDIR)/system_incs \ + $(addsuffix .c,$(kernel-hidd-system_LINKLIBFILES)) $(kernel-hidd-system_LINKLIBOBJS) $(kernel-hidd-system_LIBDEFSINC) \ + $(kernel-hidd-system_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-system_STARTFILES) $(kernel-hidd-system_ENDFILES)) \ + $(kernel-hidd-system_ENDOBJS) +kernel-hidd-system-clean : FILES := $(kernel-hidd-system_TOCLEAN) +kernel-hidd-system-clean :: + $(Q)$(ECHO) "Cleaning up for module system" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-system_ALLTARGETS) + + +LIBNAME := system + +INCLUDE_FILES := $(call WILDCARD, include/*.h) + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include,) +TMP_DIR := include +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include,$(GENINCDIR)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include,) +BD_INCL_FILES2 := $(subst include,$(AROS_INCLUDES)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +#MM +clean :: + -$(RM) $(OBJDIR) *.err $(LIB) *.s + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/gfx/mmakefile b/rom/hidds/gfx/mmakefile new file mode 100644 index 00000000000..2a55b5eaca5 --- /dev/null +++ b/rom/hidds/gfx/mmakefile @@ -0,0 +1,1747 @@ +#$Id$ + +include $(SRCDIR)/config/aros.cfg + +COLORCONVFILES := \ + rgbconv \ + rgbconv_arch \ + colorconv_init \ + +FILES := \ + gfx_init \ + gfx_hwclass \ + gfx_hiddclass \ + gfx_bitmapclass \ + gfx_histogramclass \ + gfx_colormapclass \ + gfx_gcclass \ + gfx_planarbitmapclass \ + gfx_chunkybitmapclass \ + gfx_bitmapconvertpixels \ + gfx_bitmapmemblit \ + gfx_pixfmtclass \ + gfx_syncclass + +NOWARN_FLAGS := $(NOWARN_PARENTHESES) +USER_CFLAGS := $(NOWARN_FLAGS) +USER_CPPFLAGS:= -DAROS_USE_OOP \ + -D__GRAPHICS_NOLIBBASE__ \ + -D__OOP_NOLIBBASE__ \ + -D__UTILITY_NOLIBBASE__ +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-gfx +#MM kernel-hidd-gfx-quick +#MM kernel-hidd-gfx-makefile +#MM kernel-hidd-gfx-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-gfx-includes +#MM- linklibs-gfx: kernel-hidd-gfx-linklib +#MM- linklibs-gfx_rel : kernel-hidd-gfx-linklib +#MM- includes-gfx: kernel-hidd-gfx-includes +#MM- includes-gfx_rel : kernel-hidd-gfx-includes +#MM- kernel-hidd-gfx : kernel-hidd-gfx-includes core-linklibs linklibs- +#MM kernel-hidd-gfx-linklib : kernel-hidd-gfx-includes includes- +#MM- kernel-hidd-gfx-quick : kernel-hidd-gfx-includes-quick +#MM kernel-hidd-gfx-includes : kernel-hidd-gfx-makefile kernel-hidd-gfx-includes-dirs \ +#MM includes-generate-deps kernel-hidd-gfx-fd +#MM kernel-hidd-gfx-includes-quick +#MM kernel-hidd-gfx-includes-dirs +#MM kernel-hidd-gfx-fd + +# Library targets +#MM kernel-hidd-gfx-kobj : core-linklibs linklibs- +#MM kernel-hidd-gfx-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-gfx-kobj : kernel-hidd-gfx-includes core-linklibs linklibs- +#MM kernel-hidd-gfx-kobj-quick : kernel-hidd-gfx-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-gfx_ALLTARGETS := kernel-hidd-gfx kernel-hidd-gfx-quick kernel-hidd-gfx-clean + +ifeq (M,M) +kernel-hidd-gfx_ALLTARGETS += kernel-hidd-gfx-kobj kernel-hidd-gfx-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-gfx_ALLTARGETS += kernel-hidd-gfx-includes \ + kernel-hidd-gfx-includes-quick kernel-hidd-gfx-includes-dirs \ + kernel-hidd-gfx-linklib kernel-hidd-gfx-fd +endif + +.PHONY : $(kernel-hidd-gfx_ALLTARGETS) kernel-hidd-gfx-makefile + +ifeq (gfx,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-gfx_DEFNAME := gfx_ +else + kernel-hidd-gfx_DEFNAME := gfx +endif +kernel-hidd-gfx_DEFLINKLIBNAME := $(kernel-hidd-gfx_DEFNAME) +ifneq (,) + kernel-hidd-gfx_LINKLIBNAME := +else + kernel-hidd-gfx_LINKLIBNAME = $(kernel-hidd-gfx_DEFLINKLIBNAME) +endif +kernel-hidd-gfx_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-gfx_DEFCPPFLAGS += -I +endif +kernel-hidd-gfx_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-gfx_DFLAGS := +else + kernel-hidd-gfx_DFLAGS = $(kernel-hidd-gfx_DEFDFLAGS) +endif +kernel-hidd-gfx_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-gfx_DXXFLAGS := +else + kernel-hidd-gfx_DXXFLAGS = $(kernel-hidd-gfx_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-gfx_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-gfx_DEFDFLAGS)) +kernel-hidd-gfx_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-gfx_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-gfx_FUNCINSTR := yes +kernel-hidd-gfx_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-gfx_DEFDFLAGS)) +kernel-hidd-gfx_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-gfx_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-gfx_OBJDIR := +else +kernel-hidd-gfx_OBJDIR := $(OBJDIR)/$(kernel-hidd-gfx_DEFNAME) +endif +ifneq (,) +kernel-hidd-gfx_OBJDIR := $(kernel-hidd-gfx_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-gfx-makefile := $(kernel-hidd-gfx_OBJDIR)/Makefile.$(kernel-hidd-gfx_DEFNAME)hidd +kernel-hidd-gfx-genmakefile : $(kernel-hidd-gfx-makefile) + + +kernel-hidd-gfx-genmakefile_OPTS := +ifneq (,) + kernel-hidd-gfx-genmakefile_OPTS += -f + kernel-hidd-gfx-genmakefile_MODNAME := gfx_ +else + kernel-hidd-gfx-genmakefile_MODNAME := gfx +endif +kernel-hidd-gfx-genmakefile_TARGET := Makefile.$(kernel-hidd-gfx-genmakefile_MODNAME)hidd +kernel-hidd-gfx-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gfx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gfx-genmakefile_OPTS += -c + kernel-hidd-gfx-genmakefile_DEPS += + endif +else + kernel-hidd-gfx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/gfx.conf + kernel-hidd-gfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gfx-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gfx-genmakefile_OPTS += -o + kernel-hidd-gfx-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-gfx-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-gfx_OBJDIR),) + kernel-hidd-gfx-genmakefile_OPTS += -d $(kernel-hidd-gfx_OBJDIR) + kernel-hidd-gfx-genmakefile_TARGET := $(kernel-hidd-gfx_OBJDIR)/$(kernel-hidd-gfx-genmakefile_TARGET) +endif + +$(kernel-hidd-gfx-genmakefile_TARGET) : OPTS := $(kernel-hidd-gfx-genmakefile_OPTS) +$(kernel-hidd-gfx-genmakefile_TARGET) : MODNAME := gfx +$(kernel-hidd-gfx-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-gfx-genmakefile_TARGET) : $(kernel-hidd-gfx-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-gfx-makefile),) +$(kernel-hidd-gfx-makefile) : | $(kernel-hidd-gfx_OBJDIR) +else +$(kernel-hidd-gfx-makefile) :: $(kernel-hidd-gfx_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gfx_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-gfx_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-gfx-makefile) + +kernel-hidd-gfx_DEFMODDIR := $($(kernel-hidd-gfx_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-gfx_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-gfx_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-gfx_MODDIR := +else + kernel-hidd-gfx_MODDIR := $(kernel-hidd-gfx_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-gfx_INCDIR := +else +kernel-hidd-gfx_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-gfx_LIBDEFSINC := $(kernel-hidd-gfx_OBJDIR)/include/$(kernel-hidd-gfx_DEFNAME)_libdefs.h +kernel-hidd-gfx_DEFLIBDEFSINC := $(kernel-hidd-gfx_OBJDIR)/include/$(kernel-hidd-gfx_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-gfx-includes-quick : kernel-hidd-gfx-includes +kernel-hidd-gfx-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-gfx_INCDIR)/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-gfx_LIBDEFSINC) $(kernel-hidd-gfx_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-gfx_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-gfx-includes_MODNAME := gfx_ +else + kernel-hidd-gfx-includes_MODNAME := gfx +endif + +ifneq ($($(kernel-hidd-gfx-includes_MODNAME)_INCLUDES),) + +kernel-hidd-gfx-includes_TARGETS := $($(kernel-hidd-gfx-includes_MODNAME)_INCLUDES) + +kernel-hidd-gfx-includes_DEPS := $(GENMODULE) +kernel-hidd-gfx-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gfx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gfx-includes_OPTS += -c + kernel-hidd-gfx-includes_DEPS += + endif +else + kernel-hidd-gfx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/gfx.conf + kernel-hidd-gfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gfx-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gfx-includes_OPTS += -o + kernel-hidd-gfx-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-gfx-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-gfx_OBJDIR)/include,) + kernel-hidd-gfx-includes_OPTS += -d $(kernel-hidd-gfx_OBJDIR)/include + kernel-hidd-gfx-includes_TARGETS := $(addprefix $(kernel-hidd-gfx_OBJDIR)/include/,$(kernel-hidd-gfx-includes_TARGETS)) + kernel-hidd-gfx-includes_GENINCFLAG=$(kernel-hidd-gfx_OBJDIR)/include/.gfx.hidd-includes +else + kernel-hidd-gfx-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.gfx.hidd-includes +endif + +$(kernel-hidd-gfx-includes_TARGETS) : $(kernel-hidd-gfx-includes_DEPS) $(kernel-hidd-gfx-includes_GENINCFLAG) + +$(kernel-hidd-gfx-includes_GENINCFLAG) : OPTS := $(kernel-hidd-gfx-includes_OPTS) +$(kernel-hidd-gfx-includes_GENINCFLAG) : MODNAME := gfx +$(kernel-hidd-gfx-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-gfx-includes_GENINCFLAG) : $(kernel-hidd-gfx-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-gfx_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) : | $(kernel-hidd-gfx_OBJDIR)/gfx_geninc + +$(kernel-hidd-gfx_OBJDIR)/gfx_geninc : COPYSRCDIR := $(kernel-hidd-gfx_OBJDIR)/include +$(kernel-hidd-gfx_OBJDIR)/gfx_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-gfx_OBJDIR)/gfx_geninc : FILES := $($(kernel-hidd-gfx_DEFNAME)_INCLUDES) +$(kernel-hidd-gfx_OBJDIR)/gfx_geninc : $(addprefix $(kernel-hidd-gfx_OBJDIR)/include/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-gfx_OBJDIR)/include + +$(addprefix $(kernel-hidd-gfx_INCDIR)/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) : | $(kernel-hidd-gfx_OBJDIR)/gfx_incs + +$(kernel-hidd-gfx_OBJDIR)/gfx_incs : COPYSRCDIR := $(kernel-hidd-gfx_OBJDIR)/include +$(kernel-hidd-gfx_OBJDIR)/gfx_incs : TGTDIR := $(kernel-hidd-gfx_INCDIR) +$(kernel-hidd-gfx_OBJDIR)/gfx_incs : FILES := $($(kernel-hidd-gfx_DEFNAME)_INCLUDES) +$(kernel-hidd-gfx_OBJDIR)/gfx_incs : $(addprefix $(kernel-hidd-gfx_OBJDIR)/include/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-gfx_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-gfx_DEFNAME)_INCLUDES)))) + +TMPgfx_INCDIRS := \ + $(kernel-hidd-gfx_OBJDIR)/include $(addprefix $(kernel-hidd-gfx_OBJDIR)/include/,$(kernel-hidd-gfx_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-gfx_INCDIRS)) \ + $(kernel-hidd-gfx_INCDIR) $(addprefix $(kernel-hidd-gfx_INCDIR)/,$(kernel-hidd-gfx_INCDIRS)) + +ifneq (kernel-hidd-gfx-includes-dirs,) +kernel-hidd-gfx-includes-dirs : | $(TMPgfx_INCDIRS) +else +kernel-hidd-gfx-includes-dirs :: $(TMPgfx_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPgfx_INCDIRS) + + +endif + +endif + + +kernel-hidd-gfx-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-gfx-genlibdefs_OPTS += -f + kernel-hidd-gfx-genlibdefs_MODNAME := gfx_ +else + kernel-hidd-gfx-genlibdefs_MODNAME := gfx +endif +kernel-hidd-gfx-genlibdefs_TARGET := $(kernel-hidd-gfx-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-gfx-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gfx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gfx-genlibdefs_OPTS += -c + kernel-hidd-gfx-genlibdefs_DEPS += + endif +else + kernel-hidd-gfx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/gfx.conf + kernel-hidd-gfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gfx-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gfx-genlibdefs_OPTS += -o + kernel-hidd-gfx-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-gfx-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-gfx_OBJDIR)/include,) + kernel-hidd-gfx-genlibdefs_OPTS += -d $(kernel-hidd-gfx_OBJDIR)/include + kernel-hidd-gfx-genlibdefs_TARGET := $(kernel-hidd-gfx_OBJDIR)/include/$(kernel-hidd-gfx-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-gfx-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-gfx-genlibdefs_TARGET) : OPTS := $(kernel-hidd-gfx-genlibdefs_OPTS) +$(kernel-hidd-gfx-genlibdefs_TARGET) : MODNAME := gfx +$(kernel-hidd-gfx-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-gfx-genlibdefs_TARGET) : $(kernel-hidd-gfx-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-gfx_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-gfx_LIBDEFSINC) +$(kernel-hidd-gfx_DEFLIBDEFSINC) : $(kernel-hidd-gfx_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-gfx_LIBDEFSINC) $(kernel-hidd-gfx_DEFLIBDEFSINC) : | $(kernel-hidd-gfx_OBJDIR)/include + +ifneq (kernel-hidd-gfx-includes-dirs,) +kernel-hidd-gfx-includes-dirs : | $(kernel-hidd-gfx_OBJDIR)/include +else +kernel-hidd-gfx-includes-dirs :: $(kernel-hidd-gfx_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-gfx_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-gfx-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-gfx-genmodfiles_OPTS += -f + kernel-hidd-gfx-genmodfiles_MODNAME := gfx_ +else + kernel-hidd-gfx-genmodfiles_MODNAME := gfx +endif +kernel-hidd-gfx-genmodfiles_GENTARGETS := $($(kernel-hidd-gfx-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-gfx-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-gfx-genmodfiles_STUBTARGETS := $($(kernel-hidd-gfx-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-gfx-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-gfx-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-gfx-genmodfiles_GENTARGETS)) +kernel-hidd-gfx-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-gfx-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-gfx-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-gfx-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-gfx-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gfx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gfx-genmodfiles_OPTS += -c + kernel-hidd-gfx-genmodfiles_DEPS += + endif +else + kernel-hidd-gfx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/gfx.conf + kernel-hidd-gfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-gfx-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-gfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-gfx-genmodfiles_OPTS += -o + kernel-hidd-gfx-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-gfx-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-gfx_OBJDIR),) + kernel-hidd-gfx-genmodfiles_OPTS += -d $(kernel-hidd-gfx_OBJDIR) + kernel-hidd-gfx-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-gfx_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-gfx-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-gfx-genmodfiles_TARGETDIR)/,$(kernel-hidd-gfx-genmodfiles_GENTARGETS)) + kernel-hidd-gfx-genmodfiles_GENFILEFLAG=$(kernel-hidd-gfx-genmodfiles_TARGETDIR)/.gfx.hidd-genfiles +else + kernel-hidd-gfx-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.gfx.hidd-genfiles +endif +ifneq ($(kernel-hidd-gfx_OBJDIR)/linklib,) + kernel-hidd-gfx-genmodfiles_OPTS += -l $(kernel-hidd-gfx_OBJDIR)/linklib + kernel-hidd-gfx-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-gfx_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-gfx-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-gfx-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-gfx-genmodfiles_STUBTARGETS)) + kernel-hidd-gfx-genmodfiles_TARGETDIRS += $(kernel-hidd-gfx_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-gfx_OBJDIR),) + kernel-hidd-gfx-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-gfx-genmodfiles_TARGETDIR)/,$(kernel-hidd-gfx-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-gfx-genmodfiles_TARGETS := $(kernel-hidd-gfx-genmodfiles_GENTARGETS) $(kernel-hidd-gfx-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-gfx-genmodfiles_TARGETDIRS),) +$(kernel-hidd-gfx-genmodfiles_TARGETS) : | $(kernel-hidd-gfx-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-gfx-genmodfiles_TARGETS) : $(kernel-hidd-gfx-genmodfiles_DEPS) $(kernel-hidd-gfx-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-gfx-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-gfx-genmodfiles_OPTS) +$(kernel-hidd-gfx-genmodfiles_GENFILEFLAG) : MODNAME := gfx +$(kernel-hidd-gfx-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-gfx-genmodfiles_GENFILEFLAG) : $(kernel-hidd-gfx-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-gfx-genmodfiles_GENFILEFLAG) : $(kernel-hidd-gfx_DEFLIBDEFSINC) $(kernel-hidd-gfx-makefile) + + +ifneq ($(kernel-hidd-gfx-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-gfx-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-gfx_OBJDIR)/linklib +else +$(kernel-hidd-gfx-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-gfx_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-gfx_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-gfx_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-gfx_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-gfx-fd : $(kernel-hidd-gfx_FDDIR)/gfx_lib.fd + + +TMP_TARGET := gfx_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/gfx.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/gfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-gfx_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-gfx_FDDIR) + TMP_TARGET := $(kernel-hidd-gfx_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := gfx +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-gfx_FDDIR)/gfx_lib.fd : | $(kernel-hidd-gfx_FDDIR) + + +ifneq (kernel-hidd-gfx-fd-setup,) +kernel-hidd-gfx-fd-setup : | $(kernel-hidd-gfx_FDDIR) +else +kernel-hidd-gfx-fd-setup :: $(kernel-hidd-gfx_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gfx_FDDIR) + +endif + +## Compilation +## +kernel-hidd-gfx_FILES := $(FILES) $(COLORCONVFILES) +kernel-hidd-gfx_OBJCFILES := +kernel-hidd-gfx_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-gfx_LIBFILES := +kernel-hidd-gfx_LIBS := + +kernel-hidd-gfx_FDIRS := $(sort $(dir $(kernel-hidd-gfx_FILES))) + +kernel-hidd-gfx_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-gfx_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-gfx_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-gfx_FILTERARCH = $(filter-out $(call kernel-hidd-gfx_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-gfx_STARTFILES := $(addprefix $(kernel-hidd-gfx_OBJDIR)/,$($(kernel-hidd-gfx_DEFNAME)_STARTFILES)) +kernel-hidd-gfx_ENDFILES := $(addprefix $(kernel-hidd-gfx_OBJDIR)/,$($(kernel-hidd-gfx_DEFNAME)_ENDFILES)) + +kernel-hidd-gfx_ARCHOBJS := $(wildcard $(kernel-hidd-gfx_OBJDIR)/arch/*.o) +kernel-hidd-gfx_LIBARCHOBJS := $(wildcard $(kernel-hidd-gfx_OBJDIR)/linklib/arch/*.o) +kernel-hidd-gfx_ARCHFILES := $(basename $(notdir $(kernel-hidd-gfx_ARCHOBJS))) +kernel-hidd-gfx_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-gfx_LIBARCHOBJS))) +kernel-hidd-gfx_C_NARCHFILES := $(call kernel-hidd-gfx_FILTERARCH,$(kernel-hidd-gfx_ARCHFILES),$(kernel-hidd-gfx_FILES)) +kernel-hidd-gfx_CXX_NARCHFILES := $(call kernel-hidd-gfx_FILTERARCH,$(kernel-hidd-gfx_ARCHFILES),$(kernel-hidd-gfx_CXXFILES)) +kernel-hidd-gfx_OBJC_NARCHFILES := $(call kernel-hidd-gfx_FILTERARCH,$(kernel-hidd-gfx_ARCHFILES),$(kernel-hidd-gfx_OBJCFILES)) +kernel-hidd-gfx_NLIBARCHFILES := $(call kernel-hidd-gfx_FILTERARCH,$(kernel-hidd-gfx_LIBARCHFILES),$(kernel-hidd-gfx_LIBFILES)) +kernel-hidd-gfx_ARCHNLIBFILES := $(call kernel-hidd-gfx_FILTERARCH,$(kernel-hidd-gfx_LIBFILES),$(kernel-hidd-gfx_LIBARCHFILES)) + +kernel-hidd-gfx_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-gfx_OBJDIR)/include -include $(kernel-hidd-gfx_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-gfx_CPPFLAGS += -I +endif +kernel-hidd-gfx_LINKLIBCPPFLAGS := $(kernel-hidd-gfx_CPPFLAGS) +kernel-hidd-gfx_CPPFLAGS += $(strip $($(kernel-hidd-gfx_DEFNAME)_CPPFLAGS)) +kernel-hidd-gfx_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-gfx_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-gfx_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-gfx_DEFNAME)_CFLAGS)) +kernel-hidd-gfx_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-gfx_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-gfx_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-gfx_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-gfx_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-gfx_CFLAGS := $(strip $(kernel-hidd-gfx_LTOFLAGS) $(kernel-hidd-gfx_CFLAGS)) +kernel-hidd-gfx_LINKLIBCFLAGS := $(strip $(kernel-hidd-gfx_LTOFLAGS) $(kernel-hidd-gfx_LINKLIBCFLAGS)) +kernel-hidd-gfx_CXXFLAGS := $(strip $(kernel-hidd-gfx_LTOFLAGS) $(kernel-hidd-gfx_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-gfx_SUBSTNULL := +kernel-hidd-gfx_SUBSTSPACE := $(kernel-hidd-gfx_SUBSTNULL) # +kernel-hidd-gfx_SUBSTCOMMA := , +kernel-hidd-gfx_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-gfx_SUBSTSPACE),$(kernel-hidd-gfx_SUBSTCOMMA),$(strip $($(kernel-hidd-gfx_DEFNAME)_STARTFILES)))) +kernel-hidd-gfx_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-gfx_CFLAGS := $(strip $(kernel-hidd-gfx_INSTRFUNCFLAGS) $(kernel-hidd-gfx_CFLAGS)) +kernel-hidd-gfx_CXXFLAGS := $(strip $(kernel-hidd-gfx_INSTRFUNCFLAGS) $(kernel-hidd-gfx_CXXFLAGS)) +kernel-hidd-gfx_LIBS += $(kernel-hidd-gfx_INSTRFUNCLIBS) +endif +endif +kernel-hidd-gfx_DFLAGS := $(strip $(kernel-hidd-gfx_DFLAGS) $($(kernel-hidd-gfx_DEFNAME)_DFLAGS)) +kernel-hidd-gfx_LINKLIBDFLAGS := $(strip $(kernel-hidd-gfx_DFLAGS) $($(kernel-hidd-gfx_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-gfx_DXXFLAGS := $(strip $(kernel-hidd-gfx_DXXFLAGS) $($(kernel-hidd-gfx_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-gfx_LIBSUFFIX := +else + kernel-hidd-gfx_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-gfx_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-gfx_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-gfx_LINKLIBCFILES := $(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$($(kernel-hidd-gfx_DEFNAME)_LINKLIBFILES)) +kernel-hidd-gfx_LINKLIBAFILES := $(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$($(kernel-hidd-gfx_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-gfx_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-gfx_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-gfx_ARCHNLIBFILES)),) + kernel-hidd-gfx_LINKLIB := +else + kernel-hidd-gfx_LINKLIB := $(kernel-hidd-gfx_LIBDIR)/libgfx$(kernel-hidd-gfx_LIBSUFFIX).a + ifneq (gfx,$(kernel-hidd-gfx_LINKLIBNAME)) + kernel-hidd-gfx_LINKLIB += $(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)$(kernel-hidd-gfx_LIBSUFFIX).a + endif +endif +kernel-hidd-gfx_LINKLIBFILES := $(kernel-hidd-gfx_LINKLIBCFILES) $(kernel-hidd-gfx_LINKLIBAFILES) + +kernel-hidd-gfx_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$($(kernel-hidd-gfx_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-gfx_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$($(kernel-hidd-gfx_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-gfx_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-gfx_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-gfx_ARCHNLIBFILES)),) + kernel-hidd-gfx_RELLINKLIB := +else + kernel-hidd-gfx_RELLINKLIB := $(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_DEFNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a + ifneq (gfx,$(kernel-hidd-gfx_LINKLIBNAME)) + kernel-hidd-gfx_RELLINKLIB += $(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a + endif +endif +kernel-hidd-gfx_RELLINKLIBFILES := $(kernel-hidd-gfx_RELLINKLIBCFILES) $(kernel-hidd-gfx_RELLINKLIBAFILES) +endif + +kernel-hidd-gfx_ENDOBJS := $(addsuffix .o,$(kernel-hidd-gfx_ENDFILES)) +kernel-hidd-gfx_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gfx_NLIBARCHFILES))) $(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-gfx_ARCHNLIBFILES))) $(kernel-hidd-gfx_LINKLIBFILES)) \ + +kernel-hidd-gfx_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gfx_NLIBARCHFILES))) $(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-gfx_ARCHNLIBFILES))) $(kernel-hidd-gfx_RELLINKLIBFILES)) \ + +$(kernel-hidd-gfx_LINKLIBFILES) $(kernel-hidd-gfx_RELLINKLIBFILES) : | $(kernel-hidd-gfx_OBJDIR)/linklib +$(kernel-hidd-gfx_LINKLIBOBJS) $(kernel-hidd-gfx_RELLINKLIBOBJS) : | $(kernel-hidd-gfx_OBJDIR)/linklib + +kernel-hidd-gfx_CCFILES := $(kernel-hidd-gfx_C_NARCHFILES) +kernel-hidd-gfx_TARGETCCFILES := $(strip $(kernel-hidd-gfx_STARTFILES) $(kernel-hidd-gfx_ENDFILES)) +kernel-hidd-gfx_LINKLIBCCFILES := $(strip $(kernel-hidd-gfx_NLIBARCHFILES) $(kernel-hidd-gfx_LINKLIBCFILES) $(kernel-hidd-gfx_RELLINKLIBCFILES)) +kernel-hidd-gfx_LINKLIBCCGENFILES := $(strip $(kernel-hidd-gfx_LINKLIBCFILES) $(kernel-hidd-gfx_RELLINKLIBCFILES)) + + +kernel-hidd-gfx_CXXABSBASENAMES := $(foreach kernel-hidd-gfx_CXXBASE,$(kernel-hidd-gfx_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-gfx_CXXBASE)),$(kernel-hidd-gfx_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-gfx_CXXBASE)))) + +ifneq ($(kernel-hidd-gfx_CXXABSBASENAMES),) + +kernel-hidd-gfx_CXXBASENAMES := $(basename $(kernel-hidd-gfx_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-gfx_MCXX_FILES := $(strip $(foreach kernel-hidd-gfx_CXXBASE,$(kernel-hidd-gfx_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-gfx_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-gfx_EXT),$(kernel-hidd-gfx_CXXBASE))))))) + +ifeq (,) +kernel-hidd-gfx_MCXX_SRCWILDCARD := % +else +kernel-hidd-gfx_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gfx_OBJDIR),) + kernel-hidd-gfx_CXXTARGETS := $(notdir $(kernel-hidd-gfx_CXXBASENAMES:=.o)) + kernel-hidd-gfx_CXXDTARGETS := $(notdir $(kernel-hidd-gfx_CXXBASENAMES:=.d)) + kernel-hidd-gfx_MCXX_WILDCARD := % +else + kernel-hidd-gfx_CXXTARGETS := $(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(kernel-hidd-gfx_CXXBASENAMES:=.o))) + kernel-hidd-gfx_CXXDTARGETS := $(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(kernel-hidd-gfx_CXXBASENAMES:=.d))) + kernel-hidd-gfx_MCXX_WILDCARD := $(kernel-hidd-gfx_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-gfx_CXXTARGETS) $(kernel-hidd-gfx_CXXDTARGETS) : | $(kernel-hidd-gfx_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-gfx_MCXX_CPPFLAGS := $(kernel-hidd-gfx_CPPFLAGS) +kernel-hidd-gfx_CXXFLAGS := $(kernel-hidd-gfx_CXXFLAGS) +ifeq ($(kernel-hidd-gfx_DXXFLAGS),) + kernel-hidd-gfx_DXXFLAGS := $(kernel-hidd-gfx_CXXFLAGS) +else + kernel-hidd-gfx_DXXFLAGS := $(kernel-hidd-gfx_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-gfx_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-gfx_STRIP ?= $(HOST_STRIP) + kernel-hidd-gfx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-gfx_CXXCMD:=$(HOST_CXX) + kernel-hidd-gfx_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-gfx_MCXX_CPPFLAGS) $(kernel-hidd-gfx_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-gfx_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-gfx_CXXFLAGS)) + kernel-hidd-gfx_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-gfx_DXXFLAGS)) + kernel-hidd-gfx_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-gfx_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-gfx_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-gfx_STRIP ?= $(TARGET_STRIP) + kernel-hidd-gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-gfx_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-gfx_MCXX_CPPFLAGS := $(strip $(kernel-hidd-gfx_MCXX_CPPFLAGS) $(kernel-hidd-gfx_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-gfx_CXXFLAGS := $(strip $(kernel-hidd-gfx_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-gfx_DXXFLAGS := $(kernel-hidd-gfx_DXXFLAGS) + kernel-hidd-gfx_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-gfx_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-gfx_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-gfx_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-gfx_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-gfx_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-gfx_MCXX_CPPFLAGS) $(kernel-hidd-gfx_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-gfx_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-gfx_CXXFLAGS)) + kernel-hidd-gfx_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-gfx_DXXFLAGS)) + kernel-hidd-gfx_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-gfx_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-gfx_CXXCMD) $(kernel-hidd-gfx_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-gfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_CXXIQUOTE) . $(kernel-hidd-gfx_CXXIQUOTE_END) $(strip $(kernel-hidd-gfx_CXXFLAGS) $(kernel-hidd-gfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-gfx_CXXCMD) $(kernel-hidd-gfx_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-gfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_CXXIQUOTE) . $(kernel-hidd-gfx_CXXIQUOTE_END) $(strip $(kernel-hidd-gfx_CXXFLAGS) $(kernel-hidd-gfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-gfx_CXXCMD) $(kernel-hidd-gfx_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-gfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_CXXIQUOTE) . $(kernel-hidd-gfx_CXXIQUOTE_END) $(strip $(kernel-hidd-gfx_CXXFLAGS) $(kernel-hidd-gfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-gfx_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-gfx_DXXFLAGS) $(kernel-hidd-gfx_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-gfx_OBJDIR),) + $(foreach kernel-hidd-gfx_CXXFILE,$(kernel-hidd-gfx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-gfx_CXXFILE))),$(kernel-hidd-gfx_CXXFILE)))) +else + $(foreach kernel-hidd-gfx_CXXFILE,$(kernel-hidd-gfx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(basename $(kernel-hidd-gfx_CXXFILE)))),$(kernel-hidd-gfx_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-gfx_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-gfx_MOBJC_SRCWILDCARD := % +else +kernel-hidd-gfx_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gfx_OBJDIR),) + kernel-hidd-gfx_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-gfx_OBJC_NARCHFILES)) + kernel-hidd-gfx_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gfx_OBJC_NARCHFILES)) + kernel-hidd-gfx_MOBJC_WILDCARD := % +else + kernel-hidd-gfx_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(kernel-hidd-gfx_OBJC_NARCHFILES))) + kernel-hidd-gfx_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(kernel-hidd-gfx_OBJC_NARCHFILES))) + kernel-hidd-gfx_MOBJC_WILDCARD := $(kernel-hidd-gfx_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-gfx_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-gfx_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-gfx_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gfx_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-gfx_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-gfx_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gfx_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-gfx_MOBJC_DIRS),) + kernel-hidd-gfx_MOBJC_DIRS := $(shell echo $(kernel-hidd-gfx_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-gfx_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-gfx_CC := $(TARGET_CC) +else + kernel-hidd-gfx_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-gfx_MOBJC_CPPFLAGS := $(kernel-hidd-gfx_CPPFLAGS) +kernel-hidd-gfx_OBJCFLAGS := $(kernel-hidd-gfx_CFLAGS) +kernel-hidd-gfx_OBJCFLAGS := $(kernel-hidd-gfx_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-gfx_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-gfx_OBJCFLAGS))) +ifeq ($(kernel-hidd-gfx_DFLAGS),) + kernel-hidd-gfx_OBJCDFLAGS := $(kernel-hidd-gfx_CFLAGS) +else + kernel-hidd-gfx_OBJCDFLAGS := $(kernel-hidd-gfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-gfx_LINK ?= $(strip $(kernel-hidd-gfx_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-gfx_STRIP ?= $(TARGET_STRIP) + kernel-hidd-gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-gfx_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-gfx_MOBJC_CPPFLAGS) $(kernel-hidd-gfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_OBJCFLAGS:=$(strip $(kernel-hidd-gfx_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_OBJCDFLAGS:=$(kernel-hidd-gfx_OBJCDFLAGS) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-gfx_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-gfx_STRIP ?= $(HOST_STRIP) + kernel-hidd-gfx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-gfx_MOBJC_CPPFLAGS) $(kernel-hidd-gfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_OBJCFLAGS)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_OBJCDFLAGS)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-gfx_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-gfx_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-gfx_MOBJC_CPPFLAGS) $(kernel-hidd-gfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_OBJCFLAGS)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_OBJCDFLAGS)) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-gfx_MOBJC_TARGETS) $(kernel-hidd-gfx_MOBJC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gfx_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-gfx_MOBJC_CPPFLAGS) +$(kernel-hidd-gfx_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-gfx_OBJCFLAGS) +$(kernel-hidd-gfx_MOBJC_TARGETS) : $(kernel-hidd-gfx_MOBJC_WILDCARD).o : $(kernel-hidd-gfx_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gfx_MOBJC_DTARGETS) : $(kernel-hidd-gfx_MOBJC_WILDCARD).d : $(kernel-hidd-gfx_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gfx_OBJCDFLAGS) $(kernel-hidd-gfx_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-gfx_MC_SRCWILDCARD := % +else +kernel-hidd-gfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gfx_OBJDIR),) +kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-gfx_CCFILES)) +kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gfx_CCFILES)) +kernel-hidd-gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(kernel-hidd-gfx_CCFILES)))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(kernel-hidd-gfx_CCFILES)))) +else +ifeq (,) + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(kernel-hidd-gfx_CCFILES))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(kernel-hidd-gfx_CCFILES))) +else + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-gfx_CCFILES)))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-gfx_CCFILES)))) +endif +endif +kernel-hidd-gfx_MC_TGTWILDCARD := $(kernel-hidd-gfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-gfx_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gfx_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gfx_MC_DIRS := $(foreach dir, $(kernel-hidd-gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gfx_MC_DIRS),) + kernel-hidd-gfx_MC_DIRS := $(shell echo $(kernel-hidd-gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-gfx_MC_DIRS) +endif + +endif + +kernel-hidd-gfx_MC_CPPFLAGS := $(kernel-hidd-gfx_CPPFLAGS) +kernel-hidd-gfx_CFLAGS := $(kernel-hidd-gfx_CFLAGS) +ifeq ($(kernel-hidd-gfx_DFLAGS),) + kernel-hidd-gfx_DFLAGS := $(kernel-hidd-gfx_CFLAGS) +else + kernel-hidd-gfx_DFLAGS := $(kernel-hidd-gfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(TARGET_STRIP) +kernel-hidd-gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(kernel-hidd-gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(kernel-hidd-gfx_DFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(HOST_STRIP) +kernel-hidd-gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_DFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_DFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gfx_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-gfx_MC_CPPFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) : CFLAGS := $(kernel-hidd-gfx_CFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) : $(kernel-hidd-gfx_MC_TGTWILDCARD).o : $(kernel-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gfx_MC_DTARGETS) : $(kernel-hidd-gfx_MC_TGTWILDCARD).d : $(kernel-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gfx_DFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-gfx_MC_SRCWILDCARD := % +else +kernel-hidd-gfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gfx_OBJDIR),) +kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-gfx_TARGETCCFILES)) +kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gfx_TARGETCCFILES)) +kernel-hidd-gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(kernel-hidd-gfx_TARGETCCFILES)))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(kernel-hidd-gfx_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(kernel-hidd-gfx_TARGETCCFILES))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(kernel-hidd-gfx_TARGETCCFILES))) +else + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-gfx_TARGETCCFILES)))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-gfx_TARGETCCFILES)))) +endif +endif +kernel-hidd-gfx_MC_TGTWILDCARD := $(kernel-hidd-gfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-gfx_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gfx_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gfx_MC_DIRS := $(foreach dir, $(kernel-hidd-gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gfx_MC_DIRS),) + kernel-hidd-gfx_MC_DIRS := $(shell echo $(kernel-hidd-gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-gfx_MC_DIRS) +endif + +endif + +kernel-hidd-gfx_MC_CPPFLAGS := $(kernel-hidd-gfx_CPPFLAGS) -D__AROS__ +kernel-hidd-gfx_CFLAGS := $(kernel-hidd-gfx_CFLAGS) +ifeq ($(kernel-hidd-gfx_DFLAGS),) + kernel-hidd-gfx_DFLAGS := $(kernel-hidd-gfx_CFLAGS) +else + kernel-hidd-gfx_DFLAGS := $(kernel-hidd-gfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(TARGET_STRIP) +kernel-hidd-gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(kernel-hidd-gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(kernel-hidd-gfx_DFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(HOST_STRIP) +kernel-hidd-gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_DFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_DFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gfx_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-gfx_MC_CPPFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) : CFLAGS := $(kernel-hidd-gfx_CFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) : $(kernel-hidd-gfx_MC_TGTWILDCARD).o : $(kernel-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gfx_MC_DTARGETS) : $(kernel-hidd-gfx_MC_TGTWILDCARD).d : $(kernel-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gfx_DFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-gfx_MC_SRCWILDCARD := % +else +kernel-hidd-gfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-gfx_OBJDIR)/linklib,) +kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-gfx_NLIBARCHFILES)) +kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gfx_NLIBARCHFILES)) +kernel-hidd-gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gfx_NLIBARCHFILES)))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gfx_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(kernel-hidd-gfx_NLIBARCHFILES))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(kernel-hidd-gfx_NLIBARCHFILES))) +else + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-gfx_NLIBARCHFILES)))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-gfx_NLIBARCHFILES)))) +endif +endif +kernel-hidd-gfx_MC_TGTWILDCARD := $(kernel-hidd-gfx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-gfx_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gfx_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gfx_MC_DIRS := $(foreach dir, $(kernel-hidd-gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gfx_MC_DIRS),) + kernel-hidd-gfx_MC_DIRS := $(shell echo $(kernel-hidd-gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-gfx_MC_DIRS) +endif + +endif + +kernel-hidd-gfx_MC_CPPFLAGS := $(kernel-hidd-gfx_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-gfx_CFLAGS := $(kernel-hidd-gfx_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-gfx_LINKLIBDFLAGS),) + kernel-hidd-gfx_DFLAGS := $(kernel-hidd-gfx_LINKLIBCFLAGS) +else + kernel-hidd-gfx_DFLAGS := $(kernel-hidd-gfx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(TARGET_STRIP) +kernel-hidd-gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(kernel-hidd-gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(kernel-hidd-gfx_DFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(HOST_STRIP) +kernel-hidd-gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_DFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_DFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gfx_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-gfx_MC_CPPFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) : CFLAGS := $(kernel-hidd-gfx_CFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) : $(kernel-hidd-gfx_MC_TGTWILDCARD).o : $(kernel-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gfx_MC_DTARGETS) : $(kernel-hidd-gfx_MC_TGTWILDCARD).d : $(kernel-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gfx_DFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-gfx_OBJDIR)/linklib,) +kernel-hidd-gfx_MC_SRCWILDCARD := % +else +kernel-hidd-gfx_MC_SRCWILDCARD := $(kernel-hidd-gfx_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-gfx_OBJDIR)/linklib,) +kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-gfx_LINKLIBCCGENFILES)) +kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-gfx_LINKLIBCCGENFILES)) +kernel-hidd-gfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gfx_LINKLIBCCGENFILES)))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gfx_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-gfx_OBJDIR)/linklib,) + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(kernel-hidd-gfx_LINKLIBCCGENFILES))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(kernel-hidd-gfx_LINKLIBCCGENFILES))) +else + kernel-hidd-gfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-gfx_OBJDIR)/linklib/%,%,$(kernel-hidd-gfx_LINKLIBCCGENFILES)))) + kernel-hidd-gfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-gfx_OBJDIR)/linklib/%,%,$(kernel-hidd-gfx_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-gfx_MC_TGTWILDCARD := $(kernel-hidd-gfx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-gfx_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-gfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gfx_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gfx_MC_DIRS := $(foreach dir, $(kernel-hidd-gfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gfx_MC_DIRS),) + kernel-hidd-gfx_MC_DIRS := $(shell echo $(kernel-hidd-gfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-gfx_MC_DIRS) +endif + +endif + +kernel-hidd-gfx_MC_CPPFLAGS := $(kernel-hidd-gfx_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-gfx_CFLAGS := $(kernel-hidd-gfx_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-gfx_LINKLIBDFLAGS),) + kernel-hidd-gfx_DFLAGS := $(kernel-hidd-gfx_LINKLIBCFLAGS) +else + kernel-hidd-gfx_DFLAGS := $(kernel-hidd-gfx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-gfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(TARGET_STRIP) +kernel-hidd-gfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(kernel-hidd-gfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(kernel-hidd-gfx_DFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-gfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(HOST_STRIP) +kernel-hidd-gfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-gfx_DFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-gfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-gfx_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-gfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS) $(kernel-hidd-gfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_CFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-gfx_DFLAGS)) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-gfx_MC_TARGETS) $(kernel-hidd-gfx_MC_DTARGETS) : kernel-hidd-gfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-gfx_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-gfx_MC_CPPFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) : CFLAGS := $(kernel-hidd-gfx_CFLAGS) +$(kernel-hidd-gfx_MC_TARGETS) : $(kernel-hidd-gfx_MC_TGTWILDCARD).o : $(kernel-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-gfx_IQUOTE) $(dir $<) $(kernel-hidd-gfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-gfx_IQUOTE) . $(kernel-hidd-gfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-gfx_MC_DTARGETS) : $(kernel-hidd-gfx_MC_TGTWILDCARD).d : $(kernel-hidd-gfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-gfx_DFLAGS) $(kernel-hidd-gfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-gfx_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-gfx_OBJDIR)/linklib,) +kernel-hidd-gfx-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-gfx_LINKLIBAFILES) $(kernel-hidd-gfx_RELLINKLIBAFILES)) +kernel-hidd-gfx-MA_WILDCARD := % +else +kernel-hidd-gfx-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gfx_LINKLIBAFILES) $(kernel-hidd-gfx_RELLINKLIBAFILES)))) +kernel-hidd-gfx-MA_WILDCARD := $(kernel-hidd-gfx_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-gfx-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-gfx_LINKLIBAFILES) $(kernel-hidd-gfx_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-gfx-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-gfx-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-gfx_LINKLIBAFILES) $(kernel-hidd-gfx_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-gfx-MA_DIRS := $(foreach dir, $(kernel-hidd-gfx-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-gfx-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-gfx-MA_DIRS),) + kernel-hidd-gfx-MA_DIRS := $(shell echo $(kernel-hidd-gfx-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-gfx-MA_DIRS) +endif + +endif + +kernel-hidd-gfx-MA_ASSEMBLER ?= $(kernel-hidd-gfx_ASSEMBLER) + +$(kernel-hidd-gfx-MA_TARGETS) : kernel-hidd-gfx-MA_CMD:= $(kernel-hidd-gfx-MA_ASSEMBLER) + +$(kernel-hidd-gfx-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-gfx-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-gfx-MA_TARGETS) : $(kernel-hidd-gfx-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-gfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-gfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-gfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-gfx_SUFFIX := hidd +else +kernel-hidd-gfx_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-gfx_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-gfx_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-gfx_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-gfx_SUFFIX),handler) +kernel-hidd-gfx_MODULE := $(AROSDIR)/$(kernel-hidd-gfx_MODDIR)/$(kernel-hidd-gfx_DEFNAME)-$(kernel-hidd-gfx_SUFFIX) +else +kernel-hidd-gfx_MODULE := $(AROSDIR)/$(kernel-hidd-gfx_MODDIR)/$(kernel-hidd-gfx_DEFNAME).$(kernel-hidd-gfx_SUFFIX) +endif +kernel-hidd-gfx_KOBJ := $(KOBJSDIR)/$(kernel-hidd-gfx_DEFNAME)_$(kernel-hidd-gfx_SUFFIX).o +else +kernel-hidd-gfx_MODULE := +kernel-hidd-gfx_KOBJ := +endif + +kernel-hidd-gfx-quick : kernel-hidd-gfx +kernel-hidd-gfx : $(kernel-hidd-gfx_MODULE) $(kernel-hidd-gfx_LINKLIB) $(kernel-hidd-gfx_RELLINKLIB) +ifeq (M,M) +kernel-hidd-gfx-kobj : $(kernel-hidd-gfx_KOBJ) $(kernel-hidd-gfx_LINKLIB) $(kernel-hidd-gfx_RELLINKLIB) +kernel-hidd-gfx-kobj-quick : $(kernel-hidd-gfx_KOBJ) $(kernel-hidd-gfx_LINKLIB) $(kernel-hidd-gfx_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-gfx-linklib : $(kernel-hidd-gfx_LINKLIB) $(kernel-hidd-gfx_RELLINKLIB) +endif + +kernel-hidd-gfx_OBJS := $(addsuffix .o,$(kernel-hidd-gfx_STARTFILES)) $(kernel-hidd-gfx_ARCHOBJS) \ + $(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(kernel-hidd-gfx_C_NARCHFILES:=.o) $(kernel-hidd-gfx_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-gfx_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (gfx,con) + kernel-hidd-gfx_ERR := $(notdir $(kernel-hidd-gfx_MODULE)).err +else + kernel-hidd-gfx_ERR := gfx.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-gfx_DEFNAME)_LDFLAGS) $(kernel-hidd-gfx_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-gfx_LIBS) $($(kernel-hidd-gfx_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-gfx_MODULE) : LIB_NAMES := $(kernel-hidd-gfx_LIBS) $($(kernel-hidd-gfx_DEFNAME)_LIBS) +$(kernel-hidd-gfx_MODULE) : OBJS := $(kernel-hidd-gfx_STARTOBJS) $(kernel-hidd-gfx_OBJS) $(USER_OBJS) +$(kernel-hidd-gfx_MODULE) : ENDTAG := $(kernel-hidd-gfx_ENDOBJS) +$(kernel-hidd-gfx_MODULE) : ERR := $(kernel-hidd-gfx_ERR) +$(kernel-hidd-gfx_MODULE) : OBJDIR := $(kernel-hidd-gfx_OBJDIR) +$(kernel-hidd-gfx_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-gfx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-gfx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-gfx_MODULE) : $(kernel-hidd-gfx_STARTOBJS) $(kernel-hidd-gfx_OBJS) $(USER_OBJS) $(kernel-hidd-gfx_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-gfx_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-gfx_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-gfx_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-gfx_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-gfx_LC_MODNAME := $(shell echo gfx | tr A-Z a-z) +ifneq ($(kernel-hidd-gfx_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(HOST_AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(KERNEL_AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)$(kernel-hidd-gfx_LIBSUFFIX).a : $(kernel-hidd-gfx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-gfx_AR) $@ $^ + $(Q)$(kernel-hidd-gfx_RANLIB) $@ +ifneq ($(kernel-hidd-gfx_LC_MODNAME),$(kernel-hidd-gfx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-gfx_LIBDIR)/libgfx$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(AR) +$(kernel-hidd-gfx_LIBDIR)/libgfx$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-gfx_LIBDIR)/libgfx$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(HOST_AR) +$(kernel-hidd-gfx_LIBDIR)/libgfx$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-gfx_LIBDIR)/libgfx$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(KERNEL_AR) +$(kernel-hidd-gfx_LIBDIR)/libgfx$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-gfx_LIBDIR)/libgfx$(kernel-hidd-gfx_LIBSUFFIX).a : $(kernel-hidd-gfx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-gfx_AR) $@ $^ + $(Q)$(kernel-hidd-gfx_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-gfx_LINKLIB),) +$(kernel-hidd-gfx_LINKLIB) : | $(kernel-hidd-gfx_LIBDIR) +else +$(kernel-hidd-gfx_LINKLIB) :: $(kernel-hidd-gfx_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gfx_LIBDIR) + +endif + +ifneq ($(kernel-hidd-gfx_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(HOST_AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(KERNEL_AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_LINKLIBNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : $(kernel-hidd-gfx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-gfx_AR) $@ $^ + $(Q)$(kernel-hidd-gfx_RANLIB) $@ +ifneq ($(kernel-hidd-gfx_LC_MODNAME),$(kernel-hidd-gfx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_DEFNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_DEFNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_DEFNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(HOST_AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_DEFNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_DEFNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_AR:=$(KERNEL_AR) +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_DEFNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : kernel-hidd-gfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-gfx_LIBDIR)/lib$(kernel-hidd-gfx_DEFNAME)_rel$(kernel-hidd-gfx_LIBSUFFIX).a : $(kernel-hidd-gfx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-gfx_AR) $@ $^ + $(Q)$(kernel-hidd-gfx_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-gfx_RELLINKLIB),) +$(kernel-hidd-gfx_RELLINKLIB) : | $(kernel-hidd-gfx_LIBDIR) +else +$(kernel-hidd-gfx_RELLINKLIB) :: $(kernel-hidd-gfx_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gfx_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-gfx_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-gfx_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-gfx_SYMBOLS := $(kernel-hidd-gfx_KBASE) + +kernel-hidd-gfx_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-gfx_KOBJ_LIBS := $(filter-out $(kernel-hidd-gfx_KLIB),$(kernel-hidd-gfx_LIBS)) $(kernel-hidd-gfx_KAUTOLIB) +$(kernel-hidd-gfx_KOBJ) : LINKLIBS:=$(kernel-hidd-gfx_KOBJ_LIBS) $($(kernel-hidd-gfx_DEFNAME)_LIBS) +$(kernel-hidd-gfx_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-gfx_SYMBOLS)) +$(kernel-hidd-gfx_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-gfx_KOBJ) : $(kernel-hidd-gfx_OBJS) $(USER_OBJS) $(kernel-hidd-gfx_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-gfx_DEPS := $(addprefix $(kernel-hidd-gfx_OBJDIR)/,$(notdir $(kernel-hidd-gfx_CCFILES:=.d) $(kernel-hidd-gfx_TARGETCCFILES:=.d) $(kernel-hidd-gfx_CXXFILES:=.d))) $(addprefix $(kernel-hidd-gfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-gfx_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-gfx_DEPS),) + ifneq (kernel-hidd-gfx kernel-hidd-gfx-quick kernel-hidd-gfx-kobj kernel-hidd-gfx-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-gfx kernel-hidd-gfx-quick kernel-hidd-gfx-kobj kernel-hidd-gfx-kobj-quick),) + -include $(kernel-hidd-gfx_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-gfx_DEPS) + endif + endif +endif + +$(kernel-hidd-gfx_OBJS) $(kernel-hidd-gfx_DEPS) : | $(kernel-hidd-gfx_OBJDIR)/linklib + +ifneq ($(kernel-hidd-gfx_OBJS) $(kernel-hidd-gfx_DEPS) $(kernel-hidd-gfx_MODULE) $(kernel-hidd-gfx_KOBJ),) +$(kernel-hidd-gfx_OBJS) $(kernel-hidd-gfx_DEPS) $(kernel-hidd-gfx_MODULE) $(kernel-hidd-gfx_KOBJ) : | $(kernel-hidd-gfx_OBJDIR) $(AROSDIR)/$(kernel-hidd-gfx_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-gfx_OBJS) $(kernel-hidd-gfx_DEPS) $(kernel-hidd-gfx_MODULE) $(kernel-hidd-gfx_KOBJ) :: $(kernel-hidd-gfx_OBJDIR) $(AROSDIR)/$(kernel-hidd-gfx_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-gfx_OBJDIR) $(AROSDIR)/$(kernel-hidd-gfx_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-gfx kernel-hidd-gfx-includes kernel-hidd-gfx-quick kernel-hidd-gfx-kobj kernel-hidd-gfx-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-gfx_DFILE_DEPS := $(kernel-hidd-gfx_LIBDEFSINC) $(kernel-hidd-gfx_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-gfx_INCDIR)/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) +$(kernel-hidd-gfx_DEPS) : $(kernel-hidd-gfx_DFILE_DEPS) +endif + +kernel-hidd-gfx_TOCLEAN := $(kernel-hidd-gfx_OBJS) $(kernel-hidd-gfx_DEPS) \ + $(kernel-hidd-gfx_MODULE) $(kernel-hidd-gfx_LINKLIB) $(kernel-hidd-gfx_KOBJ) \ + $(kernel-hidd-gfx_OBJDIR)/Makefile.gfxhidd \ + $(addprefix $(kernel-hidd-gfx_OBJDIR)/include/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-gfx_INCDIR)/,$($(kernel-hidd-gfx_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-gfx_OBJDIR)/gfx_geninc $(kernel-hidd-gfx_OBJDIR)/gfx_incs \ + $(addsuffix .c,$(kernel-hidd-gfx_LINKLIBFILES)) $(kernel-hidd-gfx_LINKLIBOBJS) $(kernel-hidd-gfx_LIBDEFSINC) \ + $(kernel-hidd-gfx_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-gfx_STARTFILES) $(kernel-hidd-gfx_ENDFILES)) \ + $(kernel-hidd-gfx_ENDOBJS) +kernel-hidd-gfx-clean : FILES := $(kernel-hidd-gfx_TOCLEAN) +kernel-hidd-gfx-clean :: + $(Q)$(ECHO) "Cleaning up for module gfx" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-gfx_ALLTARGETS) + + +LIBNAME := gfx + +INCLUDE_FILES := $(call WILDCARD, include/*.h) + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include,) +TMP_DIR := include +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include,$(GENINCDIR)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/hidd/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include,) +BD_INCL_FILES2 := $(subst include,$(AROS_INCLUDES)/hidd,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/hidd/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/hidd/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +#MM +clean :: + -$(RM) $(OBJDIR) *.err $(LIB) *.s + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/i8042/mmakefile b/rom/hidds/i8042/mmakefile new file mode 100644 index 00000000000..9ddb415738d --- /dev/null +++ b/rom/hidds/i8042/mmakefile @@ -0,0 +1,1658 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := startup kbd_init kbdclass mouseclass kbd_common drv_ps2 + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-i8042 +#MM kernel-hidd-i8042-quick +#MM kernel-hidd-i8042-makefile +#MM kernel-hidd-i8042-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-i8042-includes +#MM- linklibs-i8042: kernel-hidd-i8042-linklib +#MM- linklibs-i8042_rel : kernel-hidd-i8042-linklib +#MM- includes-i8042: kernel-hidd-i8042-includes +#MM- includes-i8042_rel : kernel-hidd-i8042-includes +#MM- kernel-hidd-i8042 : kernel-hidd-i8042-includes core-linklibs linklibs-hiddstubs +#MM kernel-hidd-i8042-linklib : kernel-hidd-i8042-includes includes-hiddstubs +#MM- kernel-hidd-i8042-quick : kernel-hidd-i8042-includes-quick +#MM kernel-hidd-i8042-includes : kernel-hidd-i8042-makefile kernel-hidd-i8042-includes-dirs \ +#MM includes-generate-deps kernel-hidd-i8042-fd +#MM kernel-hidd-i8042-includes-quick +#MM kernel-hidd-i8042-includes-dirs +#MM kernel-hidd-i8042-fd + +# Library targets +#MM kernel-hidd-i8042-kobj : core-linklibs linklibs-hiddstubs +#MM kernel-hidd-i8042-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-i8042-kobj : kernel-hidd-i8042-includes core-linklibs linklibs-hiddstubs +#MM kernel-hidd-i8042-kobj-quick : kernel-hidd-i8042-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-i8042_ALLTARGETS := kernel-hidd-i8042 kernel-hidd-i8042-quick kernel-hidd-i8042-clean + +ifeq (M,M) +kernel-hidd-i8042_ALLTARGETS += kernel-hidd-i8042-kobj kernel-hidd-i8042-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-i8042_ALLTARGETS += kernel-hidd-i8042-includes \ + kernel-hidd-i8042-includes-quick kernel-hidd-i8042-includes-dirs \ + kernel-hidd-i8042-linklib kernel-hidd-i8042-fd +endif + +.PHONY : $(kernel-hidd-i8042_ALLTARGETS) kernel-hidd-i8042-makefile + +ifeq (i8042,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-i8042_DEFNAME := i8042_ +else + kernel-hidd-i8042_DEFNAME := i8042 +endif +kernel-hidd-i8042_DEFLINKLIBNAME := $(kernel-hidd-i8042_DEFNAME) +ifneq (,) + kernel-hidd-i8042_LINKLIBNAME := +else + kernel-hidd-i8042_LINKLIBNAME = $(kernel-hidd-i8042_DEFLINKLIBNAME) +endif +kernel-hidd-i8042_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-i8042_DEFCPPFLAGS += -I +endif +kernel-hidd-i8042_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-i8042_DFLAGS := +else + kernel-hidd-i8042_DFLAGS = $(kernel-hidd-i8042_DEFDFLAGS) +endif +kernel-hidd-i8042_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-i8042_DXXFLAGS := +else + kernel-hidd-i8042_DXXFLAGS = $(kernel-hidd-i8042_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-i8042_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-i8042_DEFDFLAGS)) +kernel-hidd-i8042_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-i8042_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-i8042_FUNCINSTR := yes +kernel-hidd-i8042_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-i8042_DEFDFLAGS)) +kernel-hidd-i8042_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-i8042_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-i8042_OBJDIR := +else +kernel-hidd-i8042_OBJDIR := $(OBJDIR)/$(kernel-hidd-i8042_DEFNAME) +endif +ifneq (,) +kernel-hidd-i8042_OBJDIR := $(kernel-hidd-i8042_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-i8042-makefile := $(kernel-hidd-i8042_OBJDIR)/Makefile.$(kernel-hidd-i8042_DEFNAME)hidd +kernel-hidd-i8042-genmakefile : $(kernel-hidd-i8042-makefile) + + +kernel-hidd-i8042-genmakefile_OPTS := +ifneq (,) + kernel-hidd-i8042-genmakefile_OPTS += -f + kernel-hidd-i8042-genmakefile_MODNAME := i8042_ +else + kernel-hidd-i8042-genmakefile_MODNAME := i8042 +endif +kernel-hidd-i8042-genmakefile_TARGET := Makefile.$(kernel-hidd-i8042-genmakefile_MODNAME)hidd +kernel-hidd-i8042-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-i8042-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-i8042-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-i8042-genmakefile_OPTS += -c + kernel-hidd-i8042-genmakefile_DEPS += + endif +else + kernel-hidd-i8042-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/i8042.conf + kernel-hidd-i8042-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/i8042.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-i8042-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-i8042-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-i8042-genmakefile_OPTS += -o + kernel-hidd-i8042-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-i8042-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-i8042_OBJDIR),) + kernel-hidd-i8042-genmakefile_OPTS += -d $(kernel-hidd-i8042_OBJDIR) + kernel-hidd-i8042-genmakefile_TARGET := $(kernel-hidd-i8042_OBJDIR)/$(kernel-hidd-i8042-genmakefile_TARGET) +endif + +$(kernel-hidd-i8042-genmakefile_TARGET) : OPTS := $(kernel-hidd-i8042-genmakefile_OPTS) +$(kernel-hidd-i8042-genmakefile_TARGET) : MODNAME := i8042 +$(kernel-hidd-i8042-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-i8042-genmakefile_TARGET) : $(kernel-hidd-i8042-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-i8042-makefile),) +$(kernel-hidd-i8042-makefile) : | $(kernel-hidd-i8042_OBJDIR) +else +$(kernel-hidd-i8042-makefile) :: $(kernel-hidd-i8042_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-i8042_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-i8042_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-i8042-makefile) + +kernel-hidd-i8042_DEFMODDIR := $($(kernel-hidd-i8042_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-i8042_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-i8042_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-i8042_MODDIR := +else + kernel-hidd-i8042_MODDIR := $(kernel-hidd-i8042_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-i8042_INCDIR := +else +kernel-hidd-i8042_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-i8042_LIBDEFSINC := $(kernel-hidd-i8042_OBJDIR)/include/$(kernel-hidd-i8042_DEFNAME)_libdefs.h +kernel-hidd-i8042_DEFLIBDEFSINC := $(kernel-hidd-i8042_OBJDIR)/include/$(kernel-hidd-i8042_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-i8042-includes-quick : kernel-hidd-i8042-includes +kernel-hidd-i8042-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-i8042_INCDIR)/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-i8042_LIBDEFSINC) $(kernel-hidd-i8042_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-i8042_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-i8042-includes_MODNAME := i8042_ +else + kernel-hidd-i8042-includes_MODNAME := i8042 +endif + +ifneq ($($(kernel-hidd-i8042-includes_MODNAME)_INCLUDES),) + +kernel-hidd-i8042-includes_TARGETS := $($(kernel-hidd-i8042-includes_MODNAME)_INCLUDES) + +kernel-hidd-i8042-includes_DEPS := $(GENMODULE) +kernel-hidd-i8042-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-i8042-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-i8042-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-i8042-includes_OPTS += -c + kernel-hidd-i8042-includes_DEPS += + endif +else + kernel-hidd-i8042-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/i8042.conf + kernel-hidd-i8042-includes_DEPS += $(SRCDIR)/$(CURDIR)/i8042.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-i8042-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-i8042-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-i8042-includes_OPTS += -o + kernel-hidd-i8042-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-i8042-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-i8042_OBJDIR)/include,) + kernel-hidd-i8042-includes_OPTS += -d $(kernel-hidd-i8042_OBJDIR)/include + kernel-hidd-i8042-includes_TARGETS := $(addprefix $(kernel-hidd-i8042_OBJDIR)/include/,$(kernel-hidd-i8042-includes_TARGETS)) + kernel-hidd-i8042-includes_GENINCFLAG=$(kernel-hidd-i8042_OBJDIR)/include/.i8042.hidd-includes +else + kernel-hidd-i8042-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.i8042.hidd-includes +endif + +$(kernel-hidd-i8042-includes_TARGETS) : $(kernel-hidd-i8042-includes_DEPS) $(kernel-hidd-i8042-includes_GENINCFLAG) + +$(kernel-hidd-i8042-includes_GENINCFLAG) : OPTS := $(kernel-hidd-i8042-includes_OPTS) +$(kernel-hidd-i8042-includes_GENINCFLAG) : MODNAME := i8042 +$(kernel-hidd-i8042-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-i8042-includes_GENINCFLAG) : $(kernel-hidd-i8042-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-i8042_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) : | $(kernel-hidd-i8042_OBJDIR)/i8042_geninc + +$(kernel-hidd-i8042_OBJDIR)/i8042_geninc : COPYSRCDIR := $(kernel-hidd-i8042_OBJDIR)/include +$(kernel-hidd-i8042_OBJDIR)/i8042_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-i8042_OBJDIR)/i8042_geninc : FILES := $($(kernel-hidd-i8042_DEFNAME)_INCLUDES) +$(kernel-hidd-i8042_OBJDIR)/i8042_geninc : $(addprefix $(kernel-hidd-i8042_OBJDIR)/include/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-i8042_OBJDIR)/include + +$(addprefix $(kernel-hidd-i8042_INCDIR)/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) : | $(kernel-hidd-i8042_OBJDIR)/i8042_incs + +$(kernel-hidd-i8042_OBJDIR)/i8042_incs : COPYSRCDIR := $(kernel-hidd-i8042_OBJDIR)/include +$(kernel-hidd-i8042_OBJDIR)/i8042_incs : TGTDIR := $(kernel-hidd-i8042_INCDIR) +$(kernel-hidd-i8042_OBJDIR)/i8042_incs : FILES := $($(kernel-hidd-i8042_DEFNAME)_INCLUDES) +$(kernel-hidd-i8042_OBJDIR)/i8042_incs : $(addprefix $(kernel-hidd-i8042_OBJDIR)/include/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-i8042_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-i8042_DEFNAME)_INCLUDES)))) + +TMPi8042_INCDIRS := \ + $(kernel-hidd-i8042_OBJDIR)/include $(addprefix $(kernel-hidd-i8042_OBJDIR)/include/,$(kernel-hidd-i8042_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-i8042_INCDIRS)) \ + $(kernel-hidd-i8042_INCDIR) $(addprefix $(kernel-hidd-i8042_INCDIR)/,$(kernel-hidd-i8042_INCDIRS)) + +ifneq (kernel-hidd-i8042-includes-dirs,) +kernel-hidd-i8042-includes-dirs : | $(TMPi8042_INCDIRS) +else +kernel-hidd-i8042-includes-dirs :: $(TMPi8042_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPi8042_INCDIRS) + + +endif + +endif + + +kernel-hidd-i8042-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-i8042-genlibdefs_OPTS += -f + kernel-hidd-i8042-genlibdefs_MODNAME := i8042_ +else + kernel-hidd-i8042-genlibdefs_MODNAME := i8042 +endif +kernel-hidd-i8042-genlibdefs_TARGET := $(kernel-hidd-i8042-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-i8042-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-i8042-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-i8042-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-i8042-genlibdefs_OPTS += -c + kernel-hidd-i8042-genlibdefs_DEPS += + endif +else + kernel-hidd-i8042-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/i8042.conf + kernel-hidd-i8042-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/i8042.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-i8042-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-i8042-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-i8042-genlibdefs_OPTS += -o + kernel-hidd-i8042-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-i8042-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-i8042_OBJDIR)/include,) + kernel-hidd-i8042-genlibdefs_OPTS += -d $(kernel-hidd-i8042_OBJDIR)/include + kernel-hidd-i8042-genlibdefs_TARGET := $(kernel-hidd-i8042_OBJDIR)/include/$(kernel-hidd-i8042-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-i8042-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-i8042-genlibdefs_TARGET) : OPTS := $(kernel-hidd-i8042-genlibdefs_OPTS) +$(kernel-hidd-i8042-genlibdefs_TARGET) : MODNAME := i8042 +$(kernel-hidd-i8042-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-i8042-genlibdefs_TARGET) : $(kernel-hidd-i8042-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-i8042_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-i8042_LIBDEFSINC) +$(kernel-hidd-i8042_DEFLIBDEFSINC) : $(kernel-hidd-i8042_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-i8042_LIBDEFSINC) $(kernel-hidd-i8042_DEFLIBDEFSINC) : | $(kernel-hidd-i8042_OBJDIR)/include + +ifneq (kernel-hidd-i8042-includes-dirs,) +kernel-hidd-i8042-includes-dirs : | $(kernel-hidd-i8042_OBJDIR)/include +else +kernel-hidd-i8042-includes-dirs :: $(kernel-hidd-i8042_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-i8042_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-i8042-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-i8042-genmodfiles_OPTS += -f + kernel-hidd-i8042-genmodfiles_MODNAME := i8042_ +else + kernel-hidd-i8042-genmodfiles_MODNAME := i8042 +endif +kernel-hidd-i8042-genmodfiles_GENTARGETS := $($(kernel-hidd-i8042-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-i8042-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-i8042-genmodfiles_STUBTARGETS := $($(kernel-hidd-i8042-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-i8042-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-i8042-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-i8042-genmodfiles_GENTARGETS)) +kernel-hidd-i8042-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-i8042-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-i8042-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-i8042-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-i8042-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-i8042-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-i8042-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-i8042-genmodfiles_OPTS += -c + kernel-hidd-i8042-genmodfiles_DEPS += + endif +else + kernel-hidd-i8042-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/i8042.conf + kernel-hidd-i8042-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/i8042.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-i8042-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-i8042-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-i8042-genmodfiles_OPTS += -o + kernel-hidd-i8042-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-i8042-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-i8042_OBJDIR),) + kernel-hidd-i8042-genmodfiles_OPTS += -d $(kernel-hidd-i8042_OBJDIR) + kernel-hidd-i8042-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-i8042_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-i8042-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-i8042-genmodfiles_TARGETDIR)/,$(kernel-hidd-i8042-genmodfiles_GENTARGETS)) + kernel-hidd-i8042-genmodfiles_GENFILEFLAG=$(kernel-hidd-i8042-genmodfiles_TARGETDIR)/.i8042.hidd-genfiles +else + kernel-hidd-i8042-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.i8042.hidd-genfiles +endif +ifneq ($(kernel-hidd-i8042_OBJDIR)/linklib,) + kernel-hidd-i8042-genmodfiles_OPTS += -l $(kernel-hidd-i8042_OBJDIR)/linklib + kernel-hidd-i8042-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-i8042_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-i8042-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-i8042-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-i8042-genmodfiles_STUBTARGETS)) + kernel-hidd-i8042-genmodfiles_TARGETDIRS += $(kernel-hidd-i8042_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-i8042_OBJDIR),) + kernel-hidd-i8042-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-i8042-genmodfiles_TARGETDIR)/,$(kernel-hidd-i8042-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-i8042-genmodfiles_TARGETS := $(kernel-hidd-i8042-genmodfiles_GENTARGETS) $(kernel-hidd-i8042-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-i8042-genmodfiles_TARGETDIRS),) +$(kernel-hidd-i8042-genmodfiles_TARGETS) : | $(kernel-hidd-i8042-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-i8042-genmodfiles_TARGETS) : $(kernel-hidd-i8042-genmodfiles_DEPS) $(kernel-hidd-i8042-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-i8042-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-i8042-genmodfiles_OPTS) +$(kernel-hidd-i8042-genmodfiles_GENFILEFLAG) : MODNAME := i8042 +$(kernel-hidd-i8042-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-i8042-genmodfiles_GENFILEFLAG) : $(kernel-hidd-i8042-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-i8042-genmodfiles_GENFILEFLAG) : $(kernel-hidd-i8042_DEFLIBDEFSINC) $(kernel-hidd-i8042-makefile) + + +ifneq ($(kernel-hidd-i8042-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-i8042-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-i8042_OBJDIR)/linklib +else +$(kernel-hidd-i8042-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-i8042_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-i8042_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-i8042_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-i8042_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-i8042-fd : $(kernel-hidd-i8042_FDDIR)/i8042_lib.fd + + +TMP_TARGET := i8042_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/i8042.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/i8042.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-i8042_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-i8042_FDDIR) + TMP_TARGET := $(kernel-hidd-i8042_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := i8042 +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-i8042_FDDIR)/i8042_lib.fd : | $(kernel-hidd-i8042_FDDIR) + + +ifneq (kernel-hidd-i8042-fd-setup,) +kernel-hidd-i8042-fd-setup : | $(kernel-hidd-i8042_FDDIR) +else +kernel-hidd-i8042-fd-setup :: $(kernel-hidd-i8042_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-i8042_FDDIR) + +endif + +## Compilation +## +kernel-hidd-i8042_FILES := $(FILES) +kernel-hidd-i8042_OBJCFILES := +kernel-hidd-i8042_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-i8042_LIBFILES := +kernel-hidd-i8042_LIBS := hiddstubs + +kernel-hidd-i8042_FDIRS := $(sort $(dir $(kernel-hidd-i8042_FILES))) + +kernel-hidd-i8042_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-i8042_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-i8042_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-i8042_FILTERARCH = $(filter-out $(call kernel-hidd-i8042_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-i8042_STARTFILES := $(addprefix $(kernel-hidd-i8042_OBJDIR)/,$($(kernel-hidd-i8042_DEFNAME)_STARTFILES)) +kernel-hidd-i8042_ENDFILES := $(addprefix $(kernel-hidd-i8042_OBJDIR)/,$($(kernel-hidd-i8042_DEFNAME)_ENDFILES)) + +kernel-hidd-i8042_ARCHOBJS := $(wildcard $(kernel-hidd-i8042_OBJDIR)/arch/*.o) +kernel-hidd-i8042_LIBARCHOBJS := $(wildcard $(kernel-hidd-i8042_OBJDIR)/linklib/arch/*.o) +kernel-hidd-i8042_ARCHFILES := $(basename $(notdir $(kernel-hidd-i8042_ARCHOBJS))) +kernel-hidd-i8042_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-i8042_LIBARCHOBJS))) +kernel-hidd-i8042_C_NARCHFILES := $(call kernel-hidd-i8042_FILTERARCH,$(kernel-hidd-i8042_ARCHFILES),$(kernel-hidd-i8042_FILES)) +kernel-hidd-i8042_CXX_NARCHFILES := $(call kernel-hidd-i8042_FILTERARCH,$(kernel-hidd-i8042_ARCHFILES),$(kernel-hidd-i8042_CXXFILES)) +kernel-hidd-i8042_OBJC_NARCHFILES := $(call kernel-hidd-i8042_FILTERARCH,$(kernel-hidd-i8042_ARCHFILES),$(kernel-hidd-i8042_OBJCFILES)) +kernel-hidd-i8042_NLIBARCHFILES := $(call kernel-hidd-i8042_FILTERARCH,$(kernel-hidd-i8042_LIBARCHFILES),$(kernel-hidd-i8042_LIBFILES)) +kernel-hidd-i8042_ARCHNLIBFILES := $(call kernel-hidd-i8042_FILTERARCH,$(kernel-hidd-i8042_LIBFILES),$(kernel-hidd-i8042_LIBARCHFILES)) + +kernel-hidd-i8042_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-i8042_OBJDIR)/include -include $(kernel-hidd-i8042_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-i8042_CPPFLAGS += -I +endif +kernel-hidd-i8042_LINKLIBCPPFLAGS := $(kernel-hidd-i8042_CPPFLAGS) +kernel-hidd-i8042_CPPFLAGS += $(strip $($(kernel-hidd-i8042_DEFNAME)_CPPFLAGS)) +kernel-hidd-i8042_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-i8042_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-i8042_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-i8042_DEFNAME)_CFLAGS)) +kernel-hidd-i8042_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-i8042_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-i8042_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-i8042_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-i8042_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-i8042_CFLAGS := $(strip $(kernel-hidd-i8042_LTOFLAGS) $(kernel-hidd-i8042_CFLAGS)) +kernel-hidd-i8042_LINKLIBCFLAGS := $(strip $(kernel-hidd-i8042_LTOFLAGS) $(kernel-hidd-i8042_LINKLIBCFLAGS)) +kernel-hidd-i8042_CXXFLAGS := $(strip $(kernel-hidd-i8042_LTOFLAGS) $(kernel-hidd-i8042_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-i8042_SUBSTNULL := +kernel-hidd-i8042_SUBSTSPACE := $(kernel-hidd-i8042_SUBSTNULL) # +kernel-hidd-i8042_SUBSTCOMMA := , +kernel-hidd-i8042_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-i8042_SUBSTSPACE),$(kernel-hidd-i8042_SUBSTCOMMA),$(strip $($(kernel-hidd-i8042_DEFNAME)_STARTFILES)))) +kernel-hidd-i8042_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-i8042_CFLAGS := $(strip $(kernel-hidd-i8042_INSTRFUNCFLAGS) $(kernel-hidd-i8042_CFLAGS)) +kernel-hidd-i8042_CXXFLAGS := $(strip $(kernel-hidd-i8042_INSTRFUNCFLAGS) $(kernel-hidd-i8042_CXXFLAGS)) +kernel-hidd-i8042_LIBS += $(kernel-hidd-i8042_INSTRFUNCLIBS) +endif +endif +kernel-hidd-i8042_DFLAGS := $(strip $(kernel-hidd-i8042_DFLAGS) $($(kernel-hidd-i8042_DEFNAME)_DFLAGS)) +kernel-hidd-i8042_LINKLIBDFLAGS := $(strip $(kernel-hidd-i8042_DFLAGS) $($(kernel-hidd-i8042_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-i8042_DXXFLAGS := $(strip $(kernel-hidd-i8042_DXXFLAGS) $($(kernel-hidd-i8042_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-i8042_LIBSUFFIX := +else + kernel-hidd-i8042_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-i8042_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-i8042_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-i8042_LINKLIBCFILES := $(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$($(kernel-hidd-i8042_DEFNAME)_LINKLIBFILES)) +kernel-hidd-i8042_LINKLIBAFILES := $(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$($(kernel-hidd-i8042_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-i8042_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-i8042_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-i8042_ARCHNLIBFILES)),) + kernel-hidd-i8042_LINKLIB := +else + kernel-hidd-i8042_LINKLIB := $(kernel-hidd-i8042_LIBDIR)/libi8042$(kernel-hidd-i8042_LIBSUFFIX).a + ifneq (i8042,$(kernel-hidd-i8042_LINKLIBNAME)) + kernel-hidd-i8042_LINKLIB += $(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)$(kernel-hidd-i8042_LIBSUFFIX).a + endif +endif +kernel-hidd-i8042_LINKLIBFILES := $(kernel-hidd-i8042_LINKLIBCFILES) $(kernel-hidd-i8042_LINKLIBAFILES) + +kernel-hidd-i8042_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$($(kernel-hidd-i8042_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-i8042_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$($(kernel-hidd-i8042_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-i8042_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-i8042_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-i8042_ARCHNLIBFILES)),) + kernel-hidd-i8042_RELLINKLIB := +else + kernel-hidd-i8042_RELLINKLIB := $(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_DEFNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a + ifneq (i8042,$(kernel-hidd-i8042_LINKLIBNAME)) + kernel-hidd-i8042_RELLINKLIB += $(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a + endif +endif +kernel-hidd-i8042_RELLINKLIBFILES := $(kernel-hidd-i8042_RELLINKLIBCFILES) $(kernel-hidd-i8042_RELLINKLIBAFILES) +endif + +kernel-hidd-i8042_ENDOBJS := $(addsuffix .o,$(kernel-hidd-i8042_ENDFILES)) +kernel-hidd-i8042_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(notdir $(kernel-hidd-i8042_NLIBARCHFILES))) $(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-i8042_ARCHNLIBFILES))) $(kernel-hidd-i8042_LINKLIBFILES)) \ + +kernel-hidd-i8042_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(notdir $(kernel-hidd-i8042_NLIBARCHFILES))) $(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-i8042_ARCHNLIBFILES))) $(kernel-hidd-i8042_RELLINKLIBFILES)) \ + +$(kernel-hidd-i8042_LINKLIBFILES) $(kernel-hidd-i8042_RELLINKLIBFILES) : | $(kernel-hidd-i8042_OBJDIR)/linklib +$(kernel-hidd-i8042_LINKLIBOBJS) $(kernel-hidd-i8042_RELLINKLIBOBJS) : | $(kernel-hidd-i8042_OBJDIR)/linklib + +kernel-hidd-i8042_CCFILES := $(kernel-hidd-i8042_C_NARCHFILES) +kernel-hidd-i8042_TARGETCCFILES := $(strip $(kernel-hidd-i8042_STARTFILES) $(kernel-hidd-i8042_ENDFILES)) +kernel-hidd-i8042_LINKLIBCCFILES := $(strip $(kernel-hidd-i8042_NLIBARCHFILES) $(kernel-hidd-i8042_LINKLIBCFILES) $(kernel-hidd-i8042_RELLINKLIBCFILES)) +kernel-hidd-i8042_LINKLIBCCGENFILES := $(strip $(kernel-hidd-i8042_LINKLIBCFILES) $(kernel-hidd-i8042_RELLINKLIBCFILES)) + + +kernel-hidd-i8042_CXXABSBASENAMES := $(foreach kernel-hidd-i8042_CXXBASE,$(kernel-hidd-i8042_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-i8042_CXXBASE)),$(kernel-hidd-i8042_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-i8042_CXXBASE)))) + +ifneq ($(kernel-hidd-i8042_CXXABSBASENAMES),) + +kernel-hidd-i8042_CXXBASENAMES := $(basename $(kernel-hidd-i8042_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-i8042_MCXX_FILES := $(strip $(foreach kernel-hidd-i8042_CXXBASE,$(kernel-hidd-i8042_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-i8042_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-i8042_EXT),$(kernel-hidd-i8042_CXXBASE))))))) + +ifeq (,) +kernel-hidd-i8042_MCXX_SRCWILDCARD := % +else +kernel-hidd-i8042_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-i8042_OBJDIR),) + kernel-hidd-i8042_CXXTARGETS := $(notdir $(kernel-hidd-i8042_CXXBASENAMES:=.o)) + kernel-hidd-i8042_CXXDTARGETS := $(notdir $(kernel-hidd-i8042_CXXBASENAMES:=.d)) + kernel-hidd-i8042_MCXX_WILDCARD := % +else + kernel-hidd-i8042_CXXTARGETS := $(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(kernel-hidd-i8042_CXXBASENAMES:=.o))) + kernel-hidd-i8042_CXXDTARGETS := $(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(kernel-hidd-i8042_CXXBASENAMES:=.d))) + kernel-hidd-i8042_MCXX_WILDCARD := $(kernel-hidd-i8042_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-i8042_CXXTARGETS) $(kernel-hidd-i8042_CXXDTARGETS) : | $(kernel-hidd-i8042_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-i8042_MCXX_CPPFLAGS := $(kernel-hidd-i8042_CPPFLAGS) +kernel-hidd-i8042_CXXFLAGS := $(kernel-hidd-i8042_CXXFLAGS) +ifeq ($(kernel-hidd-i8042_DXXFLAGS),) + kernel-hidd-i8042_DXXFLAGS := $(kernel-hidd-i8042_CXXFLAGS) +else + kernel-hidd-i8042_DXXFLAGS := $(kernel-hidd-i8042_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-i8042_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-i8042_STRIP ?= $(HOST_STRIP) + kernel-hidd-i8042_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-i8042_CXXCMD:=$(HOST_CXX) + kernel-hidd-i8042_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-i8042_MCXX_CPPFLAGS) $(kernel-hidd-i8042_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-i8042_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-i8042_CXXFLAGS)) + kernel-hidd-i8042_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-i8042_DXXFLAGS)) + kernel-hidd-i8042_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-i8042_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-i8042_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-i8042_STRIP ?= $(TARGET_STRIP) + kernel-hidd-i8042_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-i8042_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-i8042_MCXX_CPPFLAGS := $(strip $(kernel-hidd-i8042_MCXX_CPPFLAGS) $(kernel-hidd-i8042_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-i8042_CXXFLAGS := $(strip $(kernel-hidd-i8042_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-i8042_DXXFLAGS := $(kernel-hidd-i8042_DXXFLAGS) + kernel-hidd-i8042_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-i8042_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-i8042_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-i8042_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-i8042_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-i8042_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-i8042_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-i8042_MCXX_CPPFLAGS) $(kernel-hidd-i8042_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-i8042_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-i8042_CXXFLAGS)) + kernel-hidd-i8042_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-i8042_DXXFLAGS)) + kernel-hidd-i8042_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-i8042_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-i8042_CXXCMD) $(kernel-hidd-i8042_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-i8042_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_CXXIQUOTE) . $(kernel-hidd-i8042_CXXIQUOTE_END) $(strip $(kernel-hidd-i8042_CXXFLAGS) $(kernel-hidd-i8042_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-i8042_CXXCMD) $(kernel-hidd-i8042_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-i8042_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_CXXIQUOTE) . $(kernel-hidd-i8042_CXXIQUOTE_END) $(strip $(kernel-hidd-i8042_CXXFLAGS) $(kernel-hidd-i8042_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-i8042_CXXCMD) $(kernel-hidd-i8042_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-i8042_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_CXXIQUOTE) . $(kernel-hidd-i8042_CXXIQUOTE_END) $(strip $(kernel-hidd-i8042_CXXFLAGS) $(kernel-hidd-i8042_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-i8042_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-i8042_DXXFLAGS) $(kernel-hidd-i8042_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-i8042_OBJDIR),) + $(foreach kernel-hidd-i8042_CXXFILE,$(kernel-hidd-i8042_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-i8042_CXXFILE))),$(kernel-hidd-i8042_CXXFILE)))) +else + $(foreach kernel-hidd-i8042_CXXFILE,$(kernel-hidd-i8042_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(basename $(kernel-hidd-i8042_CXXFILE)))),$(kernel-hidd-i8042_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-i8042_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-i8042_MOBJC_SRCWILDCARD := % +else +kernel-hidd-i8042_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-i8042_OBJDIR),) + kernel-hidd-i8042_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-i8042_OBJC_NARCHFILES)) + kernel-hidd-i8042_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-i8042_OBJC_NARCHFILES)) + kernel-hidd-i8042_MOBJC_WILDCARD := % +else + kernel-hidd-i8042_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(kernel-hidd-i8042_OBJC_NARCHFILES))) + kernel-hidd-i8042_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(kernel-hidd-i8042_OBJC_NARCHFILES))) + kernel-hidd-i8042_MOBJC_WILDCARD := $(kernel-hidd-i8042_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-i8042_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-i8042_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-i8042_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-i8042_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-i8042_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-i8042_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-i8042_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-i8042_MOBJC_DIRS),) + kernel-hidd-i8042_MOBJC_DIRS := $(shell echo $(kernel-hidd-i8042_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-i8042_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-i8042_CC := $(TARGET_CC) +else + kernel-hidd-i8042_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-i8042_MOBJC_CPPFLAGS := $(kernel-hidd-i8042_CPPFLAGS) +kernel-hidd-i8042_OBJCFLAGS := $(kernel-hidd-i8042_CFLAGS) +kernel-hidd-i8042_OBJCFLAGS := $(kernel-hidd-i8042_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-i8042_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-i8042_OBJCFLAGS))) +ifeq ($(kernel-hidd-i8042_DFLAGS),) + kernel-hidd-i8042_OBJCDFLAGS := $(kernel-hidd-i8042_CFLAGS) +else + kernel-hidd-i8042_OBJCDFLAGS := $(kernel-hidd-i8042_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-i8042_LINK ?= $(strip $(kernel-hidd-i8042_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-i8042_STRIP ?= $(TARGET_STRIP) + kernel-hidd-i8042_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-i8042_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-i8042_MOBJC_CPPFLAGS) $(kernel-hidd-i8042_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_OBJCFLAGS:=$(strip $(kernel-hidd-i8042_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_OBJCDFLAGS:=$(kernel-hidd-i8042_OBJCDFLAGS) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-i8042_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-i8042_STRIP ?= $(HOST_STRIP) + kernel-hidd-i8042_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-i8042_MOBJC_CPPFLAGS) $(kernel-hidd-i8042_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_OBJCFLAGS)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_OBJCDFLAGS)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-i8042_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-i8042_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-i8042_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-i8042_MOBJC_CPPFLAGS) $(kernel-hidd-i8042_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_OBJCFLAGS)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_OBJCDFLAGS)) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-i8042_MOBJC_TARGETS) $(kernel-hidd-i8042_MOBJC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-i8042_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-i8042_MOBJC_CPPFLAGS) +$(kernel-hidd-i8042_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-i8042_OBJCFLAGS) +$(kernel-hidd-i8042_MOBJC_TARGETS) : $(kernel-hidd-i8042_MOBJC_WILDCARD).o : $(kernel-hidd-i8042_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-i8042_MOBJC_DTARGETS) : $(kernel-hidd-i8042_MOBJC_WILDCARD).d : $(kernel-hidd-i8042_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-i8042_OBJCDFLAGS) $(kernel-hidd-i8042_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-i8042_MC_SRCWILDCARD := % +else +kernel-hidd-i8042_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-i8042_OBJDIR),) +kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-i8042_CCFILES)) +kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-i8042_CCFILES)) +kernel-hidd-i8042_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(kernel-hidd-i8042_CCFILES)))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(kernel-hidd-i8042_CCFILES)))) +else +ifeq (,) + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(kernel-hidd-i8042_CCFILES))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(kernel-hidd-i8042_CCFILES))) +else + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-i8042_CCFILES)))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-i8042_CCFILES)))) +endif +endif +kernel-hidd-i8042_MC_TGTWILDCARD := $(kernel-hidd-i8042_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-i8042_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-i8042_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-i8042_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-i8042_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-i8042_MC_DIRS := $(foreach dir, $(kernel-hidd-i8042_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-i8042_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-i8042_MC_DIRS),) + kernel-hidd-i8042_MC_DIRS := $(shell echo $(kernel-hidd-i8042_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-i8042_MC_DIRS) +endif + +endif + +kernel-hidd-i8042_MC_CPPFLAGS := $(kernel-hidd-i8042_CPPFLAGS) +kernel-hidd-i8042_CFLAGS := $(kernel-hidd-i8042_CFLAGS) +ifeq ($(kernel-hidd-i8042_DFLAGS),) + kernel-hidd-i8042_DFLAGS := $(kernel-hidd-i8042_CFLAGS) +else + kernel-hidd-i8042_DFLAGS := $(kernel-hidd-i8042_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-i8042_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(TARGET_STRIP) +kernel-hidd-i8042_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(kernel-hidd-i8042_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(kernel-hidd-i8042_DFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-i8042_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(HOST_STRIP) +kernel-hidd-i8042_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_DFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-i8042_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-i8042_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_DFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-i8042_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-i8042_MC_CPPFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) : CFLAGS := $(kernel-hidd-i8042_CFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) : $(kernel-hidd-i8042_MC_TGTWILDCARD).o : $(kernel-hidd-i8042_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-i8042_MC_DTARGETS) : $(kernel-hidd-i8042_MC_TGTWILDCARD).d : $(kernel-hidd-i8042_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-i8042_DFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-i8042_MC_SRCWILDCARD := % +else +kernel-hidd-i8042_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-i8042_OBJDIR),) +kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-i8042_TARGETCCFILES)) +kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-i8042_TARGETCCFILES)) +kernel-hidd-i8042_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(kernel-hidd-i8042_TARGETCCFILES)))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(kernel-hidd-i8042_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(kernel-hidd-i8042_TARGETCCFILES))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(kernel-hidd-i8042_TARGETCCFILES))) +else + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-i8042_TARGETCCFILES)))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-i8042_TARGETCCFILES)))) +endif +endif +kernel-hidd-i8042_MC_TGTWILDCARD := $(kernel-hidd-i8042_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-i8042_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-i8042_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-i8042_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-i8042_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-i8042_MC_DIRS := $(foreach dir, $(kernel-hidd-i8042_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-i8042_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-i8042_MC_DIRS),) + kernel-hidd-i8042_MC_DIRS := $(shell echo $(kernel-hidd-i8042_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-i8042_MC_DIRS) +endif + +endif + +kernel-hidd-i8042_MC_CPPFLAGS := $(kernel-hidd-i8042_CPPFLAGS) -D__AROS__ +kernel-hidd-i8042_CFLAGS := $(kernel-hidd-i8042_CFLAGS) +ifeq ($(kernel-hidd-i8042_DFLAGS),) + kernel-hidd-i8042_DFLAGS := $(kernel-hidd-i8042_CFLAGS) +else + kernel-hidd-i8042_DFLAGS := $(kernel-hidd-i8042_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-i8042_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(TARGET_STRIP) +kernel-hidd-i8042_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(kernel-hidd-i8042_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(kernel-hidd-i8042_DFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-i8042_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(HOST_STRIP) +kernel-hidd-i8042_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_DFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-i8042_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-i8042_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_DFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-i8042_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-i8042_MC_CPPFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) : CFLAGS := $(kernel-hidd-i8042_CFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) : $(kernel-hidd-i8042_MC_TGTWILDCARD).o : $(kernel-hidd-i8042_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-i8042_MC_DTARGETS) : $(kernel-hidd-i8042_MC_TGTWILDCARD).d : $(kernel-hidd-i8042_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-i8042_DFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-i8042_MC_SRCWILDCARD := % +else +kernel-hidd-i8042_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-i8042_OBJDIR)/linklib,) +kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-i8042_NLIBARCHFILES)) +kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-i8042_NLIBARCHFILES)) +kernel-hidd-i8042_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(notdir $(kernel-hidd-i8042_NLIBARCHFILES)))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(notdir $(kernel-hidd-i8042_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(kernel-hidd-i8042_NLIBARCHFILES))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(kernel-hidd-i8042_NLIBARCHFILES))) +else + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-i8042_NLIBARCHFILES)))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-i8042_NLIBARCHFILES)))) +endif +endif +kernel-hidd-i8042_MC_TGTWILDCARD := $(kernel-hidd-i8042_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-i8042_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-i8042_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-i8042_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-i8042_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-i8042_MC_DIRS := $(foreach dir, $(kernel-hidd-i8042_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-i8042_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-i8042_MC_DIRS),) + kernel-hidd-i8042_MC_DIRS := $(shell echo $(kernel-hidd-i8042_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-i8042_MC_DIRS) +endif + +endif + +kernel-hidd-i8042_MC_CPPFLAGS := $(kernel-hidd-i8042_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-i8042_CFLAGS := $(kernel-hidd-i8042_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-i8042_LINKLIBDFLAGS),) + kernel-hidd-i8042_DFLAGS := $(kernel-hidd-i8042_LINKLIBCFLAGS) +else + kernel-hidd-i8042_DFLAGS := $(kernel-hidd-i8042_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-i8042_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(TARGET_STRIP) +kernel-hidd-i8042_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(kernel-hidd-i8042_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(kernel-hidd-i8042_DFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-i8042_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(HOST_STRIP) +kernel-hidd-i8042_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_DFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-i8042_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-i8042_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_DFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-i8042_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-i8042_MC_CPPFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) : CFLAGS := $(kernel-hidd-i8042_CFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) : $(kernel-hidd-i8042_MC_TGTWILDCARD).o : $(kernel-hidd-i8042_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-i8042_MC_DTARGETS) : $(kernel-hidd-i8042_MC_TGTWILDCARD).d : $(kernel-hidd-i8042_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-i8042_DFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-i8042_OBJDIR)/linklib,) +kernel-hidd-i8042_MC_SRCWILDCARD := % +else +kernel-hidd-i8042_MC_SRCWILDCARD := $(kernel-hidd-i8042_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-i8042_OBJDIR)/linklib,) +kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-i8042_LINKLIBCCGENFILES)) +kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-i8042_LINKLIBCCGENFILES)) +kernel-hidd-i8042_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(notdir $(kernel-hidd-i8042_LINKLIBCCGENFILES)))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(notdir $(kernel-hidd-i8042_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-i8042_OBJDIR)/linklib,) + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(kernel-hidd-i8042_LINKLIBCCGENFILES))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(kernel-hidd-i8042_LINKLIBCCGENFILES))) +else + kernel-hidd-i8042_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-i8042_OBJDIR)/linklib/%,%,$(kernel-hidd-i8042_LINKLIBCCGENFILES)))) + kernel-hidd-i8042_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-i8042_OBJDIR)/linklib/%,%,$(kernel-hidd-i8042_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-i8042_MC_TGTWILDCARD := $(kernel-hidd-i8042_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-i8042_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-i8042_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-i8042_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-i8042_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-i8042_MC_DIRS := $(foreach dir, $(kernel-hidd-i8042_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-i8042_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-i8042_MC_DIRS),) + kernel-hidd-i8042_MC_DIRS := $(shell echo $(kernel-hidd-i8042_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-i8042_MC_DIRS) +endif + +endif + +kernel-hidd-i8042_MC_CPPFLAGS := $(kernel-hidd-i8042_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-i8042_CFLAGS := $(kernel-hidd-i8042_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-i8042_LINKLIBDFLAGS),) + kernel-hidd-i8042_DFLAGS := $(kernel-hidd-i8042_LINKLIBCFLAGS) +else + kernel-hidd-i8042_DFLAGS := $(kernel-hidd-i8042_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-i8042_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(TARGET_STRIP) +kernel-hidd-i8042_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(kernel-hidd-i8042_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(kernel-hidd-i8042_DFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-i8042_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(HOST_STRIP) +kernel-hidd-i8042_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-i8042_DFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-i8042_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-i8042_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-i8042_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS) $(kernel-hidd-i8042_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_CFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-i8042_DFLAGS)) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-i8042_MC_TARGETS) $(kernel-hidd-i8042_MC_DTARGETS) : kernel-hidd-i8042_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-i8042_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-i8042_MC_CPPFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) : CFLAGS := $(kernel-hidd-i8042_CFLAGS) +$(kernel-hidd-i8042_MC_TARGETS) : $(kernel-hidd-i8042_MC_TGTWILDCARD).o : $(kernel-hidd-i8042_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-i8042_IQUOTE) $(dir $<) $(kernel-hidd-i8042_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-i8042_IQUOTE) . $(kernel-hidd-i8042_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-i8042_MC_DTARGETS) : $(kernel-hidd-i8042_MC_TGTWILDCARD).d : $(kernel-hidd-i8042_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-i8042_DFLAGS) $(kernel-hidd-i8042_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-i8042_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-i8042_OBJDIR)/linklib,) +kernel-hidd-i8042-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-i8042_LINKLIBAFILES) $(kernel-hidd-i8042_RELLINKLIBAFILES)) +kernel-hidd-i8042-MA_WILDCARD := % +else +kernel-hidd-i8042-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(notdir $(kernel-hidd-i8042_LINKLIBAFILES) $(kernel-hidd-i8042_RELLINKLIBAFILES)))) +kernel-hidd-i8042-MA_WILDCARD := $(kernel-hidd-i8042_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-i8042-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-i8042_LINKLIBAFILES) $(kernel-hidd-i8042_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-i8042-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-i8042-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-i8042_LINKLIBAFILES) $(kernel-hidd-i8042_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-i8042-MA_DIRS := $(foreach dir, $(kernel-hidd-i8042-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-i8042-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-i8042-MA_DIRS),) + kernel-hidd-i8042-MA_DIRS := $(shell echo $(kernel-hidd-i8042-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-i8042-MA_DIRS) +endif + +endif + +kernel-hidd-i8042-MA_ASSEMBLER ?= $(kernel-hidd-i8042_ASSEMBLER) + +$(kernel-hidd-i8042-MA_TARGETS) : kernel-hidd-i8042-MA_CMD:= $(kernel-hidd-i8042-MA_ASSEMBLER) + +$(kernel-hidd-i8042-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-i8042-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-i8042-MA_TARGETS) : $(kernel-hidd-i8042-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-i8042-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-i8042-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-i8042-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-i8042_SUFFIX := hidd +else +kernel-hidd-i8042_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-i8042_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-i8042_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-i8042_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-i8042_SUFFIX),handler) +kernel-hidd-i8042_MODULE := $(AROSDIR)/$(kernel-hidd-i8042_MODDIR)/$(kernel-hidd-i8042_DEFNAME)-$(kernel-hidd-i8042_SUFFIX) +else +kernel-hidd-i8042_MODULE := $(AROSDIR)/$(kernel-hidd-i8042_MODDIR)/$(kernel-hidd-i8042_DEFNAME).$(kernel-hidd-i8042_SUFFIX) +endif +kernel-hidd-i8042_KOBJ := $(KOBJSDIR)/$(kernel-hidd-i8042_DEFNAME)_$(kernel-hidd-i8042_SUFFIX).o +else +kernel-hidd-i8042_MODULE := +kernel-hidd-i8042_KOBJ := +endif + +kernel-hidd-i8042-quick : kernel-hidd-i8042 +kernel-hidd-i8042 : $(kernel-hidd-i8042_MODULE) $(kernel-hidd-i8042_LINKLIB) $(kernel-hidd-i8042_RELLINKLIB) +ifeq (M,M) +kernel-hidd-i8042-kobj : $(kernel-hidd-i8042_KOBJ) $(kernel-hidd-i8042_LINKLIB) $(kernel-hidd-i8042_RELLINKLIB) +kernel-hidd-i8042-kobj-quick : $(kernel-hidd-i8042_KOBJ) $(kernel-hidd-i8042_LINKLIB) $(kernel-hidd-i8042_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-i8042-linklib : $(kernel-hidd-i8042_LINKLIB) $(kernel-hidd-i8042_RELLINKLIB) +endif + +kernel-hidd-i8042_OBJS := $(addsuffix .o,$(kernel-hidd-i8042_STARTFILES)) $(kernel-hidd-i8042_ARCHOBJS) \ + $(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(kernel-hidd-i8042_C_NARCHFILES:=.o) $(kernel-hidd-i8042_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-i8042_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (i8042,con) + kernel-hidd-i8042_ERR := $(notdir $(kernel-hidd-i8042_MODULE)).err +else + kernel-hidd-i8042_ERR := i8042.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-i8042_DEFNAME)_LDFLAGS) $(kernel-hidd-i8042_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-i8042_LIBS) $($(kernel-hidd-i8042_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-i8042_MODULE) : LIB_NAMES := $(kernel-hidd-i8042_LIBS) $($(kernel-hidd-i8042_DEFNAME)_LIBS) +$(kernel-hidd-i8042_MODULE) : OBJS := $(kernel-hidd-i8042_STARTOBJS) $(kernel-hidd-i8042_OBJS) $(USER_OBJS) +$(kernel-hidd-i8042_MODULE) : ENDTAG := $(kernel-hidd-i8042_ENDOBJS) +$(kernel-hidd-i8042_MODULE) : ERR := $(kernel-hidd-i8042_ERR) +$(kernel-hidd-i8042_MODULE) : OBJDIR := $(kernel-hidd-i8042_OBJDIR) +$(kernel-hidd-i8042_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-i8042_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-i8042_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-i8042_MODULE) : $(kernel-hidd-i8042_STARTOBJS) $(kernel-hidd-i8042_OBJS) $(USER_OBJS) $(kernel-hidd-i8042_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-i8042_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-i8042_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-i8042_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-i8042_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-i8042_LC_MODNAME := $(shell echo i8042 | tr A-Z a-z) +ifneq ($(kernel-hidd-i8042_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(HOST_AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(KERNEL_AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)$(kernel-hidd-i8042_LIBSUFFIX).a : $(kernel-hidd-i8042_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-i8042_AR) $@ $^ + $(Q)$(kernel-hidd-i8042_RANLIB) $@ +ifneq ($(kernel-hidd-i8042_LC_MODNAME),$(kernel-hidd-i8042_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-i8042_LIBDIR)/libi8042$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(AR) +$(kernel-hidd-i8042_LIBDIR)/libi8042$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-i8042_LIBDIR)/libi8042$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(HOST_AR) +$(kernel-hidd-i8042_LIBDIR)/libi8042$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-i8042_LIBDIR)/libi8042$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(KERNEL_AR) +$(kernel-hidd-i8042_LIBDIR)/libi8042$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-i8042_LIBDIR)/libi8042$(kernel-hidd-i8042_LIBSUFFIX).a : $(kernel-hidd-i8042_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-i8042_AR) $@ $^ + $(Q)$(kernel-hidd-i8042_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-i8042_LINKLIB),) +$(kernel-hidd-i8042_LINKLIB) : | $(kernel-hidd-i8042_LIBDIR) +else +$(kernel-hidd-i8042_LINKLIB) :: $(kernel-hidd-i8042_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-i8042_LIBDIR) + +endif + +ifneq ($(kernel-hidd-i8042_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(HOST_AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(KERNEL_AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_LINKLIBNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : $(kernel-hidd-i8042_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-i8042_AR) $@ $^ + $(Q)$(kernel-hidd-i8042_RANLIB) $@ +ifneq ($(kernel-hidd-i8042_LC_MODNAME),$(kernel-hidd-i8042_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_DEFNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_DEFNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_DEFNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(HOST_AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_DEFNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_DEFNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_AR:=$(KERNEL_AR) +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_DEFNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : kernel-hidd-i8042_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-i8042_LIBDIR)/lib$(kernel-hidd-i8042_DEFNAME)_rel$(kernel-hidd-i8042_LIBSUFFIX).a : $(kernel-hidd-i8042_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-i8042_AR) $@ $^ + $(Q)$(kernel-hidd-i8042_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-i8042_RELLINKLIB),) +$(kernel-hidd-i8042_RELLINKLIB) : | $(kernel-hidd-i8042_LIBDIR) +else +$(kernel-hidd-i8042_RELLINKLIB) :: $(kernel-hidd-i8042_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-i8042_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-i8042_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-i8042_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-i8042_SYMBOLS := $(kernel-hidd-i8042_KBASE) + +kernel-hidd-i8042_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-i8042_KOBJ_LIBS := $(filter-out $(kernel-hidd-i8042_KLIB),$(kernel-hidd-i8042_LIBS)) $(kernel-hidd-i8042_KAUTOLIB) +$(kernel-hidd-i8042_KOBJ) : LINKLIBS:=$(kernel-hidd-i8042_KOBJ_LIBS) $($(kernel-hidd-i8042_DEFNAME)_LIBS) +$(kernel-hidd-i8042_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-i8042_SYMBOLS)) +$(kernel-hidd-i8042_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-i8042_KOBJ) : $(kernel-hidd-i8042_OBJS) $(USER_OBJS) $(kernel-hidd-i8042_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-i8042_DEPS := $(addprefix $(kernel-hidd-i8042_OBJDIR)/,$(notdir $(kernel-hidd-i8042_CCFILES:=.d) $(kernel-hidd-i8042_TARGETCCFILES:=.d) $(kernel-hidd-i8042_CXXFILES:=.d))) $(addprefix $(kernel-hidd-i8042_OBJDIR)/linklib/,$(notdir $(kernel-hidd-i8042_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-i8042_DEPS),) + ifneq (kernel-hidd-i8042 kernel-hidd-i8042-quick kernel-hidd-i8042-kobj kernel-hidd-i8042-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-i8042 kernel-hidd-i8042-quick kernel-hidd-i8042-kobj kernel-hidd-i8042-kobj-quick),) + -include $(kernel-hidd-i8042_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-i8042_DEPS) + endif + endif +endif + +$(kernel-hidd-i8042_OBJS) $(kernel-hidd-i8042_DEPS) : | $(kernel-hidd-i8042_OBJDIR)/linklib + +ifneq ($(kernel-hidd-i8042_OBJS) $(kernel-hidd-i8042_DEPS) $(kernel-hidd-i8042_MODULE) $(kernel-hidd-i8042_KOBJ),) +$(kernel-hidd-i8042_OBJS) $(kernel-hidd-i8042_DEPS) $(kernel-hidd-i8042_MODULE) $(kernel-hidd-i8042_KOBJ) : | $(kernel-hidd-i8042_OBJDIR) $(AROSDIR)/$(kernel-hidd-i8042_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-i8042_OBJS) $(kernel-hidd-i8042_DEPS) $(kernel-hidd-i8042_MODULE) $(kernel-hidd-i8042_KOBJ) :: $(kernel-hidd-i8042_OBJDIR) $(AROSDIR)/$(kernel-hidd-i8042_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-i8042_OBJDIR) $(AROSDIR)/$(kernel-hidd-i8042_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-i8042 kernel-hidd-i8042-includes kernel-hidd-i8042-quick kernel-hidd-i8042-kobj kernel-hidd-i8042-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-i8042_DFILE_DEPS := $(kernel-hidd-i8042_LIBDEFSINC) $(kernel-hidd-i8042_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-i8042_INCDIR)/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) +$(kernel-hidd-i8042_DEPS) : $(kernel-hidd-i8042_DFILE_DEPS) +endif + +kernel-hidd-i8042_TOCLEAN := $(kernel-hidd-i8042_OBJS) $(kernel-hidd-i8042_DEPS) \ + $(kernel-hidd-i8042_MODULE) $(kernel-hidd-i8042_LINKLIB) $(kernel-hidd-i8042_KOBJ) \ + $(kernel-hidd-i8042_OBJDIR)/Makefile.i8042hidd \ + $(addprefix $(kernel-hidd-i8042_OBJDIR)/include/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-i8042_INCDIR)/,$($(kernel-hidd-i8042_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-i8042_OBJDIR)/i8042_geninc $(kernel-hidd-i8042_OBJDIR)/i8042_incs \ + $(addsuffix .c,$(kernel-hidd-i8042_LINKLIBFILES)) $(kernel-hidd-i8042_LINKLIBOBJS) $(kernel-hidd-i8042_LIBDEFSINC) \ + $(kernel-hidd-i8042_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-i8042_STARTFILES) $(kernel-hidd-i8042_ENDFILES)) \ + $(kernel-hidd-i8042_ENDOBJS) +kernel-hidd-i8042-clean : FILES := $(kernel-hidd-i8042_TOCLEAN) +kernel-hidd-i8042-clean :: + $(Q)$(ECHO) "Cleaning up for module i8042" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-i8042_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/pci/mmakefile b/rom/hidds/pci/mmakefile new file mode 100644 index 00000000000..c75379b3cdd --- /dev/null +++ b/rom/hidds/pci/mmakefile @@ -0,0 +1,1708 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_INCLUDES := -I. + +USER_CPPFLAGS := -D__KERNEL__ +USER_LDFLAGS := -static + +FILES := pci_init pcidriverclass pcideviceclass pciclass pciutil + +#MM kernel-hidd-pci : kernel-hidd-pci-ids +#MM kernel-hidd-pci-kobj : kernel-hidd-pci-ids + +#MM +includes-copy : $(AROS_INCLUDES)/hidd/pci.h $(GENINCDIR)/hidd/pci.h + +$(AROS_INCLUDES)/hidd/pci.h: include/pci_hidd.h + $(CP) $< $(AROS_INCLUDES)/hidd/pci.h + +$(GENINCDIR)/hidd/pci.h: include/pci_hidd.h + $(CP) $< $(GENINCDIR)/hidd/pci.h + + +.PHONY: kernel-hidd-pci-ids + +ifneq ($(TOOLDIR),) + kernel-hidd-pci-ids-tooldir := "$(TOOLDIR)/" +else + kernel-hidd-pci-ids-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(AROS_DEVS),) + kernel-hidd-pci-ids-location := $(AROS_DEVS) +else + kernel-hidd-pci-ids-location := . +endif + +kernel-hidd-pci-ids-fetchedflag := $(kernel-hidd-pci-ids-location)/.pci.ids-fetched + +#MM +kernel-hidd-pci-ids : + $(Q)$(ECHO) "Fetching pci.ids ..." + $(Q)TOOLDIR="$(kernel-hidd-pci-ids-tooldir)" $(FETCH) -ao "http://pciids.sourceforge.net/v2.2/ https://pci-ids.ucw.cz/v2.2/" -a pci.ids -s "" -l $(kernel-hidd-pci-ids-location) \ + -d . -po "$(SRCDIR)/$(CURDIR)" -p "::" + $(Q)$(IF) ! $(TEST) -f $(kernel-hidd-pci-ids-fetchedflag) ; then \ + $(TOUCH) $(kernel-hidd-pci-ids-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(kernel-hidd-pci-ids-fetchedflag) ; then \ +# $(ECHO) "Fetching pci.ids ..." \ +# && $(FETCH) -ao "http://pciids.sourceforge.net/v2.2/ https://pci-ids.ucw.cz/v2.2/" -a pci.ids -s "" -l $(kernel-hidd-pci-ids-location) \ +# -d . -po "$(SRCDIR)/$(CURDIR)" -p "::" \ +# && $(TOUCH) $(kernel-hidd-pci-ids-fetchedflag) ; \ +# fi + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-pci +#MM kernel-hidd-pci-quick +#MM kernel-hidd-pci-makefile +#MM kernel-hidd-pci-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-pci-includes +#MM- linklibs-pci: kernel-hidd-pci-linklib +#MM- linklibs-pci_rel : kernel-hidd-pci-linklib +#MM- includes-pci: kernel-hidd-pci-includes +#MM- includes-pci_rel : kernel-hidd-pci-includes +#MM- kernel-hidd-pci : kernel-hidd-pci-includes core-linklibs linklibs- +#MM kernel-hidd-pci-linklib : kernel-hidd-pci-includes includes- +#MM- kernel-hidd-pci-quick : kernel-hidd-pci-includes-quick +#MM kernel-hidd-pci-includes : kernel-hidd-pci-makefile kernel-hidd-pci-includes-dirs \ +#MM includes-generate-deps kernel-hidd-pci-fd +#MM kernel-hidd-pci-includes-quick +#MM kernel-hidd-pci-includes-dirs +#MM kernel-hidd-pci-fd + +# Library targets +#MM kernel-hidd-pci-kobj : core-linklibs linklibs- +#MM kernel-hidd-pci-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-pci-kobj : kernel-hidd-pci-includes core-linklibs linklibs- +#MM kernel-hidd-pci-kobj-quick : kernel-hidd-pci-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-pci_ALLTARGETS := kernel-hidd-pci kernel-hidd-pci-quick kernel-hidd-pci-clean + +ifeq (M,M) +kernel-hidd-pci_ALLTARGETS += kernel-hidd-pci-kobj kernel-hidd-pci-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-pci_ALLTARGETS += kernel-hidd-pci-includes \ + kernel-hidd-pci-includes-quick kernel-hidd-pci-includes-dirs \ + kernel-hidd-pci-linklib kernel-hidd-pci-fd +endif + +.PHONY : $(kernel-hidd-pci_ALLTARGETS) kernel-hidd-pci-makefile + +ifeq (pci,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-pci_DEFNAME := pci_ +else + kernel-hidd-pci_DEFNAME := pci +endif +kernel-hidd-pci_DEFLINKLIBNAME := $(kernel-hidd-pci_DEFNAME) +ifneq (,) + kernel-hidd-pci_LINKLIBNAME := +else + kernel-hidd-pci_LINKLIBNAME = $(kernel-hidd-pci_DEFLINKLIBNAME) +endif +kernel-hidd-pci_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-pci_DEFCPPFLAGS += -I +endif +kernel-hidd-pci_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-pci_DFLAGS := +else + kernel-hidd-pci_DFLAGS = $(kernel-hidd-pci_DEFDFLAGS) +endif +kernel-hidd-pci_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-pci_DXXFLAGS := +else + kernel-hidd-pci_DXXFLAGS = $(kernel-hidd-pci_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-pci_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-pci_DEFDFLAGS)) +kernel-hidd-pci_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-pci_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-pci_FUNCINSTR := yes +kernel-hidd-pci_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-pci_DEFDFLAGS)) +kernel-hidd-pci_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-pci_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-pci_OBJDIR := +else +kernel-hidd-pci_OBJDIR := $(OBJDIR)/$(kernel-hidd-pci_DEFNAME) +endif +ifneq (,) +kernel-hidd-pci_OBJDIR := $(kernel-hidd-pci_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-pci-makefile := $(kernel-hidd-pci_OBJDIR)/Makefile.$(kernel-hidd-pci_DEFNAME)hidd +kernel-hidd-pci-genmakefile : $(kernel-hidd-pci-makefile) + + +kernel-hidd-pci-genmakefile_OPTS := +ifneq (,) + kernel-hidd-pci-genmakefile_OPTS += -f + kernel-hidd-pci-genmakefile_MODNAME := pci_ +else + kernel-hidd-pci-genmakefile_MODNAME := pci +endif +kernel-hidd-pci-genmakefile_TARGET := Makefile.$(kernel-hidd-pci-genmakefile_MODNAME)hidd +kernel-hidd-pci-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-pci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-pci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-pci-genmakefile_OPTS += -c + kernel-hidd-pci-genmakefile_DEPS += + endif +else + kernel-hidd-pci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/pci.conf + kernel-hidd-pci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/pci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-pci-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-pci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-pci-genmakefile_OPTS += -o + kernel-hidd-pci-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-pci-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-pci_OBJDIR),) + kernel-hidd-pci-genmakefile_OPTS += -d $(kernel-hidd-pci_OBJDIR) + kernel-hidd-pci-genmakefile_TARGET := $(kernel-hidd-pci_OBJDIR)/$(kernel-hidd-pci-genmakefile_TARGET) +endif + +$(kernel-hidd-pci-genmakefile_TARGET) : OPTS := $(kernel-hidd-pci-genmakefile_OPTS) +$(kernel-hidd-pci-genmakefile_TARGET) : MODNAME := pci +$(kernel-hidd-pci-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-pci-genmakefile_TARGET) : $(kernel-hidd-pci-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-pci-makefile),) +$(kernel-hidd-pci-makefile) : | $(kernel-hidd-pci_OBJDIR) +else +$(kernel-hidd-pci-makefile) :: $(kernel-hidd-pci_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-pci_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-pci_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-pci-makefile) + +kernel-hidd-pci_DEFMODDIR := $($(kernel-hidd-pci_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-pci_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-pci_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-pci_MODDIR := +else + kernel-hidd-pci_MODDIR := $(kernel-hidd-pci_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-pci_INCDIR := +else +kernel-hidd-pci_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-pci_LIBDEFSINC := $(kernel-hidd-pci_OBJDIR)/include/$(kernel-hidd-pci_DEFNAME)_libdefs.h +kernel-hidd-pci_DEFLIBDEFSINC := $(kernel-hidd-pci_OBJDIR)/include/$(kernel-hidd-pci_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-pci-includes-quick : kernel-hidd-pci-includes +kernel-hidd-pci-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-pci_INCDIR)/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-pci_LIBDEFSINC) $(kernel-hidd-pci_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-pci_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-pci-includes_MODNAME := pci_ +else + kernel-hidd-pci-includes_MODNAME := pci +endif + +ifneq ($($(kernel-hidd-pci-includes_MODNAME)_INCLUDES),) + +kernel-hidd-pci-includes_TARGETS := $($(kernel-hidd-pci-includes_MODNAME)_INCLUDES) + +kernel-hidd-pci-includes_DEPS := $(GENMODULE) +kernel-hidd-pci-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-pci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-pci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-pci-includes_OPTS += -c + kernel-hidd-pci-includes_DEPS += + endif +else + kernel-hidd-pci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/pci.conf + kernel-hidd-pci-includes_DEPS += $(SRCDIR)/$(CURDIR)/pci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-pci-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-pci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-pci-includes_OPTS += -o + kernel-hidd-pci-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-pci-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-pci_OBJDIR)/include,) + kernel-hidd-pci-includes_OPTS += -d $(kernel-hidd-pci_OBJDIR)/include + kernel-hidd-pci-includes_TARGETS := $(addprefix $(kernel-hidd-pci_OBJDIR)/include/,$(kernel-hidd-pci-includes_TARGETS)) + kernel-hidd-pci-includes_GENINCFLAG=$(kernel-hidd-pci_OBJDIR)/include/.pci.hidd-includes +else + kernel-hidd-pci-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.pci.hidd-includes +endif + +$(kernel-hidd-pci-includes_TARGETS) : $(kernel-hidd-pci-includes_DEPS) $(kernel-hidd-pci-includes_GENINCFLAG) + +$(kernel-hidd-pci-includes_GENINCFLAG) : OPTS := $(kernel-hidd-pci-includes_OPTS) +$(kernel-hidd-pci-includes_GENINCFLAG) : MODNAME := pci +$(kernel-hidd-pci-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-pci-includes_GENINCFLAG) : $(kernel-hidd-pci-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-pci_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) : | $(kernel-hidd-pci_OBJDIR)/pci_geninc + +$(kernel-hidd-pci_OBJDIR)/pci_geninc : COPYSRCDIR := $(kernel-hidd-pci_OBJDIR)/include +$(kernel-hidd-pci_OBJDIR)/pci_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-pci_OBJDIR)/pci_geninc : FILES := $($(kernel-hidd-pci_DEFNAME)_INCLUDES) +$(kernel-hidd-pci_OBJDIR)/pci_geninc : $(addprefix $(kernel-hidd-pci_OBJDIR)/include/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-pci_OBJDIR)/include + +$(addprefix $(kernel-hidd-pci_INCDIR)/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) : | $(kernel-hidd-pci_OBJDIR)/pci_incs + +$(kernel-hidd-pci_OBJDIR)/pci_incs : COPYSRCDIR := $(kernel-hidd-pci_OBJDIR)/include +$(kernel-hidd-pci_OBJDIR)/pci_incs : TGTDIR := $(kernel-hidd-pci_INCDIR) +$(kernel-hidd-pci_OBJDIR)/pci_incs : FILES := $($(kernel-hidd-pci_DEFNAME)_INCLUDES) +$(kernel-hidd-pci_OBJDIR)/pci_incs : $(addprefix $(kernel-hidd-pci_OBJDIR)/include/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-pci_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-pci_DEFNAME)_INCLUDES)))) + +TMPpci_INCDIRS := \ + $(kernel-hidd-pci_OBJDIR)/include $(addprefix $(kernel-hidd-pci_OBJDIR)/include/,$(kernel-hidd-pci_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-pci_INCDIRS)) \ + $(kernel-hidd-pci_INCDIR) $(addprefix $(kernel-hidd-pci_INCDIR)/,$(kernel-hidd-pci_INCDIRS)) + +ifneq (kernel-hidd-pci-includes-dirs,) +kernel-hidd-pci-includes-dirs : | $(TMPpci_INCDIRS) +else +kernel-hidd-pci-includes-dirs :: $(TMPpci_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPpci_INCDIRS) + + +endif + +endif + + +kernel-hidd-pci-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-pci-genlibdefs_OPTS += -f + kernel-hidd-pci-genlibdefs_MODNAME := pci_ +else + kernel-hidd-pci-genlibdefs_MODNAME := pci +endif +kernel-hidd-pci-genlibdefs_TARGET := $(kernel-hidd-pci-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-pci-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-pci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-pci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-pci-genlibdefs_OPTS += -c + kernel-hidd-pci-genlibdefs_DEPS += + endif +else + kernel-hidd-pci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/pci.conf + kernel-hidd-pci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/pci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-pci-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-pci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-pci-genlibdefs_OPTS += -o + kernel-hidd-pci-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-pci-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-pci_OBJDIR)/include,) + kernel-hidd-pci-genlibdefs_OPTS += -d $(kernel-hidd-pci_OBJDIR)/include + kernel-hidd-pci-genlibdefs_TARGET := $(kernel-hidd-pci_OBJDIR)/include/$(kernel-hidd-pci-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-pci-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-pci-genlibdefs_TARGET) : OPTS := $(kernel-hidd-pci-genlibdefs_OPTS) +$(kernel-hidd-pci-genlibdefs_TARGET) : MODNAME := pci +$(kernel-hidd-pci-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-pci-genlibdefs_TARGET) : $(kernel-hidd-pci-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-pci_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-pci_LIBDEFSINC) +$(kernel-hidd-pci_DEFLIBDEFSINC) : $(kernel-hidd-pci_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-pci_LIBDEFSINC) $(kernel-hidd-pci_DEFLIBDEFSINC) : | $(kernel-hidd-pci_OBJDIR)/include + +ifneq (kernel-hidd-pci-includes-dirs,) +kernel-hidd-pci-includes-dirs : | $(kernel-hidd-pci_OBJDIR)/include +else +kernel-hidd-pci-includes-dirs :: $(kernel-hidd-pci_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-pci_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-pci-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-pci-genmodfiles_OPTS += -f + kernel-hidd-pci-genmodfiles_MODNAME := pci_ +else + kernel-hidd-pci-genmodfiles_MODNAME := pci +endif +kernel-hidd-pci-genmodfiles_GENTARGETS := $($(kernel-hidd-pci-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-pci-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-pci-genmodfiles_STUBTARGETS := $($(kernel-hidd-pci-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-pci-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-pci-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-pci-genmodfiles_GENTARGETS)) +kernel-hidd-pci-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-pci-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-pci-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-pci-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-pci-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-pci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-pci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-pci-genmodfiles_OPTS += -c + kernel-hidd-pci-genmodfiles_DEPS += + endif +else + kernel-hidd-pci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/pci.conf + kernel-hidd-pci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/pci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-pci-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-pci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-pci-genmodfiles_OPTS += -o + kernel-hidd-pci-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-pci-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-pci_OBJDIR),) + kernel-hidd-pci-genmodfiles_OPTS += -d $(kernel-hidd-pci_OBJDIR) + kernel-hidd-pci-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-pci_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-pci-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-pci-genmodfiles_TARGETDIR)/,$(kernel-hidd-pci-genmodfiles_GENTARGETS)) + kernel-hidd-pci-genmodfiles_GENFILEFLAG=$(kernel-hidd-pci-genmodfiles_TARGETDIR)/.pci.hidd-genfiles +else + kernel-hidd-pci-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.pci.hidd-genfiles +endif +ifneq ($(kernel-hidd-pci_OBJDIR)/linklib,) + kernel-hidd-pci-genmodfiles_OPTS += -l $(kernel-hidd-pci_OBJDIR)/linklib + kernel-hidd-pci-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-pci_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-pci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-pci-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-pci-genmodfiles_STUBTARGETS)) + kernel-hidd-pci-genmodfiles_TARGETDIRS += $(kernel-hidd-pci_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-pci_OBJDIR),) + kernel-hidd-pci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-pci-genmodfiles_TARGETDIR)/,$(kernel-hidd-pci-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-pci-genmodfiles_TARGETS := $(kernel-hidd-pci-genmodfiles_GENTARGETS) $(kernel-hidd-pci-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-pci-genmodfiles_TARGETDIRS),) +$(kernel-hidd-pci-genmodfiles_TARGETS) : | $(kernel-hidd-pci-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-pci-genmodfiles_TARGETS) : $(kernel-hidd-pci-genmodfiles_DEPS) $(kernel-hidd-pci-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-pci-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-pci-genmodfiles_OPTS) +$(kernel-hidd-pci-genmodfiles_GENFILEFLAG) : MODNAME := pci +$(kernel-hidd-pci-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-pci-genmodfiles_GENFILEFLAG) : $(kernel-hidd-pci-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-pci-genmodfiles_GENFILEFLAG) : $(kernel-hidd-pci_DEFLIBDEFSINC) $(kernel-hidd-pci-makefile) + + +ifneq ($(kernel-hidd-pci-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-pci-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-pci_OBJDIR)/linklib +else +$(kernel-hidd-pci-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-pci_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-pci_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-pci_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-pci_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-pci-fd : $(kernel-hidd-pci_FDDIR)/pci_lib.fd + + +TMP_TARGET := pci_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/pci.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/pci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-pci_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-pci_FDDIR) + TMP_TARGET := $(kernel-hidd-pci_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := pci +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-pci_FDDIR)/pci_lib.fd : | $(kernel-hidd-pci_FDDIR) + + +ifneq (kernel-hidd-pci-fd-setup,) +kernel-hidd-pci-fd-setup : | $(kernel-hidd-pci_FDDIR) +else +kernel-hidd-pci-fd-setup :: $(kernel-hidd-pci_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-pci_FDDIR) + +endif + +## Compilation +## +kernel-hidd-pci_FILES := $(FILES) +kernel-hidd-pci_OBJCFILES := +kernel-hidd-pci_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-pci_LIBFILES := +kernel-hidd-pci_LIBS := + +kernel-hidd-pci_FDIRS := $(sort $(dir $(kernel-hidd-pci_FILES))) + +kernel-hidd-pci_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-pci_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-pci_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-pci_FILTERARCH = $(filter-out $(call kernel-hidd-pci_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-pci_STARTFILES := $(addprefix $(kernel-hidd-pci_OBJDIR)/,$($(kernel-hidd-pci_DEFNAME)_STARTFILES)) +kernel-hidd-pci_ENDFILES := $(addprefix $(kernel-hidd-pci_OBJDIR)/,$($(kernel-hidd-pci_DEFNAME)_ENDFILES)) + +kernel-hidd-pci_ARCHOBJS := $(wildcard $(kernel-hidd-pci_OBJDIR)/arch/*.o) +kernel-hidd-pci_LIBARCHOBJS := $(wildcard $(kernel-hidd-pci_OBJDIR)/linklib/arch/*.o) +kernel-hidd-pci_ARCHFILES := $(basename $(notdir $(kernel-hidd-pci_ARCHOBJS))) +kernel-hidd-pci_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-pci_LIBARCHOBJS))) +kernel-hidd-pci_C_NARCHFILES := $(call kernel-hidd-pci_FILTERARCH,$(kernel-hidd-pci_ARCHFILES),$(kernel-hidd-pci_FILES)) +kernel-hidd-pci_CXX_NARCHFILES := $(call kernel-hidd-pci_FILTERARCH,$(kernel-hidd-pci_ARCHFILES),$(kernel-hidd-pci_CXXFILES)) +kernel-hidd-pci_OBJC_NARCHFILES := $(call kernel-hidd-pci_FILTERARCH,$(kernel-hidd-pci_ARCHFILES),$(kernel-hidd-pci_OBJCFILES)) +kernel-hidd-pci_NLIBARCHFILES := $(call kernel-hidd-pci_FILTERARCH,$(kernel-hidd-pci_LIBARCHFILES),$(kernel-hidd-pci_LIBFILES)) +kernel-hidd-pci_ARCHNLIBFILES := $(call kernel-hidd-pci_FILTERARCH,$(kernel-hidd-pci_LIBFILES),$(kernel-hidd-pci_LIBARCHFILES)) + +kernel-hidd-pci_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-pci_OBJDIR)/include -include $(kernel-hidd-pci_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-pci_CPPFLAGS += -I +endif +kernel-hidd-pci_LINKLIBCPPFLAGS := $(kernel-hidd-pci_CPPFLAGS) +kernel-hidd-pci_CPPFLAGS += $(strip $($(kernel-hidd-pci_DEFNAME)_CPPFLAGS)) +kernel-hidd-pci_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-pci_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-pci_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-pci_DEFNAME)_CFLAGS)) +kernel-hidd-pci_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-pci_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-pci_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-pci_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-pci_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-pci_CFLAGS := $(strip $(kernel-hidd-pci_LTOFLAGS) $(kernel-hidd-pci_CFLAGS)) +kernel-hidd-pci_LINKLIBCFLAGS := $(strip $(kernel-hidd-pci_LTOFLAGS) $(kernel-hidd-pci_LINKLIBCFLAGS)) +kernel-hidd-pci_CXXFLAGS := $(strip $(kernel-hidd-pci_LTOFLAGS) $(kernel-hidd-pci_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-pci_SUBSTNULL := +kernel-hidd-pci_SUBSTSPACE := $(kernel-hidd-pci_SUBSTNULL) # +kernel-hidd-pci_SUBSTCOMMA := , +kernel-hidd-pci_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-pci_SUBSTSPACE),$(kernel-hidd-pci_SUBSTCOMMA),$(strip $($(kernel-hidd-pci_DEFNAME)_STARTFILES)))) +kernel-hidd-pci_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-pci_CFLAGS := $(strip $(kernel-hidd-pci_INSTRFUNCFLAGS) $(kernel-hidd-pci_CFLAGS)) +kernel-hidd-pci_CXXFLAGS := $(strip $(kernel-hidd-pci_INSTRFUNCFLAGS) $(kernel-hidd-pci_CXXFLAGS)) +kernel-hidd-pci_LIBS += $(kernel-hidd-pci_INSTRFUNCLIBS) +endif +endif +kernel-hidd-pci_DFLAGS := $(strip $(kernel-hidd-pci_DFLAGS) $($(kernel-hidd-pci_DEFNAME)_DFLAGS)) +kernel-hidd-pci_LINKLIBDFLAGS := $(strip $(kernel-hidd-pci_DFLAGS) $($(kernel-hidd-pci_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-pci_DXXFLAGS := $(strip $(kernel-hidd-pci_DXXFLAGS) $($(kernel-hidd-pci_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-pci_LIBSUFFIX := +else + kernel-hidd-pci_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-pci_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-pci_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-pci_LINKLIBCFILES := $(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$($(kernel-hidd-pci_DEFNAME)_LINKLIBFILES)) +kernel-hidd-pci_LINKLIBAFILES := $(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$($(kernel-hidd-pci_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-pci_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-pci_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-pci_ARCHNLIBFILES)),) + kernel-hidd-pci_LINKLIB := +else + kernel-hidd-pci_LINKLIB := $(kernel-hidd-pci_LIBDIR)/libpci$(kernel-hidd-pci_LIBSUFFIX).a + ifneq (pci,$(kernel-hidd-pci_LINKLIBNAME)) + kernel-hidd-pci_LINKLIB += $(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)$(kernel-hidd-pci_LIBSUFFIX).a + endif +endif +kernel-hidd-pci_LINKLIBFILES := $(kernel-hidd-pci_LINKLIBCFILES) $(kernel-hidd-pci_LINKLIBAFILES) + +kernel-hidd-pci_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$($(kernel-hidd-pci_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-pci_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$($(kernel-hidd-pci_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-pci_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-pci_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-pci_ARCHNLIBFILES)),) + kernel-hidd-pci_RELLINKLIB := +else + kernel-hidd-pci_RELLINKLIB := $(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_DEFNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a + ifneq (pci,$(kernel-hidd-pci_LINKLIBNAME)) + kernel-hidd-pci_RELLINKLIB += $(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a + endif +endif +kernel-hidd-pci_RELLINKLIBFILES := $(kernel-hidd-pci_RELLINKLIBCFILES) $(kernel-hidd-pci_RELLINKLIBAFILES) +endif + +kernel-hidd-pci_ENDOBJS := $(addsuffix .o,$(kernel-hidd-pci_ENDFILES)) +kernel-hidd-pci_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(notdir $(kernel-hidd-pci_NLIBARCHFILES))) $(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-pci_ARCHNLIBFILES))) $(kernel-hidd-pci_LINKLIBFILES)) \ + +kernel-hidd-pci_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(notdir $(kernel-hidd-pci_NLIBARCHFILES))) $(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-pci_ARCHNLIBFILES))) $(kernel-hidd-pci_RELLINKLIBFILES)) \ + +$(kernel-hidd-pci_LINKLIBFILES) $(kernel-hidd-pci_RELLINKLIBFILES) : | $(kernel-hidd-pci_OBJDIR)/linklib +$(kernel-hidd-pci_LINKLIBOBJS) $(kernel-hidd-pci_RELLINKLIBOBJS) : | $(kernel-hidd-pci_OBJDIR)/linklib + +kernel-hidd-pci_CCFILES := $(kernel-hidd-pci_C_NARCHFILES) +kernel-hidd-pci_TARGETCCFILES := $(strip $(kernel-hidd-pci_STARTFILES) $(kernel-hidd-pci_ENDFILES)) +kernel-hidd-pci_LINKLIBCCFILES := $(strip $(kernel-hidd-pci_NLIBARCHFILES) $(kernel-hidd-pci_LINKLIBCFILES) $(kernel-hidd-pci_RELLINKLIBCFILES)) +kernel-hidd-pci_LINKLIBCCGENFILES := $(strip $(kernel-hidd-pci_LINKLIBCFILES) $(kernel-hidd-pci_RELLINKLIBCFILES)) + + +kernel-hidd-pci_CXXABSBASENAMES := $(foreach kernel-hidd-pci_CXXBASE,$(kernel-hidd-pci_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-pci_CXXBASE)),$(kernel-hidd-pci_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-pci_CXXBASE)))) + +ifneq ($(kernel-hidd-pci_CXXABSBASENAMES),) + +kernel-hidd-pci_CXXBASENAMES := $(basename $(kernel-hidd-pci_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-pci_MCXX_FILES := $(strip $(foreach kernel-hidd-pci_CXXBASE,$(kernel-hidd-pci_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-pci_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-pci_EXT),$(kernel-hidd-pci_CXXBASE))))))) + +ifeq (,) +kernel-hidd-pci_MCXX_SRCWILDCARD := % +else +kernel-hidd-pci_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-pci_OBJDIR),) + kernel-hidd-pci_CXXTARGETS := $(notdir $(kernel-hidd-pci_CXXBASENAMES:=.o)) + kernel-hidd-pci_CXXDTARGETS := $(notdir $(kernel-hidd-pci_CXXBASENAMES:=.d)) + kernel-hidd-pci_MCXX_WILDCARD := % +else + kernel-hidd-pci_CXXTARGETS := $(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(kernel-hidd-pci_CXXBASENAMES:=.o))) + kernel-hidd-pci_CXXDTARGETS := $(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(kernel-hidd-pci_CXXBASENAMES:=.d))) + kernel-hidd-pci_MCXX_WILDCARD := $(kernel-hidd-pci_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-pci_CXXTARGETS) $(kernel-hidd-pci_CXXDTARGETS) : | $(kernel-hidd-pci_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-pci_MCXX_CPPFLAGS := $(kernel-hidd-pci_CPPFLAGS) +kernel-hidd-pci_CXXFLAGS := $(kernel-hidd-pci_CXXFLAGS) +ifeq ($(kernel-hidd-pci_DXXFLAGS),) + kernel-hidd-pci_DXXFLAGS := $(kernel-hidd-pci_CXXFLAGS) +else + kernel-hidd-pci_DXXFLAGS := $(kernel-hidd-pci_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-pci_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-pci_STRIP ?= $(HOST_STRIP) + kernel-hidd-pci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-pci_CXXCMD:=$(HOST_CXX) + kernel-hidd-pci_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-pci_MCXX_CPPFLAGS) $(kernel-hidd-pci_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-pci_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-pci_CXXFLAGS)) + kernel-hidd-pci_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-pci_DXXFLAGS)) + kernel-hidd-pci_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-pci_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-pci_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-pci_STRIP ?= $(TARGET_STRIP) + kernel-hidd-pci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-pci_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-pci_MCXX_CPPFLAGS := $(strip $(kernel-hidd-pci_MCXX_CPPFLAGS) $(kernel-hidd-pci_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-pci_CXXFLAGS := $(strip $(kernel-hidd-pci_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-pci_DXXFLAGS := $(kernel-hidd-pci_DXXFLAGS) + kernel-hidd-pci_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-pci_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-pci_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-pci_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-pci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-pci_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-pci_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-pci_MCXX_CPPFLAGS) $(kernel-hidd-pci_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-pci_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-pci_CXXFLAGS)) + kernel-hidd-pci_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-pci_DXXFLAGS)) + kernel-hidd-pci_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-pci_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-pci_CXXCMD) $(kernel-hidd-pci_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-pci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_CXXIQUOTE) . $(kernel-hidd-pci_CXXIQUOTE_END) $(strip $(kernel-hidd-pci_CXXFLAGS) $(kernel-hidd-pci_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-pci_CXXCMD) $(kernel-hidd-pci_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-pci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_CXXIQUOTE) . $(kernel-hidd-pci_CXXIQUOTE_END) $(strip $(kernel-hidd-pci_CXXFLAGS) $(kernel-hidd-pci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-pci_CXXCMD) $(kernel-hidd-pci_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-pci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_CXXIQUOTE) . $(kernel-hidd-pci_CXXIQUOTE_END) $(strip $(kernel-hidd-pci_CXXFLAGS) $(kernel-hidd-pci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-pci_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-pci_DXXFLAGS) $(kernel-hidd-pci_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-pci_OBJDIR),) + $(foreach kernel-hidd-pci_CXXFILE,$(kernel-hidd-pci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-pci_CXXFILE))),$(kernel-hidd-pci_CXXFILE)))) +else + $(foreach kernel-hidd-pci_CXXFILE,$(kernel-hidd-pci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(basename $(kernel-hidd-pci_CXXFILE)))),$(kernel-hidd-pci_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-pci_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-pci_MOBJC_SRCWILDCARD := % +else +kernel-hidd-pci_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-pci_OBJDIR),) + kernel-hidd-pci_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-pci_OBJC_NARCHFILES)) + kernel-hidd-pci_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-pci_OBJC_NARCHFILES)) + kernel-hidd-pci_MOBJC_WILDCARD := % +else + kernel-hidd-pci_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(kernel-hidd-pci_OBJC_NARCHFILES))) + kernel-hidd-pci_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(kernel-hidd-pci_OBJC_NARCHFILES))) + kernel-hidd-pci_MOBJC_WILDCARD := $(kernel-hidd-pci_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-pci_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-pci_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-pci_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-pci_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-pci_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-pci_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-pci_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-pci_MOBJC_DIRS),) + kernel-hidd-pci_MOBJC_DIRS := $(shell echo $(kernel-hidd-pci_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-pci_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-pci_CC := $(TARGET_CC) +else + kernel-hidd-pci_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-pci_MOBJC_CPPFLAGS := $(kernel-hidd-pci_CPPFLAGS) +kernel-hidd-pci_OBJCFLAGS := $(kernel-hidd-pci_CFLAGS) +kernel-hidd-pci_OBJCFLAGS := $(kernel-hidd-pci_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-pci_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-pci_OBJCFLAGS))) +ifeq ($(kernel-hidd-pci_DFLAGS),) + kernel-hidd-pci_OBJCDFLAGS := $(kernel-hidd-pci_CFLAGS) +else + kernel-hidd-pci_OBJCDFLAGS := $(kernel-hidd-pci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-pci_LINK ?= $(strip $(kernel-hidd-pci_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-pci_STRIP ?= $(TARGET_STRIP) + kernel-hidd-pci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-pci_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-pci_MOBJC_CPPFLAGS) $(kernel-hidd-pci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_OBJCFLAGS:=$(strip $(kernel-hidd-pci_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_OBJCDFLAGS:=$(kernel-hidd-pci_OBJCDFLAGS) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-pci_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-pci_STRIP ?= $(HOST_STRIP) + kernel-hidd-pci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-pci_MOBJC_CPPFLAGS) $(kernel-hidd-pci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_OBJCFLAGS)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_OBJCDFLAGS)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-pci_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-pci_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-pci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-pci_MOBJC_CPPFLAGS) $(kernel-hidd-pci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_OBJCFLAGS)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_OBJCDFLAGS)) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-pci_MOBJC_TARGETS) $(kernel-hidd-pci_MOBJC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-pci_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-pci_MOBJC_CPPFLAGS) +$(kernel-hidd-pci_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-pci_OBJCFLAGS) +$(kernel-hidd-pci_MOBJC_TARGETS) : $(kernel-hidd-pci_MOBJC_WILDCARD).o : $(kernel-hidd-pci_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-pci_MOBJC_DTARGETS) : $(kernel-hidd-pci_MOBJC_WILDCARD).d : $(kernel-hidd-pci_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-pci_OBJCDFLAGS) $(kernel-hidd-pci_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-pci_MC_SRCWILDCARD := % +else +kernel-hidd-pci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-pci_OBJDIR),) +kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-pci_CCFILES)) +kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-pci_CCFILES)) +kernel-hidd-pci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(kernel-hidd-pci_CCFILES)))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(kernel-hidd-pci_CCFILES)))) +else +ifeq (,) + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(kernel-hidd-pci_CCFILES))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(kernel-hidd-pci_CCFILES))) +else + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-pci_CCFILES)))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-pci_CCFILES)))) +endif +endif +kernel-hidd-pci_MC_TGTWILDCARD := $(kernel-hidd-pci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-pci_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-pci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-pci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-pci_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-pci_MC_DIRS := $(foreach dir, $(kernel-hidd-pci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-pci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-pci_MC_DIRS),) + kernel-hidd-pci_MC_DIRS := $(shell echo $(kernel-hidd-pci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-pci_MC_DIRS) +endif + +endif + +kernel-hidd-pci_MC_CPPFLAGS := $(kernel-hidd-pci_CPPFLAGS) +kernel-hidd-pci_CFLAGS := $(kernel-hidd-pci_CFLAGS) +ifeq ($(kernel-hidd-pci_DFLAGS),) + kernel-hidd-pci_DFLAGS := $(kernel-hidd-pci_CFLAGS) +else + kernel-hidd-pci_DFLAGS := $(kernel-hidd-pci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-pci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(TARGET_STRIP) +kernel-hidd-pci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(kernel-hidd-pci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(kernel-hidd-pci_DFLAGS) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-pci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(HOST_STRIP) +kernel-hidd-pci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_DFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-pci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-pci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_DFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-pci_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-pci_MC_CPPFLAGS) +$(kernel-hidd-pci_MC_TARGETS) : CFLAGS := $(kernel-hidd-pci_CFLAGS) +$(kernel-hidd-pci_MC_TARGETS) : $(kernel-hidd-pci_MC_TGTWILDCARD).o : $(kernel-hidd-pci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-pci_MC_DTARGETS) : $(kernel-hidd-pci_MC_TGTWILDCARD).d : $(kernel-hidd-pci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-pci_DFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-pci_MC_SRCWILDCARD := % +else +kernel-hidd-pci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-pci_OBJDIR),) +kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-pci_TARGETCCFILES)) +kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-pci_TARGETCCFILES)) +kernel-hidd-pci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(kernel-hidd-pci_TARGETCCFILES)))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(kernel-hidd-pci_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(kernel-hidd-pci_TARGETCCFILES))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(kernel-hidd-pci_TARGETCCFILES))) +else + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-pci_TARGETCCFILES)))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-pci_TARGETCCFILES)))) +endif +endif +kernel-hidd-pci_MC_TGTWILDCARD := $(kernel-hidd-pci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-pci_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-pci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-pci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-pci_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-pci_MC_DIRS := $(foreach dir, $(kernel-hidd-pci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-pci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-pci_MC_DIRS),) + kernel-hidd-pci_MC_DIRS := $(shell echo $(kernel-hidd-pci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-pci_MC_DIRS) +endif + +endif + +kernel-hidd-pci_MC_CPPFLAGS := $(kernel-hidd-pci_CPPFLAGS) -D__AROS__ +kernel-hidd-pci_CFLAGS := $(kernel-hidd-pci_CFLAGS) +ifeq ($(kernel-hidd-pci_DFLAGS),) + kernel-hidd-pci_DFLAGS := $(kernel-hidd-pci_CFLAGS) +else + kernel-hidd-pci_DFLAGS := $(kernel-hidd-pci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-pci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(TARGET_STRIP) +kernel-hidd-pci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(kernel-hidd-pci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(kernel-hidd-pci_DFLAGS) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-pci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(HOST_STRIP) +kernel-hidd-pci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_DFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-pci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-pci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_DFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-pci_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-pci_MC_CPPFLAGS) +$(kernel-hidd-pci_MC_TARGETS) : CFLAGS := $(kernel-hidd-pci_CFLAGS) +$(kernel-hidd-pci_MC_TARGETS) : $(kernel-hidd-pci_MC_TGTWILDCARD).o : $(kernel-hidd-pci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-pci_MC_DTARGETS) : $(kernel-hidd-pci_MC_TGTWILDCARD).d : $(kernel-hidd-pci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-pci_DFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-pci_MC_SRCWILDCARD := % +else +kernel-hidd-pci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-pci_OBJDIR)/linklib,) +kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-pci_NLIBARCHFILES)) +kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-pci_NLIBARCHFILES)) +kernel-hidd-pci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(notdir $(kernel-hidd-pci_NLIBARCHFILES)))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(notdir $(kernel-hidd-pci_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(kernel-hidd-pci_NLIBARCHFILES))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(kernel-hidd-pci_NLIBARCHFILES))) +else + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-pci_NLIBARCHFILES)))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-pci_NLIBARCHFILES)))) +endif +endif +kernel-hidd-pci_MC_TGTWILDCARD := $(kernel-hidd-pci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-pci_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-pci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-pci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-pci_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-pci_MC_DIRS := $(foreach dir, $(kernel-hidd-pci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-pci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-pci_MC_DIRS),) + kernel-hidd-pci_MC_DIRS := $(shell echo $(kernel-hidd-pci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-pci_MC_DIRS) +endif + +endif + +kernel-hidd-pci_MC_CPPFLAGS := $(kernel-hidd-pci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-pci_CFLAGS := $(kernel-hidd-pci_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-pci_LINKLIBDFLAGS),) + kernel-hidd-pci_DFLAGS := $(kernel-hidd-pci_LINKLIBCFLAGS) +else + kernel-hidd-pci_DFLAGS := $(kernel-hidd-pci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-pci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(TARGET_STRIP) +kernel-hidd-pci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(kernel-hidd-pci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(kernel-hidd-pci_DFLAGS) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-pci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(HOST_STRIP) +kernel-hidd-pci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_DFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-pci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-pci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_DFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-pci_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-pci_MC_CPPFLAGS) +$(kernel-hidd-pci_MC_TARGETS) : CFLAGS := $(kernel-hidd-pci_CFLAGS) +$(kernel-hidd-pci_MC_TARGETS) : $(kernel-hidd-pci_MC_TGTWILDCARD).o : $(kernel-hidd-pci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-pci_MC_DTARGETS) : $(kernel-hidd-pci_MC_TGTWILDCARD).d : $(kernel-hidd-pci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-pci_DFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-pci_OBJDIR)/linklib,) +kernel-hidd-pci_MC_SRCWILDCARD := % +else +kernel-hidd-pci_MC_SRCWILDCARD := $(kernel-hidd-pci_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-pci_OBJDIR)/linklib,) +kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-pci_LINKLIBCCGENFILES)) +kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-pci_LINKLIBCCGENFILES)) +kernel-hidd-pci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(notdir $(kernel-hidd-pci_LINKLIBCCGENFILES)))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(notdir $(kernel-hidd-pci_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-pci_OBJDIR)/linklib,) + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(kernel-hidd-pci_LINKLIBCCGENFILES))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(kernel-hidd-pci_LINKLIBCCGENFILES))) +else + kernel-hidd-pci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-pci_OBJDIR)/linklib/%,%,$(kernel-hidd-pci_LINKLIBCCGENFILES)))) + kernel-hidd-pci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-pci_OBJDIR)/linklib/%,%,$(kernel-hidd-pci_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-pci_MC_TGTWILDCARD := $(kernel-hidd-pci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-pci_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-pci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-pci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-pci_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-pci_MC_DIRS := $(foreach dir, $(kernel-hidd-pci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-pci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-pci_MC_DIRS),) + kernel-hidd-pci_MC_DIRS := $(shell echo $(kernel-hidd-pci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-pci_MC_DIRS) +endif + +endif + +kernel-hidd-pci_MC_CPPFLAGS := $(kernel-hidd-pci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-pci_CFLAGS := $(kernel-hidd-pci_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-pci_LINKLIBDFLAGS),) + kernel-hidd-pci_DFLAGS := $(kernel-hidd-pci_LINKLIBCFLAGS) +else + kernel-hidd-pci_DFLAGS := $(kernel-hidd-pci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-pci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(TARGET_STRIP) +kernel-hidd-pci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(kernel-hidd-pci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(kernel-hidd-pci_DFLAGS) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-pci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(HOST_STRIP) +kernel-hidd-pci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-pci_DFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-pci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-pci_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-pci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS) $(kernel-hidd-pci_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_CFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-pci_DFLAGS)) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-pci_MC_TARGETS) $(kernel-hidd-pci_MC_DTARGETS) : kernel-hidd-pci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-pci_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-pci_MC_CPPFLAGS) +$(kernel-hidd-pci_MC_TARGETS) : CFLAGS := $(kernel-hidd-pci_CFLAGS) +$(kernel-hidd-pci_MC_TARGETS) : $(kernel-hidd-pci_MC_TGTWILDCARD).o : $(kernel-hidd-pci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-pci_IQUOTE) $(dir $<) $(kernel-hidd-pci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-pci_IQUOTE) . $(kernel-hidd-pci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-pci_MC_DTARGETS) : $(kernel-hidd-pci_MC_TGTWILDCARD).d : $(kernel-hidd-pci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-pci_DFLAGS) $(kernel-hidd-pci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-pci_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-pci_OBJDIR)/linklib,) +kernel-hidd-pci-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-pci_LINKLIBAFILES) $(kernel-hidd-pci_RELLINKLIBAFILES)) +kernel-hidd-pci-MA_WILDCARD := % +else +kernel-hidd-pci-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(notdir $(kernel-hidd-pci_LINKLIBAFILES) $(kernel-hidd-pci_RELLINKLIBAFILES)))) +kernel-hidd-pci-MA_WILDCARD := $(kernel-hidd-pci_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-pci-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-pci_LINKLIBAFILES) $(kernel-hidd-pci_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-pci-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-pci-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-pci_LINKLIBAFILES) $(kernel-hidd-pci_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-pci-MA_DIRS := $(foreach dir, $(kernel-hidd-pci-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-pci-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-pci-MA_DIRS),) + kernel-hidd-pci-MA_DIRS := $(shell echo $(kernel-hidd-pci-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-pci-MA_DIRS) +endif + +endif + +kernel-hidd-pci-MA_ASSEMBLER ?= $(kernel-hidd-pci_ASSEMBLER) + +$(kernel-hidd-pci-MA_TARGETS) : kernel-hidd-pci-MA_CMD:= $(kernel-hidd-pci-MA_ASSEMBLER) + +$(kernel-hidd-pci-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-pci-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-pci-MA_TARGETS) : $(kernel-hidd-pci-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-pci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-pci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-pci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-pci_SUFFIX := hidd +else +kernel-hidd-pci_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-pci_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-pci_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-pci_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-pci_SUFFIX),handler) +kernel-hidd-pci_MODULE := $(AROSDIR)/$(kernel-hidd-pci_MODDIR)/$(kernel-hidd-pci_DEFNAME)-$(kernel-hidd-pci_SUFFIX) +else +kernel-hidd-pci_MODULE := $(AROSDIR)/$(kernel-hidd-pci_MODDIR)/$(kernel-hidd-pci_DEFNAME).$(kernel-hidd-pci_SUFFIX) +endif +kernel-hidd-pci_KOBJ := $(KOBJSDIR)/$(kernel-hidd-pci_DEFNAME)_$(kernel-hidd-pci_SUFFIX).o +else +kernel-hidd-pci_MODULE := +kernel-hidd-pci_KOBJ := +endif + +kernel-hidd-pci-quick : kernel-hidd-pci +kernel-hidd-pci : $(kernel-hidd-pci_MODULE) $(kernel-hidd-pci_LINKLIB) $(kernel-hidd-pci_RELLINKLIB) +ifeq (M,M) +kernel-hidd-pci-kobj : $(kernel-hidd-pci_KOBJ) $(kernel-hidd-pci_LINKLIB) $(kernel-hidd-pci_RELLINKLIB) +kernel-hidd-pci-kobj-quick : $(kernel-hidd-pci_KOBJ) $(kernel-hidd-pci_LINKLIB) $(kernel-hidd-pci_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-pci-linklib : $(kernel-hidd-pci_LINKLIB) $(kernel-hidd-pci_RELLINKLIB) +endif + +kernel-hidd-pci_OBJS := $(addsuffix .o,$(kernel-hidd-pci_STARTFILES)) $(kernel-hidd-pci_ARCHOBJS) \ + $(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(kernel-hidd-pci_C_NARCHFILES:=.o) $(kernel-hidd-pci_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-pci_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (pci,con) + kernel-hidd-pci_ERR := $(notdir $(kernel-hidd-pci_MODULE)).err +else + kernel-hidd-pci_ERR := pci.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-pci_DEFNAME)_LDFLAGS) $(kernel-hidd-pci_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-pci_LIBS) $($(kernel-hidd-pci_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-pci_MODULE) : LIB_NAMES := $(kernel-hidd-pci_LIBS) $($(kernel-hidd-pci_DEFNAME)_LIBS) +$(kernel-hidd-pci_MODULE) : OBJS := $(kernel-hidd-pci_STARTOBJS) $(kernel-hidd-pci_OBJS) $(USER_OBJS) +$(kernel-hidd-pci_MODULE) : ENDTAG := $(kernel-hidd-pci_ENDOBJS) +$(kernel-hidd-pci_MODULE) : ERR := $(kernel-hidd-pci_ERR) +$(kernel-hidd-pci_MODULE) : OBJDIR := $(kernel-hidd-pci_OBJDIR) +$(kernel-hidd-pci_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-pci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-pci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-pci_MODULE) : $(kernel-hidd-pci_STARTOBJS) $(kernel-hidd-pci_OBJS) $(USER_OBJS) $(kernel-hidd-pci_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-pci_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-pci_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-pci_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-pci_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-pci_LC_MODNAME := $(shell echo pci | tr A-Z a-z) +ifneq ($(kernel-hidd-pci_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(HOST_AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(KERNEL_AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)$(kernel-hidd-pci_LIBSUFFIX).a : $(kernel-hidd-pci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-pci_AR) $@ $^ + $(Q)$(kernel-hidd-pci_RANLIB) $@ +ifneq ($(kernel-hidd-pci_LC_MODNAME),$(kernel-hidd-pci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-pci_LIBDIR)/libpci$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(AR) +$(kernel-hidd-pci_LIBDIR)/libpci$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-pci_LIBDIR)/libpci$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(HOST_AR) +$(kernel-hidd-pci_LIBDIR)/libpci$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-pci_LIBDIR)/libpci$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(KERNEL_AR) +$(kernel-hidd-pci_LIBDIR)/libpci$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-pci_LIBDIR)/libpci$(kernel-hidd-pci_LIBSUFFIX).a : $(kernel-hidd-pci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-pci_AR) $@ $^ + $(Q)$(kernel-hidd-pci_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-pci_LINKLIB),) +$(kernel-hidd-pci_LINKLIB) : | $(kernel-hidd-pci_LIBDIR) +else +$(kernel-hidd-pci_LINKLIB) :: $(kernel-hidd-pci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-pci_LIBDIR) + +endif + +ifneq ($(kernel-hidd-pci_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(HOST_AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(KERNEL_AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_LINKLIBNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : $(kernel-hidd-pci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-pci_AR) $@ $^ + $(Q)$(kernel-hidd-pci_RANLIB) $@ +ifneq ($(kernel-hidd-pci_LC_MODNAME),$(kernel-hidd-pci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_DEFNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_DEFNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_DEFNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(HOST_AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_DEFNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_DEFNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_AR:=$(KERNEL_AR) +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_DEFNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : kernel-hidd-pci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-pci_LIBDIR)/lib$(kernel-hidd-pci_DEFNAME)_rel$(kernel-hidd-pci_LIBSUFFIX).a : $(kernel-hidd-pci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-pci_AR) $@ $^ + $(Q)$(kernel-hidd-pci_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-pci_RELLINKLIB),) +$(kernel-hidd-pci_RELLINKLIB) : | $(kernel-hidd-pci_LIBDIR) +else +$(kernel-hidd-pci_RELLINKLIB) :: $(kernel-hidd-pci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-pci_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-pci_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-pci_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-pci_SYMBOLS := $(kernel-hidd-pci_KBASE) + +kernel-hidd-pci_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-pci_KOBJ_LIBS := $(filter-out $(kernel-hidd-pci_KLIB),$(kernel-hidd-pci_LIBS)) $(kernel-hidd-pci_KAUTOLIB) +$(kernel-hidd-pci_KOBJ) : LINKLIBS:=$(kernel-hidd-pci_KOBJ_LIBS) $($(kernel-hidd-pci_DEFNAME)_LIBS) +$(kernel-hidd-pci_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-pci_SYMBOLS)) +$(kernel-hidd-pci_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-pci_KOBJ) : $(kernel-hidd-pci_OBJS) $(USER_OBJS) $(kernel-hidd-pci_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-pci_DEPS := $(addprefix $(kernel-hidd-pci_OBJDIR)/,$(notdir $(kernel-hidd-pci_CCFILES:=.d) $(kernel-hidd-pci_TARGETCCFILES:=.d) $(kernel-hidd-pci_CXXFILES:=.d))) $(addprefix $(kernel-hidd-pci_OBJDIR)/linklib/,$(notdir $(kernel-hidd-pci_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-pci_DEPS),) + ifneq (kernel-hidd-pci kernel-hidd-pci-quick kernel-hidd-pci-kobj kernel-hidd-pci-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-pci kernel-hidd-pci-quick kernel-hidd-pci-kobj kernel-hidd-pci-kobj-quick),) + -include $(kernel-hidd-pci_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-pci_DEPS) + endif + endif +endif + +$(kernel-hidd-pci_OBJS) $(kernel-hidd-pci_DEPS) : | $(kernel-hidd-pci_OBJDIR)/linklib + +ifneq ($(kernel-hidd-pci_OBJS) $(kernel-hidd-pci_DEPS) $(kernel-hidd-pci_MODULE) $(kernel-hidd-pci_KOBJ),) +$(kernel-hidd-pci_OBJS) $(kernel-hidd-pci_DEPS) $(kernel-hidd-pci_MODULE) $(kernel-hidd-pci_KOBJ) : | $(kernel-hidd-pci_OBJDIR) $(AROSDIR)/$(kernel-hidd-pci_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-pci_OBJS) $(kernel-hidd-pci_DEPS) $(kernel-hidd-pci_MODULE) $(kernel-hidd-pci_KOBJ) :: $(kernel-hidd-pci_OBJDIR) $(AROSDIR)/$(kernel-hidd-pci_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-pci_OBJDIR) $(AROSDIR)/$(kernel-hidd-pci_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-pci kernel-hidd-pci-includes kernel-hidd-pci-quick kernel-hidd-pci-kobj kernel-hidd-pci-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-pci_DFILE_DEPS := $(kernel-hidd-pci_LIBDEFSINC) $(kernel-hidd-pci_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-pci_INCDIR)/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) +$(kernel-hidd-pci_DEPS) : $(kernel-hidd-pci_DFILE_DEPS) +endif + +kernel-hidd-pci_TOCLEAN := $(kernel-hidd-pci_OBJS) $(kernel-hidd-pci_DEPS) \ + $(kernel-hidd-pci_MODULE) $(kernel-hidd-pci_LINKLIB) $(kernel-hidd-pci_KOBJ) \ + $(kernel-hidd-pci_OBJDIR)/Makefile.pcihidd \ + $(addprefix $(kernel-hidd-pci_OBJDIR)/include/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-pci_INCDIR)/,$($(kernel-hidd-pci_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-pci_OBJDIR)/pci_geninc $(kernel-hidd-pci_OBJDIR)/pci_incs \ + $(addsuffix .c,$(kernel-hidd-pci_LINKLIBFILES)) $(kernel-hidd-pci_LINKLIBOBJS) $(kernel-hidd-pci_LIBDEFSINC) \ + $(kernel-hidd-pci_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-pci_STARTFILES) $(kernel-hidd-pci_ENDFILES)) \ + $(kernel-hidd-pci_ENDOBJS) +kernel-hidd-pci-clean : FILES := $(kernel-hidd-pci_TOCLEAN) +kernel-hidd-pci-clean :: + $(Q)$(ECHO) "Cleaning up for module pci" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-pci_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/pci/pcitool/catalogs/mmakefile b/rom/hidds/pci/pcitool/catalogs/mmakefile new file mode 100644 index 00000000000..a17d35673c7 --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/mmakefile @@ -0,0 +1,76 @@ +# Copyright © 2003-2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=german +# other catalogs need update to version 2 + + +ifeq (,) +debug-tools-pcitool-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +debug-tools-pcitool-catalogs_DESC := +endif + +debug-tools-pcitool-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +debug-tools-pcitool-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +debug-tools-pcitool-catalogs_LNGS := $(CATALOGS) +endif + +debug-tools-pcitool-catalogs_OBJS := $(addsuffix /System/Tools//PCITool.catalog, $(addprefix $(AROS_CATALOGS)/, $(debug-tools-pcitool-catalogs_LNGS))) +debug-tools-pcitool-catalogs_DIRS := $(addsuffix /System/Tools/, $(addprefix $(AROS_CATALOGS)/, $(debug-tools-pcitool-catalogs_LNGS))) $(dir ../strings.h) + +#MM- debug-tools-pcitool-catalogs-quick : debug-tools-pcitool-catalogs + +#MM +debug-tools-pcitool-catalogs : $(debug-tools-pcitool-catalogs_OBJS) ../strings.h + + +ifneq ($(debug-tools-pcitool-catalogs_OBJS),) +$(debug-tools-pcitool-catalogs_OBJS) : | $(debug-tools-pcitool-catalogs_DIRS) +else +$(debug-tools-pcitool-catalogs_OBJS) :: $(debug-tools-pcitool-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(debug-tools-pcitool-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Tools//PCITool.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(debug-tools-pcitool-catalogs_DESC).cd + $(Q)$(ECHO) "Creating PCITool catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(debug-tools-pcitool-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//PCITool.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(debug-tools-pcitool-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//PCITool.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(debug-tools-pcitool-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//PCITool.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : debug-tools-pcitool-catalogs_DESC := $(debug-tools-pcitool-catalogs_DESC) +../strings.h : debug-tools-pcitool-catalogs_SRC := $(debug-tools-pcitool-catalogs_SRC) +../strings.h : $(debug-tools-pcitool-catalogs_DESC).cd $(debug-tools-pcitool-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating PCITool catalog source file $@" + $(Q)$(FLEXCAT) $(debug-tools-pcitool-catalogs_DESC).cd $@=$(debug-tools-pcitool-catalogs_SRC).sd +endif + +debug-tools-pcitool-catalogs-clean : FILES := $(debug-tools-pcitool-catalogs_OBJS) ../strings.h +#MM +debug-tools-pcitool-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget debug-tools-pcitool-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: debug-tools-pcitool-catalogs debug-tools-pcitool-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/pci/pcitool/mmakefile b/rom/hidds/pci/pcitool/mmakefile new file mode 100644 index 00000000000..be0d69186fb --- /dev/null +++ b/rom/hidds/pci/pcitool/mmakefile @@ -0,0 +1,635 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES = main pciids support locale saveinfo + +EXEDIR = $(AROS_DEBUG)/Hardware + +#MM- debug-tools : debug-tools-pcitool +#MM debug-tools-pcitool : includes symlinks \ +#MM debug-tools-pcitool-catalogs + + + +.PHONY : debug-tools-pcitool + +debug-tools-pcitool_PROGNAME := PCITool +debug-tools-pcitool_OBJDIR := $(GENDIR)/$(CURDIR) +debug-tools-pcitool_TARGETDIR := $(EXEDIR) +debug-tools-pcitool_LINKER := +debug-tools-pcitool_LIBS := hiddstubs +# If not supplied, linker is equal to compiler +ifeq ($(debug-tools-pcitool_LINKER),) + debug-tools-pcitool_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + debug-tools-pcitool_FILES := $(FILES) + debug-tools-pcitool_OBJCFILES := + debug-tools-pcitool_ASMFILES := + debug-tools-pcitool_CXXFILES := +else + debug-tools-pcitool_FILES := $(debug-tools-pcitool_PROGNAME) + debug-tools-pcitool_OBJCFILES := + debug-tools-pcitool_ASMFILES := + debug-tools-pcitool_CXXFILES := +endif + +debug-tools-pcitool_ARCHOBJS := $(wildcard $(debug-tools-pcitool_OBJDIR)/arch/*.o) +debug-tools-pcitool_ARCHFILES := $(basename $(notdir $(debug-tools-pcitool_ARCHOBJS))) +debug-tools-pcitool_C_NARCHFILES := $(filter-out $(debug-tools-pcitool_ARCHFILES),$(debug-tools-pcitool_FILES)) +debug-tools-pcitool_CXX_NARCHFILES := $(filter-out $(debug-tools-pcitool_ARCHFILES),$(debug-tools-pcitool_CXXFILES)) +debug-tools-pcitool_OBJC_NARCHFILES := $(filter-out $(debug-tools-pcitool_ARCHFILES),$(debug-tools-pcitool_OBJCFILES)) + +TMP_FILES := $(debug-tools-pcitool_C_NARCHFILES) $(debug-tools-pcitool_CXX_NARCHFILES) $(debug-tools-pcitool_ASMFILES) $(debug-tools-pcitool_OBJC_NARCHFILES) +debug-tools-pcitool_OBJS := $(addsuffix .o,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(notdir $(TMP_FILES)))) +debug-tools-pcitool_DEPS := $(addsuffix .d,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(notdir $(TMP_FILES)))) + +debug-tools-pcitool_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +debug-tools-pcitool_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-pcitool_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +debug-tools-pcitool_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +debug-tools-pcitool_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +debug-tools-pcitool_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-pcitool_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +debug-tools-pcitool_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +debug-tools-pcitool_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +debug-tools-pcitool_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +debug-tools-pcitool_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +debug-tools-pcitool_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +debug-tools-pcitool_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +debug-tools-pcitool_LDFLAGS := +endif + +debug-tools-pcitool_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +debug-tools-pcitool_COVERAGE := yes +debug-tools-pcitool_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +debug-tools-pcitool_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +debug-tools-pcitool_CFLAGS := $(strip $(debug-tools-pcitool_COVERAGEFLAGS) $(debug-tools-pcitool_CFLAGS)) +debug-tools-pcitool_CXXFLAGS := $(strip $(debug-tools-pcitool_COVERAGEFLAGS) $(debug-tools-pcitool_CXXFLAGS)) +debug-tools-pcitool_LIBS += $(debug-tools-pcitool_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +debug-tools-pcitool_FUNCINSTR := yes +debug-tools-pcitool_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +debug-tools-pcitool_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +debug-tools-pcitool_CFLAGS := $(strip $(debug-tools-pcitool_INSTRFUNCFLAGS) $(debug-tools-pcitool_CFLAGS)) +debug-tools-pcitool_CXXFLAGS := $(strip $(debug-tools-pcitool_INSTRFUNCFLAGS) $(debug-tools-pcitool_CXXFLAGS)) +debug-tools-pcitool_LIBS += $(debug-tools-pcitool_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +debug-tools-pcitool_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(debug-tools-pcitool_CFLAGS)) +debug-tools-pcitool_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(debug-tools-pcitool_CXXFLAGS)) +endif +endif +debug-tools-pcitool_AFLAGS := $(AFLAGS) +ifneq (,) + debug-tools-pcitool_DFLAGS := +else + debug-tools-pcitool_DFLAGS := $(debug-tools-pcitool_CFLAGS) +endif +ifneq (,) + debug-tools-pcitool_DXXFLAGS := +else + debug-tools-pcitool_DXXFLAGS := $(debug-tools-pcitool_CXXFLAGS) +endif +ifeq (target,target) +debug-tools-pcitool_LDFLAGS := $(debug-tools-pcitool_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +debug-tools-pcitool_LDFLAGS := $(debug-tools-pcitool_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +debug-tools-pcitool_LDFLAGS := $(debug-tools-pcitool_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +debug-tools-pcitool_LDFLAGS += -L +endif + +#MM +debug-tools-pcitool-quick : debug-tools-pcitool + +#MM debug-tools-pcitool : includes-generate-deps core-linklibs +debug-tools-pcitool : $(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) + +ifneq ($(filter $(TARGET),debug-tools-pcitool debug-tools-pcitool-quick debug-tools-pcitool-gz-quick),) + +debug-tools-pcitool_CXXABSBASENAMES := $(foreach debug-tools-pcitool_CXXBASE,$(debug-tools-pcitool_CXX_NARCHFILES),$(if $(filter /%,$(debug-tools-pcitool_CXXBASE)),$(debug-tools-pcitool_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(debug-tools-pcitool_CXXBASE)))) + +ifneq ($(debug-tools-pcitool_CXXABSBASENAMES),) + +debug-tools-pcitool_CXXBASENAMES := $(basename $(debug-tools-pcitool_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +debug-tools-pcitool_MCXX_FILES := $(strip $(foreach debug-tools-pcitool_CXXBASE,$(debug-tools-pcitool_CXXABSBASENAMES), $(firstword $(wildcard $(foreach debug-tools-pcitool_EXT, $(AROS_CXXEXTS),$(addsuffix .$(debug-tools-pcitool_EXT),$(debug-tools-pcitool_CXXBASE))))))) + +ifeq (,) +debug-tools-pcitool_MCXX_SRCWILDCARD := % +else +debug-tools-pcitool_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-pcitool_OBJDIR),) + debug-tools-pcitool_CXXTARGETS := $(notdir $(debug-tools-pcitool_CXXBASENAMES:=.o)) + debug-tools-pcitool_CXXDTARGETS := $(notdir $(debug-tools-pcitool_CXXBASENAMES:=.d)) + debug-tools-pcitool_MCXX_WILDCARD := % +else + debug-tools-pcitool_CXXTARGETS := $(addprefix $(debug-tools-pcitool_OBJDIR)/,$(notdir $(debug-tools-pcitool_CXXBASENAMES:=.o))) + debug-tools-pcitool_CXXDTARGETS := $(addprefix $(debug-tools-pcitool_OBJDIR)/,$(notdir $(debug-tools-pcitool_CXXBASENAMES:=.d))) + debug-tools-pcitool_MCXX_WILDCARD := $(debug-tools-pcitool_OBJDIR)/% + + # Be sure that all source files are generated + $(debug-tools-pcitool_CXXTARGETS) $(debug-tools-pcitool_CXXDTARGETS) : | $(debug-tools-pcitool_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +debug-tools-pcitool_MCXX_CPPFLAGS := $(debug-tools-pcitool_CPPFLAGS) +debug-tools-pcitool_CXXFLAGS := $(debug-tools-pcitool_CXXFLAGS) +ifeq ($(debug-tools-pcitool_DXXFLAGS),) + debug-tools-pcitool_DXXFLAGS := $(debug-tools-pcitool_CXXFLAGS) +else + debug-tools-pcitool_DXXFLAGS := $(debug-tools-pcitool_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + debug-tools-pcitool_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + debug-tools-pcitool_STRIP ?= $(HOST_STRIP) + debug-tools-pcitool_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + debug-tools-pcitool_CXXCMD:=$(HOST_CXX) + debug-tools-pcitool_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(debug-tools-pcitool_MCXX_CPPFLAGS) $(debug-tools-pcitool_MCXX_EXTRA_CPPFLAGS)) + debug-tools-pcitool_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(debug-tools-pcitool_CXXFLAGS)) + debug-tools-pcitool_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(debug-tools-pcitool_DXXFLAGS)) + debug-tools-pcitool_CXXIQUOTE:=$(HOST_IQUOTE) + debug-tools-pcitool_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + debug-tools-pcitool_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + debug-tools-pcitool_STRIP ?= $(TARGET_STRIP) + debug-tools-pcitool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + debug-tools-pcitool_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + debug-tools-pcitool_MCXX_CPPFLAGS := $(strip $(debug-tools-pcitool_MCXX_CPPFLAGS) $(debug-tools-pcitool_MCXX_EXTRA_CPPFLAGS)) + debug-tools-pcitool_CXXFLAGS := $(strip $(debug-tools-pcitool_CXXFLAGS) $(SAFETY_CFLAGS)) + debug-tools-pcitool_DXXFLAGS := $(debug-tools-pcitool_DXXFLAGS) + debug-tools-pcitool_CXXIQUOTE:=$(CFLAGS_IQUOTE) + debug-tools-pcitool_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + debug-tools-pcitool_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + debug-tools-pcitool_STRIP ?= $(ECHO) >/dev/null + debug-tools-pcitool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + debug-tools-pcitool_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + debug-tools-pcitool_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(debug-tools-pcitool_MCXX_CPPFLAGS) $(debug-tools-pcitool_MCXX_EXTRA_CPPFLAGS)) + debug-tools-pcitool_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(debug-tools-pcitool_CXXFLAGS)) + debug-tools-pcitool_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(debug-tools-pcitool_DXXFLAGS)) + debug-tools-pcitool_CXXIQUOTE:=$(KERNEL_IQUOTE) + debug-tools-pcitool_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(debug-tools-pcitool_CXXCMD) $(debug-tools-pcitool_CXXIQUOTE) $(dir $(2)) $(debug-tools-pcitool_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_CXXIQUOTE) . $(debug-tools-pcitool_CXXIQUOTE_END) $(strip $(debug-tools-pcitool_CXXFLAGS) $(debug-tools-pcitool_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(debug-tools-pcitool_CXXCMD) $(debug-tools-pcitool_CXXIQUOTE) $(dir $(2)) $(debug-tools-pcitool_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_CXXIQUOTE) . $(debug-tools-pcitool_CXXIQUOTE_END) $(strip $(debug-tools-pcitool_CXXFLAGS) $(debug-tools-pcitool_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(debug-tools-pcitool_CXXCMD) $(debug-tools-pcitool_CXXIQUOTE) $(dir $(2)) $(debug-tools-pcitool_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_CXXIQUOTE) . $(debug-tools-pcitool_CXXIQUOTE_END) $(strip $(debug-tools-pcitool_CXXFLAGS) $(debug-tools-pcitool_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(debug-tools-pcitool_CXXCMD)" $(MKDEPEND) $(strip $(debug-tools-pcitool_DXXFLAGS) $(debug-tools-pcitool_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(debug-tools-pcitool_OBJDIR),) + $(foreach debug-tools-pcitool_CXXFILE,$(debug-tools-pcitool_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(debug-tools-pcitool_CXXFILE))),$(debug-tools-pcitool_CXXFILE)))) +else + $(foreach debug-tools-pcitool_CXXFILE,$(debug-tools-pcitool_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(notdir $(basename $(debug-tools-pcitool_CXXFILE)))),$(debug-tools-pcitool_CXXFILE)))) +endif + +endif + + +ifneq ($(debug-tools-pcitool_OBJC_NARCHFILES),) + +ifeq (,) +debug-tools-pcitool_MOBJC_SRCWILDCARD := % +else +debug-tools-pcitool_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-pcitool_OBJDIR),) + debug-tools-pcitool_MOBJC_TARGETS := $(addsuffix .o,$(debug-tools-pcitool_OBJC_NARCHFILES)) + debug-tools-pcitool_MOBJC_DTARGETS := $(addsuffix .d,$(debug-tools-pcitool_OBJC_NARCHFILES)) + debug-tools-pcitool_MOBJC_WILDCARD := % +else + debug-tools-pcitool_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(debug-tools-pcitool_OBJC_NARCHFILES))) + debug-tools-pcitool_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(debug-tools-pcitool_OBJC_NARCHFILES))) + debug-tools-pcitool_MOBJC_WILDCARD := $(debug-tools-pcitool_OBJDIR)/% + + # Be sure that all .m files are generated + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : | $(addsuffix .m,$(debug-tools-pcitool_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + debug-tools-pcitool_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + debug-tools-pcitool_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-pcitool_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + debug-tools-pcitool_MOBJC_DIRS := $(foreach dir, $(debug-tools-pcitool_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-pcitool_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(debug-tools-pcitool_MOBJC_DIRS),) + debug-tools-pcitool_MOBJC_DIRS := $(shell echo $(debug-tools-pcitool_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(debug-tools-pcitool_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + debug-tools-pcitool_CC := $(TARGET_CC) +else + debug-tools-pcitool_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +debug-tools-pcitool_MOBJC_CPPFLAGS := $(debug-tools-pcitool_CPPFLAGS) +debug-tools-pcitool_OBJCFLAGS := $(debug-tools-pcitool_CFLAGS) +debug-tools-pcitool_OBJCFLAGS := $(debug-tools-pcitool_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +debug-tools-pcitool_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(debug-tools-pcitool_OBJCFLAGS))) +ifeq ($(debug-tools-pcitool_DFLAGS),) + debug-tools-pcitool_OBJCDFLAGS := $(debug-tools-pcitool_CFLAGS) +else + debug-tools-pcitool_OBJCDFLAGS := $(debug-tools-pcitool_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + debug-tools-pcitool_LINK ?= $(strip $(debug-tools-pcitool_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + debug-tools-pcitool_STRIP ?= $(TARGET_STRIP) + debug-tools-pcitool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : CMD:=$(strip $(debug-tools-pcitool_CC) $(TARGET_SYSROOT)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_MOBJC_CPPFLAGS:=$(strip $(debug-tools-pcitool_MOBJC_CPPFLAGS) $(debug-tools-pcitool_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_OBJCFLAGS:=$(strip $(debug-tools-pcitool_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_OBJCDFLAGS:=$(debug-tools-pcitool_OBJCDFLAGS) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_IQUOTE:=$(CFLAGS_IQUOTE) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + debug-tools-pcitool_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + debug-tools-pcitool_STRIP ?= $(HOST_STRIP) + debug-tools-pcitool_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(debug-tools-pcitool_MOBJC_CPPFLAGS) $(debug-tools-pcitool_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-pcitool_OBJCFLAGS)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-pcitool_OBJCDFLAGS)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_IQUOTE:=$(HOST_IQUOTE) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + debug-tools-pcitool_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + debug-tools-pcitool_STRIP ?= $(ECHO) >/dev/null + debug-tools-pcitool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(debug-tools-pcitool_MOBJC_CPPFLAGS) $(debug-tools-pcitool_MOBJC_EXTRA_CPPFLAGS)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-pcitool_OBJCFLAGS)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-pcitool_OBJCDFLAGS)) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_IQUOTE:=$(KERNEL_IQUOTE) + $(debug-tools-pcitool_MOBJC_TARGETS) $(debug-tools-pcitool_MOBJC_DTARGETS) : debug-tools-pcitool_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(debug-tools-pcitool_MOBJC_TARGETS) : CPPFLAGS := $(debug-tools-pcitool_MOBJC_CPPFLAGS) +$(debug-tools-pcitool_MOBJC_TARGETS) : CFLAGS := $(debug-tools-pcitool_OBJCFLAGS) +$(debug-tools-pcitool_MOBJC_TARGETS) : $(debug-tools-pcitool_MOBJC_WILDCARD).o : $(debug-tools-pcitool_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(debug-tools-pcitool_IQUOTE) $(dir $<) $(debug-tools-pcitool_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_IQUOTE) . $(debug-tools-pcitool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(debug-tools-pcitool_IQUOTE) $(dir $<) $(debug-tools-pcitool_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_IQUOTE) . $(debug-tools-pcitool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(debug-tools-pcitool_IQUOTE) $(dir $<) $(debug-tools-pcitool_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_IQUOTE) . $(debug-tools-pcitool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(debug-tools-pcitool_MOBJC_DTARGETS) : $(debug-tools-pcitool_MOBJC_WILDCARD).d : $(debug-tools-pcitool_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(debug-tools-pcitool_OBJCDFLAGS) $(debug-tools-pcitool_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +debug-tools-pcitool_MC_SRCWILDCARD := % +else +debug-tools-pcitool_MC_SRCWILDCARD := /% +endif + +ifeq ($(debug-tools-pcitool_OBJDIR),) +debug-tools-pcitool_MC_TARGETS := $(addsuffix .o,$(debug-tools-pcitool_C_NARCHFILES)) +debug-tools-pcitool_MC_DTARGETS := $(addsuffix .d,$(debug-tools-pcitool_C_NARCHFILES)) +debug-tools-pcitool_MC_TGTWILDCARD := % +else +ifeq (no,no) + debug-tools-pcitool_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(notdir $(debug-tools-pcitool_C_NARCHFILES)))) + debug-tools-pcitool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(notdir $(debug-tools-pcitool_C_NARCHFILES)))) +else +ifeq (,) + debug-tools-pcitool_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(debug-tools-pcitool_C_NARCHFILES))) + debug-tools-pcitool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(debug-tools-pcitool_C_NARCHFILES))) +else + debug-tools-pcitool_MC_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(patsubst /%,%,$(debug-tools-pcitool_C_NARCHFILES)))) + debug-tools-pcitool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(patsubst /%,%,$(debug-tools-pcitool_C_NARCHFILES)))) +endif +endif +debug-tools-pcitool_MC_TGTWILDCARD := $(debug-tools-pcitool_OBJDIR)/% + +# Be sure that all .c files are generated +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : | $(addsuffix .c,$(debug-tools-pcitool_C_NARCHFILES)) + +# Be sure that all .c files are found +debug-tools-pcitool_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +debug-tools-pcitool_MC_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-pcitool_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +debug-tools-pcitool_MC_DIRS := $(foreach dir, $(debug-tools-pcitool_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-pcitool_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(debug-tools-pcitool_MC_DIRS),) + debug-tools-pcitool_MC_DIRS := $(shell echo $(debug-tools-pcitool_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(debug-tools-pcitool_MC_DIRS) +endif + +endif + +debug-tools-pcitool_MC_CPPFLAGS := $(debug-tools-pcitool_CPPFLAGS) +debug-tools-pcitool_CFLAGS := $(debug-tools-pcitool_CFLAGS) +ifeq ($(debug-tools-pcitool_DFLAGS),) + debug-tools-pcitool_DFLAGS := $(debug-tools-pcitool_CFLAGS) +else + debug-tools-pcitool_DFLAGS := $(debug-tools-pcitool_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +debug-tools-pcitool_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +debug-tools-pcitool_STRIP ?= $(TARGET_STRIP) +debug-tools-pcitool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_MC_CPPFLAGS:=$(strip $(debug-tools-pcitool_MC_CPPFLAGS) $(debug-tools-pcitool_MC_EXTRA_CPPFLAGS)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_CFLAGS:=$(strip $(debug-tools-pcitool_CFLAGS) $(SAFETY_CFLAGS)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_DFLAGS:=$(debug-tools-pcitool_DFLAGS) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_IQUOTE:=$(CFLAGS_IQUOTE) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +debug-tools-pcitool_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +debug-tools-pcitool_STRIP ?= $(HOST_STRIP) +debug-tools-pcitool_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : CMD:=$(HOST_CC) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(debug-tools-pcitool_MC_CPPFLAGS) $(debug-tools-pcitool_MC_EXTRA_CPPFLAGS)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_CFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-pcitool_CFLAGS)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_DFLAGS:=$(strip $(HOST_CFLAGS) $(debug-tools-pcitool_DFLAGS)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_IQUOTE:=$(HOST_IQUOTE) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +debug-tools-pcitool_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +debug-tools-pcitool_STRIP ?= $(ECHO) >/dev/null +debug-tools-pcitool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(debug-tools-pcitool_MC_CPPFLAGS) $(debug-tools-pcitool_MC_EXTRA_CPPFLAGS)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-pcitool_CFLAGS)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(debug-tools-pcitool_DFLAGS)) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_IQUOTE:=$(KERNEL_IQUOTE) +$(debug-tools-pcitool_MC_TARGETS) $(debug-tools-pcitool_MC_DTARGETS) : debug-tools-pcitool_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(debug-tools-pcitool_MC_TARGETS) : CPPFLAGS := $(debug-tools-pcitool_MC_CPPFLAGS) +$(debug-tools-pcitool_MC_TARGETS) : CFLAGS := $(debug-tools-pcitool_CFLAGS) +$(debug-tools-pcitool_MC_TARGETS) : $(debug-tools-pcitool_MC_TGTWILDCARD).o : $(debug-tools-pcitool_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(debug-tools-pcitool_IQUOTE) $(dir $<) $(debug-tools-pcitool_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_IQUOTE) . $(debug-tools-pcitool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(debug-tools-pcitool_IQUOTE) $(dir $<) $(debug-tools-pcitool_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_IQUOTE) . $(debug-tools-pcitool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(debug-tools-pcitool_IQUOTE) $(dir $<) $(debug-tools-pcitool_IQUOTE) $(SRCDIR)/$(CURDIR) $(debug-tools-pcitool_IQUOTE) . $(debug-tools-pcitool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(debug-tools-pcitool_MC_DTARGETS) : $(debug-tools-pcitool_MC_TGTWILDCARD).d : $(debug-tools-pcitool_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(debug-tools-pcitool_DFLAGS) $(debug-tools-pcitool_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(debug-tools-pcitool_OBJDIR),) +debug-tools-pcitool-MA_TARGETS := $(addsuffix .o,$(debug-tools-pcitool_ASMFILES)) +debug-tools-pcitool-MA_WILDCARD := % +else +debug-tools-pcitool-MA_TARGETS := $(addsuffix .o,$(addprefix $(debug-tools-pcitool_OBJDIR)/,$(notdir $(debug-tools-pcitool_ASMFILES)))) +debug-tools-pcitool-MA_WILDCARD := $(debug-tools-pcitool_OBJDIR)/% + +# Be sure that all .s files are generated +$(debug-tools-pcitool-MA_TARGETS) : | $(addsuffix .s,$(debug-tools-pcitool_ASMFILES)) + +# Be sure that all .c files are found +debug-tools-pcitool-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +debug-tools-pcitool-MA_BASEDIRS := $(shell echo $(sort $(dir $(debug-tools-pcitool_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +debug-tools-pcitool-MA_DIRS := $(foreach dir, $(debug-tools-pcitool-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(debug-tools-pcitool-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(debug-tools-pcitool-MA_DIRS),) + debug-tools-pcitool-MA_DIRS := $(shell echo $(debug-tools-pcitool-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(debug-tools-pcitool-MA_DIRS) +endif + +endif + +debug-tools-pcitool-MA_ASSEMBLER ?= $(debug-tools-pcitool_ASSEMBLER) + +$(debug-tools-pcitool-MA_TARGETS) : debug-tools-pcitool-MA_CMD:= $(debug-tools-pcitool-MA_ASSEMBLER) + +$(debug-tools-pcitool-MA_TARGETS) : CPPFLAGS := $(debug-tools-pcitool_CPPFLAGS) +$(debug-tools-pcitool-MA_TARGETS) : AFLAGS := $(debug-tools-pcitool_AFLAGS) +$(debug-tools-pcitool-MA_TARGETS) : $(debug-tools-pcitool-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(debug-tools-pcitool-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(debug-tools-pcitool-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(debug-tools-pcitool-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +debug-tools-pcitool-link_EXTRA_LDFLAGS := +debug-tools-pcitool-link_EXTRA_LIBS := +ifeq (no,yes) + debug-tools-pcitool-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + debug-tools-pcitool-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + debug-tools-pcitool-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +debug-tools-pcitool-link_DIRS := $(subst -L ,-L,$(strip $(debug-tools-pcitool_LDFLAGS))) +# Filter out only the libdirs and remove -L +debug-tools-pcitool-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(debug-tools-pcitool-link_DIRS))) +# Add trailing / +debug-tools-pcitool-link_DIRS := $(subst //,/,$(addsuffix /,$(debug-tools-pcitool-link_DIRS))) +# Add normal linklib path +debug-tools-pcitool-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +debug-tools-pcitool-link_LIBS := $(addprefix lib,$(addsuffix .a,$(debug-tools-pcitool_LIBS) $(debug-tools-pcitool-link_EXTRA_LIBS))) +ifeq (yes,yes) + debug-tools-pcitool-link_LIBS += startup.o +endif +ifeq (no,yes) + debug-tools-pcitool-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +debug-tools-pcitool-link_DEPLIBS := $(foreach lib,$(debug-tools-pcitool-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(debug-tools-pcitool-link_DIRS)))) \ +) + +$(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) : OBJDIR := $(debug-tools-pcitool_OBJDIR) +$(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) : OBJS := $(debug-tools-pcitool_OBJS) $(debug-tools-pcitool_ARCHOBJS) $(USER_OBJS) +$(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) : LDFLAGS := $(strip $(debug-tools-pcitool_LDFLAGS) $(debug-tools-pcitool-link_EXTRA_LDFLAGS)) +$(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) : LIBS := $(addprefix -l,$(debug-tools-pcitool_LIBS) $(debug-tools-pcitool-link_EXTRA_LIBS) ) +$(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) : $(debug-tools-pcitool_OBJS) $(debug-tools-pcitool_ARCHOBJS) $(USER_OBJS) $(debug-tools-pcitool-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(debug-tools-pcitool_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(debug-tools-pcitool_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(debug-tools-pcitool_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(debug-tools-pcitool_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(debug-tools-pcitool_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(debug-tools-pcitool_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(debug-tools-pcitool_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(debug-tools-pcitool_DEPS),) + ifneq (debug-tools-pcitool debug-tools-pcitool-quick,) + ifneq ($(findstring $(TARGET),debug-tools-pcitool debug-tools-pcitool-quick),) + -include $(debug-tools-pcitool_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(debug-tools-pcitool_DEPS) + endif + endif +endif + + +ifneq ($(debug-tools-pcitool_OBJS) $(debug-tools-pcitool_DEPS) $(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME),) +$(debug-tools-pcitool_OBJS) $(debug-tools-pcitool_DEPS) $(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) : | $(debug-tools-pcitool_OBJDIR) $(debug-tools-pcitool_TARGETDIR) +else +$(debug-tools-pcitool_OBJS) $(debug-tools-pcitool_DEPS) $(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) :: $(debug-tools-pcitool_OBJDIR) $(debug-tools-pcitool_TARGETDIR) +endif + +GLOB_MKDIRS += $(debug-tools-pcitool_OBJDIR) $(debug-tools-pcitool_TARGETDIR) + + +debug-tools-pcitool-clean : FILES := $(debug-tools-pcitool_OBJS) $(debug-tools-pcitool_TARGETDIR)/$(debug-tools-pcitool_PROGNAME) $(debug-tools-pcitool_DEPS) +#MM +debug-tools-pcitool-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget debug-tools-pcitool" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) + diff --git a/rom/hidds/scsi/wd33c93/mmakefile b/rom/hidds/scsi/wd33c93/mmakefile new file mode 100644 index 00000000000..756bd1fa414 --- /dev/null +++ b/rom/hidds/scsi/wd33c93/mmakefile @@ -0,0 +1,1666 @@ +#$Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + wd33c93_init \ + wd33c93_probe \ + wd33c93_busclass \ + wd33c93 + +USER_CPPFLAGS := -D__OOP_NOMETHODBASES__ -D__OOP_NOATTRBASES__ +#USER_CPPFLAGS += -DDEBUG +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-scsiwd33c93 +#MM kernel-hidd-scsiwd33c93-quick +#MM kernel-hidd-scsiwd33c93-makefile +#MM kernel-hidd-scsiwd33c93-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-scsiwd33c93-includes +#MM- linklibs-scsi_wd33c93: kernel-hidd-scsiwd33c93-linklib +#MM- linklibs-scsi_wd33c93_rel : kernel-hidd-scsiwd33c93-linklib +#MM- includes-scsi_wd33c93: kernel-hidd-scsiwd33c93-includes +#MM- includes-scsi_wd33c93_rel : kernel-hidd-scsiwd33c93-includes +#MM- kernel-hidd-scsiwd33c93 : kernel-hidd-scsiwd33c93-includes core-linklibs linklibs- +#MM kernel-hidd-scsiwd33c93-linklib : kernel-hidd-scsiwd33c93-includes includes- +#MM- kernel-hidd-scsiwd33c93-quick : kernel-hidd-scsiwd33c93-includes-quick +#MM kernel-hidd-scsiwd33c93-includes : kernel-hidd-scsiwd33c93-makefile kernel-hidd-scsiwd33c93-includes-dirs \ +#MM includes-generate-deps kernel-hidd-scsiwd33c93-fd +#MM kernel-hidd-scsiwd33c93-includes-quick +#MM kernel-hidd-scsiwd33c93-includes-dirs +#MM kernel-hidd-scsiwd33c93-fd + +# Library targets +#MM kernel-hidd-scsiwd33c93-kobj : core-linklibs linklibs- +#MM kernel-hidd-scsiwd33c93-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-scsiwd33c93-kobj : kernel-hidd-scsiwd33c93-includes core-linklibs linklibs- +#MM kernel-hidd-scsiwd33c93-kobj-quick : kernel-hidd-scsiwd33c93-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-scsiwd33c93_ALLTARGETS := kernel-hidd-scsiwd33c93 kernel-hidd-scsiwd33c93-quick kernel-hidd-scsiwd33c93-clean + +ifeq (M,M) +kernel-hidd-scsiwd33c93_ALLTARGETS += kernel-hidd-scsiwd33c93-kobj kernel-hidd-scsiwd33c93-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-scsiwd33c93_ALLTARGETS += kernel-hidd-scsiwd33c93-includes \ + kernel-hidd-scsiwd33c93-includes-quick kernel-hidd-scsiwd33c93-includes-dirs \ + kernel-hidd-scsiwd33c93-linklib kernel-hidd-scsiwd33c93-fd +endif + +.PHONY : $(kernel-hidd-scsiwd33c93_ALLTARGETS) kernel-hidd-scsiwd33c93-makefile + +ifeq (scsi_wd33c93,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-scsiwd33c93_DEFNAME := scsi_wd33c93_ +else + kernel-hidd-scsiwd33c93_DEFNAME := scsi_wd33c93 +endif +kernel-hidd-scsiwd33c93_DEFLINKLIBNAME := $(kernel-hidd-scsiwd33c93_DEFNAME) +ifneq (,) + kernel-hidd-scsiwd33c93_LINKLIBNAME := +else + kernel-hidd-scsiwd33c93_LINKLIBNAME = $(kernel-hidd-scsiwd33c93_DEFLINKLIBNAME) +endif +kernel-hidd-scsiwd33c93_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-scsiwd33c93_DEFCPPFLAGS += -I +endif +kernel-hidd-scsiwd33c93_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-scsiwd33c93_DFLAGS := +else + kernel-hidd-scsiwd33c93_DFLAGS = $(kernel-hidd-scsiwd33c93_DEFDFLAGS) +endif +kernel-hidd-scsiwd33c93_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-scsiwd33c93_DXXFLAGS := +else + kernel-hidd-scsiwd33c93_DXXFLAGS = $(kernel-hidd-scsiwd33c93_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-scsiwd33c93_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-scsiwd33c93_DEFDFLAGS)) +kernel-hidd-scsiwd33c93_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-scsiwd33c93_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-scsiwd33c93_FUNCINSTR := yes +kernel-hidd-scsiwd33c93_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-scsiwd33c93_DEFDFLAGS)) +kernel-hidd-scsiwd33c93_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-scsiwd33c93_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-scsiwd33c93_OBJDIR := +else +kernel-hidd-scsiwd33c93_OBJDIR := $(OBJDIR)/$(kernel-hidd-scsiwd33c93_DEFNAME) +endif +ifneq (,) +kernel-hidd-scsiwd33c93_OBJDIR := $(kernel-hidd-scsiwd33c93_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-scsiwd33c93-makefile := $(kernel-hidd-scsiwd33c93_OBJDIR)/Makefile.$(kernel-hidd-scsiwd33c93_DEFNAME)hidd +kernel-hidd-scsiwd33c93-genmakefile : $(kernel-hidd-scsiwd33c93-makefile) + + +kernel-hidd-scsiwd33c93-genmakefile_OPTS := +ifneq (,) + kernel-hidd-scsiwd33c93-genmakefile_OPTS += -f + kernel-hidd-scsiwd33c93-genmakefile_MODNAME := scsi_wd33c93_ +else + kernel-hidd-scsiwd33c93-genmakefile_MODNAME := scsi_wd33c93 +endif +kernel-hidd-scsiwd33c93-genmakefile_TARGET := Makefile.$(kernel-hidd-scsiwd33c93-genmakefile_MODNAME)hidd +kernel-hidd-scsiwd33c93-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-scsiwd33c93-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-scsiwd33c93-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-scsiwd33c93-genmakefile_OPTS += -c + kernel-hidd-scsiwd33c93-genmakefile_DEPS += + endif +else + kernel-hidd-scsiwd33c93-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf + kernel-hidd-scsiwd33c93-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-scsiwd33c93-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-scsiwd33c93-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-scsiwd33c93-genmakefile_OPTS += -o + kernel-hidd-scsiwd33c93-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-scsiwd33c93-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-scsiwd33c93_OBJDIR),) + kernel-hidd-scsiwd33c93-genmakefile_OPTS += -d $(kernel-hidd-scsiwd33c93_OBJDIR) + kernel-hidd-scsiwd33c93-genmakefile_TARGET := $(kernel-hidd-scsiwd33c93_OBJDIR)/$(kernel-hidd-scsiwd33c93-genmakefile_TARGET) +endif + +$(kernel-hidd-scsiwd33c93-genmakefile_TARGET) : OPTS := $(kernel-hidd-scsiwd33c93-genmakefile_OPTS) +$(kernel-hidd-scsiwd33c93-genmakefile_TARGET) : MODNAME := scsi_wd33c93 +$(kernel-hidd-scsiwd33c93-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-scsiwd33c93-genmakefile_TARGET) : $(kernel-hidd-scsiwd33c93-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-scsiwd33c93-makefile),) +$(kernel-hidd-scsiwd33c93-makefile) : | $(kernel-hidd-scsiwd33c93_OBJDIR) +else +$(kernel-hidd-scsiwd33c93-makefile) :: $(kernel-hidd-scsiwd33c93_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-scsiwd33c93_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-scsiwd33c93_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-scsiwd33c93-makefile) + +kernel-hidd-scsiwd33c93_DEFMODDIR := $($(kernel-hidd-scsiwd33c93_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-scsiwd33c93_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-scsiwd33c93_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-scsiwd33c93_MODDIR := +else + kernel-hidd-scsiwd33c93_MODDIR := $(kernel-hidd-scsiwd33c93_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-scsiwd33c93_INCDIR := +else +kernel-hidd-scsiwd33c93_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-scsiwd33c93_LIBDEFSINC := $(kernel-hidd-scsiwd33c93_OBJDIR)/include/$(kernel-hidd-scsiwd33c93_DEFNAME)_libdefs.h +kernel-hidd-scsiwd33c93_DEFLIBDEFSINC := $(kernel-hidd-scsiwd33c93_OBJDIR)/include/$(kernel-hidd-scsiwd33c93_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-scsiwd33c93-includes-quick : kernel-hidd-scsiwd33c93-includes +kernel-hidd-scsiwd33c93-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-scsiwd33c93_INCDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-scsiwd33c93_LIBDEFSINC) $(kernel-hidd-scsiwd33c93_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-scsiwd33c93-includes_MODNAME := scsi_wd33c93_ +else + kernel-hidd-scsiwd33c93-includes_MODNAME := scsi_wd33c93 +endif + +ifneq ($($(kernel-hidd-scsiwd33c93-includes_MODNAME)_INCLUDES),) + +kernel-hidd-scsiwd33c93-includes_TARGETS := $($(kernel-hidd-scsiwd33c93-includes_MODNAME)_INCLUDES) + +kernel-hidd-scsiwd33c93-includes_DEPS := $(GENMODULE) +kernel-hidd-scsiwd33c93-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-scsiwd33c93-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-scsiwd33c93-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-scsiwd33c93-includes_OPTS += -c + kernel-hidd-scsiwd33c93-includes_DEPS += + endif +else + kernel-hidd-scsiwd33c93-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf + kernel-hidd-scsiwd33c93-includes_DEPS += $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-scsiwd33c93-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-scsiwd33c93-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-scsiwd33c93-includes_OPTS += -o + kernel-hidd-scsiwd33c93-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-scsiwd33c93-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-scsiwd33c93_OBJDIR)/include,) + kernel-hidd-scsiwd33c93-includes_OPTS += -d $(kernel-hidd-scsiwd33c93_OBJDIR)/include + kernel-hidd-scsiwd33c93-includes_TARGETS := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/include/,$(kernel-hidd-scsiwd33c93-includes_TARGETS)) + kernel-hidd-scsiwd33c93-includes_GENINCFLAG=$(kernel-hidd-scsiwd33c93_OBJDIR)/include/.scsi_wd33c93.hidd-includes +else + kernel-hidd-scsiwd33c93-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.scsi_wd33c93.hidd-includes +endif + +$(kernel-hidd-scsiwd33c93-includes_TARGETS) : $(kernel-hidd-scsiwd33c93-includes_DEPS) $(kernel-hidd-scsiwd33c93-includes_GENINCFLAG) + +$(kernel-hidd-scsiwd33c93-includes_GENINCFLAG) : OPTS := $(kernel-hidd-scsiwd33c93-includes_OPTS) +$(kernel-hidd-scsiwd33c93-includes_GENINCFLAG) : MODNAME := scsi_wd33c93 +$(kernel-hidd-scsiwd33c93-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-scsiwd33c93-includes_GENINCFLAG) : $(kernel-hidd-scsiwd33c93-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-scsiwd33c93_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) : | $(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_geninc + +$(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_geninc : COPYSRCDIR := $(kernel-hidd-scsiwd33c93_OBJDIR)/include +$(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_geninc : FILES := $($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES) +$(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_geninc : $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/include/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-scsiwd33c93_OBJDIR)/include + +$(addprefix $(kernel-hidd-scsiwd33c93_INCDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) : | $(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_incs + +$(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_incs : COPYSRCDIR := $(kernel-hidd-scsiwd33c93_OBJDIR)/include +$(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_incs : TGTDIR := $(kernel-hidd-scsiwd33c93_INCDIR) +$(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_incs : FILES := $($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES) +$(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_incs : $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/include/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-scsiwd33c93_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)))) + +TMPscsi_wd33c93_INCDIRS := \ + $(kernel-hidd-scsiwd33c93_OBJDIR)/include $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/include/,$(kernel-hidd-scsiwd33c93_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-scsiwd33c93_INCDIRS)) \ + $(kernel-hidd-scsiwd33c93_INCDIR) $(addprefix $(kernel-hidd-scsiwd33c93_INCDIR)/,$(kernel-hidd-scsiwd33c93_INCDIRS)) + +ifneq (kernel-hidd-scsiwd33c93-includes-dirs,) +kernel-hidd-scsiwd33c93-includes-dirs : | $(TMPscsi_wd33c93_INCDIRS) +else +kernel-hidd-scsiwd33c93-includes-dirs :: $(TMPscsi_wd33c93_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPscsi_wd33c93_INCDIRS) + + +endif + +endif + + +kernel-hidd-scsiwd33c93-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -f + kernel-hidd-scsiwd33c93-genlibdefs_MODNAME := scsi_wd33c93_ +else + kernel-hidd-scsiwd33c93-genlibdefs_MODNAME := scsi_wd33c93 +endif +kernel-hidd-scsiwd33c93-genlibdefs_TARGET := $(kernel-hidd-scsiwd33c93-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-scsiwd33c93-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-scsiwd33c93-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -c + kernel-hidd-scsiwd33c93-genlibdefs_DEPS += + endif +else + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf + kernel-hidd-scsiwd33c93-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-scsiwd33c93-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -o + kernel-hidd-scsiwd33c93-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-scsiwd33c93_OBJDIR)/include,) + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -d $(kernel-hidd-scsiwd33c93_OBJDIR)/include + kernel-hidd-scsiwd33c93-genlibdefs_TARGET := $(kernel-hidd-scsiwd33c93_OBJDIR)/include/$(kernel-hidd-scsiwd33c93-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-scsiwd33c93-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-scsiwd33c93-genlibdefs_TARGET) : OPTS := $(kernel-hidd-scsiwd33c93-genlibdefs_OPTS) +$(kernel-hidd-scsiwd33c93-genlibdefs_TARGET) : MODNAME := scsi_wd33c93 +$(kernel-hidd-scsiwd33c93-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-scsiwd33c93-genlibdefs_TARGET) : $(kernel-hidd-scsiwd33c93-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-scsiwd33c93_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-scsiwd33c93_LIBDEFSINC) +$(kernel-hidd-scsiwd33c93_DEFLIBDEFSINC) : $(kernel-hidd-scsiwd33c93_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-scsiwd33c93_LIBDEFSINC) $(kernel-hidd-scsiwd33c93_DEFLIBDEFSINC) : | $(kernel-hidd-scsiwd33c93_OBJDIR)/include + +ifneq (kernel-hidd-scsiwd33c93-includes-dirs,) +kernel-hidd-scsiwd33c93-includes-dirs : | $(kernel-hidd-scsiwd33c93_OBJDIR)/include +else +kernel-hidd-scsiwd33c93-includes-dirs :: $(kernel-hidd-scsiwd33c93_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-scsiwd33c93_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-scsiwd33c93-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -f + kernel-hidd-scsiwd33c93-genmodfiles_MODNAME := scsi_wd33c93_ +else + kernel-hidd-scsiwd33c93-genmodfiles_MODNAME := scsi_wd33c93 +endif +kernel-hidd-scsiwd33c93-genmodfiles_GENTARGETS := $($(kernel-hidd-scsiwd33c93-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-scsiwd33c93-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETS := $($(kernel-hidd-scsiwd33c93-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-scsiwd33c93-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-scsiwd33c93-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-scsiwd33c93-genmodfiles_GENTARGETS)) +kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-scsiwd33c93-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-scsiwd33c93-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-scsiwd33c93-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-scsiwd33c93-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -c + kernel-hidd-scsiwd33c93-genmodfiles_DEPS += + endif +else + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf + kernel-hidd-scsiwd33c93-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-scsiwd33c93-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -o + kernel-hidd-scsiwd33c93-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-scsiwd33c93_OBJDIR),) + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -d $(kernel-hidd-scsiwd33c93_OBJDIR) + kernel-hidd-scsiwd33c93-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-scsiwd33c93_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-scsiwd33c93-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-scsiwd33c93-genmodfiles_TARGETDIR)/,$(kernel-hidd-scsiwd33c93-genmodfiles_GENTARGETS)) + kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG=$(kernel-hidd-scsiwd33c93-genmodfiles_TARGETDIR)/.scsi_wd33c93.hidd-genfiles +else + kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.scsi_wd33c93.hidd-genfiles +endif +ifneq ($(kernel-hidd-scsiwd33c93_OBJDIR)/linklib,) + kernel-hidd-scsiwd33c93-genmodfiles_OPTS += -l $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib + kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETS)) + kernel-hidd-scsiwd33c93-genmodfiles_TARGETDIRS += $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-scsiwd33c93_OBJDIR),) + kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-scsiwd33c93-genmodfiles_TARGETDIR)/,$(kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-scsiwd33c93-genmodfiles_TARGETS := $(kernel-hidd-scsiwd33c93-genmodfiles_GENTARGETS) $(kernel-hidd-scsiwd33c93-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-scsiwd33c93-genmodfiles_TARGETDIRS),) +$(kernel-hidd-scsiwd33c93-genmodfiles_TARGETS) : | $(kernel-hidd-scsiwd33c93-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-scsiwd33c93-genmodfiles_TARGETS) : $(kernel-hidd-scsiwd33c93-genmodfiles_DEPS) $(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-scsiwd33c93-genmodfiles_OPTS) +$(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG) : MODNAME := scsi_wd33c93 +$(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG) : $(kernel-hidd-scsiwd33c93-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG) : $(kernel-hidd-scsiwd33c93_DEFLIBDEFSINC) $(kernel-hidd-scsiwd33c93-makefile) + + +ifneq ($(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib +else +$(kernel-hidd-scsiwd33c93-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-scsiwd33c93_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-scsiwd33c93_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-scsiwd33c93-fd : $(kernel-hidd-scsiwd33c93_FDDIR)/scsi_wd33c93_lib.fd + + +TMP_TARGET := scsi_wd33c93_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/scsi_wd33c93.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-scsiwd33c93_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-scsiwd33c93_FDDIR) + TMP_TARGET := $(kernel-hidd-scsiwd33c93_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := scsi_wd33c93 +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-scsiwd33c93_FDDIR)/scsi_wd33c93_lib.fd : | $(kernel-hidd-scsiwd33c93_FDDIR) + + +ifneq (kernel-hidd-scsiwd33c93-fd-setup,) +kernel-hidd-scsiwd33c93-fd-setup : | $(kernel-hidd-scsiwd33c93_FDDIR) +else +kernel-hidd-scsiwd33c93-fd-setup :: $(kernel-hidd-scsiwd33c93_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-scsiwd33c93_FDDIR) + +endif + +## Compilation +## +kernel-hidd-scsiwd33c93_FILES := $(FILES) +kernel-hidd-scsiwd33c93_OBJCFILES := +kernel-hidd-scsiwd33c93_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-scsiwd33c93_LIBFILES := +kernel-hidd-scsiwd33c93_LIBS := + +kernel-hidd-scsiwd33c93_FDIRS := $(sort $(dir $(kernel-hidd-scsiwd33c93_FILES))) + +kernel-hidd-scsiwd33c93_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-scsiwd33c93_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-scsiwd33c93_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-scsiwd33c93_FILTERARCH = $(filter-out $(call kernel-hidd-scsiwd33c93_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-scsiwd33c93_STARTFILES := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_STARTFILES)) +kernel-hidd-scsiwd33c93_ENDFILES := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_ENDFILES)) + +kernel-hidd-scsiwd33c93_ARCHOBJS := $(wildcard $(kernel-hidd-scsiwd33c93_OBJDIR)/arch/*.o) +kernel-hidd-scsiwd33c93_LIBARCHOBJS := $(wildcard $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/arch/*.o) +kernel-hidd-scsiwd33c93_ARCHFILES := $(basename $(notdir $(kernel-hidd-scsiwd33c93_ARCHOBJS))) +kernel-hidd-scsiwd33c93_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-scsiwd33c93_LIBARCHOBJS))) +kernel-hidd-scsiwd33c93_C_NARCHFILES := $(call kernel-hidd-scsiwd33c93_FILTERARCH,$(kernel-hidd-scsiwd33c93_ARCHFILES),$(kernel-hidd-scsiwd33c93_FILES)) +kernel-hidd-scsiwd33c93_CXX_NARCHFILES := $(call kernel-hidd-scsiwd33c93_FILTERARCH,$(kernel-hidd-scsiwd33c93_ARCHFILES),$(kernel-hidd-scsiwd33c93_CXXFILES)) +kernel-hidd-scsiwd33c93_OBJC_NARCHFILES := $(call kernel-hidd-scsiwd33c93_FILTERARCH,$(kernel-hidd-scsiwd33c93_ARCHFILES),$(kernel-hidd-scsiwd33c93_OBJCFILES)) +kernel-hidd-scsiwd33c93_NLIBARCHFILES := $(call kernel-hidd-scsiwd33c93_FILTERARCH,$(kernel-hidd-scsiwd33c93_LIBARCHFILES),$(kernel-hidd-scsiwd33c93_LIBFILES)) +kernel-hidd-scsiwd33c93_ARCHNLIBFILES := $(call kernel-hidd-scsiwd33c93_FILTERARCH,$(kernel-hidd-scsiwd33c93_LIBFILES),$(kernel-hidd-scsiwd33c93_LIBARCHFILES)) + +kernel-hidd-scsiwd33c93_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-scsiwd33c93_OBJDIR)/include -include $(kernel-hidd-scsiwd33c93_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-scsiwd33c93_CPPFLAGS += -I +endif +kernel-hidd-scsiwd33c93_LINKLIBCPPFLAGS := $(kernel-hidd-scsiwd33c93_CPPFLAGS) +kernel-hidd-scsiwd33c93_CPPFLAGS += $(strip $($(kernel-hidd-scsiwd33c93_DEFNAME)_CPPFLAGS)) +kernel-hidd-scsiwd33c93_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-scsiwd33c93_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-scsiwd33c93_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_CFLAGS)) +kernel-hidd-scsiwd33c93_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-scsiwd33c93_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-scsiwd33c93_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-scsiwd33c93_CFLAGS := $(strip $(kernel-hidd-scsiwd33c93_LTOFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +kernel-hidd-scsiwd33c93_LINKLIBCFLAGS := $(strip $(kernel-hidd-scsiwd33c93_LTOFLAGS) $(kernel-hidd-scsiwd33c93_LINKLIBCFLAGS)) +kernel-hidd-scsiwd33c93_CXXFLAGS := $(strip $(kernel-hidd-scsiwd33c93_LTOFLAGS) $(kernel-hidd-scsiwd33c93_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-scsiwd33c93_SUBSTNULL := +kernel-hidd-scsiwd33c93_SUBSTSPACE := $(kernel-hidd-scsiwd33c93_SUBSTNULL) # +kernel-hidd-scsiwd33c93_SUBSTCOMMA := , +kernel-hidd-scsiwd33c93_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-scsiwd33c93_SUBSTSPACE),$(kernel-hidd-scsiwd33c93_SUBSTCOMMA),$(strip $($(kernel-hidd-scsiwd33c93_DEFNAME)_STARTFILES)))) +kernel-hidd-scsiwd33c93_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-scsiwd33c93_CFLAGS := $(strip $(kernel-hidd-scsiwd33c93_INSTRFUNCFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +kernel-hidd-scsiwd33c93_CXXFLAGS := $(strip $(kernel-hidd-scsiwd33c93_INSTRFUNCFLAGS) $(kernel-hidd-scsiwd33c93_CXXFLAGS)) +kernel-hidd-scsiwd33c93_LIBS += $(kernel-hidd-scsiwd33c93_INSTRFUNCLIBS) +endif +endif +kernel-hidd-scsiwd33c93_DFLAGS := $(strip $(kernel-hidd-scsiwd33c93_DFLAGS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_DFLAGS)) +kernel-hidd-scsiwd33c93_LINKLIBDFLAGS := $(strip $(kernel-hidd-scsiwd33c93_DFLAGS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-scsiwd33c93_DXXFLAGS := $(strip $(kernel-hidd-scsiwd33c93_DXXFLAGS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-scsiwd33c93_LIBSUFFIX := +else + kernel-hidd-scsiwd33c93_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-scsiwd33c93_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-scsiwd33c93_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-scsiwd33c93_LINKLIBCFILES := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_LINKLIBFILES)) +kernel-hidd-scsiwd33c93_LINKLIBAFILES := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-scsiwd33c93_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-scsiwd33c93_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-scsiwd33c93_ARCHNLIBFILES)),) + kernel-hidd-scsiwd33c93_LINKLIB := +else + kernel-hidd-scsiwd33c93_LINKLIB := $(kernel-hidd-scsiwd33c93_LIBDIR)/libscsi_wd33c93$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a + ifneq (scsi_wd33c93,$(kernel-hidd-scsiwd33c93_LINKLIBNAME)) + kernel-hidd-scsiwd33c93_LINKLIB += $(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a + endif +endif +kernel-hidd-scsiwd33c93_LINKLIBFILES := $(kernel-hidd-scsiwd33c93_LINKLIBCFILES) $(kernel-hidd-scsiwd33c93_LINKLIBAFILES) + +kernel-hidd-scsiwd33c93_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-scsiwd33c93_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-scsiwd33c93_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-scsiwd33c93_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-scsiwd33c93_ARCHNLIBFILES)),) + kernel-hidd-scsiwd33c93_RELLINKLIB := +else + kernel-hidd-scsiwd33c93_RELLINKLIB := $(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_DEFNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a + ifneq (scsi_wd33c93,$(kernel-hidd-scsiwd33c93_LINKLIBNAME)) + kernel-hidd-scsiwd33c93_RELLINKLIB += $(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a + endif +endif +kernel-hidd-scsiwd33c93_RELLINKLIBFILES := $(kernel-hidd-scsiwd33c93_RELLINKLIBCFILES) $(kernel-hidd-scsiwd33c93_RELLINKLIBAFILES) +endif + +kernel-hidd-scsiwd33c93_ENDOBJS := $(addsuffix .o,$(kernel-hidd-scsiwd33c93_ENDFILES)) +kernel-hidd-scsiwd33c93_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(notdir $(kernel-hidd-scsiwd33c93_NLIBARCHFILES))) $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-scsiwd33c93_ARCHNLIBFILES))) $(kernel-hidd-scsiwd33c93_LINKLIBFILES)) \ + +kernel-hidd-scsiwd33c93_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(notdir $(kernel-hidd-scsiwd33c93_NLIBARCHFILES))) $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-scsiwd33c93_ARCHNLIBFILES))) $(kernel-hidd-scsiwd33c93_RELLINKLIBFILES)) \ + +$(kernel-hidd-scsiwd33c93_LINKLIBFILES) $(kernel-hidd-scsiwd33c93_RELLINKLIBFILES) : | $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib +$(kernel-hidd-scsiwd33c93_LINKLIBOBJS) $(kernel-hidd-scsiwd33c93_RELLINKLIBOBJS) : | $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib + +kernel-hidd-scsiwd33c93_CCFILES := $(kernel-hidd-scsiwd33c93_C_NARCHFILES) +kernel-hidd-scsiwd33c93_TARGETCCFILES := $(strip $(kernel-hidd-scsiwd33c93_STARTFILES) $(kernel-hidd-scsiwd33c93_ENDFILES)) +kernel-hidd-scsiwd33c93_LINKLIBCCFILES := $(strip $(kernel-hidd-scsiwd33c93_NLIBARCHFILES) $(kernel-hidd-scsiwd33c93_LINKLIBCFILES) $(kernel-hidd-scsiwd33c93_RELLINKLIBCFILES)) +kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES := $(strip $(kernel-hidd-scsiwd33c93_LINKLIBCFILES) $(kernel-hidd-scsiwd33c93_RELLINKLIBCFILES)) + + +kernel-hidd-scsiwd33c93_CXXABSBASENAMES := $(foreach kernel-hidd-scsiwd33c93_CXXBASE,$(kernel-hidd-scsiwd33c93_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-scsiwd33c93_CXXBASE)),$(kernel-hidd-scsiwd33c93_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-scsiwd33c93_CXXBASE)))) + +ifneq ($(kernel-hidd-scsiwd33c93_CXXABSBASENAMES),) + +kernel-hidd-scsiwd33c93_CXXBASENAMES := $(basename $(kernel-hidd-scsiwd33c93_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-scsiwd33c93_MCXX_FILES := $(strip $(foreach kernel-hidd-scsiwd33c93_CXXBASE,$(kernel-hidd-scsiwd33c93_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-scsiwd33c93_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-scsiwd33c93_EXT),$(kernel-hidd-scsiwd33c93_CXXBASE))))))) + +ifeq (,) +kernel-hidd-scsiwd33c93_MCXX_SRCWILDCARD := % +else +kernel-hidd-scsiwd33c93_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR),) + kernel-hidd-scsiwd33c93_CXXTARGETS := $(notdir $(kernel-hidd-scsiwd33c93_CXXBASENAMES:=.o)) + kernel-hidd-scsiwd33c93_CXXDTARGETS := $(notdir $(kernel-hidd-scsiwd33c93_CXXBASENAMES:=.d)) + kernel-hidd-scsiwd33c93_MCXX_WILDCARD := % +else + kernel-hidd-scsiwd33c93_CXXTARGETS := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(kernel-hidd-scsiwd33c93_CXXBASENAMES:=.o))) + kernel-hidd-scsiwd33c93_CXXDTARGETS := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(kernel-hidd-scsiwd33c93_CXXBASENAMES:=.d))) + kernel-hidd-scsiwd33c93_MCXX_WILDCARD := $(kernel-hidd-scsiwd33c93_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-scsiwd33c93_CXXTARGETS) $(kernel-hidd-scsiwd33c93_CXXDTARGETS) : | $(kernel-hidd-scsiwd33c93_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS := $(kernel-hidd-scsiwd33c93_CPPFLAGS) +kernel-hidd-scsiwd33c93_CXXFLAGS := $(kernel-hidd-scsiwd33c93_CXXFLAGS) +ifeq ($(kernel-hidd-scsiwd33c93_DXXFLAGS),) + kernel-hidd-scsiwd33c93_DXXFLAGS := $(kernel-hidd-scsiwd33c93_CXXFLAGS) +else + kernel-hidd-scsiwd33c93_DXXFLAGS := $(kernel-hidd-scsiwd33c93_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-scsiwd33c93_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-scsiwd33c93_STRIP ?= $(HOST_STRIP) + kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-scsiwd33c93_CXXCMD:=$(HOST_CXX) + kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-scsiwd33c93_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-scsiwd33c93_CXXFLAGS)) + kernel-hidd-scsiwd33c93_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-scsiwd33c93_DXXFLAGS)) + kernel-hidd-scsiwd33c93_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-scsiwd33c93_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-scsiwd33c93_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-scsiwd33c93_STRIP ?= $(TARGET_STRIP) + kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-scsiwd33c93_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS := $(strip $(kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-scsiwd33c93_CXXFLAGS := $(strip $(kernel-hidd-scsiwd33c93_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-scsiwd33c93_DXXFLAGS := $(kernel-hidd-scsiwd33c93_DXXFLAGS) + kernel-hidd-scsiwd33c93_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-scsiwd33c93_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-scsiwd33c93_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-scsiwd33c93_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-scsiwd33c93_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-scsiwd33c93_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-scsiwd33c93_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-scsiwd33c93_CXXFLAGS)) + kernel-hidd-scsiwd33c93_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-scsiwd33c93_DXXFLAGS)) + kernel-hidd-scsiwd33c93_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-scsiwd33c93_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-scsiwd33c93_CXXCMD) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) . $(kernel-hidd-scsiwd33c93_CXXIQUOTE_END) $(strip $(kernel-hidd-scsiwd33c93_CXXFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-scsiwd33c93_CXXCMD) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) . $(kernel-hidd-scsiwd33c93_CXXIQUOTE_END) $(strip $(kernel-hidd-scsiwd33c93_CXXFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-scsiwd33c93_CXXCMD) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_CXXIQUOTE) . $(kernel-hidd-scsiwd33c93_CXXIQUOTE_END) $(strip $(kernel-hidd-scsiwd33c93_CXXFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-scsiwd33c93_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-scsiwd33c93_DXXFLAGS) $(kernel-hidd-scsiwd33c93_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR),) + $(foreach kernel-hidd-scsiwd33c93_CXXFILE,$(kernel-hidd-scsiwd33c93_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-scsiwd33c93_CXXFILE))),$(kernel-hidd-scsiwd33c93_CXXFILE)))) +else + $(foreach kernel-hidd-scsiwd33c93_CXXFILE,$(kernel-hidd-scsiwd33c93_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(basename $(kernel-hidd-scsiwd33c93_CXXFILE)))),$(kernel-hidd-scsiwd33c93_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-scsiwd33c93_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-scsiwd33c93_MOBJC_SRCWILDCARD := % +else +kernel-hidd-scsiwd33c93_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR),) + kernel-hidd-scsiwd33c93_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-scsiwd33c93_OBJC_NARCHFILES)) + kernel-hidd-scsiwd33c93_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-scsiwd33c93_OBJC_NARCHFILES)) + kernel-hidd-scsiwd33c93_MOBJC_WILDCARD := % +else + kernel-hidd-scsiwd33c93_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(kernel-hidd-scsiwd33c93_OBJC_NARCHFILES))) + kernel-hidd-scsiwd33c93_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(kernel-hidd-scsiwd33c93_OBJC_NARCHFILES))) + kernel-hidd-scsiwd33c93_MOBJC_WILDCARD := $(kernel-hidd-scsiwd33c93_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-scsiwd33c93_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-scsiwd33c93_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-scsiwd33c93_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-scsiwd33c93_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-scsiwd33c93_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-scsiwd33c93_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-scsiwd33c93_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-scsiwd33c93_MOBJC_DIRS),) + kernel-hidd-scsiwd33c93_MOBJC_DIRS := $(shell echo $(kernel-hidd-scsiwd33c93_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-scsiwd33c93_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-scsiwd33c93_CC := $(TARGET_CC) +else + kernel-hidd-scsiwd33c93_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS := $(kernel-hidd-scsiwd33c93_CPPFLAGS) +kernel-hidd-scsiwd33c93_OBJCFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +kernel-hidd-scsiwd33c93_OBJCFLAGS := $(kernel-hidd-scsiwd33c93_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-scsiwd33c93_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-scsiwd33c93_OBJCFLAGS))) +ifeq ($(kernel-hidd-scsiwd33c93_DFLAGS),) + kernel-hidd-scsiwd33c93_OBJCDFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +else + kernel-hidd-scsiwd33c93_OBJCDFLAGS := $(kernel-hidd-scsiwd33c93_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-scsiwd33c93_LINK ?= $(strip $(kernel-hidd-scsiwd33c93_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-scsiwd33c93_STRIP ?= $(TARGET_STRIP) + kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-scsiwd33c93_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_OBJCFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_OBJCDFLAGS:=$(kernel-hidd-scsiwd33c93_OBJCDFLAGS) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-scsiwd33c93_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-scsiwd33c93_STRIP ?= $(HOST_STRIP) + kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_OBJCFLAGS)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_OBJCDFLAGS)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-scsiwd33c93_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-scsiwd33c93_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_OBJCFLAGS)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_OBJCDFLAGS)) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) $(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS) +$(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-scsiwd33c93_OBJCFLAGS) +$(kernel-hidd-scsiwd33c93_MOBJC_TARGETS) : $(kernel-hidd-scsiwd33c93_MOBJC_WILDCARD).o : $(kernel-hidd-scsiwd33c93_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-scsiwd33c93_MOBJC_DTARGETS) : $(kernel-hidd-scsiwd33c93_MOBJC_WILDCARD).d : $(kernel-hidd-scsiwd33c93_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-scsiwd33c93_OBJCDFLAGS) $(kernel-hidd-scsiwd33c93_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-scsiwd33c93_MC_SRCWILDCARD := % +else +kernel-hidd-scsiwd33c93_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR),) +kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-scsiwd33c93_CCFILES)) +kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-scsiwd33c93_CCFILES)) +kernel-hidd-scsiwd33c93_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(kernel-hidd-scsiwd33c93_CCFILES)))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(kernel-hidd-scsiwd33c93_CCFILES)))) +else +ifeq (,) + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(kernel-hidd-scsiwd33c93_CCFILES))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(kernel-hidd-scsiwd33c93_CCFILES))) +else + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-scsiwd33c93_CCFILES)))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-scsiwd33c93_CCFILES)))) +endif +endif +kernel-hidd-scsiwd33c93_MC_TGTWILDCARD := $(kernel-hidd-scsiwd33c93_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-scsiwd33c93_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-scsiwd33c93_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-scsiwd33c93_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-scsiwd33c93_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-scsiwd33c93_MC_DIRS := $(foreach dir, $(kernel-hidd-scsiwd33c93_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-scsiwd33c93_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-scsiwd33c93_MC_DIRS),) + kernel-hidd-scsiwd33c93_MC_DIRS := $(shell echo $(kernel-hidd-scsiwd33c93_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-scsiwd33c93_MC_DIRS) +endif + +endif + +kernel-hidd-scsiwd33c93_MC_CPPFLAGS := $(kernel-hidd-scsiwd33c93_CPPFLAGS) +kernel-hidd-scsiwd33c93_CFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +ifeq ($(kernel-hidd-scsiwd33c93_DFLAGS),) + kernel-hidd-scsiwd33c93_DFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +else + kernel-hidd-scsiwd33c93_DFLAGS := $(kernel-hidd-scsiwd33c93_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(TARGET_STRIP) +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(kernel-hidd-scsiwd33c93_DFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(HOST_STRIP) +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_DFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_DFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : CFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : $(kernel-hidd-scsiwd33c93_MC_TGTWILDCARD).o : $(kernel-hidd-scsiwd33c93_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-scsiwd33c93_MC_DTARGETS) : $(kernel-hidd-scsiwd33c93_MC_TGTWILDCARD).d : $(kernel-hidd-scsiwd33c93_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-scsiwd33c93_DFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-scsiwd33c93_MC_SRCWILDCARD := % +else +kernel-hidd-scsiwd33c93_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR),) +kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-scsiwd33c93_TARGETCCFILES)) +kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-scsiwd33c93_TARGETCCFILES)) +kernel-hidd-scsiwd33c93_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(kernel-hidd-scsiwd33c93_TARGETCCFILES)))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(kernel-hidd-scsiwd33c93_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(kernel-hidd-scsiwd33c93_TARGETCCFILES))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(kernel-hidd-scsiwd33c93_TARGETCCFILES))) +else + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-scsiwd33c93_TARGETCCFILES)))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-scsiwd33c93_TARGETCCFILES)))) +endif +endif +kernel-hidd-scsiwd33c93_MC_TGTWILDCARD := $(kernel-hidd-scsiwd33c93_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-scsiwd33c93_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-scsiwd33c93_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-scsiwd33c93_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-scsiwd33c93_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-scsiwd33c93_MC_DIRS := $(foreach dir, $(kernel-hidd-scsiwd33c93_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-scsiwd33c93_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-scsiwd33c93_MC_DIRS),) + kernel-hidd-scsiwd33c93_MC_DIRS := $(shell echo $(kernel-hidd-scsiwd33c93_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-scsiwd33c93_MC_DIRS) +endif + +endif + +kernel-hidd-scsiwd33c93_MC_CPPFLAGS := $(kernel-hidd-scsiwd33c93_CPPFLAGS) -D__AROS__ +kernel-hidd-scsiwd33c93_CFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +ifeq ($(kernel-hidd-scsiwd33c93_DFLAGS),) + kernel-hidd-scsiwd33c93_DFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +else + kernel-hidd-scsiwd33c93_DFLAGS := $(kernel-hidd-scsiwd33c93_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(TARGET_STRIP) +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(kernel-hidd-scsiwd33c93_DFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(HOST_STRIP) +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_DFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_DFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : CFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : $(kernel-hidd-scsiwd33c93_MC_TGTWILDCARD).o : $(kernel-hidd-scsiwd33c93_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-scsiwd33c93_MC_DTARGETS) : $(kernel-hidd-scsiwd33c93_MC_TGTWILDCARD).d : $(kernel-hidd-scsiwd33c93_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-scsiwd33c93_DFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-scsiwd33c93_MC_SRCWILDCARD := % +else +kernel-hidd-scsiwd33c93_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR)/linklib,) +kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-scsiwd33c93_NLIBARCHFILES)) +kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-scsiwd33c93_NLIBARCHFILES)) +kernel-hidd-scsiwd33c93_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(notdir $(kernel-hidd-scsiwd33c93_NLIBARCHFILES)))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(notdir $(kernel-hidd-scsiwd33c93_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(kernel-hidd-scsiwd33c93_NLIBARCHFILES))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(kernel-hidd-scsiwd33c93_NLIBARCHFILES))) +else + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-scsiwd33c93_NLIBARCHFILES)))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-scsiwd33c93_NLIBARCHFILES)))) +endif +endif +kernel-hidd-scsiwd33c93_MC_TGTWILDCARD := $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-scsiwd33c93_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-scsiwd33c93_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-scsiwd33c93_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-scsiwd33c93_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-scsiwd33c93_MC_DIRS := $(foreach dir, $(kernel-hidd-scsiwd33c93_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-scsiwd33c93_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-scsiwd33c93_MC_DIRS),) + kernel-hidd-scsiwd33c93_MC_DIRS := $(shell echo $(kernel-hidd-scsiwd33c93_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-scsiwd33c93_MC_DIRS) +endif + +endif + +kernel-hidd-scsiwd33c93_MC_CPPFLAGS := $(kernel-hidd-scsiwd33c93_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-scsiwd33c93_CFLAGS := $(kernel-hidd-scsiwd33c93_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-scsiwd33c93_LINKLIBDFLAGS),) + kernel-hidd-scsiwd33c93_DFLAGS := $(kernel-hidd-scsiwd33c93_LINKLIBCFLAGS) +else + kernel-hidd-scsiwd33c93_DFLAGS := $(kernel-hidd-scsiwd33c93_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(TARGET_STRIP) +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(kernel-hidd-scsiwd33c93_DFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(HOST_STRIP) +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_DFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_DFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : CFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : $(kernel-hidd-scsiwd33c93_MC_TGTWILDCARD).o : $(kernel-hidd-scsiwd33c93_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-scsiwd33c93_MC_DTARGETS) : $(kernel-hidd-scsiwd33c93_MC_TGTWILDCARD).d : $(kernel-hidd-scsiwd33c93_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-scsiwd33c93_DFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR)/linklib,) +kernel-hidd-scsiwd33c93_MC_SRCWILDCARD := % +else +kernel-hidd-scsiwd33c93_MC_SRCWILDCARD := $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR)/linklib,) +kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES)) +kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES)) +kernel-hidd-scsiwd33c93_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(notdir $(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES)))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(notdir $(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR)/linklib,) + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES))) +else + kernel-hidd-scsiwd33c93_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/%,%,$(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES)))) + kernel-hidd-scsiwd33c93_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/%,%,$(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-scsiwd33c93_MC_TGTWILDCARD := $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-scsiwd33c93_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-scsiwd33c93_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-scsiwd33c93_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-scsiwd33c93_MC_DIRS := $(foreach dir, $(kernel-hidd-scsiwd33c93_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-scsiwd33c93_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-scsiwd33c93_MC_DIRS),) + kernel-hidd-scsiwd33c93_MC_DIRS := $(shell echo $(kernel-hidd-scsiwd33c93_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-scsiwd33c93_MC_DIRS) +endif + +endif + +kernel-hidd-scsiwd33c93_MC_CPPFLAGS := $(kernel-hidd-scsiwd33c93_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-scsiwd33c93_CFLAGS := $(kernel-hidd-scsiwd33c93_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-scsiwd33c93_LINKLIBDFLAGS),) + kernel-hidd-scsiwd33c93_DFLAGS := $(kernel-hidd-scsiwd33c93_LINKLIBCFLAGS) +else + kernel-hidd-scsiwd33c93_DFLAGS := $(kernel-hidd-scsiwd33c93_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(TARGET_STRIP) +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(kernel-hidd-scsiwd33c93_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(kernel-hidd-scsiwd33c93_DFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(HOST_STRIP) +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-scsiwd33c93_DFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-scsiwd33c93_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-scsiwd33c93_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-scsiwd33c93_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) $(kernel-hidd-scsiwd33c93_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_CFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-scsiwd33c93_DFLAGS)) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) $(kernel-hidd-scsiwd33c93_MC_DTARGETS) : kernel-hidd-scsiwd33c93_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : CFLAGS := $(kernel-hidd-scsiwd33c93_CFLAGS) +$(kernel-hidd-scsiwd33c93_MC_TARGETS) : $(kernel-hidd-scsiwd33c93_MC_TGTWILDCARD).o : $(kernel-hidd-scsiwd33c93_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-scsiwd33c93_IQUOTE) $(dir $<) $(kernel-hidd-scsiwd33c93_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-scsiwd33c93_IQUOTE) . $(kernel-hidd-scsiwd33c93_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-scsiwd33c93_MC_DTARGETS) : $(kernel-hidd-scsiwd33c93_MC_TGTWILDCARD).d : $(kernel-hidd-scsiwd33c93_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-scsiwd33c93_DFLAGS) $(kernel-hidd-scsiwd33c93_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-scsiwd33c93_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-scsiwd33c93_OBJDIR)/linklib,) +kernel-hidd-scsiwd33c93-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-scsiwd33c93_LINKLIBAFILES) $(kernel-hidd-scsiwd33c93_RELLINKLIBAFILES)) +kernel-hidd-scsiwd33c93-MA_WILDCARD := % +else +kernel-hidd-scsiwd33c93-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(notdir $(kernel-hidd-scsiwd33c93_LINKLIBAFILES) $(kernel-hidd-scsiwd33c93_RELLINKLIBAFILES)))) +kernel-hidd-scsiwd33c93-MA_WILDCARD := $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-scsiwd33c93-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-scsiwd33c93_LINKLIBAFILES) $(kernel-hidd-scsiwd33c93_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-scsiwd33c93-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-scsiwd33c93-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-scsiwd33c93_LINKLIBAFILES) $(kernel-hidd-scsiwd33c93_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-scsiwd33c93-MA_DIRS := $(foreach dir, $(kernel-hidd-scsiwd33c93-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-scsiwd33c93-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-scsiwd33c93-MA_DIRS),) + kernel-hidd-scsiwd33c93-MA_DIRS := $(shell echo $(kernel-hidd-scsiwd33c93-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-scsiwd33c93-MA_DIRS) +endif + +endif + +kernel-hidd-scsiwd33c93-MA_ASSEMBLER ?= $(kernel-hidd-scsiwd33c93_ASSEMBLER) + +$(kernel-hidd-scsiwd33c93-MA_TARGETS) : kernel-hidd-scsiwd33c93-MA_CMD:= $(kernel-hidd-scsiwd33c93-MA_ASSEMBLER) + +$(kernel-hidd-scsiwd33c93-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-scsiwd33c93-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-scsiwd33c93-MA_TARGETS) : $(kernel-hidd-scsiwd33c93-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-scsiwd33c93-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-scsiwd33c93-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-scsiwd33c93-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-scsiwd33c93_SUFFIX := hidd +else +kernel-hidd-scsiwd33c93_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-scsiwd33c93_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-scsiwd33c93_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-scsiwd33c93_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-scsiwd33c93_SUFFIX),handler) +kernel-hidd-scsiwd33c93_MODULE := $(AROSDIR)/$(kernel-hidd-scsiwd33c93_MODDIR)/$(kernel-hidd-scsiwd33c93_DEFNAME)-$(kernel-hidd-scsiwd33c93_SUFFIX) +else +kernel-hidd-scsiwd33c93_MODULE := $(AROSDIR)/$(kernel-hidd-scsiwd33c93_MODDIR)/$(kernel-hidd-scsiwd33c93_DEFNAME).$(kernel-hidd-scsiwd33c93_SUFFIX) +endif +kernel-hidd-scsiwd33c93_KOBJ := $(KOBJSDIR)/$(kernel-hidd-scsiwd33c93_DEFNAME)_$(kernel-hidd-scsiwd33c93_SUFFIX).o +else +kernel-hidd-scsiwd33c93_MODULE := +kernel-hidd-scsiwd33c93_KOBJ := +endif + +kernel-hidd-scsiwd33c93-quick : kernel-hidd-scsiwd33c93 +kernel-hidd-scsiwd33c93 : $(kernel-hidd-scsiwd33c93_MODULE) $(kernel-hidd-scsiwd33c93_LINKLIB) $(kernel-hidd-scsiwd33c93_RELLINKLIB) +ifeq (M,M) +kernel-hidd-scsiwd33c93-kobj : $(kernel-hidd-scsiwd33c93_KOBJ) $(kernel-hidd-scsiwd33c93_LINKLIB) $(kernel-hidd-scsiwd33c93_RELLINKLIB) +kernel-hidd-scsiwd33c93-kobj-quick : $(kernel-hidd-scsiwd33c93_KOBJ) $(kernel-hidd-scsiwd33c93_LINKLIB) $(kernel-hidd-scsiwd33c93_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-scsiwd33c93-linklib : $(kernel-hidd-scsiwd33c93_LINKLIB) $(kernel-hidd-scsiwd33c93_RELLINKLIB) +endif + +kernel-hidd-scsiwd33c93_OBJS := $(addsuffix .o,$(kernel-hidd-scsiwd33c93_STARTFILES)) $(kernel-hidd-scsiwd33c93_ARCHOBJS) \ + $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(kernel-hidd-scsiwd33c93_C_NARCHFILES:=.o) $(kernel-hidd-scsiwd33c93_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-scsiwd33c93_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (scsi_wd33c93,con) + kernel-hidd-scsiwd33c93_ERR := $(notdir $(kernel-hidd-scsiwd33c93_MODULE)).err +else + kernel-hidd-scsiwd33c93_ERR := scsi_wd33c93.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_LDFLAGS) $(kernel-hidd-scsiwd33c93_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-scsiwd33c93_LIBS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-scsiwd33c93_MODULE) : LIB_NAMES := $(kernel-hidd-scsiwd33c93_LIBS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_LIBS) +$(kernel-hidd-scsiwd33c93_MODULE) : OBJS := $(kernel-hidd-scsiwd33c93_STARTOBJS) $(kernel-hidd-scsiwd33c93_OBJS) $(USER_OBJS) +$(kernel-hidd-scsiwd33c93_MODULE) : ENDTAG := $(kernel-hidd-scsiwd33c93_ENDOBJS) +$(kernel-hidd-scsiwd33c93_MODULE) : ERR := $(kernel-hidd-scsiwd33c93_ERR) +$(kernel-hidd-scsiwd33c93_MODULE) : OBJDIR := $(kernel-hidd-scsiwd33c93_OBJDIR) +$(kernel-hidd-scsiwd33c93_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-scsiwd33c93_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-scsiwd33c93_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-scsiwd33c93_MODULE) : $(kernel-hidd-scsiwd33c93_STARTOBJS) $(kernel-hidd-scsiwd33c93_OBJS) $(USER_OBJS) $(kernel-hidd-scsiwd33c93_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-scsiwd33c93_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-scsiwd33c93_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-scsiwd33c93_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-scsiwd33c93_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-scsiwd33c93_LC_MODNAME := $(shell echo scsi_wd33c93 | tr A-Z a-z) +ifneq ($(kernel-hidd-scsiwd33c93_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(HOST_AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(KERNEL_AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : $(kernel-hidd-scsiwd33c93_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-scsiwd33c93_AR) $@ $^ + $(Q)$(kernel-hidd-scsiwd33c93_RANLIB) $@ +ifneq ($(kernel-hidd-scsiwd33c93_LC_MODNAME),$(kernel-hidd-scsiwd33c93_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-scsiwd33c93_LIBDIR)/libscsi_wd33c93$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/libscsi_wd33c93$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-scsiwd33c93_LIBDIR)/libscsi_wd33c93$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(HOST_AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/libscsi_wd33c93$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-scsiwd33c93_LIBDIR)/libscsi_wd33c93$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(KERNEL_AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/libscsi_wd33c93$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-scsiwd33c93_LIBDIR)/libscsi_wd33c93$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : $(kernel-hidd-scsiwd33c93_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-scsiwd33c93_AR) $@ $^ + $(Q)$(kernel-hidd-scsiwd33c93_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-scsiwd33c93_LINKLIB),) +$(kernel-hidd-scsiwd33c93_LINKLIB) : | $(kernel-hidd-scsiwd33c93_LIBDIR) +else +$(kernel-hidd-scsiwd33c93_LINKLIB) :: $(kernel-hidd-scsiwd33c93_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-scsiwd33c93_LIBDIR) + +endif + +ifneq ($(kernel-hidd-scsiwd33c93_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(HOST_AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(KERNEL_AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_LINKLIBNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : $(kernel-hidd-scsiwd33c93_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-scsiwd33c93_AR) $@ $^ + $(Q)$(kernel-hidd-scsiwd33c93_RANLIB) $@ +ifneq ($(kernel-hidd-scsiwd33c93_LC_MODNAME),$(kernel-hidd-scsiwd33c93_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_DEFNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_DEFNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_DEFNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(HOST_AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_DEFNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_DEFNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_AR:=$(KERNEL_AR) +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_DEFNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : kernel-hidd-scsiwd33c93_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-scsiwd33c93_LIBDIR)/lib$(kernel-hidd-scsiwd33c93_DEFNAME)_rel$(kernel-hidd-scsiwd33c93_LIBSUFFIX).a : $(kernel-hidd-scsiwd33c93_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-scsiwd33c93_AR) $@ $^ + $(Q)$(kernel-hidd-scsiwd33c93_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-scsiwd33c93_RELLINKLIB),) +$(kernel-hidd-scsiwd33c93_RELLINKLIB) : | $(kernel-hidd-scsiwd33c93_LIBDIR) +else +$(kernel-hidd-scsiwd33c93_RELLINKLIB) :: $(kernel-hidd-scsiwd33c93_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-scsiwd33c93_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-scsiwd33c93_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-scsiwd33c93_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-scsiwd33c93_SYMBOLS := $(kernel-hidd-scsiwd33c93_KBASE) + +kernel-hidd-scsiwd33c93_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-scsiwd33c93_KOBJ_LIBS := $(filter-out $(kernel-hidd-scsiwd33c93_KLIB),$(kernel-hidd-scsiwd33c93_LIBS)) $(kernel-hidd-scsiwd33c93_KAUTOLIB) +$(kernel-hidd-scsiwd33c93_KOBJ) : LINKLIBS:=$(kernel-hidd-scsiwd33c93_KOBJ_LIBS) $($(kernel-hidd-scsiwd33c93_DEFNAME)_LIBS) +$(kernel-hidd-scsiwd33c93_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-scsiwd33c93_SYMBOLS)) +$(kernel-hidd-scsiwd33c93_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-scsiwd33c93_KOBJ) : $(kernel-hidd-scsiwd33c93_OBJS) $(USER_OBJS) $(kernel-hidd-scsiwd33c93_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-scsiwd33c93_DEPS := $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/,$(notdir $(kernel-hidd-scsiwd33c93_CCFILES:=.d) $(kernel-hidd-scsiwd33c93_TARGETCCFILES:=.d) $(kernel-hidd-scsiwd33c93_CXXFILES:=.d))) $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib/,$(notdir $(kernel-hidd-scsiwd33c93_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-scsiwd33c93_DEPS),) + ifneq (kernel-hidd-scsiwd33c93 kernel-hidd-scsiwd33c93-quick kernel-hidd-scsiwd33c93-kobj kernel-hidd-scsiwd33c93-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-scsiwd33c93 kernel-hidd-scsiwd33c93-quick kernel-hidd-scsiwd33c93-kobj kernel-hidd-scsiwd33c93-kobj-quick),) + -include $(kernel-hidd-scsiwd33c93_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-scsiwd33c93_DEPS) + endif + endif +endif + +$(kernel-hidd-scsiwd33c93_OBJS) $(kernel-hidd-scsiwd33c93_DEPS) : | $(kernel-hidd-scsiwd33c93_OBJDIR)/linklib + +ifneq ($(kernel-hidd-scsiwd33c93_OBJS) $(kernel-hidd-scsiwd33c93_DEPS) $(kernel-hidd-scsiwd33c93_MODULE) $(kernel-hidd-scsiwd33c93_KOBJ),) +$(kernel-hidd-scsiwd33c93_OBJS) $(kernel-hidd-scsiwd33c93_DEPS) $(kernel-hidd-scsiwd33c93_MODULE) $(kernel-hidd-scsiwd33c93_KOBJ) : | $(kernel-hidd-scsiwd33c93_OBJDIR) $(AROSDIR)/$(kernel-hidd-scsiwd33c93_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-scsiwd33c93_OBJS) $(kernel-hidd-scsiwd33c93_DEPS) $(kernel-hidd-scsiwd33c93_MODULE) $(kernel-hidd-scsiwd33c93_KOBJ) :: $(kernel-hidd-scsiwd33c93_OBJDIR) $(AROSDIR)/$(kernel-hidd-scsiwd33c93_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-scsiwd33c93_OBJDIR) $(AROSDIR)/$(kernel-hidd-scsiwd33c93_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-scsiwd33c93 kernel-hidd-scsiwd33c93-includes kernel-hidd-scsiwd33c93-quick kernel-hidd-scsiwd33c93-kobj kernel-hidd-scsiwd33c93-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-scsiwd33c93_DFILE_DEPS := $(kernel-hidd-scsiwd33c93_LIBDEFSINC) $(kernel-hidd-scsiwd33c93_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-scsiwd33c93_INCDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) +$(kernel-hidd-scsiwd33c93_DEPS) : $(kernel-hidd-scsiwd33c93_DFILE_DEPS) +endif + +kernel-hidd-scsiwd33c93_TOCLEAN := $(kernel-hidd-scsiwd33c93_OBJS) $(kernel-hidd-scsiwd33c93_DEPS) \ + $(kernel-hidd-scsiwd33c93_MODULE) $(kernel-hidd-scsiwd33c93_LINKLIB) $(kernel-hidd-scsiwd33c93_KOBJ) \ + $(kernel-hidd-scsiwd33c93_OBJDIR)/Makefile.scsi_wd33c93hidd \ + $(addprefix $(kernel-hidd-scsiwd33c93_OBJDIR)/include/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-scsiwd33c93_INCDIR)/,$($(kernel-hidd-scsiwd33c93_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_geninc $(kernel-hidd-scsiwd33c93_OBJDIR)/scsi_wd33c93_incs \ + $(addsuffix .c,$(kernel-hidd-scsiwd33c93_LINKLIBFILES)) $(kernel-hidd-scsiwd33c93_LINKLIBOBJS) $(kernel-hidd-scsiwd33c93_LIBDEFSINC) \ + $(kernel-hidd-scsiwd33c93_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-scsiwd33c93_STARTFILES) $(kernel-hidd-scsiwd33c93_ENDFILES)) \ + $(kernel-hidd-scsiwd33c93_ENDOBJS) +kernel-hidd-scsiwd33c93-clean : FILES := $(kernel-hidd-scsiwd33c93_TOCLEAN) +kernel-hidd-scsiwd33c93-clean :: + $(Q)$(ECHO) "Cleaning up for module scsi_wd33c93" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-scsiwd33c93_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/serialmouse/mmakefile b/rom/hidds/serialmouse/mmakefile new file mode 100644 index 00000000000..c6243afbf90 --- /dev/null +++ b/rom/hidds/serialmouse/mmakefile @@ -0,0 +1,1660 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := startup mouseclass drv_serial + +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-serialmouse +#MM kernel-hidd-serialmouse-quick +#MM kernel-hidd-serialmouse-makefile +#MM kernel-hidd-serialmouse-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-serialmouse-includes +#MM- linklibs-serialmouse: kernel-hidd-serialmouse-linklib +#MM- linklibs-serialmouse_rel : kernel-hidd-serialmouse-linklib +#MM- includes-serialmouse: kernel-hidd-serialmouse-includes +#MM- includes-serialmouse_rel : kernel-hidd-serialmouse-includes +#MM- kernel-hidd-serialmouse : kernel-hidd-serialmouse-includes core-linklibs linklibs-hiddstubs +#MM kernel-hidd-serialmouse-linklib : kernel-hidd-serialmouse-includes includes-hiddstubs +#MM- kernel-hidd-serialmouse-quick : kernel-hidd-serialmouse-includes-quick +#MM kernel-hidd-serialmouse-includes : kernel-hidd-serialmouse-makefile kernel-hidd-serialmouse-includes-dirs \ +#MM includes-generate-deps kernel-hidd-serialmouse-fd +#MM kernel-hidd-serialmouse-includes-quick +#MM kernel-hidd-serialmouse-includes-dirs +#MM kernel-hidd-serialmouse-fd + +# Library targets +#MM kernel-hidd-serialmouse-kobj : core-linklibs linklibs-hiddstubs +#MM kernel-hidd-serialmouse-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-serialmouse-kobj : kernel-hidd-serialmouse-includes core-linklibs linklibs-hiddstubs +#MM kernel-hidd-serialmouse-kobj-quick : kernel-hidd-serialmouse-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-serialmouse_ALLTARGETS := kernel-hidd-serialmouse kernel-hidd-serialmouse-quick kernel-hidd-serialmouse-clean + +ifeq (M,M) +kernel-hidd-serialmouse_ALLTARGETS += kernel-hidd-serialmouse-kobj kernel-hidd-serialmouse-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-serialmouse_ALLTARGETS += kernel-hidd-serialmouse-includes \ + kernel-hidd-serialmouse-includes-quick kernel-hidd-serialmouse-includes-dirs \ + kernel-hidd-serialmouse-linklib kernel-hidd-serialmouse-fd +endif + +.PHONY : $(kernel-hidd-serialmouse_ALLTARGETS) kernel-hidd-serialmouse-makefile + +ifeq (serialmouse,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-serialmouse_DEFNAME := serialmouse_ +else + kernel-hidd-serialmouse_DEFNAME := serialmouse +endif +kernel-hidd-serialmouse_DEFLINKLIBNAME := $(kernel-hidd-serialmouse_DEFNAME) +ifneq (,) + kernel-hidd-serialmouse_LINKLIBNAME := +else + kernel-hidd-serialmouse_LINKLIBNAME = $(kernel-hidd-serialmouse_DEFLINKLIBNAME) +endif +kernel-hidd-serialmouse_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-serialmouse_DEFCPPFLAGS += -I +endif +kernel-hidd-serialmouse_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-serialmouse_DFLAGS := +else + kernel-hidd-serialmouse_DFLAGS = $(kernel-hidd-serialmouse_DEFDFLAGS) +endif +kernel-hidd-serialmouse_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-serialmouse_DXXFLAGS := +else + kernel-hidd-serialmouse_DXXFLAGS = $(kernel-hidd-serialmouse_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-serialmouse_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-serialmouse_DEFDFLAGS)) +kernel-hidd-serialmouse_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-serialmouse_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-serialmouse_FUNCINSTR := yes +kernel-hidd-serialmouse_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-serialmouse_DEFDFLAGS)) +kernel-hidd-serialmouse_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-serialmouse_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-serialmouse_OBJDIR := +else +kernel-hidd-serialmouse_OBJDIR := $(OBJDIR)/$(kernel-hidd-serialmouse_DEFNAME) +endif +ifneq (,) +kernel-hidd-serialmouse_OBJDIR := $(kernel-hidd-serialmouse_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-serialmouse-makefile := $(kernel-hidd-serialmouse_OBJDIR)/Makefile.$(kernel-hidd-serialmouse_DEFNAME)hidd +kernel-hidd-serialmouse-genmakefile : $(kernel-hidd-serialmouse-makefile) + + +kernel-hidd-serialmouse-genmakefile_OPTS := +ifneq (,) + kernel-hidd-serialmouse-genmakefile_OPTS += -f + kernel-hidd-serialmouse-genmakefile_MODNAME := serialmouse_ +else + kernel-hidd-serialmouse-genmakefile_MODNAME := serialmouse +endif +kernel-hidd-serialmouse-genmakefile_TARGET := Makefile.$(kernel-hidd-serialmouse-genmakefile_MODNAME)hidd +kernel-hidd-serialmouse-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-serialmouse-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-serialmouse-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-serialmouse-genmakefile_OPTS += -c + kernel-hidd-serialmouse-genmakefile_DEPS += + endif +else + kernel-hidd-serialmouse-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/serialmouse.conf + kernel-hidd-serialmouse-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/serialmouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-serialmouse-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-serialmouse-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-serialmouse-genmakefile_OPTS += -o + kernel-hidd-serialmouse-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-serialmouse-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-serialmouse_OBJDIR),) + kernel-hidd-serialmouse-genmakefile_OPTS += -d $(kernel-hidd-serialmouse_OBJDIR) + kernel-hidd-serialmouse-genmakefile_TARGET := $(kernel-hidd-serialmouse_OBJDIR)/$(kernel-hidd-serialmouse-genmakefile_TARGET) +endif + +$(kernel-hidd-serialmouse-genmakefile_TARGET) : OPTS := $(kernel-hidd-serialmouse-genmakefile_OPTS) +$(kernel-hidd-serialmouse-genmakefile_TARGET) : MODNAME := serialmouse +$(kernel-hidd-serialmouse-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-serialmouse-genmakefile_TARGET) : $(kernel-hidd-serialmouse-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-serialmouse-makefile),) +$(kernel-hidd-serialmouse-makefile) : | $(kernel-hidd-serialmouse_OBJDIR) +else +$(kernel-hidd-serialmouse-makefile) :: $(kernel-hidd-serialmouse_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-serialmouse_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-serialmouse_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-serialmouse-makefile) + +kernel-hidd-serialmouse_DEFMODDIR := $($(kernel-hidd-serialmouse_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-serialmouse_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-serialmouse_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-serialmouse_MODDIR := +else + kernel-hidd-serialmouse_MODDIR := $(kernel-hidd-serialmouse_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-serialmouse_INCDIR := +else +kernel-hidd-serialmouse_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-serialmouse_LIBDEFSINC := $(kernel-hidd-serialmouse_OBJDIR)/include/$(kernel-hidd-serialmouse_DEFNAME)_libdefs.h +kernel-hidd-serialmouse_DEFLIBDEFSINC := $(kernel-hidd-serialmouse_OBJDIR)/include/$(kernel-hidd-serialmouse_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-serialmouse-includes-quick : kernel-hidd-serialmouse-includes +kernel-hidd-serialmouse-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-serialmouse_INCDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-serialmouse_LIBDEFSINC) $(kernel-hidd-serialmouse_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-serialmouse-includes_MODNAME := serialmouse_ +else + kernel-hidd-serialmouse-includes_MODNAME := serialmouse +endif + +ifneq ($($(kernel-hidd-serialmouse-includes_MODNAME)_INCLUDES),) + +kernel-hidd-serialmouse-includes_TARGETS := $($(kernel-hidd-serialmouse-includes_MODNAME)_INCLUDES) + +kernel-hidd-serialmouse-includes_DEPS := $(GENMODULE) +kernel-hidd-serialmouse-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-serialmouse-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-serialmouse-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-serialmouse-includes_OPTS += -c + kernel-hidd-serialmouse-includes_DEPS += + endif +else + kernel-hidd-serialmouse-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/serialmouse.conf + kernel-hidd-serialmouse-includes_DEPS += $(SRCDIR)/$(CURDIR)/serialmouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-serialmouse-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-serialmouse-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-serialmouse-includes_OPTS += -o + kernel-hidd-serialmouse-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-serialmouse-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-serialmouse_OBJDIR)/include,) + kernel-hidd-serialmouse-includes_OPTS += -d $(kernel-hidd-serialmouse_OBJDIR)/include + kernel-hidd-serialmouse-includes_TARGETS := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/include/,$(kernel-hidd-serialmouse-includes_TARGETS)) + kernel-hidd-serialmouse-includes_GENINCFLAG=$(kernel-hidd-serialmouse_OBJDIR)/include/.serialmouse.hidd-includes +else + kernel-hidd-serialmouse-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.serialmouse.hidd-includes +endif + +$(kernel-hidd-serialmouse-includes_TARGETS) : $(kernel-hidd-serialmouse-includes_DEPS) $(kernel-hidd-serialmouse-includes_GENINCFLAG) + +$(kernel-hidd-serialmouse-includes_GENINCFLAG) : OPTS := $(kernel-hidd-serialmouse-includes_OPTS) +$(kernel-hidd-serialmouse-includes_GENINCFLAG) : MODNAME := serialmouse +$(kernel-hidd-serialmouse-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-serialmouse-includes_GENINCFLAG) : $(kernel-hidd-serialmouse-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-serialmouse_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) : | $(kernel-hidd-serialmouse_OBJDIR)/serialmouse_geninc + +$(kernel-hidd-serialmouse_OBJDIR)/serialmouse_geninc : COPYSRCDIR := $(kernel-hidd-serialmouse_OBJDIR)/include +$(kernel-hidd-serialmouse_OBJDIR)/serialmouse_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-serialmouse_OBJDIR)/serialmouse_geninc : FILES := $($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES) +$(kernel-hidd-serialmouse_OBJDIR)/serialmouse_geninc : $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/include/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-serialmouse_OBJDIR)/include + +$(addprefix $(kernel-hidd-serialmouse_INCDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) : | $(kernel-hidd-serialmouse_OBJDIR)/serialmouse_incs + +$(kernel-hidd-serialmouse_OBJDIR)/serialmouse_incs : COPYSRCDIR := $(kernel-hidd-serialmouse_OBJDIR)/include +$(kernel-hidd-serialmouse_OBJDIR)/serialmouse_incs : TGTDIR := $(kernel-hidd-serialmouse_INCDIR) +$(kernel-hidd-serialmouse_OBJDIR)/serialmouse_incs : FILES := $($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES) +$(kernel-hidd-serialmouse_OBJDIR)/serialmouse_incs : $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/include/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-serialmouse_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)))) + +TMPserialmouse_INCDIRS := \ + $(kernel-hidd-serialmouse_OBJDIR)/include $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/include/,$(kernel-hidd-serialmouse_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-serialmouse_INCDIRS)) \ + $(kernel-hidd-serialmouse_INCDIR) $(addprefix $(kernel-hidd-serialmouse_INCDIR)/,$(kernel-hidd-serialmouse_INCDIRS)) + +ifneq (kernel-hidd-serialmouse-includes-dirs,) +kernel-hidd-serialmouse-includes-dirs : | $(TMPserialmouse_INCDIRS) +else +kernel-hidd-serialmouse-includes-dirs :: $(TMPserialmouse_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPserialmouse_INCDIRS) + + +endif + +endif + + +kernel-hidd-serialmouse-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-serialmouse-genlibdefs_OPTS += -f + kernel-hidd-serialmouse-genlibdefs_MODNAME := serialmouse_ +else + kernel-hidd-serialmouse-genlibdefs_MODNAME := serialmouse +endif +kernel-hidd-serialmouse-genlibdefs_TARGET := $(kernel-hidd-serialmouse-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-serialmouse-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-serialmouse-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-serialmouse-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-serialmouse-genlibdefs_OPTS += -c + kernel-hidd-serialmouse-genlibdefs_DEPS += + endif +else + kernel-hidd-serialmouse-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/serialmouse.conf + kernel-hidd-serialmouse-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/serialmouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-serialmouse-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-serialmouse-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-serialmouse-genlibdefs_OPTS += -o + kernel-hidd-serialmouse-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-serialmouse-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-serialmouse_OBJDIR)/include,) + kernel-hidd-serialmouse-genlibdefs_OPTS += -d $(kernel-hidd-serialmouse_OBJDIR)/include + kernel-hidd-serialmouse-genlibdefs_TARGET := $(kernel-hidd-serialmouse_OBJDIR)/include/$(kernel-hidd-serialmouse-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-serialmouse-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-serialmouse-genlibdefs_TARGET) : OPTS := $(kernel-hidd-serialmouse-genlibdefs_OPTS) +$(kernel-hidd-serialmouse-genlibdefs_TARGET) : MODNAME := serialmouse +$(kernel-hidd-serialmouse-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-serialmouse-genlibdefs_TARGET) : $(kernel-hidd-serialmouse-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-serialmouse_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-serialmouse_LIBDEFSINC) +$(kernel-hidd-serialmouse_DEFLIBDEFSINC) : $(kernel-hidd-serialmouse_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-serialmouse_LIBDEFSINC) $(kernel-hidd-serialmouse_DEFLIBDEFSINC) : | $(kernel-hidd-serialmouse_OBJDIR)/include + +ifneq (kernel-hidd-serialmouse-includes-dirs,) +kernel-hidd-serialmouse-includes-dirs : | $(kernel-hidd-serialmouse_OBJDIR)/include +else +kernel-hidd-serialmouse-includes-dirs :: $(kernel-hidd-serialmouse_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-serialmouse_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-serialmouse-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-serialmouse-genmodfiles_OPTS += -f + kernel-hidd-serialmouse-genmodfiles_MODNAME := serialmouse_ +else + kernel-hidd-serialmouse-genmodfiles_MODNAME := serialmouse +endif +kernel-hidd-serialmouse-genmodfiles_GENTARGETS := $($(kernel-hidd-serialmouse-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-serialmouse-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-serialmouse-genmodfiles_STUBTARGETS := $($(kernel-hidd-serialmouse-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-serialmouse-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-serialmouse-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-serialmouse-genmodfiles_GENTARGETS)) +kernel-hidd-serialmouse-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-serialmouse-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-serialmouse-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-serialmouse-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-serialmouse-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-serialmouse-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-serialmouse-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-serialmouse-genmodfiles_OPTS += -c + kernel-hidd-serialmouse-genmodfiles_DEPS += + endif +else + kernel-hidd-serialmouse-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/serialmouse.conf + kernel-hidd-serialmouse-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/serialmouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-serialmouse-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-serialmouse-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-serialmouse-genmodfiles_OPTS += -o + kernel-hidd-serialmouse-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-serialmouse-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-serialmouse_OBJDIR),) + kernel-hidd-serialmouse-genmodfiles_OPTS += -d $(kernel-hidd-serialmouse_OBJDIR) + kernel-hidd-serialmouse-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-serialmouse_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-serialmouse-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-serialmouse-genmodfiles_TARGETDIR)/,$(kernel-hidd-serialmouse-genmodfiles_GENTARGETS)) + kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG=$(kernel-hidd-serialmouse-genmodfiles_TARGETDIR)/.serialmouse.hidd-genfiles +else + kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.serialmouse.hidd-genfiles +endif +ifneq ($(kernel-hidd-serialmouse_OBJDIR)/linklib,) + kernel-hidd-serialmouse-genmodfiles_OPTS += -l $(kernel-hidd-serialmouse_OBJDIR)/linklib + kernel-hidd-serialmouse-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-serialmouse_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-serialmouse-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-serialmouse-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-serialmouse-genmodfiles_STUBTARGETS)) + kernel-hidd-serialmouse-genmodfiles_TARGETDIRS += $(kernel-hidd-serialmouse_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-serialmouse_OBJDIR),) + kernel-hidd-serialmouse-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-serialmouse-genmodfiles_TARGETDIR)/,$(kernel-hidd-serialmouse-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-serialmouse-genmodfiles_TARGETS := $(kernel-hidd-serialmouse-genmodfiles_GENTARGETS) $(kernel-hidd-serialmouse-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-serialmouse-genmodfiles_TARGETDIRS),) +$(kernel-hidd-serialmouse-genmodfiles_TARGETS) : | $(kernel-hidd-serialmouse-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-serialmouse-genmodfiles_TARGETS) : $(kernel-hidd-serialmouse-genmodfiles_DEPS) $(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-serialmouse-genmodfiles_OPTS) +$(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG) : MODNAME := serialmouse +$(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG) : $(kernel-hidd-serialmouse-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG) : $(kernel-hidd-serialmouse_DEFLIBDEFSINC) $(kernel-hidd-serialmouse-makefile) + + +ifneq ($(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-serialmouse_OBJDIR)/linklib +else +$(kernel-hidd-serialmouse-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-serialmouse_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-serialmouse_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-serialmouse_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-serialmouse_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-serialmouse-fd : $(kernel-hidd-serialmouse_FDDIR)/serialmouse_lib.fd + + +TMP_TARGET := serialmouse_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/serialmouse.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/serialmouse.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-serialmouse_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-serialmouse_FDDIR) + TMP_TARGET := $(kernel-hidd-serialmouse_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := serialmouse +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-serialmouse_FDDIR)/serialmouse_lib.fd : | $(kernel-hidd-serialmouse_FDDIR) + + +ifneq (kernel-hidd-serialmouse-fd-setup,) +kernel-hidd-serialmouse-fd-setup : | $(kernel-hidd-serialmouse_FDDIR) +else +kernel-hidd-serialmouse-fd-setup :: $(kernel-hidd-serialmouse_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-serialmouse_FDDIR) + +endif + +## Compilation +## +kernel-hidd-serialmouse_FILES := $(FILES) +kernel-hidd-serialmouse_OBJCFILES := +kernel-hidd-serialmouse_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-serialmouse_LIBFILES := +kernel-hidd-serialmouse_LIBS := hiddstubs + +kernel-hidd-serialmouse_FDIRS := $(sort $(dir $(kernel-hidd-serialmouse_FILES))) + +kernel-hidd-serialmouse_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-serialmouse_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-serialmouse_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-serialmouse_FILTERARCH = $(filter-out $(call kernel-hidd-serialmouse_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-serialmouse_STARTFILES := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_STARTFILES)) +kernel-hidd-serialmouse_ENDFILES := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_ENDFILES)) + +kernel-hidd-serialmouse_ARCHOBJS := $(wildcard $(kernel-hidd-serialmouse_OBJDIR)/arch/*.o) +kernel-hidd-serialmouse_LIBARCHOBJS := $(wildcard $(kernel-hidd-serialmouse_OBJDIR)/linklib/arch/*.o) +kernel-hidd-serialmouse_ARCHFILES := $(basename $(notdir $(kernel-hidd-serialmouse_ARCHOBJS))) +kernel-hidd-serialmouse_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-serialmouse_LIBARCHOBJS))) +kernel-hidd-serialmouse_C_NARCHFILES := $(call kernel-hidd-serialmouse_FILTERARCH,$(kernel-hidd-serialmouse_ARCHFILES),$(kernel-hidd-serialmouse_FILES)) +kernel-hidd-serialmouse_CXX_NARCHFILES := $(call kernel-hidd-serialmouse_FILTERARCH,$(kernel-hidd-serialmouse_ARCHFILES),$(kernel-hidd-serialmouse_CXXFILES)) +kernel-hidd-serialmouse_OBJC_NARCHFILES := $(call kernel-hidd-serialmouse_FILTERARCH,$(kernel-hidd-serialmouse_ARCHFILES),$(kernel-hidd-serialmouse_OBJCFILES)) +kernel-hidd-serialmouse_NLIBARCHFILES := $(call kernel-hidd-serialmouse_FILTERARCH,$(kernel-hidd-serialmouse_LIBARCHFILES),$(kernel-hidd-serialmouse_LIBFILES)) +kernel-hidd-serialmouse_ARCHNLIBFILES := $(call kernel-hidd-serialmouse_FILTERARCH,$(kernel-hidd-serialmouse_LIBFILES),$(kernel-hidd-serialmouse_LIBARCHFILES)) + +kernel-hidd-serialmouse_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-serialmouse_OBJDIR)/include -include $(kernel-hidd-serialmouse_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-serialmouse_CPPFLAGS += -I +endif +kernel-hidd-serialmouse_LINKLIBCPPFLAGS := $(kernel-hidd-serialmouse_CPPFLAGS) +kernel-hidd-serialmouse_CPPFLAGS += $(strip $($(kernel-hidd-serialmouse_DEFNAME)_CPPFLAGS)) +kernel-hidd-serialmouse_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-serialmouse_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-serialmouse_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-serialmouse_DEFNAME)_CFLAGS)) +kernel-hidd-serialmouse_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-serialmouse_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-serialmouse_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-serialmouse_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-serialmouse_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-serialmouse_CFLAGS := $(strip $(kernel-hidd-serialmouse_LTOFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +kernel-hidd-serialmouse_LINKLIBCFLAGS := $(strip $(kernel-hidd-serialmouse_LTOFLAGS) $(kernel-hidd-serialmouse_LINKLIBCFLAGS)) +kernel-hidd-serialmouse_CXXFLAGS := $(strip $(kernel-hidd-serialmouse_LTOFLAGS) $(kernel-hidd-serialmouse_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-serialmouse_SUBSTNULL := +kernel-hidd-serialmouse_SUBSTSPACE := $(kernel-hidd-serialmouse_SUBSTNULL) # +kernel-hidd-serialmouse_SUBSTCOMMA := , +kernel-hidd-serialmouse_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-serialmouse_SUBSTSPACE),$(kernel-hidd-serialmouse_SUBSTCOMMA),$(strip $($(kernel-hidd-serialmouse_DEFNAME)_STARTFILES)))) +kernel-hidd-serialmouse_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-serialmouse_CFLAGS := $(strip $(kernel-hidd-serialmouse_INSTRFUNCFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +kernel-hidd-serialmouse_CXXFLAGS := $(strip $(kernel-hidd-serialmouse_INSTRFUNCFLAGS) $(kernel-hidd-serialmouse_CXXFLAGS)) +kernel-hidd-serialmouse_LIBS += $(kernel-hidd-serialmouse_INSTRFUNCLIBS) +endif +endif +kernel-hidd-serialmouse_DFLAGS := $(strip $(kernel-hidd-serialmouse_DFLAGS) $($(kernel-hidd-serialmouse_DEFNAME)_DFLAGS)) +kernel-hidd-serialmouse_LINKLIBDFLAGS := $(strip $(kernel-hidd-serialmouse_DFLAGS) $($(kernel-hidd-serialmouse_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-serialmouse_DXXFLAGS := $(strip $(kernel-hidd-serialmouse_DXXFLAGS) $($(kernel-hidd-serialmouse_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-serialmouse_LIBSUFFIX := +else + kernel-hidd-serialmouse_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-serialmouse_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-serialmouse_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-serialmouse_LINKLIBCFILES := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$($(kernel-hidd-serialmouse_DEFNAME)_LINKLIBFILES)) +kernel-hidd-serialmouse_LINKLIBAFILES := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$($(kernel-hidd-serialmouse_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-serialmouse_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-serialmouse_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-serialmouse_ARCHNLIBFILES)),) + kernel-hidd-serialmouse_LINKLIB := +else + kernel-hidd-serialmouse_LINKLIB := $(kernel-hidd-serialmouse_LIBDIR)/libserialmouse$(kernel-hidd-serialmouse_LIBSUFFIX).a + ifneq (serialmouse,$(kernel-hidd-serialmouse_LINKLIBNAME)) + kernel-hidd-serialmouse_LINKLIB += $(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)$(kernel-hidd-serialmouse_LIBSUFFIX).a + endif +endif +kernel-hidd-serialmouse_LINKLIBFILES := $(kernel-hidd-serialmouse_LINKLIBCFILES) $(kernel-hidd-serialmouse_LINKLIBAFILES) + +kernel-hidd-serialmouse_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$($(kernel-hidd-serialmouse_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-serialmouse_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$($(kernel-hidd-serialmouse_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-serialmouse_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-serialmouse_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-serialmouse_ARCHNLIBFILES)),) + kernel-hidd-serialmouse_RELLINKLIB := +else + kernel-hidd-serialmouse_RELLINKLIB := $(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_DEFNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a + ifneq (serialmouse,$(kernel-hidd-serialmouse_LINKLIBNAME)) + kernel-hidd-serialmouse_RELLINKLIB += $(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a + endif +endif +kernel-hidd-serialmouse_RELLINKLIBFILES := $(kernel-hidd-serialmouse_RELLINKLIBCFILES) $(kernel-hidd-serialmouse_RELLINKLIBAFILES) +endif + +kernel-hidd-serialmouse_ENDOBJS := $(addsuffix .o,$(kernel-hidd-serialmouse_ENDFILES)) +kernel-hidd-serialmouse_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(notdir $(kernel-hidd-serialmouse_NLIBARCHFILES))) $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-serialmouse_ARCHNLIBFILES))) $(kernel-hidd-serialmouse_LINKLIBFILES)) \ + +kernel-hidd-serialmouse_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(notdir $(kernel-hidd-serialmouse_NLIBARCHFILES))) $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-serialmouse_ARCHNLIBFILES))) $(kernel-hidd-serialmouse_RELLINKLIBFILES)) \ + +$(kernel-hidd-serialmouse_LINKLIBFILES) $(kernel-hidd-serialmouse_RELLINKLIBFILES) : | $(kernel-hidd-serialmouse_OBJDIR)/linklib +$(kernel-hidd-serialmouse_LINKLIBOBJS) $(kernel-hidd-serialmouse_RELLINKLIBOBJS) : | $(kernel-hidd-serialmouse_OBJDIR)/linklib + +kernel-hidd-serialmouse_CCFILES := $(kernel-hidd-serialmouse_C_NARCHFILES) +kernel-hidd-serialmouse_TARGETCCFILES := $(strip $(kernel-hidd-serialmouse_STARTFILES) $(kernel-hidd-serialmouse_ENDFILES)) +kernel-hidd-serialmouse_LINKLIBCCFILES := $(strip $(kernel-hidd-serialmouse_NLIBARCHFILES) $(kernel-hidd-serialmouse_LINKLIBCFILES) $(kernel-hidd-serialmouse_RELLINKLIBCFILES)) +kernel-hidd-serialmouse_LINKLIBCCGENFILES := $(strip $(kernel-hidd-serialmouse_LINKLIBCFILES) $(kernel-hidd-serialmouse_RELLINKLIBCFILES)) + + +kernel-hidd-serialmouse_CXXABSBASENAMES := $(foreach kernel-hidd-serialmouse_CXXBASE,$(kernel-hidd-serialmouse_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-serialmouse_CXXBASE)),$(kernel-hidd-serialmouse_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-serialmouse_CXXBASE)))) + +ifneq ($(kernel-hidd-serialmouse_CXXABSBASENAMES),) + +kernel-hidd-serialmouse_CXXBASENAMES := $(basename $(kernel-hidd-serialmouse_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-serialmouse_MCXX_FILES := $(strip $(foreach kernel-hidd-serialmouse_CXXBASE,$(kernel-hidd-serialmouse_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-serialmouse_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-serialmouse_EXT),$(kernel-hidd-serialmouse_CXXBASE))))))) + +ifeq (,) +kernel-hidd-serialmouse_MCXX_SRCWILDCARD := % +else +kernel-hidd-serialmouse_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-serialmouse_OBJDIR),) + kernel-hidd-serialmouse_CXXTARGETS := $(notdir $(kernel-hidd-serialmouse_CXXBASENAMES:=.o)) + kernel-hidd-serialmouse_CXXDTARGETS := $(notdir $(kernel-hidd-serialmouse_CXXBASENAMES:=.d)) + kernel-hidd-serialmouse_MCXX_WILDCARD := % +else + kernel-hidd-serialmouse_CXXTARGETS := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(kernel-hidd-serialmouse_CXXBASENAMES:=.o))) + kernel-hidd-serialmouse_CXXDTARGETS := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(kernel-hidd-serialmouse_CXXBASENAMES:=.d))) + kernel-hidd-serialmouse_MCXX_WILDCARD := $(kernel-hidd-serialmouse_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-serialmouse_CXXTARGETS) $(kernel-hidd-serialmouse_CXXDTARGETS) : | $(kernel-hidd-serialmouse_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-serialmouse_MCXX_CPPFLAGS := $(kernel-hidd-serialmouse_CPPFLAGS) +kernel-hidd-serialmouse_CXXFLAGS := $(kernel-hidd-serialmouse_CXXFLAGS) +ifeq ($(kernel-hidd-serialmouse_DXXFLAGS),) + kernel-hidd-serialmouse_DXXFLAGS := $(kernel-hidd-serialmouse_CXXFLAGS) +else + kernel-hidd-serialmouse_DXXFLAGS := $(kernel-hidd-serialmouse_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-serialmouse_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-serialmouse_STRIP ?= $(HOST_STRIP) + kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-serialmouse_CXXCMD:=$(HOST_CXX) + kernel-hidd-serialmouse_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-serialmouse_MCXX_CPPFLAGS) $(kernel-hidd-serialmouse_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-serialmouse_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-serialmouse_CXXFLAGS)) + kernel-hidd-serialmouse_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-serialmouse_DXXFLAGS)) + kernel-hidd-serialmouse_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-serialmouse_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-serialmouse_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-serialmouse_STRIP ?= $(TARGET_STRIP) + kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-serialmouse_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-serialmouse_MCXX_CPPFLAGS := $(strip $(kernel-hidd-serialmouse_MCXX_CPPFLAGS) $(kernel-hidd-serialmouse_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-serialmouse_CXXFLAGS := $(strip $(kernel-hidd-serialmouse_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-serialmouse_DXXFLAGS := $(kernel-hidd-serialmouse_DXXFLAGS) + kernel-hidd-serialmouse_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-serialmouse_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-serialmouse_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-serialmouse_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-serialmouse_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-serialmouse_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-serialmouse_MCXX_CPPFLAGS) $(kernel-hidd-serialmouse_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-serialmouse_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-serialmouse_CXXFLAGS)) + kernel-hidd-serialmouse_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-serialmouse_DXXFLAGS)) + kernel-hidd-serialmouse_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-serialmouse_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-serialmouse_CXXCMD) $(kernel-hidd-serialmouse_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-serialmouse_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_CXXIQUOTE) . $(kernel-hidd-serialmouse_CXXIQUOTE_END) $(strip $(kernel-hidd-serialmouse_CXXFLAGS) $(kernel-hidd-serialmouse_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-serialmouse_CXXCMD) $(kernel-hidd-serialmouse_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-serialmouse_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_CXXIQUOTE) . $(kernel-hidd-serialmouse_CXXIQUOTE_END) $(strip $(kernel-hidd-serialmouse_CXXFLAGS) $(kernel-hidd-serialmouse_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-serialmouse_CXXCMD) $(kernel-hidd-serialmouse_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-serialmouse_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_CXXIQUOTE) . $(kernel-hidd-serialmouse_CXXIQUOTE_END) $(strip $(kernel-hidd-serialmouse_CXXFLAGS) $(kernel-hidd-serialmouse_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-serialmouse_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-serialmouse_DXXFLAGS) $(kernel-hidd-serialmouse_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-serialmouse_OBJDIR),) + $(foreach kernel-hidd-serialmouse_CXXFILE,$(kernel-hidd-serialmouse_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-serialmouse_CXXFILE))),$(kernel-hidd-serialmouse_CXXFILE)))) +else + $(foreach kernel-hidd-serialmouse_CXXFILE,$(kernel-hidd-serialmouse_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(basename $(kernel-hidd-serialmouse_CXXFILE)))),$(kernel-hidd-serialmouse_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-serialmouse_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-serialmouse_MOBJC_SRCWILDCARD := % +else +kernel-hidd-serialmouse_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-serialmouse_OBJDIR),) + kernel-hidd-serialmouse_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-serialmouse_OBJC_NARCHFILES)) + kernel-hidd-serialmouse_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-serialmouse_OBJC_NARCHFILES)) + kernel-hidd-serialmouse_MOBJC_WILDCARD := % +else + kernel-hidd-serialmouse_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(kernel-hidd-serialmouse_OBJC_NARCHFILES))) + kernel-hidd-serialmouse_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(kernel-hidd-serialmouse_OBJC_NARCHFILES))) + kernel-hidd-serialmouse_MOBJC_WILDCARD := $(kernel-hidd-serialmouse_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-serialmouse_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-serialmouse_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-serialmouse_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-serialmouse_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-serialmouse_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-serialmouse_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-serialmouse_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-serialmouse_MOBJC_DIRS),) + kernel-hidd-serialmouse_MOBJC_DIRS := $(shell echo $(kernel-hidd-serialmouse_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-serialmouse_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-serialmouse_CC := $(TARGET_CC) +else + kernel-hidd-serialmouse_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-serialmouse_MOBJC_CPPFLAGS := $(kernel-hidd-serialmouse_CPPFLAGS) +kernel-hidd-serialmouse_OBJCFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +kernel-hidd-serialmouse_OBJCFLAGS := $(kernel-hidd-serialmouse_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-serialmouse_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-serialmouse_OBJCFLAGS))) +ifeq ($(kernel-hidd-serialmouse_DFLAGS),) + kernel-hidd-serialmouse_OBJCDFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +else + kernel-hidd-serialmouse_OBJCDFLAGS := $(kernel-hidd-serialmouse_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-serialmouse_LINK ?= $(strip $(kernel-hidd-serialmouse_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-serialmouse_STRIP ?= $(TARGET_STRIP) + kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-serialmouse_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-serialmouse_MOBJC_CPPFLAGS) $(kernel-hidd-serialmouse_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_OBJCFLAGS:=$(strip $(kernel-hidd-serialmouse_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_OBJCDFLAGS:=$(kernel-hidd-serialmouse_OBJCDFLAGS) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-serialmouse_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-serialmouse_STRIP ?= $(HOST_STRIP) + kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-serialmouse_MOBJC_CPPFLAGS) $(kernel-hidd-serialmouse_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_OBJCFLAGS)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_OBJCDFLAGS)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-serialmouse_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-serialmouse_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-serialmouse_MOBJC_CPPFLAGS) $(kernel-hidd-serialmouse_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_OBJCFLAGS)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_OBJCDFLAGS)) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-serialmouse_MOBJC_TARGETS) $(kernel-hidd-serialmouse_MOBJC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-serialmouse_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-serialmouse_MOBJC_CPPFLAGS) +$(kernel-hidd-serialmouse_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-serialmouse_OBJCFLAGS) +$(kernel-hidd-serialmouse_MOBJC_TARGETS) : $(kernel-hidd-serialmouse_MOBJC_WILDCARD).o : $(kernel-hidd-serialmouse_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-serialmouse_MOBJC_DTARGETS) : $(kernel-hidd-serialmouse_MOBJC_WILDCARD).d : $(kernel-hidd-serialmouse_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-serialmouse_OBJCDFLAGS) $(kernel-hidd-serialmouse_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-serialmouse_MC_SRCWILDCARD := % +else +kernel-hidd-serialmouse_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-serialmouse_OBJDIR),) +kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-serialmouse_CCFILES)) +kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-serialmouse_CCFILES)) +kernel-hidd-serialmouse_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(kernel-hidd-serialmouse_CCFILES)))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(kernel-hidd-serialmouse_CCFILES)))) +else +ifeq (,) + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(kernel-hidd-serialmouse_CCFILES))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(kernel-hidd-serialmouse_CCFILES))) +else + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-serialmouse_CCFILES)))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-serialmouse_CCFILES)))) +endif +endif +kernel-hidd-serialmouse_MC_TGTWILDCARD := $(kernel-hidd-serialmouse_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-serialmouse_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-serialmouse_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-serialmouse_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-serialmouse_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-serialmouse_MC_DIRS := $(foreach dir, $(kernel-hidd-serialmouse_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-serialmouse_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-serialmouse_MC_DIRS),) + kernel-hidd-serialmouse_MC_DIRS := $(shell echo $(kernel-hidd-serialmouse_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-serialmouse_MC_DIRS) +endif + +endif + +kernel-hidd-serialmouse_MC_CPPFLAGS := $(kernel-hidd-serialmouse_CPPFLAGS) +kernel-hidd-serialmouse_CFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +ifeq ($(kernel-hidd-serialmouse_DFLAGS),) + kernel-hidd-serialmouse_DFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +else + kernel-hidd-serialmouse_DFLAGS := $(kernel-hidd-serialmouse_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-serialmouse_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(TARGET_STRIP) +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(kernel-hidd-serialmouse_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(kernel-hidd-serialmouse_DFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-serialmouse_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(HOST_STRIP) +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_DFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-serialmouse_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_DFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-serialmouse_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-serialmouse_MC_CPPFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) : CFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) : $(kernel-hidd-serialmouse_MC_TGTWILDCARD).o : $(kernel-hidd-serialmouse_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-serialmouse_MC_DTARGETS) : $(kernel-hidd-serialmouse_MC_TGTWILDCARD).d : $(kernel-hidd-serialmouse_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-serialmouse_DFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-serialmouse_MC_SRCWILDCARD := % +else +kernel-hidd-serialmouse_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-serialmouse_OBJDIR),) +kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-serialmouse_TARGETCCFILES)) +kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-serialmouse_TARGETCCFILES)) +kernel-hidd-serialmouse_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(kernel-hidd-serialmouse_TARGETCCFILES)))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(kernel-hidd-serialmouse_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(kernel-hidd-serialmouse_TARGETCCFILES))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(kernel-hidd-serialmouse_TARGETCCFILES))) +else + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-serialmouse_TARGETCCFILES)))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-serialmouse_TARGETCCFILES)))) +endif +endif +kernel-hidd-serialmouse_MC_TGTWILDCARD := $(kernel-hidd-serialmouse_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-serialmouse_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-serialmouse_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-serialmouse_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-serialmouse_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-serialmouse_MC_DIRS := $(foreach dir, $(kernel-hidd-serialmouse_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-serialmouse_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-serialmouse_MC_DIRS),) + kernel-hidd-serialmouse_MC_DIRS := $(shell echo $(kernel-hidd-serialmouse_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-serialmouse_MC_DIRS) +endif + +endif + +kernel-hidd-serialmouse_MC_CPPFLAGS := $(kernel-hidd-serialmouse_CPPFLAGS) -D__AROS__ +kernel-hidd-serialmouse_CFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +ifeq ($(kernel-hidd-serialmouse_DFLAGS),) + kernel-hidd-serialmouse_DFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +else + kernel-hidd-serialmouse_DFLAGS := $(kernel-hidd-serialmouse_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-serialmouse_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(TARGET_STRIP) +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(kernel-hidd-serialmouse_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(kernel-hidd-serialmouse_DFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-serialmouse_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(HOST_STRIP) +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_DFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-serialmouse_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_DFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-serialmouse_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-serialmouse_MC_CPPFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) : CFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) : $(kernel-hidd-serialmouse_MC_TGTWILDCARD).o : $(kernel-hidd-serialmouse_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-serialmouse_MC_DTARGETS) : $(kernel-hidd-serialmouse_MC_TGTWILDCARD).d : $(kernel-hidd-serialmouse_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-serialmouse_DFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-serialmouse_MC_SRCWILDCARD := % +else +kernel-hidd-serialmouse_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-serialmouse_OBJDIR)/linklib,) +kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-serialmouse_NLIBARCHFILES)) +kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-serialmouse_NLIBARCHFILES)) +kernel-hidd-serialmouse_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(notdir $(kernel-hidd-serialmouse_NLIBARCHFILES)))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(notdir $(kernel-hidd-serialmouse_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(kernel-hidd-serialmouse_NLIBARCHFILES))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(kernel-hidd-serialmouse_NLIBARCHFILES))) +else + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-serialmouse_NLIBARCHFILES)))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-serialmouse_NLIBARCHFILES)))) +endif +endif +kernel-hidd-serialmouse_MC_TGTWILDCARD := $(kernel-hidd-serialmouse_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-serialmouse_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-serialmouse_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-serialmouse_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-serialmouse_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-serialmouse_MC_DIRS := $(foreach dir, $(kernel-hidd-serialmouse_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-serialmouse_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-serialmouse_MC_DIRS),) + kernel-hidd-serialmouse_MC_DIRS := $(shell echo $(kernel-hidd-serialmouse_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-serialmouse_MC_DIRS) +endif + +endif + +kernel-hidd-serialmouse_MC_CPPFLAGS := $(kernel-hidd-serialmouse_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-serialmouse_CFLAGS := $(kernel-hidd-serialmouse_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-serialmouse_LINKLIBDFLAGS),) + kernel-hidd-serialmouse_DFLAGS := $(kernel-hidd-serialmouse_LINKLIBCFLAGS) +else + kernel-hidd-serialmouse_DFLAGS := $(kernel-hidd-serialmouse_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-serialmouse_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(TARGET_STRIP) +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(kernel-hidd-serialmouse_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(kernel-hidd-serialmouse_DFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-serialmouse_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(HOST_STRIP) +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_DFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-serialmouse_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_DFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-serialmouse_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-serialmouse_MC_CPPFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) : CFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) : $(kernel-hidd-serialmouse_MC_TGTWILDCARD).o : $(kernel-hidd-serialmouse_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-serialmouse_MC_DTARGETS) : $(kernel-hidd-serialmouse_MC_TGTWILDCARD).d : $(kernel-hidd-serialmouse_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-serialmouse_DFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-serialmouse_OBJDIR)/linklib,) +kernel-hidd-serialmouse_MC_SRCWILDCARD := % +else +kernel-hidd-serialmouse_MC_SRCWILDCARD := $(kernel-hidd-serialmouse_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-serialmouse_OBJDIR)/linklib,) +kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-serialmouse_LINKLIBCCGENFILES)) +kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-serialmouse_LINKLIBCCGENFILES)) +kernel-hidd-serialmouse_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(notdir $(kernel-hidd-serialmouse_LINKLIBCCGENFILES)))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(notdir $(kernel-hidd-serialmouse_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-serialmouse_OBJDIR)/linklib,) + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(kernel-hidd-serialmouse_LINKLIBCCGENFILES))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(kernel-hidd-serialmouse_LINKLIBCCGENFILES))) +else + kernel-hidd-serialmouse_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-serialmouse_OBJDIR)/linklib/%,%,$(kernel-hidd-serialmouse_LINKLIBCCGENFILES)))) + kernel-hidd-serialmouse_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-serialmouse_OBJDIR)/linklib/%,%,$(kernel-hidd-serialmouse_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-serialmouse_MC_TGTWILDCARD := $(kernel-hidd-serialmouse_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-serialmouse_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-serialmouse_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-serialmouse_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-serialmouse_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-serialmouse_MC_DIRS := $(foreach dir, $(kernel-hidd-serialmouse_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-serialmouse_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-serialmouse_MC_DIRS),) + kernel-hidd-serialmouse_MC_DIRS := $(shell echo $(kernel-hidd-serialmouse_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-serialmouse_MC_DIRS) +endif + +endif + +kernel-hidd-serialmouse_MC_CPPFLAGS := $(kernel-hidd-serialmouse_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-serialmouse_CFLAGS := $(kernel-hidd-serialmouse_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-serialmouse_LINKLIBDFLAGS),) + kernel-hidd-serialmouse_DFLAGS := $(kernel-hidd-serialmouse_LINKLIBCFLAGS) +else + kernel-hidd-serialmouse_DFLAGS := $(kernel-hidd-serialmouse_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-serialmouse_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(TARGET_STRIP) +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(kernel-hidd-serialmouse_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(kernel-hidd-serialmouse_DFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-serialmouse_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(HOST_STRIP) +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-serialmouse_DFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-serialmouse_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-serialmouse_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-serialmouse_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS) $(kernel-hidd-serialmouse_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_CFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-serialmouse_DFLAGS)) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-serialmouse_MC_TARGETS) $(kernel-hidd-serialmouse_MC_DTARGETS) : kernel-hidd-serialmouse_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-serialmouse_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-serialmouse_MC_CPPFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) : CFLAGS := $(kernel-hidd-serialmouse_CFLAGS) +$(kernel-hidd-serialmouse_MC_TARGETS) : $(kernel-hidd-serialmouse_MC_TGTWILDCARD).o : $(kernel-hidd-serialmouse_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-serialmouse_IQUOTE) $(dir $<) $(kernel-hidd-serialmouse_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-serialmouse_IQUOTE) . $(kernel-hidd-serialmouse_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-serialmouse_MC_DTARGETS) : $(kernel-hidd-serialmouse_MC_TGTWILDCARD).d : $(kernel-hidd-serialmouse_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-serialmouse_DFLAGS) $(kernel-hidd-serialmouse_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-serialmouse_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-serialmouse_OBJDIR)/linklib,) +kernel-hidd-serialmouse-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-serialmouse_LINKLIBAFILES) $(kernel-hidd-serialmouse_RELLINKLIBAFILES)) +kernel-hidd-serialmouse-MA_WILDCARD := % +else +kernel-hidd-serialmouse-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(notdir $(kernel-hidd-serialmouse_LINKLIBAFILES) $(kernel-hidd-serialmouse_RELLINKLIBAFILES)))) +kernel-hidd-serialmouse-MA_WILDCARD := $(kernel-hidd-serialmouse_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-serialmouse-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-serialmouse_LINKLIBAFILES) $(kernel-hidd-serialmouse_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-serialmouse-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-serialmouse-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-serialmouse_LINKLIBAFILES) $(kernel-hidd-serialmouse_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-serialmouse-MA_DIRS := $(foreach dir, $(kernel-hidd-serialmouse-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-serialmouse-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-serialmouse-MA_DIRS),) + kernel-hidd-serialmouse-MA_DIRS := $(shell echo $(kernel-hidd-serialmouse-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-serialmouse-MA_DIRS) +endif + +endif + +kernel-hidd-serialmouse-MA_ASSEMBLER ?= $(kernel-hidd-serialmouse_ASSEMBLER) + +$(kernel-hidd-serialmouse-MA_TARGETS) : kernel-hidd-serialmouse-MA_CMD:= $(kernel-hidd-serialmouse-MA_ASSEMBLER) + +$(kernel-hidd-serialmouse-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-serialmouse-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-serialmouse-MA_TARGETS) : $(kernel-hidd-serialmouse-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-serialmouse-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-serialmouse-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-serialmouse-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-serialmouse_SUFFIX := hidd +else +kernel-hidd-serialmouse_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-serialmouse_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-serialmouse_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-serialmouse_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-serialmouse_SUFFIX),handler) +kernel-hidd-serialmouse_MODULE := $(AROSDIR)/$(kernel-hidd-serialmouse_MODDIR)/$(kernel-hidd-serialmouse_DEFNAME)-$(kernel-hidd-serialmouse_SUFFIX) +else +kernel-hidd-serialmouse_MODULE := $(AROSDIR)/$(kernel-hidd-serialmouse_MODDIR)/$(kernel-hidd-serialmouse_DEFNAME).$(kernel-hidd-serialmouse_SUFFIX) +endif +kernel-hidd-serialmouse_KOBJ := $(KOBJSDIR)/$(kernel-hidd-serialmouse_DEFNAME)_$(kernel-hidd-serialmouse_SUFFIX).o +else +kernel-hidd-serialmouse_MODULE := +kernel-hidd-serialmouse_KOBJ := +endif + +kernel-hidd-serialmouse-quick : kernel-hidd-serialmouse +kernel-hidd-serialmouse : $(kernel-hidd-serialmouse_MODULE) $(kernel-hidd-serialmouse_LINKLIB) $(kernel-hidd-serialmouse_RELLINKLIB) +ifeq (M,M) +kernel-hidd-serialmouse-kobj : $(kernel-hidd-serialmouse_KOBJ) $(kernel-hidd-serialmouse_LINKLIB) $(kernel-hidd-serialmouse_RELLINKLIB) +kernel-hidd-serialmouse-kobj-quick : $(kernel-hidd-serialmouse_KOBJ) $(kernel-hidd-serialmouse_LINKLIB) $(kernel-hidd-serialmouse_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-serialmouse-linklib : $(kernel-hidd-serialmouse_LINKLIB) $(kernel-hidd-serialmouse_RELLINKLIB) +endif + +kernel-hidd-serialmouse_OBJS := $(addsuffix .o,$(kernel-hidd-serialmouse_STARTFILES)) $(kernel-hidd-serialmouse_ARCHOBJS) \ + $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(kernel-hidd-serialmouse_C_NARCHFILES:=.o) $(kernel-hidd-serialmouse_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-serialmouse_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (serialmouse,con) + kernel-hidd-serialmouse_ERR := $(notdir $(kernel-hidd-serialmouse_MODULE)).err +else + kernel-hidd-serialmouse_ERR := serialmouse.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-serialmouse_DEFNAME)_LDFLAGS) $(kernel-hidd-serialmouse_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-serialmouse_LIBS) $($(kernel-hidd-serialmouse_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-serialmouse_MODULE) : LIB_NAMES := $(kernel-hidd-serialmouse_LIBS) $($(kernel-hidd-serialmouse_DEFNAME)_LIBS) +$(kernel-hidd-serialmouse_MODULE) : OBJS := $(kernel-hidd-serialmouse_STARTOBJS) $(kernel-hidd-serialmouse_OBJS) $(USER_OBJS) +$(kernel-hidd-serialmouse_MODULE) : ENDTAG := $(kernel-hidd-serialmouse_ENDOBJS) +$(kernel-hidd-serialmouse_MODULE) : ERR := $(kernel-hidd-serialmouse_ERR) +$(kernel-hidd-serialmouse_MODULE) : OBJDIR := $(kernel-hidd-serialmouse_OBJDIR) +$(kernel-hidd-serialmouse_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-serialmouse_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-serialmouse_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-serialmouse_MODULE) : $(kernel-hidd-serialmouse_STARTOBJS) $(kernel-hidd-serialmouse_OBJS) $(USER_OBJS) $(kernel-hidd-serialmouse_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-serialmouse_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-serialmouse_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-serialmouse_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-serialmouse_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-serialmouse_LC_MODNAME := $(shell echo serialmouse | tr A-Z a-z) +ifneq ($(kernel-hidd-serialmouse_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(HOST_AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(KERNEL_AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)$(kernel-hidd-serialmouse_LIBSUFFIX).a : $(kernel-hidd-serialmouse_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-serialmouse_AR) $@ $^ + $(Q)$(kernel-hidd-serialmouse_RANLIB) $@ +ifneq ($(kernel-hidd-serialmouse_LC_MODNAME),$(kernel-hidd-serialmouse_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-serialmouse_LIBDIR)/libserialmouse$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(AR) +$(kernel-hidd-serialmouse_LIBDIR)/libserialmouse$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-serialmouse_LIBDIR)/libserialmouse$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(HOST_AR) +$(kernel-hidd-serialmouse_LIBDIR)/libserialmouse$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-serialmouse_LIBDIR)/libserialmouse$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(KERNEL_AR) +$(kernel-hidd-serialmouse_LIBDIR)/libserialmouse$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-serialmouse_LIBDIR)/libserialmouse$(kernel-hidd-serialmouse_LIBSUFFIX).a : $(kernel-hidd-serialmouse_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-serialmouse_AR) $@ $^ + $(Q)$(kernel-hidd-serialmouse_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-serialmouse_LINKLIB),) +$(kernel-hidd-serialmouse_LINKLIB) : | $(kernel-hidd-serialmouse_LIBDIR) +else +$(kernel-hidd-serialmouse_LINKLIB) :: $(kernel-hidd-serialmouse_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-serialmouse_LIBDIR) + +endif + +ifneq ($(kernel-hidd-serialmouse_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(HOST_AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(KERNEL_AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_LINKLIBNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : $(kernel-hidd-serialmouse_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-serialmouse_AR) $@ $^ + $(Q)$(kernel-hidd-serialmouse_RANLIB) $@ +ifneq ($(kernel-hidd-serialmouse_LC_MODNAME),$(kernel-hidd-serialmouse_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_DEFNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_DEFNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_DEFNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(HOST_AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_DEFNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_DEFNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_AR:=$(KERNEL_AR) +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_DEFNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : kernel-hidd-serialmouse_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-serialmouse_LIBDIR)/lib$(kernel-hidd-serialmouse_DEFNAME)_rel$(kernel-hidd-serialmouse_LIBSUFFIX).a : $(kernel-hidd-serialmouse_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-serialmouse_AR) $@ $^ + $(Q)$(kernel-hidd-serialmouse_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-serialmouse_RELLINKLIB),) +$(kernel-hidd-serialmouse_RELLINKLIB) : | $(kernel-hidd-serialmouse_LIBDIR) +else +$(kernel-hidd-serialmouse_RELLINKLIB) :: $(kernel-hidd-serialmouse_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-serialmouse_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-serialmouse_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-serialmouse_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-serialmouse_SYMBOLS := $(kernel-hidd-serialmouse_KBASE) + +kernel-hidd-serialmouse_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-serialmouse_KOBJ_LIBS := $(filter-out $(kernel-hidd-serialmouse_KLIB),$(kernel-hidd-serialmouse_LIBS)) $(kernel-hidd-serialmouse_KAUTOLIB) +$(kernel-hidd-serialmouse_KOBJ) : LINKLIBS:=$(kernel-hidd-serialmouse_KOBJ_LIBS) $($(kernel-hidd-serialmouse_DEFNAME)_LIBS) +$(kernel-hidd-serialmouse_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-serialmouse_SYMBOLS)) +$(kernel-hidd-serialmouse_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-serialmouse_KOBJ) : $(kernel-hidd-serialmouse_OBJS) $(USER_OBJS) $(kernel-hidd-serialmouse_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-serialmouse_DEPS := $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/,$(notdir $(kernel-hidd-serialmouse_CCFILES:=.d) $(kernel-hidd-serialmouse_TARGETCCFILES:=.d) $(kernel-hidd-serialmouse_CXXFILES:=.d))) $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/linklib/,$(notdir $(kernel-hidd-serialmouse_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-serialmouse_DEPS),) + ifneq (kernel-hidd-serialmouse kernel-hidd-serialmouse-quick kernel-hidd-serialmouse-kobj kernel-hidd-serialmouse-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-serialmouse kernel-hidd-serialmouse-quick kernel-hidd-serialmouse-kobj kernel-hidd-serialmouse-kobj-quick),) + -include $(kernel-hidd-serialmouse_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-serialmouse_DEPS) + endif + endif +endif + +$(kernel-hidd-serialmouse_OBJS) $(kernel-hidd-serialmouse_DEPS) : | $(kernel-hidd-serialmouse_OBJDIR)/linklib + +ifneq ($(kernel-hidd-serialmouse_OBJS) $(kernel-hidd-serialmouse_DEPS) $(kernel-hidd-serialmouse_MODULE) $(kernel-hidd-serialmouse_KOBJ),) +$(kernel-hidd-serialmouse_OBJS) $(kernel-hidd-serialmouse_DEPS) $(kernel-hidd-serialmouse_MODULE) $(kernel-hidd-serialmouse_KOBJ) : | $(kernel-hidd-serialmouse_OBJDIR) $(AROSDIR)/$(kernel-hidd-serialmouse_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-serialmouse_OBJS) $(kernel-hidd-serialmouse_DEPS) $(kernel-hidd-serialmouse_MODULE) $(kernel-hidd-serialmouse_KOBJ) :: $(kernel-hidd-serialmouse_OBJDIR) $(AROSDIR)/$(kernel-hidd-serialmouse_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-serialmouse_OBJDIR) $(AROSDIR)/$(kernel-hidd-serialmouse_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-serialmouse kernel-hidd-serialmouse-includes kernel-hidd-serialmouse-quick kernel-hidd-serialmouse-kobj kernel-hidd-serialmouse-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-serialmouse_DFILE_DEPS := $(kernel-hidd-serialmouse_LIBDEFSINC) $(kernel-hidd-serialmouse_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-serialmouse_INCDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) +$(kernel-hidd-serialmouse_DEPS) : $(kernel-hidd-serialmouse_DFILE_DEPS) +endif + +kernel-hidd-serialmouse_TOCLEAN := $(kernel-hidd-serialmouse_OBJS) $(kernel-hidd-serialmouse_DEPS) \ + $(kernel-hidd-serialmouse_MODULE) $(kernel-hidd-serialmouse_LINKLIB) $(kernel-hidd-serialmouse_KOBJ) \ + $(kernel-hidd-serialmouse_OBJDIR)/Makefile.serialmousehidd \ + $(addprefix $(kernel-hidd-serialmouse_OBJDIR)/include/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-serialmouse_INCDIR)/,$($(kernel-hidd-serialmouse_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-serialmouse_OBJDIR)/serialmouse_geninc $(kernel-hidd-serialmouse_OBJDIR)/serialmouse_incs \ + $(addsuffix .c,$(kernel-hidd-serialmouse_LINKLIBFILES)) $(kernel-hidd-serialmouse_LINKLIBOBJS) $(kernel-hidd-serialmouse_LIBDEFSINC) \ + $(kernel-hidd-serialmouse_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-serialmouse_STARTFILES) $(kernel-hidd-serialmouse_ENDFILES)) \ + $(kernel-hidd-serialmouse_ENDOBJS) +kernel-hidd-serialmouse-clean : FILES := $(kernel-hidd-serialmouse_TOCLEAN) +kernel-hidd-serialmouse-clean :: + $(Q)$(ECHO) "Cleaning up for module serialmouse" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-serialmouse_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/hidds/vesagfx/mmakefile b/rom/hidds/vesagfx/mmakefile new file mode 100644 index 00000000000..a33ea342f5d --- /dev/null +++ b/rom/hidds/vesagfx/mmakefile @@ -0,0 +1,1664 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM kernel-hidd-vesagfx : kernel-hidd-gfx-includes + +FILES := \ + vesagfx_init \ + vesagfx_hiddclass \ + vesagfx_support \ + vesagfx_bitmapclass + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-hidd-vesagfx +#MM kernel-hidd-vesagfx-quick +#MM kernel-hidd-vesagfx-makefile +#MM kernel-hidd-vesagfx-clean + +# ABI targets: +#MM- includes-all : kernel-hidd-vesagfx-includes +#MM- linklibs-vesagfx: kernel-hidd-vesagfx-linklib +#MM- linklibs-vesagfx_rel : kernel-hidd-vesagfx-linklib +#MM- includes-vesagfx: kernel-hidd-vesagfx-includes +#MM- includes-vesagfx_rel : kernel-hidd-vesagfx-includes +#MM- kernel-hidd-vesagfx : kernel-hidd-vesagfx-includes core-linklibs linklibs- +#MM kernel-hidd-vesagfx-linklib : kernel-hidd-vesagfx-includes includes- +#MM- kernel-hidd-vesagfx-quick : kernel-hidd-vesagfx-includes-quick +#MM kernel-hidd-vesagfx-includes : kernel-hidd-vesagfx-makefile kernel-hidd-vesagfx-includes-dirs \ +#MM includes-generate-deps kernel-hidd-vesagfx-fd +#MM kernel-hidd-vesagfx-includes-quick +#MM kernel-hidd-vesagfx-includes-dirs +#MM kernel-hidd-vesagfx-fd + +# Library targets +#MM kernel-hidd-vesagfx-kobj : core-linklibs linklibs- +#MM kernel-hidd-vesagfx-kobj-quick : + +# Library with ABI targets: +#MM kernel-hidd-vesagfx-kobj : kernel-hidd-vesagfx-includes core-linklibs linklibs- +#MM kernel-hidd-vesagfx-kobj-quick : kernel-hidd-vesagfx-includes-quick + +# All MetaMake targets defined by this macro +kernel-hidd-vesagfx_ALLTARGETS := kernel-hidd-vesagfx kernel-hidd-vesagfx-quick kernel-hidd-vesagfx-clean + +ifeq (M,M) +kernel-hidd-vesagfx_ALLTARGETS += kernel-hidd-vesagfx-kobj kernel-hidd-vesagfx-kobj-quick +endif + +ifeq (M,M) +kernel-hidd-vesagfx_ALLTARGETS += kernel-hidd-vesagfx-includes \ + kernel-hidd-vesagfx-includes-quick kernel-hidd-vesagfx-includes-dirs \ + kernel-hidd-vesagfx-linklib kernel-hidd-vesagfx-fd +endif + +.PHONY : $(kernel-hidd-vesagfx_ALLTARGETS) kernel-hidd-vesagfx-makefile + +ifeq (vesagfx,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-hidd-vesagfx_DEFNAME := vesagfx_ +else + kernel-hidd-vesagfx_DEFNAME := vesagfx +endif +kernel-hidd-vesagfx_DEFLINKLIBNAME := $(kernel-hidd-vesagfx_DEFNAME) +ifneq (,) + kernel-hidd-vesagfx_LINKLIBNAME := +else + kernel-hidd-vesagfx_LINKLIBNAME = $(kernel-hidd-vesagfx_DEFLINKLIBNAME) +endif +kernel-hidd-vesagfx_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-hidd-vesagfx_DEFCPPFLAGS += -I +endif +kernel-hidd-vesagfx_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-hidd-vesagfx_DFLAGS := +else + kernel-hidd-vesagfx_DFLAGS = $(kernel-hidd-vesagfx_DEFDFLAGS) +endif +kernel-hidd-vesagfx_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-hidd-vesagfx_DXXFLAGS := +else + kernel-hidd-vesagfx_DXXFLAGS = $(kernel-hidd-vesagfx_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-vesagfx_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-vesagfx_DEFDFLAGS)) +kernel-hidd-vesagfx_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-hidd-vesagfx_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-vesagfx_FUNCINSTR := yes +kernel-hidd-vesagfx_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-vesagfx_DEFDFLAGS)) +kernel-hidd-vesagfx_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-hidd-vesagfx_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-hidd-vesagfx_OBJDIR := +else +kernel-hidd-vesagfx_OBJDIR := $(OBJDIR)/$(kernel-hidd-vesagfx_DEFNAME) +endif +ifneq (,) +kernel-hidd-vesagfx_OBJDIR := $(kernel-hidd-vesagfx_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-hidd-vesagfx-makefile := $(kernel-hidd-vesagfx_OBJDIR)/Makefile.$(kernel-hidd-vesagfx_DEFNAME)hidd +kernel-hidd-vesagfx-genmakefile : $(kernel-hidd-vesagfx-makefile) + + +kernel-hidd-vesagfx-genmakefile_OPTS := +ifneq (,) + kernel-hidd-vesagfx-genmakefile_OPTS += -f + kernel-hidd-vesagfx-genmakefile_MODNAME := vesagfx_ +else + kernel-hidd-vesagfx-genmakefile_MODNAME := vesagfx +endif +kernel-hidd-vesagfx-genmakefile_TARGET := Makefile.$(kernel-hidd-vesagfx-genmakefile_MODNAME)hidd +kernel-hidd-vesagfx-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-vesagfx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-vesagfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-vesagfx-genmakefile_OPTS += -c + kernel-hidd-vesagfx-genmakefile_DEPS += + endif +else + kernel-hidd-vesagfx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/vesagfx.conf + kernel-hidd-vesagfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/vesagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-vesagfx-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-vesagfx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-vesagfx-genmakefile_OPTS += -o + kernel-hidd-vesagfx-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-hidd-vesagfx-genmakefile_OPTS += -s +endif +ifneq ($(kernel-hidd-vesagfx_OBJDIR),) + kernel-hidd-vesagfx-genmakefile_OPTS += -d $(kernel-hidd-vesagfx_OBJDIR) + kernel-hidd-vesagfx-genmakefile_TARGET := $(kernel-hidd-vesagfx_OBJDIR)/$(kernel-hidd-vesagfx-genmakefile_TARGET) +endif + +$(kernel-hidd-vesagfx-genmakefile_TARGET) : OPTS := $(kernel-hidd-vesagfx-genmakefile_OPTS) +$(kernel-hidd-vesagfx-genmakefile_TARGET) : MODNAME := vesagfx +$(kernel-hidd-vesagfx-genmakefile_TARGET) : MODTYPE := hidd +$(kernel-hidd-vesagfx-genmakefile_TARGET) : $(kernel-hidd-vesagfx-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-hidd-vesagfx-makefile),) +$(kernel-hidd-vesagfx-makefile) : | $(kernel-hidd-vesagfx_OBJDIR) +else +$(kernel-hidd-vesagfx-makefile) :: $(kernel-hidd-vesagfx_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-vesagfx_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-hidd-vesagfx_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-hidd-vesagfx-makefile) + +kernel-hidd-vesagfx_DEFMODDIR := $($(kernel-hidd-vesagfx_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-hidd-vesagfx_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-hidd-vesagfx_DEFMODDIR) +endif +ifneq (,) + kernel-hidd-vesagfx_MODDIR := +else + kernel-hidd-vesagfx_MODDIR := $(kernel-hidd-vesagfx_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-hidd-vesagfx_INCDIR := +else +kernel-hidd-vesagfx_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-hidd-vesagfx_LIBDEFSINC := $(kernel-hidd-vesagfx_OBJDIR)/include/$(kernel-hidd-vesagfx_DEFNAME)_libdefs.h +kernel-hidd-vesagfx_DEFLIBDEFSINC := $(kernel-hidd-vesagfx_OBJDIR)/include/$(kernel-hidd-vesagfx_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-hidd-vesagfx-includes-quick : kernel-hidd-vesagfx-includes +kernel-hidd-vesagfx-includes : $(addprefix $(GENINCDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-vesagfx_INCDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-vesagfx_LIBDEFSINC) $(kernel-hidd-vesagfx_DEFLIBDEFSINC) + +ifneq ($($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-hidd-vesagfx-includes_MODNAME := vesagfx_ +else + kernel-hidd-vesagfx-includes_MODNAME := vesagfx +endif + +ifneq ($($(kernel-hidd-vesagfx-includes_MODNAME)_INCLUDES),) + +kernel-hidd-vesagfx-includes_TARGETS := $($(kernel-hidd-vesagfx-includes_MODNAME)_INCLUDES) + +kernel-hidd-vesagfx-includes_DEPS := $(GENMODULE) +kernel-hidd-vesagfx-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-vesagfx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-vesagfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-vesagfx-includes_OPTS += -c + kernel-hidd-vesagfx-includes_DEPS += + endif +else + kernel-hidd-vesagfx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/vesagfx.conf + kernel-hidd-vesagfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/vesagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-vesagfx-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-vesagfx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-vesagfx-includes_OPTS += -o + kernel-hidd-vesagfx-includes_DEPS += + endif +endif +ifneq (,) + kernel-hidd-vesagfx-includes_OPTS += -s +endif +ifneq ($(kernel-hidd-vesagfx_OBJDIR)/include,) + kernel-hidd-vesagfx-includes_OPTS += -d $(kernel-hidd-vesagfx_OBJDIR)/include + kernel-hidd-vesagfx-includes_TARGETS := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/include/,$(kernel-hidd-vesagfx-includes_TARGETS)) + kernel-hidd-vesagfx-includes_GENINCFLAG=$(kernel-hidd-vesagfx_OBJDIR)/include/.vesagfx.hidd-includes +else + kernel-hidd-vesagfx-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.vesagfx.hidd-includes +endif + +$(kernel-hidd-vesagfx-includes_TARGETS) : $(kernel-hidd-vesagfx-includes_DEPS) $(kernel-hidd-vesagfx-includes_GENINCFLAG) + +$(kernel-hidd-vesagfx-includes_GENINCFLAG) : OPTS := $(kernel-hidd-vesagfx-includes_OPTS) +$(kernel-hidd-vesagfx-includes_GENINCFLAG) : MODNAME := vesagfx +$(kernel-hidd-vesagfx-includes_GENINCFLAG) : MODTYPE := hidd +$(kernel-hidd-vesagfx-includes_GENINCFLAG) : $(kernel-hidd-vesagfx-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-hidd-vesagfx_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) : | $(kernel-hidd-vesagfx_OBJDIR)/vesagfx_geninc + +$(kernel-hidd-vesagfx_OBJDIR)/vesagfx_geninc : COPYSRCDIR := $(kernel-hidd-vesagfx_OBJDIR)/include +$(kernel-hidd-vesagfx_OBJDIR)/vesagfx_geninc : TGTDIR := $(GENINCDIR) +$(kernel-hidd-vesagfx_OBJDIR)/vesagfx_geninc : FILES := $($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES) +$(kernel-hidd-vesagfx_OBJDIR)/vesagfx_geninc : $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/include/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-hidd-vesagfx_OBJDIR)/include + +$(addprefix $(kernel-hidd-vesagfx_INCDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) : | $(kernel-hidd-vesagfx_OBJDIR)/vesagfx_incs + +$(kernel-hidd-vesagfx_OBJDIR)/vesagfx_incs : COPYSRCDIR := $(kernel-hidd-vesagfx_OBJDIR)/include +$(kernel-hidd-vesagfx_OBJDIR)/vesagfx_incs : TGTDIR := $(kernel-hidd-vesagfx_INCDIR) +$(kernel-hidd-vesagfx_OBJDIR)/vesagfx_incs : FILES := $($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES) +$(kernel-hidd-vesagfx_OBJDIR)/vesagfx_incs : $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/include/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-hidd-vesagfx_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)))) + +TMPvesagfx_INCDIRS := \ + $(kernel-hidd-vesagfx_OBJDIR)/include $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/include/,$(kernel-hidd-vesagfx_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-hidd-vesagfx_INCDIRS)) \ + $(kernel-hidd-vesagfx_INCDIR) $(addprefix $(kernel-hidd-vesagfx_INCDIR)/,$(kernel-hidd-vesagfx_INCDIRS)) + +ifneq (kernel-hidd-vesagfx-includes-dirs,) +kernel-hidd-vesagfx-includes-dirs : | $(TMPvesagfx_INCDIRS) +else +kernel-hidd-vesagfx-includes-dirs :: $(TMPvesagfx_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPvesagfx_INCDIRS) + + +endif + +endif + + +kernel-hidd-vesagfx-genlibdefs_OPTS := +ifneq (,) + kernel-hidd-vesagfx-genlibdefs_OPTS += -f + kernel-hidd-vesagfx-genlibdefs_MODNAME := vesagfx_ +else + kernel-hidd-vesagfx-genlibdefs_MODNAME := vesagfx +endif +kernel-hidd-vesagfx-genlibdefs_TARGET := $(kernel-hidd-vesagfx-genlibdefs_MODNAME)_libdefs.h +kernel-hidd-vesagfx-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-vesagfx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-vesagfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-vesagfx-genlibdefs_OPTS += -c + kernel-hidd-vesagfx-genlibdefs_DEPS += + endif +else + kernel-hidd-vesagfx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/vesagfx.conf + kernel-hidd-vesagfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/vesagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-vesagfx-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-vesagfx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-vesagfx-genlibdefs_OPTS += -o + kernel-hidd-vesagfx-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-hidd-vesagfx-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-hidd-vesagfx_OBJDIR)/include,) + kernel-hidd-vesagfx-genlibdefs_OPTS += -d $(kernel-hidd-vesagfx_OBJDIR)/include + kernel-hidd-vesagfx-genlibdefs_TARGET := $(kernel-hidd-vesagfx_OBJDIR)/include/$(kernel-hidd-vesagfx-genlibdefs_TARGET) +endif +ifneq (,) + kernel-hidd-vesagfx-genlibdefs_OPTS += -v +endif + +$(kernel-hidd-vesagfx-genlibdefs_TARGET) : OPTS := $(kernel-hidd-vesagfx-genlibdefs_OPTS) +$(kernel-hidd-vesagfx-genlibdefs_TARGET) : MODNAME := vesagfx +$(kernel-hidd-vesagfx-genlibdefs_TARGET) : MODTYPE := hidd +$(kernel-hidd-vesagfx-genlibdefs_TARGET) : $(kernel-hidd-vesagfx-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-hidd-vesagfx_DEFLIBDEFSINC) : FILENAME := $(kernel-hidd-vesagfx_LIBDEFSINC) +$(kernel-hidd-vesagfx_DEFLIBDEFSINC) : $(kernel-hidd-vesagfx_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-hidd-vesagfx_LIBDEFSINC) $(kernel-hidd-vesagfx_DEFLIBDEFSINC) : | $(kernel-hidd-vesagfx_OBJDIR)/include + +ifneq (kernel-hidd-vesagfx-includes-dirs,) +kernel-hidd-vesagfx-includes-dirs : | $(kernel-hidd-vesagfx_OBJDIR)/include +else +kernel-hidd-vesagfx-includes-dirs :: $(kernel-hidd-vesagfx_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-hidd-vesagfx_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-hidd-vesagfx-genmodfiles_OPTS := +ifneq (,) + kernel-hidd-vesagfx-genmodfiles_OPTS += -f + kernel-hidd-vesagfx-genmodfiles_MODNAME := vesagfx_ +else + kernel-hidd-vesagfx-genmodfiles_MODNAME := vesagfx +endif +kernel-hidd-vesagfx-genmodfiles_GENTARGETS := $($(kernel-hidd-vesagfx-genmodfiles_MODNAME)_STARTFILES) $($(kernel-hidd-vesagfx-genmodfiles_MODNAME)_ENDFILES) +kernel-hidd-vesagfx-genmodfiles_STUBTARGETS := $($(kernel-hidd-vesagfx-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-hidd-vesagfx-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-hidd-vesagfx-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-hidd-vesagfx-genmodfiles_GENTARGETS)) +kernel-hidd-vesagfx-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-hidd-vesagfx-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-hidd-vesagfx-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-hidd-vesagfx-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-hidd-vesagfx-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-vesagfx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-hidd-vesagfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-vesagfx-genmodfiles_OPTS += -c + kernel-hidd-vesagfx-genmodfiles_DEPS += + endif +else + kernel-hidd-vesagfx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/vesagfx.conf + kernel-hidd-vesagfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/vesagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-hidd-vesagfx-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-hidd-vesagfx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-hidd-vesagfx-genmodfiles_OPTS += -o + kernel-hidd-vesagfx-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-hidd-vesagfx-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-hidd-vesagfx_OBJDIR),) + kernel-hidd-vesagfx-genmodfiles_OPTS += -d $(kernel-hidd-vesagfx_OBJDIR) + kernel-hidd-vesagfx-genmodfiles_TARGETDIR := $(shell echo $(kernel-hidd-vesagfx_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-vesagfx-genmodfiles_GENTARGETS := $(addprefix $(kernel-hidd-vesagfx-genmodfiles_TARGETDIR)/,$(kernel-hidd-vesagfx-genmodfiles_GENTARGETS)) + kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG=$(kernel-hidd-vesagfx-genmodfiles_TARGETDIR)/.vesagfx.hidd-genfiles +else + kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.vesagfx.hidd-genfiles +endif +ifneq ($(kernel-hidd-vesagfx_OBJDIR)/linklib,) + kernel-hidd-vesagfx-genmodfiles_OPTS += -l $(kernel-hidd-vesagfx_OBJDIR)/linklib + kernel-hidd-vesagfx-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-hidd-vesagfx_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-vesagfx-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-vesagfx-genmodfiles_STUBTARGETDIR)/,$(kernel-hidd-vesagfx-genmodfiles_STUBTARGETS)) + kernel-hidd-vesagfx-genmodfiles_TARGETDIRS += $(kernel-hidd-vesagfx_OBJDIR)/linklib +else +ifneq ($(kernel-hidd-vesagfx_OBJDIR),) + kernel-hidd-vesagfx-genmodfiles_STUBTARGETS := $(addprefix $(kernel-hidd-vesagfx-genmodfiles_TARGETDIR)/,$(kernel-hidd-vesagfx-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-hidd-vesagfx-genmodfiles_TARGETS := $(kernel-hidd-vesagfx-genmodfiles_GENTARGETS) $(kernel-hidd-vesagfx-genmodfiles_STUBTARGETS) +ifneq ($(kernel-hidd-vesagfx-genmodfiles_TARGETDIRS),) +$(kernel-hidd-vesagfx-genmodfiles_TARGETS) : | $(kernel-hidd-vesagfx-genmodfiles_TARGETDIRS) +endif + +$(kernel-hidd-vesagfx-genmodfiles_TARGETS) : $(kernel-hidd-vesagfx-genmodfiles_DEPS) $(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG) + +$(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-hidd-vesagfx-genmodfiles_OPTS) +$(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG) : MODNAME := vesagfx +$(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG) : $(kernel-hidd-vesagfx-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG) : $(kernel-hidd-vesagfx_DEFLIBDEFSINC) $(kernel-hidd-vesagfx-makefile) + + +ifneq ($(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG),) +$(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG) : | $(kernel-hidd-vesagfx_OBJDIR)/linklib +else +$(kernel-hidd-vesagfx-genmodfiles_GENFILEFLAG) :: $(kernel-hidd-vesagfx_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-hidd-vesagfx_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-hidd-vesagfx_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-hidd-vesagfx_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-hidd-vesagfx-fd : $(kernel-hidd-vesagfx_FDDIR)/vesagfx_lib.fd + + +TMP_TARGET := vesagfx_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/vesagfx.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/vesagfx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-hidd-vesagfx_FDDIR),) + TMP_OPTS += -d $(kernel-hidd-vesagfx_FDDIR) + TMP_TARGET := $(kernel-hidd-vesagfx_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := vesagfx +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-hidd-vesagfx_FDDIR)/vesagfx_lib.fd : | $(kernel-hidd-vesagfx_FDDIR) + + +ifneq (kernel-hidd-vesagfx-fd-setup,) +kernel-hidd-vesagfx-fd-setup : | $(kernel-hidd-vesagfx_FDDIR) +else +kernel-hidd-vesagfx-fd-setup :: $(kernel-hidd-vesagfx_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-vesagfx_FDDIR) + +endif + +## Compilation +## +kernel-hidd-vesagfx_FILES := $(FILES) +kernel-hidd-vesagfx_OBJCFILES := +kernel-hidd-vesagfx_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-hidd-vesagfx_LIBFILES := +kernel-hidd-vesagfx_LIBS := + +kernel-hidd-vesagfx_FDIRS := $(sort $(dir $(kernel-hidd-vesagfx_FILES))) + +kernel-hidd-vesagfx_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-hidd-vesagfx_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-hidd-vesagfx_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-hidd-vesagfx_FILTERARCH = $(filter-out $(call kernel-hidd-vesagfx_MATCHARCH,$(1),$(2)),$(2)) +kernel-hidd-vesagfx_STARTFILES := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_STARTFILES)) +kernel-hidd-vesagfx_ENDFILES := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_ENDFILES)) + +kernel-hidd-vesagfx_ARCHOBJS := $(wildcard $(kernel-hidd-vesagfx_OBJDIR)/arch/*.o) +kernel-hidd-vesagfx_LIBARCHOBJS := $(wildcard $(kernel-hidd-vesagfx_OBJDIR)/linklib/arch/*.o) +kernel-hidd-vesagfx_ARCHFILES := $(basename $(notdir $(kernel-hidd-vesagfx_ARCHOBJS))) +kernel-hidd-vesagfx_LIBARCHFILES := $(basename $(notdir $(kernel-hidd-vesagfx_LIBARCHOBJS))) +kernel-hidd-vesagfx_C_NARCHFILES := $(call kernel-hidd-vesagfx_FILTERARCH,$(kernel-hidd-vesagfx_ARCHFILES),$(kernel-hidd-vesagfx_FILES)) +kernel-hidd-vesagfx_CXX_NARCHFILES := $(call kernel-hidd-vesagfx_FILTERARCH,$(kernel-hidd-vesagfx_ARCHFILES),$(kernel-hidd-vesagfx_CXXFILES)) +kernel-hidd-vesagfx_OBJC_NARCHFILES := $(call kernel-hidd-vesagfx_FILTERARCH,$(kernel-hidd-vesagfx_ARCHFILES),$(kernel-hidd-vesagfx_OBJCFILES)) +kernel-hidd-vesagfx_NLIBARCHFILES := $(call kernel-hidd-vesagfx_FILTERARCH,$(kernel-hidd-vesagfx_LIBARCHFILES),$(kernel-hidd-vesagfx_LIBFILES)) +kernel-hidd-vesagfx_ARCHNLIBFILES := $(call kernel-hidd-vesagfx_FILTERARCH,$(kernel-hidd-vesagfx_LIBFILES),$(kernel-hidd-vesagfx_LIBARCHFILES)) + +kernel-hidd-vesagfx_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-hidd-vesagfx_OBJDIR)/include -include $(kernel-hidd-vesagfx_DEFLIBDEFSINC)) +ifneq (,) +kernel-hidd-vesagfx_CPPFLAGS += -I +endif +kernel-hidd-vesagfx_LINKLIBCPPFLAGS := $(kernel-hidd-vesagfx_CPPFLAGS) +kernel-hidd-vesagfx_CPPFLAGS += $(strip $($(kernel-hidd-vesagfx_DEFNAME)_CPPFLAGS)) +kernel-hidd-vesagfx_LINKLIBCPPFLAGS += $(strip $($(kernel-hidd-vesagfx_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-hidd-vesagfx_CFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-vesagfx_DEFNAME)_CFLAGS)) +kernel-hidd-vesagfx_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-hidd-vesagfx_DEFNAME)_LINKLIBCFLAGS)) +kernel-hidd-vesagfx_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-hidd-vesagfx_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-hidd-vesagfx_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-hidd-vesagfx_CFLAGS := $(strip $(kernel-hidd-vesagfx_LTOFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +kernel-hidd-vesagfx_LINKLIBCFLAGS := $(strip $(kernel-hidd-vesagfx_LTOFLAGS) $(kernel-hidd-vesagfx_LINKLIBCFLAGS)) +kernel-hidd-vesagfx_CXXFLAGS := $(strip $(kernel-hidd-vesagfx_LTOFLAGS) $(kernel-hidd-vesagfx_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-hidd-vesagfx_SUBSTNULL := +kernel-hidd-vesagfx_SUBSTSPACE := $(kernel-hidd-vesagfx_SUBSTNULL) # +kernel-hidd-vesagfx_SUBSTCOMMA := , +kernel-hidd-vesagfx_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-hidd-vesagfx_SUBSTSPACE),$(kernel-hidd-vesagfx_SUBSTCOMMA),$(strip $($(kernel-hidd-vesagfx_DEFNAME)_STARTFILES)))) +kernel-hidd-vesagfx_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-hidd-vesagfx_CFLAGS := $(strip $(kernel-hidd-vesagfx_INSTRFUNCFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +kernel-hidd-vesagfx_CXXFLAGS := $(strip $(kernel-hidd-vesagfx_INSTRFUNCFLAGS) $(kernel-hidd-vesagfx_CXXFLAGS)) +kernel-hidd-vesagfx_LIBS += $(kernel-hidd-vesagfx_INSTRFUNCLIBS) +endif +endif +kernel-hidd-vesagfx_DFLAGS := $(strip $(kernel-hidd-vesagfx_DFLAGS) $($(kernel-hidd-vesagfx_DEFNAME)_DFLAGS)) +kernel-hidd-vesagfx_LINKLIBDFLAGS := $(strip $(kernel-hidd-vesagfx_DFLAGS) $($(kernel-hidd-vesagfx_DEFNAME)_LINKLIBDFLAGS)) +kernel-hidd-vesagfx_DXXFLAGS := $(strip $(kernel-hidd-vesagfx_DXXFLAGS) $($(kernel-hidd-vesagfx_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + kernel-hidd-vesagfx_LIBSUFFIX := +else + kernel-hidd-vesagfx_LIBSUFFIX := .hidd +endif + +ifeq (,) +kernel-hidd-vesagfx_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-hidd-vesagfx_LIBDIR := +endif + +ifeq (M,M) +kernel-hidd-vesagfx_LINKLIBCFILES := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$($(kernel-hidd-vesagfx_DEFNAME)_LINKLIBFILES)) +kernel-hidd-vesagfx_LINKLIBAFILES := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$($(kernel-hidd-vesagfx_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-vesagfx_DEFNAME)_LINKLIBFILES) $($(kernel-hidd-vesagfx_DEFNAME)_LINKLIBAFILES) $(kernel-hidd-vesagfx_ARCHNLIBFILES)),) + kernel-hidd-vesagfx_LINKLIB := +else + kernel-hidd-vesagfx_LINKLIB := $(kernel-hidd-vesagfx_LIBDIR)/libvesagfx$(kernel-hidd-vesagfx_LIBSUFFIX).a + ifneq (vesagfx,$(kernel-hidd-vesagfx_LINKLIBNAME)) + kernel-hidd-vesagfx_LINKLIB += $(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)$(kernel-hidd-vesagfx_LIBSUFFIX).a + endif +endif +kernel-hidd-vesagfx_LINKLIBFILES := $(kernel-hidd-vesagfx_LINKLIBCFILES) $(kernel-hidd-vesagfx_LINKLIBAFILES) + +kernel-hidd-vesagfx_RELLINKLIBCFILES := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$($(kernel-hidd-vesagfx_DEFNAME)_RELLINKLIBFILES)) +kernel-hidd-vesagfx_RELLINKLIBAFILES := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$($(kernel-hidd-vesagfx_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-hidd-vesagfx_DEFNAME)_RELLINKLIBFILES) $($(kernel-hidd-vesagfx_DEFNAME)_RELLINKLIBAFILES) $(kernel-hidd-vesagfx_ARCHNLIBFILES)),) + kernel-hidd-vesagfx_RELLINKLIB := +else + kernel-hidd-vesagfx_RELLINKLIB := $(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_DEFNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a + ifneq (vesagfx,$(kernel-hidd-vesagfx_LINKLIBNAME)) + kernel-hidd-vesagfx_RELLINKLIB += $(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a + endif +endif +kernel-hidd-vesagfx_RELLINKLIBFILES := $(kernel-hidd-vesagfx_RELLINKLIBCFILES) $(kernel-hidd-vesagfx_RELLINKLIBAFILES) +endif + +kernel-hidd-vesagfx_ENDOBJS := $(addsuffix .o,$(kernel-hidd-vesagfx_ENDFILES)) +kernel-hidd-vesagfx_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-vesagfx_NLIBARCHFILES))) $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-vesagfx_ARCHNLIBFILES))) $(kernel-hidd-vesagfx_LINKLIBFILES)) \ + +kernel-hidd-vesagfx_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-vesagfx_NLIBARCHFILES))) $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/arch/,$(notdir $(kernel-hidd-vesagfx_ARCHNLIBFILES))) $(kernel-hidd-vesagfx_RELLINKLIBFILES)) \ + +$(kernel-hidd-vesagfx_LINKLIBFILES) $(kernel-hidd-vesagfx_RELLINKLIBFILES) : | $(kernel-hidd-vesagfx_OBJDIR)/linklib +$(kernel-hidd-vesagfx_LINKLIBOBJS) $(kernel-hidd-vesagfx_RELLINKLIBOBJS) : | $(kernel-hidd-vesagfx_OBJDIR)/linklib + +kernel-hidd-vesagfx_CCFILES := $(kernel-hidd-vesagfx_C_NARCHFILES) +kernel-hidd-vesagfx_TARGETCCFILES := $(strip $(kernel-hidd-vesagfx_STARTFILES) $(kernel-hidd-vesagfx_ENDFILES)) +kernel-hidd-vesagfx_LINKLIBCCFILES := $(strip $(kernel-hidd-vesagfx_NLIBARCHFILES) $(kernel-hidd-vesagfx_LINKLIBCFILES) $(kernel-hidd-vesagfx_RELLINKLIBCFILES)) +kernel-hidd-vesagfx_LINKLIBCCGENFILES := $(strip $(kernel-hidd-vesagfx_LINKLIBCFILES) $(kernel-hidd-vesagfx_RELLINKLIBCFILES)) + + +kernel-hidd-vesagfx_CXXABSBASENAMES := $(foreach kernel-hidd-vesagfx_CXXBASE,$(kernel-hidd-vesagfx_CXX_NARCHFILES),$(if $(filter /%,$(kernel-hidd-vesagfx_CXXBASE)),$(kernel-hidd-vesagfx_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-hidd-vesagfx_CXXBASE)))) + +ifneq ($(kernel-hidd-vesagfx_CXXABSBASENAMES),) + +kernel-hidd-vesagfx_CXXBASENAMES := $(basename $(kernel-hidd-vesagfx_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-hidd-vesagfx_MCXX_FILES := $(strip $(foreach kernel-hidd-vesagfx_CXXBASE,$(kernel-hidd-vesagfx_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-hidd-vesagfx_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-hidd-vesagfx_EXT),$(kernel-hidd-vesagfx_CXXBASE))))))) + +ifeq (,) +kernel-hidd-vesagfx_MCXX_SRCWILDCARD := % +else +kernel-hidd-vesagfx_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-vesagfx_OBJDIR),) + kernel-hidd-vesagfx_CXXTARGETS := $(notdir $(kernel-hidd-vesagfx_CXXBASENAMES:=.o)) + kernel-hidd-vesagfx_CXXDTARGETS := $(notdir $(kernel-hidd-vesagfx_CXXBASENAMES:=.d)) + kernel-hidd-vesagfx_MCXX_WILDCARD := % +else + kernel-hidd-vesagfx_CXXTARGETS := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(kernel-hidd-vesagfx_CXXBASENAMES:=.o))) + kernel-hidd-vesagfx_CXXDTARGETS := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(kernel-hidd-vesagfx_CXXBASENAMES:=.d))) + kernel-hidd-vesagfx_MCXX_WILDCARD := $(kernel-hidd-vesagfx_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-hidd-vesagfx_CXXTARGETS) $(kernel-hidd-vesagfx_CXXDTARGETS) : | $(kernel-hidd-vesagfx_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-hidd-vesagfx_MCXX_CPPFLAGS := $(kernel-hidd-vesagfx_CPPFLAGS) +kernel-hidd-vesagfx_CXXFLAGS := $(kernel-hidd-vesagfx_CXXFLAGS) +ifeq ($(kernel-hidd-vesagfx_DXXFLAGS),) + kernel-hidd-vesagfx_DXXFLAGS := $(kernel-hidd-vesagfx_CXXFLAGS) +else + kernel-hidd-vesagfx_DXXFLAGS := $(kernel-hidd-vesagfx_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-hidd-vesagfx_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-hidd-vesagfx_STRIP ?= $(HOST_STRIP) + kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-hidd-vesagfx_CXXCMD:=$(HOST_CXX) + kernel-hidd-vesagfx_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-hidd-vesagfx_MCXX_CPPFLAGS) $(kernel-hidd-vesagfx_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-vesagfx_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-vesagfx_CXXFLAGS)) + kernel-hidd-vesagfx_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-hidd-vesagfx_DXXFLAGS)) + kernel-hidd-vesagfx_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-hidd-vesagfx_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-hidd-vesagfx_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-vesagfx_STRIP ?= $(TARGET_STRIP) + kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-hidd-vesagfx_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-hidd-vesagfx_MCXX_CPPFLAGS := $(strip $(kernel-hidd-vesagfx_MCXX_CPPFLAGS) $(kernel-hidd-vesagfx_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-vesagfx_CXXFLAGS := $(strip $(kernel-hidd-vesagfx_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-hidd-vesagfx_DXXFLAGS := $(kernel-hidd-vesagfx_DXXFLAGS) + kernel-hidd-vesagfx_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-hidd-vesagfx_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-hidd-vesagfx_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-vesagfx_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-hidd-vesagfx_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-hidd-vesagfx_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-hidd-vesagfx_MCXX_CPPFLAGS) $(kernel-hidd-vesagfx_MCXX_EXTRA_CPPFLAGS)) + kernel-hidd-vesagfx_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-vesagfx_CXXFLAGS)) + kernel-hidd-vesagfx_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-hidd-vesagfx_DXXFLAGS)) + kernel-hidd-vesagfx_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-hidd-vesagfx_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-hidd-vesagfx_CXXCMD) $(kernel-hidd-vesagfx_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-vesagfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_CXXIQUOTE) . $(kernel-hidd-vesagfx_CXXIQUOTE_END) $(strip $(kernel-hidd-vesagfx_CXXFLAGS) $(kernel-hidd-vesagfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-hidd-vesagfx_CXXCMD) $(kernel-hidd-vesagfx_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-vesagfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_CXXIQUOTE) . $(kernel-hidd-vesagfx_CXXIQUOTE_END) $(strip $(kernel-hidd-vesagfx_CXXFLAGS) $(kernel-hidd-vesagfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-hidd-vesagfx_CXXCMD) $(kernel-hidd-vesagfx_CXXIQUOTE) $(dir $(2)) $(kernel-hidd-vesagfx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_CXXIQUOTE) . $(kernel-hidd-vesagfx_CXXIQUOTE_END) $(strip $(kernel-hidd-vesagfx_CXXFLAGS) $(kernel-hidd-vesagfx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-hidd-vesagfx_CXXCMD)" $(MKDEPEND) $(strip $(kernel-hidd-vesagfx_DXXFLAGS) $(kernel-hidd-vesagfx_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-hidd-vesagfx_OBJDIR),) + $(foreach kernel-hidd-vesagfx_CXXFILE,$(kernel-hidd-vesagfx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-hidd-vesagfx_CXXFILE))),$(kernel-hidd-vesagfx_CXXFILE)))) +else + $(foreach kernel-hidd-vesagfx_CXXFILE,$(kernel-hidd-vesagfx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(basename $(kernel-hidd-vesagfx_CXXFILE)))),$(kernel-hidd-vesagfx_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-hidd-vesagfx_OBJC_NARCHFILES),) + +ifeq (,) +kernel-hidd-vesagfx_MOBJC_SRCWILDCARD := % +else +kernel-hidd-vesagfx_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-vesagfx_OBJDIR),) + kernel-hidd-vesagfx_MOBJC_TARGETS := $(addsuffix .o,$(kernel-hidd-vesagfx_OBJC_NARCHFILES)) + kernel-hidd-vesagfx_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-hidd-vesagfx_OBJC_NARCHFILES)) + kernel-hidd-vesagfx_MOBJC_WILDCARD := % +else + kernel-hidd-vesagfx_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(kernel-hidd-vesagfx_OBJC_NARCHFILES))) + kernel-hidd-vesagfx_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(kernel-hidd-vesagfx_OBJC_NARCHFILES))) + kernel-hidd-vesagfx_MOBJC_WILDCARD := $(kernel-hidd-vesagfx_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-hidd-vesagfx_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-hidd-vesagfx_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-hidd-vesagfx_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-vesagfx_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-hidd-vesagfx_MOBJC_DIRS := $(foreach dir, $(kernel-hidd-vesagfx_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-vesagfx_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-hidd-vesagfx_MOBJC_DIRS),) + kernel-hidd-vesagfx_MOBJC_DIRS := $(shell echo $(kernel-hidd-vesagfx_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-hidd-vesagfx_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-hidd-vesagfx_CC := $(TARGET_CC) +else + kernel-hidd-vesagfx_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-hidd-vesagfx_MOBJC_CPPFLAGS := $(kernel-hidd-vesagfx_CPPFLAGS) +kernel-hidd-vesagfx_OBJCFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +kernel-hidd-vesagfx_OBJCFLAGS := $(kernel-hidd-vesagfx_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-hidd-vesagfx_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-hidd-vesagfx_OBJCFLAGS))) +ifeq ($(kernel-hidd-vesagfx_DFLAGS),) + kernel-hidd-vesagfx_OBJCDFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +else + kernel-hidd-vesagfx_OBJCDFLAGS := $(kernel-hidd-vesagfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-hidd-vesagfx_LINK ?= $(strip $(kernel-hidd-vesagfx_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-hidd-vesagfx_STRIP ?= $(TARGET_STRIP) + kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-hidd-vesagfx_CC) $(TARGET_SYSROOT)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_MOBJC_CPPFLAGS:=$(strip $(kernel-hidd-vesagfx_MOBJC_CPPFLAGS) $(kernel-hidd-vesagfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_OBJCFLAGS:=$(strip $(kernel-hidd-vesagfx_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_OBJCDFLAGS:=$(kernel-hidd-vesagfx_OBJCDFLAGS) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-hidd-vesagfx_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-hidd-vesagfx_STRIP ?= $(HOST_STRIP) + kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-hidd-vesagfx_MOBJC_CPPFLAGS) $(kernel-hidd-vesagfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_OBJCFLAGS)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_OBJCDFLAGS)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(HOST_IQUOTE) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-hidd-vesagfx_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-hidd-vesagfx_STRIP ?= $(ECHO) >/dev/null + kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-hidd-vesagfx_MOBJC_CPPFLAGS) $(kernel-hidd-vesagfx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_OBJCFLAGS)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_OBJCDFLAGS)) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-hidd-vesagfx_MOBJC_TARGETS) $(kernel-hidd-vesagfx_MOBJC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-vesagfx_MOBJC_TARGETS) : CPPFLAGS := $(kernel-hidd-vesagfx_MOBJC_CPPFLAGS) +$(kernel-hidd-vesagfx_MOBJC_TARGETS) : CFLAGS := $(kernel-hidd-vesagfx_OBJCFLAGS) +$(kernel-hidd-vesagfx_MOBJC_TARGETS) : $(kernel-hidd-vesagfx_MOBJC_WILDCARD).o : $(kernel-hidd-vesagfx_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-vesagfx_MOBJC_DTARGETS) : $(kernel-hidd-vesagfx_MOBJC_WILDCARD).d : $(kernel-hidd-vesagfx_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-vesagfx_OBJCDFLAGS) $(kernel-hidd-vesagfx_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-hidd-vesagfx_MC_SRCWILDCARD := % +else +kernel-hidd-vesagfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-vesagfx_OBJDIR),) +kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-vesagfx_CCFILES)) +kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-vesagfx_CCFILES)) +kernel-hidd-vesagfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(kernel-hidd-vesagfx_CCFILES)))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(kernel-hidd-vesagfx_CCFILES)))) +else +ifeq (,) + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(kernel-hidd-vesagfx_CCFILES))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(kernel-hidd-vesagfx_CCFILES))) +else + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-vesagfx_CCFILES)))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-vesagfx_CCFILES)))) +endif +endif +kernel-hidd-vesagfx_MC_TGTWILDCARD := $(kernel-hidd-vesagfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-vesagfx_CCFILES)) + +# Be sure that all .c files are found +kernel-hidd-vesagfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-vesagfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-vesagfx_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-vesagfx_MC_DIRS := $(foreach dir, $(kernel-hidd-vesagfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-vesagfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-vesagfx_MC_DIRS),) + kernel-hidd-vesagfx_MC_DIRS := $(shell echo $(kernel-hidd-vesagfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-vesagfx_MC_DIRS) +endif + +endif + +kernel-hidd-vesagfx_MC_CPPFLAGS := $(kernel-hidd-vesagfx_CPPFLAGS) +kernel-hidd-vesagfx_CFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +ifeq ($(kernel-hidd-vesagfx_DFLAGS),) + kernel-hidd-vesagfx_DFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +else + kernel-hidd-vesagfx_DFLAGS := $(kernel-hidd-vesagfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-vesagfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(TARGET_STRIP) +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(kernel-hidd-vesagfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(kernel-hidd-vesagfx_DFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-vesagfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(HOST_STRIP) +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_DFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-vesagfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_DFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-vesagfx_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-vesagfx_MC_CPPFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) : CFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) : $(kernel-hidd-vesagfx_MC_TGTWILDCARD).o : $(kernel-hidd-vesagfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-vesagfx_MC_DTARGETS) : $(kernel-hidd-vesagfx_MC_TGTWILDCARD).d : $(kernel-hidd-vesagfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-vesagfx_DFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-vesagfx_MC_SRCWILDCARD := % +else +kernel-hidd-vesagfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-vesagfx_OBJDIR),) +kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-vesagfx_TARGETCCFILES)) +kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-vesagfx_TARGETCCFILES)) +kernel-hidd-vesagfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(kernel-hidd-vesagfx_TARGETCCFILES)))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(kernel-hidd-vesagfx_TARGETCCFILES)))) +else +ifeq (,) + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(kernel-hidd-vesagfx_TARGETCCFILES))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(kernel-hidd-vesagfx_TARGETCCFILES))) +else + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-vesagfx_TARGETCCFILES)))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(patsubst /%,%,$(kernel-hidd-vesagfx_TARGETCCFILES)))) +endif +endif +kernel-hidd-vesagfx_MC_TGTWILDCARD := $(kernel-hidd-vesagfx_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-vesagfx_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-hidd-vesagfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-vesagfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-vesagfx_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-vesagfx_MC_DIRS := $(foreach dir, $(kernel-hidd-vesagfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-vesagfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-vesagfx_MC_DIRS),) + kernel-hidd-vesagfx_MC_DIRS := $(shell echo $(kernel-hidd-vesagfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-vesagfx_MC_DIRS) +endif + +endif + +kernel-hidd-vesagfx_MC_CPPFLAGS := $(kernel-hidd-vesagfx_CPPFLAGS) -D__AROS__ +kernel-hidd-vesagfx_CFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +ifeq ($(kernel-hidd-vesagfx_DFLAGS),) + kernel-hidd-vesagfx_DFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +else + kernel-hidd-vesagfx_DFLAGS := $(kernel-hidd-vesagfx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-vesagfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(TARGET_STRIP) +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(kernel-hidd-vesagfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(kernel-hidd-vesagfx_DFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-vesagfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(HOST_STRIP) +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_DFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-vesagfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_DFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-vesagfx_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-vesagfx_MC_CPPFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) : CFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) : $(kernel-hidd-vesagfx_MC_TGTWILDCARD).o : $(kernel-hidd-vesagfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-vesagfx_MC_DTARGETS) : $(kernel-hidd-vesagfx_MC_TGTWILDCARD).d : $(kernel-hidd-vesagfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-vesagfx_DFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-hidd-vesagfx_MC_SRCWILDCARD := % +else +kernel-hidd-vesagfx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-hidd-vesagfx_OBJDIR)/linklib,) +kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-vesagfx_NLIBARCHFILES)) +kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-vesagfx_NLIBARCHFILES)) +kernel-hidd-vesagfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-vesagfx_NLIBARCHFILES)))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-vesagfx_NLIBARCHFILES)))) +else +ifeq (,) + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(kernel-hidd-vesagfx_NLIBARCHFILES))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(kernel-hidd-vesagfx_NLIBARCHFILES))) +else + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-vesagfx_NLIBARCHFILES)))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-hidd-vesagfx_NLIBARCHFILES)))) +endif +endif +kernel-hidd-vesagfx_MC_TGTWILDCARD := $(kernel-hidd-vesagfx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-vesagfx_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-hidd-vesagfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-vesagfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-vesagfx_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-vesagfx_MC_DIRS := $(foreach dir, $(kernel-hidd-vesagfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-vesagfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-vesagfx_MC_DIRS),) + kernel-hidd-vesagfx_MC_DIRS := $(shell echo $(kernel-hidd-vesagfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-vesagfx_MC_DIRS) +endif + +endif + +kernel-hidd-vesagfx_MC_CPPFLAGS := $(kernel-hidd-vesagfx_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-vesagfx_CFLAGS := $(kernel-hidd-vesagfx_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-vesagfx_LINKLIBDFLAGS),) + kernel-hidd-vesagfx_DFLAGS := $(kernel-hidd-vesagfx_LINKLIBCFLAGS) +else + kernel-hidd-vesagfx_DFLAGS := $(kernel-hidd-vesagfx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-vesagfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(TARGET_STRIP) +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(kernel-hidd-vesagfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(kernel-hidd-vesagfx_DFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-vesagfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(HOST_STRIP) +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_DFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-vesagfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_DFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-vesagfx_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-vesagfx_MC_CPPFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) : CFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) : $(kernel-hidd-vesagfx_MC_TGTWILDCARD).o : $(kernel-hidd-vesagfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-vesagfx_MC_DTARGETS) : $(kernel-hidd-vesagfx_MC_TGTWILDCARD).d : $(kernel-hidd-vesagfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-vesagfx_DFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-hidd-vesagfx_OBJDIR)/linklib,) +kernel-hidd-vesagfx_MC_SRCWILDCARD := % +else +kernel-hidd-vesagfx_MC_SRCWILDCARD := $(kernel-hidd-vesagfx_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-hidd-vesagfx_OBJDIR)/linklib,) +kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(kernel-hidd-vesagfx_LINKLIBCCGENFILES)) +kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(kernel-hidd-vesagfx_LINKLIBCCGENFILES)) +kernel-hidd-vesagfx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-vesagfx_LINKLIBCCGENFILES)))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-vesagfx_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-hidd-vesagfx_OBJDIR)/linklib,) + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(kernel-hidd-vesagfx_LINKLIBCCGENFILES))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(kernel-hidd-vesagfx_LINKLIBCCGENFILES))) +else + kernel-hidd-vesagfx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-vesagfx_OBJDIR)/linklib/%,%,$(kernel-hidd-vesagfx_LINKLIBCCGENFILES)))) + kernel-hidd-vesagfx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(patsubst $(kernel-hidd-vesagfx_OBJDIR)/linklib/%,%,$(kernel-hidd-vesagfx_LINKLIBCCGENFILES)))) +endif +endif +kernel-hidd-vesagfx_MC_TGTWILDCARD := $(kernel-hidd-vesagfx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-hidd-vesagfx_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-hidd-vesagfx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-vesagfx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-vesagfx_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-vesagfx_MC_DIRS := $(foreach dir, $(kernel-hidd-vesagfx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-vesagfx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-vesagfx_MC_DIRS),) + kernel-hidd-vesagfx_MC_DIRS := $(shell echo $(kernel-hidd-vesagfx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-hidd-vesagfx_MC_DIRS) +endif + +endif + +kernel-hidd-vesagfx_MC_CPPFLAGS := $(kernel-hidd-vesagfx_LINKLIBCPPFLAGS) -D__AROS__ +kernel-hidd-vesagfx_CFLAGS := $(kernel-hidd-vesagfx_LINKLIBCFLAGS) +ifeq ($(kernel-hidd-vesagfx_LINKLIBDFLAGS),) + kernel-hidd-vesagfx_DFLAGS := $(kernel-hidd-vesagfx_LINKLIBCFLAGS) +else + kernel-hidd-vesagfx_DFLAGS := $(kernel-hidd-vesagfx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-hidd-vesagfx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(TARGET_STRIP) +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(kernel-hidd-vesagfx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(kernel-hidd-vesagfx_DFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-hidd-vesagfx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(HOST_STRIP) +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-hidd-vesagfx_DFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-hidd-vesagfx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-hidd-vesagfx_STRIP ?= $(ECHO) >/dev/null +kernel-hidd-vesagfx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS) $(kernel-hidd-vesagfx_MC_EXTRA_CPPFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_CFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-hidd-vesagfx_DFLAGS)) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-hidd-vesagfx_MC_TARGETS) $(kernel-hidd-vesagfx_MC_DTARGETS) : kernel-hidd-vesagfx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-hidd-vesagfx_MC_TARGETS) : CPPFLAGS := $(kernel-hidd-vesagfx_MC_CPPFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) : CFLAGS := $(kernel-hidd-vesagfx_CFLAGS) +$(kernel-hidd-vesagfx_MC_TARGETS) : $(kernel-hidd-vesagfx_MC_TGTWILDCARD).o : $(kernel-hidd-vesagfx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-hidd-vesagfx_IQUOTE) $(dir $<) $(kernel-hidd-vesagfx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-hidd-vesagfx_IQUOTE) . $(kernel-hidd-vesagfx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-hidd-vesagfx_MC_DTARGETS) : $(kernel-hidd-vesagfx_MC_TGTWILDCARD).d : $(kernel-hidd-vesagfx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-hidd-vesagfx_DFLAGS) $(kernel-hidd-vesagfx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-hidd-vesagfx_LINKLIBAFILES),) + +ifeq ($(kernel-hidd-vesagfx_OBJDIR)/linklib,) +kernel-hidd-vesagfx-MA_TARGETS := $(addsuffix .o,$(kernel-hidd-vesagfx_LINKLIBAFILES) $(kernel-hidd-vesagfx_RELLINKLIBAFILES)) +kernel-hidd-vesagfx-MA_WILDCARD := % +else +kernel-hidd-vesagfx-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-vesagfx_LINKLIBAFILES) $(kernel-hidd-vesagfx_RELLINKLIBAFILES)))) +kernel-hidd-vesagfx-MA_WILDCARD := $(kernel-hidd-vesagfx_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-hidd-vesagfx-MA_TARGETS) : | $(addsuffix .S,$(kernel-hidd-vesagfx_LINKLIBAFILES) $(kernel-hidd-vesagfx_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-hidd-vesagfx-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-hidd-vesagfx-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-hidd-vesagfx_LINKLIBAFILES) $(kernel-hidd-vesagfx_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-hidd-vesagfx-MA_DIRS := $(foreach dir, $(kernel-hidd-vesagfx-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-hidd-vesagfx-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-hidd-vesagfx-MA_DIRS),) + kernel-hidd-vesagfx-MA_DIRS := $(shell echo $(kernel-hidd-vesagfx-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-hidd-vesagfx-MA_DIRS) +endif + +endif + +kernel-hidd-vesagfx-MA_ASSEMBLER ?= $(kernel-hidd-vesagfx_ASSEMBLER) + +$(kernel-hidd-vesagfx-MA_TARGETS) : kernel-hidd-vesagfx-MA_CMD:= $(kernel-hidd-vesagfx-MA_ASSEMBLER) + +$(kernel-hidd-vesagfx-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-hidd-vesagfx-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-hidd-vesagfx-MA_TARGETS) : $(kernel-hidd-vesagfx-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-hidd-vesagfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-hidd-vesagfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-hidd-vesagfx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-hidd-vesagfx_SUFFIX := hidd +else +kernel-hidd-vesagfx_SUFFIX := +endif + +ifeq (target,target) +kernel-hidd-vesagfx_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-hidd-vesagfx_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-hidd-vesagfx_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-hidd-vesagfx_SUFFIX),handler) +kernel-hidd-vesagfx_MODULE := $(AROSDIR)/$(kernel-hidd-vesagfx_MODDIR)/$(kernel-hidd-vesagfx_DEFNAME)-$(kernel-hidd-vesagfx_SUFFIX) +else +kernel-hidd-vesagfx_MODULE := $(AROSDIR)/$(kernel-hidd-vesagfx_MODDIR)/$(kernel-hidd-vesagfx_DEFNAME).$(kernel-hidd-vesagfx_SUFFIX) +endif +kernel-hidd-vesagfx_KOBJ := $(KOBJSDIR)/$(kernel-hidd-vesagfx_DEFNAME)_$(kernel-hidd-vesagfx_SUFFIX).o +else +kernel-hidd-vesagfx_MODULE := +kernel-hidd-vesagfx_KOBJ := +endif + +kernel-hidd-vesagfx-quick : kernel-hidd-vesagfx +kernel-hidd-vesagfx : $(kernel-hidd-vesagfx_MODULE) $(kernel-hidd-vesagfx_LINKLIB) $(kernel-hidd-vesagfx_RELLINKLIB) +ifeq (M,M) +kernel-hidd-vesagfx-kobj : $(kernel-hidd-vesagfx_KOBJ) $(kernel-hidd-vesagfx_LINKLIB) $(kernel-hidd-vesagfx_RELLINKLIB) +kernel-hidd-vesagfx-kobj-quick : $(kernel-hidd-vesagfx_KOBJ) $(kernel-hidd-vesagfx_LINKLIB) $(kernel-hidd-vesagfx_RELLINKLIB) +endif +ifeq (M,M) +kernel-hidd-vesagfx-linklib : $(kernel-hidd-vesagfx_LINKLIB) $(kernel-hidd-vesagfx_RELLINKLIB) +endif + +kernel-hidd-vesagfx_OBJS := $(addsuffix .o,$(kernel-hidd-vesagfx_STARTFILES)) $(kernel-hidd-vesagfx_ARCHOBJS) \ + $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(kernel-hidd-vesagfx_C_NARCHFILES:=.o) $(kernel-hidd-vesagfx_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +kernel-hidd-vesagfx_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (vesagfx,con) + kernel-hidd-vesagfx_ERR := $(notdir $(kernel-hidd-vesagfx_MODULE)).err +else + kernel-hidd-vesagfx_ERR := vesagfx.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-hidd-vesagfx_DEFNAME)_LDFLAGS) $(kernel-hidd-vesagfx_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-hidd-vesagfx_LIBS) $($(kernel-hidd-vesagfx_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-hidd-vesagfx_MODULE) : LIB_NAMES := $(kernel-hidd-vesagfx_LIBS) $($(kernel-hidd-vesagfx_DEFNAME)_LIBS) +$(kernel-hidd-vesagfx_MODULE) : OBJS := $(kernel-hidd-vesagfx_STARTOBJS) $(kernel-hidd-vesagfx_OBJS) $(USER_OBJS) +$(kernel-hidd-vesagfx_MODULE) : ENDTAG := $(kernel-hidd-vesagfx_ENDOBJS) +$(kernel-hidd-vesagfx_MODULE) : ERR := $(kernel-hidd-vesagfx_ERR) +$(kernel-hidd-vesagfx_MODULE) : OBJDIR := $(kernel-hidd-vesagfx_OBJDIR) +$(kernel-hidd-vesagfx_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-hidd-vesagfx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-hidd-vesagfx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-hidd-vesagfx_MODULE) : $(kernel-hidd-vesagfx_STARTOBJS) $(kernel-hidd-vesagfx_OBJS) $(USER_OBJS) $(kernel-hidd-vesagfx_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-hidd-vesagfx_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-hidd-vesagfx_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-hidd-vesagfx_LC_LINKLIBNAME := $(shell echo $(kernel-hidd-vesagfx_LINKLIBNAME) | tr A-Z a-z) +kernel-hidd-vesagfx_LC_MODNAME := $(shell echo vesagfx | tr A-Z a-z) +ifneq ($(kernel-hidd-vesagfx_LINKLIB),) + +ifeq (target,target) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(HOST_AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(KERNEL_AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)$(kernel-hidd-vesagfx_LIBSUFFIX).a : $(kernel-hidd-vesagfx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-vesagfx_AR) $@ $^ + $(Q)$(kernel-hidd-vesagfx_RANLIB) $@ +ifneq ($(kernel-hidd-vesagfx_LC_MODNAME),$(kernel-hidd-vesagfx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-vesagfx_LIBDIR)/libvesagfx$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(AR) +$(kernel-hidd-vesagfx_LIBDIR)/libvesagfx$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-vesagfx_LIBDIR)/libvesagfx$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(HOST_AR) +$(kernel-hidd-vesagfx_LIBDIR)/libvesagfx$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-vesagfx_LIBDIR)/libvesagfx$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(KERNEL_AR) +$(kernel-hidd-vesagfx_LIBDIR)/libvesagfx$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-vesagfx_LIBDIR)/libvesagfx$(kernel-hidd-vesagfx_LIBSUFFIX).a : $(kernel-hidd-vesagfx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-vesagfx_AR) $@ $^ + $(Q)$(kernel-hidd-vesagfx_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-vesagfx_LINKLIB),) +$(kernel-hidd-vesagfx_LINKLIB) : | $(kernel-hidd-vesagfx_LIBDIR) +else +$(kernel-hidd-vesagfx_LINKLIB) :: $(kernel-hidd-vesagfx_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-vesagfx_LIBDIR) + +endif + +ifneq ($(kernel-hidd-vesagfx_RELLINKLIB),) + +ifeq (target,target) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(HOST_AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(KERNEL_AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_LINKLIBNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : $(kernel-hidd-vesagfx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-vesagfx_AR) $@ $^ + $(Q)$(kernel-hidd-vesagfx_RANLIB) $@ +ifneq ($(kernel-hidd-vesagfx_LC_MODNAME),$(kernel-hidd-vesagfx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_DEFNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_DEFNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_DEFNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(HOST_AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_DEFNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_DEFNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_AR:=$(KERNEL_AR) +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_DEFNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : kernel-hidd-vesagfx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-hidd-vesagfx_LIBDIR)/lib$(kernel-hidd-vesagfx_DEFNAME)_rel$(kernel-hidd-vesagfx_LIBSUFFIX).a : $(kernel-hidd-vesagfx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-hidd-vesagfx_AR) $@ $^ + $(Q)$(kernel-hidd-vesagfx_RANLIB) $@ +endif + + +ifneq ($(kernel-hidd-vesagfx_RELLINKLIB),) +$(kernel-hidd-vesagfx_RELLINKLIB) : | $(kernel-hidd-vesagfx_LIBDIR) +else +$(kernel-hidd-vesagfx_RELLINKLIB) :: $(kernel-hidd-vesagfx_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-vesagfx_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-hidd-vesagfx_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-hidd-vesagfx_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-hidd-vesagfx_SYMBOLS := $(kernel-hidd-vesagfx_KBASE) + +kernel-hidd-vesagfx_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-hidd-vesagfx_KOBJ_LIBS := $(filter-out $(kernel-hidd-vesagfx_KLIB),$(kernel-hidd-vesagfx_LIBS)) $(kernel-hidd-vesagfx_KAUTOLIB) +$(kernel-hidd-vesagfx_KOBJ) : LINKLIBS:=$(kernel-hidd-vesagfx_KOBJ_LIBS) $($(kernel-hidd-vesagfx_DEFNAME)_LIBS) +$(kernel-hidd-vesagfx_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-hidd-vesagfx_SYMBOLS)) +$(kernel-hidd-vesagfx_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-hidd-vesagfx_KOBJ) : $(kernel-hidd-vesagfx_OBJS) $(USER_OBJS) $(kernel-hidd-vesagfx_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-hidd-vesagfx_DEPS := $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/,$(notdir $(kernel-hidd-vesagfx_CCFILES:=.d) $(kernel-hidd-vesagfx_TARGETCCFILES:=.d) $(kernel-hidd-vesagfx_CXXFILES:=.d))) $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/linklib/,$(notdir $(kernel-hidd-vesagfx_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-hidd-vesagfx_DEPS),) + ifneq (kernel-hidd-vesagfx kernel-hidd-vesagfx-quick kernel-hidd-vesagfx-kobj kernel-hidd-vesagfx-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-hidd-vesagfx kernel-hidd-vesagfx-quick kernel-hidd-vesagfx-kobj kernel-hidd-vesagfx-kobj-quick),) + -include $(kernel-hidd-vesagfx_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-hidd-vesagfx_DEPS) + endif + endif +endif + +$(kernel-hidd-vesagfx_OBJS) $(kernel-hidd-vesagfx_DEPS) : | $(kernel-hidd-vesagfx_OBJDIR)/linklib + +ifneq ($(kernel-hidd-vesagfx_OBJS) $(kernel-hidd-vesagfx_DEPS) $(kernel-hidd-vesagfx_MODULE) $(kernel-hidd-vesagfx_KOBJ),) +$(kernel-hidd-vesagfx_OBJS) $(kernel-hidd-vesagfx_DEPS) $(kernel-hidd-vesagfx_MODULE) $(kernel-hidd-vesagfx_KOBJ) : | $(kernel-hidd-vesagfx_OBJDIR) $(AROSDIR)/$(kernel-hidd-vesagfx_MODDIR) $(KOBJSDIR) +else +$(kernel-hidd-vesagfx_OBJS) $(kernel-hidd-vesagfx_DEPS) $(kernel-hidd-vesagfx_MODULE) $(kernel-hidd-vesagfx_KOBJ) :: $(kernel-hidd-vesagfx_OBJDIR) $(AROSDIR)/$(kernel-hidd-vesagfx_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-hidd-vesagfx_OBJDIR) $(AROSDIR)/$(kernel-hidd-vesagfx_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-hidd-vesagfx kernel-hidd-vesagfx-includes kernel-hidd-vesagfx-quick kernel-hidd-vesagfx-kobj kernel-hidd-vesagfx-kobj-quick),) # Only for this target these deps are wanted + +kernel-hidd-vesagfx_DFILE_DEPS := $(kernel-hidd-vesagfx_LIBDEFSINC) $(kernel-hidd-vesagfx_DEFLIBDEFSINC) \ + $(addprefix $(kernel-hidd-vesagfx_INCDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) +$(kernel-hidd-vesagfx_DEPS) : $(kernel-hidd-vesagfx_DFILE_DEPS) +endif + +kernel-hidd-vesagfx_TOCLEAN := $(kernel-hidd-vesagfx_OBJS) $(kernel-hidd-vesagfx_DEPS) \ + $(kernel-hidd-vesagfx_MODULE) $(kernel-hidd-vesagfx_LINKLIB) $(kernel-hidd-vesagfx_KOBJ) \ + $(kernel-hidd-vesagfx_OBJDIR)/Makefile.vesagfxhidd \ + $(addprefix $(kernel-hidd-vesagfx_OBJDIR)/include/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-hidd-vesagfx_INCDIR)/,$($(kernel-hidd-vesagfx_DEFNAME)_INCLUDES)) \ + $(kernel-hidd-vesagfx_OBJDIR)/vesagfx_geninc $(kernel-hidd-vesagfx_OBJDIR)/vesagfx_incs \ + $(addsuffix .c,$(kernel-hidd-vesagfx_LINKLIBFILES)) $(kernel-hidd-vesagfx_LINKLIBOBJS) $(kernel-hidd-vesagfx_LIBDEFSINC) \ + $(kernel-hidd-vesagfx_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-hidd-vesagfx_STARTFILES) $(kernel-hidd-vesagfx_ENDFILES)) \ + $(kernel-hidd-vesagfx_ENDOBJS) +kernel-hidd-vesagfx-clean : FILES := $(kernel-hidd-vesagfx_TOCLEAN) +kernel-hidd-vesagfx-clean :: + $(Q)$(ECHO) "Cleaning up for module vesagfx" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-hidd-vesagfx_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/security/catalogs/mmakefile b/rom/security/catalogs/mmakefile new file mode 100644 index 00000000000..a9195f82409 --- /dev/null +++ b/rom/security/catalogs/mmakefile @@ -0,0 +1,76 @@ +# Copyright © 2018, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +# croatian portuguese +CATALOGS:= italian russian spanish + + +ifeq ($(SRCDIR)/$(CURDIR)/security,) +kernel-security-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +kernel-security-catalogs_DESC := $(SRCDIR)/$(CURDIR)/security +endif + +kernel-security-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +kernel-security-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +kernel-security-catalogs_LNGS := $(CATALOGS) +endif + +kernel-security-catalogs_OBJS := $(addsuffix /System/Security.catalog, $(addprefix $(AROS_CATALOGS)/, $(kernel-security-catalogs_LNGS))) +kernel-security-catalogs_DIRS := $(addsuffix /System, $(addprefix $(AROS_CATALOGS)/, $(kernel-security-catalogs_LNGS))) $(dir ../strings.h) + +#MM- kernel-security-catalogs-quick : kernel-security-catalogs + +#MM +kernel-security-catalogs : $(kernel-security-catalogs_OBJS) ../strings.h + + +ifneq ($(kernel-security-catalogs_OBJS),) +$(kernel-security-catalogs_OBJS) : | $(kernel-security-catalogs_DIRS) +else +$(kernel-security-catalogs_OBJS) :: $(kernel-security-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(kernel-security-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Security.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(kernel-security-catalogs_DESC).cd + $(Q)$(ECHO) "Creating Security catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(kernel-security-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Security.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(kernel-security-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Security.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(kernel-security-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Security.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : kernel-security-catalogs_DESC := $(kernel-security-catalogs_DESC) +../strings.h : kernel-security-catalogs_SRC := $(kernel-security-catalogs_SRC) +../strings.h : $(kernel-security-catalogs_DESC).cd $(kernel-security-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating Security catalog source file $@" + $(Q)$(FLEXCAT) $(kernel-security-catalogs_DESC).cd $@=$(kernel-security-catalogs_SRC).sd +endif + +kernel-security-catalogs-clean : FILES := $(kernel-security-catalogs_OBJS) ../strings.h +#MM +kernel-security-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget kernel-security-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: kernel-security-catalogs kernel-security-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/security/mmakefile b/rom/security/mmakefile new file mode 100644 index 00000000000..9acc486c9eb --- /dev/null +++ b/rom/security/mmakefile @@ -0,0 +1,1739 @@ +# $Id$ +# +# Makefile to make MultiUserFS compatible security.library. + +include $(SRCDIR)/config/aros.cfg + +PUBLICFUNCS := \ + secAccess_Control \ + secAddMonitor \ + secAllocGroupInfo \ + secAllocUserInfo \ + secCheckPasswd \ + secContextLocate \ + secEnumChildren \ + secFreeExtOwner \ + secFreeGroupInfo \ + secFreeUserInfo \ + secFreeze \ + secGetConfigDirLock \ + secGetDefProtection \ + secGetGroupInfo \ + secGetPasswdDirLock \ + secGetPktDefProtection \ + secGetPktOwner \ + secGetRelationshipA \ + secGetTaskExtOwner \ + secGetTaskOwner \ + secGetUserInfo \ + secKill \ + secLimitDOSSetProtection \ + secLocksecBase \ + secLoginA \ + secLogout \ + secPasswd \ + secRemMonitor \ + secSetDefProtectionA \ + secSetProtection \ + secUnfreeze \ + secUnlocksecBase \ + secUserInfo2ExtOwner + +CRTPUBLICFUNCS := \ + secgetgid \ + secgetpgid \ + secgetuid \ + secsetegid \ + secseteuid \ + secsetgid \ + secsetreuid \ + secsetuid + +PRIVATEFUNCS := \ + secFSRendezVous \ + secLoadPlugin \ + secUnloadPlugin \ + secRegisterHandler \ + secUnRegisterHandler \ + secPluginOperationComplete + +SECURITYFILES := \ + security_config \ + security_execfuncs \ + security_dosfuncs \ + security_locale \ + security_volumes \ + security_memory \ + security_plugins \ + security_crypto \ + security_monitor \ + security_packetio \ + security_enforce \ + security_task \ + security_server \ + security_segment \ + security_support + +EXEDIR := $(AROSDIR)/MuFS + +#USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/../Include +USER_CPPFLAGS := -DDEBUG +USER_LDFLAGS := -static + +#MM kernel-security : includes linklibs kernel-security-catalogs +#MM- workbench-libs : kernel-security +#MM- workbench-libs-includes : kernel-security-includes +#MM- workbench-libs-quick : kernel-security-quick + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-security +#MM kernel-security-quick +#MM kernel-security-makefile +#MM kernel-security-clean + +# ABI targets: +#MM- includes-all : kernel-security-includes +#MM- linklibs-security: kernel-security-linklib +#MM- linklibs-security_rel : kernel-security-linklib +#MM- includes-security: kernel-security-includes +#MM- includes-security_rel : kernel-security-includes +#MM- kernel-security : kernel-security-includes core-linklibs linklibs- +#MM kernel-security-linklib : kernel-security-includes includes- +#MM- kernel-security-quick : kernel-security-includes-quick +#MM kernel-security-includes : kernel-security-makefile kernel-security-includes-dirs \ +#MM includes-generate-deps kernel-security-fd +#MM kernel-security-includes-quick +#MM kernel-security-includes-dirs +#MM kernel-security-fd + +# Library targets +#MM kernel-security-kobj : core-linklibs linklibs- +#MM kernel-security-kobj-quick : + +# Library with ABI targets: +#MM kernel-security-kobj : kernel-security-includes core-linklibs linklibs- +#MM kernel-security-kobj-quick : kernel-security-includes-quick + +# All MetaMake targets defined by this macro +kernel-security_ALLTARGETS := kernel-security kernel-security-quick kernel-security-clean + +ifeq (M,M) +kernel-security_ALLTARGETS += kernel-security-kobj kernel-security-kobj-quick +endif + +ifeq (M,M) +kernel-security_ALLTARGETS += kernel-security-includes \ + kernel-security-includes-quick kernel-security-includes-dirs \ + kernel-security-linklib kernel-security-fd +endif + +.PHONY : $(kernel-security_ALLTARGETS) kernel-security-makefile + +ifeq (security,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-security_DEFNAME := security_ +else + kernel-security_DEFNAME := security +endif +kernel-security_DEFLINKLIBNAME := $(kernel-security_DEFNAME) +ifneq (,) + kernel-security_LINKLIBNAME := +else + kernel-security_LINKLIBNAME = $(kernel-security_DEFLINKLIBNAME) +endif +kernel-security_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-security_DEFCPPFLAGS += -I +endif +kernel-security_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-security_DFLAGS := +else + kernel-security_DFLAGS = $(kernel-security_DEFDFLAGS) +endif +kernel-security_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-security_DXXFLAGS := +else + kernel-security_DXXFLAGS = $(kernel-security_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-security_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-security_DEFDFLAGS)) +kernel-security_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-security_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-security_FUNCINSTR := yes +kernel-security_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-security_DEFDFLAGS)) +kernel-security_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-security_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-security_OBJDIR := +else +kernel-security_OBJDIR := $(OBJDIR)/$(kernel-security_DEFNAME) +endif +ifneq (,) +kernel-security_OBJDIR := $(kernel-security_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-security-makefile := $(kernel-security_OBJDIR)/Makefile.$(kernel-security_DEFNAME)library +kernel-security-genmakefile : $(kernel-security-makefile) + + +kernel-security-genmakefile_OPTS := +ifneq (,) + kernel-security-genmakefile_OPTS += -f + kernel-security-genmakefile_MODNAME := security_ +else + kernel-security-genmakefile_MODNAME := security +endif +kernel-security-genmakefile_TARGET := Makefile.$(kernel-security-genmakefile_MODNAME)library +kernel-security-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-security-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-security-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-security-genmakefile_OPTS += -c + kernel-security-genmakefile_DEPS += + endif +else + kernel-security-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/security.conf + kernel-security-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/security.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-security-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-security-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-security-genmakefile_OPTS += -o + kernel-security-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-security-genmakefile_OPTS += -s +endif +ifneq ($(kernel-security_OBJDIR),) + kernel-security-genmakefile_OPTS += -d $(kernel-security_OBJDIR) + kernel-security-genmakefile_TARGET := $(kernel-security_OBJDIR)/$(kernel-security-genmakefile_TARGET) +endif + +$(kernel-security-genmakefile_TARGET) : OPTS := $(kernel-security-genmakefile_OPTS) +$(kernel-security-genmakefile_TARGET) : MODNAME := security +$(kernel-security-genmakefile_TARGET) : MODTYPE := library +$(kernel-security-genmakefile_TARGET) : $(kernel-security-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-security-makefile),) +$(kernel-security-makefile) : | $(kernel-security_OBJDIR) +else +$(kernel-security-makefile) :: $(kernel-security_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-security_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-security_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-security-makefile) + +kernel-security_DEFMODDIR := $($(kernel-security_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-security_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-security_DEFMODDIR) +endif +ifneq (,) + kernel-security_MODDIR := +else + kernel-security_MODDIR := $(kernel-security_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-security_INCDIR := +else +kernel-security_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-security_LIBDEFSINC := $(kernel-security_OBJDIR)/include/$(kernel-security_DEFNAME)_libdefs.h +kernel-security_DEFLIBDEFSINC := $(kernel-security_OBJDIR)/include/$(kernel-security_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-security-includes-quick : kernel-security-includes +kernel-security-includes : $(addprefix $(GENINCDIR)/,$($(kernel-security_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-security_INCDIR)/,$($(kernel-security_DEFNAME)_INCLUDES)) \ + $(kernel-security_LIBDEFSINC) $(kernel-security_DEFLIBDEFSINC) + +ifneq ($($(kernel-security_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-security-includes_MODNAME := security_ +else + kernel-security-includes_MODNAME := security +endif + +ifneq ($($(kernel-security-includes_MODNAME)_INCLUDES),) + +kernel-security-includes_TARGETS := $($(kernel-security-includes_MODNAME)_INCLUDES) + +kernel-security-includes_DEPS := $(GENMODULE) +kernel-security-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-security-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-security-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-security-includes_OPTS += -c + kernel-security-includes_DEPS += + endif +else + kernel-security-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/security.conf + kernel-security-includes_DEPS += $(SRCDIR)/$(CURDIR)/security.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-security-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-security-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-security-includes_OPTS += -o + kernel-security-includes_DEPS += + endif +endif +ifneq (,) + kernel-security-includes_OPTS += -s +endif +ifneq ($(kernel-security_OBJDIR)/include,) + kernel-security-includes_OPTS += -d $(kernel-security_OBJDIR)/include + kernel-security-includes_TARGETS := $(addprefix $(kernel-security_OBJDIR)/include/,$(kernel-security-includes_TARGETS)) + kernel-security-includes_GENINCFLAG=$(kernel-security_OBJDIR)/include/.security.library-includes +else + kernel-security-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.security.library-includes +endif + +$(kernel-security-includes_TARGETS) : $(kernel-security-includes_DEPS) $(kernel-security-includes_GENINCFLAG) + +$(kernel-security-includes_GENINCFLAG) : OPTS := $(kernel-security-includes_OPTS) +$(kernel-security-includes_GENINCFLAG) : MODNAME := security +$(kernel-security-includes_GENINCFLAG) : MODTYPE := library +$(kernel-security-includes_GENINCFLAG) : $(kernel-security-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-security_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-security_DEFNAME)_INCLUDES)) : | $(kernel-security_OBJDIR)/security_geninc + +$(kernel-security_OBJDIR)/security_geninc : COPYSRCDIR := $(kernel-security_OBJDIR)/include +$(kernel-security_OBJDIR)/security_geninc : TGTDIR := $(GENINCDIR) +$(kernel-security_OBJDIR)/security_geninc : FILES := $($(kernel-security_DEFNAME)_INCLUDES) +$(kernel-security_OBJDIR)/security_geninc : $(addprefix $(kernel-security_OBJDIR)/include/,$($(kernel-security_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-security_OBJDIR)/include + +$(addprefix $(kernel-security_INCDIR)/,$($(kernel-security_DEFNAME)_INCLUDES)) : | $(kernel-security_OBJDIR)/security_incs + +$(kernel-security_OBJDIR)/security_incs : COPYSRCDIR := $(kernel-security_OBJDIR)/include +$(kernel-security_OBJDIR)/security_incs : TGTDIR := $(kernel-security_INCDIR) +$(kernel-security_OBJDIR)/security_incs : FILES := $($(kernel-security_DEFNAME)_INCLUDES) +$(kernel-security_OBJDIR)/security_incs : $(addprefix $(kernel-security_OBJDIR)/include/,$($(kernel-security_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-security_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-security_DEFNAME)_INCLUDES)))) + +TMPsecurity_INCDIRS := \ + $(kernel-security_OBJDIR)/include $(addprefix $(kernel-security_OBJDIR)/include/,$(kernel-security_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-security_INCDIRS)) \ + $(kernel-security_INCDIR) $(addprefix $(kernel-security_INCDIR)/,$(kernel-security_INCDIRS)) + +ifneq (kernel-security-includes-dirs,) +kernel-security-includes-dirs : | $(TMPsecurity_INCDIRS) +else +kernel-security-includes-dirs :: $(TMPsecurity_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPsecurity_INCDIRS) + + +endif + +endif + + +kernel-security-genlibdefs_OPTS := +ifneq (,) + kernel-security-genlibdefs_OPTS += -f + kernel-security-genlibdefs_MODNAME := security_ +else + kernel-security-genlibdefs_MODNAME := security +endif +kernel-security-genlibdefs_TARGET := $(kernel-security-genlibdefs_MODNAME)_libdefs.h +kernel-security-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-security-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-security-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-security-genlibdefs_OPTS += -c + kernel-security-genlibdefs_DEPS += + endif +else + kernel-security-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/security.conf + kernel-security-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/security.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-security-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-security-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-security-genlibdefs_OPTS += -o + kernel-security-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-security-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-security_OBJDIR)/include,) + kernel-security-genlibdefs_OPTS += -d $(kernel-security_OBJDIR)/include + kernel-security-genlibdefs_TARGET := $(kernel-security_OBJDIR)/include/$(kernel-security-genlibdefs_TARGET) +endif +ifneq (,) + kernel-security-genlibdefs_OPTS += -v +endif + +$(kernel-security-genlibdefs_TARGET) : OPTS := $(kernel-security-genlibdefs_OPTS) +$(kernel-security-genlibdefs_TARGET) : MODNAME := security +$(kernel-security-genlibdefs_TARGET) : MODTYPE := library +$(kernel-security-genlibdefs_TARGET) : $(kernel-security-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-security_DEFLIBDEFSINC) : FILENAME := $(kernel-security_LIBDEFSINC) +$(kernel-security_DEFLIBDEFSINC) : $(kernel-security_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-security_LIBDEFSINC) $(kernel-security_DEFLIBDEFSINC) : | $(kernel-security_OBJDIR)/include + +ifneq (kernel-security-includes-dirs,) +kernel-security-includes-dirs : | $(kernel-security_OBJDIR)/include +else +kernel-security-includes-dirs :: $(kernel-security_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-security_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-security-genmodfiles_OPTS := +ifneq (,) + kernel-security-genmodfiles_OPTS += -f + kernel-security-genmodfiles_MODNAME := security_ +else + kernel-security-genmodfiles_MODNAME := security +endif +kernel-security-genmodfiles_GENTARGETS := $($(kernel-security-genmodfiles_MODNAME)_STARTFILES) $($(kernel-security-genmodfiles_MODNAME)_ENDFILES) +kernel-security-genmodfiles_STUBTARGETS := $($(kernel-security-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-security-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-security-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-security-genmodfiles_GENTARGETS)) +kernel-security-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-security-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-security-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-security-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-security-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-security-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-security-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-security-genmodfiles_OPTS += -c + kernel-security-genmodfiles_DEPS += + endif +else + kernel-security-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/security.conf + kernel-security-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/security.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-security-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-security-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-security-genmodfiles_OPTS += -o + kernel-security-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-security-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-security_OBJDIR),) + kernel-security-genmodfiles_OPTS += -d $(kernel-security_OBJDIR) + kernel-security-genmodfiles_TARGETDIR := $(shell echo $(kernel-security_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-security-genmodfiles_GENTARGETS := $(addprefix $(kernel-security-genmodfiles_TARGETDIR)/,$(kernel-security-genmodfiles_GENTARGETS)) + kernel-security-genmodfiles_GENFILEFLAG=$(kernel-security-genmodfiles_TARGETDIR)/.security.library-genfiles +else + kernel-security-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.security.library-genfiles +endif +ifneq ($(kernel-security_OBJDIR)/linklib,) + kernel-security-genmodfiles_OPTS += -l $(kernel-security_OBJDIR)/linklib + kernel-security-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-security_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-security-genmodfiles_STUBTARGETS := $(addprefix $(kernel-security-genmodfiles_STUBTARGETDIR)/,$(kernel-security-genmodfiles_STUBTARGETS)) + kernel-security-genmodfiles_TARGETDIRS += $(kernel-security_OBJDIR)/linklib +else +ifneq ($(kernel-security_OBJDIR),) + kernel-security-genmodfiles_STUBTARGETS := $(addprefix $(kernel-security-genmodfiles_TARGETDIR)/,$(kernel-security-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-security-genmodfiles_TARGETS := $(kernel-security-genmodfiles_GENTARGETS) $(kernel-security-genmodfiles_STUBTARGETS) +ifneq ($(kernel-security-genmodfiles_TARGETDIRS),) +$(kernel-security-genmodfiles_TARGETS) : | $(kernel-security-genmodfiles_TARGETDIRS) +endif + +$(kernel-security-genmodfiles_TARGETS) : $(kernel-security-genmodfiles_DEPS) $(kernel-security-genmodfiles_GENFILEFLAG) + +$(kernel-security-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-security-genmodfiles_OPTS) +$(kernel-security-genmodfiles_GENFILEFLAG) : MODNAME := security +$(kernel-security-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(kernel-security-genmodfiles_GENFILEFLAG) : $(kernel-security-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-security-genmodfiles_GENFILEFLAG) : $(kernel-security_DEFLIBDEFSINC) $(kernel-security-makefile) + + +ifneq ($(kernel-security-genmodfiles_GENFILEFLAG),) +$(kernel-security-genmodfiles_GENFILEFLAG) : | $(kernel-security_OBJDIR)/linklib +else +$(kernel-security-genmodfiles_GENFILEFLAG) :: $(kernel-security_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-security_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-security_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-security_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-security-fd : $(kernel-security_FDDIR)/security_lib.fd + + +TMP_TARGET := security_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/security.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/security.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-security_FDDIR),) + TMP_OPTS += -d $(kernel-security_FDDIR) + TMP_TARGET := $(kernel-security_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := security +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-security_FDDIR)/security_lib.fd : | $(kernel-security_FDDIR) + + +ifneq (kernel-security-fd-setup,) +kernel-security-fd-setup : | $(kernel-security_FDDIR) +else +kernel-security-fd-setup :: $(kernel-security_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-security_FDDIR) + +endif + +## Compilation +## +kernel-security_FILES := security_init $(PUBLICFUNCS) $(CRTPUBLICFUNCS) $(PRIVATEFUNCS) $(SECURITYFILES) +kernel-security_OBJCFILES := +kernel-security_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-security_LIBFILES := +kernel-security_LIBS := + +kernel-security_FDIRS := $(sort $(dir $(kernel-security_FILES))) + +kernel-security_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-security_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-security_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-security_FILTERARCH = $(filter-out $(call kernel-security_MATCHARCH,$(1),$(2)),$(2)) +kernel-security_STARTFILES := $(addprefix $(kernel-security_OBJDIR)/,$($(kernel-security_DEFNAME)_STARTFILES)) +kernel-security_ENDFILES := $(addprefix $(kernel-security_OBJDIR)/,$($(kernel-security_DEFNAME)_ENDFILES)) + +kernel-security_ARCHOBJS := $(wildcard $(kernel-security_OBJDIR)/arch/*.o) +kernel-security_LIBARCHOBJS := $(wildcard $(kernel-security_OBJDIR)/linklib/arch/*.o) +kernel-security_ARCHFILES := $(basename $(notdir $(kernel-security_ARCHOBJS))) +kernel-security_LIBARCHFILES := $(basename $(notdir $(kernel-security_LIBARCHOBJS))) +kernel-security_C_NARCHFILES := $(call kernel-security_FILTERARCH,$(kernel-security_ARCHFILES),$(kernel-security_FILES)) +kernel-security_CXX_NARCHFILES := $(call kernel-security_FILTERARCH,$(kernel-security_ARCHFILES),$(kernel-security_CXXFILES)) +kernel-security_OBJC_NARCHFILES := $(call kernel-security_FILTERARCH,$(kernel-security_ARCHFILES),$(kernel-security_OBJCFILES)) +kernel-security_NLIBARCHFILES := $(call kernel-security_FILTERARCH,$(kernel-security_LIBARCHFILES),$(kernel-security_LIBFILES)) +kernel-security_ARCHNLIBFILES := $(call kernel-security_FILTERARCH,$(kernel-security_LIBFILES),$(kernel-security_LIBARCHFILES)) + +kernel-security_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-security_OBJDIR)/include -include $(kernel-security_DEFLIBDEFSINC)) +ifneq (,) +kernel-security_CPPFLAGS += -I +endif +kernel-security_LINKLIBCPPFLAGS := $(kernel-security_CPPFLAGS) +kernel-security_CPPFLAGS += $(strip $($(kernel-security_DEFNAME)_CPPFLAGS)) +kernel-security_LINKLIBCPPFLAGS += $(strip $($(kernel-security_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-security_CFLAGS := $(strip $(CFLAGS) $($(kernel-security_DEFNAME)_CFLAGS)) +kernel-security_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-security_DEFNAME)_LINKLIBCFLAGS)) +kernel-security_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-security_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-security_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-security_CFLAGS := $(strip $(kernel-security_LTOFLAGS) $(kernel-security_CFLAGS)) +kernel-security_LINKLIBCFLAGS := $(strip $(kernel-security_LTOFLAGS) $(kernel-security_LINKLIBCFLAGS)) +kernel-security_CXXFLAGS := $(strip $(kernel-security_LTOFLAGS) $(kernel-security_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-security_SUBSTNULL := +kernel-security_SUBSTSPACE := $(kernel-security_SUBSTNULL) # +kernel-security_SUBSTCOMMA := , +kernel-security_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-security_SUBSTSPACE),$(kernel-security_SUBSTCOMMA),$(strip $($(kernel-security_DEFNAME)_STARTFILES)))) +kernel-security_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-security_CFLAGS := $(strip $(kernel-security_INSTRFUNCFLAGS) $(kernel-security_CFLAGS)) +kernel-security_CXXFLAGS := $(strip $(kernel-security_INSTRFUNCFLAGS) $(kernel-security_CXXFLAGS)) +kernel-security_LIBS += $(kernel-security_INSTRFUNCLIBS) +endif +endif +kernel-security_DFLAGS := $(strip $(kernel-security_DFLAGS) $($(kernel-security_DEFNAME)_DFLAGS)) +kernel-security_LINKLIBDFLAGS := $(strip $(kernel-security_DFLAGS) $($(kernel-security_DEFNAME)_LINKLIBDFLAGS)) +kernel-security_DXXFLAGS := $(strip $(kernel-security_DXXFLAGS) $($(kernel-security_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + kernel-security_LIBSUFFIX := +else + kernel-security_LIBSUFFIX := .library +endif + +ifeq (,) +kernel-security_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-security_LIBDIR := +endif + +ifeq (M,M) +kernel-security_LINKLIBCFILES := $(addprefix $(kernel-security_OBJDIR)/linklib/,$($(kernel-security_DEFNAME)_LINKLIBFILES)) +kernel-security_LINKLIBAFILES := $(addprefix $(kernel-security_OBJDIR)/linklib/,$($(kernel-security_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-security_DEFNAME)_LINKLIBFILES) $($(kernel-security_DEFNAME)_LINKLIBAFILES) $(kernel-security_ARCHNLIBFILES)),) + kernel-security_LINKLIB := +else + kernel-security_LINKLIB := $(kernel-security_LIBDIR)/libsecurity$(kernel-security_LIBSUFFIX).a + ifneq (security,$(kernel-security_LINKLIBNAME)) + kernel-security_LINKLIB += $(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)$(kernel-security_LIBSUFFIX).a + endif +endif +kernel-security_LINKLIBFILES := $(kernel-security_LINKLIBCFILES) $(kernel-security_LINKLIBAFILES) + +kernel-security_RELLINKLIBCFILES := $(addprefix $(kernel-security_OBJDIR)/linklib/,$($(kernel-security_DEFNAME)_RELLINKLIBFILES)) +kernel-security_RELLINKLIBAFILES := $(addprefix $(kernel-security_OBJDIR)/linklib/,$($(kernel-security_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-security_DEFNAME)_RELLINKLIBFILES) $($(kernel-security_DEFNAME)_RELLINKLIBAFILES) $(kernel-security_ARCHNLIBFILES)),) + kernel-security_RELLINKLIB := +else + kernel-security_RELLINKLIB := $(kernel-security_LIBDIR)/lib$(kernel-security_DEFNAME)_rel$(kernel-security_LIBSUFFIX).a + ifneq (security,$(kernel-security_LINKLIBNAME)) + kernel-security_RELLINKLIB += $(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)_rel$(kernel-security_LIBSUFFIX).a + endif +endif +kernel-security_RELLINKLIBFILES := $(kernel-security_RELLINKLIBCFILES) $(kernel-security_RELLINKLIBAFILES) +endif + +kernel-security_ENDOBJS := $(addsuffix .o,$(kernel-security_ENDFILES)) +kernel-security_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(notdir $(kernel-security_NLIBARCHFILES))) $(addprefix $(kernel-security_OBJDIR)/linklib/arch/,$(notdir $(kernel-security_ARCHNLIBFILES))) $(kernel-security_LINKLIBFILES)) \ + +kernel-security_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(notdir $(kernel-security_NLIBARCHFILES))) $(addprefix $(kernel-security_OBJDIR)/linklib/arch/,$(notdir $(kernel-security_ARCHNLIBFILES))) $(kernel-security_RELLINKLIBFILES)) \ + +$(kernel-security_LINKLIBFILES) $(kernel-security_RELLINKLIBFILES) : | $(kernel-security_OBJDIR)/linklib +$(kernel-security_LINKLIBOBJS) $(kernel-security_RELLINKLIBOBJS) : | $(kernel-security_OBJDIR)/linklib + +kernel-security_CCFILES := $(kernel-security_C_NARCHFILES) +kernel-security_TARGETCCFILES := $(strip $(kernel-security_STARTFILES) $(kernel-security_ENDFILES)) +kernel-security_LINKLIBCCFILES := $(strip $(kernel-security_NLIBARCHFILES) $(kernel-security_LINKLIBCFILES) $(kernel-security_RELLINKLIBCFILES)) +kernel-security_LINKLIBCCGENFILES := $(strip $(kernel-security_LINKLIBCFILES) $(kernel-security_RELLINKLIBCFILES)) + + +kernel-security_CXXABSBASENAMES := $(foreach kernel-security_CXXBASE,$(kernel-security_CXX_NARCHFILES),$(if $(filter /%,$(kernel-security_CXXBASE)),$(kernel-security_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-security_CXXBASE)))) + +ifneq ($(kernel-security_CXXABSBASENAMES),) + +kernel-security_CXXBASENAMES := $(basename $(kernel-security_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-security_MCXX_FILES := $(strip $(foreach kernel-security_CXXBASE,$(kernel-security_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-security_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-security_EXT),$(kernel-security_CXXBASE))))))) + +ifeq (,) +kernel-security_MCXX_SRCWILDCARD := % +else +kernel-security_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-security_OBJDIR),) + kernel-security_CXXTARGETS := $(notdir $(kernel-security_CXXBASENAMES:=.o)) + kernel-security_CXXDTARGETS := $(notdir $(kernel-security_CXXBASENAMES:=.d)) + kernel-security_MCXX_WILDCARD := % +else + kernel-security_CXXTARGETS := $(addprefix $(kernel-security_OBJDIR)/,$(notdir $(kernel-security_CXXBASENAMES:=.o))) + kernel-security_CXXDTARGETS := $(addprefix $(kernel-security_OBJDIR)/,$(notdir $(kernel-security_CXXBASENAMES:=.d))) + kernel-security_MCXX_WILDCARD := $(kernel-security_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-security_CXXTARGETS) $(kernel-security_CXXDTARGETS) : | $(kernel-security_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-security_MCXX_CPPFLAGS := $(kernel-security_CPPFLAGS) +kernel-security_CXXFLAGS := $(kernel-security_CXXFLAGS) +ifeq ($(kernel-security_DXXFLAGS),) + kernel-security_DXXFLAGS := $(kernel-security_CXXFLAGS) +else + kernel-security_DXXFLAGS := $(kernel-security_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-security_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-security_STRIP ?= $(HOST_STRIP) + kernel-security_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-security_CXXCMD:=$(HOST_CXX) + kernel-security_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-security_MCXX_CPPFLAGS) $(kernel-security_MCXX_EXTRA_CPPFLAGS)) + kernel-security_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-security_CXXFLAGS)) + kernel-security_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-security_DXXFLAGS)) + kernel-security_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-security_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-security_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-security_STRIP ?= $(TARGET_STRIP) + kernel-security_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-security_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-security_MCXX_CPPFLAGS := $(strip $(kernel-security_MCXX_CPPFLAGS) $(kernel-security_MCXX_EXTRA_CPPFLAGS)) + kernel-security_CXXFLAGS := $(strip $(kernel-security_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-security_DXXFLAGS := $(kernel-security_DXXFLAGS) + kernel-security_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-security_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-security_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-security_STRIP ?= $(ECHO) >/dev/null + kernel-security_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-security_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-security_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-security_MCXX_CPPFLAGS) $(kernel-security_MCXX_EXTRA_CPPFLAGS)) + kernel-security_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-security_CXXFLAGS)) + kernel-security_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-security_DXXFLAGS)) + kernel-security_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-security_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-security_CXXCMD) $(kernel-security_CXXIQUOTE) $(dir $(2)) $(kernel-security_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_CXXIQUOTE) . $(kernel-security_CXXIQUOTE_END) $(strip $(kernel-security_CXXFLAGS) $(kernel-security_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-security_CXXCMD) $(kernel-security_CXXIQUOTE) $(dir $(2)) $(kernel-security_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_CXXIQUOTE) . $(kernel-security_CXXIQUOTE_END) $(strip $(kernel-security_CXXFLAGS) $(kernel-security_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-security_CXXCMD) $(kernel-security_CXXIQUOTE) $(dir $(2)) $(kernel-security_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_CXXIQUOTE) . $(kernel-security_CXXIQUOTE_END) $(strip $(kernel-security_CXXFLAGS) $(kernel-security_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-security_CXXCMD)" $(MKDEPEND) $(strip $(kernel-security_DXXFLAGS) $(kernel-security_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-security_OBJDIR),) + $(foreach kernel-security_CXXFILE,$(kernel-security_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-security_CXXFILE))),$(kernel-security_CXXFILE)))) +else + $(foreach kernel-security_CXXFILE,$(kernel-security_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-security_OBJDIR)/,$(notdir $(basename $(kernel-security_CXXFILE)))),$(kernel-security_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-security_OBJC_NARCHFILES),) + +ifeq (,) +kernel-security_MOBJC_SRCWILDCARD := % +else +kernel-security_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-security_OBJDIR),) + kernel-security_MOBJC_TARGETS := $(addsuffix .o,$(kernel-security_OBJC_NARCHFILES)) + kernel-security_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-security_OBJC_NARCHFILES)) + kernel-security_MOBJC_WILDCARD := % +else + kernel-security_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/,$(kernel-security_OBJC_NARCHFILES))) + kernel-security_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/,$(kernel-security_OBJC_NARCHFILES))) + kernel-security_MOBJC_WILDCARD := $(kernel-security_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-security_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-security_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-security_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-security_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-security_MOBJC_DIRS := $(foreach dir, $(kernel-security_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-security_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-security_MOBJC_DIRS),) + kernel-security_MOBJC_DIRS := $(shell echo $(kernel-security_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-security_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-security_CC := $(TARGET_CC) +else + kernel-security_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-security_MOBJC_CPPFLAGS := $(kernel-security_CPPFLAGS) +kernel-security_OBJCFLAGS := $(kernel-security_CFLAGS) +kernel-security_OBJCFLAGS := $(kernel-security_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-security_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-security_OBJCFLAGS))) +ifeq ($(kernel-security_DFLAGS),) + kernel-security_OBJCDFLAGS := $(kernel-security_CFLAGS) +else + kernel-security_OBJCDFLAGS := $(kernel-security_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-security_LINK ?= $(strip $(kernel-security_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-security_STRIP ?= $(TARGET_STRIP) + kernel-security_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-security_CC) $(TARGET_SYSROOT)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_MOBJC_CPPFLAGS:=$(strip $(kernel-security_MOBJC_CPPFLAGS) $(kernel-security_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_OBJCFLAGS:=$(strip $(kernel-security_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_OBJCDFLAGS:=$(kernel-security_OBJCDFLAGS) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-security_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-security_STRIP ?= $(HOST_STRIP) + kernel-security_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-security_MOBJC_CPPFLAGS) $(kernel-security_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_OBJCFLAGS)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_OBJCDFLAGS)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_IQUOTE:=$(HOST_IQUOTE) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-security_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-security_STRIP ?= $(ECHO) >/dev/null + kernel-security_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-security_MOBJC_CPPFLAGS) $(kernel-security_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_OBJCFLAGS)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_OBJCDFLAGS)) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-security_MOBJC_TARGETS) $(kernel-security_MOBJC_DTARGETS) : kernel-security_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-security_MOBJC_TARGETS) : CPPFLAGS := $(kernel-security_MOBJC_CPPFLAGS) +$(kernel-security_MOBJC_TARGETS) : CFLAGS := $(kernel-security_OBJCFLAGS) +$(kernel-security_MOBJC_TARGETS) : $(kernel-security_MOBJC_WILDCARD).o : $(kernel-security_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-security_MOBJC_DTARGETS) : $(kernel-security_MOBJC_WILDCARD).d : $(kernel-security_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-security_OBJCDFLAGS) $(kernel-security_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-security_MC_SRCWILDCARD := % +else +kernel-security_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-security_OBJDIR),) +kernel-security_MC_TARGETS := $(addsuffix .o,$(kernel-security_CCFILES)) +kernel-security_MC_DTARGETS := $(addsuffix .d,$(kernel-security_CCFILES)) +kernel-security_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/,$(notdir $(kernel-security_CCFILES)))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/,$(notdir $(kernel-security_CCFILES)))) +else +ifeq (,) + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/,$(kernel-security_CCFILES))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/,$(kernel-security_CCFILES))) +else + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/,$(patsubst /%,%,$(kernel-security_CCFILES)))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/,$(patsubst /%,%,$(kernel-security_CCFILES)))) +endif +endif +kernel-security_MC_TGTWILDCARD := $(kernel-security_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : | $(addsuffix .c,$(kernel-security_CCFILES)) + +# Be sure that all .c files are found +kernel-security_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-security_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-security_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-security_MC_DIRS := $(foreach dir, $(kernel-security_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-security_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-security_MC_DIRS),) + kernel-security_MC_DIRS := $(shell echo $(kernel-security_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-security_MC_DIRS) +endif + +endif + +kernel-security_MC_CPPFLAGS := $(kernel-security_CPPFLAGS) +kernel-security_CFLAGS := $(kernel-security_CFLAGS) +ifeq ($(kernel-security_DFLAGS),) + kernel-security_DFLAGS := $(kernel-security_CFLAGS) +else + kernel-security_DFLAGS := $(kernel-security_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-security_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-security_STRIP ?= $(TARGET_STRIP) +kernel-security_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(kernel-security_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(kernel-security_DFLAGS) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-security_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-security_STRIP ?= $(HOST_STRIP) +kernel-security_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_DFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(HOST_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-security_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-security_STRIP ?= $(ECHO) >/dev/null +kernel-security_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_DFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-security_MC_TARGETS) : CPPFLAGS := $(kernel-security_MC_CPPFLAGS) +$(kernel-security_MC_TARGETS) : CFLAGS := $(kernel-security_CFLAGS) +$(kernel-security_MC_TARGETS) : $(kernel-security_MC_TGTWILDCARD).o : $(kernel-security_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-security_MC_DTARGETS) : $(kernel-security_MC_TGTWILDCARD).d : $(kernel-security_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-security_DFLAGS) $(kernel-security_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-security_MC_SRCWILDCARD := % +else +kernel-security_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-security_OBJDIR),) +kernel-security_MC_TARGETS := $(addsuffix .o,$(kernel-security_TARGETCCFILES)) +kernel-security_MC_DTARGETS := $(addsuffix .d,$(kernel-security_TARGETCCFILES)) +kernel-security_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/,$(notdir $(kernel-security_TARGETCCFILES)))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/,$(notdir $(kernel-security_TARGETCCFILES)))) +else +ifeq (,) + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/,$(kernel-security_TARGETCCFILES))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/,$(kernel-security_TARGETCCFILES))) +else + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/,$(patsubst /%,%,$(kernel-security_TARGETCCFILES)))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/,$(patsubst /%,%,$(kernel-security_TARGETCCFILES)))) +endif +endif +kernel-security_MC_TGTWILDCARD := $(kernel-security_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : | $(addsuffix .c,$(kernel-security_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-security_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-security_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-security_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-security_MC_DIRS := $(foreach dir, $(kernel-security_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-security_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-security_MC_DIRS),) + kernel-security_MC_DIRS := $(shell echo $(kernel-security_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-security_MC_DIRS) +endif + +endif + +kernel-security_MC_CPPFLAGS := $(kernel-security_CPPFLAGS) -D__AROS__ +kernel-security_CFLAGS := $(kernel-security_CFLAGS) +ifeq ($(kernel-security_DFLAGS),) + kernel-security_DFLAGS := $(kernel-security_CFLAGS) +else + kernel-security_DFLAGS := $(kernel-security_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-security_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-security_STRIP ?= $(TARGET_STRIP) +kernel-security_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(kernel-security_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(kernel-security_DFLAGS) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-security_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-security_STRIP ?= $(HOST_STRIP) +kernel-security_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_DFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(HOST_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-security_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-security_STRIP ?= $(ECHO) >/dev/null +kernel-security_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_DFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-security_MC_TARGETS) : CPPFLAGS := $(kernel-security_MC_CPPFLAGS) +$(kernel-security_MC_TARGETS) : CFLAGS := $(kernel-security_CFLAGS) +$(kernel-security_MC_TARGETS) : $(kernel-security_MC_TGTWILDCARD).o : $(kernel-security_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-security_MC_DTARGETS) : $(kernel-security_MC_TGTWILDCARD).d : $(kernel-security_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-security_DFLAGS) $(kernel-security_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-security_MC_SRCWILDCARD := % +else +kernel-security_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-security_OBJDIR)/linklib,) +kernel-security_MC_TARGETS := $(addsuffix .o,$(kernel-security_NLIBARCHFILES)) +kernel-security_MC_DTARGETS := $(addsuffix .d,$(kernel-security_NLIBARCHFILES)) +kernel-security_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(notdir $(kernel-security_NLIBARCHFILES)))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(notdir $(kernel-security_NLIBARCHFILES)))) +else +ifeq (,) + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(kernel-security_NLIBARCHFILES))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(kernel-security_NLIBARCHFILES))) +else + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-security_NLIBARCHFILES)))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-security_NLIBARCHFILES)))) +endif +endif +kernel-security_MC_TGTWILDCARD := $(kernel-security_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : | $(addsuffix .c,$(kernel-security_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-security_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-security_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-security_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-security_MC_DIRS := $(foreach dir, $(kernel-security_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-security_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-security_MC_DIRS),) + kernel-security_MC_DIRS := $(shell echo $(kernel-security_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-security_MC_DIRS) +endif + +endif + +kernel-security_MC_CPPFLAGS := $(kernel-security_LINKLIBCPPFLAGS) -D__AROS__ +kernel-security_CFLAGS := $(kernel-security_LINKLIBCFLAGS) +ifeq ($(kernel-security_LINKLIBDFLAGS),) + kernel-security_DFLAGS := $(kernel-security_LINKLIBCFLAGS) +else + kernel-security_DFLAGS := $(kernel-security_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-security_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-security_STRIP ?= $(TARGET_STRIP) +kernel-security_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(kernel-security_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(kernel-security_DFLAGS) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-security_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-security_STRIP ?= $(HOST_STRIP) +kernel-security_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_DFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(HOST_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-security_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-security_STRIP ?= $(ECHO) >/dev/null +kernel-security_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_DFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-security_MC_TARGETS) : CPPFLAGS := $(kernel-security_MC_CPPFLAGS) +$(kernel-security_MC_TARGETS) : CFLAGS := $(kernel-security_CFLAGS) +$(kernel-security_MC_TARGETS) : $(kernel-security_MC_TGTWILDCARD).o : $(kernel-security_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-security_MC_DTARGETS) : $(kernel-security_MC_TGTWILDCARD).d : $(kernel-security_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-security_DFLAGS) $(kernel-security_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-security_OBJDIR)/linklib,) +kernel-security_MC_SRCWILDCARD := % +else +kernel-security_MC_SRCWILDCARD := $(kernel-security_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-security_OBJDIR)/linklib,) +kernel-security_MC_TARGETS := $(addsuffix .o,$(kernel-security_LINKLIBCCGENFILES)) +kernel-security_MC_DTARGETS := $(addsuffix .d,$(kernel-security_LINKLIBCCGENFILES)) +kernel-security_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(notdir $(kernel-security_LINKLIBCCGENFILES)))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(notdir $(kernel-security_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-security_OBJDIR)/linklib,) + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(kernel-security_LINKLIBCCGENFILES))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(kernel-security_LINKLIBCCGENFILES))) +else + kernel-security_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(patsubst $(kernel-security_OBJDIR)/linklib/%,%,$(kernel-security_LINKLIBCCGENFILES)))) + kernel-security_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(patsubst $(kernel-security_OBJDIR)/linklib/%,%,$(kernel-security_LINKLIBCCGENFILES)))) +endif +endif +kernel-security_MC_TGTWILDCARD := $(kernel-security_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : | $(addsuffix .c,$(kernel-security_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-security_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-security_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-security_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-security_MC_DIRS := $(foreach dir, $(kernel-security_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-security_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-security_MC_DIRS),) + kernel-security_MC_DIRS := $(shell echo $(kernel-security_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-security_MC_DIRS) +endif + +endif + +kernel-security_MC_CPPFLAGS := $(kernel-security_LINKLIBCPPFLAGS) -D__AROS__ +kernel-security_CFLAGS := $(kernel-security_LINKLIBCFLAGS) +ifeq ($(kernel-security_LINKLIBDFLAGS),) + kernel-security_DFLAGS := $(kernel-security_LINKLIBCFLAGS) +else + kernel-security_DFLAGS := $(kernel-security_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-security_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-security_STRIP ?= $(TARGET_STRIP) +kernel-security_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(kernel-security_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(kernel-security_DFLAGS) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-security_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-security_STRIP ?= $(HOST_STRIP) +kernel-security_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-security_DFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(HOST_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-security_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-security_STRIP ?= $(ECHO) >/dev/null +kernel-security_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-security_MC_CPPFLAGS) $(kernel-security_MC_EXTRA_CPPFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_CFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-security_DFLAGS)) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-security_MC_TARGETS) $(kernel-security_MC_DTARGETS) : kernel-security_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-security_MC_TARGETS) : CPPFLAGS := $(kernel-security_MC_CPPFLAGS) +$(kernel-security_MC_TARGETS) : CFLAGS := $(kernel-security_CFLAGS) +$(kernel-security_MC_TARGETS) : $(kernel-security_MC_TGTWILDCARD).o : $(kernel-security_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-security_IQUOTE) $(dir $<) $(kernel-security_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-security_IQUOTE) . $(kernel-security_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-security_MC_DTARGETS) : $(kernel-security_MC_TGTWILDCARD).d : $(kernel-security_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-security_DFLAGS) $(kernel-security_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-security_LINKLIBAFILES),) + +ifeq ($(kernel-security_OBJDIR)/linklib,) +kernel-security-MA_TARGETS := $(addsuffix .o,$(kernel-security_LINKLIBAFILES) $(kernel-security_RELLINKLIBAFILES)) +kernel-security-MA_WILDCARD := % +else +kernel-security-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-security_OBJDIR)/linklib/,$(notdir $(kernel-security_LINKLIBAFILES) $(kernel-security_RELLINKLIBAFILES)))) +kernel-security-MA_WILDCARD := $(kernel-security_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-security-MA_TARGETS) : | $(addsuffix .S,$(kernel-security_LINKLIBAFILES) $(kernel-security_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-security-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-security-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-security_LINKLIBAFILES) $(kernel-security_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-security-MA_DIRS := $(foreach dir, $(kernel-security-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-security-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-security-MA_DIRS),) + kernel-security-MA_DIRS := $(shell echo $(kernel-security-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-security-MA_DIRS) +endif + +endif + +kernel-security-MA_ASSEMBLER ?= $(kernel-security_ASSEMBLER) + +$(kernel-security-MA_TARGETS) : kernel-security-MA_CMD:= $(kernel-security-MA_ASSEMBLER) + +$(kernel-security-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-security-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-security-MA_TARGETS) : $(kernel-security-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-security-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-security-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-security-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-security_SUFFIX := library +else +kernel-security_SUFFIX := +endif + +ifeq (target,target) +kernel-security_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-security_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-security_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-security_SUFFIX),handler) +kernel-security_MODULE := $(AROSDIR)/$(kernel-security_MODDIR)/$(kernel-security_DEFNAME)-$(kernel-security_SUFFIX) +else +kernel-security_MODULE := $(AROSDIR)/$(kernel-security_MODDIR)/$(kernel-security_DEFNAME).$(kernel-security_SUFFIX) +endif +kernel-security_KOBJ := $(KOBJSDIR)/$(kernel-security_DEFNAME)_$(kernel-security_SUFFIX).o +else +kernel-security_MODULE := +kernel-security_KOBJ := +endif + +kernel-security-quick : kernel-security +kernel-security : $(kernel-security_MODULE) $(kernel-security_LINKLIB) $(kernel-security_RELLINKLIB) +ifeq (M,M) +kernel-security-kobj : $(kernel-security_KOBJ) $(kernel-security_LINKLIB) $(kernel-security_RELLINKLIB) +kernel-security-kobj-quick : $(kernel-security_KOBJ) $(kernel-security_LINKLIB) $(kernel-security_RELLINKLIB) +endif +ifeq (M,M) +kernel-security-linklib : $(kernel-security_LINKLIB) $(kernel-security_RELLINKLIB) +endif + +kernel-security_OBJS := $(addsuffix .o,$(kernel-security_STARTFILES)) $(kernel-security_ARCHOBJS) \ + $(addprefix $(kernel-security_OBJDIR)/,$(notdir $(kernel-security_C_NARCHFILES:=.o) $(kernel-security_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +kernel-security_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (security,con) + kernel-security_ERR := $(notdir $(kernel-security_MODULE)).err +else + kernel-security_ERR := security.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-security_DEFNAME)_LDFLAGS) $(kernel-security_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-security_LIBS) $($(kernel-security_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-security_MODULE) : LIB_NAMES := $(kernel-security_LIBS) $($(kernel-security_DEFNAME)_LIBS) +$(kernel-security_MODULE) : OBJS := $(kernel-security_STARTOBJS) $(kernel-security_OBJS) $(USER_OBJS) +$(kernel-security_MODULE) : ENDTAG := $(kernel-security_ENDOBJS) +$(kernel-security_MODULE) : ERR := $(kernel-security_ERR) +$(kernel-security_MODULE) : OBJDIR := $(kernel-security_OBJDIR) +$(kernel-security_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-security_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-security_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-security_MODULE) : $(kernel-security_STARTOBJS) $(kernel-security_OBJS) $(USER_OBJS) $(kernel-security_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-security_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-security_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-security_LC_LINKLIBNAME := $(shell echo $(kernel-security_LINKLIBNAME) | tr A-Z a-z) +kernel-security_LC_MODNAME := $(shell echo security | tr A-Z a-z) +ifneq ($(kernel-security_LINKLIB),) + +ifeq (target,target) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(HOST_AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(KERNEL_AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)$(kernel-security_LIBSUFFIX).a : $(kernel-security_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-security_AR) $@ $^ + $(Q)$(kernel-security_RANLIB) $@ +ifneq ($(kernel-security_LC_MODNAME),$(kernel-security_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-security_LIBDIR)/libsecurity$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(AR) +$(kernel-security_LIBDIR)/libsecurity$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-security_LIBDIR)/libsecurity$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(HOST_AR) +$(kernel-security_LIBDIR)/libsecurity$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-security_LIBDIR)/libsecurity$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(KERNEL_AR) +$(kernel-security_LIBDIR)/libsecurity$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-security_LIBDIR)/libsecurity$(kernel-security_LIBSUFFIX).a : $(kernel-security_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-security_AR) $@ $^ + $(Q)$(kernel-security_RANLIB) $@ +endif + + +ifneq ($(kernel-security_LINKLIB),) +$(kernel-security_LINKLIB) : | $(kernel-security_LIBDIR) +else +$(kernel-security_LINKLIB) :: $(kernel-security_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-security_LIBDIR) + +endif + +ifneq ($(kernel-security_RELLINKLIB),) + +ifeq (target,target) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(HOST_AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(KERNEL_AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-security_LIBDIR)/lib$(kernel-security_LINKLIBNAME)_rel$(kernel-security_LIBSUFFIX).a : $(kernel-security_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-security_AR) $@ $^ + $(Q)$(kernel-security_RANLIB) $@ +ifneq ($(kernel-security_LC_MODNAME),$(kernel-security_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-security_LIBDIR)/lib$(kernel-security_DEFNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_DEFNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-security_LIBDIR)/lib$(kernel-security_DEFNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(HOST_AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_DEFNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-security_LIBDIR)/lib$(kernel-security_DEFNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_AR:=$(KERNEL_AR) +$(kernel-security_LIBDIR)/lib$(kernel-security_DEFNAME)_rel$(kernel-security_LIBSUFFIX).a : kernel-security_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-security_LIBDIR)/lib$(kernel-security_DEFNAME)_rel$(kernel-security_LIBSUFFIX).a : $(kernel-security_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-security_AR) $@ $^ + $(Q)$(kernel-security_RANLIB) $@ +endif + + +ifneq ($(kernel-security_RELLINKLIB),) +$(kernel-security_RELLINKLIB) : | $(kernel-security_LIBDIR) +else +$(kernel-security_RELLINKLIB) :: $(kernel-security_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-security_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-security_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-security_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-security_SYMBOLS := $(kernel-security_KBASE) + +kernel-security_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-security_KOBJ_LIBS := $(filter-out $(kernel-security_KLIB),$(kernel-security_LIBS)) $(kernel-security_KAUTOLIB) +$(kernel-security_KOBJ) : LINKLIBS:=$(kernel-security_KOBJ_LIBS) $($(kernel-security_DEFNAME)_LIBS) +$(kernel-security_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-security_SYMBOLS)) +$(kernel-security_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-security_KOBJ) : $(kernel-security_OBJS) $(USER_OBJS) $(kernel-security_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-security_DEPS := $(addprefix $(kernel-security_OBJDIR)/,$(notdir $(kernel-security_CCFILES:=.d) $(kernel-security_TARGETCCFILES:=.d) $(kernel-security_CXXFILES:=.d))) $(addprefix $(kernel-security_OBJDIR)/linklib/,$(notdir $(kernel-security_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-security_DEPS),) + ifneq (kernel-security kernel-security-quick kernel-security-kobj kernel-security-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-security kernel-security-quick kernel-security-kobj kernel-security-kobj-quick),) + -include $(kernel-security_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-security_DEPS) + endif + endif +endif + +$(kernel-security_OBJS) $(kernel-security_DEPS) : | $(kernel-security_OBJDIR)/linklib + +ifneq ($(kernel-security_OBJS) $(kernel-security_DEPS) $(kernel-security_MODULE) $(kernel-security_KOBJ),) +$(kernel-security_OBJS) $(kernel-security_DEPS) $(kernel-security_MODULE) $(kernel-security_KOBJ) : | $(kernel-security_OBJDIR) $(AROSDIR)/$(kernel-security_MODDIR) $(KOBJSDIR) +else +$(kernel-security_OBJS) $(kernel-security_DEPS) $(kernel-security_MODULE) $(kernel-security_KOBJ) :: $(kernel-security_OBJDIR) $(AROSDIR)/$(kernel-security_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-security_OBJDIR) $(AROSDIR)/$(kernel-security_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-security kernel-security-includes kernel-security-quick kernel-security-kobj kernel-security-kobj-quick),) # Only for this target these deps are wanted + +kernel-security_DFILE_DEPS := $(kernel-security_LIBDEFSINC) $(kernel-security_DEFLIBDEFSINC) \ + $(addprefix $(kernel-security_INCDIR)/,$($(kernel-security_DEFNAME)_INCLUDES)) +$(kernel-security_DEPS) : $(kernel-security_DFILE_DEPS) +endif + +kernel-security_TOCLEAN := $(kernel-security_OBJS) $(kernel-security_DEPS) \ + $(kernel-security_MODULE) $(kernel-security_LINKLIB) $(kernel-security_KOBJ) \ + $(kernel-security_OBJDIR)/Makefile.securitylibrary \ + $(addprefix $(kernel-security_OBJDIR)/include/,$($(kernel-security_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-security_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-security_INCDIR)/,$($(kernel-security_DEFNAME)_INCLUDES)) \ + $(kernel-security_OBJDIR)/security_geninc $(kernel-security_OBJDIR)/security_incs \ + $(addsuffix .c,$(kernel-security_LINKLIBFILES)) $(kernel-security_LINKLIBOBJS) $(kernel-security_LIBDEFSINC) \ + $(kernel-security_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-security_STARTFILES) $(kernel-security_ENDFILES)) \ + $(kernel-security_ENDOBJS) +kernel-security-clean : FILES := $(kernel-security_TOCLEAN) +kernel-security-clean :: + $(Q)$(ECHO) "Cleaning up for module security" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-security_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/storage/mmakefile b/rom/storage/mmakefile new file mode 100644 index 00000000000..dcca36957cd --- /dev/null +++ b/rom/storage/mmakefile @@ -0,0 +1,19 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +STORAGE_FILES := \ + storage_init + +#%build_module mmake=kernel-storage \ +# modname=storage modtype=resource \ +# files="$(STORAGE_FILES)" + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/task/mmakefile b/rom/task/mmakefile new file mode 100644 index 00000000000..936c3ab55e0 --- /dev/null +++ b/rom/task/mmakefile @@ -0,0 +1,1736 @@ +# Copyright © 2015-2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM kernel-task-kobj: includes +#MM kernel-task: includes + +INCLUDE_FILES := task.h + +USER_CPPFLAGS := \ + -DUSE_EXEC_DEBUG +USER_LDFLAGS := -static +USER_INCLUDES += $(PRIV_EXEC_INCLUDES) + +TASKRES_FUNCS := \ + LockTaskList \ + UnLockTaskList \ + NextTaskEntry \ + QueryTaskTagList \ + InitTaskHooks \ + AddTaskHook \ + RunTaskHooks + +TASKRES_FILES := \ + task_init \ + task_execfuncs \ + task_support \ + $(TASKRES_FUNCS) + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-task +#MM kernel-task-quick +#MM kernel-task-makefile +#MM kernel-task-clean + +# ABI targets: +#MM- includes-all : kernel-task-includes +#MM- linklibs-task: kernel-task-linklib +#MM- linklibs-task_rel : kernel-task-linklib +#MM- includes-task: kernel-task-includes +#MM- includes-task_rel : kernel-task-includes +#MM- kernel-task : kernel-task-includes core-linklibs linklibs- +#MM kernel-task-linklib : kernel-task-includes includes- +#MM- kernel-task-quick : kernel-task-includes-quick +#MM kernel-task-includes : kernel-task-makefile kernel-task-includes-dirs \ +#MM includes-generate-deps kernel-task-fd +#MM kernel-task-includes-quick +#MM kernel-task-includes-dirs +#MM kernel-task-fd + +# Library targets +#MM kernel-task-kobj : core-linklibs linklibs- +#MM kernel-task-kobj-quick : + +# Library with ABI targets: +#MM kernel-task-kobj : kernel-task-includes core-linklibs linklibs- +#MM kernel-task-kobj-quick : kernel-task-includes-quick + +# All MetaMake targets defined by this macro +kernel-task_ALLTARGETS := kernel-task kernel-task-quick kernel-task-clean + +ifeq (M,M) +kernel-task_ALLTARGETS += kernel-task-kobj kernel-task-kobj-quick +endif + +ifeq (M,M) +kernel-task_ALLTARGETS += kernel-task-includes \ + kernel-task-includes-quick kernel-task-includes-dirs \ + kernel-task-linklib kernel-task-fd +endif + +.PHONY : $(kernel-task_ALLTARGETS) kernel-task-makefile + +ifeq (task,) +$(error using %build_module: modname may not be empty) +endif +ifeq (resource,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-task_DEFNAME := task_ +else + kernel-task_DEFNAME := task +endif +kernel-task_DEFLINKLIBNAME := $(kernel-task_DEFNAME) +ifneq (,) + kernel-task_LINKLIBNAME := +else + kernel-task_LINKLIBNAME = $(kernel-task_DEFLINKLIBNAME) +endif +kernel-task_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-task_DEFCPPFLAGS += -I +endif +kernel-task_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-task_DFLAGS := +else + kernel-task_DFLAGS = $(kernel-task_DEFDFLAGS) +endif +kernel-task_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-task_DXXFLAGS := +else + kernel-task_DXXFLAGS = $(kernel-task_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-task_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-task_DEFDFLAGS)) +kernel-task_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-task_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-task_FUNCINSTR := yes +kernel-task_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-task_DEFDFLAGS)) +kernel-task_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-task_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-task_OBJDIR := +else +kernel-task_OBJDIR := $(OBJDIR)/$(kernel-task_DEFNAME) +endif +ifneq (,) +kernel-task_OBJDIR := $(kernel-task_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-task-makefile := $(kernel-task_OBJDIR)/Makefile.$(kernel-task_DEFNAME)resource +kernel-task-genmakefile : $(kernel-task-makefile) + + +kernel-task-genmakefile_OPTS := +ifneq (,) + kernel-task-genmakefile_OPTS += -f + kernel-task-genmakefile_MODNAME := task_ +else + kernel-task-genmakefile_MODNAME := task +endif +kernel-task-genmakefile_TARGET := Makefile.$(kernel-task-genmakefile_MODNAME)resource +kernel-task-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-task-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-task-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-task-genmakefile_OPTS += -c + kernel-task-genmakefile_DEPS += + endif +else + kernel-task-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/task.conf + kernel-task-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/task.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-task-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-task-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-task-genmakefile_OPTS += -o + kernel-task-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-task-genmakefile_OPTS += -s +endif +ifneq ($(kernel-task_OBJDIR),) + kernel-task-genmakefile_OPTS += -d $(kernel-task_OBJDIR) + kernel-task-genmakefile_TARGET := $(kernel-task_OBJDIR)/$(kernel-task-genmakefile_TARGET) +endif + +$(kernel-task-genmakefile_TARGET) : OPTS := $(kernel-task-genmakefile_OPTS) +$(kernel-task-genmakefile_TARGET) : MODNAME := task +$(kernel-task-genmakefile_TARGET) : MODTYPE := resource +$(kernel-task-genmakefile_TARGET) : $(kernel-task-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-task-makefile),) +$(kernel-task-makefile) : | $(kernel-task_OBJDIR) +else +$(kernel-task-makefile) :: $(kernel-task_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-task_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-task_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-task-makefile) + +kernel-task_DEFMODDIR := $($(kernel-task_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-task_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-task_DEFMODDIR) +endif +ifneq (,) + kernel-task_MODDIR := +else + kernel-task_MODDIR := $(kernel-task_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-task_INCDIR := +else +kernel-task_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-task_LIBDEFSINC := $(kernel-task_OBJDIR)/include/$(kernel-task_DEFNAME)_libdefs.h +kernel-task_DEFLIBDEFSINC := $(kernel-task_OBJDIR)/include/$(kernel-task_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-task-includes-quick : kernel-task-includes +kernel-task-includes : $(addprefix $(GENINCDIR)/,$($(kernel-task_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-task_INCDIR)/,$($(kernel-task_DEFNAME)_INCLUDES)) \ + $(kernel-task_LIBDEFSINC) $(kernel-task_DEFLIBDEFSINC) + +ifneq ($($(kernel-task_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-task-includes_MODNAME := task_ +else + kernel-task-includes_MODNAME := task +endif + +ifneq ($($(kernel-task-includes_MODNAME)_INCLUDES),) + +kernel-task-includes_TARGETS := $($(kernel-task-includes_MODNAME)_INCLUDES) + +kernel-task-includes_DEPS := $(GENMODULE) +kernel-task-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-task-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-task-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-task-includes_OPTS += -c + kernel-task-includes_DEPS += + endif +else + kernel-task-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/task.conf + kernel-task-includes_DEPS += $(SRCDIR)/$(CURDIR)/task.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-task-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-task-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-task-includes_OPTS += -o + kernel-task-includes_DEPS += + endif +endif +ifneq (,) + kernel-task-includes_OPTS += -s +endif +ifneq ($(kernel-task_OBJDIR)/include,) + kernel-task-includes_OPTS += -d $(kernel-task_OBJDIR)/include + kernel-task-includes_TARGETS := $(addprefix $(kernel-task_OBJDIR)/include/,$(kernel-task-includes_TARGETS)) + kernel-task-includes_GENINCFLAG=$(kernel-task_OBJDIR)/include/.task.resource-includes +else + kernel-task-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.task.resource-includes +endif + +$(kernel-task-includes_TARGETS) : $(kernel-task-includes_DEPS) $(kernel-task-includes_GENINCFLAG) + +$(kernel-task-includes_GENINCFLAG) : OPTS := $(kernel-task-includes_OPTS) +$(kernel-task-includes_GENINCFLAG) : MODNAME := task +$(kernel-task-includes_GENINCFLAG) : MODTYPE := resource +$(kernel-task-includes_GENINCFLAG) : $(kernel-task-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-task_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-task_DEFNAME)_INCLUDES)) : | $(kernel-task_OBJDIR)/task_geninc + +$(kernel-task_OBJDIR)/task_geninc : COPYSRCDIR := $(kernel-task_OBJDIR)/include +$(kernel-task_OBJDIR)/task_geninc : TGTDIR := $(GENINCDIR) +$(kernel-task_OBJDIR)/task_geninc : FILES := $($(kernel-task_DEFNAME)_INCLUDES) +$(kernel-task_OBJDIR)/task_geninc : $(addprefix $(kernel-task_OBJDIR)/include/,$($(kernel-task_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-task_OBJDIR)/include + +$(addprefix $(kernel-task_INCDIR)/,$($(kernel-task_DEFNAME)_INCLUDES)) : | $(kernel-task_OBJDIR)/task_incs + +$(kernel-task_OBJDIR)/task_incs : COPYSRCDIR := $(kernel-task_OBJDIR)/include +$(kernel-task_OBJDIR)/task_incs : TGTDIR := $(kernel-task_INCDIR) +$(kernel-task_OBJDIR)/task_incs : FILES := $($(kernel-task_DEFNAME)_INCLUDES) +$(kernel-task_OBJDIR)/task_incs : $(addprefix $(kernel-task_OBJDIR)/include/,$($(kernel-task_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-task_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-task_DEFNAME)_INCLUDES)))) + +TMPtask_INCDIRS := \ + $(kernel-task_OBJDIR)/include $(addprefix $(kernel-task_OBJDIR)/include/,$(kernel-task_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-task_INCDIRS)) \ + $(kernel-task_INCDIR) $(addprefix $(kernel-task_INCDIR)/,$(kernel-task_INCDIRS)) + +ifneq (kernel-task-includes-dirs,) +kernel-task-includes-dirs : | $(TMPtask_INCDIRS) +else +kernel-task-includes-dirs :: $(TMPtask_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPtask_INCDIRS) + + +endif + +endif + + +kernel-task-genlibdefs_OPTS := +ifneq (,) + kernel-task-genlibdefs_OPTS += -f + kernel-task-genlibdefs_MODNAME := task_ +else + kernel-task-genlibdefs_MODNAME := task +endif +kernel-task-genlibdefs_TARGET := $(kernel-task-genlibdefs_MODNAME)_libdefs.h +kernel-task-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-task-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-task-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-task-genlibdefs_OPTS += -c + kernel-task-genlibdefs_DEPS += + endif +else + kernel-task-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/task.conf + kernel-task-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/task.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-task-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-task-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-task-genlibdefs_OPTS += -o + kernel-task-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-task-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-task_OBJDIR)/include,) + kernel-task-genlibdefs_OPTS += -d $(kernel-task_OBJDIR)/include + kernel-task-genlibdefs_TARGET := $(kernel-task_OBJDIR)/include/$(kernel-task-genlibdefs_TARGET) +endif +ifneq (,) + kernel-task-genlibdefs_OPTS += -v +endif + +$(kernel-task-genlibdefs_TARGET) : OPTS := $(kernel-task-genlibdefs_OPTS) +$(kernel-task-genlibdefs_TARGET) : MODNAME := task +$(kernel-task-genlibdefs_TARGET) : MODTYPE := resource +$(kernel-task-genlibdefs_TARGET) : $(kernel-task-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-task_DEFLIBDEFSINC) : FILENAME := $(kernel-task_LIBDEFSINC) +$(kernel-task_DEFLIBDEFSINC) : $(kernel-task_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-task_LIBDEFSINC) $(kernel-task_DEFLIBDEFSINC) : | $(kernel-task_OBJDIR)/include + +ifneq (kernel-task-includes-dirs,) +kernel-task-includes-dirs : | $(kernel-task_OBJDIR)/include +else +kernel-task-includes-dirs :: $(kernel-task_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-task_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-task-genmodfiles_OPTS := +ifneq (,) + kernel-task-genmodfiles_OPTS += -f + kernel-task-genmodfiles_MODNAME := task_ +else + kernel-task-genmodfiles_MODNAME := task +endif +kernel-task-genmodfiles_GENTARGETS := $($(kernel-task-genmodfiles_MODNAME)_STARTFILES) $($(kernel-task-genmodfiles_MODNAME)_ENDFILES) +kernel-task-genmodfiles_STUBTARGETS := $($(kernel-task-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-task-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-task-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-task-genmodfiles_GENTARGETS)) +kernel-task-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-task-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-task-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-task-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-task-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-task-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-task-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-task-genmodfiles_OPTS += -c + kernel-task-genmodfiles_DEPS += + endif +else + kernel-task-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/task.conf + kernel-task-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/task.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-task-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-task-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-task-genmodfiles_OPTS += -o + kernel-task-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-task-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-task_OBJDIR),) + kernel-task-genmodfiles_OPTS += -d $(kernel-task_OBJDIR) + kernel-task-genmodfiles_TARGETDIR := $(shell echo $(kernel-task_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-task-genmodfiles_GENTARGETS := $(addprefix $(kernel-task-genmodfiles_TARGETDIR)/,$(kernel-task-genmodfiles_GENTARGETS)) + kernel-task-genmodfiles_GENFILEFLAG=$(kernel-task-genmodfiles_TARGETDIR)/.task.resource-genfiles +else + kernel-task-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.task.resource-genfiles +endif +ifneq ($(kernel-task_OBJDIR)/linklib,) + kernel-task-genmodfiles_OPTS += -l $(kernel-task_OBJDIR)/linklib + kernel-task-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-task_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-task-genmodfiles_STUBTARGETS := $(addprefix $(kernel-task-genmodfiles_STUBTARGETDIR)/,$(kernel-task-genmodfiles_STUBTARGETS)) + kernel-task-genmodfiles_TARGETDIRS += $(kernel-task_OBJDIR)/linklib +else +ifneq ($(kernel-task_OBJDIR),) + kernel-task-genmodfiles_STUBTARGETS := $(addprefix $(kernel-task-genmodfiles_TARGETDIR)/,$(kernel-task-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-task-genmodfiles_TARGETS := $(kernel-task-genmodfiles_GENTARGETS) $(kernel-task-genmodfiles_STUBTARGETS) +ifneq ($(kernel-task-genmodfiles_TARGETDIRS),) +$(kernel-task-genmodfiles_TARGETS) : | $(kernel-task-genmodfiles_TARGETDIRS) +endif + +$(kernel-task-genmodfiles_TARGETS) : $(kernel-task-genmodfiles_DEPS) $(kernel-task-genmodfiles_GENFILEFLAG) + +$(kernel-task-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-task-genmodfiles_OPTS) +$(kernel-task-genmodfiles_GENFILEFLAG) : MODNAME := task +$(kernel-task-genmodfiles_GENFILEFLAG) : MODTYPE := resource +$(kernel-task-genmodfiles_GENFILEFLAG) : $(kernel-task-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-task-genmodfiles_GENFILEFLAG) : $(kernel-task_DEFLIBDEFSINC) $(kernel-task-makefile) + + +ifneq ($(kernel-task-genmodfiles_GENFILEFLAG),) +$(kernel-task-genmodfiles_GENFILEFLAG) : | $(kernel-task_OBJDIR)/linklib +else +$(kernel-task-genmodfiles_GENFILEFLAG) :: $(kernel-task_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-task_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-task_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-task_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-task-fd : $(kernel-task_FDDIR)/task_lib.fd + + +TMP_TARGET := task_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/task.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/task.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-task_FDDIR),) + TMP_OPTS += -d $(kernel-task_FDDIR) + TMP_TARGET := $(kernel-task_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := task +$(TMP_TARGET) : MODTYPE := resource +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-task_FDDIR)/task_lib.fd : | $(kernel-task_FDDIR) + + +ifneq (kernel-task-fd-setup,) +kernel-task-fd-setup : | $(kernel-task_FDDIR) +else +kernel-task-fd-setup :: $(kernel-task_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-task_FDDIR) + +endif + +## Compilation +## +kernel-task_FILES := $(TASKRES_FILES) +kernel-task_OBJCFILES := +kernel-task_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-task_LIBFILES := +kernel-task_LIBS := + +kernel-task_FDIRS := $(sort $(dir $(kernel-task_FILES))) + +kernel-task_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-task_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-task_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-task_FILTERARCH = $(filter-out $(call kernel-task_MATCHARCH,$(1),$(2)),$(2)) +kernel-task_STARTFILES := $(addprefix $(kernel-task_OBJDIR)/,$($(kernel-task_DEFNAME)_STARTFILES)) +kernel-task_ENDFILES := $(addprefix $(kernel-task_OBJDIR)/,$($(kernel-task_DEFNAME)_ENDFILES)) + +kernel-task_ARCHOBJS := $(wildcard $(kernel-task_OBJDIR)/arch/*.o) +kernel-task_LIBARCHOBJS := $(wildcard $(kernel-task_OBJDIR)/linklib/arch/*.o) +kernel-task_ARCHFILES := $(basename $(notdir $(kernel-task_ARCHOBJS))) +kernel-task_LIBARCHFILES := $(basename $(notdir $(kernel-task_LIBARCHOBJS))) +kernel-task_C_NARCHFILES := $(call kernel-task_FILTERARCH,$(kernel-task_ARCHFILES),$(kernel-task_FILES)) +kernel-task_CXX_NARCHFILES := $(call kernel-task_FILTERARCH,$(kernel-task_ARCHFILES),$(kernel-task_CXXFILES)) +kernel-task_OBJC_NARCHFILES := $(call kernel-task_FILTERARCH,$(kernel-task_ARCHFILES),$(kernel-task_OBJCFILES)) +kernel-task_NLIBARCHFILES := $(call kernel-task_FILTERARCH,$(kernel-task_LIBARCHFILES),$(kernel-task_LIBFILES)) +kernel-task_ARCHNLIBFILES := $(call kernel-task_FILTERARCH,$(kernel-task_LIBFILES),$(kernel-task_LIBARCHFILES)) + +kernel-task_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-task_OBJDIR)/include -include $(kernel-task_DEFLIBDEFSINC)) +ifneq (,) +kernel-task_CPPFLAGS += -I +endif +kernel-task_LINKLIBCPPFLAGS := $(kernel-task_CPPFLAGS) +kernel-task_CPPFLAGS += $(strip $($(kernel-task_DEFNAME)_CPPFLAGS)) +kernel-task_LINKLIBCPPFLAGS += $(strip $($(kernel-task_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-task_CFLAGS := $(strip $(CFLAGS) $($(kernel-task_DEFNAME)_CFLAGS)) +kernel-task_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-task_DEFNAME)_LINKLIBCFLAGS)) +kernel-task_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-task_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-task_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-task_CFLAGS := $(strip $(kernel-task_LTOFLAGS) $(kernel-task_CFLAGS)) +kernel-task_LINKLIBCFLAGS := $(strip $(kernel-task_LTOFLAGS) $(kernel-task_LINKLIBCFLAGS)) +kernel-task_CXXFLAGS := $(strip $(kernel-task_LTOFLAGS) $(kernel-task_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-task_SUBSTNULL := +kernel-task_SUBSTSPACE := $(kernel-task_SUBSTNULL) # +kernel-task_SUBSTCOMMA := , +kernel-task_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-task_SUBSTSPACE),$(kernel-task_SUBSTCOMMA),$(strip $($(kernel-task_DEFNAME)_STARTFILES)))) +kernel-task_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-task_CFLAGS := $(strip $(kernel-task_INSTRFUNCFLAGS) $(kernel-task_CFLAGS)) +kernel-task_CXXFLAGS := $(strip $(kernel-task_INSTRFUNCFLAGS) $(kernel-task_CXXFLAGS)) +kernel-task_LIBS += $(kernel-task_INSTRFUNCLIBS) +endif +endif +kernel-task_DFLAGS := $(strip $(kernel-task_DFLAGS) $($(kernel-task_DEFNAME)_DFLAGS)) +kernel-task_LINKLIBDFLAGS := $(strip $(kernel-task_DFLAGS) $($(kernel-task_DEFNAME)_LINKLIBDFLAGS)) +kernel-task_DXXFLAGS := $(strip $(kernel-task_DXXFLAGS) $($(kernel-task_DEFNAME)_DXXFLAGS)) + +ifeq (resource,library) + kernel-task_LIBSUFFIX := +else + kernel-task_LIBSUFFIX := .resource +endif + +ifeq (,) +kernel-task_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-task_LIBDIR := +endif + +ifeq (M,M) +kernel-task_LINKLIBCFILES := $(addprefix $(kernel-task_OBJDIR)/linklib/,$($(kernel-task_DEFNAME)_LINKLIBFILES)) +kernel-task_LINKLIBAFILES := $(addprefix $(kernel-task_OBJDIR)/linklib/,$($(kernel-task_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-task_DEFNAME)_LINKLIBFILES) $($(kernel-task_DEFNAME)_LINKLIBAFILES) $(kernel-task_ARCHNLIBFILES)),) + kernel-task_LINKLIB := +else + kernel-task_LINKLIB := $(kernel-task_LIBDIR)/libtask$(kernel-task_LIBSUFFIX).a + ifneq (task,$(kernel-task_LINKLIBNAME)) + kernel-task_LINKLIB += $(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)$(kernel-task_LIBSUFFIX).a + endif +endif +kernel-task_LINKLIBFILES := $(kernel-task_LINKLIBCFILES) $(kernel-task_LINKLIBAFILES) + +kernel-task_RELLINKLIBCFILES := $(addprefix $(kernel-task_OBJDIR)/linklib/,$($(kernel-task_DEFNAME)_RELLINKLIBFILES)) +kernel-task_RELLINKLIBAFILES := $(addprefix $(kernel-task_OBJDIR)/linklib/,$($(kernel-task_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-task_DEFNAME)_RELLINKLIBFILES) $($(kernel-task_DEFNAME)_RELLINKLIBAFILES) $(kernel-task_ARCHNLIBFILES)),) + kernel-task_RELLINKLIB := +else + kernel-task_RELLINKLIB := $(kernel-task_LIBDIR)/lib$(kernel-task_DEFNAME)_rel$(kernel-task_LIBSUFFIX).a + ifneq (task,$(kernel-task_LINKLIBNAME)) + kernel-task_RELLINKLIB += $(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)_rel$(kernel-task_LIBSUFFIX).a + endif +endif +kernel-task_RELLINKLIBFILES := $(kernel-task_RELLINKLIBCFILES) $(kernel-task_RELLINKLIBAFILES) +endif + +kernel-task_ENDOBJS := $(addsuffix .o,$(kernel-task_ENDFILES)) +kernel-task_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(notdir $(kernel-task_NLIBARCHFILES))) $(addprefix $(kernel-task_OBJDIR)/linklib/arch/,$(notdir $(kernel-task_ARCHNLIBFILES))) $(kernel-task_LINKLIBFILES)) \ + +kernel-task_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(notdir $(kernel-task_NLIBARCHFILES))) $(addprefix $(kernel-task_OBJDIR)/linklib/arch/,$(notdir $(kernel-task_ARCHNLIBFILES))) $(kernel-task_RELLINKLIBFILES)) \ + +$(kernel-task_LINKLIBFILES) $(kernel-task_RELLINKLIBFILES) : | $(kernel-task_OBJDIR)/linklib +$(kernel-task_LINKLIBOBJS) $(kernel-task_RELLINKLIBOBJS) : | $(kernel-task_OBJDIR)/linklib + +kernel-task_CCFILES := $(kernel-task_C_NARCHFILES) +kernel-task_TARGETCCFILES := $(strip $(kernel-task_STARTFILES) $(kernel-task_ENDFILES)) +kernel-task_LINKLIBCCFILES := $(strip $(kernel-task_NLIBARCHFILES) $(kernel-task_LINKLIBCFILES) $(kernel-task_RELLINKLIBCFILES)) +kernel-task_LINKLIBCCGENFILES := $(strip $(kernel-task_LINKLIBCFILES) $(kernel-task_RELLINKLIBCFILES)) + + +kernel-task_CXXABSBASENAMES := $(foreach kernel-task_CXXBASE,$(kernel-task_CXX_NARCHFILES),$(if $(filter /%,$(kernel-task_CXXBASE)),$(kernel-task_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-task_CXXBASE)))) + +ifneq ($(kernel-task_CXXABSBASENAMES),) + +kernel-task_CXXBASENAMES := $(basename $(kernel-task_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-task_MCXX_FILES := $(strip $(foreach kernel-task_CXXBASE,$(kernel-task_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-task_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-task_EXT),$(kernel-task_CXXBASE))))))) + +ifeq (,) +kernel-task_MCXX_SRCWILDCARD := % +else +kernel-task_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-task_OBJDIR),) + kernel-task_CXXTARGETS := $(notdir $(kernel-task_CXXBASENAMES:=.o)) + kernel-task_CXXDTARGETS := $(notdir $(kernel-task_CXXBASENAMES:=.d)) + kernel-task_MCXX_WILDCARD := % +else + kernel-task_CXXTARGETS := $(addprefix $(kernel-task_OBJDIR)/,$(notdir $(kernel-task_CXXBASENAMES:=.o))) + kernel-task_CXXDTARGETS := $(addprefix $(kernel-task_OBJDIR)/,$(notdir $(kernel-task_CXXBASENAMES:=.d))) + kernel-task_MCXX_WILDCARD := $(kernel-task_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-task_CXXTARGETS) $(kernel-task_CXXDTARGETS) : | $(kernel-task_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-task_MCXX_CPPFLAGS := $(kernel-task_CPPFLAGS) +kernel-task_CXXFLAGS := $(kernel-task_CXXFLAGS) +ifeq ($(kernel-task_DXXFLAGS),) + kernel-task_DXXFLAGS := $(kernel-task_CXXFLAGS) +else + kernel-task_DXXFLAGS := $(kernel-task_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-task_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-task_STRIP ?= $(HOST_STRIP) + kernel-task_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-task_CXXCMD:=$(HOST_CXX) + kernel-task_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-task_MCXX_CPPFLAGS) $(kernel-task_MCXX_EXTRA_CPPFLAGS)) + kernel-task_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-task_CXXFLAGS)) + kernel-task_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-task_DXXFLAGS)) + kernel-task_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-task_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-task_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-task_STRIP ?= $(TARGET_STRIP) + kernel-task_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-task_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-task_MCXX_CPPFLAGS := $(strip $(kernel-task_MCXX_CPPFLAGS) $(kernel-task_MCXX_EXTRA_CPPFLAGS)) + kernel-task_CXXFLAGS := $(strip $(kernel-task_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-task_DXXFLAGS := $(kernel-task_DXXFLAGS) + kernel-task_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-task_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-task_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-task_STRIP ?= $(ECHO) >/dev/null + kernel-task_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-task_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-task_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-task_MCXX_CPPFLAGS) $(kernel-task_MCXX_EXTRA_CPPFLAGS)) + kernel-task_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-task_CXXFLAGS)) + kernel-task_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-task_DXXFLAGS)) + kernel-task_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-task_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-task_CXXCMD) $(kernel-task_CXXIQUOTE) $(dir $(2)) $(kernel-task_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_CXXIQUOTE) . $(kernel-task_CXXIQUOTE_END) $(strip $(kernel-task_CXXFLAGS) $(kernel-task_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-task_CXXCMD) $(kernel-task_CXXIQUOTE) $(dir $(2)) $(kernel-task_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_CXXIQUOTE) . $(kernel-task_CXXIQUOTE_END) $(strip $(kernel-task_CXXFLAGS) $(kernel-task_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-task_CXXCMD) $(kernel-task_CXXIQUOTE) $(dir $(2)) $(kernel-task_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_CXXIQUOTE) . $(kernel-task_CXXIQUOTE_END) $(strip $(kernel-task_CXXFLAGS) $(kernel-task_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-task_CXXCMD)" $(MKDEPEND) $(strip $(kernel-task_DXXFLAGS) $(kernel-task_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-task_OBJDIR),) + $(foreach kernel-task_CXXFILE,$(kernel-task_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-task_CXXFILE))),$(kernel-task_CXXFILE)))) +else + $(foreach kernel-task_CXXFILE,$(kernel-task_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-task_OBJDIR)/,$(notdir $(basename $(kernel-task_CXXFILE)))),$(kernel-task_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-task_OBJC_NARCHFILES),) + +ifeq (,) +kernel-task_MOBJC_SRCWILDCARD := % +else +kernel-task_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-task_OBJDIR),) + kernel-task_MOBJC_TARGETS := $(addsuffix .o,$(kernel-task_OBJC_NARCHFILES)) + kernel-task_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-task_OBJC_NARCHFILES)) + kernel-task_MOBJC_WILDCARD := % +else + kernel-task_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/,$(kernel-task_OBJC_NARCHFILES))) + kernel-task_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/,$(kernel-task_OBJC_NARCHFILES))) + kernel-task_MOBJC_WILDCARD := $(kernel-task_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-task_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-task_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-task_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-task_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-task_MOBJC_DIRS := $(foreach dir, $(kernel-task_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-task_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-task_MOBJC_DIRS),) + kernel-task_MOBJC_DIRS := $(shell echo $(kernel-task_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-task_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-task_CC := $(TARGET_CC) +else + kernel-task_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-task_MOBJC_CPPFLAGS := $(kernel-task_CPPFLAGS) +kernel-task_OBJCFLAGS := $(kernel-task_CFLAGS) +kernel-task_OBJCFLAGS := $(kernel-task_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-task_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-task_OBJCFLAGS))) +ifeq ($(kernel-task_DFLAGS),) + kernel-task_OBJCDFLAGS := $(kernel-task_CFLAGS) +else + kernel-task_OBJCDFLAGS := $(kernel-task_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-task_LINK ?= $(strip $(kernel-task_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-task_STRIP ?= $(TARGET_STRIP) + kernel-task_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-task_CC) $(TARGET_SYSROOT)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_MOBJC_CPPFLAGS:=$(strip $(kernel-task_MOBJC_CPPFLAGS) $(kernel-task_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_OBJCFLAGS:=$(strip $(kernel-task_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_OBJCDFLAGS:=$(kernel-task_OBJCDFLAGS) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-task_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-task_STRIP ?= $(HOST_STRIP) + kernel-task_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-task_MOBJC_CPPFLAGS) $(kernel-task_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_OBJCFLAGS)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_OBJCDFLAGS)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_IQUOTE:=$(HOST_IQUOTE) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-task_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-task_STRIP ?= $(ECHO) >/dev/null + kernel-task_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-task_MOBJC_CPPFLAGS) $(kernel-task_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_OBJCFLAGS)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_OBJCDFLAGS)) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-task_MOBJC_TARGETS) $(kernel-task_MOBJC_DTARGETS) : kernel-task_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-task_MOBJC_TARGETS) : CPPFLAGS := $(kernel-task_MOBJC_CPPFLAGS) +$(kernel-task_MOBJC_TARGETS) : CFLAGS := $(kernel-task_OBJCFLAGS) +$(kernel-task_MOBJC_TARGETS) : $(kernel-task_MOBJC_WILDCARD).o : $(kernel-task_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-task_MOBJC_DTARGETS) : $(kernel-task_MOBJC_WILDCARD).d : $(kernel-task_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-task_OBJCDFLAGS) $(kernel-task_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-task_MC_SRCWILDCARD := % +else +kernel-task_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-task_OBJDIR),) +kernel-task_MC_TARGETS := $(addsuffix .o,$(kernel-task_CCFILES)) +kernel-task_MC_DTARGETS := $(addsuffix .d,$(kernel-task_CCFILES)) +kernel-task_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/,$(notdir $(kernel-task_CCFILES)))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/,$(notdir $(kernel-task_CCFILES)))) +else +ifeq (,) + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/,$(kernel-task_CCFILES))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/,$(kernel-task_CCFILES))) +else + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/,$(patsubst /%,%,$(kernel-task_CCFILES)))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/,$(patsubst /%,%,$(kernel-task_CCFILES)))) +endif +endif +kernel-task_MC_TGTWILDCARD := $(kernel-task_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : | $(addsuffix .c,$(kernel-task_CCFILES)) + +# Be sure that all .c files are found +kernel-task_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-task_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-task_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-task_MC_DIRS := $(foreach dir, $(kernel-task_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-task_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-task_MC_DIRS),) + kernel-task_MC_DIRS := $(shell echo $(kernel-task_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-task_MC_DIRS) +endif + +endif + +kernel-task_MC_CPPFLAGS := $(kernel-task_CPPFLAGS) +kernel-task_CFLAGS := $(kernel-task_CFLAGS) +ifeq ($(kernel-task_DFLAGS),) + kernel-task_DFLAGS := $(kernel-task_CFLAGS) +else + kernel-task_DFLAGS := $(kernel-task_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-task_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-task_STRIP ?= $(TARGET_STRIP) +kernel-task_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(kernel-task_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(kernel-task_DFLAGS) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-task_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-task_STRIP ?= $(HOST_STRIP) +kernel-task_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_DFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(HOST_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-task_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-task_STRIP ?= $(ECHO) >/dev/null +kernel-task_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_DFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-task_MC_TARGETS) : CPPFLAGS := $(kernel-task_MC_CPPFLAGS) +$(kernel-task_MC_TARGETS) : CFLAGS := $(kernel-task_CFLAGS) +$(kernel-task_MC_TARGETS) : $(kernel-task_MC_TGTWILDCARD).o : $(kernel-task_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-task_MC_DTARGETS) : $(kernel-task_MC_TGTWILDCARD).d : $(kernel-task_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-task_DFLAGS) $(kernel-task_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-task_MC_SRCWILDCARD := % +else +kernel-task_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-task_OBJDIR),) +kernel-task_MC_TARGETS := $(addsuffix .o,$(kernel-task_TARGETCCFILES)) +kernel-task_MC_DTARGETS := $(addsuffix .d,$(kernel-task_TARGETCCFILES)) +kernel-task_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/,$(notdir $(kernel-task_TARGETCCFILES)))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/,$(notdir $(kernel-task_TARGETCCFILES)))) +else +ifeq (,) + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/,$(kernel-task_TARGETCCFILES))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/,$(kernel-task_TARGETCCFILES))) +else + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/,$(patsubst /%,%,$(kernel-task_TARGETCCFILES)))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/,$(patsubst /%,%,$(kernel-task_TARGETCCFILES)))) +endif +endif +kernel-task_MC_TGTWILDCARD := $(kernel-task_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : | $(addsuffix .c,$(kernel-task_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-task_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-task_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-task_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-task_MC_DIRS := $(foreach dir, $(kernel-task_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-task_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-task_MC_DIRS),) + kernel-task_MC_DIRS := $(shell echo $(kernel-task_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-task_MC_DIRS) +endif + +endif + +kernel-task_MC_CPPFLAGS := $(kernel-task_CPPFLAGS) -D__AROS__ +kernel-task_CFLAGS := $(kernel-task_CFLAGS) +ifeq ($(kernel-task_DFLAGS),) + kernel-task_DFLAGS := $(kernel-task_CFLAGS) +else + kernel-task_DFLAGS := $(kernel-task_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-task_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-task_STRIP ?= $(TARGET_STRIP) +kernel-task_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(kernel-task_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(kernel-task_DFLAGS) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-task_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-task_STRIP ?= $(HOST_STRIP) +kernel-task_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_DFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(HOST_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-task_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-task_STRIP ?= $(ECHO) >/dev/null +kernel-task_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_DFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-task_MC_TARGETS) : CPPFLAGS := $(kernel-task_MC_CPPFLAGS) +$(kernel-task_MC_TARGETS) : CFLAGS := $(kernel-task_CFLAGS) +$(kernel-task_MC_TARGETS) : $(kernel-task_MC_TGTWILDCARD).o : $(kernel-task_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-task_MC_DTARGETS) : $(kernel-task_MC_TGTWILDCARD).d : $(kernel-task_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-task_DFLAGS) $(kernel-task_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-task_MC_SRCWILDCARD := % +else +kernel-task_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-task_OBJDIR)/linklib,) +kernel-task_MC_TARGETS := $(addsuffix .o,$(kernel-task_NLIBARCHFILES)) +kernel-task_MC_DTARGETS := $(addsuffix .d,$(kernel-task_NLIBARCHFILES)) +kernel-task_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(notdir $(kernel-task_NLIBARCHFILES)))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(notdir $(kernel-task_NLIBARCHFILES)))) +else +ifeq (,) + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(kernel-task_NLIBARCHFILES))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(kernel-task_NLIBARCHFILES))) +else + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-task_NLIBARCHFILES)))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-task_NLIBARCHFILES)))) +endif +endif +kernel-task_MC_TGTWILDCARD := $(kernel-task_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : | $(addsuffix .c,$(kernel-task_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-task_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-task_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-task_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-task_MC_DIRS := $(foreach dir, $(kernel-task_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-task_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-task_MC_DIRS),) + kernel-task_MC_DIRS := $(shell echo $(kernel-task_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-task_MC_DIRS) +endif + +endif + +kernel-task_MC_CPPFLAGS := $(kernel-task_LINKLIBCPPFLAGS) -D__AROS__ +kernel-task_CFLAGS := $(kernel-task_LINKLIBCFLAGS) +ifeq ($(kernel-task_LINKLIBDFLAGS),) + kernel-task_DFLAGS := $(kernel-task_LINKLIBCFLAGS) +else + kernel-task_DFLAGS := $(kernel-task_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-task_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-task_STRIP ?= $(TARGET_STRIP) +kernel-task_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(kernel-task_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(kernel-task_DFLAGS) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-task_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-task_STRIP ?= $(HOST_STRIP) +kernel-task_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_DFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(HOST_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-task_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-task_STRIP ?= $(ECHO) >/dev/null +kernel-task_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_DFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-task_MC_TARGETS) : CPPFLAGS := $(kernel-task_MC_CPPFLAGS) +$(kernel-task_MC_TARGETS) : CFLAGS := $(kernel-task_CFLAGS) +$(kernel-task_MC_TARGETS) : $(kernel-task_MC_TGTWILDCARD).o : $(kernel-task_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-task_MC_DTARGETS) : $(kernel-task_MC_TGTWILDCARD).d : $(kernel-task_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-task_DFLAGS) $(kernel-task_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-task_OBJDIR)/linklib,) +kernel-task_MC_SRCWILDCARD := % +else +kernel-task_MC_SRCWILDCARD := $(kernel-task_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-task_OBJDIR)/linklib,) +kernel-task_MC_TARGETS := $(addsuffix .o,$(kernel-task_LINKLIBCCGENFILES)) +kernel-task_MC_DTARGETS := $(addsuffix .d,$(kernel-task_LINKLIBCCGENFILES)) +kernel-task_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(notdir $(kernel-task_LINKLIBCCGENFILES)))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(notdir $(kernel-task_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-task_OBJDIR)/linklib,) + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(kernel-task_LINKLIBCCGENFILES))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(kernel-task_LINKLIBCCGENFILES))) +else + kernel-task_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(patsubst $(kernel-task_OBJDIR)/linklib/%,%,$(kernel-task_LINKLIBCCGENFILES)))) + kernel-task_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(patsubst $(kernel-task_OBJDIR)/linklib/%,%,$(kernel-task_LINKLIBCCGENFILES)))) +endif +endif +kernel-task_MC_TGTWILDCARD := $(kernel-task_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : | $(addsuffix .c,$(kernel-task_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-task_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-task_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-task_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-task_MC_DIRS := $(foreach dir, $(kernel-task_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-task_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-task_MC_DIRS),) + kernel-task_MC_DIRS := $(shell echo $(kernel-task_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-task_MC_DIRS) +endif + +endif + +kernel-task_MC_CPPFLAGS := $(kernel-task_LINKLIBCPPFLAGS) -D__AROS__ +kernel-task_CFLAGS := $(kernel-task_LINKLIBCFLAGS) +ifeq ($(kernel-task_LINKLIBDFLAGS),) + kernel-task_DFLAGS := $(kernel-task_LINKLIBCFLAGS) +else + kernel-task_DFLAGS := $(kernel-task_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-task_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-task_STRIP ?= $(TARGET_STRIP) +kernel-task_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(kernel-task_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(kernel-task_DFLAGS) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-task_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-task_STRIP ?= $(HOST_STRIP) +kernel-task_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-task_DFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(HOST_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-task_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-task_STRIP ?= $(ECHO) >/dev/null +kernel-task_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-task_MC_CPPFLAGS) $(kernel-task_MC_EXTRA_CPPFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_CFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-task_DFLAGS)) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-task_MC_TARGETS) $(kernel-task_MC_DTARGETS) : kernel-task_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-task_MC_TARGETS) : CPPFLAGS := $(kernel-task_MC_CPPFLAGS) +$(kernel-task_MC_TARGETS) : CFLAGS := $(kernel-task_CFLAGS) +$(kernel-task_MC_TARGETS) : $(kernel-task_MC_TGTWILDCARD).o : $(kernel-task_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-task_IQUOTE) $(dir $<) $(kernel-task_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-task_IQUOTE) . $(kernel-task_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-task_MC_DTARGETS) : $(kernel-task_MC_TGTWILDCARD).d : $(kernel-task_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-task_DFLAGS) $(kernel-task_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-task_LINKLIBAFILES),) + +ifeq ($(kernel-task_OBJDIR)/linklib,) +kernel-task-MA_TARGETS := $(addsuffix .o,$(kernel-task_LINKLIBAFILES) $(kernel-task_RELLINKLIBAFILES)) +kernel-task-MA_WILDCARD := % +else +kernel-task-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-task_OBJDIR)/linklib/,$(notdir $(kernel-task_LINKLIBAFILES) $(kernel-task_RELLINKLIBAFILES)))) +kernel-task-MA_WILDCARD := $(kernel-task_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-task-MA_TARGETS) : | $(addsuffix .S,$(kernel-task_LINKLIBAFILES) $(kernel-task_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-task-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-task-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-task_LINKLIBAFILES) $(kernel-task_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-task-MA_DIRS := $(foreach dir, $(kernel-task-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-task-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-task-MA_DIRS),) + kernel-task-MA_DIRS := $(shell echo $(kernel-task-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-task-MA_DIRS) +endif + +endif + +kernel-task-MA_ASSEMBLER ?= $(kernel-task_ASSEMBLER) + +$(kernel-task-MA_TARGETS) : kernel-task-MA_CMD:= $(kernel-task-MA_ASSEMBLER) + +$(kernel-task-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-task-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-task-MA_TARGETS) : $(kernel-task-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-task-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-task-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-task-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-task_SUFFIX := resource +else +kernel-task_SUFFIX := +endif + +ifeq (target,target) +kernel-task_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-task_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-task_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-task_SUFFIX),handler) +kernel-task_MODULE := $(AROSDIR)/$(kernel-task_MODDIR)/$(kernel-task_DEFNAME)-$(kernel-task_SUFFIX) +else +kernel-task_MODULE := $(AROSDIR)/$(kernel-task_MODDIR)/$(kernel-task_DEFNAME).$(kernel-task_SUFFIX) +endif +kernel-task_KOBJ := $(KOBJSDIR)/$(kernel-task_DEFNAME)_$(kernel-task_SUFFIX).o +else +kernel-task_MODULE := +kernel-task_KOBJ := +endif + +kernel-task-quick : kernel-task +kernel-task : $(kernel-task_MODULE) $(kernel-task_LINKLIB) $(kernel-task_RELLINKLIB) +ifeq (M,M) +kernel-task-kobj : $(kernel-task_KOBJ) $(kernel-task_LINKLIB) $(kernel-task_RELLINKLIB) +kernel-task-kobj-quick : $(kernel-task_KOBJ) $(kernel-task_LINKLIB) $(kernel-task_RELLINKLIB) +endif +ifeq (M,M) +kernel-task-linklib : $(kernel-task_LINKLIB) $(kernel-task_RELLINKLIB) +endif + +kernel-task_OBJS := $(addsuffix .o,$(kernel-task_STARTFILES)) $(kernel-task_ARCHOBJS) \ + $(addprefix $(kernel-task_OBJDIR)/,$(notdir $(kernel-task_C_NARCHFILES:=.o) $(kernel-task_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (resource,handler) +kernel-task_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (task,con) + kernel-task_ERR := $(notdir $(kernel-task_MODULE)).err +else + kernel-task_ERR := task.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-task_DEFNAME)_LDFLAGS) $(kernel-task_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-task_LIBS) $($(kernel-task_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-task_MODULE) : LIB_NAMES := $(kernel-task_LIBS) $($(kernel-task_DEFNAME)_LIBS) +$(kernel-task_MODULE) : OBJS := $(kernel-task_STARTOBJS) $(kernel-task_OBJS) $(USER_OBJS) +$(kernel-task_MODULE) : ENDTAG := $(kernel-task_ENDOBJS) +$(kernel-task_MODULE) : ERR := $(kernel-task_ERR) +$(kernel-task_MODULE) : OBJDIR := $(kernel-task_OBJDIR) +$(kernel-task_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-task_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-task_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-task_MODULE) : $(kernel-task_STARTOBJS) $(kernel-task_OBJS) $(USER_OBJS) $(kernel-task_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-task_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-task_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-task_LC_LINKLIBNAME := $(shell echo $(kernel-task_LINKLIBNAME) | tr A-Z a-z) +kernel-task_LC_MODNAME := $(shell echo task | tr A-Z a-z) +ifneq ($(kernel-task_LINKLIB),) + +ifeq (target,target) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(HOST_AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(KERNEL_AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)$(kernel-task_LIBSUFFIX).a : $(kernel-task_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-task_AR) $@ $^ + $(Q)$(kernel-task_RANLIB) $@ +ifneq ($(kernel-task_LC_MODNAME),$(kernel-task_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-task_LIBDIR)/libtask$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(AR) +$(kernel-task_LIBDIR)/libtask$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-task_LIBDIR)/libtask$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(HOST_AR) +$(kernel-task_LIBDIR)/libtask$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-task_LIBDIR)/libtask$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(KERNEL_AR) +$(kernel-task_LIBDIR)/libtask$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-task_LIBDIR)/libtask$(kernel-task_LIBSUFFIX).a : $(kernel-task_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-task_AR) $@ $^ + $(Q)$(kernel-task_RANLIB) $@ +endif + + +ifneq ($(kernel-task_LINKLIB),) +$(kernel-task_LINKLIB) : | $(kernel-task_LIBDIR) +else +$(kernel-task_LINKLIB) :: $(kernel-task_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-task_LIBDIR) + +endif + +ifneq ($(kernel-task_RELLINKLIB),) + +ifeq (target,target) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(HOST_AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(KERNEL_AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-task_LIBDIR)/lib$(kernel-task_LINKLIBNAME)_rel$(kernel-task_LIBSUFFIX).a : $(kernel-task_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-task_AR) $@ $^ + $(Q)$(kernel-task_RANLIB) $@ +ifneq ($(kernel-task_LC_MODNAME),$(kernel-task_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-task_LIBDIR)/lib$(kernel-task_DEFNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_DEFNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-task_LIBDIR)/lib$(kernel-task_DEFNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(HOST_AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_DEFNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-task_LIBDIR)/lib$(kernel-task_DEFNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_AR:=$(KERNEL_AR) +$(kernel-task_LIBDIR)/lib$(kernel-task_DEFNAME)_rel$(kernel-task_LIBSUFFIX).a : kernel-task_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-task_LIBDIR)/lib$(kernel-task_DEFNAME)_rel$(kernel-task_LIBSUFFIX).a : $(kernel-task_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-task_AR) $@ $^ + $(Q)$(kernel-task_RANLIB) $@ +endif + + +ifneq ($(kernel-task_RELLINKLIB),) +$(kernel-task_RELLINKLIB) : | $(kernel-task_LIBDIR) +else +$(kernel-task_RELLINKLIB) :: $(kernel-task_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-task_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-task_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-task_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-task_SYMBOLS := $(kernel-task_KBASE) + +kernel-task_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-task_KOBJ_LIBS := $(filter-out $(kernel-task_KLIB),$(kernel-task_LIBS)) $(kernel-task_KAUTOLIB) +$(kernel-task_KOBJ) : LINKLIBS:=$(kernel-task_KOBJ_LIBS) $($(kernel-task_DEFNAME)_LIBS) +$(kernel-task_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-task_SYMBOLS)) +$(kernel-task_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-task_KOBJ) : $(kernel-task_OBJS) $(USER_OBJS) $(kernel-task_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-task_DEPS := $(addprefix $(kernel-task_OBJDIR)/,$(notdir $(kernel-task_CCFILES:=.d) $(kernel-task_TARGETCCFILES:=.d) $(kernel-task_CXXFILES:=.d))) $(addprefix $(kernel-task_OBJDIR)/linklib/,$(notdir $(kernel-task_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-task_DEPS),) + ifneq (kernel-task kernel-task-quick kernel-task-kobj kernel-task-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-task kernel-task-quick kernel-task-kobj kernel-task-kobj-quick),) + -include $(kernel-task_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-task_DEPS) + endif + endif +endif + +$(kernel-task_OBJS) $(kernel-task_DEPS) : | $(kernel-task_OBJDIR)/linklib + +ifneq ($(kernel-task_OBJS) $(kernel-task_DEPS) $(kernel-task_MODULE) $(kernel-task_KOBJ),) +$(kernel-task_OBJS) $(kernel-task_DEPS) $(kernel-task_MODULE) $(kernel-task_KOBJ) : | $(kernel-task_OBJDIR) $(AROSDIR)/$(kernel-task_MODDIR) $(KOBJSDIR) +else +$(kernel-task_OBJS) $(kernel-task_DEPS) $(kernel-task_MODULE) $(kernel-task_KOBJ) :: $(kernel-task_OBJDIR) $(AROSDIR)/$(kernel-task_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-task_OBJDIR) $(AROSDIR)/$(kernel-task_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-task kernel-task-includes kernel-task-quick kernel-task-kobj kernel-task-kobj-quick),) # Only for this target these deps are wanted + +kernel-task_DFILE_DEPS := $(kernel-task_LIBDEFSINC) $(kernel-task_DEFLIBDEFSINC) \ + $(addprefix $(kernel-task_INCDIR)/,$($(kernel-task_DEFNAME)_INCLUDES)) +$(kernel-task_DEPS) : $(kernel-task_DFILE_DEPS) +endif + +kernel-task_TOCLEAN := $(kernel-task_OBJS) $(kernel-task_DEPS) \ + $(kernel-task_MODULE) $(kernel-task_LINKLIB) $(kernel-task_KOBJ) \ + $(kernel-task_OBJDIR)/Makefile.taskresource \ + $(addprefix $(kernel-task_OBJDIR)/include/,$($(kernel-task_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-task_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-task_INCDIR)/,$($(kernel-task_DEFNAME)_INCLUDES)) \ + $(kernel-task_OBJDIR)/task_geninc $(kernel-task_OBJDIR)/task_incs \ + $(addsuffix .c,$(kernel-task_LINKLIBFILES)) $(kernel-task_LINKLIBOBJS) $(kernel-task_LIBDEFSINC) \ + $(kernel-task_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-task_STARTFILES) $(kernel-task_ENDFILES)) \ + $(kernel-task_ENDOBJS) +kernel-task-clean : FILES := $(kernel-task_TOCLEAN) +kernel-task-clean :: + $(Q)$(ECHO) "Cleaning up for module task" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-task_ALLTARGETS) + + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/resources,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/resources/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/resources/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/resources/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/resources,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/resources/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/resources/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/resources/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/classes/arosx/include/mmakefile b/rom/usb/classes/arosx/include/mmakefile new file mode 100644 index 00000000000..1ecd59fcfb6 --- /dev/null +++ b/rom/usb/classes/arosx/include/mmakefile @@ -0,0 +1,1656 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-usb-classes-arosx-library +#MM kernel-usb-classes-arosx-library-quick +#MM kernel-usb-classes-arosx-library-makefile +#MM kernel-usb-classes-arosx-library-clean + +# ABI targets: +#MM- includes-all : kernel-usb-classes-arosx-library-includes +#MM- linklibs-arosx: kernel-usb-classes-arosx-library-linklib +#MM- linklibs-arosx_rel : kernel-usb-classes-arosx-library-linklib +#MM- includes-arosx: kernel-usb-classes-arosx-library-includes +#MM- includes-arosx_rel : kernel-usb-classes-arosx-library-includes +#MM- kernel-usb-classes-arosx-library : kernel-usb-classes-arosx-library-includes core-linklibs linklibs- +#MM kernel-usb-classes-arosx-library-linklib : kernel-usb-classes-arosx-library-includes includes- +#MM- kernel-usb-classes-arosx-library-quick : kernel-usb-classes-arosx-library-includes-quick +#MM kernel-usb-classes-arosx-library-includes : kernel-usb-classes-arosx-library-makefile kernel-usb-classes-arosx-library-includes-dirs \ +#MM includes-generate-deps kernel-usb-classes-arosx-library-fd +#MM kernel-usb-classes-arosx-library-includes-quick +#MM kernel-usb-classes-arosx-library-includes-dirs +#MM kernel-usb-classes-arosx-library-fd + +# Library targets +#M kernel-usb-classes-arosx-library-kobj : core-linklibs linklibs- +#M kernel-usb-classes-arosx-library-kobj-quick : + +# Library with ABI targets: +#M kernel-usb-classes-arosx-library-kobj : kernel-usb-classes-arosx-library-includes core-linklibs linklibs- +#M kernel-usb-classes-arosx-library-kobj-quick : kernel-usb-classes-arosx-library-includes-quick + +# All MetaMake targets defined by this macro +kernel-usb-classes-arosx-library_ALLTARGETS := kernel-usb-classes-arosx-library kernel-usb-classes-arosx-library-quick kernel-usb-classes-arosx-library-clean + +ifeq (,M) +kernel-usb-classes-arosx-library_ALLTARGETS += kernel-usb-classes-arosx-library-kobj kernel-usb-classes-arosx-library-kobj-quick +endif + +ifeq (M,M) +kernel-usb-classes-arosx-library_ALLTARGETS += kernel-usb-classes-arosx-library-includes \ + kernel-usb-classes-arosx-library-includes-quick kernel-usb-classes-arosx-library-includes-dirs \ + kernel-usb-classes-arosx-library-linklib kernel-usb-classes-arosx-library-fd +endif + +.PHONY : $(kernel-usb-classes-arosx-library_ALLTARGETS) kernel-usb-classes-arosx-library-makefile + +ifeq (arosx,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-usb-classes-arosx-library_DEFNAME := arosx_ +else + kernel-usb-classes-arosx-library_DEFNAME := arosx +endif +kernel-usb-classes-arosx-library_DEFLINKLIBNAME := $(kernel-usb-classes-arosx-library_DEFNAME) +ifneq (,) + kernel-usb-classes-arosx-library_LINKLIBNAME := +else + kernel-usb-classes-arosx-library_LINKLIBNAME = $(kernel-usb-classes-arosx-library_DEFLINKLIBNAME) +endif +kernel-usb-classes-arosx-library_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-usb-classes-arosx-library_DEFCPPFLAGS += -I +endif +kernel-usb-classes-arosx-library_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-usb-classes-arosx-library_DFLAGS := +else + kernel-usb-classes-arosx-library_DFLAGS = $(kernel-usb-classes-arosx-library_DEFDFLAGS) +endif +kernel-usb-classes-arosx-library_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-usb-classes-arosx-library_DXXFLAGS := +else + kernel-usb-classes-arosx-library_DXXFLAGS = $(kernel-usb-classes-arosx-library_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq (%(lto),yes) +kernel-usb-classes-arosx-library_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-classes-arosx-library_DEFDFLAGS)) +kernel-usb-classes-arosx-library_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-classes-arosx-library_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-classes-arosx-library_FUNCINSTR := yes +kernel-usb-classes-arosx-library_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-classes-arosx-library_DEFDFLAGS)) +kernel-usb-classes-arosx-library_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-classes-arosx-library_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-usb-classes-arosx-library_OBJDIR := +else +kernel-usb-classes-arosx-library_OBJDIR := $(OBJDIR)/$(kernel-usb-classes-arosx-library_DEFNAME) +endif +ifneq (,) +kernel-usb-classes-arosx-library_OBJDIR := $(kernel-usb-classes-arosx-library_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-usb-classes-arosx-library-makefile := $(kernel-usb-classes-arosx-library_OBJDIR)/Makefile.$(kernel-usb-classes-arosx-library_DEFNAME)library +kernel-usb-classes-arosx-library-genmakefile : $(kernel-usb-classes-arosx-library-makefile) + + +kernel-usb-classes-arosx-library-genmakefile_OPTS := +ifneq (,) + kernel-usb-classes-arosx-library-genmakefile_OPTS += -f + kernel-usb-classes-arosx-library-genmakefile_MODNAME := arosx_ +else + kernel-usb-classes-arosx-library-genmakefile_MODNAME := arosx +endif +kernel-usb-classes-arosx-library-genmakefile_TARGET := Makefile.$(kernel-usb-classes-arosx-library-genmakefile_MODNAME)library +kernel-usb-classes-arosx-library-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-library-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-library-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-library-genmakefile_OPTS += -c + kernel-usb-classes-arosx-library-genmakefile_DEPS += + endif +else + kernel-usb-classes-arosx-library-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + kernel-usb-classes-arosx-library-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-library-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-library-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-library-genmakefile_OPTS += -o + kernel-usb-classes-arosx-library-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-usb-classes-arosx-library-genmakefile_OPTS += -s +endif +ifneq ($(kernel-usb-classes-arosx-library_OBJDIR),) + kernel-usb-classes-arosx-library-genmakefile_OPTS += -d $(kernel-usb-classes-arosx-library_OBJDIR) + kernel-usb-classes-arosx-library-genmakefile_TARGET := $(kernel-usb-classes-arosx-library_OBJDIR)/$(kernel-usb-classes-arosx-library-genmakefile_TARGET) +endif + +$(kernel-usb-classes-arosx-library-genmakefile_TARGET) : OPTS := $(kernel-usb-classes-arosx-library-genmakefile_OPTS) +$(kernel-usb-classes-arosx-library-genmakefile_TARGET) : MODNAME := arosx +$(kernel-usb-classes-arosx-library-genmakefile_TARGET) : MODTYPE := library +$(kernel-usb-classes-arosx-library-genmakefile_TARGET) : $(kernel-usb-classes-arosx-library-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-usb-classes-arosx-library-makefile),) +$(kernel-usb-classes-arosx-library-makefile) : | $(kernel-usb-classes-arosx-library_OBJDIR) +else +$(kernel-usb-classes-arosx-library-makefile) :: $(kernel-usb-classes-arosx-library_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx-library_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-usb-classes-arosx-library_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-usb-classes-arosx-library-makefile) + +kernel-usb-classes-arosx-library_DEFMODDIR := $($(kernel-usb-classes-arosx-library_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-usb-classes-arosx-library_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-usb-classes-arosx-library_DEFMODDIR) +endif +ifneq (,) + kernel-usb-classes-arosx-library_MODDIR := +else + kernel-usb-classes-arosx-library_MODDIR := $(kernel-usb-classes-arosx-library_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-usb-classes-arosx-library_INCDIR := +else +kernel-usb-classes-arosx-library_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-usb-classes-arosx-library_LIBDEFSINC := $(kernel-usb-classes-arosx-library_OBJDIR)/include/$(kernel-usb-classes-arosx-library_DEFNAME)_libdefs.h +kernel-usb-classes-arosx-library_DEFLIBDEFSINC := $(kernel-usb-classes-arosx-library_OBJDIR)/include/$(kernel-usb-classes-arosx-library_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-usb-classes-arosx-library-includes-quick : kernel-usb-classes-arosx-library-includes +kernel-usb-classes-arosx-library-includes : $(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-classes-arosx-library_INCDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) \ + $(kernel-usb-classes-arosx-library_LIBDEFSINC) $(kernel-usb-classes-arosx-library_DEFLIBDEFSINC) + +ifneq ($($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-usb-classes-arosx-library-includes_MODNAME := arosx_ +else + kernel-usb-classes-arosx-library-includes_MODNAME := arosx +endif + +ifneq ($($(kernel-usb-classes-arosx-library-includes_MODNAME)_INCLUDES),) + +kernel-usb-classes-arosx-library-includes_TARGETS := $($(kernel-usb-classes-arosx-library-includes_MODNAME)_INCLUDES) + +kernel-usb-classes-arosx-library-includes_DEPS := $(GENMODULE) +kernel-usb-classes-arosx-library-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-library-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-library-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-library-includes_OPTS += -c + kernel-usb-classes-arosx-library-includes_DEPS += + endif +else + kernel-usb-classes-arosx-library-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + kernel-usb-classes-arosx-library-includes_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-library-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-library-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-library-includes_OPTS += -o + kernel-usb-classes-arosx-library-includes_DEPS += + endif +endif +ifneq (,) + kernel-usb-classes-arosx-library-includes_OPTS += -s +endif +ifneq ($(kernel-usb-classes-arosx-library_OBJDIR)/include,) + kernel-usb-classes-arosx-library-includes_OPTS += -d $(kernel-usb-classes-arosx-library_OBJDIR)/include + kernel-usb-classes-arosx-library-includes_TARGETS := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/include/,$(kernel-usb-classes-arosx-library-includes_TARGETS)) + kernel-usb-classes-arosx-library-includes_GENINCFLAG=$(kernel-usb-classes-arosx-library_OBJDIR)/include/.arosx.library-includes +else + kernel-usb-classes-arosx-library-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.arosx.library-includes +endif + +$(kernel-usb-classes-arosx-library-includes_TARGETS) : $(kernel-usb-classes-arosx-library-includes_DEPS) $(kernel-usb-classes-arosx-library-includes_GENINCFLAG) + +$(kernel-usb-classes-arosx-library-includes_GENINCFLAG) : OPTS := $(kernel-usb-classes-arosx-library-includes_OPTS) +$(kernel-usb-classes-arosx-library-includes_GENINCFLAG) : MODNAME := arosx +$(kernel-usb-classes-arosx-library-includes_GENINCFLAG) : MODTYPE := library +$(kernel-usb-classes-arosx-library-includes_GENINCFLAG) : $(kernel-usb-classes-arosx-library-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-usb-classes-arosx-library_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) : | $(kernel-usb-classes-arosx-library_OBJDIR)/arosx_geninc + +$(kernel-usb-classes-arosx-library_OBJDIR)/arosx_geninc : COPYSRCDIR := $(kernel-usb-classes-arosx-library_OBJDIR)/include +$(kernel-usb-classes-arosx-library_OBJDIR)/arosx_geninc : TGTDIR := $(GENINCDIR) +$(kernel-usb-classes-arosx-library_OBJDIR)/arosx_geninc : FILES := $($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES) +$(kernel-usb-classes-arosx-library_OBJDIR)/arosx_geninc : $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/include/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-usb-classes-arosx-library_OBJDIR)/include + +$(addprefix $(kernel-usb-classes-arosx-library_INCDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) : | $(kernel-usb-classes-arosx-library_OBJDIR)/arosx_incs + +$(kernel-usb-classes-arosx-library_OBJDIR)/arosx_incs : COPYSRCDIR := $(kernel-usb-classes-arosx-library_OBJDIR)/include +$(kernel-usb-classes-arosx-library_OBJDIR)/arosx_incs : TGTDIR := $(kernel-usb-classes-arosx-library_INCDIR) +$(kernel-usb-classes-arosx-library_OBJDIR)/arosx_incs : FILES := $($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES) +$(kernel-usb-classes-arosx-library_OBJDIR)/arosx_incs : $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/include/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-usb-classes-arosx-library_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)))) + +TMParosx_INCDIRS := \ + $(kernel-usb-classes-arosx-library_OBJDIR)/include $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/include/,$(kernel-usb-classes-arosx-library_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-usb-classes-arosx-library_INCDIRS)) \ + $(kernel-usb-classes-arosx-library_INCDIR) $(addprefix $(kernel-usb-classes-arosx-library_INCDIR)/,$(kernel-usb-classes-arosx-library_INCDIRS)) + +ifneq (kernel-usb-classes-arosx-library-includes-dirs,) +kernel-usb-classes-arosx-library-includes-dirs : | $(TMParosx_INCDIRS) +else +kernel-usb-classes-arosx-library-includes-dirs :: $(TMParosx_INCDIRS) +endif + +GLOB_MKDIRS += $(TMParosx_INCDIRS) + + +endif + +endif + + +kernel-usb-classes-arosx-library-genlibdefs_OPTS := +ifneq (,) + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -f + kernel-usb-classes-arosx-library-genlibdefs_MODNAME := arosx_ +else + kernel-usb-classes-arosx-library-genlibdefs_MODNAME := arosx +endif +kernel-usb-classes-arosx-library-genlibdefs_TARGET := $(kernel-usb-classes-arosx-library-genlibdefs_MODNAME)_libdefs.h +kernel-usb-classes-arosx-library-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-library-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -c + kernel-usb-classes-arosx-library-genlibdefs_DEPS += + endif +else + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + kernel-usb-classes-arosx-library-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-library-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -o + kernel-usb-classes-arosx-library-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-usb-classes-arosx-library_OBJDIR)/include,) + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -d $(kernel-usb-classes-arosx-library_OBJDIR)/include + kernel-usb-classes-arosx-library-genlibdefs_TARGET := $(kernel-usb-classes-arosx-library_OBJDIR)/include/$(kernel-usb-classes-arosx-library-genlibdefs_TARGET) +endif +ifneq (,) + kernel-usb-classes-arosx-library-genlibdefs_OPTS += -v +endif + +$(kernel-usb-classes-arosx-library-genlibdefs_TARGET) : OPTS := $(kernel-usb-classes-arosx-library-genlibdefs_OPTS) +$(kernel-usb-classes-arosx-library-genlibdefs_TARGET) : MODNAME := arosx +$(kernel-usb-classes-arosx-library-genlibdefs_TARGET) : MODTYPE := library +$(kernel-usb-classes-arosx-library-genlibdefs_TARGET) : $(kernel-usb-classes-arosx-library-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-usb-classes-arosx-library_DEFLIBDEFSINC) : FILENAME := $(kernel-usb-classes-arosx-library_LIBDEFSINC) +$(kernel-usb-classes-arosx-library_DEFLIBDEFSINC) : $(kernel-usb-classes-arosx-library_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-usb-classes-arosx-library_LIBDEFSINC) $(kernel-usb-classes-arosx-library_DEFLIBDEFSINC) : | $(kernel-usb-classes-arosx-library_OBJDIR)/include + +ifneq (kernel-usb-classes-arosx-library-includes-dirs,) +kernel-usb-classes-arosx-library-includes-dirs : | $(kernel-usb-classes-arosx-library_OBJDIR)/include +else +kernel-usb-classes-arosx-library-includes-dirs :: $(kernel-usb-classes-arosx-library_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx-library_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-usb-classes-arosx-library-genmodfiles_OPTS := +ifneq (,) + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -f + kernel-usb-classes-arosx-library-genmodfiles_MODNAME := arosx_ +else + kernel-usb-classes-arosx-library-genmodfiles_MODNAME := arosx +endif +kernel-usb-classes-arosx-library-genmodfiles_GENTARGETS := $($(kernel-usb-classes-arosx-library-genmodfiles_MODNAME)_STARTFILES) $($(kernel-usb-classes-arosx-library-genmodfiles_MODNAME)_ENDFILES) +kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETS := $($(kernel-usb-classes-arosx-library-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-usb-classes-arosx-library-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-usb-classes-arosx-library-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-usb-classes-arosx-library-genmodfiles_GENTARGETS)) +kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-usb-classes-arosx-library-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-usb-classes-arosx-library-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-usb-classes-arosx-library-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-library-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -c + kernel-usb-classes-arosx-library-genmodfiles_DEPS += + endif +else + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + kernel-usb-classes-arosx-library-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-library-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -o + kernel-usb-classes-arosx-library-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-usb-classes-arosx-library_OBJDIR),) + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -d $(kernel-usb-classes-arosx-library_OBJDIR) + kernel-usb-classes-arosx-library-genmodfiles_TARGETDIR := $(shell echo $(kernel-usb-classes-arosx-library_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-arosx-library-genmodfiles_GENTARGETS := $(addprefix $(kernel-usb-classes-arosx-library-genmodfiles_TARGETDIR)/,$(kernel-usb-classes-arosx-library-genmodfiles_GENTARGETS)) + kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG=$(kernel-usb-classes-arosx-library-genmodfiles_TARGETDIR)/.arosx.library-genfiles +else + kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.arosx.library-genfiles +endif +ifneq ($(kernel-usb-classes-arosx-library_OBJDIR)/linklib,) + kernel-usb-classes-arosx-library-genmodfiles_OPTS += -l $(kernel-usb-classes-arosx-library_OBJDIR)/linklib + kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-usb-classes-arosx-library_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETDIR)/,$(kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETS)) + kernel-usb-classes-arosx-library-genmodfiles_TARGETDIRS += $(kernel-usb-classes-arosx-library_OBJDIR)/linklib +else +ifneq ($(kernel-usb-classes-arosx-library_OBJDIR),) + kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-classes-arosx-library-genmodfiles_TARGETDIR)/,$(kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-usb-classes-arosx-library-genmodfiles_TARGETS := $(kernel-usb-classes-arosx-library-genmodfiles_GENTARGETS) $(kernel-usb-classes-arosx-library-genmodfiles_STUBTARGETS) +ifneq ($(kernel-usb-classes-arosx-library-genmodfiles_TARGETDIRS),) +$(kernel-usb-classes-arosx-library-genmodfiles_TARGETS) : | $(kernel-usb-classes-arosx-library-genmodfiles_TARGETDIRS) +endif + +$(kernel-usb-classes-arosx-library-genmodfiles_TARGETS) : $(kernel-usb-classes-arosx-library-genmodfiles_DEPS) $(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG) + +$(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-usb-classes-arosx-library-genmodfiles_OPTS) +$(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG) : MODNAME := arosx +$(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG) : $(kernel-usb-classes-arosx-library-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG) : $(kernel-usb-classes-arosx-library_DEFLIBDEFSINC) $(kernel-usb-classes-arosx-library-makefile) + + +ifneq ($(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG),) +$(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG) : | $(kernel-usb-classes-arosx-library_OBJDIR)/linklib +else +$(kernel-usb-classes-arosx-library-genmodfiles_GENFILEFLAG) :: $(kernel-usb-classes-arosx-library_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx-library_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-usb-classes-arosx-library_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-usb-classes-arosx-library_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-usb-classes-arosx-library-fd : $(kernel-usb-classes-arosx-library_FDDIR)/arosx_lib.fd + + +TMP_TARGET := arosx_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-usb-classes-arosx-library_FDDIR),) + TMP_OPTS += -d $(kernel-usb-classes-arosx-library_FDDIR) + TMP_TARGET := $(kernel-usb-classes-arosx-library_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := arosx +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-usb-classes-arosx-library_FDDIR)/arosx_lib.fd : | $(kernel-usb-classes-arosx-library_FDDIR) + + +ifneq (kernel-usb-classes-arosx-library-fd-setup,) +kernel-usb-classes-arosx-library-fd-setup : | $(kernel-usb-classes-arosx-library_FDDIR) +else +kernel-usb-classes-arosx-library-fd-setup :: $(kernel-usb-classes-arosx-library_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx-library_FDDIR) + +endif + +## Compilation +## +kernel-usb-classes-arosx-library_FILES := $(basename $(call WILDCARD, *.c)) +kernel-usb-classes-arosx-library_OBJCFILES := +kernel-usb-classes-arosx-library_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-usb-classes-arosx-library_LIBFILES := +kernel-usb-classes-arosx-library_LIBS := + +kernel-usb-classes-arosx-library_FDIRS := $(sort $(dir $(kernel-usb-classes-arosx-library_FILES))) + +kernel-usb-classes-arosx-library_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-usb-classes-arosx-library_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-usb-classes-arosx-library_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-usb-classes-arosx-library_FILTERARCH = $(filter-out $(call kernel-usb-classes-arosx-library_MATCHARCH,$(1),$(2)),$(2)) +kernel-usb-classes-arosx-library_STARTFILES := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_STARTFILES)) +kernel-usb-classes-arosx-library_ENDFILES := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_ENDFILES)) + +kernel-usb-classes-arosx-library_ARCHOBJS := $(wildcard $(kernel-usb-classes-arosx-library_OBJDIR)/arch/*.o) +kernel-usb-classes-arosx-library_LIBARCHOBJS := $(wildcard $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/arch/*.o) +kernel-usb-classes-arosx-library_ARCHFILES := $(basename $(notdir $(kernel-usb-classes-arosx-library_ARCHOBJS))) +kernel-usb-classes-arosx-library_LIBARCHFILES := $(basename $(notdir $(kernel-usb-classes-arosx-library_LIBARCHOBJS))) +kernel-usb-classes-arosx-library_C_NARCHFILES := $(call kernel-usb-classes-arosx-library_FILTERARCH,$(kernel-usb-classes-arosx-library_ARCHFILES),$(kernel-usb-classes-arosx-library_FILES)) +kernel-usb-classes-arosx-library_CXX_NARCHFILES := $(call kernel-usb-classes-arosx-library_FILTERARCH,$(kernel-usb-classes-arosx-library_ARCHFILES),$(kernel-usb-classes-arosx-library_CXXFILES)) +kernel-usb-classes-arosx-library_OBJC_NARCHFILES := $(call kernel-usb-classes-arosx-library_FILTERARCH,$(kernel-usb-classes-arosx-library_ARCHFILES),$(kernel-usb-classes-arosx-library_OBJCFILES)) +kernel-usb-classes-arosx-library_NLIBARCHFILES := $(call kernel-usb-classes-arosx-library_FILTERARCH,$(kernel-usb-classes-arosx-library_LIBARCHFILES),$(kernel-usb-classes-arosx-library_LIBFILES)) +kernel-usb-classes-arosx-library_ARCHNLIBFILES := $(call kernel-usb-classes-arosx-library_FILTERARCH,$(kernel-usb-classes-arosx-library_LIBFILES),$(kernel-usb-classes-arosx-library_LIBARCHFILES)) + +kernel-usb-classes-arosx-library_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-usb-classes-arosx-library_OBJDIR)/include -include $(kernel-usb-classes-arosx-library_DEFLIBDEFSINC)) +ifneq (,) +kernel-usb-classes-arosx-library_CPPFLAGS += -I +endif +kernel-usb-classes-arosx-library_LINKLIBCPPFLAGS := $(kernel-usb-classes-arosx-library_CPPFLAGS) +kernel-usb-classes-arosx-library_CPPFLAGS += $(strip $($(kernel-usb-classes-arosx-library_DEFNAME)_CPPFLAGS)) +kernel-usb-classes-arosx-library_LINKLIBCPPFLAGS += $(strip $($(kernel-usb-classes-arosx-library_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-usb-classes-arosx-library_CFLAGS := $(strip $(CFLAGS) $($(kernel-usb-classes-arosx-library_DEFNAME)_CFLAGS)) +kernel-usb-classes-arosx-library_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-usb-classes-arosx-library_DEFNAME)_LINKLIBCFLAGS)) +kernel-usb-classes-arosx-library_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-usb-classes-arosx-library_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq (%(lto),yes) +kernel-usb-classes-arosx-library_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-usb-classes-arosx-library_CFLAGS := $(strip $(kernel-usb-classes-arosx-library_LTOFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +kernel-usb-classes-arosx-library_LINKLIBCFLAGS := $(strip $(kernel-usb-classes-arosx-library_LTOFLAGS) $(kernel-usb-classes-arosx-library_LINKLIBCFLAGS)) +kernel-usb-classes-arosx-library_CXXFLAGS := $(strip $(kernel-usb-classes-arosx-library_LTOFLAGS) $(kernel-usb-classes-arosx-library_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-classes-arosx-library_SUBSTNULL := +kernel-usb-classes-arosx-library_SUBSTSPACE := $(kernel-usb-classes-arosx-library_SUBSTNULL) # +kernel-usb-classes-arosx-library_SUBSTCOMMA := , +kernel-usb-classes-arosx-library_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-usb-classes-arosx-library_SUBSTSPACE),$(kernel-usb-classes-arosx-library_SUBSTCOMMA),$(strip $($(kernel-usb-classes-arosx-library_DEFNAME)_STARTFILES)))) +kernel-usb-classes-arosx-library_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-usb-classes-arosx-library_CFLAGS := $(strip $(kernel-usb-classes-arosx-library_INSTRFUNCFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +kernel-usb-classes-arosx-library_CXXFLAGS := $(strip $(kernel-usb-classes-arosx-library_INSTRFUNCFLAGS) $(kernel-usb-classes-arosx-library_CXXFLAGS)) +kernel-usb-classes-arosx-library_LIBS += $(kernel-usb-classes-arosx-library_INSTRFUNCLIBS) +endif +endif +kernel-usb-classes-arosx-library_DFLAGS := $(strip $(kernel-usb-classes-arosx-library_DFLAGS) $($(kernel-usb-classes-arosx-library_DEFNAME)_DFLAGS)) +kernel-usb-classes-arosx-library_LINKLIBDFLAGS := $(strip $(kernel-usb-classes-arosx-library_DFLAGS) $($(kernel-usb-classes-arosx-library_DEFNAME)_LINKLIBDFLAGS)) +kernel-usb-classes-arosx-library_DXXFLAGS := $(strip $(kernel-usb-classes-arosx-library_DXXFLAGS) $($(kernel-usb-classes-arosx-library_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + kernel-usb-classes-arosx-library_LIBSUFFIX := +else + kernel-usb-classes-arosx-library_LIBSUFFIX := .library +endif + +ifeq (,) +kernel-usb-classes-arosx-library_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-usb-classes-arosx-library_LIBDIR := +endif + +ifeq (M,M) +kernel-usb-classes-arosx-library_LINKLIBCFILES := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$($(kernel-usb-classes-arosx-library_DEFNAME)_LINKLIBFILES)) +kernel-usb-classes-arosx-library_LINKLIBAFILES := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$($(kernel-usb-classes-arosx-library_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-classes-arosx-library_DEFNAME)_LINKLIBFILES) $($(kernel-usb-classes-arosx-library_DEFNAME)_LINKLIBAFILES) $(kernel-usb-classes-arosx-library_ARCHNLIBFILES)),) + kernel-usb-classes-arosx-library_LINKLIB := +else + kernel-usb-classes-arosx-library_LINKLIB := $(kernel-usb-classes-arosx-library_LIBDIR)/libarosx$(kernel-usb-classes-arosx-library_LIBSUFFIX).a + ifneq (arosx,$(kernel-usb-classes-arosx-library_LINKLIBNAME)) + kernel-usb-classes-arosx-library_LINKLIB += $(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)$(kernel-usb-classes-arosx-library_LIBSUFFIX).a + endif +endif +kernel-usb-classes-arosx-library_LINKLIBFILES := $(kernel-usb-classes-arosx-library_LINKLIBCFILES) $(kernel-usb-classes-arosx-library_LINKLIBAFILES) + +kernel-usb-classes-arosx-library_RELLINKLIBCFILES := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$($(kernel-usb-classes-arosx-library_DEFNAME)_RELLINKLIBFILES)) +kernel-usb-classes-arosx-library_RELLINKLIBAFILES := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$($(kernel-usb-classes-arosx-library_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-classes-arosx-library_DEFNAME)_RELLINKLIBFILES) $($(kernel-usb-classes-arosx-library_DEFNAME)_RELLINKLIBAFILES) $(kernel-usb-classes-arosx-library_ARCHNLIBFILES)),) + kernel-usb-classes-arosx-library_RELLINKLIB := +else + kernel-usb-classes-arosx-library_RELLINKLIB := $(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_DEFNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a + ifneq (arosx,$(kernel-usb-classes-arosx-library_LINKLIBNAME)) + kernel-usb-classes-arosx-library_RELLINKLIB += $(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a + endif +endif +kernel-usb-classes-arosx-library_RELLINKLIBFILES := $(kernel-usb-classes-arosx-library_RELLINKLIBCFILES) $(kernel-usb-classes-arosx-library_RELLINKLIBAFILES) +endif + +kernel-usb-classes-arosx-library_ENDOBJS := $(addsuffix .o,$(kernel-usb-classes-arosx-library_ENDFILES)) +kernel-usb-classes-arosx-library_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx-library_NLIBARCHFILES))) $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-classes-arosx-library_ARCHNLIBFILES))) $(kernel-usb-classes-arosx-library_LINKLIBFILES)) \ + +kernel-usb-classes-arosx-library_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx-library_NLIBARCHFILES))) $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-classes-arosx-library_ARCHNLIBFILES))) $(kernel-usb-classes-arosx-library_RELLINKLIBFILES)) \ + +$(kernel-usb-classes-arosx-library_LINKLIBFILES) $(kernel-usb-classes-arosx-library_RELLINKLIBFILES) : | $(kernel-usb-classes-arosx-library_OBJDIR)/linklib +$(kernel-usb-classes-arosx-library_LINKLIBOBJS) $(kernel-usb-classes-arosx-library_RELLINKLIBOBJS) : | $(kernel-usb-classes-arosx-library_OBJDIR)/linklib + +kernel-usb-classes-arosx-library_CCFILES := $(kernel-usb-classes-arosx-library_C_NARCHFILES) +kernel-usb-classes-arosx-library_TARGETCCFILES := $(strip $(kernel-usb-classes-arosx-library_STARTFILES) $(kernel-usb-classes-arosx-library_ENDFILES)) +kernel-usb-classes-arosx-library_LINKLIBCCFILES := $(strip $(kernel-usb-classes-arosx-library_NLIBARCHFILES) $(kernel-usb-classes-arosx-library_LINKLIBCFILES) $(kernel-usb-classes-arosx-library_RELLINKLIBCFILES)) +kernel-usb-classes-arosx-library_LINKLIBCCGENFILES := $(strip $(kernel-usb-classes-arosx-library_LINKLIBCFILES) $(kernel-usb-classes-arosx-library_RELLINKLIBCFILES)) + + +kernel-usb-classes-arosx-library_CXXABSBASENAMES := $(foreach kernel-usb-classes-arosx-library_CXXBASE,$(kernel-usb-classes-arosx-library_CXX_NARCHFILES),$(if $(filter /%,$(kernel-usb-classes-arosx-library_CXXBASE)),$(kernel-usb-classes-arosx-library_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-usb-classes-arosx-library_CXXBASE)))) + +ifneq ($(kernel-usb-classes-arosx-library_CXXABSBASENAMES),) + +kernel-usb-classes-arosx-library_CXXBASENAMES := $(basename $(kernel-usb-classes-arosx-library_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-usb-classes-arosx-library_MCXX_FILES := $(strip $(foreach kernel-usb-classes-arosx-library_CXXBASE,$(kernel-usb-classes-arosx-library_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-usb-classes-arosx-library_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-usb-classes-arosx-library_EXT),$(kernel-usb-classes-arosx-library_CXXBASE))))))) + +ifeq (,) +kernel-usb-classes-arosx-library_MCXX_SRCWILDCARD := % +else +kernel-usb-classes-arosx-library_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR),) + kernel-usb-classes-arosx-library_CXXTARGETS := $(notdir $(kernel-usb-classes-arosx-library_CXXBASENAMES:=.o)) + kernel-usb-classes-arosx-library_CXXDTARGETS := $(notdir $(kernel-usb-classes-arosx-library_CXXBASENAMES:=.d)) + kernel-usb-classes-arosx-library_MCXX_WILDCARD := % +else + kernel-usb-classes-arosx-library_CXXTARGETS := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx-library_CXXBASENAMES:=.o))) + kernel-usb-classes-arosx-library_CXXDTARGETS := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx-library_CXXBASENAMES:=.d))) + kernel-usb-classes-arosx-library_MCXX_WILDCARD := $(kernel-usb-classes-arosx-library_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-usb-classes-arosx-library_CXXTARGETS) $(kernel-usb-classes-arosx-library_CXXDTARGETS) : | $(kernel-usb-classes-arosx-library_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-usb-classes-arosx-library_MCXX_CPPFLAGS := $(kernel-usb-classes-arosx-library_CPPFLAGS) +kernel-usb-classes-arosx-library_CXXFLAGS := $(kernel-usb-classes-arosx-library_CXXFLAGS) +ifeq ($(kernel-usb-classes-arosx-library_DXXFLAGS),) + kernel-usb-classes-arosx-library_DXXFLAGS := $(kernel-usb-classes-arosx-library_CXXFLAGS) +else + kernel-usb-classes-arosx-library_DXXFLAGS := $(kernel-usb-classes-arosx-library_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-usb-classes-arosx-library_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-usb-classes-arosx-library_STRIP ?= $(HOST_STRIP) + kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-usb-classes-arosx-library_CXXCMD:=$(HOST_CXX) + kernel-usb-classes-arosx-library_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx-library_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx-library_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-arosx-library_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-classes-arosx-library_CXXFLAGS)) + kernel-usb-classes-arosx-library_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-classes-arosx-library_DXXFLAGS)) + kernel-usb-classes-arosx-library_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-usb-classes-arosx-library_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-usb-classes-arosx-library_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-classes-arosx-library_STRIP ?= $(TARGET_STRIP) + kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-usb-classes-arosx-library_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-usb-classes-arosx-library_MCXX_CPPFLAGS := $(strip $(kernel-usb-classes-arosx-library_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx-library_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-arosx-library_CXXFLAGS := $(strip $(kernel-usb-classes-arosx-library_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-usb-classes-arosx-library_DXXFLAGS := $(kernel-usb-classes-arosx-library_DXXFLAGS) + kernel-usb-classes-arosx-library_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-usb-classes-arosx-library_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-usb-classes-arosx-library_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-classes-arosx-library_STRIP ?= $(ECHO) >/dev/null + kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-usb-classes-arosx-library_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-usb-classes-arosx-library_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx-library_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx-library_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-arosx-library_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-classes-arosx-library_CXXFLAGS)) + kernel-usb-classes-arosx-library_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-classes-arosx-library_DXXFLAGS)) + kernel-usb-classes-arosx-library_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-usb-classes-arosx-library_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-usb-classes-arosx-library_CXXCMD) $(kernel-usb-classes-arosx-library_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-arosx-library_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_CXXIQUOTE) . $(kernel-usb-classes-arosx-library_CXXIQUOTE_END) $(strip $(kernel-usb-classes-arosx-library_CXXFLAGS) $(kernel-usb-classes-arosx-library_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-usb-classes-arosx-library_CXXCMD) $(kernel-usb-classes-arosx-library_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-arosx-library_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_CXXIQUOTE) . $(kernel-usb-classes-arosx-library_CXXIQUOTE_END) $(strip $(kernel-usb-classes-arosx-library_CXXFLAGS) $(kernel-usb-classes-arosx-library_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-usb-classes-arosx-library_CXXCMD) $(kernel-usb-classes-arosx-library_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-arosx-library_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_CXXIQUOTE) . $(kernel-usb-classes-arosx-library_CXXIQUOTE_END) $(strip $(kernel-usb-classes-arosx-library_CXXFLAGS) $(kernel-usb-classes-arosx-library_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-usb-classes-arosx-library_CXXCMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx-library_DXXFLAGS) $(kernel-usb-classes-arosx-library_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR),) + $(foreach kernel-usb-classes-arosx-library_CXXFILE,$(kernel-usb-classes-arosx-library_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-usb-classes-arosx-library_CXXFILE))),$(kernel-usb-classes-arosx-library_CXXFILE)))) +else + $(foreach kernel-usb-classes-arosx-library_CXXFILE,$(kernel-usb-classes-arosx-library_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(basename $(kernel-usb-classes-arosx-library_CXXFILE)))),$(kernel-usb-classes-arosx-library_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-usb-classes-arosx-library_OBJC_NARCHFILES),) + +ifeq (,) +kernel-usb-classes-arosx-library_MOBJC_SRCWILDCARD := % +else +kernel-usb-classes-arosx-library_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR),) + kernel-usb-classes-arosx-library_MOBJC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx-library_OBJC_NARCHFILES)) + kernel-usb-classes-arosx-library_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx-library_OBJC_NARCHFILES)) + kernel-usb-classes-arosx-library_MOBJC_WILDCARD := % +else + kernel-usb-classes-arosx-library_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(kernel-usb-classes-arosx-library_OBJC_NARCHFILES))) + kernel-usb-classes-arosx-library_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(kernel-usb-classes-arosx-library_OBJC_NARCHFILES))) + kernel-usb-classes-arosx-library_MOBJC_WILDCARD := $(kernel-usb-classes-arosx-library_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-usb-classes-arosx-library_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-usb-classes-arosx-library_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-arosx-library_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx-library_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-usb-classes-arosx-library_MOBJC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx-library_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx-library_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-usb-classes-arosx-library_MOBJC_DIRS),) + kernel-usb-classes-arosx-library_MOBJC_DIRS := $(shell echo $(kernel-usb-classes-arosx-library_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-usb-classes-arosx-library_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-usb-classes-arosx-library_CC := $(TARGET_CC) +else + kernel-usb-classes-arosx-library_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS := $(kernel-usb-classes-arosx-library_CPPFLAGS) +kernel-usb-classes-arosx-library_OBJCFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +kernel-usb-classes-arosx-library_OBJCFLAGS := $(kernel-usb-classes-arosx-library_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-usb-classes-arosx-library_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-usb-classes-arosx-library_OBJCFLAGS))) +ifeq ($(kernel-usb-classes-arosx-library_DFLAGS),) + kernel-usb-classes-arosx-library_OBJCDFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +else + kernel-usb-classes-arosx-library_OBJCDFLAGS := $(kernel-usb-classes-arosx-library_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-usb-classes-arosx-library_LINK ?= $(strip $(kernel-usb-classes-arosx-library_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-classes-arosx-library_STRIP ?= $(TARGET_STRIP) + kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-usb-classes-arosx-library_CC) $(TARGET_SYSROOT)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_OBJCFLAGS:=$(strip $(kernel-usb-classes-arosx-library_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_OBJCDFLAGS:=$(kernel-usb-classes-arosx-library_OBJCDFLAGS) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-usb-classes-arosx-library_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-usb-classes-arosx-library_STRIP ?= $(HOST_STRIP) + kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_OBJCFLAGS)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_OBJCDFLAGS)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(HOST_IQUOTE) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-usb-classes-arosx-library_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-classes-arosx-library_STRIP ?= $(ECHO) >/dev/null + kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_OBJCFLAGS)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_OBJCDFLAGS)) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-usb-classes-arosx-library_MOBJC_TARGETS) $(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx-library_MOBJC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS) +$(kernel-usb-classes-arosx-library_MOBJC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx-library_OBJCFLAGS) +$(kernel-usb-classes-arosx-library_MOBJC_TARGETS) : $(kernel-usb-classes-arosx-library_MOBJC_WILDCARD).o : $(kernel-usb-classes-arosx-library_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx-library_MOBJC_DTARGETS) : $(kernel-usb-classes-arosx-library_MOBJC_WILDCARD).d : $(kernel-usb-classes-arosx-library_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx-library_OBJCDFLAGS) $(kernel-usb-classes-arosx-library_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-usb-classes-arosx-library_MC_SRCWILDCARD := % +else +kernel-usb-classes-arosx-library_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR),) +kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx-library_CCFILES)) +kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx-library_CCFILES)) +kernel-usb-classes-arosx-library_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx-library_CCFILES)))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx-library_CCFILES)))) +else +ifeq (,) + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(kernel-usb-classes-arosx-library_CCFILES))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(kernel-usb-classes-arosx-library_CCFILES))) +else + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-arosx-library_CCFILES)))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-arosx-library_CCFILES)))) +endif +endif +kernel-usb-classes-arosx-library_MC_TGTWILDCARD := $(kernel-usb-classes-arosx-library_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-arosx-library_CCFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx-library_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx-library_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx-library_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx-library_MC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx-library_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx-library_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx-library_MC_DIRS),) + kernel-usb-classes-arosx-library_MC_DIRS := $(shell echo $(kernel-usb-classes-arosx-library_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-arosx-library_MC_DIRS) +endif + +endif + +kernel-usb-classes-arosx-library_MC_CPPFLAGS := $(kernel-usb-classes-arosx-library_CPPFLAGS) +kernel-usb-classes-arosx-library_CFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +ifeq ($(kernel-usb-classes-arosx-library_DFLAGS),) + kernel-usb-classes-arosx-library_DFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +else + kernel-usb-classes-arosx-library_DFLAGS := $(kernel-usb-classes-arosx-library_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(kernel-usb-classes-arosx-library_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(kernel-usb-classes-arosx-library_DFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_DFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_DFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx-library_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) : $(kernel-usb-classes-arosx-library_MC_TGTWILDCARD).o : $(kernel-usb-classes-arosx-library_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx-library_MC_DTARGETS) : $(kernel-usb-classes-arosx-library_MC_TGTWILDCARD).d : $(kernel-usb-classes-arosx-library_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx-library_DFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-classes-arosx-library_MC_SRCWILDCARD := % +else +kernel-usb-classes-arosx-library_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR),) +kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx-library_TARGETCCFILES)) +kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx-library_TARGETCCFILES)) +kernel-usb-classes-arosx-library_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx-library_TARGETCCFILES)))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx-library_TARGETCCFILES)))) +else +ifeq (,) + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(kernel-usb-classes-arosx-library_TARGETCCFILES))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(kernel-usb-classes-arosx-library_TARGETCCFILES))) +else + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-arosx-library_TARGETCCFILES)))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-arosx-library_TARGETCCFILES)))) +endif +endif +kernel-usb-classes-arosx-library_MC_TGTWILDCARD := $(kernel-usb-classes-arosx-library_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-arosx-library_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx-library_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx-library_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx-library_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx-library_MC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx-library_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx-library_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx-library_MC_DIRS),) + kernel-usb-classes-arosx-library_MC_DIRS := $(shell echo $(kernel-usb-classes-arosx-library_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-arosx-library_MC_DIRS) +endif + +endif + +kernel-usb-classes-arosx-library_MC_CPPFLAGS := $(kernel-usb-classes-arosx-library_CPPFLAGS) -D__AROS__ +kernel-usb-classes-arosx-library_CFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +ifeq ($(kernel-usb-classes-arosx-library_DFLAGS),) + kernel-usb-classes-arosx-library_DFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +else + kernel-usb-classes-arosx-library_DFLAGS := $(kernel-usb-classes-arosx-library_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(kernel-usb-classes-arosx-library_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(kernel-usb-classes-arosx-library_DFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_DFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_DFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx-library_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) : $(kernel-usb-classes-arosx-library_MC_TGTWILDCARD).o : $(kernel-usb-classes-arosx-library_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx-library_MC_DTARGETS) : $(kernel-usb-classes-arosx-library_MC_TGTWILDCARD).d : $(kernel-usb-classes-arosx-library_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx-library_DFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-classes-arosx-library_MC_SRCWILDCARD := % +else +kernel-usb-classes-arosx-library_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR)/linklib,) +kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx-library_NLIBARCHFILES)) +kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx-library_NLIBARCHFILES)) +kernel-usb-classes-arosx-library_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx-library_NLIBARCHFILES)))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx-library_NLIBARCHFILES)))) +else +ifeq (,) + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(kernel-usb-classes-arosx-library_NLIBARCHFILES))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(kernel-usb-classes-arosx-library_NLIBARCHFILES))) +else + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-classes-arosx-library_NLIBARCHFILES)))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-classes-arosx-library_NLIBARCHFILES)))) +endif +endif +kernel-usb-classes-arosx-library_MC_TGTWILDCARD := $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-arosx-library_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx-library_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx-library_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx-library_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx-library_MC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx-library_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx-library_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx-library_MC_DIRS),) + kernel-usb-classes-arosx-library_MC_DIRS := $(shell echo $(kernel-usb-classes-arosx-library_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-arosx-library_MC_DIRS) +endif + +endif + +kernel-usb-classes-arosx-library_MC_CPPFLAGS := $(kernel-usb-classes-arosx-library_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-classes-arosx-library_CFLAGS := $(kernel-usb-classes-arosx-library_LINKLIBCFLAGS) +ifeq ($(kernel-usb-classes-arosx-library_LINKLIBDFLAGS),) + kernel-usb-classes-arosx-library_DFLAGS := $(kernel-usb-classes-arosx-library_LINKLIBCFLAGS) +else + kernel-usb-classes-arosx-library_DFLAGS := $(kernel-usb-classes-arosx-library_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(kernel-usb-classes-arosx-library_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(kernel-usb-classes-arosx-library_DFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_DFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_DFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx-library_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) : $(kernel-usb-classes-arosx-library_MC_TGTWILDCARD).o : $(kernel-usb-classes-arosx-library_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx-library_MC_DTARGETS) : $(kernel-usb-classes-arosx-library_MC_TGTWILDCARD).d : $(kernel-usb-classes-arosx-library_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx-library_DFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR)/linklib,) +kernel-usb-classes-arosx-library_MC_SRCWILDCARD := % +else +kernel-usb-classes-arosx-library_MC_SRCWILDCARD := $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR)/linklib,) +kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES)) +kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES)) +kernel-usb-classes-arosx-library_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES)))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR)/linklib,) + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES))) +else + kernel-usb-classes-arosx-library_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(patsubst $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/%,%,$(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES)))) + kernel-usb-classes-arosx-library_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(patsubst $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/%,%,$(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES)))) +endif +endif +kernel-usb-classes-arosx-library_MC_TGTWILDCARD := $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx-library_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx-library_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx-library_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx-library_MC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx-library_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx-library_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx-library_MC_DIRS),) + kernel-usb-classes-arosx-library_MC_DIRS := $(shell echo $(kernel-usb-classes-arosx-library_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-arosx-library_MC_DIRS) +endif + +endif + +kernel-usb-classes-arosx-library_MC_CPPFLAGS := $(kernel-usb-classes-arosx-library_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-classes-arosx-library_CFLAGS := $(kernel-usb-classes-arosx-library_LINKLIBCFLAGS) +ifeq ($(kernel-usb-classes-arosx-library_LINKLIBDFLAGS),) + kernel-usb-classes-arosx-library_DFLAGS := $(kernel-usb-classes-arosx-library_LINKLIBCFLAGS) +else + kernel-usb-classes-arosx-library_DFLAGS := $(kernel-usb-classes-arosx-library_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(kernel-usb-classes-arosx-library_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(kernel-usb-classes-arosx-library_DFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx-library_DFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx-library_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-arosx-library_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-arosx-library_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) $(kernel-usb-classes-arosx-library_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_CFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx-library_DFLAGS)) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-arosx-library_MC_TARGETS) $(kernel-usb-classes-arosx-library_MC_DTARGETS) : kernel-usb-classes-arosx-library_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx-library_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx-library_MC_CPPFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx-library_CFLAGS) +$(kernel-usb-classes-arosx-library_MC_TARGETS) : $(kernel-usb-classes-arosx-library_MC_TGTWILDCARD).o : $(kernel-usb-classes-arosx-library_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx-library_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx-library_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx-library_IQUOTE) . $(kernel-usb-classes-arosx-library_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx-library_MC_DTARGETS) : $(kernel-usb-classes-arosx-library_MC_TGTWILDCARD).d : $(kernel-usb-classes-arosx-library_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx-library_DFLAGS) $(kernel-usb-classes-arosx-library_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-usb-classes-arosx-library_LINKLIBAFILES),) + +ifeq ($(kernel-usb-classes-arosx-library_OBJDIR)/linklib,) +kernel-usb-classes-arosx-library-MA_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx-library_LINKLIBAFILES) $(kernel-usb-classes-arosx-library_RELLINKLIBAFILES)) +kernel-usb-classes-arosx-library-MA_WILDCARD := % +else +kernel-usb-classes-arosx-library-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx-library_LINKLIBAFILES) $(kernel-usb-classes-arosx-library_RELLINKLIBAFILES)))) +kernel-usb-classes-arosx-library-MA_WILDCARD := $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-usb-classes-arosx-library-MA_TARGETS) : | $(addsuffix .S,$(kernel-usb-classes-arosx-library_LINKLIBAFILES) $(kernel-usb-classes-arosx-library_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx-library-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx-library-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx-library_LINKLIBAFILES) $(kernel-usb-classes-arosx-library_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx-library-MA_DIRS := $(foreach dir, $(kernel-usb-classes-arosx-library-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx-library-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx-library-MA_DIRS),) + kernel-usb-classes-arosx-library-MA_DIRS := $(shell echo $(kernel-usb-classes-arosx-library-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-usb-classes-arosx-library-MA_DIRS) +endif + +endif + +kernel-usb-classes-arosx-library-MA_ASSEMBLER ?= $(kernel-usb-classes-arosx-library_ASSEMBLER) + +$(kernel-usb-classes-arosx-library-MA_TARGETS) : kernel-usb-classes-arosx-library-MA_CMD:= $(kernel-usb-classes-arosx-library-MA_ASSEMBLER) + +$(kernel-usb-classes-arosx-library-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-usb-classes-arosx-library-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-usb-classes-arosx-library-MA_TARGETS) : $(kernel-usb-classes-arosx-library-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-usb-classes-arosx-library-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-usb-classes-arosx-library-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-usb-classes-arosx-library-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-usb-classes-arosx-library_SUFFIX := library +else +kernel-usb-classes-arosx-library_SUFFIX := +endif + +ifeq (target,target) +kernel-usb-classes-arosx-library_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-usb-classes-arosx-library_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx-library_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-usb-classes-arosx-library_SUFFIX),handler) +kernel-usb-classes-arosx-library_MODULE := $(AROSDIR)/$(kernel-usb-classes-arosx-library_MODDIR)/$(kernel-usb-classes-arosx-library_DEFNAME)-$(kernel-usb-classes-arosx-library_SUFFIX) +else +kernel-usb-classes-arosx-library_MODULE := $(AROSDIR)/$(kernel-usb-classes-arosx-library_MODDIR)/$(kernel-usb-classes-arosx-library_DEFNAME).$(kernel-usb-classes-arosx-library_SUFFIX) +endif +kernel-usb-classes-arosx-library_KOBJ := $(KOBJSDIR)/$(kernel-usb-classes-arosx-library_DEFNAME)_$(kernel-usb-classes-arosx-library_SUFFIX).o +else +kernel-usb-classes-arosx-library_MODULE := +kernel-usb-classes-arosx-library_KOBJ := +endif + +kernel-usb-classes-arosx-library-quick : kernel-usb-classes-arosx-library +kernel-usb-classes-arosx-library : $(kernel-usb-classes-arosx-library_MODULE) $(kernel-usb-classes-arosx-library_LINKLIB) $(kernel-usb-classes-arosx-library_RELLINKLIB) +ifeq (,M) +kernel-usb-classes-arosx-library-kobj : $(kernel-usb-classes-arosx-library_KOBJ) $(kernel-usb-classes-arosx-library_LINKLIB) $(kernel-usb-classes-arosx-library_RELLINKLIB) +kernel-usb-classes-arosx-library-kobj-quick : $(kernel-usb-classes-arosx-library_KOBJ) $(kernel-usb-classes-arosx-library_LINKLIB) $(kernel-usb-classes-arosx-library_RELLINKLIB) +endif +ifeq (M,M) +kernel-usb-classes-arosx-library-linklib : $(kernel-usb-classes-arosx-library_LINKLIB) $(kernel-usb-classes-arosx-library_RELLINKLIB) +endif + +kernel-usb-classes-arosx-library_OBJS := $(addsuffix .o,$(kernel-usb-classes-arosx-library_STARTFILES)) $(kernel-usb-classes-arosx-library_ARCHOBJS) \ + $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx-library_C_NARCHFILES:=.o) $(kernel-usb-classes-arosx-library_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +kernel-usb-classes-arosx-library_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (arosx,con) + kernel-usb-classes-arosx-library_ERR := $(notdir $(kernel-usb-classes-arosx-library_MODULE)).err +else + kernel-usb-classes-arosx-library_ERR := arosx.err +endif + +ifeq (,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-usb-classes-arosx-library_DEFNAME)_LDFLAGS) $(kernel-usb-classes-arosx-library_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-usb-classes-arosx-library_LIBS) $($(kernel-usb-classes-arosx-library_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-usb-classes-arosx-library_MODULE) : LIB_NAMES := $(kernel-usb-classes-arosx-library_LIBS) $($(kernel-usb-classes-arosx-library_DEFNAME)_LIBS) +$(kernel-usb-classes-arosx-library_MODULE) : OBJS := $(kernel-usb-classes-arosx-library_STARTOBJS) $(kernel-usb-classes-arosx-library_OBJS) $(USER_OBJS) +$(kernel-usb-classes-arosx-library_MODULE) : ENDTAG := $(kernel-usb-classes-arosx-library_ENDOBJS) +$(kernel-usb-classes-arosx-library_MODULE) : ERR := $(kernel-usb-classes-arosx-library_ERR) +$(kernel-usb-classes-arosx-library_MODULE) : OBJDIR := $(kernel-usb-classes-arosx-library_OBJDIR) +$(kernel-usb-classes-arosx-library_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-usb-classes-arosx-library_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-usb-classes-arosx-library_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-usb-classes-arosx-library_MODULE) : $(kernel-usb-classes-arosx-library_STARTOBJS) $(kernel-usb-classes-arosx-library_OBJS) $(USER_OBJS) $(kernel-usb-classes-arosx-library_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-usb-classes-arosx-library_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-usb-classes-arosx-library_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-usb-classes-arosx-library_LC_LINKLIBNAME := $(shell echo $(kernel-usb-classes-arosx-library_LINKLIBNAME) | tr A-Z a-z) +kernel-usb-classes-arosx-library_LC_MODNAME := $(shell echo arosx | tr A-Z a-z) +ifneq ($(kernel-usb-classes-arosx-library_LINKLIB),) + +ifeq (target,target) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(HOST_AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(KERNEL_AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : $(kernel-usb-classes-arosx-library_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-arosx-library_AR) $@ $^ + $(Q)$(kernel-usb-classes-arosx-library_RANLIB) $@ +ifneq ($(kernel-usb-classes-arosx-library_LC_MODNAME),$(kernel-usb-classes-arosx-library_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-classes-arosx-library_LIBDIR)/libarosx$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/libarosx$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-arosx-library_LIBDIR)/libarosx$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(HOST_AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/libarosx$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-arosx-library_LIBDIR)/libarosx$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(KERNEL_AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/libarosx$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-arosx-library_LIBDIR)/libarosx$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : $(kernel-usb-classes-arosx-library_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-arosx-library_AR) $@ $^ + $(Q)$(kernel-usb-classes-arosx-library_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-classes-arosx-library_LINKLIB),) +$(kernel-usb-classes-arosx-library_LINKLIB) : | $(kernel-usb-classes-arosx-library_LIBDIR) +else +$(kernel-usb-classes-arosx-library_LINKLIB) :: $(kernel-usb-classes-arosx-library_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx-library_LIBDIR) + +endif + +ifneq ($(kernel-usb-classes-arosx-library_RELLINKLIB),) + +ifeq (target,target) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(HOST_AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(KERNEL_AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_LINKLIBNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : $(kernel-usb-classes-arosx-library_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-arosx-library_AR) $@ $^ + $(Q)$(kernel-usb-classes-arosx-library_RANLIB) $@ +ifneq ($(kernel-usb-classes-arosx-library_LC_MODNAME),$(kernel-usb-classes-arosx-library_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_DEFNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_DEFNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_DEFNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(HOST_AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_DEFNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_DEFNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_AR:=$(KERNEL_AR) +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_DEFNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : kernel-usb-classes-arosx-library_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-arosx-library_LIBDIR)/lib$(kernel-usb-classes-arosx-library_DEFNAME)_rel$(kernel-usb-classes-arosx-library_LIBSUFFIX).a : $(kernel-usb-classes-arosx-library_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-arosx-library_AR) $@ $^ + $(Q)$(kernel-usb-classes-arosx-library_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-classes-arosx-library_RELLINKLIB),) +$(kernel-usb-classes-arosx-library_RELLINKLIB) : | $(kernel-usb-classes-arosx-library_LIBDIR) +else +$(kernel-usb-classes-arosx-library_RELLINKLIB) :: $(kernel-usb-classes-arosx-library_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx-library_LIBDIR) + +endif +endif + +ifeq (,M) +# Link kernel object file +kernel-usb-classes-arosx-library_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-usb-classes-arosx-library_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-usb-classes-arosx-library_SYMBOLS := $(kernel-usb-classes-arosx-library_KBASE) + +kernel-usb-classes-arosx-library_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-usb-classes-arosx-library_KOBJ_LIBS := $(filter-out $(kernel-usb-classes-arosx-library_KLIB),$(kernel-usb-classes-arosx-library_LIBS)) $(kernel-usb-classes-arosx-library_KAUTOLIB) +$(kernel-usb-classes-arosx-library_KOBJ) : LINKLIBS:=$(kernel-usb-classes-arosx-library_KOBJ_LIBS) $($(kernel-usb-classes-arosx-library_DEFNAME)_LIBS) +$(kernel-usb-classes-arosx-library_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-usb-classes-arosx-library_SYMBOLS)) +$(kernel-usb-classes-arosx-library_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-usb-classes-arosx-library_KOBJ) : $(kernel-usb-classes-arosx-library_OBJS) $(USER_OBJS) $(kernel-usb-classes-arosx-library_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-usb-classes-arosx-library_DEPS := $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx-library_CCFILES:=.d) $(kernel-usb-classes-arosx-library_TARGETCCFILES:=.d) $(kernel-usb-classes-arosx-library_CXXFILES:=.d))) $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx-library_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-usb-classes-arosx-library_DEPS),) + ifneq (kernel-usb-classes-arosx-library kernel-usb-classes-arosx-library-quick kernel-usb-classes-arosx-library-kobj kernel-usb-classes-arosx-library-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-usb-classes-arosx-library kernel-usb-classes-arosx-library-quick kernel-usb-classes-arosx-library-kobj kernel-usb-classes-arosx-library-kobj-quick),) + -include $(kernel-usb-classes-arosx-library_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-usb-classes-arosx-library_DEPS) + endif + endif +endif + +$(kernel-usb-classes-arosx-library_OBJS) $(kernel-usb-classes-arosx-library_DEPS) : | $(kernel-usb-classes-arosx-library_OBJDIR)/linklib + +ifneq ($(kernel-usb-classes-arosx-library_OBJS) $(kernel-usb-classes-arosx-library_DEPS) $(kernel-usb-classes-arosx-library_MODULE) $(kernel-usb-classes-arosx-library_KOBJ),) +$(kernel-usb-classes-arosx-library_OBJS) $(kernel-usb-classes-arosx-library_DEPS) $(kernel-usb-classes-arosx-library_MODULE) $(kernel-usb-classes-arosx-library_KOBJ) : | $(kernel-usb-classes-arosx-library_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-arosx-library_MODDIR) $(KOBJSDIR) +else +$(kernel-usb-classes-arosx-library_OBJS) $(kernel-usb-classes-arosx-library_DEPS) $(kernel-usb-classes-arosx-library_MODULE) $(kernel-usb-classes-arosx-library_KOBJ) :: $(kernel-usb-classes-arosx-library_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-arosx-library_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx-library_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-arosx-library_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-usb-classes-arosx-library kernel-usb-classes-arosx-library-includes kernel-usb-classes-arosx-library-quick kernel-usb-classes-arosx-library-kobj kernel-usb-classes-arosx-library-kobj-quick),) # Only for this target these deps are wanted + +kernel-usb-classes-arosx-library_DFILE_DEPS := $(kernel-usb-classes-arosx-library_LIBDEFSINC) $(kernel-usb-classes-arosx-library_DEFLIBDEFSINC) \ + $(addprefix $(kernel-usb-classes-arosx-library_INCDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) +$(kernel-usb-classes-arosx-library_DEPS) : $(kernel-usb-classes-arosx-library_DFILE_DEPS) +endif + +kernel-usb-classes-arosx-library_TOCLEAN := $(kernel-usb-classes-arosx-library_OBJS) $(kernel-usb-classes-arosx-library_DEPS) \ + $(kernel-usb-classes-arosx-library_MODULE) $(kernel-usb-classes-arosx-library_LINKLIB) $(kernel-usb-classes-arosx-library_KOBJ) \ + $(kernel-usb-classes-arosx-library_OBJDIR)/Makefile.arosxlibrary \ + $(addprefix $(kernel-usb-classes-arosx-library_OBJDIR)/include/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-classes-arosx-library_INCDIR)/,$($(kernel-usb-classes-arosx-library_DEFNAME)_INCLUDES)) \ + $(kernel-usb-classes-arosx-library_OBJDIR)/arosx_geninc $(kernel-usb-classes-arosx-library_OBJDIR)/arosx_incs \ + $(addsuffix .c,$(kernel-usb-classes-arosx-library_LINKLIBFILES)) $(kernel-usb-classes-arosx-library_LINKLIBOBJS) $(kernel-usb-classes-arosx-library_LIBDEFSINC) \ + $(kernel-usb-classes-arosx-library_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-usb-classes-arosx-library_STARTFILES) $(kernel-usb-classes-arosx-library_ENDFILES)) \ + $(kernel-usb-classes-arosx-library_ENDOBJS) +kernel-usb-classes-arosx-library-clean : FILES := $(kernel-usb-classes-arosx-library_TOCLEAN) +kernel-usb-classes-arosx-library-clean :: + $(Q)$(ECHO) "Cleaning up for module arosx" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-usb-classes-arosx-library_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/classes/arosx/mmakefile b/rom/usb/classes/arosx/mmakefile new file mode 100644 index 00000000000..8e71f7c356c --- /dev/null +++ b/rom/usb/classes/arosx/mmakefile @@ -0,0 +1,2278 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -DMUIMASTER_YES_INLINE_STDARG +USER_LDFLAGS := -static + +FILES := arosx.class arosx.class.config.gui arosx.library debug + +#MM- kernel-usb-classes-arosx : kernel-usb-usbclass kernel-usb-poseidon-includes kernel-usb-classes-arosx-library + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #M includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-usb-classes-arosx +#MM kernel-usb-classes-arosx-quick +#MM kernel-usb-classes-arosx-makefile +#MM kernel-usb-classes-arosx-clean + +# ABI targets: +#M- includes-all : kernel-usb-classes-arosx-includes +#M- linklibs-arosx: kernel-usb-classes-arosx-linklib +#M- linklibs-arosx_rel : kernel-usb-classes-arosx-linklib +#M- includes-arosx: kernel-usb-classes-arosx-includes +#M- includes-arosx_rel : kernel-usb-classes-arosx-includes +#M- kernel-usb-classes-arosx : kernel-usb-classes-arosx-includes core-linklibs linklibs- +#M kernel-usb-classes-arosx-linklib : kernel-usb-classes-arosx-includes includes- +#M- kernel-usb-classes-arosx-quick : kernel-usb-classes-arosx-includes-quick +#M kernel-usb-classes-arosx-includes : kernel-usb-classes-arosx-makefile kernel-usb-classes-arosx-includes-dirs \ +#M includes-generate-deps kernel-usb-classes-arosx-fd +#M kernel-usb-classes-arosx-includes-quick +#M kernel-usb-classes-arosx-includes-dirs +#M kernel-usb-classes-arosx-fd + +# Library targets +#MM kernel-usb-classes-arosx-kobj : core-linklibs linklibs- +#MM kernel-usb-classes-arosx-kobj-quick : + +# Library with ABI targets: +#M kernel-usb-classes-arosx-kobj : kernel-usb-classes-arosx-includes core-linklibs linklibs- +#M kernel-usb-classes-arosx-kobj-quick : kernel-usb-classes-arosx-includes-quick + +# All MetaMake targets defined by this macro +kernel-usb-classes-arosx_ALLTARGETS := kernel-usb-classes-arosx kernel-usb-classes-arosx-quick kernel-usb-classes-arosx-clean + +ifeq (M,M) +kernel-usb-classes-arosx_ALLTARGETS += kernel-usb-classes-arosx-kobj kernel-usb-classes-arosx-kobj-quick +endif + +ifeq (,M) +kernel-usb-classes-arosx_ALLTARGETS += kernel-usb-classes-arosx-includes \ + kernel-usb-classes-arosx-includes-quick kernel-usb-classes-arosx-includes-dirs \ + kernel-usb-classes-arosx-linklib kernel-usb-classes-arosx-fd +endif + +.PHONY : $(kernel-usb-classes-arosx_ALLTARGETS) kernel-usb-classes-arosx-makefile + +ifeq (arosx,) +$(error using %build_module: modname may not be empty) +endif +ifeq (usbclass,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-usb-classes-arosx_DEFNAME := arosx_ +else + kernel-usb-classes-arosx_DEFNAME := arosx +endif +kernel-usb-classes-arosx_DEFLINKLIBNAME := $(kernel-usb-classes-arosx_DEFNAME) +ifneq (,) + kernel-usb-classes-arosx_LINKLIBNAME := +else + kernel-usb-classes-arosx_LINKLIBNAME = $(kernel-usb-classes-arosx_DEFLINKLIBNAME) +endif +kernel-usb-classes-arosx_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-usb-classes-arosx_DEFCPPFLAGS += -I +endif +kernel-usb-classes-arosx_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-usb-classes-arosx_DFLAGS := +else + kernel-usb-classes-arosx_DFLAGS = $(kernel-usb-classes-arosx_DEFDFLAGS) +endif +kernel-usb-classes-arosx_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-usb-classes-arosx_DXXFLAGS := +else + kernel-usb-classes-arosx_DXXFLAGS = $(kernel-usb-classes-arosx_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-classes-arosx_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-classes-arosx_DEFDFLAGS)) +kernel-usb-classes-arosx_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-classes-arosx_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-classes-arosx_FUNCINSTR := yes +kernel-usb-classes-arosx_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-classes-arosx_DEFDFLAGS)) +kernel-usb-classes-arosx_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-classes-arosx_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-usb-classes-arosx_OBJDIR := +else +kernel-usb-classes-arosx_OBJDIR := $(OBJDIR)/$(kernel-usb-classes-arosx_DEFNAME) +endif +ifneq (,) +kernel-usb-classes-arosx_OBJDIR := $(kernel-usb-classes-arosx_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-usb-classes-arosx-makefile := $(kernel-usb-classes-arosx_OBJDIR)/Makefile.$(kernel-usb-classes-arosx_DEFNAME)usbclass +kernel-usb-classes-arosx-genmakefile : $(kernel-usb-classes-arosx-makefile) + + +kernel-usb-classes-arosx-genmakefile_OPTS := +ifneq (,) + kernel-usb-classes-arosx-genmakefile_OPTS += -f + kernel-usb-classes-arosx-genmakefile_MODNAME := arosx_ +else + kernel-usb-classes-arosx-genmakefile_MODNAME := arosx +endif +kernel-usb-classes-arosx-genmakefile_TARGET := Makefile.$(kernel-usb-classes-arosx-genmakefile_MODNAME)usbclass +kernel-usb-classes-arosx-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-genmakefile_OPTS += -c + kernel-usb-classes-arosx-genmakefile_DEPS += + endif +else + kernel-usb-classes-arosx-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + kernel-usb-classes-arosx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-genmakefile_OPTS += -o + kernel-usb-classes-arosx-genmakefile_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-arosx-genmakefile_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-arosx_OBJDIR),) + kernel-usb-classes-arosx-genmakefile_OPTS += -d $(kernel-usb-classes-arosx_OBJDIR) + kernel-usb-classes-arosx-genmakefile_TARGET := $(kernel-usb-classes-arosx_OBJDIR)/$(kernel-usb-classes-arosx-genmakefile_TARGET) +endif + +$(kernel-usb-classes-arosx-genmakefile_TARGET) : OPTS := $(kernel-usb-classes-arosx-genmakefile_OPTS) +$(kernel-usb-classes-arosx-genmakefile_TARGET) : MODNAME := arosx +$(kernel-usb-classes-arosx-genmakefile_TARGET) : MODTYPE := usbclass +$(kernel-usb-classes-arosx-genmakefile_TARGET) : $(kernel-usb-classes-arosx-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-usb-classes-arosx-makefile),) +$(kernel-usb-classes-arosx-makefile) : | $(kernel-usb-classes-arosx_OBJDIR) +else +$(kernel-usb-classes-arosx-makefile) :: $(kernel-usb-classes-arosx_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-usb-classes-arosx_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-usb-classes-arosx-makefile) + +kernel-usb-classes-arosx_DEFMODDIR := $($(kernel-usb-classes-arosx_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-usb-classes-arosx_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-usb-classes-arosx_DEFMODDIR) +endif +ifneq (,) + kernel-usb-classes-arosx_MODDIR := +else + kernel-usb-classes-arosx_MODDIR := $(kernel-usb-classes-arosx_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-usb-classes-arosx_INCDIR := +else +kernel-usb-classes-arosx_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-usb-classes-arosx_LIBDEFSINC := $(kernel-usb-classes-arosx_OBJDIR)/include/$(kernel-usb-classes-arosx_DEFNAME)_libdefs.h +kernel-usb-classes-arosx_DEFLIBDEFSINC := $(kernel-usb-classes-arosx_OBJDIR)/include/$(kernel-usb-classes-arosx_DEFNAME)_deflibdefs.h + +ifeq (,M) +kernel-usb-classes-arosx-includes-quick : kernel-usb-classes-arosx-includes +kernel-usb-classes-arosx-includes : $(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-classes-arosx_INCDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) \ + $(kernel-usb-classes-arosx_LIBDEFSINC) $(kernel-usb-classes-arosx_DEFLIBDEFSINC) + +ifneq ($($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-usb-classes-arosx-includes_MODNAME := arosx_ +else + kernel-usb-classes-arosx-includes_MODNAME := arosx +endif + +ifneq ($($(kernel-usb-classes-arosx-includes_MODNAME)_INCLUDES),) + +kernel-usb-classes-arosx-includes_TARGETS := $($(kernel-usb-classes-arosx-includes_MODNAME)_INCLUDES) + +kernel-usb-classes-arosx-includes_DEPS := $(GENMODULE) +kernel-usb-classes-arosx-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-includes_OPTS += -c + kernel-usb-classes-arosx-includes_DEPS += + endif +else + kernel-usb-classes-arosx-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + kernel-usb-classes-arosx-includes_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-includes_OPTS += -o + kernel-usb-classes-arosx-includes_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-arosx-includes_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-arosx_OBJDIR)/include,) + kernel-usb-classes-arosx-includes_OPTS += -d $(kernel-usb-classes-arosx_OBJDIR)/include + kernel-usb-classes-arosx-includes_TARGETS := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/include/,$(kernel-usb-classes-arosx-includes_TARGETS)) + kernel-usb-classes-arosx-includes_GENINCFLAG=$(kernel-usb-classes-arosx_OBJDIR)/include/.arosx.usbclass-includes +else + kernel-usb-classes-arosx-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.arosx.usbclass-includes +endif + +$(kernel-usb-classes-arosx-includes_TARGETS) : $(kernel-usb-classes-arosx-includes_DEPS) $(kernel-usb-classes-arosx-includes_GENINCFLAG) + +$(kernel-usb-classes-arosx-includes_GENINCFLAG) : OPTS := $(kernel-usb-classes-arosx-includes_OPTS) +$(kernel-usb-classes-arosx-includes_GENINCFLAG) : MODNAME := arosx +$(kernel-usb-classes-arosx-includes_GENINCFLAG) : MODTYPE := usbclass +$(kernel-usb-classes-arosx-includes_GENINCFLAG) : $(kernel-usb-classes-arosx-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-usb-classes-arosx_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) : | $(kernel-usb-classes-arosx_OBJDIR)/arosx_geninc + +$(kernel-usb-classes-arosx_OBJDIR)/arosx_geninc : COPYSRCDIR := $(kernel-usb-classes-arosx_OBJDIR)/include +$(kernel-usb-classes-arosx_OBJDIR)/arosx_geninc : TGTDIR := $(GENINCDIR) +$(kernel-usb-classes-arosx_OBJDIR)/arosx_geninc : FILES := $($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES) +$(kernel-usb-classes-arosx_OBJDIR)/arosx_geninc : $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/include/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-usb-classes-arosx_OBJDIR)/include + +$(addprefix $(kernel-usb-classes-arosx_INCDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) : | $(kernel-usb-classes-arosx_OBJDIR)/arosx_incs + +$(kernel-usb-classes-arosx_OBJDIR)/arosx_incs : COPYSRCDIR := $(kernel-usb-classes-arosx_OBJDIR)/include +$(kernel-usb-classes-arosx_OBJDIR)/arosx_incs : TGTDIR := $(kernel-usb-classes-arosx_INCDIR) +$(kernel-usb-classes-arosx_OBJDIR)/arosx_incs : FILES := $($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES) +$(kernel-usb-classes-arosx_OBJDIR)/arosx_incs : $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/include/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-usb-classes-arosx_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)))) + +TMParosx_INCDIRS := \ + $(kernel-usb-classes-arosx_OBJDIR)/include $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/include/,$(kernel-usb-classes-arosx_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-usb-classes-arosx_INCDIRS)) \ + $(kernel-usb-classes-arosx_INCDIR) $(addprefix $(kernel-usb-classes-arosx_INCDIR)/,$(kernel-usb-classes-arosx_INCDIRS)) + +ifneq (kernel-usb-classes-arosx-includes-dirs,) +kernel-usb-classes-arosx-includes-dirs : | $(TMParosx_INCDIRS) +else +kernel-usb-classes-arosx-includes-dirs :: $(TMParosx_INCDIRS) +endif + +GLOB_MKDIRS += $(TMParosx_INCDIRS) + + +endif + +endif + + +kernel-usb-classes-arosx-genlibdefs_OPTS := +ifneq (,) + kernel-usb-classes-arosx-genlibdefs_OPTS += -f + kernel-usb-classes-arosx-genlibdefs_MODNAME := arosx_ +else + kernel-usb-classes-arosx-genlibdefs_MODNAME := arosx +endif +kernel-usb-classes-arosx-genlibdefs_TARGET := $(kernel-usb-classes-arosx-genlibdefs_MODNAME)_libdefs.h +kernel-usb-classes-arosx-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-genlibdefs_OPTS += -c + kernel-usb-classes-arosx-genlibdefs_DEPS += + endif +else + kernel-usb-classes-arosx-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + kernel-usb-classes-arosx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-genlibdefs_OPTS += -o + kernel-usb-classes-arosx-genlibdefs_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-arosx-genlibdefs_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-arosx_OBJDIR)/include,) + kernel-usb-classes-arosx-genlibdefs_OPTS += -d $(kernel-usb-classes-arosx_OBJDIR)/include + kernel-usb-classes-arosx-genlibdefs_TARGET := $(kernel-usb-classes-arosx_OBJDIR)/include/$(kernel-usb-classes-arosx-genlibdefs_TARGET) +endif +ifneq (,) + kernel-usb-classes-arosx-genlibdefs_OPTS += -v +endif + +$(kernel-usb-classes-arosx-genlibdefs_TARGET) : OPTS := $(kernel-usb-classes-arosx-genlibdefs_OPTS) +$(kernel-usb-classes-arosx-genlibdefs_TARGET) : MODNAME := arosx +$(kernel-usb-classes-arosx-genlibdefs_TARGET) : MODTYPE := usbclass +$(kernel-usb-classes-arosx-genlibdefs_TARGET) : $(kernel-usb-classes-arosx-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-usb-classes-arosx_DEFLIBDEFSINC) : FILENAME := $(kernel-usb-classes-arosx_LIBDEFSINC) +$(kernel-usb-classes-arosx_DEFLIBDEFSINC) : $(kernel-usb-classes-arosx_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-usb-classes-arosx_LIBDEFSINC) $(kernel-usb-classes-arosx_DEFLIBDEFSINC) : | $(kernel-usb-classes-arosx_OBJDIR)/include + +ifneq (kernel-usb-classes-arosx-includes-dirs,) +kernel-usb-classes-arosx-includes-dirs : | $(kernel-usb-classes-arosx_OBJDIR)/include +else +kernel-usb-classes-arosx-includes-dirs :: $(kernel-usb-classes-arosx_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-usb-classes-arosx-genmodfiles_OPTS := +ifneq (,) + kernel-usb-classes-arosx-genmodfiles_OPTS += -f + kernel-usb-classes-arosx-genmodfiles_MODNAME := arosx_ +else + kernel-usb-classes-arosx-genmodfiles_MODNAME := arosx +endif +kernel-usb-classes-arosx-genmodfiles_GENTARGETS := $($(kernel-usb-classes-arosx-genmodfiles_MODNAME)_STARTFILES) $($(kernel-usb-classes-arosx-genmodfiles_MODNAME)_ENDFILES) +kernel-usb-classes-arosx-genmodfiles_STUBTARGETS := $($(kernel-usb-classes-arosx-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-usb-classes-arosx-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-usb-classes-arosx-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-usb-classes-arosx-genmodfiles_GENTARGETS)) +kernel-usb-classes-arosx-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-usb-classes-arosx-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-usb-classes-arosx-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-usb-classes-arosx-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-usb-classes-arosx-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-genmodfiles_OPTS += -c + kernel-usb-classes-arosx-genmodfiles_DEPS += + endif +else + kernel-usb-classes-arosx-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + kernel-usb-classes-arosx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-arosx-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-arosx-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-arosx-genmodfiles_OPTS += -o + kernel-usb-classes-arosx-genmodfiles_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-arosx-genmodfiles_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-arosx_OBJDIR),) + kernel-usb-classes-arosx-genmodfiles_OPTS += -d $(kernel-usb-classes-arosx_OBJDIR) + kernel-usb-classes-arosx-genmodfiles_TARGETDIR := $(shell echo $(kernel-usb-classes-arosx_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-arosx-genmodfiles_GENTARGETS := $(addprefix $(kernel-usb-classes-arosx-genmodfiles_TARGETDIR)/,$(kernel-usb-classes-arosx-genmodfiles_GENTARGETS)) + kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG=$(kernel-usb-classes-arosx-genmodfiles_TARGETDIR)/.arosx.usbclass-genfiles +else + kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.arosx.usbclass-genfiles +endif +ifneq ($(kernel-usb-classes-arosx_OBJDIR)/linklib,) + kernel-usb-classes-arosx-genmodfiles_OPTS += -l $(kernel-usb-classes-arosx_OBJDIR)/linklib + kernel-usb-classes-arosx-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-usb-classes-arosx_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-arosx-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-classes-arosx-genmodfiles_STUBTARGETDIR)/,$(kernel-usb-classes-arosx-genmodfiles_STUBTARGETS)) + kernel-usb-classes-arosx-genmodfiles_TARGETDIRS += $(kernel-usb-classes-arosx_OBJDIR)/linklib +else +ifneq ($(kernel-usb-classes-arosx_OBJDIR),) + kernel-usb-classes-arosx-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-classes-arosx-genmodfiles_TARGETDIR)/,$(kernel-usb-classes-arosx-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-usb-classes-arosx-genmodfiles_TARGETS := $(kernel-usb-classes-arosx-genmodfiles_GENTARGETS) $(kernel-usb-classes-arosx-genmodfiles_STUBTARGETS) +ifneq ($(kernel-usb-classes-arosx-genmodfiles_TARGETDIRS),) +$(kernel-usb-classes-arosx-genmodfiles_TARGETS) : | $(kernel-usb-classes-arosx-genmodfiles_TARGETDIRS) +endif + +$(kernel-usb-classes-arosx-genmodfiles_TARGETS) : $(kernel-usb-classes-arosx-genmodfiles_DEPS) $(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG) + +$(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-usb-classes-arosx-genmodfiles_OPTS) +$(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG) : MODNAME := arosx +$(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG) : MODTYPE := usbclass +$(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG) : $(kernel-usb-classes-arosx-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG) : $(kernel-usb-classes-arosx_DEFLIBDEFSINC) $(kernel-usb-classes-arosx-makefile) + + +ifneq ($(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG),) +$(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG) : | $(kernel-usb-classes-arosx_OBJDIR)/linklib +else +$(kernel-usb-classes-arosx-genmodfiles_GENFILEFLAG) :: $(kernel-usb-classes-arosx_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx_OBJDIR)/linklib + + +ifeq (,M) +## Create FD file +ifeq (,) +kernel-usb-classes-arosx_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-usb-classes-arosx_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-usb-classes-arosx-fd : $(kernel-usb-classes-arosx_FDDIR)/arosx_lib.fd + + +TMP_TARGET := arosx_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/arosx.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/arosx.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (class,) + TMP_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-arosx_FDDIR),) + TMP_OPTS += -d $(kernel-usb-classes-arosx_FDDIR) + TMP_TARGET := $(kernel-usb-classes-arosx_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := arosx +$(TMP_TARGET) : MODTYPE := usbclass +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-usb-classes-arosx_FDDIR)/arosx_lib.fd : | $(kernel-usb-classes-arosx_FDDIR) + + +ifneq (kernel-usb-classes-arosx-fd-setup,) +kernel-usb-classes-arosx-fd-setup : | $(kernel-usb-classes-arosx_FDDIR) +else +kernel-usb-classes-arosx-fd-setup :: $(kernel-usb-classes-arosx_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx_FDDIR) + +endif + +## Compilation +## +kernel-usb-classes-arosx_FILES := $(FILES) +kernel-usb-classes-arosx_OBJCFILES := +kernel-usb-classes-arosx_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-usb-classes-arosx_LIBFILES := +kernel-usb-classes-arosx_LIBS := + +kernel-usb-classes-arosx_FDIRS := $(sort $(dir $(kernel-usb-classes-arosx_FILES))) + +kernel-usb-classes-arosx_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-usb-classes-arosx_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-usb-classes-arosx_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-usb-classes-arosx_FILTERARCH = $(filter-out $(call kernel-usb-classes-arosx_MATCHARCH,$(1),$(2)),$(2)) +kernel-usb-classes-arosx_STARTFILES := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_STARTFILES)) +kernel-usb-classes-arosx_ENDFILES := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_ENDFILES)) + +kernel-usb-classes-arosx_ARCHOBJS := $(wildcard $(kernel-usb-classes-arosx_OBJDIR)/arch/*.o) +kernel-usb-classes-arosx_LIBARCHOBJS := $(wildcard $(kernel-usb-classes-arosx_OBJDIR)/linklib/arch/*.o) +kernel-usb-classes-arosx_ARCHFILES := $(basename $(notdir $(kernel-usb-classes-arosx_ARCHOBJS))) +kernel-usb-classes-arosx_LIBARCHFILES := $(basename $(notdir $(kernel-usb-classes-arosx_LIBARCHOBJS))) +kernel-usb-classes-arosx_C_NARCHFILES := $(call kernel-usb-classes-arosx_FILTERARCH,$(kernel-usb-classes-arosx_ARCHFILES),$(kernel-usb-classes-arosx_FILES)) +kernel-usb-classes-arosx_CXX_NARCHFILES := $(call kernel-usb-classes-arosx_FILTERARCH,$(kernel-usb-classes-arosx_ARCHFILES),$(kernel-usb-classes-arosx_CXXFILES)) +kernel-usb-classes-arosx_OBJC_NARCHFILES := $(call kernel-usb-classes-arosx_FILTERARCH,$(kernel-usb-classes-arosx_ARCHFILES),$(kernel-usb-classes-arosx_OBJCFILES)) +kernel-usb-classes-arosx_NLIBARCHFILES := $(call kernel-usb-classes-arosx_FILTERARCH,$(kernel-usb-classes-arosx_LIBARCHFILES),$(kernel-usb-classes-arosx_LIBFILES)) +kernel-usb-classes-arosx_ARCHNLIBFILES := $(call kernel-usb-classes-arosx_FILTERARCH,$(kernel-usb-classes-arosx_LIBFILES),$(kernel-usb-classes-arosx_LIBARCHFILES)) + +kernel-usb-classes-arosx_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-usb-classes-arosx_OBJDIR)/include -include $(kernel-usb-classes-arosx_DEFLIBDEFSINC)) +ifneq (,) +kernel-usb-classes-arosx_CPPFLAGS += -I +endif +kernel-usb-classes-arosx_LINKLIBCPPFLAGS := $(kernel-usb-classes-arosx_CPPFLAGS) +kernel-usb-classes-arosx_CPPFLAGS += $(strip $($(kernel-usb-classes-arosx_DEFNAME)_CPPFLAGS)) +kernel-usb-classes-arosx_LINKLIBCPPFLAGS += $(strip $($(kernel-usb-classes-arosx_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-usb-classes-arosx_CFLAGS := $(strip $(CFLAGS) $($(kernel-usb-classes-arosx_DEFNAME)_CFLAGS)) +kernel-usb-classes-arosx_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-usb-classes-arosx_DEFNAME)_LINKLIBCFLAGS)) +kernel-usb-classes-arosx_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-usb-classes-arosx_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-classes-arosx_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-usb-classes-arosx_CFLAGS := $(strip $(kernel-usb-classes-arosx_LTOFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +kernel-usb-classes-arosx_LINKLIBCFLAGS := $(strip $(kernel-usb-classes-arosx_LTOFLAGS) $(kernel-usb-classes-arosx_LINKLIBCFLAGS)) +kernel-usb-classes-arosx_CXXFLAGS := $(strip $(kernel-usb-classes-arosx_LTOFLAGS) $(kernel-usb-classes-arosx_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-classes-arosx_SUBSTNULL := +kernel-usb-classes-arosx_SUBSTSPACE := $(kernel-usb-classes-arosx_SUBSTNULL) # +kernel-usb-classes-arosx_SUBSTCOMMA := , +kernel-usb-classes-arosx_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-usb-classes-arosx_SUBSTSPACE),$(kernel-usb-classes-arosx_SUBSTCOMMA),$(strip $($(kernel-usb-classes-arosx_DEFNAME)_STARTFILES)))) +kernel-usb-classes-arosx_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-usb-classes-arosx_CFLAGS := $(strip $(kernel-usb-classes-arosx_INSTRFUNCFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +kernel-usb-classes-arosx_CXXFLAGS := $(strip $(kernel-usb-classes-arosx_INSTRFUNCFLAGS) $(kernel-usb-classes-arosx_CXXFLAGS)) +kernel-usb-classes-arosx_LIBS += $(kernel-usb-classes-arosx_INSTRFUNCLIBS) +endif +endif +kernel-usb-classes-arosx_DFLAGS := $(strip $(kernel-usb-classes-arosx_DFLAGS) $($(kernel-usb-classes-arosx_DEFNAME)_DFLAGS)) +kernel-usb-classes-arosx_LINKLIBDFLAGS := $(strip $(kernel-usb-classes-arosx_DFLAGS) $($(kernel-usb-classes-arosx_DEFNAME)_LINKLIBDFLAGS)) +kernel-usb-classes-arosx_DXXFLAGS := $(strip $(kernel-usb-classes-arosx_DXXFLAGS) $($(kernel-usb-classes-arosx_DEFNAME)_DXXFLAGS)) + +ifeq (usbclass,library) + kernel-usb-classes-arosx_LIBSUFFIX := +else + kernel-usb-classes-arosx_LIBSUFFIX := .usbclass +endif + +ifeq (,) +kernel-usb-classes-arosx_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-usb-classes-arosx_LIBDIR := +endif + +ifeq (,M) +kernel-usb-classes-arosx_LINKLIBCFILES := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$($(kernel-usb-classes-arosx_DEFNAME)_LINKLIBFILES)) +kernel-usb-classes-arosx_LINKLIBAFILES := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$($(kernel-usb-classes-arosx_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-classes-arosx_DEFNAME)_LINKLIBFILES) $($(kernel-usb-classes-arosx_DEFNAME)_LINKLIBAFILES) $(kernel-usb-classes-arosx_ARCHNLIBFILES)),) + kernel-usb-classes-arosx_LINKLIB := +else + kernel-usb-classes-arosx_LINKLIB := $(kernel-usb-classes-arosx_LIBDIR)/libarosx$(kernel-usb-classes-arosx_LIBSUFFIX).a + ifneq (arosx,$(kernel-usb-classes-arosx_LINKLIBNAME)) + kernel-usb-classes-arosx_LINKLIB += $(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)$(kernel-usb-classes-arosx_LIBSUFFIX).a + endif +endif +kernel-usb-classes-arosx_LINKLIBFILES := $(kernel-usb-classes-arosx_LINKLIBCFILES) $(kernel-usb-classes-arosx_LINKLIBAFILES) + +kernel-usb-classes-arosx_RELLINKLIBCFILES := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$($(kernel-usb-classes-arosx_DEFNAME)_RELLINKLIBFILES)) +kernel-usb-classes-arosx_RELLINKLIBAFILES := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$($(kernel-usb-classes-arosx_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-classes-arosx_DEFNAME)_RELLINKLIBFILES) $($(kernel-usb-classes-arosx_DEFNAME)_RELLINKLIBAFILES) $(kernel-usb-classes-arosx_ARCHNLIBFILES)),) + kernel-usb-classes-arosx_RELLINKLIB := +else + kernel-usb-classes-arosx_RELLINKLIB := $(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_DEFNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a + ifneq (arosx,$(kernel-usb-classes-arosx_LINKLIBNAME)) + kernel-usb-classes-arosx_RELLINKLIB += $(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a + endif +endif +kernel-usb-classes-arosx_RELLINKLIBFILES := $(kernel-usb-classes-arosx_RELLINKLIBCFILES) $(kernel-usb-classes-arosx_RELLINKLIBAFILES) +endif + +kernel-usb-classes-arosx_ENDOBJS := $(addsuffix .o,$(kernel-usb-classes-arosx_ENDFILES)) +kernel-usb-classes-arosx_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx_NLIBARCHFILES))) $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-classes-arosx_ARCHNLIBFILES))) $(kernel-usb-classes-arosx_LINKLIBFILES)) \ + +kernel-usb-classes-arosx_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx_NLIBARCHFILES))) $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-classes-arosx_ARCHNLIBFILES))) $(kernel-usb-classes-arosx_RELLINKLIBFILES)) \ + +$(kernel-usb-classes-arosx_LINKLIBFILES) $(kernel-usb-classes-arosx_RELLINKLIBFILES) : | $(kernel-usb-classes-arosx_OBJDIR)/linklib +$(kernel-usb-classes-arosx_LINKLIBOBJS) $(kernel-usb-classes-arosx_RELLINKLIBOBJS) : | $(kernel-usb-classes-arosx_OBJDIR)/linklib + +kernel-usb-classes-arosx_CCFILES := $(kernel-usb-classes-arosx_C_NARCHFILES) +kernel-usb-classes-arosx_TARGETCCFILES := $(strip $(kernel-usb-classes-arosx_STARTFILES) $(kernel-usb-classes-arosx_ENDFILES)) +kernel-usb-classes-arosx_LINKLIBCCFILES := $(strip $(kernel-usb-classes-arosx_NLIBARCHFILES) $(kernel-usb-classes-arosx_LINKLIBCFILES) $(kernel-usb-classes-arosx_RELLINKLIBCFILES)) +kernel-usb-classes-arosx_LINKLIBCCGENFILES := $(strip $(kernel-usb-classes-arosx_LINKLIBCFILES) $(kernel-usb-classes-arosx_RELLINKLIBCFILES)) + + +kernel-usb-classes-arosx_CXXABSBASENAMES := $(foreach kernel-usb-classes-arosx_CXXBASE,$(kernel-usb-classes-arosx_CXX_NARCHFILES),$(if $(filter /%,$(kernel-usb-classes-arosx_CXXBASE)),$(kernel-usb-classes-arosx_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-usb-classes-arosx_CXXBASE)))) + +ifneq ($(kernel-usb-classes-arosx_CXXABSBASENAMES),) + +kernel-usb-classes-arosx_CXXBASENAMES := $(basename $(kernel-usb-classes-arosx_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-usb-classes-arosx_MCXX_FILES := $(strip $(foreach kernel-usb-classes-arosx_CXXBASE,$(kernel-usb-classes-arosx_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-usb-classes-arosx_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-usb-classes-arosx_EXT),$(kernel-usb-classes-arosx_CXXBASE))))))) + +ifeq (,) +kernel-usb-classes-arosx_MCXX_SRCWILDCARD := % +else +kernel-usb-classes-arosx_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx_OBJDIR),) + kernel-usb-classes-arosx_CXXTARGETS := $(notdir $(kernel-usb-classes-arosx_CXXBASENAMES:=.o)) + kernel-usb-classes-arosx_CXXDTARGETS := $(notdir $(kernel-usb-classes-arosx_CXXBASENAMES:=.d)) + kernel-usb-classes-arosx_MCXX_WILDCARD := % +else + kernel-usb-classes-arosx_CXXTARGETS := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx_CXXBASENAMES:=.o))) + kernel-usb-classes-arosx_CXXDTARGETS := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx_CXXBASENAMES:=.d))) + kernel-usb-classes-arosx_MCXX_WILDCARD := $(kernel-usb-classes-arosx_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-usb-classes-arosx_CXXTARGETS) $(kernel-usb-classes-arosx_CXXDTARGETS) : | $(kernel-usb-classes-arosx_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-usb-classes-arosx_MCXX_CPPFLAGS := $(kernel-usb-classes-arosx_CPPFLAGS) +kernel-usb-classes-arosx_CXXFLAGS := $(kernel-usb-classes-arosx_CXXFLAGS) +ifeq ($(kernel-usb-classes-arosx_DXXFLAGS),) + kernel-usb-classes-arosx_DXXFLAGS := $(kernel-usb-classes-arosx_CXXFLAGS) +else + kernel-usb-classes-arosx_DXXFLAGS := $(kernel-usb-classes-arosx_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-usb-classes-arosx_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-usb-classes-arosx_STRIP ?= $(HOST_STRIP) + kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-usb-classes-arosx_CXXCMD:=$(HOST_CXX) + kernel-usb-classes-arosx_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-arosx_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-classes-arosx_CXXFLAGS)) + kernel-usb-classes-arosx_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-classes-arosx_DXXFLAGS)) + kernel-usb-classes-arosx_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-usb-classes-arosx_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-usb-classes-arosx_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-classes-arosx_STRIP ?= $(TARGET_STRIP) + kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-usb-classes-arosx_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-usb-classes-arosx_MCXX_CPPFLAGS := $(strip $(kernel-usb-classes-arosx_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-arosx_CXXFLAGS := $(strip $(kernel-usb-classes-arosx_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-usb-classes-arosx_DXXFLAGS := $(kernel-usb-classes-arosx_DXXFLAGS) + kernel-usb-classes-arosx_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-usb-classes-arosx_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-usb-classes-arosx_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-classes-arosx_STRIP ?= $(ECHO) >/dev/null + kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-usb-classes-arosx_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-usb-classes-arosx_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx_MCXX_CPPFLAGS) $(kernel-usb-classes-arosx_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-arosx_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-classes-arosx_CXXFLAGS)) + kernel-usb-classes-arosx_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-classes-arosx_DXXFLAGS)) + kernel-usb-classes-arosx_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-usb-classes-arosx_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-usb-classes-arosx_CXXCMD) $(kernel-usb-classes-arosx_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-arosx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_CXXIQUOTE) . $(kernel-usb-classes-arosx_CXXIQUOTE_END) $(strip $(kernel-usb-classes-arosx_CXXFLAGS) $(kernel-usb-classes-arosx_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-usb-classes-arosx_CXXCMD) $(kernel-usb-classes-arosx_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-arosx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_CXXIQUOTE) . $(kernel-usb-classes-arosx_CXXIQUOTE_END) $(strip $(kernel-usb-classes-arosx_CXXFLAGS) $(kernel-usb-classes-arosx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-usb-classes-arosx_CXXCMD) $(kernel-usb-classes-arosx_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-arosx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_CXXIQUOTE) . $(kernel-usb-classes-arosx_CXXIQUOTE_END) $(strip $(kernel-usb-classes-arosx_CXXFLAGS) $(kernel-usb-classes-arosx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-usb-classes-arosx_CXXCMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx_DXXFLAGS) $(kernel-usb-classes-arosx_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-usb-classes-arosx_OBJDIR),) + $(foreach kernel-usb-classes-arosx_CXXFILE,$(kernel-usb-classes-arosx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-usb-classes-arosx_CXXFILE))),$(kernel-usb-classes-arosx_CXXFILE)))) +else + $(foreach kernel-usb-classes-arosx_CXXFILE,$(kernel-usb-classes-arosx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(basename $(kernel-usb-classes-arosx_CXXFILE)))),$(kernel-usb-classes-arosx_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-usb-classes-arosx_OBJC_NARCHFILES),) + +ifeq (,) +kernel-usb-classes-arosx_MOBJC_SRCWILDCARD := % +else +kernel-usb-classes-arosx_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx_OBJDIR),) + kernel-usb-classes-arosx_MOBJC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx_OBJC_NARCHFILES)) + kernel-usb-classes-arosx_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx_OBJC_NARCHFILES)) + kernel-usb-classes-arosx_MOBJC_WILDCARD := % +else + kernel-usb-classes-arosx_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(kernel-usb-classes-arosx_OBJC_NARCHFILES))) + kernel-usb-classes-arosx_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(kernel-usb-classes-arosx_OBJC_NARCHFILES))) + kernel-usb-classes-arosx_MOBJC_WILDCARD := $(kernel-usb-classes-arosx_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-usb-classes-arosx_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-usb-classes-arosx_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-arosx_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-usb-classes-arosx_MOBJC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-usb-classes-arosx_MOBJC_DIRS),) + kernel-usb-classes-arosx_MOBJC_DIRS := $(shell echo $(kernel-usb-classes-arosx_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-usb-classes-arosx_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-usb-classes-arosx_CC := $(TARGET_CC) +else + kernel-usb-classes-arosx_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-usb-classes-arosx_MOBJC_CPPFLAGS := $(kernel-usb-classes-arosx_CPPFLAGS) +kernel-usb-classes-arosx_OBJCFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +kernel-usb-classes-arosx_OBJCFLAGS := $(kernel-usb-classes-arosx_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-usb-classes-arosx_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-usb-classes-arosx_OBJCFLAGS))) +ifeq ($(kernel-usb-classes-arosx_DFLAGS),) + kernel-usb-classes-arosx_OBJCDFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +else + kernel-usb-classes-arosx_OBJCDFLAGS := $(kernel-usb-classes-arosx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-usb-classes-arosx_LINK ?= $(strip $(kernel-usb-classes-arosx_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-classes-arosx_STRIP ?= $(TARGET_STRIP) + kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-usb-classes-arosx_CC) $(TARGET_SYSROOT)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_MOBJC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_OBJCFLAGS:=$(strip $(kernel-usb-classes-arosx_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_OBJCDFLAGS:=$(kernel-usb-classes-arosx_OBJCDFLAGS) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-usb-classes-arosx_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-usb-classes-arosx_STRIP ?= $(HOST_STRIP) + kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_OBJCFLAGS)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_OBJCDFLAGS)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(HOST_IQUOTE) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-usb-classes-arosx_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-classes-arosx_STRIP ?= $(ECHO) >/dev/null + kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx_MOBJC_CPPFLAGS) $(kernel-usb-classes-arosx_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_OBJCFLAGS)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_OBJCDFLAGS)) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-usb-classes-arosx_MOBJC_TARGETS) $(kernel-usb-classes-arosx_MOBJC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx_MOBJC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx_MOBJC_CPPFLAGS) +$(kernel-usb-classes-arosx_MOBJC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx_OBJCFLAGS) +$(kernel-usb-classes-arosx_MOBJC_TARGETS) : $(kernel-usb-classes-arosx_MOBJC_WILDCARD).o : $(kernel-usb-classes-arosx_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx_MOBJC_DTARGETS) : $(kernel-usb-classes-arosx_MOBJC_WILDCARD).d : $(kernel-usb-classes-arosx_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx_OBJCDFLAGS) $(kernel-usb-classes-arosx_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-usb-classes-arosx_MC_SRCWILDCARD := % +else +kernel-usb-classes-arosx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx_OBJDIR),) +kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx_CCFILES)) +kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx_CCFILES)) +kernel-usb-classes-arosx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx_CCFILES)))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx_CCFILES)))) +else +ifeq (,) + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(kernel-usb-classes-arosx_CCFILES))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(kernel-usb-classes-arosx_CCFILES))) +else + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-arosx_CCFILES)))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-arosx_CCFILES)))) +endif +endif +kernel-usb-classes-arosx_MC_TGTWILDCARD := $(kernel-usb-classes-arosx_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-arosx_CCFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx_MC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx_MC_DIRS),) + kernel-usb-classes-arosx_MC_DIRS := $(shell echo $(kernel-usb-classes-arosx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-arosx_MC_DIRS) +endif + +endif + +kernel-usb-classes-arosx_MC_CPPFLAGS := $(kernel-usb-classes-arosx_CPPFLAGS) +kernel-usb-classes-arosx_CFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +ifeq ($(kernel-usb-classes-arosx_DFLAGS),) + kernel-usb-classes-arosx_DFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +else + kernel-usb-classes-arosx_DFLAGS := $(kernel-usb-classes-arosx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-arosx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(kernel-usb-classes-arosx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(kernel-usb-classes-arosx_DFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-arosx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_DFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_DFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx_MC_CPPFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) : $(kernel-usb-classes-arosx_MC_TGTWILDCARD).o : $(kernel-usb-classes-arosx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx_MC_DTARGETS) : $(kernel-usb-classes-arosx_MC_TGTWILDCARD).d : $(kernel-usb-classes-arosx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx_DFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-classes-arosx_MC_SRCWILDCARD := % +else +kernel-usb-classes-arosx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx_OBJDIR),) +kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx_TARGETCCFILES)) +kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx_TARGETCCFILES)) +kernel-usb-classes-arosx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx_TARGETCCFILES)))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx_TARGETCCFILES)))) +else +ifeq (,) + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(kernel-usb-classes-arosx_TARGETCCFILES))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(kernel-usb-classes-arosx_TARGETCCFILES))) +else + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-arosx_TARGETCCFILES)))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-arosx_TARGETCCFILES)))) +endif +endif +kernel-usb-classes-arosx_MC_TGTWILDCARD := $(kernel-usb-classes-arosx_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-arosx_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx_MC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx_MC_DIRS),) + kernel-usb-classes-arosx_MC_DIRS := $(shell echo $(kernel-usb-classes-arosx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-arosx_MC_DIRS) +endif + +endif + +kernel-usb-classes-arosx_MC_CPPFLAGS := $(kernel-usb-classes-arosx_CPPFLAGS) -D__AROS__ +kernel-usb-classes-arosx_CFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +ifeq ($(kernel-usb-classes-arosx_DFLAGS),) + kernel-usb-classes-arosx_DFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +else + kernel-usb-classes-arosx_DFLAGS := $(kernel-usb-classes-arosx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-arosx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(kernel-usb-classes-arosx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(kernel-usb-classes-arosx_DFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-arosx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_DFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_DFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx_MC_CPPFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) : $(kernel-usb-classes-arosx_MC_TGTWILDCARD).o : $(kernel-usb-classes-arosx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx_MC_DTARGETS) : $(kernel-usb-classes-arosx_MC_TGTWILDCARD).d : $(kernel-usb-classes-arosx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx_DFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-classes-arosx_MC_SRCWILDCARD := % +else +kernel-usb-classes-arosx_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-arosx_OBJDIR)/linklib,) +kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx_NLIBARCHFILES)) +kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx_NLIBARCHFILES)) +kernel-usb-classes-arosx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx_NLIBARCHFILES)))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx_NLIBARCHFILES)))) +else +ifeq (,) + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(kernel-usb-classes-arosx_NLIBARCHFILES))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(kernel-usb-classes-arosx_NLIBARCHFILES))) +else + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-classes-arosx_NLIBARCHFILES)))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-classes-arosx_NLIBARCHFILES)))) +endif +endif +kernel-usb-classes-arosx_MC_TGTWILDCARD := $(kernel-usb-classes-arosx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-arosx_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx_MC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx_MC_DIRS),) + kernel-usb-classes-arosx_MC_DIRS := $(shell echo $(kernel-usb-classes-arosx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-arosx_MC_DIRS) +endif + +endif + +kernel-usb-classes-arosx_MC_CPPFLAGS := $(kernel-usb-classes-arosx_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-classes-arosx_CFLAGS := $(kernel-usb-classes-arosx_LINKLIBCFLAGS) +ifeq ($(kernel-usb-classes-arosx_LINKLIBDFLAGS),) + kernel-usb-classes-arosx_DFLAGS := $(kernel-usb-classes-arosx_LINKLIBCFLAGS) +else + kernel-usb-classes-arosx_DFLAGS := $(kernel-usb-classes-arosx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-arosx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(kernel-usb-classes-arosx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(kernel-usb-classes-arosx_DFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-arosx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_DFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_DFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx_MC_CPPFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) : $(kernel-usb-classes-arosx_MC_TGTWILDCARD).o : $(kernel-usb-classes-arosx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx_MC_DTARGETS) : $(kernel-usb-classes-arosx_MC_TGTWILDCARD).d : $(kernel-usb-classes-arosx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx_DFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-usb-classes-arosx_OBJDIR)/linklib,) +kernel-usb-classes-arosx_MC_SRCWILDCARD := % +else +kernel-usb-classes-arosx_MC_SRCWILDCARD := $(kernel-usb-classes-arosx_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-usb-classes-arosx_OBJDIR)/linklib,) +kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx_LINKLIBCCGENFILES)) +kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-arosx_LINKLIBCCGENFILES)) +kernel-usb-classes-arosx_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx_LINKLIBCCGENFILES)))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-usb-classes-arosx_OBJDIR)/linklib,) + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(kernel-usb-classes-arosx_LINKLIBCCGENFILES))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(kernel-usb-classes-arosx_LINKLIBCCGENFILES))) +else + kernel-usb-classes-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(patsubst $(kernel-usb-classes-arosx_OBJDIR)/linklib/%,%,$(kernel-usb-classes-arosx_LINKLIBCCGENFILES)))) + kernel-usb-classes-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(patsubst $(kernel-usb-classes-arosx_OBJDIR)/linklib/%,%,$(kernel-usb-classes-arosx_LINKLIBCCGENFILES)))) +endif +endif +kernel-usb-classes-arosx_MC_TGTWILDCARD := $(kernel-usb-classes-arosx_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-arosx_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx_MC_DIRS := $(foreach dir, $(kernel-usb-classes-arosx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx_MC_DIRS),) + kernel-usb-classes-arosx_MC_DIRS := $(shell echo $(kernel-usb-classes-arosx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-arosx_MC_DIRS) +endif + +endif + +kernel-usb-classes-arosx_MC_CPPFLAGS := $(kernel-usb-classes-arosx_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-classes-arosx_CFLAGS := $(kernel-usb-classes-arosx_LINKLIBCFLAGS) +ifeq ($(kernel-usb-classes-arosx_LINKLIBDFLAGS),) + kernel-usb-classes-arosx_DFLAGS := $(kernel-usb-classes-arosx_LINKLIBCFLAGS) +else + kernel-usb-classes-arosx_DFLAGS := $(kernel-usb-classes-arosx_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-arosx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(kernel-usb-classes-arosx_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(kernel-usb-classes-arosx_DFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-arosx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-arosx_DFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-arosx_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS) $(kernel-usb-classes-arosx_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_CFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-arosx_DFLAGS)) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-arosx_MC_TARGETS) $(kernel-usb-classes-arosx_MC_DTARGETS) : kernel-usb-classes-arosx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-arosx_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-arosx_MC_CPPFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-arosx_CFLAGS) +$(kernel-usb-classes-arosx_MC_TARGETS) : $(kernel-usb-classes-arosx_MC_TGTWILDCARD).o : $(kernel-usb-classes-arosx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-arosx_IQUOTE) $(dir $<) $(kernel-usb-classes-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-arosx_IQUOTE) . $(kernel-usb-classes-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-arosx_MC_DTARGETS) : $(kernel-usb-classes-arosx_MC_TGTWILDCARD).d : $(kernel-usb-classes-arosx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-arosx_DFLAGS) $(kernel-usb-classes-arosx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-usb-classes-arosx_LINKLIBAFILES),) + +ifeq ($(kernel-usb-classes-arosx_OBJDIR)/linklib,) +kernel-usb-classes-arosx-MA_TARGETS := $(addsuffix .o,$(kernel-usb-classes-arosx_LINKLIBAFILES) $(kernel-usb-classes-arosx_RELLINKLIBAFILES)) +kernel-usb-classes-arosx-MA_WILDCARD := % +else +kernel-usb-classes-arosx-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx_LINKLIBAFILES) $(kernel-usb-classes-arosx_RELLINKLIBAFILES)))) +kernel-usb-classes-arosx-MA_WILDCARD := $(kernel-usb-classes-arosx_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-usb-classes-arosx-MA_TARGETS) : | $(addsuffix .S,$(kernel-usb-classes-arosx_LINKLIBAFILES) $(kernel-usb-classes-arosx_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-arosx-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-arosx-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-arosx_LINKLIBAFILES) $(kernel-usb-classes-arosx_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-arosx-MA_DIRS := $(foreach dir, $(kernel-usb-classes-arosx-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-arosx-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-arosx-MA_DIRS),) + kernel-usb-classes-arosx-MA_DIRS := $(shell echo $(kernel-usb-classes-arosx-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-usb-classes-arosx-MA_DIRS) +endif + +endif + +kernel-usb-classes-arosx-MA_ASSEMBLER ?= $(kernel-usb-classes-arosx_ASSEMBLER) + +$(kernel-usb-classes-arosx-MA_TARGETS) : kernel-usb-classes-arosx-MA_CMD:= $(kernel-usb-classes-arosx-MA_ASSEMBLER) + +$(kernel-usb-classes-arosx-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-usb-classes-arosx-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-usb-classes-arosx-MA_TARGETS) : $(kernel-usb-classes-arosx-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-usb-classes-arosx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-usb-classes-arosx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-usb-classes-arosx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (class,) +kernel-usb-classes-arosx_SUFFIX := usbclass +else +kernel-usb-classes-arosx_SUFFIX := class +endif + +ifeq (target,target) +kernel-usb-classes-arosx_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-usb-classes-arosx_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-usb-classes-arosx_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-usb-classes-arosx_SUFFIX),handler) +kernel-usb-classes-arosx_MODULE := $(AROSDIR)/$(kernel-usb-classes-arosx_MODDIR)/$(kernel-usb-classes-arosx_DEFNAME)-$(kernel-usb-classes-arosx_SUFFIX) +else +kernel-usb-classes-arosx_MODULE := $(AROSDIR)/$(kernel-usb-classes-arosx_MODDIR)/$(kernel-usb-classes-arosx_DEFNAME).$(kernel-usb-classes-arosx_SUFFIX) +endif +kernel-usb-classes-arosx_KOBJ := $(KOBJSDIR)/$(kernel-usb-classes-arosx_DEFNAME)_$(kernel-usb-classes-arosx_SUFFIX).o +else +kernel-usb-classes-arosx_MODULE := +kernel-usb-classes-arosx_KOBJ := +endif + +kernel-usb-classes-arosx-quick : kernel-usb-classes-arosx +kernel-usb-classes-arosx : $(kernel-usb-classes-arosx_MODULE) $(kernel-usb-classes-arosx_LINKLIB) $(kernel-usb-classes-arosx_RELLINKLIB) +ifeq (M,M) +kernel-usb-classes-arosx-kobj : $(kernel-usb-classes-arosx_KOBJ) $(kernel-usb-classes-arosx_LINKLIB) $(kernel-usb-classes-arosx_RELLINKLIB) +kernel-usb-classes-arosx-kobj-quick : $(kernel-usb-classes-arosx_KOBJ) $(kernel-usb-classes-arosx_LINKLIB) $(kernel-usb-classes-arosx_RELLINKLIB) +endif +ifeq (,M) +kernel-usb-classes-arosx-linklib : $(kernel-usb-classes-arosx_LINKLIB) $(kernel-usb-classes-arosx_RELLINKLIB) +endif + +kernel-usb-classes-arosx_OBJS := $(addsuffix .o,$(kernel-usb-classes-arosx_STARTFILES)) $(kernel-usb-classes-arosx_ARCHOBJS) \ + $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx_C_NARCHFILES:=.o) $(kernel-usb-classes-arosx_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (usbclass,handler) +kernel-usb-classes-arosx_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (arosx,con) + kernel-usb-classes-arosx_ERR := $(notdir $(kernel-usb-classes-arosx_MODULE)).err +else + kernel-usb-classes-arosx_ERR := arosx.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-usb-classes-arosx_DEFNAME)_LDFLAGS) $(kernel-usb-classes-arosx_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-usb-classes-arosx_LIBS) $($(kernel-usb-classes-arosx_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-usb-classes-arosx_MODULE) : LIB_NAMES := $(kernel-usb-classes-arosx_LIBS) $($(kernel-usb-classes-arosx_DEFNAME)_LIBS) +$(kernel-usb-classes-arosx_MODULE) : OBJS := $(kernel-usb-classes-arosx_STARTOBJS) $(kernel-usb-classes-arosx_OBJS) $(USER_OBJS) +$(kernel-usb-classes-arosx_MODULE) : ENDTAG := $(kernel-usb-classes-arosx_ENDOBJS) +$(kernel-usb-classes-arosx_MODULE) : ERR := $(kernel-usb-classes-arosx_ERR) +$(kernel-usb-classes-arosx_MODULE) : OBJDIR := $(kernel-usb-classes-arosx_OBJDIR) +$(kernel-usb-classes-arosx_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-usb-classes-arosx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-usb-classes-arosx_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-usb-classes-arosx_MODULE) : $(kernel-usb-classes-arosx_STARTOBJS) $(kernel-usb-classes-arosx_OBJS) $(USER_OBJS) $(kernel-usb-classes-arosx_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-usb-classes-arosx_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-usb-classes-arosx_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (,M) +# Link static lib +kernel-usb-classes-arosx_LC_LINKLIBNAME := $(shell echo $(kernel-usb-classes-arosx_LINKLIBNAME) | tr A-Z a-z) +kernel-usb-classes-arosx_LC_MODNAME := $(shell echo arosx | tr A-Z a-z) +ifneq ($(kernel-usb-classes-arosx_LINKLIB),) + +ifeq (target,target) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(HOST_AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(KERNEL_AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)$(kernel-usb-classes-arosx_LIBSUFFIX).a : $(kernel-usb-classes-arosx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-arosx_AR) $@ $^ + $(Q)$(kernel-usb-classes-arosx_RANLIB) $@ +ifneq ($(kernel-usb-classes-arosx_LC_MODNAME),$(kernel-usb-classes-arosx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-classes-arosx_LIBDIR)/libarosx$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(AR) +$(kernel-usb-classes-arosx_LIBDIR)/libarosx$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-arosx_LIBDIR)/libarosx$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(HOST_AR) +$(kernel-usb-classes-arosx_LIBDIR)/libarosx$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-arosx_LIBDIR)/libarosx$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(KERNEL_AR) +$(kernel-usb-classes-arosx_LIBDIR)/libarosx$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-arosx_LIBDIR)/libarosx$(kernel-usb-classes-arosx_LIBSUFFIX).a : $(kernel-usb-classes-arosx_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-arosx_AR) $@ $^ + $(Q)$(kernel-usb-classes-arosx_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-classes-arosx_LINKLIB),) +$(kernel-usb-classes-arosx_LINKLIB) : | $(kernel-usb-classes-arosx_LIBDIR) +else +$(kernel-usb-classes-arosx_LINKLIB) :: $(kernel-usb-classes-arosx_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx_LIBDIR) + +endif + +ifneq ($(kernel-usb-classes-arosx_RELLINKLIB),) + +ifeq (target,target) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(HOST_AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(KERNEL_AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_LINKLIBNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : $(kernel-usb-classes-arosx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-arosx_AR) $@ $^ + $(Q)$(kernel-usb-classes-arosx_RANLIB) $@ +ifneq ($(kernel-usb-classes-arosx_LC_MODNAME),$(kernel-usb-classes-arosx_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_DEFNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_DEFNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_DEFNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(HOST_AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_DEFNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_DEFNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_AR:=$(KERNEL_AR) +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_DEFNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : kernel-usb-classes-arosx_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-arosx_LIBDIR)/lib$(kernel-usb-classes-arosx_DEFNAME)_rel$(kernel-usb-classes-arosx_LIBSUFFIX).a : $(kernel-usb-classes-arosx_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-arosx_AR) $@ $^ + $(Q)$(kernel-usb-classes-arosx_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-classes-arosx_RELLINKLIB),) +$(kernel-usb-classes-arosx_RELLINKLIB) : | $(kernel-usb-classes-arosx_LIBDIR) +else +$(kernel-usb-classes-arosx_RELLINKLIB) :: $(kernel-usb-classes-arosx_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-usb-classes-arosx_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-usb-classes-arosx_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-usb-classes-arosx_SYMBOLS := $(kernel-usb-classes-arosx_KBASE) + +kernel-usb-classes-arosx_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-usb-classes-arosx_KOBJ_LIBS := $(filter-out $(kernel-usb-classes-arosx_KLIB),$(kernel-usb-classes-arosx_LIBS)) $(kernel-usb-classes-arosx_KAUTOLIB) +$(kernel-usb-classes-arosx_KOBJ) : LINKLIBS:=$(kernel-usb-classes-arosx_KOBJ_LIBS) $($(kernel-usb-classes-arosx_DEFNAME)_LIBS) +$(kernel-usb-classes-arosx_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-usb-classes-arosx_SYMBOLS)) +$(kernel-usb-classes-arosx_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-usb-classes-arosx_KOBJ) : $(kernel-usb-classes-arosx_OBJS) $(USER_OBJS) $(kernel-usb-classes-arosx_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-usb-classes-arosx_DEPS := $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/,$(notdir $(kernel-usb-classes-arosx_CCFILES:=.d) $(kernel-usb-classes-arosx_TARGETCCFILES:=.d) $(kernel-usb-classes-arosx_CXXFILES:=.d))) $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-arosx_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-usb-classes-arosx_DEPS),) + ifneq (kernel-usb-classes-arosx kernel-usb-classes-arosx-quick kernel-usb-classes-arosx-kobj kernel-usb-classes-arosx-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-usb-classes-arosx kernel-usb-classes-arosx-quick kernel-usb-classes-arosx-kobj kernel-usb-classes-arosx-kobj-quick),) + -include $(kernel-usb-classes-arosx_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-usb-classes-arosx_DEPS) + endif + endif +endif + +$(kernel-usb-classes-arosx_OBJS) $(kernel-usb-classes-arosx_DEPS) : | $(kernel-usb-classes-arosx_OBJDIR)/linklib + +ifneq ($(kernel-usb-classes-arosx_OBJS) $(kernel-usb-classes-arosx_DEPS) $(kernel-usb-classes-arosx_MODULE) $(kernel-usb-classes-arosx_KOBJ),) +$(kernel-usb-classes-arosx_OBJS) $(kernel-usb-classes-arosx_DEPS) $(kernel-usb-classes-arosx_MODULE) $(kernel-usb-classes-arosx_KOBJ) : | $(kernel-usb-classes-arosx_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-arosx_MODDIR) $(KOBJSDIR) +else +$(kernel-usb-classes-arosx_OBJS) $(kernel-usb-classes-arosx_DEPS) $(kernel-usb-classes-arosx_MODULE) $(kernel-usb-classes-arosx_KOBJ) :: $(kernel-usb-classes-arosx_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-arosx_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-arosx_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-arosx_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-usb-classes-arosx kernel-usb-classes-arosx-includes kernel-usb-classes-arosx-quick kernel-usb-classes-arosx-kobj kernel-usb-classes-arosx-kobj-quick),) # Only for this target these deps are wanted + +kernel-usb-classes-arosx_DFILE_DEPS := $(kernel-usb-classes-arosx_LIBDEFSINC) $(kernel-usb-classes-arosx_DEFLIBDEFSINC) \ + $(addprefix $(kernel-usb-classes-arosx_INCDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) +$(kernel-usb-classes-arosx_DEPS) : $(kernel-usb-classes-arosx_DFILE_DEPS) +endif + +kernel-usb-classes-arosx_TOCLEAN := $(kernel-usb-classes-arosx_OBJS) $(kernel-usb-classes-arosx_DEPS) \ + $(kernel-usb-classes-arosx_MODULE) $(kernel-usb-classes-arosx_LINKLIB) $(kernel-usb-classes-arosx_KOBJ) \ + $(kernel-usb-classes-arosx_OBJDIR)/Makefile.arosxusbclass \ + $(addprefix $(kernel-usb-classes-arosx_OBJDIR)/include/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-classes-arosx_INCDIR)/,$($(kernel-usb-classes-arosx_DEFNAME)_INCLUDES)) \ + $(kernel-usb-classes-arosx_OBJDIR)/arosx_geninc $(kernel-usb-classes-arosx_OBJDIR)/arosx_incs \ + $(addsuffix .c,$(kernel-usb-classes-arosx_LINKLIBFILES)) $(kernel-usb-classes-arosx_LINKLIBOBJS) $(kernel-usb-classes-arosx_LIBDEFSINC) \ + $(kernel-usb-classes-arosx_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-usb-classes-arosx_STARTFILES) $(kernel-usb-classes-arosx_ENDFILES)) \ + $(kernel-usb-classes-arosx_ENDOBJS) +kernel-usb-classes-arosx-clean : FILES := $(kernel-usb-classes-arosx_TOCLEAN) +kernel-usb-classes-arosx-clean :: + $(Q)$(ECHO) "Cleaning up for module arosx" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-usb-classes-arosx_ALLTARGETS) + + +TARGETDIR := $(AROS_TESTS)/arosx + + +.PHONY : test-library-arosx + +test-library-arosx_PROGNAME := arosx_test +test-library-arosx_OBJDIR := $(GENDIR)/$(CURDIR) +test-library-arosx_TARGETDIR := $(TARGETDIR) +test-library-arosx_LINKER := +test-library-arosx_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(test-library-arosx_LINKER),) + test-library-arosx_LINKER := target +endif + +ifneq ("$(strip )","") + test-library-arosx_FILES := + test-library-arosx_OBJCFILES := + test-library-arosx_ASMFILES := + test-library-arosx_CXXFILES := +else + test-library-arosx_FILES := $(test-library-arosx_PROGNAME) + test-library-arosx_OBJCFILES := + test-library-arosx_ASMFILES := + test-library-arosx_CXXFILES := +endif + +test-library-arosx_ARCHOBJS := $(wildcard $(test-library-arosx_OBJDIR)/arch/*.o) +test-library-arosx_ARCHFILES := $(basename $(notdir $(test-library-arosx_ARCHOBJS))) +test-library-arosx_C_NARCHFILES := $(filter-out $(test-library-arosx_ARCHFILES),$(test-library-arosx_FILES)) +test-library-arosx_CXX_NARCHFILES := $(filter-out $(test-library-arosx_ARCHFILES),$(test-library-arosx_CXXFILES)) +test-library-arosx_OBJC_NARCHFILES := $(filter-out $(test-library-arosx_ARCHFILES),$(test-library-arosx_OBJCFILES)) + +TMP_FILES := $(test-library-arosx_C_NARCHFILES) $(test-library-arosx_CXX_NARCHFILES) $(test-library-arosx_ASMFILES) $(test-library-arosx_OBJC_NARCHFILES) +test-library-arosx_OBJS := $(addsuffix .o,$(addprefix $(test-library-arosx_OBJDIR)/,$(notdir $(TMP_FILES)))) +test-library-arosx_DEPS := $(addsuffix .d,$(addprefix $(test-library-arosx_OBJDIR)/,$(notdir $(TMP_FILES)))) + +test-library-arosx_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +test-library-arosx_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +test-library-arosx_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +test-library-arosx_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +test-library-arosx_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +test-library-arosx_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-arosx_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +test-library-arosx_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +test-library-arosx_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +test-library-arosx_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +test-library-arosx_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +test-library-arosx_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +test-library-arosx_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +test-library-arosx_LDFLAGS := +endif + +test-library-arosx_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +test-library-arosx_COVERAGE := yes +test-library-arosx_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +test-library-arosx_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +test-library-arosx_CFLAGS := $(strip $(test-library-arosx_COVERAGEFLAGS) $(test-library-arosx_CFLAGS)) +test-library-arosx_CXXFLAGS := $(strip $(test-library-arosx_COVERAGEFLAGS) $(test-library-arosx_CXXFLAGS)) +test-library-arosx_LIBS += $(test-library-arosx_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +test-library-arosx_FUNCINSTR := yes +test-library-arosx_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +test-library-arosx_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +test-library-arosx_CFLAGS := $(strip $(test-library-arosx_INSTRFUNCFLAGS) $(test-library-arosx_CFLAGS)) +test-library-arosx_CXXFLAGS := $(strip $(test-library-arosx_INSTRFUNCFLAGS) $(test-library-arosx_CXXFLAGS)) +test-library-arosx_LIBS += $(test-library-arosx_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +test-library-arosx_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-arosx_CFLAGS)) +test-library-arosx_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(test-library-arosx_CXXFLAGS)) +endif +endif +test-library-arosx_AFLAGS := $(AFLAGS) +ifneq (,) + test-library-arosx_DFLAGS := +else + test-library-arosx_DFLAGS := $(test-library-arosx_CFLAGS) +endif +ifneq (,) + test-library-arosx_DXXFLAGS := +else + test-library-arosx_DXXFLAGS := $(test-library-arosx_CXXFLAGS) +endif +ifeq (target,target) +test-library-arosx_LDFLAGS := $(test-library-arosx_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +test-library-arosx_LDFLAGS := $(test-library-arosx_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +test-library-arosx_LDFLAGS := $(test-library-arosx_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +test-library-arosx_LDFLAGS += -L +endif + +#MM +test-library-arosx-quick : test-library-arosx + +#MM test-library-arosx : includes-generate-deps core-linklibs +test-library-arosx : $(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) + +ifneq ($(filter $(TARGET),test-library-arosx test-library-arosx-quick test-library-arosx-gz-quick),) + +test-library-arosx_CXXABSBASENAMES := $(foreach test-library-arosx_CXXBASE,$(test-library-arosx_CXX_NARCHFILES),$(if $(filter /%,$(test-library-arosx_CXXBASE)),$(test-library-arosx_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(test-library-arosx_CXXBASE)))) + +ifneq ($(test-library-arosx_CXXABSBASENAMES),) + +test-library-arosx_CXXBASENAMES := $(basename $(test-library-arosx_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +test-library-arosx_MCXX_FILES := $(strip $(foreach test-library-arosx_CXXBASE,$(test-library-arosx_CXXABSBASENAMES), $(firstword $(wildcard $(foreach test-library-arosx_EXT, $(AROS_CXXEXTS),$(addsuffix .$(test-library-arosx_EXT),$(test-library-arosx_CXXBASE))))))) + +ifeq (,) +test-library-arosx_MCXX_SRCWILDCARD := % +else +test-library-arosx_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(test-library-arosx_OBJDIR),) + test-library-arosx_CXXTARGETS := $(notdir $(test-library-arosx_CXXBASENAMES:=.o)) + test-library-arosx_CXXDTARGETS := $(notdir $(test-library-arosx_CXXBASENAMES:=.d)) + test-library-arosx_MCXX_WILDCARD := % +else + test-library-arosx_CXXTARGETS := $(addprefix $(test-library-arosx_OBJDIR)/,$(notdir $(test-library-arosx_CXXBASENAMES:=.o))) + test-library-arosx_CXXDTARGETS := $(addprefix $(test-library-arosx_OBJDIR)/,$(notdir $(test-library-arosx_CXXBASENAMES:=.d))) + test-library-arosx_MCXX_WILDCARD := $(test-library-arosx_OBJDIR)/% + + # Be sure that all source files are generated + $(test-library-arosx_CXXTARGETS) $(test-library-arosx_CXXDTARGETS) : | $(test-library-arosx_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +test-library-arosx_MCXX_CPPFLAGS := $(test-library-arosx_CPPFLAGS) +test-library-arosx_CXXFLAGS := $(test-library-arosx_CXXFLAGS) +ifeq ($(test-library-arosx_DXXFLAGS),) + test-library-arosx_DXXFLAGS := $(test-library-arosx_CXXFLAGS) +else + test-library-arosx_DXXFLAGS := $(test-library-arosx_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + test-library-arosx_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + test-library-arosx_STRIP ?= $(HOST_STRIP) + test-library-arosx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + test-library-arosx_CXXCMD:=$(HOST_CXX) + test-library-arosx_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(test-library-arosx_MCXX_CPPFLAGS) $(test-library-arosx_MCXX_EXTRA_CPPFLAGS)) + test-library-arosx_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-arosx_CXXFLAGS)) + test-library-arosx_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(test-library-arosx_DXXFLAGS)) + test-library-arosx_CXXIQUOTE:=$(HOST_IQUOTE) + test-library-arosx_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + test-library-arosx_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-arosx_STRIP ?= $(TARGET_STRIP) + test-library-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + test-library-arosx_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + test-library-arosx_MCXX_CPPFLAGS := $(strip $(test-library-arosx_MCXX_CPPFLAGS) $(test-library-arosx_MCXX_EXTRA_CPPFLAGS)) + test-library-arosx_CXXFLAGS := $(strip $(test-library-arosx_CXXFLAGS) $(SAFETY_CFLAGS)) + test-library-arosx_DXXFLAGS := $(test-library-arosx_DXXFLAGS) + test-library-arosx_CXXIQUOTE:=$(CFLAGS_IQUOTE) + test-library-arosx_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + test-library-arosx_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-arosx_STRIP ?= $(ECHO) >/dev/null + test-library-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + test-library-arosx_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + test-library-arosx_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(test-library-arosx_MCXX_CPPFLAGS) $(test-library-arosx_MCXX_EXTRA_CPPFLAGS)) + test-library-arosx_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-arosx_CXXFLAGS)) + test-library-arosx_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(test-library-arosx_DXXFLAGS)) + test-library-arosx_CXXIQUOTE:=$(KERNEL_IQUOTE) + test-library-arosx_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(test-library-arosx_CXXCMD) $(test-library-arosx_CXXIQUOTE) $(dir $(2)) $(test-library-arosx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_CXXIQUOTE) . $(test-library-arosx_CXXIQUOTE_END) $(strip $(test-library-arosx_CXXFLAGS) $(test-library-arosx_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(test-library-arosx_CXXCMD) $(test-library-arosx_CXXIQUOTE) $(dir $(2)) $(test-library-arosx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_CXXIQUOTE) . $(test-library-arosx_CXXIQUOTE_END) $(strip $(test-library-arosx_CXXFLAGS) $(test-library-arosx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(test-library-arosx_CXXCMD) $(test-library-arosx_CXXIQUOTE) $(dir $(2)) $(test-library-arosx_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_CXXIQUOTE) . $(test-library-arosx_CXXIQUOTE_END) $(strip $(test-library-arosx_CXXFLAGS) $(test-library-arosx_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(test-library-arosx_CXXCMD)" $(MKDEPEND) $(strip $(test-library-arosx_DXXFLAGS) $(test-library-arosx_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(test-library-arosx_OBJDIR),) + $(foreach test-library-arosx_CXXFILE,$(test-library-arosx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(test-library-arosx_CXXFILE))),$(test-library-arosx_CXXFILE)))) +else + $(foreach test-library-arosx_CXXFILE,$(test-library-arosx_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(test-library-arosx_OBJDIR)/,$(notdir $(basename $(test-library-arosx_CXXFILE)))),$(test-library-arosx_CXXFILE)))) +endif + +endif + + +ifneq ($(test-library-arosx_OBJC_NARCHFILES),) + +ifeq (,) +test-library-arosx_MOBJC_SRCWILDCARD := % +else +test-library-arosx_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-arosx_OBJDIR),) + test-library-arosx_MOBJC_TARGETS := $(addsuffix .o,$(test-library-arosx_OBJC_NARCHFILES)) + test-library-arosx_MOBJC_DTARGETS := $(addsuffix .d,$(test-library-arosx_OBJC_NARCHFILES)) + test-library-arosx_MOBJC_WILDCARD := % +else + test-library-arosx_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-arosx_OBJDIR)/,$(test-library-arosx_OBJC_NARCHFILES))) + test-library-arosx_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-arosx_OBJDIR)/,$(test-library-arosx_OBJC_NARCHFILES))) + test-library-arosx_MOBJC_WILDCARD := $(test-library-arosx_OBJDIR)/% + + # Be sure that all .m files are generated + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : | $(addsuffix .m,$(test-library-arosx_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + test-library-arosx_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + test-library-arosx_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-arosx_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + test-library-arosx_MOBJC_DIRS := $(foreach dir, $(test-library-arosx_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-arosx_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(test-library-arosx_MOBJC_DIRS),) + test-library-arosx_MOBJC_DIRS := $(shell echo $(test-library-arosx_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(test-library-arosx_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + test-library-arosx_CC := $(TARGET_CC) +else + test-library-arosx_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +test-library-arosx_MOBJC_CPPFLAGS := $(test-library-arosx_CPPFLAGS) +test-library-arosx_OBJCFLAGS := $(test-library-arosx_CFLAGS) +test-library-arosx_OBJCFLAGS := $(test-library-arosx_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +test-library-arosx_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(test-library-arosx_OBJCFLAGS))) +ifeq ($(test-library-arosx_DFLAGS),) + test-library-arosx_OBJCDFLAGS := $(test-library-arosx_CFLAGS) +else + test-library-arosx_OBJCDFLAGS := $(test-library-arosx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + test-library-arosx_LINK ?= $(strip $(test-library-arosx_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + test-library-arosx_STRIP ?= $(TARGET_STRIP) + test-library-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : CMD:=$(strip $(test-library-arosx_CC) $(TARGET_SYSROOT)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_MOBJC_CPPFLAGS:=$(strip $(test-library-arosx_MOBJC_CPPFLAGS) $(test-library-arosx_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_OBJCFLAGS:=$(strip $(test-library-arosx_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_OBJCDFLAGS:=$(test-library-arosx_OBJCDFLAGS) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_IQUOTE:=$(CFLAGS_IQUOTE) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + test-library-arosx_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + test-library-arosx_STRIP ?= $(HOST_STRIP) + test-library-arosx_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(test-library-arosx_MOBJC_CPPFLAGS) $(test-library-arosx_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-arosx_OBJCFLAGS)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-arosx_OBJCDFLAGS)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_IQUOTE:=$(HOST_IQUOTE) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + test-library-arosx_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + test-library-arosx_STRIP ?= $(ECHO) >/dev/null + test-library-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(test-library-arosx_MOBJC_CPPFLAGS) $(test-library-arosx_MOBJC_EXTRA_CPPFLAGS)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-arosx_OBJCFLAGS)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-arosx_OBJCDFLAGS)) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_IQUOTE:=$(KERNEL_IQUOTE) + $(test-library-arosx_MOBJC_TARGETS) $(test-library-arosx_MOBJC_DTARGETS) : test-library-arosx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-arosx_MOBJC_TARGETS) : CPPFLAGS := $(test-library-arosx_MOBJC_CPPFLAGS) +$(test-library-arosx_MOBJC_TARGETS) : CFLAGS := $(test-library-arosx_OBJCFLAGS) +$(test-library-arosx_MOBJC_TARGETS) : $(test-library-arosx_MOBJC_WILDCARD).o : $(test-library-arosx_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-arosx_IQUOTE) $(dir $<) $(test-library-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_IQUOTE) . $(test-library-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-arosx_IQUOTE) $(dir $<) $(test-library-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_IQUOTE) . $(test-library-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-arosx_IQUOTE) $(dir $<) $(test-library-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_IQUOTE) . $(test-library-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-arosx_MOBJC_DTARGETS) : $(test-library-arosx_MOBJC_WILDCARD).d : $(test-library-arosx_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-arosx_OBJCDFLAGS) $(test-library-arosx_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +test-library-arosx_MC_SRCWILDCARD := % +else +test-library-arosx_MC_SRCWILDCARD := /% +endif + +ifeq ($(test-library-arosx_OBJDIR),) +test-library-arosx_MC_TARGETS := $(addsuffix .o,$(test-library-arosx_C_NARCHFILES)) +test-library-arosx_MC_DTARGETS := $(addsuffix .d,$(test-library-arosx_C_NARCHFILES)) +test-library-arosx_MC_TGTWILDCARD := % +else +ifeq (no,no) + test-library-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-arosx_OBJDIR)/,$(notdir $(test-library-arosx_C_NARCHFILES)))) + test-library-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-arosx_OBJDIR)/,$(notdir $(test-library-arosx_C_NARCHFILES)))) +else +ifeq (,) + test-library-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-arosx_OBJDIR)/,$(test-library-arosx_C_NARCHFILES))) + test-library-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-arosx_OBJDIR)/,$(test-library-arosx_C_NARCHFILES))) +else + test-library-arosx_MC_TARGETS := $(addsuffix .o,$(addprefix $(test-library-arosx_OBJDIR)/,$(patsubst /%,%,$(test-library-arosx_C_NARCHFILES)))) + test-library-arosx_MC_DTARGETS := $(addsuffix .d,$(addprefix $(test-library-arosx_OBJDIR)/,$(patsubst /%,%,$(test-library-arosx_C_NARCHFILES)))) +endif +endif +test-library-arosx_MC_TGTWILDCARD := $(test-library-arosx_OBJDIR)/% + +# Be sure that all .c files are generated +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : | $(addsuffix .c,$(test-library-arosx_C_NARCHFILES)) + +# Be sure that all .c files are found +test-library-arosx_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-arosx_MC_BASEDIRS := $(shell echo $(sort $(dir $(test-library-arosx_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-arosx_MC_DIRS := $(foreach dir, $(test-library-arosx_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-arosx_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-arosx_MC_DIRS),) + test-library-arosx_MC_DIRS := $(shell echo $(test-library-arosx_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(test-library-arosx_MC_DIRS) +endif + +endif + +test-library-arosx_MC_CPPFLAGS := $(test-library-arosx_CPPFLAGS) +test-library-arosx_CFLAGS := $(test-library-arosx_CFLAGS) +ifeq ($(test-library-arosx_DFLAGS),) + test-library-arosx_DFLAGS := $(test-library-arosx_CFLAGS) +else + test-library-arosx_DFLAGS := $(test-library-arosx_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +test-library-arosx_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +test-library-arosx_STRIP ?= $(TARGET_STRIP) +test-library-arosx_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_MC_CPPFLAGS:=$(strip $(test-library-arosx_MC_CPPFLAGS) $(test-library-arosx_MC_EXTRA_CPPFLAGS)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_CFLAGS:=$(strip $(test-library-arosx_CFLAGS) $(SAFETY_CFLAGS)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_DFLAGS:=$(test-library-arosx_DFLAGS) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_IQUOTE:=$(CFLAGS_IQUOTE) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +test-library-arosx_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +test-library-arosx_STRIP ?= $(HOST_STRIP) +test-library-arosx_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : CMD:=$(HOST_CC) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(test-library-arosx_MC_CPPFLAGS) $(test-library-arosx_MC_EXTRA_CPPFLAGS)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_CFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-arosx_CFLAGS)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_DFLAGS:=$(strip $(HOST_CFLAGS) $(test-library-arosx_DFLAGS)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_IQUOTE:=$(HOST_IQUOTE) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +test-library-arosx_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +test-library-arosx_STRIP ?= $(ECHO) >/dev/null +test-library-arosx_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(test-library-arosx_MC_CPPFLAGS) $(test-library-arosx_MC_EXTRA_CPPFLAGS)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-arosx_CFLAGS)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(test-library-arosx_DFLAGS)) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_IQUOTE:=$(KERNEL_IQUOTE) +$(test-library-arosx_MC_TARGETS) $(test-library-arosx_MC_DTARGETS) : test-library-arosx_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(test-library-arosx_MC_TARGETS) : CPPFLAGS := $(test-library-arosx_MC_CPPFLAGS) +$(test-library-arosx_MC_TARGETS) : CFLAGS := $(test-library-arosx_CFLAGS) +$(test-library-arosx_MC_TARGETS) : $(test-library-arosx_MC_TGTWILDCARD).o : $(test-library-arosx_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(test-library-arosx_IQUOTE) $(dir $<) $(test-library-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_IQUOTE) . $(test-library-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(test-library-arosx_IQUOTE) $(dir $<) $(test-library-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_IQUOTE) . $(test-library-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(test-library-arosx_IQUOTE) $(dir $<) $(test-library-arosx_IQUOTE) $(SRCDIR)/$(CURDIR) $(test-library-arosx_IQUOTE) . $(test-library-arosx_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(test-library-arosx_MC_DTARGETS) : $(test-library-arosx_MC_TGTWILDCARD).d : $(test-library-arosx_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(test-library-arosx_DFLAGS) $(test-library-arosx_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(test-library-arosx_OBJDIR),) +test-library-arosx-MA_TARGETS := $(addsuffix .o,$(test-library-arosx_ASMFILES)) +test-library-arosx-MA_WILDCARD := % +else +test-library-arosx-MA_TARGETS := $(addsuffix .o,$(addprefix $(test-library-arosx_OBJDIR)/,$(notdir $(test-library-arosx_ASMFILES)))) +test-library-arosx-MA_WILDCARD := $(test-library-arosx_OBJDIR)/% + +# Be sure that all .s files are generated +$(test-library-arosx-MA_TARGETS) : | $(addsuffix .s,$(test-library-arosx_ASMFILES)) + +# Be sure that all .c files are found +test-library-arosx-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +test-library-arosx-MA_BASEDIRS := $(shell echo $(sort $(dir $(test-library-arosx_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +test-library-arosx-MA_DIRS := $(foreach dir, $(test-library-arosx-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(test-library-arosx-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(test-library-arosx-MA_DIRS),) + test-library-arosx-MA_DIRS := $(shell echo $(test-library-arosx-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(test-library-arosx-MA_DIRS) +endif + +endif + +test-library-arosx-MA_ASSEMBLER ?= $(test-library-arosx_ASSEMBLER) + +$(test-library-arosx-MA_TARGETS) : test-library-arosx-MA_CMD:= $(test-library-arosx-MA_ASSEMBLER) + +$(test-library-arosx-MA_TARGETS) : CPPFLAGS := $(test-library-arosx_CPPFLAGS) +$(test-library-arosx-MA_TARGETS) : AFLAGS := $(test-library-arosx_AFLAGS) +$(test-library-arosx-MA_TARGETS) : $(test-library-arosx-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(test-library-arosx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(test-library-arosx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(test-library-arosx-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +test-library-arosx-link_EXTRA_LDFLAGS := +test-library-arosx-link_EXTRA_LIBS := +ifeq (no,yes) + test-library-arosx-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + test-library-arosx-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + test-library-arosx-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +test-library-arosx-link_DIRS := $(subst -L ,-L,$(strip $(test-library-arosx_LDFLAGS))) +# Filter out only the libdirs and remove -L +test-library-arosx-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(test-library-arosx-link_DIRS))) +# Add trailing / +test-library-arosx-link_DIRS := $(subst //,/,$(addsuffix /,$(test-library-arosx-link_DIRS))) +# Add normal linklib path +test-library-arosx-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +test-library-arosx-link_LIBS := $(addprefix lib,$(addsuffix .a,$(test-library-arosx_LIBS) $(test-library-arosx-link_EXTRA_LIBS))) +ifeq (yes,yes) + test-library-arosx-link_LIBS += startup.o +endif +ifeq (no,yes) + test-library-arosx-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +test-library-arosx-link_DEPLIBS := $(foreach lib,$(test-library-arosx-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(test-library-arosx-link_DIRS)))) \ +) + +$(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) : OBJDIR := $(test-library-arosx_OBJDIR) +$(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) : OBJS := $(test-library-arosx_OBJS) $(test-library-arosx_ARCHOBJS) $(USER_OBJS) +$(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) : LDFLAGS := $(strip $(test-library-arosx_LDFLAGS) $(test-library-arosx-link_EXTRA_LDFLAGS)) +$(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) : LIBS := $(addprefix -l,$(test-library-arosx_LIBS) $(test-library-arosx-link_EXTRA_LIBS) ) +$(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) : $(test-library-arosx_OBJS) $(test-library-arosx_ARCHOBJS) $(USER_OBJS) $(test-library-arosx-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(test-library-arosx_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(test-library-arosx_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(test-library-arosx_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-arosx_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(test-library-arosx_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(test-library-arosx_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(test-library-arosx_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(test-library-arosx_DEPS),) + ifneq (test-library-arosx test-library-arosx-quick,) + ifneq ($(findstring $(TARGET),test-library-arosx test-library-arosx-quick),) + -include $(test-library-arosx_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(test-library-arosx_DEPS) + endif + endif +endif + + +ifneq ($(test-library-arosx_OBJS) $(test-library-arosx_DEPS) $(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME),) +$(test-library-arosx_OBJS) $(test-library-arosx_DEPS) $(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) : | $(test-library-arosx_OBJDIR) $(test-library-arosx_TARGETDIR) +else +$(test-library-arosx_OBJS) $(test-library-arosx_DEPS) $(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) :: $(test-library-arosx_OBJDIR) $(test-library-arosx_TARGETDIR) +endif + +GLOB_MKDIRS += $(test-library-arosx_OBJDIR) $(test-library-arosx_TARGETDIR) + + +test-library-arosx-clean : FILES := $(test-library-arosx_OBJS) $(test-library-arosx_TARGETDIR)/$(test-library-arosx_PROGNAME) $(test-library-arosx_DEPS) +#MM +test-library-arosx-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget test-library-arosx" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/classes/camdmidi/camd/mmakefile b/rom/usb/classes/camdmidi/camd/mmakefile new file mode 100644 index 00000000000..6fdbcaef0c5 --- /dev/null +++ b/rom/usb/classes/camdmidi/camd/mmakefile @@ -0,0 +1,176 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +OBJDIR := $(GENDIR)/$(CURDIR) +CAMDOBJDIR := $(OBJDIR)/../camdusbmidi/arch + +SRCFILE := poseidonusb + +USER_LDFLAGS := -static +USER_INCLUDES := -I$(OBJDIR)/../include -iquote $(SRCDIR)/$(CURDIR)/.. + +#MM kernel-usb-classes-camdusbmidi-object : kernel-usb-classes-camdusbmidi-includes + +$(OBJDIR)/%.o : $(SRCDIR)/$(CURDIR)/%.c | $(OBJDIR) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +BD_OUTDIR := $(dir $(CAMDOBJDIR)/$(SRCFILE).bin.o) +# This trick removes the trailing '/', otherwise findstring below fails, causing a warning +BD_OUTDIR := $(subst /*,,$(addsuffix *,$(BD_OUTDIR))) +BD_TMPDIR := $(GENDIR)/$(CURDIR) +BD_OBJS := $(addsuffix .o,$(addprefix $(BD_OBJDIR)/,$(notdir ))) +BD_DEPS := $(addsuffix .d,$(addprefix $(BD_OBJDIR)/,$(notdir ))) +BD_OBJS += $(OBJDIR)/$(SRCFILE).o + + +ifeq (,) +TMP_MC_SRCWILDCARD := % +else +TMP_MC_SRCWILDCARD := /% +endif + +ifeq ($(BD_OBJDIR),) +TMP_MC_TARGETS := $(addsuffix .o,) +TMP_MC_DTARGETS := $(addsuffix .d,) +TMP_MC_TGTWILDCARD := % +else +ifeq (no,no) + TMP_MC_TARGETS := $(addsuffix .o,$(addprefix $(BD_OBJDIR)/,$(notdir ))) + TMP_MC_DTARGETS := $(addsuffix .d,$(addprefix $(BD_OBJDIR)/,$(notdir ))) +else +ifeq (,) + TMP_MC_TARGETS := $(addsuffix .o,$(addprefix $(BD_OBJDIR)/,)) + TMP_MC_DTARGETS := $(addsuffix .d,$(addprefix $(BD_OBJDIR)/,)) +else + TMP_MC_TARGETS := $(addsuffix .o,$(addprefix $(BD_OBJDIR)/,$(patsubst /%,%,))) + TMP_MC_DTARGETS := $(addsuffix .d,$(addprefix $(BD_OBJDIR)/,$(patsubst /%,%,))) +endif +endif +TMP_MC_TGTWILDCARD := $(BD_OBJDIR)/% + +# Be sure that all .c files are generated +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : | $(addsuffix .c,) + +# Be sure that all .c files are found +TMP_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +TMP_MC_BASEDIRS := $(shell echo $(sort $(dir )) | sed 's/\(.\):\//\/\1\//g') +TMP_MC_DIRS := $(foreach dir, $(TMP_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(TMP_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(TMP_MC_DIRS),) + TMP_MC_DIRS := $(shell echo $(TMP_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(TMP_MC_DIRS) +endif + +endif + +TMP_MC_CPPFLAGS := $(CPPFLAGS) +TMP_CFLAGS := $(CFLAGS) +ifeq (,) + TMP_DFLAGS := $(CFLAGS) +else + TMP_DFLAGS := +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +TMP_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +TMP_STRIP ?= $(TARGET_STRIP) +TMP_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_MC_CPPFLAGS:=$(strip $(TMP_MC_CPPFLAGS) $(TMP_MC_EXTRA_CPPFLAGS)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_CFLAGS:=$(strip $(TMP_CFLAGS) $(SAFETY_CFLAGS)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_DFLAGS:=$(TMP_DFLAGS) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_IQUOTE:=$(CFLAGS_IQUOTE) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +TMP_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +TMP_STRIP ?= $(HOST_STRIP) +TMP_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : CMD:=$(HOST_CC) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(TMP_MC_CPPFLAGS) $(TMP_MC_EXTRA_CPPFLAGS)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_CFLAGS:=$(strip $(HOST_CFLAGS) $(TMP_CFLAGS)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_DFLAGS:=$(strip $(HOST_CFLAGS) $(TMP_DFLAGS)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_IQUOTE:=$(HOST_IQUOTE) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +TMP_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +TMP_STRIP ?= $(ECHO) >/dev/null +TMP_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(TMP_MC_CPPFLAGS) $(TMP_MC_EXTRA_CPPFLAGS)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(TMP_CFLAGS)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(TMP_DFLAGS)) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_IQUOTE:=$(KERNEL_IQUOTE) +$(TMP_MC_TARGETS) $(TMP_MC_DTARGETS) : TMP_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(TMP_MC_TARGETS) : CPPFLAGS := $(TMP_MC_CPPFLAGS) +$(TMP_MC_TARGETS) : CFLAGS := $(TMP_CFLAGS) +$(TMP_MC_TARGETS) : $(TMP_MC_TGTWILDCARD).o : $(TMP_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(TMP_IQUOTE) $(dir $<) $(TMP_IQUOTE) $(SRCDIR)/$(CURDIR) $(TMP_IQUOTE) . $(TMP_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(TMP_MC_DTARGETS) : $(TMP_MC_TGTWILDCARD).d : $(TMP_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(TMP_DFLAGS) $(TMP_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +$(CAMDOBJDIR)/$(SRCFILE).bin.o : $(BD_OBJS) $(BD_DEPS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(KERNEL_LD) --entry=0 --oformat=binary -Ttext=0 -o $(BD_TMPDIR)/$(SRCFILE) $(BD_OBJS) + $(Q)cd $(BD_TMPDIR) && $(AROS_LD) -r --format binary $(SRCFILE) -o $@ + +ifeq ($(findstring $(BD_OUTDIR),$(GLOB_MKDIRS)),) + +ifneq ($(CAMDOBJDIR)/$(SRCFILE).bin.o,) +$(CAMDOBJDIR)/$(SRCFILE).bin.o : | $(BD_OUTDIR) +else +$(CAMDOBJDIR)/$(SRCFILE).bin.o :: $(BD_OUTDIR) +endif + +GLOB_MKDIRS += $(BD_OUTDIR) + +endif + + +#MM +kernel-usb-classes-camdusbmidi-object : $(CAMDOBJDIR)/$(SRCFILE).bin.o + +GLOB_MKDIRS += $(OBJDIR) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/classes/felsunxi/mmakefile b/rom/usb/classes/felsunxi/mmakefile new file mode 100644 index 00000000000..2885d6e7123 --- /dev/null +++ b/rom/usb/classes/felsunxi/mmakefile @@ -0,0 +1,1662 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_LDFLAGS := -static + +FUNCS := class_Library class_DoMethodA class_GetAttrsA class_SetAttrsA class_DeviceBinding class_FELSunxiTask + +#MM- kernel-usb-classes-felsunxi : kernel-usb-usbclass kernel-usb-poseidon-includes + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-usb-classes-felsunxi +#MM kernel-usb-classes-felsunxi-quick +#MM kernel-usb-classes-felsunxi-makefile +#MM kernel-usb-classes-felsunxi-clean + +# ABI targets: +#MM- includes-all : kernel-usb-classes-felsunxi-includes +#MM- linklibs-felsunxi: kernel-usb-classes-felsunxi-linklib +#MM- linklibs-felsunxi_rel : kernel-usb-classes-felsunxi-linklib +#MM- includes-felsunxi: kernel-usb-classes-felsunxi-includes +#MM- includes-felsunxi_rel : kernel-usb-classes-felsunxi-includes +#MM- kernel-usb-classes-felsunxi : kernel-usb-classes-felsunxi-includes core-linklibs linklibs- +#MM kernel-usb-classes-felsunxi-linklib : kernel-usb-classes-felsunxi-includes includes- +#MM- kernel-usb-classes-felsunxi-quick : kernel-usb-classes-felsunxi-includes-quick +#MM kernel-usb-classes-felsunxi-includes : kernel-usb-classes-felsunxi-makefile kernel-usb-classes-felsunxi-includes-dirs \ +#MM includes-generate-deps kernel-usb-classes-felsunxi-fd +#MM kernel-usb-classes-felsunxi-includes-quick +#MM kernel-usb-classes-felsunxi-includes-dirs +#MM kernel-usb-classes-felsunxi-fd + +# Library targets +#MM kernel-usb-classes-felsunxi-kobj : core-linklibs linklibs- +#MM kernel-usb-classes-felsunxi-kobj-quick : + +# Library with ABI targets: +#MM kernel-usb-classes-felsunxi-kobj : kernel-usb-classes-felsunxi-includes core-linklibs linklibs- +#MM kernel-usb-classes-felsunxi-kobj-quick : kernel-usb-classes-felsunxi-includes-quick + +# All MetaMake targets defined by this macro +kernel-usb-classes-felsunxi_ALLTARGETS := kernel-usb-classes-felsunxi kernel-usb-classes-felsunxi-quick kernel-usb-classes-felsunxi-clean + +ifeq (M,M) +kernel-usb-classes-felsunxi_ALLTARGETS += kernel-usb-classes-felsunxi-kobj kernel-usb-classes-felsunxi-kobj-quick +endif + +ifeq (M,M) +kernel-usb-classes-felsunxi_ALLTARGETS += kernel-usb-classes-felsunxi-includes \ + kernel-usb-classes-felsunxi-includes-quick kernel-usb-classes-felsunxi-includes-dirs \ + kernel-usb-classes-felsunxi-linklib kernel-usb-classes-felsunxi-fd +endif + +.PHONY : $(kernel-usb-classes-felsunxi_ALLTARGETS) kernel-usb-classes-felsunxi-makefile + +ifeq (felsunxi,) +$(error using %build_module: modname may not be empty) +endif +ifeq (usbclass,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-usb-classes-felsunxi_DEFNAME := felsunxi_ +else + kernel-usb-classes-felsunxi_DEFNAME := felsunxi +endif +kernel-usb-classes-felsunxi_DEFLINKLIBNAME := $(kernel-usb-classes-felsunxi_DEFNAME) +ifneq (,) + kernel-usb-classes-felsunxi_LINKLIBNAME := +else + kernel-usb-classes-felsunxi_LINKLIBNAME = $(kernel-usb-classes-felsunxi_DEFLINKLIBNAME) +endif +kernel-usb-classes-felsunxi_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-usb-classes-felsunxi_DEFCPPFLAGS += -I +endif +kernel-usb-classes-felsunxi_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-usb-classes-felsunxi_DFLAGS := +else + kernel-usb-classes-felsunxi_DFLAGS = $(kernel-usb-classes-felsunxi_DEFDFLAGS) +endif +kernel-usb-classes-felsunxi_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-usb-classes-felsunxi_DXXFLAGS := +else + kernel-usb-classes-felsunxi_DXXFLAGS = $(kernel-usb-classes-felsunxi_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-classes-felsunxi_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-classes-felsunxi_DEFDFLAGS)) +kernel-usb-classes-felsunxi_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-classes-felsunxi_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-classes-felsunxi_FUNCINSTR := yes +kernel-usb-classes-felsunxi_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-classes-felsunxi_DEFDFLAGS)) +kernel-usb-classes-felsunxi_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-classes-felsunxi_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-usb-classes-felsunxi_OBJDIR := +else +kernel-usb-classes-felsunxi_OBJDIR := $(OBJDIR)/$(kernel-usb-classes-felsunxi_DEFNAME) +endif +ifneq (,) +kernel-usb-classes-felsunxi_OBJDIR := $(kernel-usb-classes-felsunxi_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-usb-classes-felsunxi-makefile := $(kernel-usb-classes-felsunxi_OBJDIR)/Makefile.$(kernel-usb-classes-felsunxi_DEFNAME)usbclass +kernel-usb-classes-felsunxi-genmakefile : $(kernel-usb-classes-felsunxi-makefile) + + +kernel-usb-classes-felsunxi-genmakefile_OPTS := +ifneq (,) + kernel-usb-classes-felsunxi-genmakefile_OPTS += -f + kernel-usb-classes-felsunxi-genmakefile_MODNAME := felsunxi_ +else + kernel-usb-classes-felsunxi-genmakefile_MODNAME := felsunxi +endif +kernel-usb-classes-felsunxi-genmakefile_TARGET := Makefile.$(kernel-usb-classes-felsunxi-genmakefile_MODNAME)usbclass +kernel-usb-classes-felsunxi-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-felsunxi-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-felsunxi-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-felsunxi-genmakefile_OPTS += -c + kernel-usb-classes-felsunxi-genmakefile_DEPS += + endif +else + kernel-usb-classes-felsunxi-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/felsunxi.conf + kernel-usb-classes-felsunxi-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/felsunxi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-felsunxi-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-felsunxi-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-felsunxi-genmakefile_OPTS += -o + kernel-usb-classes-felsunxi-genmakefile_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-felsunxi-genmakefile_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-felsunxi_OBJDIR),) + kernel-usb-classes-felsunxi-genmakefile_OPTS += -d $(kernel-usb-classes-felsunxi_OBJDIR) + kernel-usb-classes-felsunxi-genmakefile_TARGET := $(kernel-usb-classes-felsunxi_OBJDIR)/$(kernel-usb-classes-felsunxi-genmakefile_TARGET) +endif + +$(kernel-usb-classes-felsunxi-genmakefile_TARGET) : OPTS := $(kernel-usb-classes-felsunxi-genmakefile_OPTS) +$(kernel-usb-classes-felsunxi-genmakefile_TARGET) : MODNAME := felsunxi +$(kernel-usb-classes-felsunxi-genmakefile_TARGET) : MODTYPE := usbclass +$(kernel-usb-classes-felsunxi-genmakefile_TARGET) : $(kernel-usb-classes-felsunxi-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-usb-classes-felsunxi-makefile),) +$(kernel-usb-classes-felsunxi-makefile) : | $(kernel-usb-classes-felsunxi_OBJDIR) +else +$(kernel-usb-classes-felsunxi-makefile) :: $(kernel-usb-classes-felsunxi_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-felsunxi_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-usb-classes-felsunxi_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-usb-classes-felsunxi-makefile) + +kernel-usb-classes-felsunxi_DEFMODDIR := $($(kernel-usb-classes-felsunxi_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-usb-classes-felsunxi_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-usb-classes-felsunxi_DEFMODDIR) +endif +ifneq (,) + kernel-usb-classes-felsunxi_MODDIR := +else + kernel-usb-classes-felsunxi_MODDIR := $(kernel-usb-classes-felsunxi_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-usb-classes-felsunxi_INCDIR := +else +kernel-usb-classes-felsunxi_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-usb-classes-felsunxi_LIBDEFSINC := $(kernel-usb-classes-felsunxi_OBJDIR)/include/$(kernel-usb-classes-felsunxi_DEFNAME)_libdefs.h +kernel-usb-classes-felsunxi_DEFLIBDEFSINC := $(kernel-usb-classes-felsunxi_OBJDIR)/include/$(kernel-usb-classes-felsunxi_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-usb-classes-felsunxi-includes-quick : kernel-usb-classes-felsunxi-includes +kernel-usb-classes-felsunxi-includes : $(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-classes-felsunxi_INCDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) \ + $(kernel-usb-classes-felsunxi_LIBDEFSINC) $(kernel-usb-classes-felsunxi_DEFLIBDEFSINC) + +ifneq ($($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-usb-classes-felsunxi-includes_MODNAME := felsunxi_ +else + kernel-usb-classes-felsunxi-includes_MODNAME := felsunxi +endif + +ifneq ($($(kernel-usb-classes-felsunxi-includes_MODNAME)_INCLUDES),) + +kernel-usb-classes-felsunxi-includes_TARGETS := $($(kernel-usb-classes-felsunxi-includes_MODNAME)_INCLUDES) + +kernel-usb-classes-felsunxi-includes_DEPS := $(GENMODULE) +kernel-usb-classes-felsunxi-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-felsunxi-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-felsunxi-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-felsunxi-includes_OPTS += -c + kernel-usb-classes-felsunxi-includes_DEPS += + endif +else + kernel-usb-classes-felsunxi-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/felsunxi.conf + kernel-usb-classes-felsunxi-includes_DEPS += $(SRCDIR)/$(CURDIR)/felsunxi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-felsunxi-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-felsunxi-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-felsunxi-includes_OPTS += -o + kernel-usb-classes-felsunxi-includes_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-felsunxi-includes_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-felsunxi_OBJDIR)/include,) + kernel-usb-classes-felsunxi-includes_OPTS += -d $(kernel-usb-classes-felsunxi_OBJDIR)/include + kernel-usb-classes-felsunxi-includes_TARGETS := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/include/,$(kernel-usb-classes-felsunxi-includes_TARGETS)) + kernel-usb-classes-felsunxi-includes_GENINCFLAG=$(kernel-usb-classes-felsunxi_OBJDIR)/include/.felsunxi.usbclass-includes +else + kernel-usb-classes-felsunxi-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.felsunxi.usbclass-includes +endif + +$(kernel-usb-classes-felsunxi-includes_TARGETS) : $(kernel-usb-classes-felsunxi-includes_DEPS) $(kernel-usb-classes-felsunxi-includes_GENINCFLAG) + +$(kernel-usb-classes-felsunxi-includes_GENINCFLAG) : OPTS := $(kernel-usb-classes-felsunxi-includes_OPTS) +$(kernel-usb-classes-felsunxi-includes_GENINCFLAG) : MODNAME := felsunxi +$(kernel-usb-classes-felsunxi-includes_GENINCFLAG) : MODTYPE := usbclass +$(kernel-usb-classes-felsunxi-includes_GENINCFLAG) : $(kernel-usb-classes-felsunxi-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-usb-classes-felsunxi_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) : | $(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_geninc + +$(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_geninc : COPYSRCDIR := $(kernel-usb-classes-felsunxi_OBJDIR)/include +$(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_geninc : TGTDIR := $(GENINCDIR) +$(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_geninc : FILES := $($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES) +$(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_geninc : $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/include/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-usb-classes-felsunxi_OBJDIR)/include + +$(addprefix $(kernel-usb-classes-felsunxi_INCDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) : | $(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_incs + +$(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_incs : COPYSRCDIR := $(kernel-usb-classes-felsunxi_OBJDIR)/include +$(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_incs : TGTDIR := $(kernel-usb-classes-felsunxi_INCDIR) +$(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_incs : FILES := $($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES) +$(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_incs : $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/include/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-usb-classes-felsunxi_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)))) + +TMPfelsunxi_INCDIRS := \ + $(kernel-usb-classes-felsunxi_OBJDIR)/include $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/include/,$(kernel-usb-classes-felsunxi_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-usb-classes-felsunxi_INCDIRS)) \ + $(kernel-usb-classes-felsunxi_INCDIR) $(addprefix $(kernel-usb-classes-felsunxi_INCDIR)/,$(kernel-usb-classes-felsunxi_INCDIRS)) + +ifneq (kernel-usb-classes-felsunxi-includes-dirs,) +kernel-usb-classes-felsunxi-includes-dirs : | $(TMPfelsunxi_INCDIRS) +else +kernel-usb-classes-felsunxi-includes-dirs :: $(TMPfelsunxi_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPfelsunxi_INCDIRS) + + +endif + +endif + + +kernel-usb-classes-felsunxi-genlibdefs_OPTS := +ifneq (,) + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -f + kernel-usb-classes-felsunxi-genlibdefs_MODNAME := felsunxi_ +else + kernel-usb-classes-felsunxi-genlibdefs_MODNAME := felsunxi +endif +kernel-usb-classes-felsunxi-genlibdefs_TARGET := $(kernel-usb-classes-felsunxi-genlibdefs_MODNAME)_libdefs.h +kernel-usb-classes-felsunxi-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-felsunxi-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -c + kernel-usb-classes-felsunxi-genlibdefs_DEPS += + endif +else + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/felsunxi.conf + kernel-usb-classes-felsunxi-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/felsunxi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-felsunxi-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -o + kernel-usb-classes-felsunxi-genlibdefs_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-felsunxi_OBJDIR)/include,) + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -d $(kernel-usb-classes-felsunxi_OBJDIR)/include + kernel-usb-classes-felsunxi-genlibdefs_TARGET := $(kernel-usb-classes-felsunxi_OBJDIR)/include/$(kernel-usb-classes-felsunxi-genlibdefs_TARGET) +endif +ifneq (,) + kernel-usb-classes-felsunxi-genlibdefs_OPTS += -v +endif + +$(kernel-usb-classes-felsunxi-genlibdefs_TARGET) : OPTS := $(kernel-usb-classes-felsunxi-genlibdefs_OPTS) +$(kernel-usb-classes-felsunxi-genlibdefs_TARGET) : MODNAME := felsunxi +$(kernel-usb-classes-felsunxi-genlibdefs_TARGET) : MODTYPE := usbclass +$(kernel-usb-classes-felsunxi-genlibdefs_TARGET) : $(kernel-usb-classes-felsunxi-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-usb-classes-felsunxi_DEFLIBDEFSINC) : FILENAME := $(kernel-usb-classes-felsunxi_LIBDEFSINC) +$(kernel-usb-classes-felsunxi_DEFLIBDEFSINC) : $(kernel-usb-classes-felsunxi_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-usb-classes-felsunxi_LIBDEFSINC) $(kernel-usb-classes-felsunxi_DEFLIBDEFSINC) : | $(kernel-usb-classes-felsunxi_OBJDIR)/include + +ifneq (kernel-usb-classes-felsunxi-includes-dirs,) +kernel-usb-classes-felsunxi-includes-dirs : | $(kernel-usb-classes-felsunxi_OBJDIR)/include +else +kernel-usb-classes-felsunxi-includes-dirs :: $(kernel-usb-classes-felsunxi_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-usb-classes-felsunxi_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-usb-classes-felsunxi-genmodfiles_OPTS := +ifneq (,) + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -f + kernel-usb-classes-felsunxi-genmodfiles_MODNAME := felsunxi_ +else + kernel-usb-classes-felsunxi-genmodfiles_MODNAME := felsunxi +endif +kernel-usb-classes-felsunxi-genmodfiles_GENTARGETS := $($(kernel-usb-classes-felsunxi-genmodfiles_MODNAME)_STARTFILES) $($(kernel-usb-classes-felsunxi-genmodfiles_MODNAME)_ENDFILES) +kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETS := $($(kernel-usb-classes-felsunxi-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-usb-classes-felsunxi-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-usb-classes-felsunxi-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-usb-classes-felsunxi-genmodfiles_GENTARGETS)) +kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-usb-classes-felsunxi-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-usb-classes-felsunxi-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-usb-classes-felsunxi-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-felsunxi-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -c + kernel-usb-classes-felsunxi-genmodfiles_DEPS += + endif +else + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/felsunxi.conf + kernel-usb-classes-felsunxi-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/felsunxi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-felsunxi-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -o + kernel-usb-classes-felsunxi-genmodfiles_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-felsunxi_OBJDIR),) + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -d $(kernel-usb-classes-felsunxi_OBJDIR) + kernel-usb-classes-felsunxi-genmodfiles_TARGETDIR := $(shell echo $(kernel-usb-classes-felsunxi_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-felsunxi-genmodfiles_GENTARGETS := $(addprefix $(kernel-usb-classes-felsunxi-genmodfiles_TARGETDIR)/,$(kernel-usb-classes-felsunxi-genmodfiles_GENTARGETS)) + kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG=$(kernel-usb-classes-felsunxi-genmodfiles_TARGETDIR)/.felsunxi.usbclass-genfiles +else + kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.felsunxi.usbclass-genfiles +endif +ifneq ($(kernel-usb-classes-felsunxi_OBJDIR)/linklib,) + kernel-usb-classes-felsunxi-genmodfiles_OPTS += -l $(kernel-usb-classes-felsunxi_OBJDIR)/linklib + kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-usb-classes-felsunxi_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETDIR)/,$(kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETS)) + kernel-usb-classes-felsunxi-genmodfiles_TARGETDIRS += $(kernel-usb-classes-felsunxi_OBJDIR)/linklib +else +ifneq ($(kernel-usb-classes-felsunxi_OBJDIR),) + kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-classes-felsunxi-genmodfiles_TARGETDIR)/,$(kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-usb-classes-felsunxi-genmodfiles_TARGETS := $(kernel-usb-classes-felsunxi-genmodfiles_GENTARGETS) $(kernel-usb-classes-felsunxi-genmodfiles_STUBTARGETS) +ifneq ($(kernel-usb-classes-felsunxi-genmodfiles_TARGETDIRS),) +$(kernel-usb-classes-felsunxi-genmodfiles_TARGETS) : | $(kernel-usb-classes-felsunxi-genmodfiles_TARGETDIRS) +endif + +$(kernel-usb-classes-felsunxi-genmodfiles_TARGETS) : $(kernel-usb-classes-felsunxi-genmodfiles_DEPS) $(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG) + +$(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-usb-classes-felsunxi-genmodfiles_OPTS) +$(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG) : MODNAME := felsunxi +$(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG) : MODTYPE := usbclass +$(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG) : $(kernel-usb-classes-felsunxi-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG) : $(kernel-usb-classes-felsunxi_DEFLIBDEFSINC) $(kernel-usb-classes-felsunxi-makefile) + + +ifneq ($(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG),) +$(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG) : | $(kernel-usb-classes-felsunxi_OBJDIR)/linklib +else +$(kernel-usb-classes-felsunxi-genmodfiles_GENFILEFLAG) :: $(kernel-usb-classes-felsunxi_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-usb-classes-felsunxi_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-usb-classes-felsunxi_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-usb-classes-felsunxi_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-usb-classes-felsunxi-fd : $(kernel-usb-classes-felsunxi_FDDIR)/felsunxi_lib.fd + + +TMP_TARGET := felsunxi_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/felsunxi.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/felsunxi.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (class,) + TMP_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-felsunxi_FDDIR),) + TMP_OPTS += -d $(kernel-usb-classes-felsunxi_FDDIR) + TMP_TARGET := $(kernel-usb-classes-felsunxi_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := felsunxi +$(TMP_TARGET) : MODTYPE := usbclass +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-usb-classes-felsunxi_FDDIR)/felsunxi_lib.fd : | $(kernel-usb-classes-felsunxi_FDDIR) + + +ifneq (kernel-usb-classes-felsunxi-fd-setup,) +kernel-usb-classes-felsunxi-fd-setup : | $(kernel-usb-classes-felsunxi_FDDIR) +else +kernel-usb-classes-felsunxi-fd-setup :: $(kernel-usb-classes-felsunxi_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-felsunxi_FDDIR) + +endif + +## Compilation +## +kernel-usb-classes-felsunxi_FILES := $(FUNCS) +kernel-usb-classes-felsunxi_OBJCFILES := +kernel-usb-classes-felsunxi_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-usb-classes-felsunxi_LIBFILES := +kernel-usb-classes-felsunxi_LIBS := + +kernel-usb-classes-felsunxi_FDIRS := $(sort $(dir $(kernel-usb-classes-felsunxi_FILES))) + +kernel-usb-classes-felsunxi_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-usb-classes-felsunxi_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-usb-classes-felsunxi_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-usb-classes-felsunxi_FILTERARCH = $(filter-out $(call kernel-usb-classes-felsunxi_MATCHARCH,$(1),$(2)),$(2)) +kernel-usb-classes-felsunxi_STARTFILES := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_STARTFILES)) +kernel-usb-classes-felsunxi_ENDFILES := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_ENDFILES)) + +kernel-usb-classes-felsunxi_ARCHOBJS := $(wildcard $(kernel-usb-classes-felsunxi_OBJDIR)/arch/*.o) +kernel-usb-classes-felsunxi_LIBARCHOBJS := $(wildcard $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/arch/*.o) +kernel-usb-classes-felsunxi_ARCHFILES := $(basename $(notdir $(kernel-usb-classes-felsunxi_ARCHOBJS))) +kernel-usb-classes-felsunxi_LIBARCHFILES := $(basename $(notdir $(kernel-usb-classes-felsunxi_LIBARCHOBJS))) +kernel-usb-classes-felsunxi_C_NARCHFILES := $(call kernel-usb-classes-felsunxi_FILTERARCH,$(kernel-usb-classes-felsunxi_ARCHFILES),$(kernel-usb-classes-felsunxi_FILES)) +kernel-usb-classes-felsunxi_CXX_NARCHFILES := $(call kernel-usb-classes-felsunxi_FILTERARCH,$(kernel-usb-classes-felsunxi_ARCHFILES),$(kernel-usb-classes-felsunxi_CXXFILES)) +kernel-usb-classes-felsunxi_OBJC_NARCHFILES := $(call kernel-usb-classes-felsunxi_FILTERARCH,$(kernel-usb-classes-felsunxi_ARCHFILES),$(kernel-usb-classes-felsunxi_OBJCFILES)) +kernel-usb-classes-felsunxi_NLIBARCHFILES := $(call kernel-usb-classes-felsunxi_FILTERARCH,$(kernel-usb-classes-felsunxi_LIBARCHFILES),$(kernel-usb-classes-felsunxi_LIBFILES)) +kernel-usb-classes-felsunxi_ARCHNLIBFILES := $(call kernel-usb-classes-felsunxi_FILTERARCH,$(kernel-usb-classes-felsunxi_LIBFILES),$(kernel-usb-classes-felsunxi_LIBARCHFILES)) + +kernel-usb-classes-felsunxi_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-usb-classes-felsunxi_OBJDIR)/include -include $(kernel-usb-classes-felsunxi_DEFLIBDEFSINC)) +ifneq (,) +kernel-usb-classes-felsunxi_CPPFLAGS += -I +endif +kernel-usb-classes-felsunxi_LINKLIBCPPFLAGS := $(kernel-usb-classes-felsunxi_CPPFLAGS) +kernel-usb-classes-felsunxi_CPPFLAGS += $(strip $($(kernel-usb-classes-felsunxi_DEFNAME)_CPPFLAGS)) +kernel-usb-classes-felsunxi_LINKLIBCPPFLAGS += $(strip $($(kernel-usb-classes-felsunxi_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-usb-classes-felsunxi_CFLAGS := $(strip $(CFLAGS) $($(kernel-usb-classes-felsunxi_DEFNAME)_CFLAGS)) +kernel-usb-classes-felsunxi_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-usb-classes-felsunxi_DEFNAME)_LINKLIBCFLAGS)) +kernel-usb-classes-felsunxi_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-usb-classes-felsunxi_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-classes-felsunxi_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-usb-classes-felsunxi_CFLAGS := $(strip $(kernel-usb-classes-felsunxi_LTOFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +kernel-usb-classes-felsunxi_LINKLIBCFLAGS := $(strip $(kernel-usb-classes-felsunxi_LTOFLAGS) $(kernel-usb-classes-felsunxi_LINKLIBCFLAGS)) +kernel-usb-classes-felsunxi_CXXFLAGS := $(strip $(kernel-usb-classes-felsunxi_LTOFLAGS) $(kernel-usb-classes-felsunxi_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-classes-felsunxi_SUBSTNULL := +kernel-usb-classes-felsunxi_SUBSTSPACE := $(kernel-usb-classes-felsunxi_SUBSTNULL) # +kernel-usb-classes-felsunxi_SUBSTCOMMA := , +kernel-usb-classes-felsunxi_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-usb-classes-felsunxi_SUBSTSPACE),$(kernel-usb-classes-felsunxi_SUBSTCOMMA),$(strip $($(kernel-usb-classes-felsunxi_DEFNAME)_STARTFILES)))) +kernel-usb-classes-felsunxi_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-usb-classes-felsunxi_CFLAGS := $(strip $(kernel-usb-classes-felsunxi_INSTRFUNCFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +kernel-usb-classes-felsunxi_CXXFLAGS := $(strip $(kernel-usb-classes-felsunxi_INSTRFUNCFLAGS) $(kernel-usb-classes-felsunxi_CXXFLAGS)) +kernel-usb-classes-felsunxi_LIBS += $(kernel-usb-classes-felsunxi_INSTRFUNCLIBS) +endif +endif +kernel-usb-classes-felsunxi_DFLAGS := $(strip $(kernel-usb-classes-felsunxi_DFLAGS) $($(kernel-usb-classes-felsunxi_DEFNAME)_DFLAGS)) +kernel-usb-classes-felsunxi_LINKLIBDFLAGS := $(strip $(kernel-usb-classes-felsunxi_DFLAGS) $($(kernel-usb-classes-felsunxi_DEFNAME)_LINKLIBDFLAGS)) +kernel-usb-classes-felsunxi_DXXFLAGS := $(strip $(kernel-usb-classes-felsunxi_DXXFLAGS) $($(kernel-usb-classes-felsunxi_DEFNAME)_DXXFLAGS)) + +ifeq (usbclass,library) + kernel-usb-classes-felsunxi_LIBSUFFIX := +else + kernel-usb-classes-felsunxi_LIBSUFFIX := .usbclass +endif + +ifeq (,) +kernel-usb-classes-felsunxi_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-usb-classes-felsunxi_LIBDIR := +endif + +ifeq (M,M) +kernel-usb-classes-felsunxi_LINKLIBCFILES := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$($(kernel-usb-classes-felsunxi_DEFNAME)_LINKLIBFILES)) +kernel-usb-classes-felsunxi_LINKLIBAFILES := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$($(kernel-usb-classes-felsunxi_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-classes-felsunxi_DEFNAME)_LINKLIBFILES) $($(kernel-usb-classes-felsunxi_DEFNAME)_LINKLIBAFILES) $(kernel-usb-classes-felsunxi_ARCHNLIBFILES)),) + kernel-usb-classes-felsunxi_LINKLIB := +else + kernel-usb-classes-felsunxi_LINKLIB := $(kernel-usb-classes-felsunxi_LIBDIR)/libfelsunxi$(kernel-usb-classes-felsunxi_LIBSUFFIX).a + ifneq (felsunxi,$(kernel-usb-classes-felsunxi_LINKLIBNAME)) + kernel-usb-classes-felsunxi_LINKLIB += $(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)$(kernel-usb-classes-felsunxi_LIBSUFFIX).a + endif +endif +kernel-usb-classes-felsunxi_LINKLIBFILES := $(kernel-usb-classes-felsunxi_LINKLIBCFILES) $(kernel-usb-classes-felsunxi_LINKLIBAFILES) + +kernel-usb-classes-felsunxi_RELLINKLIBCFILES := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$($(kernel-usb-classes-felsunxi_DEFNAME)_RELLINKLIBFILES)) +kernel-usb-classes-felsunxi_RELLINKLIBAFILES := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$($(kernel-usb-classes-felsunxi_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-classes-felsunxi_DEFNAME)_RELLINKLIBFILES) $($(kernel-usb-classes-felsunxi_DEFNAME)_RELLINKLIBAFILES) $(kernel-usb-classes-felsunxi_ARCHNLIBFILES)),) + kernel-usb-classes-felsunxi_RELLINKLIB := +else + kernel-usb-classes-felsunxi_RELLINKLIB := $(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_DEFNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a + ifneq (felsunxi,$(kernel-usb-classes-felsunxi_LINKLIBNAME)) + kernel-usb-classes-felsunxi_RELLINKLIB += $(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a + endif +endif +kernel-usb-classes-felsunxi_RELLINKLIBFILES := $(kernel-usb-classes-felsunxi_RELLINKLIBCFILES) $(kernel-usb-classes-felsunxi_RELLINKLIBAFILES) +endif + +kernel-usb-classes-felsunxi_ENDOBJS := $(addsuffix .o,$(kernel-usb-classes-felsunxi_ENDFILES)) +kernel-usb-classes-felsunxi_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-felsunxi_NLIBARCHFILES))) $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-classes-felsunxi_ARCHNLIBFILES))) $(kernel-usb-classes-felsunxi_LINKLIBFILES)) \ + +kernel-usb-classes-felsunxi_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-felsunxi_NLIBARCHFILES))) $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-classes-felsunxi_ARCHNLIBFILES))) $(kernel-usb-classes-felsunxi_RELLINKLIBFILES)) \ + +$(kernel-usb-classes-felsunxi_LINKLIBFILES) $(kernel-usb-classes-felsunxi_RELLINKLIBFILES) : | $(kernel-usb-classes-felsunxi_OBJDIR)/linklib +$(kernel-usb-classes-felsunxi_LINKLIBOBJS) $(kernel-usb-classes-felsunxi_RELLINKLIBOBJS) : | $(kernel-usb-classes-felsunxi_OBJDIR)/linklib + +kernel-usb-classes-felsunxi_CCFILES := $(kernel-usb-classes-felsunxi_C_NARCHFILES) +kernel-usb-classes-felsunxi_TARGETCCFILES := $(strip $(kernel-usb-classes-felsunxi_STARTFILES) $(kernel-usb-classes-felsunxi_ENDFILES)) +kernel-usb-classes-felsunxi_LINKLIBCCFILES := $(strip $(kernel-usb-classes-felsunxi_NLIBARCHFILES) $(kernel-usb-classes-felsunxi_LINKLIBCFILES) $(kernel-usb-classes-felsunxi_RELLINKLIBCFILES)) +kernel-usb-classes-felsunxi_LINKLIBCCGENFILES := $(strip $(kernel-usb-classes-felsunxi_LINKLIBCFILES) $(kernel-usb-classes-felsunxi_RELLINKLIBCFILES)) + + +kernel-usb-classes-felsunxi_CXXABSBASENAMES := $(foreach kernel-usb-classes-felsunxi_CXXBASE,$(kernel-usb-classes-felsunxi_CXX_NARCHFILES),$(if $(filter /%,$(kernel-usb-classes-felsunxi_CXXBASE)),$(kernel-usb-classes-felsunxi_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-usb-classes-felsunxi_CXXBASE)))) + +ifneq ($(kernel-usb-classes-felsunxi_CXXABSBASENAMES),) + +kernel-usb-classes-felsunxi_CXXBASENAMES := $(basename $(kernel-usb-classes-felsunxi_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-usb-classes-felsunxi_MCXX_FILES := $(strip $(foreach kernel-usb-classes-felsunxi_CXXBASE,$(kernel-usb-classes-felsunxi_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-usb-classes-felsunxi_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-usb-classes-felsunxi_EXT),$(kernel-usb-classes-felsunxi_CXXBASE))))))) + +ifeq (,) +kernel-usb-classes-felsunxi_MCXX_SRCWILDCARD := % +else +kernel-usb-classes-felsunxi_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR),) + kernel-usb-classes-felsunxi_CXXTARGETS := $(notdir $(kernel-usb-classes-felsunxi_CXXBASENAMES:=.o)) + kernel-usb-classes-felsunxi_CXXDTARGETS := $(notdir $(kernel-usb-classes-felsunxi_CXXBASENAMES:=.d)) + kernel-usb-classes-felsunxi_MCXX_WILDCARD := % +else + kernel-usb-classes-felsunxi_CXXTARGETS := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(kernel-usb-classes-felsunxi_CXXBASENAMES:=.o))) + kernel-usb-classes-felsunxi_CXXDTARGETS := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(kernel-usb-classes-felsunxi_CXXBASENAMES:=.d))) + kernel-usb-classes-felsunxi_MCXX_WILDCARD := $(kernel-usb-classes-felsunxi_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-usb-classes-felsunxi_CXXTARGETS) $(kernel-usb-classes-felsunxi_CXXDTARGETS) : | $(kernel-usb-classes-felsunxi_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-usb-classes-felsunxi_MCXX_CPPFLAGS := $(kernel-usb-classes-felsunxi_CPPFLAGS) +kernel-usb-classes-felsunxi_CXXFLAGS := $(kernel-usb-classes-felsunxi_CXXFLAGS) +ifeq ($(kernel-usb-classes-felsunxi_DXXFLAGS),) + kernel-usb-classes-felsunxi_DXXFLAGS := $(kernel-usb-classes-felsunxi_CXXFLAGS) +else + kernel-usb-classes-felsunxi_DXXFLAGS := $(kernel-usb-classes-felsunxi_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-usb-classes-felsunxi_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-usb-classes-felsunxi_STRIP ?= $(HOST_STRIP) + kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-usb-classes-felsunxi_CXXCMD:=$(HOST_CXX) + kernel-usb-classes-felsunxi_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-usb-classes-felsunxi_MCXX_CPPFLAGS) $(kernel-usb-classes-felsunxi_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-felsunxi_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-classes-felsunxi_CXXFLAGS)) + kernel-usb-classes-felsunxi_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-classes-felsunxi_DXXFLAGS)) + kernel-usb-classes-felsunxi_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-usb-classes-felsunxi_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-usb-classes-felsunxi_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-classes-felsunxi_STRIP ?= $(TARGET_STRIP) + kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-usb-classes-felsunxi_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-usb-classes-felsunxi_MCXX_CPPFLAGS := $(strip $(kernel-usb-classes-felsunxi_MCXX_CPPFLAGS) $(kernel-usb-classes-felsunxi_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-felsunxi_CXXFLAGS := $(strip $(kernel-usb-classes-felsunxi_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-usb-classes-felsunxi_DXXFLAGS := $(kernel-usb-classes-felsunxi_DXXFLAGS) + kernel-usb-classes-felsunxi_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-usb-classes-felsunxi_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-usb-classes-felsunxi_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-classes-felsunxi_STRIP ?= $(ECHO) >/dev/null + kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-usb-classes-felsunxi_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-usb-classes-felsunxi_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-usb-classes-felsunxi_MCXX_CPPFLAGS) $(kernel-usb-classes-felsunxi_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-felsunxi_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-classes-felsunxi_CXXFLAGS)) + kernel-usb-classes-felsunxi_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-classes-felsunxi_DXXFLAGS)) + kernel-usb-classes-felsunxi_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-usb-classes-felsunxi_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-usb-classes-felsunxi_CXXCMD) $(kernel-usb-classes-felsunxi_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-felsunxi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_CXXIQUOTE) . $(kernel-usb-classes-felsunxi_CXXIQUOTE_END) $(strip $(kernel-usb-classes-felsunxi_CXXFLAGS) $(kernel-usb-classes-felsunxi_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-usb-classes-felsunxi_CXXCMD) $(kernel-usb-classes-felsunxi_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-felsunxi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_CXXIQUOTE) . $(kernel-usb-classes-felsunxi_CXXIQUOTE_END) $(strip $(kernel-usb-classes-felsunxi_CXXFLAGS) $(kernel-usb-classes-felsunxi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-usb-classes-felsunxi_CXXCMD) $(kernel-usb-classes-felsunxi_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-felsunxi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_CXXIQUOTE) . $(kernel-usb-classes-felsunxi_CXXIQUOTE_END) $(strip $(kernel-usb-classes-felsunxi_CXXFLAGS) $(kernel-usb-classes-felsunxi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-usb-classes-felsunxi_CXXCMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-felsunxi_DXXFLAGS) $(kernel-usb-classes-felsunxi_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR),) + $(foreach kernel-usb-classes-felsunxi_CXXFILE,$(kernel-usb-classes-felsunxi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-usb-classes-felsunxi_CXXFILE))),$(kernel-usb-classes-felsunxi_CXXFILE)))) +else + $(foreach kernel-usb-classes-felsunxi_CXXFILE,$(kernel-usb-classes-felsunxi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(basename $(kernel-usb-classes-felsunxi_CXXFILE)))),$(kernel-usb-classes-felsunxi_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-usb-classes-felsunxi_OBJC_NARCHFILES),) + +ifeq (,) +kernel-usb-classes-felsunxi_MOBJC_SRCWILDCARD := % +else +kernel-usb-classes-felsunxi_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR),) + kernel-usb-classes-felsunxi_MOBJC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-felsunxi_OBJC_NARCHFILES)) + kernel-usb-classes-felsunxi_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-felsunxi_OBJC_NARCHFILES)) + kernel-usb-classes-felsunxi_MOBJC_WILDCARD := % +else + kernel-usb-classes-felsunxi_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(kernel-usb-classes-felsunxi_OBJC_NARCHFILES))) + kernel-usb-classes-felsunxi_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(kernel-usb-classes-felsunxi_OBJC_NARCHFILES))) + kernel-usb-classes-felsunxi_MOBJC_WILDCARD := $(kernel-usb-classes-felsunxi_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-usb-classes-felsunxi_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-usb-classes-felsunxi_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-felsunxi_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-felsunxi_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-usb-classes-felsunxi_MOBJC_DIRS := $(foreach dir, $(kernel-usb-classes-felsunxi_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-felsunxi_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-usb-classes-felsunxi_MOBJC_DIRS),) + kernel-usb-classes-felsunxi_MOBJC_DIRS := $(shell echo $(kernel-usb-classes-felsunxi_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-usb-classes-felsunxi_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-usb-classes-felsunxi_CC := $(TARGET_CC) +else + kernel-usb-classes-felsunxi_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS := $(kernel-usb-classes-felsunxi_CPPFLAGS) +kernel-usb-classes-felsunxi_OBJCFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +kernel-usb-classes-felsunxi_OBJCFLAGS := $(kernel-usb-classes-felsunxi_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-usb-classes-felsunxi_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-usb-classes-felsunxi_OBJCFLAGS))) +ifeq ($(kernel-usb-classes-felsunxi_DFLAGS),) + kernel-usb-classes-felsunxi_OBJCDFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +else + kernel-usb-classes-felsunxi_OBJCDFLAGS := $(kernel-usb-classes-felsunxi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-usb-classes-felsunxi_LINK ?= $(strip $(kernel-usb-classes-felsunxi_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-classes-felsunxi_STRIP ?= $(TARGET_STRIP) + kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-usb-classes-felsunxi_CC) $(TARGET_SYSROOT)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS:=$(strip $(kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_OBJCFLAGS:=$(strip $(kernel-usb-classes-felsunxi_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_OBJCDFLAGS:=$(kernel-usb-classes-felsunxi_OBJCDFLAGS) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-usb-classes-felsunxi_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-usb-classes-felsunxi_STRIP ?= $(HOST_STRIP) + kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_OBJCFLAGS)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_OBJCDFLAGS)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(HOST_IQUOTE) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-usb-classes-felsunxi_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-classes-felsunxi_STRIP ?= $(ECHO) >/dev/null + kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_OBJCFLAGS)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_OBJCDFLAGS)) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-usb-classes-felsunxi_MOBJC_TARGETS) $(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-felsunxi_MOBJC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS) +$(kernel-usb-classes-felsunxi_MOBJC_TARGETS) : CFLAGS := $(kernel-usb-classes-felsunxi_OBJCFLAGS) +$(kernel-usb-classes-felsunxi_MOBJC_TARGETS) : $(kernel-usb-classes-felsunxi_MOBJC_WILDCARD).o : $(kernel-usb-classes-felsunxi_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-felsunxi_MOBJC_DTARGETS) : $(kernel-usb-classes-felsunxi_MOBJC_WILDCARD).d : $(kernel-usb-classes-felsunxi_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-felsunxi_OBJCDFLAGS) $(kernel-usb-classes-felsunxi_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-usb-classes-felsunxi_MC_SRCWILDCARD := % +else +kernel-usb-classes-felsunxi_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR),) +kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-felsunxi_CCFILES)) +kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-felsunxi_CCFILES)) +kernel-usb-classes-felsunxi_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(kernel-usb-classes-felsunxi_CCFILES)))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(kernel-usb-classes-felsunxi_CCFILES)))) +else +ifeq (,) + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(kernel-usb-classes-felsunxi_CCFILES))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(kernel-usb-classes-felsunxi_CCFILES))) +else + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-felsunxi_CCFILES)))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-felsunxi_CCFILES)))) +endif +endif +kernel-usb-classes-felsunxi_MC_TGTWILDCARD := $(kernel-usb-classes-felsunxi_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-felsunxi_CCFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-felsunxi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-felsunxi_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-felsunxi_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-felsunxi_MC_DIRS := $(foreach dir, $(kernel-usb-classes-felsunxi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-felsunxi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-felsunxi_MC_DIRS),) + kernel-usb-classes-felsunxi_MC_DIRS := $(shell echo $(kernel-usb-classes-felsunxi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-felsunxi_MC_DIRS) +endif + +endif + +kernel-usb-classes-felsunxi_MC_CPPFLAGS := $(kernel-usb-classes-felsunxi_CPPFLAGS) +kernel-usb-classes-felsunxi_CFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +ifeq ($(kernel-usb-classes-felsunxi_DFLAGS),) + kernel-usb-classes-felsunxi_DFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +else + kernel-usb-classes-felsunxi_DFLAGS := $(kernel-usb-classes-felsunxi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(kernel-usb-classes-felsunxi_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(kernel-usb-classes-felsunxi_DFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_DFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_DFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-felsunxi_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) : $(kernel-usb-classes-felsunxi_MC_TGTWILDCARD).o : $(kernel-usb-classes-felsunxi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-felsunxi_MC_DTARGETS) : $(kernel-usb-classes-felsunxi_MC_TGTWILDCARD).d : $(kernel-usb-classes-felsunxi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-felsunxi_DFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-classes-felsunxi_MC_SRCWILDCARD := % +else +kernel-usb-classes-felsunxi_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR),) +kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-felsunxi_TARGETCCFILES)) +kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-felsunxi_TARGETCCFILES)) +kernel-usb-classes-felsunxi_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(kernel-usb-classes-felsunxi_TARGETCCFILES)))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(kernel-usb-classes-felsunxi_TARGETCCFILES)))) +else +ifeq (,) + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(kernel-usb-classes-felsunxi_TARGETCCFILES))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(kernel-usb-classes-felsunxi_TARGETCCFILES))) +else + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-felsunxi_TARGETCCFILES)))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-felsunxi_TARGETCCFILES)))) +endif +endif +kernel-usb-classes-felsunxi_MC_TGTWILDCARD := $(kernel-usb-classes-felsunxi_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-felsunxi_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-felsunxi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-felsunxi_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-felsunxi_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-felsunxi_MC_DIRS := $(foreach dir, $(kernel-usb-classes-felsunxi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-felsunxi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-felsunxi_MC_DIRS),) + kernel-usb-classes-felsunxi_MC_DIRS := $(shell echo $(kernel-usb-classes-felsunxi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-felsunxi_MC_DIRS) +endif + +endif + +kernel-usb-classes-felsunxi_MC_CPPFLAGS := $(kernel-usb-classes-felsunxi_CPPFLAGS) -D__AROS__ +kernel-usb-classes-felsunxi_CFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +ifeq ($(kernel-usb-classes-felsunxi_DFLAGS),) + kernel-usb-classes-felsunxi_DFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +else + kernel-usb-classes-felsunxi_DFLAGS := $(kernel-usb-classes-felsunxi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(kernel-usb-classes-felsunxi_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(kernel-usb-classes-felsunxi_DFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_DFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_DFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-felsunxi_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) : $(kernel-usb-classes-felsunxi_MC_TGTWILDCARD).o : $(kernel-usb-classes-felsunxi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-felsunxi_MC_DTARGETS) : $(kernel-usb-classes-felsunxi_MC_TGTWILDCARD).d : $(kernel-usb-classes-felsunxi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-felsunxi_DFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-classes-felsunxi_MC_SRCWILDCARD := % +else +kernel-usb-classes-felsunxi_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR)/linklib,) +kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-felsunxi_NLIBARCHFILES)) +kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-felsunxi_NLIBARCHFILES)) +kernel-usb-classes-felsunxi_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-felsunxi_NLIBARCHFILES)))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-felsunxi_NLIBARCHFILES)))) +else +ifeq (,) + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(kernel-usb-classes-felsunxi_NLIBARCHFILES))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(kernel-usb-classes-felsunxi_NLIBARCHFILES))) +else + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-classes-felsunxi_NLIBARCHFILES)))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-classes-felsunxi_NLIBARCHFILES)))) +endif +endif +kernel-usb-classes-felsunxi_MC_TGTWILDCARD := $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-felsunxi_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-felsunxi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-felsunxi_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-felsunxi_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-felsunxi_MC_DIRS := $(foreach dir, $(kernel-usb-classes-felsunxi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-felsunxi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-felsunxi_MC_DIRS),) + kernel-usb-classes-felsunxi_MC_DIRS := $(shell echo $(kernel-usb-classes-felsunxi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-felsunxi_MC_DIRS) +endif + +endif + +kernel-usb-classes-felsunxi_MC_CPPFLAGS := $(kernel-usb-classes-felsunxi_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-classes-felsunxi_CFLAGS := $(kernel-usb-classes-felsunxi_LINKLIBCFLAGS) +ifeq ($(kernel-usb-classes-felsunxi_LINKLIBDFLAGS),) + kernel-usb-classes-felsunxi_DFLAGS := $(kernel-usb-classes-felsunxi_LINKLIBCFLAGS) +else + kernel-usb-classes-felsunxi_DFLAGS := $(kernel-usb-classes-felsunxi_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(kernel-usb-classes-felsunxi_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(kernel-usb-classes-felsunxi_DFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_DFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_DFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-felsunxi_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) : $(kernel-usb-classes-felsunxi_MC_TGTWILDCARD).o : $(kernel-usb-classes-felsunxi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-felsunxi_MC_DTARGETS) : $(kernel-usb-classes-felsunxi_MC_TGTWILDCARD).d : $(kernel-usb-classes-felsunxi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-felsunxi_DFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR)/linklib,) +kernel-usb-classes-felsunxi_MC_SRCWILDCARD := % +else +kernel-usb-classes-felsunxi_MC_SRCWILDCARD := $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR)/linklib,) +kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES)) +kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES)) +kernel-usb-classes-felsunxi_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES)))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR)/linklib,) + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES))) +else + kernel-usb-classes-felsunxi_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(patsubst $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/%,%,$(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES)))) + kernel-usb-classes-felsunxi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(patsubst $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/%,%,$(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES)))) +endif +endif +kernel-usb-classes-felsunxi_MC_TGTWILDCARD := $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-felsunxi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-felsunxi_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-felsunxi_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-felsunxi_MC_DIRS := $(foreach dir, $(kernel-usb-classes-felsunxi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-felsunxi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-felsunxi_MC_DIRS),) + kernel-usb-classes-felsunxi_MC_DIRS := $(shell echo $(kernel-usb-classes-felsunxi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-felsunxi_MC_DIRS) +endif + +endif + +kernel-usb-classes-felsunxi_MC_CPPFLAGS := $(kernel-usb-classes-felsunxi_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-classes-felsunxi_CFLAGS := $(kernel-usb-classes-felsunxi_LINKLIBCFLAGS) +ifeq ($(kernel-usb-classes-felsunxi_LINKLIBDFLAGS),) + kernel-usb-classes-felsunxi_DFLAGS := $(kernel-usb-classes-felsunxi_LINKLIBCFLAGS) +else + kernel-usb-classes-felsunxi_DFLAGS := $(kernel-usb-classes-felsunxi_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(kernel-usb-classes-felsunxi_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(kernel-usb-classes-felsunxi_DFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-felsunxi_DFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-felsunxi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-felsunxi_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-felsunxi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) $(kernel-usb-classes-felsunxi_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_CFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-felsunxi_DFLAGS)) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-felsunxi_MC_TARGETS) $(kernel-usb-classes-felsunxi_MC_DTARGETS) : kernel-usb-classes-felsunxi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-felsunxi_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-felsunxi_MC_CPPFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-felsunxi_CFLAGS) +$(kernel-usb-classes-felsunxi_MC_TARGETS) : $(kernel-usb-classes-felsunxi_MC_TGTWILDCARD).o : $(kernel-usb-classes-felsunxi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-felsunxi_IQUOTE) $(dir $<) $(kernel-usb-classes-felsunxi_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-felsunxi_IQUOTE) . $(kernel-usb-classes-felsunxi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-felsunxi_MC_DTARGETS) : $(kernel-usb-classes-felsunxi_MC_TGTWILDCARD).d : $(kernel-usb-classes-felsunxi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-felsunxi_DFLAGS) $(kernel-usb-classes-felsunxi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-usb-classes-felsunxi_LINKLIBAFILES),) + +ifeq ($(kernel-usb-classes-felsunxi_OBJDIR)/linklib,) +kernel-usb-classes-felsunxi-MA_TARGETS := $(addsuffix .o,$(kernel-usb-classes-felsunxi_LINKLIBAFILES) $(kernel-usb-classes-felsunxi_RELLINKLIBAFILES)) +kernel-usb-classes-felsunxi-MA_WILDCARD := % +else +kernel-usb-classes-felsunxi-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-felsunxi_LINKLIBAFILES) $(kernel-usb-classes-felsunxi_RELLINKLIBAFILES)))) +kernel-usb-classes-felsunxi-MA_WILDCARD := $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-usb-classes-felsunxi-MA_TARGETS) : | $(addsuffix .S,$(kernel-usb-classes-felsunxi_LINKLIBAFILES) $(kernel-usb-classes-felsunxi_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-felsunxi-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-felsunxi-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-felsunxi_LINKLIBAFILES) $(kernel-usb-classes-felsunxi_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-felsunxi-MA_DIRS := $(foreach dir, $(kernel-usb-classes-felsunxi-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-felsunxi-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-felsunxi-MA_DIRS),) + kernel-usb-classes-felsunxi-MA_DIRS := $(shell echo $(kernel-usb-classes-felsunxi-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-usb-classes-felsunxi-MA_DIRS) +endif + +endif + +kernel-usb-classes-felsunxi-MA_ASSEMBLER ?= $(kernel-usb-classes-felsunxi_ASSEMBLER) + +$(kernel-usb-classes-felsunxi-MA_TARGETS) : kernel-usb-classes-felsunxi-MA_CMD:= $(kernel-usb-classes-felsunxi-MA_ASSEMBLER) + +$(kernel-usb-classes-felsunxi-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-usb-classes-felsunxi-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-usb-classes-felsunxi-MA_TARGETS) : $(kernel-usb-classes-felsunxi-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-usb-classes-felsunxi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-usb-classes-felsunxi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-usb-classes-felsunxi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (class,) +kernel-usb-classes-felsunxi_SUFFIX := usbclass +else +kernel-usb-classes-felsunxi_SUFFIX := class +endif + +ifeq (target,target) +kernel-usb-classes-felsunxi_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-usb-classes-felsunxi_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-usb-classes-felsunxi_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-usb-classes-felsunxi_SUFFIX),handler) +kernel-usb-classes-felsunxi_MODULE := $(AROSDIR)/$(kernel-usb-classes-felsunxi_MODDIR)/$(kernel-usb-classes-felsunxi_DEFNAME)-$(kernel-usb-classes-felsunxi_SUFFIX) +else +kernel-usb-classes-felsunxi_MODULE := $(AROSDIR)/$(kernel-usb-classes-felsunxi_MODDIR)/$(kernel-usb-classes-felsunxi_DEFNAME).$(kernel-usb-classes-felsunxi_SUFFIX) +endif +kernel-usb-classes-felsunxi_KOBJ := $(KOBJSDIR)/$(kernel-usb-classes-felsunxi_DEFNAME)_$(kernel-usb-classes-felsunxi_SUFFIX).o +else +kernel-usb-classes-felsunxi_MODULE := +kernel-usb-classes-felsunxi_KOBJ := +endif + +kernel-usb-classes-felsunxi-quick : kernel-usb-classes-felsunxi +kernel-usb-classes-felsunxi : $(kernel-usb-classes-felsunxi_MODULE) $(kernel-usb-classes-felsunxi_LINKLIB) $(kernel-usb-classes-felsunxi_RELLINKLIB) +ifeq (M,M) +kernel-usb-classes-felsunxi-kobj : $(kernel-usb-classes-felsunxi_KOBJ) $(kernel-usb-classes-felsunxi_LINKLIB) $(kernel-usb-classes-felsunxi_RELLINKLIB) +kernel-usb-classes-felsunxi-kobj-quick : $(kernel-usb-classes-felsunxi_KOBJ) $(kernel-usb-classes-felsunxi_LINKLIB) $(kernel-usb-classes-felsunxi_RELLINKLIB) +endif +ifeq (M,M) +kernel-usb-classes-felsunxi-linklib : $(kernel-usb-classes-felsunxi_LINKLIB) $(kernel-usb-classes-felsunxi_RELLINKLIB) +endif + +kernel-usb-classes-felsunxi_OBJS := $(addsuffix .o,$(kernel-usb-classes-felsunxi_STARTFILES)) $(kernel-usb-classes-felsunxi_ARCHOBJS) \ + $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(kernel-usb-classes-felsunxi_C_NARCHFILES:=.o) $(kernel-usb-classes-felsunxi_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (usbclass,handler) +kernel-usb-classes-felsunxi_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (felsunxi,con) + kernel-usb-classes-felsunxi_ERR := $(notdir $(kernel-usb-classes-felsunxi_MODULE)).err +else + kernel-usb-classes-felsunxi_ERR := felsunxi.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-usb-classes-felsunxi_DEFNAME)_LDFLAGS) $(kernel-usb-classes-felsunxi_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-usb-classes-felsunxi_LIBS) $($(kernel-usb-classes-felsunxi_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-usb-classes-felsunxi_MODULE) : LIB_NAMES := $(kernel-usb-classes-felsunxi_LIBS) $($(kernel-usb-classes-felsunxi_DEFNAME)_LIBS) +$(kernel-usb-classes-felsunxi_MODULE) : OBJS := $(kernel-usb-classes-felsunxi_STARTOBJS) $(kernel-usb-classes-felsunxi_OBJS) $(USER_OBJS) +$(kernel-usb-classes-felsunxi_MODULE) : ENDTAG := $(kernel-usb-classes-felsunxi_ENDOBJS) +$(kernel-usb-classes-felsunxi_MODULE) : ERR := $(kernel-usb-classes-felsunxi_ERR) +$(kernel-usb-classes-felsunxi_MODULE) : OBJDIR := $(kernel-usb-classes-felsunxi_OBJDIR) +$(kernel-usb-classes-felsunxi_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-usb-classes-felsunxi_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-usb-classes-felsunxi_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-usb-classes-felsunxi_MODULE) : $(kernel-usb-classes-felsunxi_STARTOBJS) $(kernel-usb-classes-felsunxi_OBJS) $(USER_OBJS) $(kernel-usb-classes-felsunxi_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-usb-classes-felsunxi_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-usb-classes-felsunxi_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-usb-classes-felsunxi_LC_LINKLIBNAME := $(shell echo $(kernel-usb-classes-felsunxi_LINKLIBNAME) | tr A-Z a-z) +kernel-usb-classes-felsunxi_LC_MODNAME := $(shell echo felsunxi | tr A-Z a-z) +ifneq ($(kernel-usb-classes-felsunxi_LINKLIB),) + +ifeq (target,target) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(HOST_AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(KERNEL_AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : $(kernel-usb-classes-felsunxi_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-felsunxi_AR) $@ $^ + $(Q)$(kernel-usb-classes-felsunxi_RANLIB) $@ +ifneq ($(kernel-usb-classes-felsunxi_LC_MODNAME),$(kernel-usb-classes-felsunxi_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-classes-felsunxi_LIBDIR)/libfelsunxi$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/libfelsunxi$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-felsunxi_LIBDIR)/libfelsunxi$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(HOST_AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/libfelsunxi$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-felsunxi_LIBDIR)/libfelsunxi$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(KERNEL_AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/libfelsunxi$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-felsunxi_LIBDIR)/libfelsunxi$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : $(kernel-usb-classes-felsunxi_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-felsunxi_AR) $@ $^ + $(Q)$(kernel-usb-classes-felsunxi_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-classes-felsunxi_LINKLIB),) +$(kernel-usb-classes-felsunxi_LINKLIB) : | $(kernel-usb-classes-felsunxi_LIBDIR) +else +$(kernel-usb-classes-felsunxi_LINKLIB) :: $(kernel-usb-classes-felsunxi_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-felsunxi_LIBDIR) + +endif + +ifneq ($(kernel-usb-classes-felsunxi_RELLINKLIB),) + +ifeq (target,target) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(HOST_AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(KERNEL_AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_LINKLIBNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : $(kernel-usb-classes-felsunxi_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-felsunxi_AR) $@ $^ + $(Q)$(kernel-usb-classes-felsunxi_RANLIB) $@ +ifneq ($(kernel-usb-classes-felsunxi_LC_MODNAME),$(kernel-usb-classes-felsunxi_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_DEFNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_DEFNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_DEFNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(HOST_AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_DEFNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_DEFNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_AR:=$(KERNEL_AR) +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_DEFNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : kernel-usb-classes-felsunxi_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-felsunxi_LIBDIR)/lib$(kernel-usb-classes-felsunxi_DEFNAME)_rel$(kernel-usb-classes-felsunxi_LIBSUFFIX).a : $(kernel-usb-classes-felsunxi_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-felsunxi_AR) $@ $^ + $(Q)$(kernel-usb-classes-felsunxi_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-classes-felsunxi_RELLINKLIB),) +$(kernel-usb-classes-felsunxi_RELLINKLIB) : | $(kernel-usb-classes-felsunxi_LIBDIR) +else +$(kernel-usb-classes-felsunxi_RELLINKLIB) :: $(kernel-usb-classes-felsunxi_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-felsunxi_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-usb-classes-felsunxi_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-usb-classes-felsunxi_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-usb-classes-felsunxi_SYMBOLS := $(kernel-usb-classes-felsunxi_KBASE) + +kernel-usb-classes-felsunxi_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-usb-classes-felsunxi_KOBJ_LIBS := $(filter-out $(kernel-usb-classes-felsunxi_KLIB),$(kernel-usb-classes-felsunxi_LIBS)) $(kernel-usb-classes-felsunxi_KAUTOLIB) +$(kernel-usb-classes-felsunxi_KOBJ) : LINKLIBS:=$(kernel-usb-classes-felsunxi_KOBJ_LIBS) $($(kernel-usb-classes-felsunxi_DEFNAME)_LIBS) +$(kernel-usb-classes-felsunxi_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-usb-classes-felsunxi_SYMBOLS)) +$(kernel-usb-classes-felsunxi_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-usb-classes-felsunxi_KOBJ) : $(kernel-usb-classes-felsunxi_OBJS) $(USER_OBJS) $(kernel-usb-classes-felsunxi_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-usb-classes-felsunxi_DEPS := $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/,$(notdir $(kernel-usb-classes-felsunxi_CCFILES:=.d) $(kernel-usb-classes-felsunxi_TARGETCCFILES:=.d) $(kernel-usb-classes-felsunxi_CXXFILES:=.d))) $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-felsunxi_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-usb-classes-felsunxi_DEPS),) + ifneq (kernel-usb-classes-felsunxi kernel-usb-classes-felsunxi-quick kernel-usb-classes-felsunxi-kobj kernel-usb-classes-felsunxi-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-usb-classes-felsunxi kernel-usb-classes-felsunxi-quick kernel-usb-classes-felsunxi-kobj kernel-usb-classes-felsunxi-kobj-quick),) + -include $(kernel-usb-classes-felsunxi_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-usb-classes-felsunxi_DEPS) + endif + endif +endif + +$(kernel-usb-classes-felsunxi_OBJS) $(kernel-usb-classes-felsunxi_DEPS) : | $(kernel-usb-classes-felsunxi_OBJDIR)/linklib + +ifneq ($(kernel-usb-classes-felsunxi_OBJS) $(kernel-usb-classes-felsunxi_DEPS) $(kernel-usb-classes-felsunxi_MODULE) $(kernel-usb-classes-felsunxi_KOBJ),) +$(kernel-usb-classes-felsunxi_OBJS) $(kernel-usb-classes-felsunxi_DEPS) $(kernel-usb-classes-felsunxi_MODULE) $(kernel-usb-classes-felsunxi_KOBJ) : | $(kernel-usb-classes-felsunxi_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-felsunxi_MODDIR) $(KOBJSDIR) +else +$(kernel-usb-classes-felsunxi_OBJS) $(kernel-usb-classes-felsunxi_DEPS) $(kernel-usb-classes-felsunxi_MODULE) $(kernel-usb-classes-felsunxi_KOBJ) :: $(kernel-usb-classes-felsunxi_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-felsunxi_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-felsunxi_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-felsunxi_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-usb-classes-felsunxi kernel-usb-classes-felsunxi-includes kernel-usb-classes-felsunxi-quick kernel-usb-classes-felsunxi-kobj kernel-usb-classes-felsunxi-kobj-quick),) # Only for this target these deps are wanted + +kernel-usb-classes-felsunxi_DFILE_DEPS := $(kernel-usb-classes-felsunxi_LIBDEFSINC) $(kernel-usb-classes-felsunxi_DEFLIBDEFSINC) \ + $(addprefix $(kernel-usb-classes-felsunxi_INCDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) +$(kernel-usb-classes-felsunxi_DEPS) : $(kernel-usb-classes-felsunxi_DFILE_DEPS) +endif + +kernel-usb-classes-felsunxi_TOCLEAN := $(kernel-usb-classes-felsunxi_OBJS) $(kernel-usb-classes-felsunxi_DEPS) \ + $(kernel-usb-classes-felsunxi_MODULE) $(kernel-usb-classes-felsunxi_LINKLIB) $(kernel-usb-classes-felsunxi_KOBJ) \ + $(kernel-usb-classes-felsunxi_OBJDIR)/Makefile.felsunxiusbclass \ + $(addprefix $(kernel-usb-classes-felsunxi_OBJDIR)/include/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-classes-felsunxi_INCDIR)/,$($(kernel-usb-classes-felsunxi_DEFNAME)_INCLUDES)) \ + $(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_geninc $(kernel-usb-classes-felsunxi_OBJDIR)/felsunxi_incs \ + $(addsuffix .c,$(kernel-usb-classes-felsunxi_LINKLIBFILES)) $(kernel-usb-classes-felsunxi_LINKLIBOBJS) $(kernel-usb-classes-felsunxi_LIBDEFSINC) \ + $(kernel-usb-classes-felsunxi_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-usb-classes-felsunxi_STARTFILES) $(kernel-usb-classes-felsunxi_ENDFILES)) \ + $(kernel-usb-classes-felsunxi_ENDOBJS) +kernel-usb-classes-felsunxi-clean : FILES := $(kernel-usb-classes-felsunxi_TOCLEAN) +kernel-usb-classes-felsunxi-clean :: + $(Q)$(ECHO) "Cleaning up for module felsunxi" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-usb-classes-felsunxi_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/classes/hubss/mmakefile b/rom/usb/classes/hubss/mmakefile new file mode 100644 index 00000000000..2a2e0632753 --- /dev/null +++ b/rom/usb/classes/hubss/mmakefile @@ -0,0 +1,1662 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_LDFLAGS := -static + +FILES := hubss_class + +#MM- kernel-usb-classes-hubss : kernel-usb-usbclass kernel-usb-poseidon-includes + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #M includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-usb-classes-hubss +#MM kernel-usb-classes-hubss-quick +#MM kernel-usb-classes-hubss-makefile +#MM kernel-usb-classes-hubss-clean + +# ABI targets: +#M- includes-all : kernel-usb-classes-hubss-includes +#M- linklibs-hubss: kernel-usb-classes-hubss-linklib +#M- linklibs-hubss_rel : kernel-usb-classes-hubss-linklib +#M- includes-hubss: kernel-usb-classes-hubss-includes +#M- includes-hubss_rel : kernel-usb-classes-hubss-includes +#M- kernel-usb-classes-hubss : kernel-usb-classes-hubss-includes core-linklibs linklibs-arossupport +#M kernel-usb-classes-hubss-linklib : kernel-usb-classes-hubss-includes includes-arossupport +#M- kernel-usb-classes-hubss-quick : kernel-usb-classes-hubss-includes-quick +#M kernel-usb-classes-hubss-includes : kernel-usb-classes-hubss-makefile kernel-usb-classes-hubss-includes-dirs \ +#M includes-generate-deps kernel-usb-classes-hubss-fd +#M kernel-usb-classes-hubss-includes-quick +#M kernel-usb-classes-hubss-includes-dirs +#M kernel-usb-classes-hubss-fd + +# Library targets +#MM kernel-usb-classes-hubss-kobj : core-linklibs linklibs-arossupport +#MM kernel-usb-classes-hubss-kobj-quick : + +# Library with ABI targets: +#M kernel-usb-classes-hubss-kobj : kernel-usb-classes-hubss-includes core-linklibs linklibs-arossupport +#M kernel-usb-classes-hubss-kobj-quick : kernel-usb-classes-hubss-includes-quick + +# All MetaMake targets defined by this macro +kernel-usb-classes-hubss_ALLTARGETS := kernel-usb-classes-hubss kernel-usb-classes-hubss-quick kernel-usb-classes-hubss-clean + +ifeq (M,M) +kernel-usb-classes-hubss_ALLTARGETS += kernel-usb-classes-hubss-kobj kernel-usb-classes-hubss-kobj-quick +endif + +ifeq (,M) +kernel-usb-classes-hubss_ALLTARGETS += kernel-usb-classes-hubss-includes \ + kernel-usb-classes-hubss-includes-quick kernel-usb-classes-hubss-includes-dirs \ + kernel-usb-classes-hubss-linklib kernel-usb-classes-hubss-fd +endif + +.PHONY : $(kernel-usb-classes-hubss_ALLTARGETS) kernel-usb-classes-hubss-makefile + +ifeq (hubss,) +$(error using %build_module: modname may not be empty) +endif +ifeq (usbclass,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-usb-classes-hubss_DEFNAME := hubss_ +else + kernel-usb-classes-hubss_DEFNAME := hubss +endif +kernel-usb-classes-hubss_DEFLINKLIBNAME := $(kernel-usb-classes-hubss_DEFNAME) +ifneq (,) + kernel-usb-classes-hubss_LINKLIBNAME := +else + kernel-usb-classes-hubss_LINKLIBNAME = $(kernel-usb-classes-hubss_DEFLINKLIBNAME) +endif +kernel-usb-classes-hubss_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-usb-classes-hubss_DEFCPPFLAGS += -I +endif +kernel-usb-classes-hubss_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-usb-classes-hubss_DFLAGS := +else + kernel-usb-classes-hubss_DFLAGS = $(kernel-usb-classes-hubss_DEFDFLAGS) +endif +kernel-usb-classes-hubss_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-usb-classes-hubss_DXXFLAGS := +else + kernel-usb-classes-hubss_DXXFLAGS = $(kernel-usb-classes-hubss_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-classes-hubss_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-classes-hubss_DEFDFLAGS)) +kernel-usb-classes-hubss_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-classes-hubss_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-classes-hubss_FUNCINSTR := yes +kernel-usb-classes-hubss_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-classes-hubss_DEFDFLAGS)) +kernel-usb-classes-hubss_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-classes-hubss_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-usb-classes-hubss_OBJDIR := +else +kernel-usb-classes-hubss_OBJDIR := $(OBJDIR)/$(kernel-usb-classes-hubss_DEFNAME) +endif +ifneq (,) +kernel-usb-classes-hubss_OBJDIR := $(kernel-usb-classes-hubss_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-usb-classes-hubss-makefile := $(kernel-usb-classes-hubss_OBJDIR)/Makefile.$(kernel-usb-classes-hubss_DEFNAME)usbclass +kernel-usb-classes-hubss-genmakefile : $(kernel-usb-classes-hubss-makefile) + + +kernel-usb-classes-hubss-genmakefile_OPTS := +ifneq (,) + kernel-usb-classes-hubss-genmakefile_OPTS += -f + kernel-usb-classes-hubss-genmakefile_MODNAME := hubss_ +else + kernel-usb-classes-hubss-genmakefile_MODNAME := hubss +endif +kernel-usb-classes-hubss-genmakefile_TARGET := Makefile.$(kernel-usb-classes-hubss-genmakefile_MODNAME)usbclass +kernel-usb-classes-hubss-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-hubss-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-hubss-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-hubss-genmakefile_OPTS += -c + kernel-usb-classes-hubss-genmakefile_DEPS += + endif +else + kernel-usb-classes-hubss-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/hubss.conf + kernel-usb-classes-hubss-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/hubss.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-hubss-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-hubss-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-hubss-genmakefile_OPTS += -o + kernel-usb-classes-hubss-genmakefile_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-hubss-genmakefile_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-hubss_OBJDIR),) + kernel-usb-classes-hubss-genmakefile_OPTS += -d $(kernel-usb-classes-hubss_OBJDIR) + kernel-usb-classes-hubss-genmakefile_TARGET := $(kernel-usb-classes-hubss_OBJDIR)/$(kernel-usb-classes-hubss-genmakefile_TARGET) +endif + +$(kernel-usb-classes-hubss-genmakefile_TARGET) : OPTS := $(kernel-usb-classes-hubss-genmakefile_OPTS) +$(kernel-usb-classes-hubss-genmakefile_TARGET) : MODNAME := hubss +$(kernel-usb-classes-hubss-genmakefile_TARGET) : MODTYPE := usbclass +$(kernel-usb-classes-hubss-genmakefile_TARGET) : $(kernel-usb-classes-hubss-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-usb-classes-hubss-makefile),) +$(kernel-usb-classes-hubss-makefile) : | $(kernel-usb-classes-hubss_OBJDIR) +else +$(kernel-usb-classes-hubss-makefile) :: $(kernel-usb-classes-hubss_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-hubss_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-usb-classes-hubss_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-usb-classes-hubss-makefile) + +kernel-usb-classes-hubss_DEFMODDIR := $($(kernel-usb-classes-hubss_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-usb-classes-hubss_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-usb-classes-hubss_DEFMODDIR) +endif +ifneq (,) + kernel-usb-classes-hubss_MODDIR := +else + kernel-usb-classes-hubss_MODDIR := $(kernel-usb-classes-hubss_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-usb-classes-hubss_INCDIR := +else +kernel-usb-classes-hubss_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-usb-classes-hubss_LIBDEFSINC := $(kernel-usb-classes-hubss_OBJDIR)/include/$(kernel-usb-classes-hubss_DEFNAME)_libdefs.h +kernel-usb-classes-hubss_DEFLIBDEFSINC := $(kernel-usb-classes-hubss_OBJDIR)/include/$(kernel-usb-classes-hubss_DEFNAME)_deflibdefs.h + +ifeq (,M) +kernel-usb-classes-hubss-includes-quick : kernel-usb-classes-hubss-includes +kernel-usb-classes-hubss-includes : $(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-classes-hubss_INCDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) \ + $(kernel-usb-classes-hubss_LIBDEFSINC) $(kernel-usb-classes-hubss_DEFLIBDEFSINC) + +ifneq ($($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-usb-classes-hubss-includes_MODNAME := hubss_ +else + kernel-usb-classes-hubss-includes_MODNAME := hubss +endif + +ifneq ($($(kernel-usb-classes-hubss-includes_MODNAME)_INCLUDES),) + +kernel-usb-classes-hubss-includes_TARGETS := $($(kernel-usb-classes-hubss-includes_MODNAME)_INCLUDES) + +kernel-usb-classes-hubss-includes_DEPS := $(GENMODULE) +kernel-usb-classes-hubss-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-hubss-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-hubss-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-hubss-includes_OPTS += -c + kernel-usb-classes-hubss-includes_DEPS += + endif +else + kernel-usb-classes-hubss-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/hubss.conf + kernel-usb-classes-hubss-includes_DEPS += $(SRCDIR)/$(CURDIR)/hubss.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-hubss-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-hubss-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-hubss-includes_OPTS += -o + kernel-usb-classes-hubss-includes_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-hubss-includes_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-hubss_OBJDIR)/include,) + kernel-usb-classes-hubss-includes_OPTS += -d $(kernel-usb-classes-hubss_OBJDIR)/include + kernel-usb-classes-hubss-includes_TARGETS := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/include/,$(kernel-usb-classes-hubss-includes_TARGETS)) + kernel-usb-classes-hubss-includes_GENINCFLAG=$(kernel-usb-classes-hubss_OBJDIR)/include/.hubss.usbclass-includes +else + kernel-usb-classes-hubss-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.hubss.usbclass-includes +endif + +$(kernel-usb-classes-hubss-includes_TARGETS) : $(kernel-usb-classes-hubss-includes_DEPS) $(kernel-usb-classes-hubss-includes_GENINCFLAG) + +$(kernel-usb-classes-hubss-includes_GENINCFLAG) : OPTS := $(kernel-usb-classes-hubss-includes_OPTS) +$(kernel-usb-classes-hubss-includes_GENINCFLAG) : MODNAME := hubss +$(kernel-usb-classes-hubss-includes_GENINCFLAG) : MODTYPE := usbclass +$(kernel-usb-classes-hubss-includes_GENINCFLAG) : $(kernel-usb-classes-hubss-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-usb-classes-hubss_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) : | $(kernel-usb-classes-hubss_OBJDIR)/hubss_geninc + +$(kernel-usb-classes-hubss_OBJDIR)/hubss_geninc : COPYSRCDIR := $(kernel-usb-classes-hubss_OBJDIR)/include +$(kernel-usb-classes-hubss_OBJDIR)/hubss_geninc : TGTDIR := $(GENINCDIR) +$(kernel-usb-classes-hubss_OBJDIR)/hubss_geninc : FILES := $($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES) +$(kernel-usb-classes-hubss_OBJDIR)/hubss_geninc : $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/include/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-usb-classes-hubss_OBJDIR)/include + +$(addprefix $(kernel-usb-classes-hubss_INCDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) : | $(kernel-usb-classes-hubss_OBJDIR)/hubss_incs + +$(kernel-usb-classes-hubss_OBJDIR)/hubss_incs : COPYSRCDIR := $(kernel-usb-classes-hubss_OBJDIR)/include +$(kernel-usb-classes-hubss_OBJDIR)/hubss_incs : TGTDIR := $(kernel-usb-classes-hubss_INCDIR) +$(kernel-usb-classes-hubss_OBJDIR)/hubss_incs : FILES := $($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES) +$(kernel-usb-classes-hubss_OBJDIR)/hubss_incs : $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/include/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-usb-classes-hubss_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)))) + +TMPhubss_INCDIRS := \ + $(kernel-usb-classes-hubss_OBJDIR)/include $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/include/,$(kernel-usb-classes-hubss_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-usb-classes-hubss_INCDIRS)) \ + $(kernel-usb-classes-hubss_INCDIR) $(addprefix $(kernel-usb-classes-hubss_INCDIR)/,$(kernel-usb-classes-hubss_INCDIRS)) + +ifneq (kernel-usb-classes-hubss-includes-dirs,) +kernel-usb-classes-hubss-includes-dirs : | $(TMPhubss_INCDIRS) +else +kernel-usb-classes-hubss-includes-dirs :: $(TMPhubss_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPhubss_INCDIRS) + + +endif + +endif + + +kernel-usb-classes-hubss-genlibdefs_OPTS := +ifneq (,) + kernel-usb-classes-hubss-genlibdefs_OPTS += -f + kernel-usb-classes-hubss-genlibdefs_MODNAME := hubss_ +else + kernel-usb-classes-hubss-genlibdefs_MODNAME := hubss +endif +kernel-usb-classes-hubss-genlibdefs_TARGET := $(kernel-usb-classes-hubss-genlibdefs_MODNAME)_libdefs.h +kernel-usb-classes-hubss-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-hubss-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-hubss-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-hubss-genlibdefs_OPTS += -c + kernel-usb-classes-hubss-genlibdefs_DEPS += + endif +else + kernel-usb-classes-hubss-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/hubss.conf + kernel-usb-classes-hubss-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/hubss.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-hubss-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-hubss-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-hubss-genlibdefs_OPTS += -o + kernel-usb-classes-hubss-genlibdefs_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-hubss-genlibdefs_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-hubss_OBJDIR)/include,) + kernel-usb-classes-hubss-genlibdefs_OPTS += -d $(kernel-usb-classes-hubss_OBJDIR)/include + kernel-usb-classes-hubss-genlibdefs_TARGET := $(kernel-usb-classes-hubss_OBJDIR)/include/$(kernel-usb-classes-hubss-genlibdefs_TARGET) +endif +ifneq (,) + kernel-usb-classes-hubss-genlibdefs_OPTS += -v +endif + +$(kernel-usb-classes-hubss-genlibdefs_TARGET) : OPTS := $(kernel-usb-classes-hubss-genlibdefs_OPTS) +$(kernel-usb-classes-hubss-genlibdefs_TARGET) : MODNAME := hubss +$(kernel-usb-classes-hubss-genlibdefs_TARGET) : MODTYPE := usbclass +$(kernel-usb-classes-hubss-genlibdefs_TARGET) : $(kernel-usb-classes-hubss-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-usb-classes-hubss_DEFLIBDEFSINC) : FILENAME := $(kernel-usb-classes-hubss_LIBDEFSINC) +$(kernel-usb-classes-hubss_DEFLIBDEFSINC) : $(kernel-usb-classes-hubss_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-usb-classes-hubss_LIBDEFSINC) $(kernel-usb-classes-hubss_DEFLIBDEFSINC) : | $(kernel-usb-classes-hubss_OBJDIR)/include + +ifneq (kernel-usb-classes-hubss-includes-dirs,) +kernel-usb-classes-hubss-includes-dirs : | $(kernel-usb-classes-hubss_OBJDIR)/include +else +kernel-usb-classes-hubss-includes-dirs :: $(kernel-usb-classes-hubss_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-usb-classes-hubss_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-usb-classes-hubss-genmodfiles_OPTS := +ifneq (,) + kernel-usb-classes-hubss-genmodfiles_OPTS += -f + kernel-usb-classes-hubss-genmodfiles_MODNAME := hubss_ +else + kernel-usb-classes-hubss-genmodfiles_MODNAME := hubss +endif +kernel-usb-classes-hubss-genmodfiles_GENTARGETS := $($(kernel-usb-classes-hubss-genmodfiles_MODNAME)_STARTFILES) $($(kernel-usb-classes-hubss-genmodfiles_MODNAME)_ENDFILES) +kernel-usb-classes-hubss-genmodfiles_STUBTARGETS := $($(kernel-usb-classes-hubss-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-usb-classes-hubss-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-usb-classes-hubss-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-usb-classes-hubss-genmodfiles_GENTARGETS)) +kernel-usb-classes-hubss-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-usb-classes-hubss-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-usb-classes-hubss-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-usb-classes-hubss-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-usb-classes-hubss-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-hubss-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-hubss-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-hubss-genmodfiles_OPTS += -c + kernel-usb-classes-hubss-genmodfiles_DEPS += + endif +else + kernel-usb-classes-hubss-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/hubss.conf + kernel-usb-classes-hubss-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/hubss.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-classes-hubss-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-classes-hubss-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-classes-hubss-genmodfiles_OPTS += -o + kernel-usb-classes-hubss-genmodfiles_DEPS += + endif +endif +ifneq (class,) + kernel-usb-classes-hubss-genmodfiles_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-hubss_OBJDIR),) + kernel-usb-classes-hubss-genmodfiles_OPTS += -d $(kernel-usb-classes-hubss_OBJDIR) + kernel-usb-classes-hubss-genmodfiles_TARGETDIR := $(shell echo $(kernel-usb-classes-hubss_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-hubss-genmodfiles_GENTARGETS := $(addprefix $(kernel-usb-classes-hubss-genmodfiles_TARGETDIR)/,$(kernel-usb-classes-hubss-genmodfiles_GENTARGETS)) + kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG=$(kernel-usb-classes-hubss-genmodfiles_TARGETDIR)/.hubss.usbclass-genfiles +else + kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.hubss.usbclass-genfiles +endif +ifneq ($(kernel-usb-classes-hubss_OBJDIR)/linklib,) + kernel-usb-classes-hubss-genmodfiles_OPTS += -l $(kernel-usb-classes-hubss_OBJDIR)/linklib + kernel-usb-classes-hubss-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-usb-classes-hubss_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-hubss-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-classes-hubss-genmodfiles_STUBTARGETDIR)/,$(kernel-usb-classes-hubss-genmodfiles_STUBTARGETS)) + kernel-usb-classes-hubss-genmodfiles_TARGETDIRS += $(kernel-usb-classes-hubss_OBJDIR)/linklib +else +ifneq ($(kernel-usb-classes-hubss_OBJDIR),) + kernel-usb-classes-hubss-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-classes-hubss-genmodfiles_TARGETDIR)/,$(kernel-usb-classes-hubss-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-usb-classes-hubss-genmodfiles_TARGETS := $(kernel-usb-classes-hubss-genmodfiles_GENTARGETS) $(kernel-usb-classes-hubss-genmodfiles_STUBTARGETS) +ifneq ($(kernel-usb-classes-hubss-genmodfiles_TARGETDIRS),) +$(kernel-usb-classes-hubss-genmodfiles_TARGETS) : | $(kernel-usb-classes-hubss-genmodfiles_TARGETDIRS) +endif + +$(kernel-usb-classes-hubss-genmodfiles_TARGETS) : $(kernel-usb-classes-hubss-genmodfiles_DEPS) $(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG) + +$(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-usb-classes-hubss-genmodfiles_OPTS) +$(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG) : MODNAME := hubss +$(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG) : MODTYPE := usbclass +$(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG) : $(kernel-usb-classes-hubss-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG) : $(kernel-usb-classes-hubss_DEFLIBDEFSINC) $(kernel-usb-classes-hubss-makefile) + + +ifneq ($(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG),) +$(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG) : | $(kernel-usb-classes-hubss_OBJDIR)/linklib +else +$(kernel-usb-classes-hubss-genmodfiles_GENFILEFLAG) :: $(kernel-usb-classes-hubss_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-usb-classes-hubss_OBJDIR)/linklib + + +ifeq (,M) +## Create FD file +ifeq (,) +kernel-usb-classes-hubss_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-usb-classes-hubss_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-usb-classes-hubss-fd : $(kernel-usb-classes-hubss_FDDIR)/hubss_lib.fd + + +TMP_TARGET := hubss_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/hubss.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/hubss.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (class,) + TMP_OPTS += -s class +endif +ifneq ($(kernel-usb-classes-hubss_FDDIR),) + TMP_OPTS += -d $(kernel-usb-classes-hubss_FDDIR) + TMP_TARGET := $(kernel-usb-classes-hubss_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := hubss +$(TMP_TARGET) : MODTYPE := usbclass +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-usb-classes-hubss_FDDIR)/hubss_lib.fd : | $(kernel-usb-classes-hubss_FDDIR) + + +ifneq (kernel-usb-classes-hubss-fd-setup,) +kernel-usb-classes-hubss-fd-setup : | $(kernel-usb-classes-hubss_FDDIR) +else +kernel-usb-classes-hubss-fd-setup :: $(kernel-usb-classes-hubss_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-hubss_FDDIR) + +endif + +## Compilation +## +kernel-usb-classes-hubss_FILES := $(FILES) +kernel-usb-classes-hubss_OBJCFILES := +kernel-usb-classes-hubss_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-usb-classes-hubss_LIBFILES := +kernel-usb-classes-hubss_LIBS := arossupport + +kernel-usb-classes-hubss_FDIRS := $(sort $(dir $(kernel-usb-classes-hubss_FILES))) + +kernel-usb-classes-hubss_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-usb-classes-hubss_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-usb-classes-hubss_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-usb-classes-hubss_FILTERARCH = $(filter-out $(call kernel-usb-classes-hubss_MATCHARCH,$(1),$(2)),$(2)) +kernel-usb-classes-hubss_STARTFILES := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_STARTFILES)) +kernel-usb-classes-hubss_ENDFILES := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_ENDFILES)) + +kernel-usb-classes-hubss_ARCHOBJS := $(wildcard $(kernel-usb-classes-hubss_OBJDIR)/arch/*.o) +kernel-usb-classes-hubss_LIBARCHOBJS := $(wildcard $(kernel-usb-classes-hubss_OBJDIR)/linklib/arch/*.o) +kernel-usb-classes-hubss_ARCHFILES := $(basename $(notdir $(kernel-usb-classes-hubss_ARCHOBJS))) +kernel-usb-classes-hubss_LIBARCHFILES := $(basename $(notdir $(kernel-usb-classes-hubss_LIBARCHOBJS))) +kernel-usb-classes-hubss_C_NARCHFILES := $(call kernel-usb-classes-hubss_FILTERARCH,$(kernel-usb-classes-hubss_ARCHFILES),$(kernel-usb-classes-hubss_FILES)) +kernel-usb-classes-hubss_CXX_NARCHFILES := $(call kernel-usb-classes-hubss_FILTERARCH,$(kernel-usb-classes-hubss_ARCHFILES),$(kernel-usb-classes-hubss_CXXFILES)) +kernel-usb-classes-hubss_OBJC_NARCHFILES := $(call kernel-usb-classes-hubss_FILTERARCH,$(kernel-usb-classes-hubss_ARCHFILES),$(kernel-usb-classes-hubss_OBJCFILES)) +kernel-usb-classes-hubss_NLIBARCHFILES := $(call kernel-usb-classes-hubss_FILTERARCH,$(kernel-usb-classes-hubss_LIBARCHFILES),$(kernel-usb-classes-hubss_LIBFILES)) +kernel-usb-classes-hubss_ARCHNLIBFILES := $(call kernel-usb-classes-hubss_FILTERARCH,$(kernel-usb-classes-hubss_LIBFILES),$(kernel-usb-classes-hubss_LIBARCHFILES)) + +kernel-usb-classes-hubss_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-usb-classes-hubss_OBJDIR)/include -include $(kernel-usb-classes-hubss_DEFLIBDEFSINC)) +ifneq (,) +kernel-usb-classes-hubss_CPPFLAGS += -I +endif +kernel-usb-classes-hubss_LINKLIBCPPFLAGS := $(kernel-usb-classes-hubss_CPPFLAGS) +kernel-usb-classes-hubss_CPPFLAGS += $(strip $($(kernel-usb-classes-hubss_DEFNAME)_CPPFLAGS)) +kernel-usb-classes-hubss_LINKLIBCPPFLAGS += $(strip $($(kernel-usb-classes-hubss_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-usb-classes-hubss_CFLAGS := $(strip $(CFLAGS) $($(kernel-usb-classes-hubss_DEFNAME)_CFLAGS)) +kernel-usb-classes-hubss_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-usb-classes-hubss_DEFNAME)_LINKLIBCFLAGS)) +kernel-usb-classes-hubss_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-usb-classes-hubss_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-classes-hubss_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-usb-classes-hubss_CFLAGS := $(strip $(kernel-usb-classes-hubss_LTOFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +kernel-usb-classes-hubss_LINKLIBCFLAGS := $(strip $(kernel-usb-classes-hubss_LTOFLAGS) $(kernel-usb-classes-hubss_LINKLIBCFLAGS)) +kernel-usb-classes-hubss_CXXFLAGS := $(strip $(kernel-usb-classes-hubss_LTOFLAGS) $(kernel-usb-classes-hubss_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-classes-hubss_SUBSTNULL := +kernel-usb-classes-hubss_SUBSTSPACE := $(kernel-usb-classes-hubss_SUBSTNULL) # +kernel-usb-classes-hubss_SUBSTCOMMA := , +kernel-usb-classes-hubss_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-usb-classes-hubss_SUBSTSPACE),$(kernel-usb-classes-hubss_SUBSTCOMMA),$(strip $($(kernel-usb-classes-hubss_DEFNAME)_STARTFILES)))) +kernel-usb-classes-hubss_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-usb-classes-hubss_CFLAGS := $(strip $(kernel-usb-classes-hubss_INSTRFUNCFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +kernel-usb-classes-hubss_CXXFLAGS := $(strip $(kernel-usb-classes-hubss_INSTRFUNCFLAGS) $(kernel-usb-classes-hubss_CXXFLAGS)) +kernel-usb-classes-hubss_LIBS += $(kernel-usb-classes-hubss_INSTRFUNCLIBS) +endif +endif +kernel-usb-classes-hubss_DFLAGS := $(strip $(kernel-usb-classes-hubss_DFLAGS) $($(kernel-usb-classes-hubss_DEFNAME)_DFLAGS)) +kernel-usb-classes-hubss_LINKLIBDFLAGS := $(strip $(kernel-usb-classes-hubss_DFLAGS) $($(kernel-usb-classes-hubss_DEFNAME)_LINKLIBDFLAGS)) +kernel-usb-classes-hubss_DXXFLAGS := $(strip $(kernel-usb-classes-hubss_DXXFLAGS) $($(kernel-usb-classes-hubss_DEFNAME)_DXXFLAGS)) + +ifeq (usbclass,library) + kernel-usb-classes-hubss_LIBSUFFIX := +else + kernel-usb-classes-hubss_LIBSUFFIX := .usbclass +endif + +ifeq (,) +kernel-usb-classes-hubss_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-usb-classes-hubss_LIBDIR := +endif + +ifeq (,M) +kernel-usb-classes-hubss_LINKLIBCFILES := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$($(kernel-usb-classes-hubss_DEFNAME)_LINKLIBFILES)) +kernel-usb-classes-hubss_LINKLIBAFILES := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$($(kernel-usb-classes-hubss_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-classes-hubss_DEFNAME)_LINKLIBFILES) $($(kernel-usb-classes-hubss_DEFNAME)_LINKLIBAFILES) $(kernel-usb-classes-hubss_ARCHNLIBFILES)),) + kernel-usb-classes-hubss_LINKLIB := +else + kernel-usb-classes-hubss_LINKLIB := $(kernel-usb-classes-hubss_LIBDIR)/libhubss$(kernel-usb-classes-hubss_LIBSUFFIX).a + ifneq (hubss,$(kernel-usb-classes-hubss_LINKLIBNAME)) + kernel-usb-classes-hubss_LINKLIB += $(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)$(kernel-usb-classes-hubss_LIBSUFFIX).a + endif +endif +kernel-usb-classes-hubss_LINKLIBFILES := $(kernel-usb-classes-hubss_LINKLIBCFILES) $(kernel-usb-classes-hubss_LINKLIBAFILES) + +kernel-usb-classes-hubss_RELLINKLIBCFILES := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$($(kernel-usb-classes-hubss_DEFNAME)_RELLINKLIBFILES)) +kernel-usb-classes-hubss_RELLINKLIBAFILES := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$($(kernel-usb-classes-hubss_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-classes-hubss_DEFNAME)_RELLINKLIBFILES) $($(kernel-usb-classes-hubss_DEFNAME)_RELLINKLIBAFILES) $(kernel-usb-classes-hubss_ARCHNLIBFILES)),) + kernel-usb-classes-hubss_RELLINKLIB := +else + kernel-usb-classes-hubss_RELLINKLIB := $(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_DEFNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a + ifneq (hubss,$(kernel-usb-classes-hubss_LINKLIBNAME)) + kernel-usb-classes-hubss_RELLINKLIB += $(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a + endif +endif +kernel-usb-classes-hubss_RELLINKLIBFILES := $(kernel-usb-classes-hubss_RELLINKLIBCFILES) $(kernel-usb-classes-hubss_RELLINKLIBAFILES) +endif + +kernel-usb-classes-hubss_ENDOBJS := $(addsuffix .o,$(kernel-usb-classes-hubss_ENDFILES)) +kernel-usb-classes-hubss_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-hubss_NLIBARCHFILES))) $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-classes-hubss_ARCHNLIBFILES))) $(kernel-usb-classes-hubss_LINKLIBFILES)) \ + +kernel-usb-classes-hubss_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-hubss_NLIBARCHFILES))) $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-classes-hubss_ARCHNLIBFILES))) $(kernel-usb-classes-hubss_RELLINKLIBFILES)) \ + +$(kernel-usb-classes-hubss_LINKLIBFILES) $(kernel-usb-classes-hubss_RELLINKLIBFILES) : | $(kernel-usb-classes-hubss_OBJDIR)/linklib +$(kernel-usb-classes-hubss_LINKLIBOBJS) $(kernel-usb-classes-hubss_RELLINKLIBOBJS) : | $(kernel-usb-classes-hubss_OBJDIR)/linklib + +kernel-usb-classes-hubss_CCFILES := $(kernel-usb-classes-hubss_C_NARCHFILES) +kernel-usb-classes-hubss_TARGETCCFILES := $(strip $(kernel-usb-classes-hubss_STARTFILES) $(kernel-usb-classes-hubss_ENDFILES)) +kernel-usb-classes-hubss_LINKLIBCCFILES := $(strip $(kernel-usb-classes-hubss_NLIBARCHFILES) $(kernel-usb-classes-hubss_LINKLIBCFILES) $(kernel-usb-classes-hubss_RELLINKLIBCFILES)) +kernel-usb-classes-hubss_LINKLIBCCGENFILES := $(strip $(kernel-usb-classes-hubss_LINKLIBCFILES) $(kernel-usb-classes-hubss_RELLINKLIBCFILES)) + + +kernel-usb-classes-hubss_CXXABSBASENAMES := $(foreach kernel-usb-classes-hubss_CXXBASE,$(kernel-usb-classes-hubss_CXX_NARCHFILES),$(if $(filter /%,$(kernel-usb-classes-hubss_CXXBASE)),$(kernel-usb-classes-hubss_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-usb-classes-hubss_CXXBASE)))) + +ifneq ($(kernel-usb-classes-hubss_CXXABSBASENAMES),) + +kernel-usb-classes-hubss_CXXBASENAMES := $(basename $(kernel-usb-classes-hubss_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-usb-classes-hubss_MCXX_FILES := $(strip $(foreach kernel-usb-classes-hubss_CXXBASE,$(kernel-usb-classes-hubss_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-usb-classes-hubss_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-usb-classes-hubss_EXT),$(kernel-usb-classes-hubss_CXXBASE))))))) + +ifeq (,) +kernel-usb-classes-hubss_MCXX_SRCWILDCARD := % +else +kernel-usb-classes-hubss_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-hubss_OBJDIR),) + kernel-usb-classes-hubss_CXXTARGETS := $(notdir $(kernel-usb-classes-hubss_CXXBASENAMES:=.o)) + kernel-usb-classes-hubss_CXXDTARGETS := $(notdir $(kernel-usb-classes-hubss_CXXBASENAMES:=.d)) + kernel-usb-classes-hubss_MCXX_WILDCARD := % +else + kernel-usb-classes-hubss_CXXTARGETS := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(kernel-usb-classes-hubss_CXXBASENAMES:=.o))) + kernel-usb-classes-hubss_CXXDTARGETS := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(kernel-usb-classes-hubss_CXXBASENAMES:=.d))) + kernel-usb-classes-hubss_MCXX_WILDCARD := $(kernel-usb-classes-hubss_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-usb-classes-hubss_CXXTARGETS) $(kernel-usb-classes-hubss_CXXDTARGETS) : | $(kernel-usb-classes-hubss_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-usb-classes-hubss_MCXX_CPPFLAGS := $(kernel-usb-classes-hubss_CPPFLAGS) +kernel-usb-classes-hubss_CXXFLAGS := $(kernel-usb-classes-hubss_CXXFLAGS) +ifeq ($(kernel-usb-classes-hubss_DXXFLAGS),) + kernel-usb-classes-hubss_DXXFLAGS := $(kernel-usb-classes-hubss_CXXFLAGS) +else + kernel-usb-classes-hubss_DXXFLAGS := $(kernel-usb-classes-hubss_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-usb-classes-hubss_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-usb-classes-hubss_STRIP ?= $(HOST_STRIP) + kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-usb-classes-hubss_CXXCMD:=$(HOST_CXX) + kernel-usb-classes-hubss_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-usb-classes-hubss_MCXX_CPPFLAGS) $(kernel-usb-classes-hubss_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-hubss_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-classes-hubss_CXXFLAGS)) + kernel-usb-classes-hubss_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-classes-hubss_DXXFLAGS)) + kernel-usb-classes-hubss_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-usb-classes-hubss_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-usb-classes-hubss_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-classes-hubss_STRIP ?= $(TARGET_STRIP) + kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-usb-classes-hubss_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-usb-classes-hubss_MCXX_CPPFLAGS := $(strip $(kernel-usb-classes-hubss_MCXX_CPPFLAGS) $(kernel-usb-classes-hubss_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-hubss_CXXFLAGS := $(strip $(kernel-usb-classes-hubss_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-usb-classes-hubss_DXXFLAGS := $(kernel-usb-classes-hubss_DXXFLAGS) + kernel-usb-classes-hubss_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-usb-classes-hubss_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-usb-classes-hubss_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-classes-hubss_STRIP ?= $(ECHO) >/dev/null + kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-usb-classes-hubss_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-usb-classes-hubss_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-usb-classes-hubss_MCXX_CPPFLAGS) $(kernel-usb-classes-hubss_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-classes-hubss_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-classes-hubss_CXXFLAGS)) + kernel-usb-classes-hubss_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-classes-hubss_DXXFLAGS)) + kernel-usb-classes-hubss_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-usb-classes-hubss_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-usb-classes-hubss_CXXCMD) $(kernel-usb-classes-hubss_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-hubss_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_CXXIQUOTE) . $(kernel-usb-classes-hubss_CXXIQUOTE_END) $(strip $(kernel-usb-classes-hubss_CXXFLAGS) $(kernel-usb-classes-hubss_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-usb-classes-hubss_CXXCMD) $(kernel-usb-classes-hubss_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-hubss_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_CXXIQUOTE) . $(kernel-usb-classes-hubss_CXXIQUOTE_END) $(strip $(kernel-usb-classes-hubss_CXXFLAGS) $(kernel-usb-classes-hubss_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-usb-classes-hubss_CXXCMD) $(kernel-usb-classes-hubss_CXXIQUOTE) $(dir $(2)) $(kernel-usb-classes-hubss_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_CXXIQUOTE) . $(kernel-usb-classes-hubss_CXXIQUOTE_END) $(strip $(kernel-usb-classes-hubss_CXXFLAGS) $(kernel-usb-classes-hubss_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-usb-classes-hubss_CXXCMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-hubss_DXXFLAGS) $(kernel-usb-classes-hubss_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-usb-classes-hubss_OBJDIR),) + $(foreach kernel-usb-classes-hubss_CXXFILE,$(kernel-usb-classes-hubss_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-usb-classes-hubss_CXXFILE))),$(kernel-usb-classes-hubss_CXXFILE)))) +else + $(foreach kernel-usb-classes-hubss_CXXFILE,$(kernel-usb-classes-hubss_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(basename $(kernel-usb-classes-hubss_CXXFILE)))),$(kernel-usb-classes-hubss_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-usb-classes-hubss_OBJC_NARCHFILES),) + +ifeq (,) +kernel-usb-classes-hubss_MOBJC_SRCWILDCARD := % +else +kernel-usb-classes-hubss_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-hubss_OBJDIR),) + kernel-usb-classes-hubss_MOBJC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-hubss_OBJC_NARCHFILES)) + kernel-usb-classes-hubss_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-hubss_OBJC_NARCHFILES)) + kernel-usb-classes-hubss_MOBJC_WILDCARD := % +else + kernel-usb-classes-hubss_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(kernel-usb-classes-hubss_OBJC_NARCHFILES))) + kernel-usb-classes-hubss_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(kernel-usb-classes-hubss_OBJC_NARCHFILES))) + kernel-usb-classes-hubss_MOBJC_WILDCARD := $(kernel-usb-classes-hubss_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-usb-classes-hubss_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-usb-classes-hubss_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-classes-hubss_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-hubss_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-usb-classes-hubss_MOBJC_DIRS := $(foreach dir, $(kernel-usb-classes-hubss_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-hubss_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-usb-classes-hubss_MOBJC_DIRS),) + kernel-usb-classes-hubss_MOBJC_DIRS := $(shell echo $(kernel-usb-classes-hubss_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-usb-classes-hubss_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-usb-classes-hubss_CC := $(TARGET_CC) +else + kernel-usb-classes-hubss_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-usb-classes-hubss_MOBJC_CPPFLAGS := $(kernel-usb-classes-hubss_CPPFLAGS) +kernel-usb-classes-hubss_OBJCFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +kernel-usb-classes-hubss_OBJCFLAGS := $(kernel-usb-classes-hubss_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-usb-classes-hubss_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-usb-classes-hubss_OBJCFLAGS))) +ifeq ($(kernel-usb-classes-hubss_DFLAGS),) + kernel-usb-classes-hubss_OBJCDFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +else + kernel-usb-classes-hubss_OBJCDFLAGS := $(kernel-usb-classes-hubss_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-usb-classes-hubss_LINK ?= $(strip $(kernel-usb-classes-hubss_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-classes-hubss_STRIP ?= $(TARGET_STRIP) + kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-usb-classes-hubss_CC) $(TARGET_SYSROOT)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_MOBJC_CPPFLAGS:=$(strip $(kernel-usb-classes-hubss_MOBJC_CPPFLAGS) $(kernel-usb-classes-hubss_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_OBJCFLAGS:=$(strip $(kernel-usb-classes-hubss_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_OBJCDFLAGS:=$(kernel-usb-classes-hubss_OBJCDFLAGS) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-usb-classes-hubss_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-usb-classes-hubss_STRIP ?= $(HOST_STRIP) + kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-usb-classes-hubss_MOBJC_CPPFLAGS) $(kernel-usb-classes-hubss_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_OBJCFLAGS)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_OBJCDFLAGS)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(HOST_IQUOTE) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-usb-classes-hubss_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-classes-hubss_STRIP ?= $(ECHO) >/dev/null + kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-usb-classes-hubss_MOBJC_CPPFLAGS) $(kernel-usb-classes-hubss_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_OBJCFLAGS)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_OBJCDFLAGS)) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-usb-classes-hubss_MOBJC_TARGETS) $(kernel-usb-classes-hubss_MOBJC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-hubss_MOBJC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-hubss_MOBJC_CPPFLAGS) +$(kernel-usb-classes-hubss_MOBJC_TARGETS) : CFLAGS := $(kernel-usb-classes-hubss_OBJCFLAGS) +$(kernel-usb-classes-hubss_MOBJC_TARGETS) : $(kernel-usb-classes-hubss_MOBJC_WILDCARD).o : $(kernel-usb-classes-hubss_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-hubss_MOBJC_DTARGETS) : $(kernel-usb-classes-hubss_MOBJC_WILDCARD).d : $(kernel-usb-classes-hubss_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-hubss_OBJCDFLAGS) $(kernel-usb-classes-hubss_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-usb-classes-hubss_MC_SRCWILDCARD := % +else +kernel-usb-classes-hubss_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-hubss_OBJDIR),) +kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-hubss_CCFILES)) +kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-hubss_CCFILES)) +kernel-usb-classes-hubss_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(kernel-usb-classes-hubss_CCFILES)))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(kernel-usb-classes-hubss_CCFILES)))) +else +ifeq (,) + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(kernel-usb-classes-hubss_CCFILES))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(kernel-usb-classes-hubss_CCFILES))) +else + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-hubss_CCFILES)))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-hubss_CCFILES)))) +endif +endif +kernel-usb-classes-hubss_MC_TGTWILDCARD := $(kernel-usb-classes-hubss_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-hubss_CCFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-hubss_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-hubss_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-hubss_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-hubss_MC_DIRS := $(foreach dir, $(kernel-usb-classes-hubss_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-hubss_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-hubss_MC_DIRS),) + kernel-usb-classes-hubss_MC_DIRS := $(shell echo $(kernel-usb-classes-hubss_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-hubss_MC_DIRS) +endif + +endif + +kernel-usb-classes-hubss_MC_CPPFLAGS := $(kernel-usb-classes-hubss_CPPFLAGS) +kernel-usb-classes-hubss_CFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +ifeq ($(kernel-usb-classes-hubss_DFLAGS),) + kernel-usb-classes-hubss_DFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +else + kernel-usb-classes-hubss_DFLAGS := $(kernel-usb-classes-hubss_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-hubss_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(kernel-usb-classes-hubss_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(kernel-usb-classes-hubss_DFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-hubss_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_DFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-hubss_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_DFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-hubss_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-hubss_MC_CPPFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) : $(kernel-usb-classes-hubss_MC_TGTWILDCARD).o : $(kernel-usb-classes-hubss_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-hubss_MC_DTARGETS) : $(kernel-usb-classes-hubss_MC_TGTWILDCARD).d : $(kernel-usb-classes-hubss_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-hubss_DFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-classes-hubss_MC_SRCWILDCARD := % +else +kernel-usb-classes-hubss_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-hubss_OBJDIR),) +kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-hubss_TARGETCCFILES)) +kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-hubss_TARGETCCFILES)) +kernel-usb-classes-hubss_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(kernel-usb-classes-hubss_TARGETCCFILES)))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(kernel-usb-classes-hubss_TARGETCCFILES)))) +else +ifeq (,) + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(kernel-usb-classes-hubss_TARGETCCFILES))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(kernel-usb-classes-hubss_TARGETCCFILES))) +else + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-hubss_TARGETCCFILES)))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-classes-hubss_TARGETCCFILES)))) +endif +endif +kernel-usb-classes-hubss_MC_TGTWILDCARD := $(kernel-usb-classes-hubss_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-hubss_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-hubss_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-hubss_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-hubss_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-hubss_MC_DIRS := $(foreach dir, $(kernel-usb-classes-hubss_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-hubss_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-hubss_MC_DIRS),) + kernel-usb-classes-hubss_MC_DIRS := $(shell echo $(kernel-usb-classes-hubss_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-hubss_MC_DIRS) +endif + +endif + +kernel-usb-classes-hubss_MC_CPPFLAGS := $(kernel-usb-classes-hubss_CPPFLAGS) -D__AROS__ +kernel-usb-classes-hubss_CFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +ifeq ($(kernel-usb-classes-hubss_DFLAGS),) + kernel-usb-classes-hubss_DFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +else + kernel-usb-classes-hubss_DFLAGS := $(kernel-usb-classes-hubss_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-hubss_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(kernel-usb-classes-hubss_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(kernel-usb-classes-hubss_DFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-hubss_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_DFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-hubss_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_DFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-hubss_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-hubss_MC_CPPFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) : $(kernel-usb-classes-hubss_MC_TGTWILDCARD).o : $(kernel-usb-classes-hubss_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-hubss_MC_DTARGETS) : $(kernel-usb-classes-hubss_MC_TGTWILDCARD).d : $(kernel-usb-classes-hubss_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-hubss_DFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-classes-hubss_MC_SRCWILDCARD := % +else +kernel-usb-classes-hubss_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-classes-hubss_OBJDIR)/linklib,) +kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-hubss_NLIBARCHFILES)) +kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-hubss_NLIBARCHFILES)) +kernel-usb-classes-hubss_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-hubss_NLIBARCHFILES)))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-hubss_NLIBARCHFILES)))) +else +ifeq (,) + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(kernel-usb-classes-hubss_NLIBARCHFILES))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(kernel-usb-classes-hubss_NLIBARCHFILES))) +else + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-classes-hubss_NLIBARCHFILES)))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-classes-hubss_NLIBARCHFILES)))) +endif +endif +kernel-usb-classes-hubss_MC_TGTWILDCARD := $(kernel-usb-classes-hubss_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-hubss_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-hubss_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-hubss_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-hubss_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-hubss_MC_DIRS := $(foreach dir, $(kernel-usb-classes-hubss_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-hubss_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-hubss_MC_DIRS),) + kernel-usb-classes-hubss_MC_DIRS := $(shell echo $(kernel-usb-classes-hubss_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-hubss_MC_DIRS) +endif + +endif + +kernel-usb-classes-hubss_MC_CPPFLAGS := $(kernel-usb-classes-hubss_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-classes-hubss_CFLAGS := $(kernel-usb-classes-hubss_LINKLIBCFLAGS) +ifeq ($(kernel-usb-classes-hubss_LINKLIBDFLAGS),) + kernel-usb-classes-hubss_DFLAGS := $(kernel-usb-classes-hubss_LINKLIBCFLAGS) +else + kernel-usb-classes-hubss_DFLAGS := $(kernel-usb-classes-hubss_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-hubss_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(kernel-usb-classes-hubss_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(kernel-usb-classes-hubss_DFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-hubss_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_DFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-hubss_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_DFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-hubss_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-hubss_MC_CPPFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) : $(kernel-usb-classes-hubss_MC_TGTWILDCARD).o : $(kernel-usb-classes-hubss_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-hubss_MC_DTARGETS) : $(kernel-usb-classes-hubss_MC_TGTWILDCARD).d : $(kernel-usb-classes-hubss_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-hubss_DFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-usb-classes-hubss_OBJDIR)/linklib,) +kernel-usb-classes-hubss_MC_SRCWILDCARD := % +else +kernel-usb-classes-hubss_MC_SRCWILDCARD := $(kernel-usb-classes-hubss_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-usb-classes-hubss_OBJDIR)/linklib,) +kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(kernel-usb-classes-hubss_LINKLIBCCGENFILES)) +kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-classes-hubss_LINKLIBCCGENFILES)) +kernel-usb-classes-hubss_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-hubss_LINKLIBCCGENFILES)))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-hubss_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-usb-classes-hubss_OBJDIR)/linklib,) + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(kernel-usb-classes-hubss_LINKLIBCCGENFILES))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(kernel-usb-classes-hubss_LINKLIBCCGENFILES))) +else + kernel-usb-classes-hubss_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(patsubst $(kernel-usb-classes-hubss_OBJDIR)/linklib/%,%,$(kernel-usb-classes-hubss_LINKLIBCCGENFILES)))) + kernel-usb-classes-hubss_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(patsubst $(kernel-usb-classes-hubss_OBJDIR)/linklib/%,%,$(kernel-usb-classes-hubss_LINKLIBCCGENFILES)))) +endif +endif +kernel-usb-classes-hubss_MC_TGTWILDCARD := $(kernel-usb-classes-hubss_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-classes-hubss_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-hubss_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-hubss_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-hubss_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-hubss_MC_DIRS := $(foreach dir, $(kernel-usb-classes-hubss_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-hubss_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-hubss_MC_DIRS),) + kernel-usb-classes-hubss_MC_DIRS := $(shell echo $(kernel-usb-classes-hubss_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-classes-hubss_MC_DIRS) +endif + +endif + +kernel-usb-classes-hubss_MC_CPPFLAGS := $(kernel-usb-classes-hubss_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-classes-hubss_CFLAGS := $(kernel-usb-classes-hubss_LINKLIBCFLAGS) +ifeq ($(kernel-usb-classes-hubss_LINKLIBDFLAGS),) + kernel-usb-classes-hubss_DFLAGS := $(kernel-usb-classes-hubss_LINKLIBCFLAGS) +else + kernel-usb-classes-hubss_DFLAGS := $(kernel-usb-classes-hubss_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-classes-hubss_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(TARGET_STRIP) +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(kernel-usb-classes-hubss_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(kernel-usb-classes-hubss_DFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-classes-hubss_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(HOST_STRIP) +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-classes-hubss_DFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-classes-hubss_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-classes-hubss_STRIP ?= $(ECHO) >/dev/null +kernel-usb-classes-hubss_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS) $(kernel-usb-classes-hubss_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_CFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-classes-hubss_DFLAGS)) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-classes-hubss_MC_TARGETS) $(kernel-usb-classes-hubss_MC_DTARGETS) : kernel-usb-classes-hubss_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-classes-hubss_MC_TARGETS) : CPPFLAGS := $(kernel-usb-classes-hubss_MC_CPPFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) : CFLAGS := $(kernel-usb-classes-hubss_CFLAGS) +$(kernel-usb-classes-hubss_MC_TARGETS) : $(kernel-usb-classes-hubss_MC_TGTWILDCARD).o : $(kernel-usb-classes-hubss_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-classes-hubss_IQUOTE) $(dir $<) $(kernel-usb-classes-hubss_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-classes-hubss_IQUOTE) . $(kernel-usb-classes-hubss_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-classes-hubss_MC_DTARGETS) : $(kernel-usb-classes-hubss_MC_TGTWILDCARD).d : $(kernel-usb-classes-hubss_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-classes-hubss_DFLAGS) $(kernel-usb-classes-hubss_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-usb-classes-hubss_LINKLIBAFILES),) + +ifeq ($(kernel-usb-classes-hubss_OBJDIR)/linklib,) +kernel-usb-classes-hubss-MA_TARGETS := $(addsuffix .o,$(kernel-usb-classes-hubss_LINKLIBAFILES) $(kernel-usb-classes-hubss_RELLINKLIBAFILES)) +kernel-usb-classes-hubss-MA_WILDCARD := % +else +kernel-usb-classes-hubss-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-hubss_LINKLIBAFILES) $(kernel-usb-classes-hubss_RELLINKLIBAFILES)))) +kernel-usb-classes-hubss-MA_WILDCARD := $(kernel-usb-classes-hubss_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-usb-classes-hubss-MA_TARGETS) : | $(addsuffix .S,$(kernel-usb-classes-hubss_LINKLIBAFILES) $(kernel-usb-classes-hubss_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-usb-classes-hubss-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-classes-hubss-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-classes-hubss_LINKLIBAFILES) $(kernel-usb-classes-hubss_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-classes-hubss-MA_DIRS := $(foreach dir, $(kernel-usb-classes-hubss-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-classes-hubss-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-classes-hubss-MA_DIRS),) + kernel-usb-classes-hubss-MA_DIRS := $(shell echo $(kernel-usb-classes-hubss-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-usb-classes-hubss-MA_DIRS) +endif + +endif + +kernel-usb-classes-hubss-MA_ASSEMBLER ?= $(kernel-usb-classes-hubss_ASSEMBLER) + +$(kernel-usb-classes-hubss-MA_TARGETS) : kernel-usb-classes-hubss-MA_CMD:= $(kernel-usb-classes-hubss-MA_ASSEMBLER) + +$(kernel-usb-classes-hubss-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-usb-classes-hubss-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-usb-classes-hubss-MA_TARGETS) : $(kernel-usb-classes-hubss-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-usb-classes-hubss-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-usb-classes-hubss-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-usb-classes-hubss-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (class,) +kernel-usb-classes-hubss_SUFFIX := usbclass +else +kernel-usb-classes-hubss_SUFFIX := class +endif + +ifeq (target,target) +kernel-usb-classes-hubss_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-usb-classes-hubss_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-usb-classes-hubss_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-usb-classes-hubss_SUFFIX),handler) +kernel-usb-classes-hubss_MODULE := $(AROSDIR)/$(kernel-usb-classes-hubss_MODDIR)/$(kernel-usb-classes-hubss_DEFNAME)-$(kernel-usb-classes-hubss_SUFFIX) +else +kernel-usb-classes-hubss_MODULE := $(AROSDIR)/$(kernel-usb-classes-hubss_MODDIR)/$(kernel-usb-classes-hubss_DEFNAME).$(kernel-usb-classes-hubss_SUFFIX) +endif +kernel-usb-classes-hubss_KOBJ := $(KOBJSDIR)/$(kernel-usb-classes-hubss_DEFNAME)_$(kernel-usb-classes-hubss_SUFFIX).o +else +kernel-usb-classes-hubss_MODULE := +kernel-usb-classes-hubss_KOBJ := +endif + +kernel-usb-classes-hubss-quick : kernel-usb-classes-hubss +kernel-usb-classes-hubss : $(kernel-usb-classes-hubss_MODULE) $(kernel-usb-classes-hubss_LINKLIB) $(kernel-usb-classes-hubss_RELLINKLIB) +ifeq (M,M) +kernel-usb-classes-hubss-kobj : $(kernel-usb-classes-hubss_KOBJ) $(kernel-usb-classes-hubss_LINKLIB) $(kernel-usb-classes-hubss_RELLINKLIB) +kernel-usb-classes-hubss-kobj-quick : $(kernel-usb-classes-hubss_KOBJ) $(kernel-usb-classes-hubss_LINKLIB) $(kernel-usb-classes-hubss_RELLINKLIB) +endif +ifeq (,M) +kernel-usb-classes-hubss-linklib : $(kernel-usb-classes-hubss_LINKLIB) $(kernel-usb-classes-hubss_RELLINKLIB) +endif + +kernel-usb-classes-hubss_OBJS := $(addsuffix .o,$(kernel-usb-classes-hubss_STARTFILES)) $(kernel-usb-classes-hubss_ARCHOBJS) \ + $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(kernel-usb-classes-hubss_C_NARCHFILES:=.o) $(kernel-usb-classes-hubss_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (usbclass,handler) +kernel-usb-classes-hubss_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (hubss,con) + kernel-usb-classes-hubss_ERR := $(notdir $(kernel-usb-classes-hubss_MODULE)).err +else + kernel-usb-classes-hubss_ERR := hubss.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-usb-classes-hubss_DEFNAME)_LDFLAGS) $(kernel-usb-classes-hubss_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-usb-classes-hubss_LIBS) $($(kernel-usb-classes-hubss_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-usb-classes-hubss_MODULE) : LIB_NAMES := $(kernel-usb-classes-hubss_LIBS) $($(kernel-usb-classes-hubss_DEFNAME)_LIBS) +$(kernel-usb-classes-hubss_MODULE) : OBJS := $(kernel-usb-classes-hubss_STARTOBJS) $(kernel-usb-classes-hubss_OBJS) $(USER_OBJS) +$(kernel-usb-classes-hubss_MODULE) : ENDTAG := $(kernel-usb-classes-hubss_ENDOBJS) +$(kernel-usb-classes-hubss_MODULE) : ERR := $(kernel-usb-classes-hubss_ERR) +$(kernel-usb-classes-hubss_MODULE) : OBJDIR := $(kernel-usb-classes-hubss_OBJDIR) +$(kernel-usb-classes-hubss_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-usb-classes-hubss_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-usb-classes-hubss_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-usb-classes-hubss_MODULE) : $(kernel-usb-classes-hubss_STARTOBJS) $(kernel-usb-classes-hubss_OBJS) $(USER_OBJS) $(kernel-usb-classes-hubss_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-usb-classes-hubss_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-usb-classes-hubss_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (,M) +# Link static lib +kernel-usb-classes-hubss_LC_LINKLIBNAME := $(shell echo $(kernel-usb-classes-hubss_LINKLIBNAME) | tr A-Z a-z) +kernel-usb-classes-hubss_LC_MODNAME := $(shell echo hubss | tr A-Z a-z) +ifneq ($(kernel-usb-classes-hubss_LINKLIB),) + +ifeq (target,target) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(HOST_AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(KERNEL_AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)$(kernel-usb-classes-hubss_LIBSUFFIX).a : $(kernel-usb-classes-hubss_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-hubss_AR) $@ $^ + $(Q)$(kernel-usb-classes-hubss_RANLIB) $@ +ifneq ($(kernel-usb-classes-hubss_LC_MODNAME),$(kernel-usb-classes-hubss_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-classes-hubss_LIBDIR)/libhubss$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(AR) +$(kernel-usb-classes-hubss_LIBDIR)/libhubss$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-hubss_LIBDIR)/libhubss$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(HOST_AR) +$(kernel-usb-classes-hubss_LIBDIR)/libhubss$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-hubss_LIBDIR)/libhubss$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(KERNEL_AR) +$(kernel-usb-classes-hubss_LIBDIR)/libhubss$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-hubss_LIBDIR)/libhubss$(kernel-usb-classes-hubss_LIBSUFFIX).a : $(kernel-usb-classes-hubss_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-hubss_AR) $@ $^ + $(Q)$(kernel-usb-classes-hubss_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-classes-hubss_LINKLIB),) +$(kernel-usb-classes-hubss_LINKLIB) : | $(kernel-usb-classes-hubss_LIBDIR) +else +$(kernel-usb-classes-hubss_LINKLIB) :: $(kernel-usb-classes-hubss_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-hubss_LIBDIR) + +endif + +ifneq ($(kernel-usb-classes-hubss_RELLINKLIB),) + +ifeq (target,target) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(HOST_AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(KERNEL_AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_LINKLIBNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : $(kernel-usb-classes-hubss_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-hubss_AR) $@ $^ + $(Q)$(kernel-usb-classes-hubss_RANLIB) $@ +ifneq ($(kernel-usb-classes-hubss_LC_MODNAME),$(kernel-usb-classes-hubss_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_DEFNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_DEFNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_DEFNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(HOST_AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_DEFNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_DEFNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_AR:=$(KERNEL_AR) +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_DEFNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : kernel-usb-classes-hubss_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-classes-hubss_LIBDIR)/lib$(kernel-usb-classes-hubss_DEFNAME)_rel$(kernel-usb-classes-hubss_LIBSUFFIX).a : $(kernel-usb-classes-hubss_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-classes-hubss_AR) $@ $^ + $(Q)$(kernel-usb-classes-hubss_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-classes-hubss_RELLINKLIB),) +$(kernel-usb-classes-hubss_RELLINKLIB) : | $(kernel-usb-classes-hubss_LIBDIR) +else +$(kernel-usb-classes-hubss_RELLINKLIB) :: $(kernel-usb-classes-hubss_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-hubss_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-usb-classes-hubss_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-usb-classes-hubss_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-usb-classes-hubss_SYMBOLS := $(kernel-usb-classes-hubss_KBASE) + +kernel-usb-classes-hubss_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-usb-classes-hubss_KOBJ_LIBS := $(filter-out $(kernel-usb-classes-hubss_KLIB),$(kernel-usb-classes-hubss_LIBS)) $(kernel-usb-classes-hubss_KAUTOLIB) +$(kernel-usb-classes-hubss_KOBJ) : LINKLIBS:=$(kernel-usb-classes-hubss_KOBJ_LIBS) $($(kernel-usb-classes-hubss_DEFNAME)_LIBS) +$(kernel-usb-classes-hubss_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-usb-classes-hubss_SYMBOLS)) +$(kernel-usb-classes-hubss_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-usb-classes-hubss_KOBJ) : $(kernel-usb-classes-hubss_OBJS) $(USER_OBJS) $(kernel-usb-classes-hubss_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-usb-classes-hubss_DEPS := $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/,$(notdir $(kernel-usb-classes-hubss_CCFILES:=.d) $(kernel-usb-classes-hubss_TARGETCCFILES:=.d) $(kernel-usb-classes-hubss_CXXFILES:=.d))) $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/linklib/,$(notdir $(kernel-usb-classes-hubss_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-usb-classes-hubss_DEPS),) + ifneq (kernel-usb-classes-hubss kernel-usb-classes-hubss-quick kernel-usb-classes-hubss-kobj kernel-usb-classes-hubss-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-usb-classes-hubss kernel-usb-classes-hubss-quick kernel-usb-classes-hubss-kobj kernel-usb-classes-hubss-kobj-quick),) + -include $(kernel-usb-classes-hubss_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-usb-classes-hubss_DEPS) + endif + endif +endif + +$(kernel-usb-classes-hubss_OBJS) $(kernel-usb-classes-hubss_DEPS) : | $(kernel-usb-classes-hubss_OBJDIR)/linklib + +ifneq ($(kernel-usb-classes-hubss_OBJS) $(kernel-usb-classes-hubss_DEPS) $(kernel-usb-classes-hubss_MODULE) $(kernel-usb-classes-hubss_KOBJ),) +$(kernel-usb-classes-hubss_OBJS) $(kernel-usb-classes-hubss_DEPS) $(kernel-usb-classes-hubss_MODULE) $(kernel-usb-classes-hubss_KOBJ) : | $(kernel-usb-classes-hubss_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-hubss_MODDIR) $(KOBJSDIR) +else +$(kernel-usb-classes-hubss_OBJS) $(kernel-usb-classes-hubss_DEPS) $(kernel-usb-classes-hubss_MODULE) $(kernel-usb-classes-hubss_KOBJ) :: $(kernel-usb-classes-hubss_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-hubss_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-classes-hubss_OBJDIR) $(AROSDIR)/$(kernel-usb-classes-hubss_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-usb-classes-hubss kernel-usb-classes-hubss-includes kernel-usb-classes-hubss-quick kernel-usb-classes-hubss-kobj kernel-usb-classes-hubss-kobj-quick),) # Only for this target these deps are wanted + +kernel-usb-classes-hubss_DFILE_DEPS := $(kernel-usb-classes-hubss_LIBDEFSINC) $(kernel-usb-classes-hubss_DEFLIBDEFSINC) \ + $(addprefix $(kernel-usb-classes-hubss_INCDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) +$(kernel-usb-classes-hubss_DEPS) : $(kernel-usb-classes-hubss_DFILE_DEPS) +endif + +kernel-usb-classes-hubss_TOCLEAN := $(kernel-usb-classes-hubss_OBJS) $(kernel-usb-classes-hubss_DEPS) \ + $(kernel-usb-classes-hubss_MODULE) $(kernel-usb-classes-hubss_LINKLIB) $(kernel-usb-classes-hubss_KOBJ) \ + $(kernel-usb-classes-hubss_OBJDIR)/Makefile.hubssusbclass \ + $(addprefix $(kernel-usb-classes-hubss_OBJDIR)/include/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-classes-hubss_INCDIR)/,$($(kernel-usb-classes-hubss_DEFNAME)_INCLUDES)) \ + $(kernel-usb-classes-hubss_OBJDIR)/hubss_geninc $(kernel-usb-classes-hubss_OBJDIR)/hubss_incs \ + $(addsuffix .c,$(kernel-usb-classes-hubss_LINKLIBFILES)) $(kernel-usb-classes-hubss_LINKLIBOBJS) $(kernel-usb-classes-hubss_LIBDEFSINC) \ + $(kernel-usb-classes-hubss_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-usb-classes-hubss_STARTFILES) $(kernel-usb-classes-hubss_ENDFILES)) \ + $(kernel-usb-classes-hubss_ENDOBJS) +kernel-usb-classes-hubss-clean : FILES := $(kernel-usb-classes-hubss_TOCLEAN) +kernel-usb-classes-hubss-clean :: + $(Q)$(ECHO) "Cleaning up for module hubss" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-usb-classes-hubss_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/guiapps/ps3eye/mmakefile b/rom/usb/guiapps/ps3eye/mmakefile new file mode 100644 index 00000000000..99e36ec56cf --- /dev/null +++ b/rom/usb/guiapps/ps3eye/mmakefile @@ -0,0 +1,630 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := ps3eye AROS640_pure AROS320_pure + +NOWARN_FLAGS := $(NOWARN_UNUSED_VARIABLE) $(NOWARN_MAYBE_UNINITIALIZED) +USER_CFLAGS := $(NOWARN_FLAGS) + + +.PHONY : ps3eye + +ps3eye_PROGNAME := ps3eye +ps3eye_OBJDIR := $(GENDIR)/$(CURDIR) +ps3eye_TARGETDIR := $(AROS_TESTS) +ps3eye_LINKER := +ps3eye_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(ps3eye_LINKER),) + ps3eye_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + ps3eye_FILES := $(FILES) + ps3eye_OBJCFILES := + ps3eye_ASMFILES := + ps3eye_CXXFILES := +else + ps3eye_FILES := $(ps3eye_PROGNAME) + ps3eye_OBJCFILES := + ps3eye_ASMFILES := + ps3eye_CXXFILES := +endif + +ps3eye_ARCHOBJS := $(wildcard $(ps3eye_OBJDIR)/arch/*.o) +ps3eye_ARCHFILES := $(basename $(notdir $(ps3eye_ARCHOBJS))) +ps3eye_C_NARCHFILES := $(filter-out $(ps3eye_ARCHFILES),$(ps3eye_FILES)) +ps3eye_CXX_NARCHFILES := $(filter-out $(ps3eye_ARCHFILES),$(ps3eye_CXXFILES)) +ps3eye_OBJC_NARCHFILES := $(filter-out $(ps3eye_ARCHFILES),$(ps3eye_OBJCFILES)) + +TMP_FILES := $(ps3eye_C_NARCHFILES) $(ps3eye_CXX_NARCHFILES) $(ps3eye_ASMFILES) $(ps3eye_OBJC_NARCHFILES) +ps3eye_OBJS := $(addsuffix .o,$(addprefix $(ps3eye_OBJDIR)/,$(notdir $(TMP_FILES)))) +ps3eye_DEPS := $(addsuffix .d,$(addprefix $(ps3eye_OBJDIR)/,$(notdir $(TMP_FILES)))) + +ps3eye_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +ps3eye_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +ps3eye_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +ps3eye_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +ps3eye_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +ps3eye_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +ps3eye_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +ps3eye_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +ps3eye_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +ps3eye_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +ps3eye_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +ps3eye_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +ps3eye_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +ps3eye_LDFLAGS := +endif + +ps3eye_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +ps3eye_COVERAGE := yes +ps3eye_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +ps3eye_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +ps3eye_CFLAGS := $(strip $(ps3eye_COVERAGEFLAGS) $(ps3eye_CFLAGS)) +ps3eye_CXXFLAGS := $(strip $(ps3eye_COVERAGEFLAGS) $(ps3eye_CXXFLAGS)) +ps3eye_LIBS += $(ps3eye_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +ps3eye_FUNCINSTR := yes +ps3eye_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +ps3eye_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +ps3eye_CFLAGS := $(strip $(ps3eye_INSTRFUNCFLAGS) $(ps3eye_CFLAGS)) +ps3eye_CXXFLAGS := $(strip $(ps3eye_INSTRFUNCFLAGS) $(ps3eye_CXXFLAGS)) +ps3eye_LIBS += $(ps3eye_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +ps3eye_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(ps3eye_CFLAGS)) +ps3eye_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(ps3eye_CXXFLAGS)) +endif +endif +ps3eye_AFLAGS := $(AFLAGS) +ifneq (,) + ps3eye_DFLAGS := +else + ps3eye_DFLAGS := $(ps3eye_CFLAGS) +endif +ifneq (,) + ps3eye_DXXFLAGS := +else + ps3eye_DXXFLAGS := $(ps3eye_CXXFLAGS) +endif +ifeq (target,target) +ps3eye_LDFLAGS := $(ps3eye_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +ps3eye_LDFLAGS := $(ps3eye_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +ps3eye_LDFLAGS := $(ps3eye_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +ps3eye_LDFLAGS += -L +endif + +#MM +ps3eye-quick : ps3eye + +#MM ps3eye : includes-generate-deps core-linklibs +ps3eye : $(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) + +ifneq ($(filter $(TARGET),ps3eye ps3eye-quick ps3eye-gz-quick),) + +ps3eye_CXXABSBASENAMES := $(foreach ps3eye_CXXBASE,$(ps3eye_CXX_NARCHFILES),$(if $(filter /%,$(ps3eye_CXXBASE)),$(ps3eye_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(ps3eye_CXXBASE)))) + +ifneq ($(ps3eye_CXXABSBASENAMES),) + +ps3eye_CXXBASENAMES := $(basename $(ps3eye_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +ps3eye_MCXX_FILES := $(strip $(foreach ps3eye_CXXBASE,$(ps3eye_CXXABSBASENAMES), $(firstword $(wildcard $(foreach ps3eye_EXT, $(AROS_CXXEXTS),$(addsuffix .$(ps3eye_EXT),$(ps3eye_CXXBASE))))))) + +ifeq (,) +ps3eye_MCXX_SRCWILDCARD := % +else +ps3eye_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(ps3eye_OBJDIR),) + ps3eye_CXXTARGETS := $(notdir $(ps3eye_CXXBASENAMES:=.o)) + ps3eye_CXXDTARGETS := $(notdir $(ps3eye_CXXBASENAMES:=.d)) + ps3eye_MCXX_WILDCARD := % +else + ps3eye_CXXTARGETS := $(addprefix $(ps3eye_OBJDIR)/,$(notdir $(ps3eye_CXXBASENAMES:=.o))) + ps3eye_CXXDTARGETS := $(addprefix $(ps3eye_OBJDIR)/,$(notdir $(ps3eye_CXXBASENAMES:=.d))) + ps3eye_MCXX_WILDCARD := $(ps3eye_OBJDIR)/% + + # Be sure that all source files are generated + $(ps3eye_CXXTARGETS) $(ps3eye_CXXDTARGETS) : | $(ps3eye_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +ps3eye_MCXX_CPPFLAGS := $(ps3eye_CPPFLAGS) +ps3eye_CXXFLAGS := $(ps3eye_CXXFLAGS) +ifeq ($(ps3eye_DXXFLAGS),) + ps3eye_DXXFLAGS := $(ps3eye_CXXFLAGS) +else + ps3eye_DXXFLAGS := $(ps3eye_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + ps3eye_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + ps3eye_STRIP ?= $(HOST_STRIP) + ps3eye_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + ps3eye_CXXCMD:=$(HOST_CXX) + ps3eye_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(ps3eye_MCXX_CPPFLAGS) $(ps3eye_MCXX_EXTRA_CPPFLAGS)) + ps3eye_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(ps3eye_CXXFLAGS)) + ps3eye_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(ps3eye_DXXFLAGS)) + ps3eye_CXXIQUOTE:=$(HOST_IQUOTE) + ps3eye_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + ps3eye_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + ps3eye_STRIP ?= $(TARGET_STRIP) + ps3eye_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + ps3eye_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + ps3eye_MCXX_CPPFLAGS := $(strip $(ps3eye_MCXX_CPPFLAGS) $(ps3eye_MCXX_EXTRA_CPPFLAGS)) + ps3eye_CXXFLAGS := $(strip $(ps3eye_CXXFLAGS) $(SAFETY_CFLAGS)) + ps3eye_DXXFLAGS := $(ps3eye_DXXFLAGS) + ps3eye_CXXIQUOTE:=$(CFLAGS_IQUOTE) + ps3eye_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + ps3eye_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + ps3eye_STRIP ?= $(ECHO) >/dev/null + ps3eye_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + ps3eye_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + ps3eye_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(ps3eye_MCXX_CPPFLAGS) $(ps3eye_MCXX_EXTRA_CPPFLAGS)) + ps3eye_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(ps3eye_CXXFLAGS)) + ps3eye_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(ps3eye_DXXFLAGS)) + ps3eye_CXXIQUOTE:=$(KERNEL_IQUOTE) + ps3eye_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(ps3eye_CXXCMD) $(ps3eye_CXXIQUOTE) $(dir $(2)) $(ps3eye_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_CXXIQUOTE) . $(ps3eye_CXXIQUOTE_END) $(strip $(ps3eye_CXXFLAGS) $(ps3eye_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(ps3eye_CXXCMD) $(ps3eye_CXXIQUOTE) $(dir $(2)) $(ps3eye_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_CXXIQUOTE) . $(ps3eye_CXXIQUOTE_END) $(strip $(ps3eye_CXXFLAGS) $(ps3eye_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(ps3eye_CXXCMD) $(ps3eye_CXXIQUOTE) $(dir $(2)) $(ps3eye_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_CXXIQUOTE) . $(ps3eye_CXXIQUOTE_END) $(strip $(ps3eye_CXXFLAGS) $(ps3eye_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(ps3eye_CXXCMD)" $(MKDEPEND) $(strip $(ps3eye_DXXFLAGS) $(ps3eye_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(ps3eye_OBJDIR),) + $(foreach ps3eye_CXXFILE,$(ps3eye_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(ps3eye_CXXFILE))),$(ps3eye_CXXFILE)))) +else + $(foreach ps3eye_CXXFILE,$(ps3eye_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(ps3eye_OBJDIR)/,$(notdir $(basename $(ps3eye_CXXFILE)))),$(ps3eye_CXXFILE)))) +endif + +endif + + +ifneq ($(ps3eye_OBJC_NARCHFILES),) + +ifeq (,) +ps3eye_MOBJC_SRCWILDCARD := % +else +ps3eye_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(ps3eye_OBJDIR),) + ps3eye_MOBJC_TARGETS := $(addsuffix .o,$(ps3eye_OBJC_NARCHFILES)) + ps3eye_MOBJC_DTARGETS := $(addsuffix .d,$(ps3eye_OBJC_NARCHFILES)) + ps3eye_MOBJC_WILDCARD := % +else + ps3eye_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(ps3eye_OBJDIR)/,$(ps3eye_OBJC_NARCHFILES))) + ps3eye_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(ps3eye_OBJDIR)/,$(ps3eye_OBJC_NARCHFILES))) + ps3eye_MOBJC_WILDCARD := $(ps3eye_OBJDIR)/% + + # Be sure that all .m files are generated + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : | $(addsuffix .m,$(ps3eye_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + ps3eye_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + ps3eye_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(ps3eye_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + ps3eye_MOBJC_DIRS := $(foreach dir, $(ps3eye_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(ps3eye_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(ps3eye_MOBJC_DIRS),) + ps3eye_MOBJC_DIRS := $(shell echo $(ps3eye_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(ps3eye_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + ps3eye_CC := $(TARGET_CC) +else + ps3eye_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +ps3eye_MOBJC_CPPFLAGS := $(ps3eye_CPPFLAGS) +ps3eye_OBJCFLAGS := $(ps3eye_CFLAGS) +ps3eye_OBJCFLAGS := $(ps3eye_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +ps3eye_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(ps3eye_OBJCFLAGS))) +ifeq ($(ps3eye_DFLAGS),) + ps3eye_OBJCDFLAGS := $(ps3eye_CFLAGS) +else + ps3eye_OBJCDFLAGS := $(ps3eye_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + ps3eye_LINK ?= $(strip $(ps3eye_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + ps3eye_STRIP ?= $(TARGET_STRIP) + ps3eye_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : CMD:=$(strip $(ps3eye_CC) $(TARGET_SYSROOT)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_MOBJC_CPPFLAGS:=$(strip $(ps3eye_MOBJC_CPPFLAGS) $(ps3eye_MOBJC_EXTRA_CPPFLAGS)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_OBJCFLAGS:=$(strip $(ps3eye_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_OBJCDFLAGS:=$(ps3eye_OBJCDFLAGS) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_IQUOTE:=$(CFLAGS_IQUOTE) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + ps3eye_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + ps3eye_STRIP ?= $(HOST_STRIP) + ps3eye_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(ps3eye_MOBJC_CPPFLAGS) $(ps3eye_MOBJC_EXTRA_CPPFLAGS)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(ps3eye_OBJCFLAGS)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(ps3eye_OBJCDFLAGS)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_IQUOTE:=$(HOST_IQUOTE) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + ps3eye_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + ps3eye_STRIP ?= $(ECHO) >/dev/null + ps3eye_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(ps3eye_MOBJC_CPPFLAGS) $(ps3eye_MOBJC_EXTRA_CPPFLAGS)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(ps3eye_OBJCFLAGS)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(ps3eye_OBJCDFLAGS)) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_IQUOTE:=$(KERNEL_IQUOTE) + $(ps3eye_MOBJC_TARGETS) $(ps3eye_MOBJC_DTARGETS) : ps3eye_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(ps3eye_MOBJC_TARGETS) : CPPFLAGS := $(ps3eye_MOBJC_CPPFLAGS) +$(ps3eye_MOBJC_TARGETS) : CFLAGS := $(ps3eye_OBJCFLAGS) +$(ps3eye_MOBJC_TARGETS) : $(ps3eye_MOBJC_WILDCARD).o : $(ps3eye_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(ps3eye_IQUOTE) $(dir $<) $(ps3eye_IQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_IQUOTE) . $(ps3eye_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(ps3eye_IQUOTE) $(dir $<) $(ps3eye_IQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_IQUOTE) . $(ps3eye_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(ps3eye_IQUOTE) $(dir $<) $(ps3eye_IQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_IQUOTE) . $(ps3eye_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(ps3eye_MOBJC_DTARGETS) : $(ps3eye_MOBJC_WILDCARD).d : $(ps3eye_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(ps3eye_OBJCDFLAGS) $(ps3eye_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +ps3eye_MC_SRCWILDCARD := % +else +ps3eye_MC_SRCWILDCARD := /% +endif + +ifeq ($(ps3eye_OBJDIR),) +ps3eye_MC_TARGETS := $(addsuffix .o,$(ps3eye_C_NARCHFILES)) +ps3eye_MC_DTARGETS := $(addsuffix .d,$(ps3eye_C_NARCHFILES)) +ps3eye_MC_TGTWILDCARD := % +else +ifeq (no,no) + ps3eye_MC_TARGETS := $(addsuffix .o,$(addprefix $(ps3eye_OBJDIR)/,$(notdir $(ps3eye_C_NARCHFILES)))) + ps3eye_MC_DTARGETS := $(addsuffix .d,$(addprefix $(ps3eye_OBJDIR)/,$(notdir $(ps3eye_C_NARCHFILES)))) +else +ifeq (,) + ps3eye_MC_TARGETS := $(addsuffix .o,$(addprefix $(ps3eye_OBJDIR)/,$(ps3eye_C_NARCHFILES))) + ps3eye_MC_DTARGETS := $(addsuffix .d,$(addprefix $(ps3eye_OBJDIR)/,$(ps3eye_C_NARCHFILES))) +else + ps3eye_MC_TARGETS := $(addsuffix .o,$(addprefix $(ps3eye_OBJDIR)/,$(patsubst /%,%,$(ps3eye_C_NARCHFILES)))) + ps3eye_MC_DTARGETS := $(addsuffix .d,$(addprefix $(ps3eye_OBJDIR)/,$(patsubst /%,%,$(ps3eye_C_NARCHFILES)))) +endif +endif +ps3eye_MC_TGTWILDCARD := $(ps3eye_OBJDIR)/% + +# Be sure that all .c files are generated +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : | $(addsuffix .c,$(ps3eye_C_NARCHFILES)) + +# Be sure that all .c files are found +ps3eye_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +ps3eye_MC_BASEDIRS := $(shell echo $(sort $(dir $(ps3eye_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +ps3eye_MC_DIRS := $(foreach dir, $(ps3eye_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(ps3eye_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(ps3eye_MC_DIRS),) + ps3eye_MC_DIRS := $(shell echo $(ps3eye_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(ps3eye_MC_DIRS) +endif + +endif + +ps3eye_MC_CPPFLAGS := $(ps3eye_CPPFLAGS) +ps3eye_CFLAGS := $(ps3eye_CFLAGS) +ifeq ($(ps3eye_DFLAGS),) + ps3eye_DFLAGS := $(ps3eye_CFLAGS) +else + ps3eye_DFLAGS := $(ps3eye_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +ps3eye_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +ps3eye_STRIP ?= $(TARGET_STRIP) +ps3eye_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_MC_CPPFLAGS:=$(strip $(ps3eye_MC_CPPFLAGS) $(ps3eye_MC_EXTRA_CPPFLAGS)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_CFLAGS:=$(strip $(ps3eye_CFLAGS) $(SAFETY_CFLAGS)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_DFLAGS:=$(ps3eye_DFLAGS) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_IQUOTE:=$(CFLAGS_IQUOTE) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +ps3eye_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +ps3eye_STRIP ?= $(HOST_STRIP) +ps3eye_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : CMD:=$(HOST_CC) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(ps3eye_MC_CPPFLAGS) $(ps3eye_MC_EXTRA_CPPFLAGS)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_CFLAGS:=$(strip $(HOST_CFLAGS) $(ps3eye_CFLAGS)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_DFLAGS:=$(strip $(HOST_CFLAGS) $(ps3eye_DFLAGS)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_IQUOTE:=$(HOST_IQUOTE) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +ps3eye_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +ps3eye_STRIP ?= $(ECHO) >/dev/null +ps3eye_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(ps3eye_MC_CPPFLAGS) $(ps3eye_MC_EXTRA_CPPFLAGS)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(ps3eye_CFLAGS)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(ps3eye_DFLAGS)) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_IQUOTE:=$(KERNEL_IQUOTE) +$(ps3eye_MC_TARGETS) $(ps3eye_MC_DTARGETS) : ps3eye_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(ps3eye_MC_TARGETS) : CPPFLAGS := $(ps3eye_MC_CPPFLAGS) +$(ps3eye_MC_TARGETS) : CFLAGS := $(ps3eye_CFLAGS) +$(ps3eye_MC_TARGETS) : $(ps3eye_MC_TGTWILDCARD).o : $(ps3eye_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(ps3eye_IQUOTE) $(dir $<) $(ps3eye_IQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_IQUOTE) . $(ps3eye_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(ps3eye_IQUOTE) $(dir $<) $(ps3eye_IQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_IQUOTE) . $(ps3eye_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(ps3eye_IQUOTE) $(dir $<) $(ps3eye_IQUOTE) $(SRCDIR)/$(CURDIR) $(ps3eye_IQUOTE) . $(ps3eye_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(ps3eye_MC_DTARGETS) : $(ps3eye_MC_TGTWILDCARD).d : $(ps3eye_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(ps3eye_DFLAGS) $(ps3eye_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(ps3eye_OBJDIR),) +ps3eye-MA_TARGETS := $(addsuffix .o,$(ps3eye_ASMFILES)) +ps3eye-MA_WILDCARD := % +else +ps3eye-MA_TARGETS := $(addsuffix .o,$(addprefix $(ps3eye_OBJDIR)/,$(notdir $(ps3eye_ASMFILES)))) +ps3eye-MA_WILDCARD := $(ps3eye_OBJDIR)/% + +# Be sure that all .s files are generated +$(ps3eye-MA_TARGETS) : | $(addsuffix .s,$(ps3eye_ASMFILES)) + +# Be sure that all .c files are found +ps3eye-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +ps3eye-MA_BASEDIRS := $(shell echo $(sort $(dir $(ps3eye_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +ps3eye-MA_DIRS := $(foreach dir, $(ps3eye-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(ps3eye-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(ps3eye-MA_DIRS),) + ps3eye-MA_DIRS := $(shell echo $(ps3eye-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(ps3eye-MA_DIRS) +endif + +endif + +ps3eye-MA_ASSEMBLER ?= $(ps3eye_ASSEMBLER) + +$(ps3eye-MA_TARGETS) : ps3eye-MA_CMD:= $(ps3eye-MA_ASSEMBLER) + +$(ps3eye-MA_TARGETS) : CPPFLAGS := $(ps3eye_CPPFLAGS) +$(ps3eye-MA_TARGETS) : AFLAGS := $(ps3eye_AFLAGS) +$(ps3eye-MA_TARGETS) : $(ps3eye-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(ps3eye-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(ps3eye-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(ps3eye-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ps3eye-link_EXTRA_LDFLAGS := +ps3eye-link_EXTRA_LIBS := +ifeq (no,yes) + ps3eye-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + ps3eye-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + ps3eye-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +ps3eye-link_DIRS := $(subst -L ,-L,$(strip $(ps3eye_LDFLAGS))) +# Filter out only the libdirs and remove -L +ps3eye-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(ps3eye-link_DIRS))) +# Add trailing / +ps3eye-link_DIRS := $(subst //,/,$(addsuffix /,$(ps3eye-link_DIRS))) +# Add normal linklib path +ps3eye-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +ps3eye-link_LIBS := $(addprefix lib,$(addsuffix .a,$(ps3eye_LIBS) $(ps3eye-link_EXTRA_LIBS))) +ifeq (yes,yes) + ps3eye-link_LIBS += startup.o +endif +ifeq (no,yes) + ps3eye-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +ps3eye-link_DEPLIBS := $(foreach lib,$(ps3eye-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(ps3eye-link_DIRS)))) \ +) + +$(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) : OBJDIR := $(ps3eye_OBJDIR) +$(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) : OBJS := $(ps3eye_OBJS) $(ps3eye_ARCHOBJS) $(USER_OBJS) +$(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) : LDFLAGS := $(strip $(ps3eye_LDFLAGS) $(ps3eye-link_EXTRA_LDFLAGS)) +$(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) : LIBS := $(addprefix -l,$(ps3eye_LIBS) $(ps3eye-link_EXTRA_LIBS) ) +$(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) : $(ps3eye_OBJS) $(ps3eye_ARCHOBJS) $(USER_OBJS) $(ps3eye-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(ps3eye_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(ps3eye_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(ps3eye_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(ps3eye_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(ps3eye_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(ps3eye_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(ps3eye_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(ps3eye_DEPS),) + ifneq (ps3eye ps3eye-quick,) + ifneq ($(findstring $(TARGET),ps3eye ps3eye-quick),) + -include $(ps3eye_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(ps3eye_DEPS) + endif + endif +endif + + +ifneq ($(ps3eye_OBJS) $(ps3eye_DEPS) $(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME),) +$(ps3eye_OBJS) $(ps3eye_DEPS) $(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) : | $(ps3eye_OBJDIR) $(ps3eye_TARGETDIR) +else +$(ps3eye_OBJS) $(ps3eye_DEPS) $(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) :: $(ps3eye_OBJDIR) $(ps3eye_TARGETDIR) +endif + +GLOB_MKDIRS += $(ps3eye_OBJDIR) $(ps3eye_TARGETDIR) + + +ps3eye-clean : FILES := $(ps3eye_OBJS) $(ps3eye_TARGETDIR)/$(ps3eye_PROGNAME) $(ps3eye_DEPS) +#MM +ps3eye-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget ps3eye" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/pciusbhc/ohci/mmakefile b/rom/usb/pciusbhc/ohci/mmakefile new file mode 100644 index 00000000000..dcda42d9a8f --- /dev/null +++ b/rom/usb/pciusbhc/ohci/mmakefile @@ -0,0 +1,1671 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := pci buffer chip roothub dev cmd debug + +NOWANR_FLAGS := $(NOWARN_PARENTHESES) +USER_CFLAGS := $(NOWANR_FLAGS) + +WBUSBHARDWAREDIR := $(AROSDIR)/Devs/USBHardware + +#MM +kernel-usb-pciusb-directories :: + $(Q)$(FOR) dir in $(WBUSBHARDWAREDIRS) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + +#MM- kernel-usb-hw-ohci : kernel-usb-pciusb-directories + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-usb-hw-ohci +#MM kernel-usb-hw-ohci-quick +#MM kernel-usb-hw-ohci-makefile +#MM kernel-usb-hw-ohci-clean + +# ABI targets: +#MM- includes-all : kernel-usb-hw-ohci-includes +#MM- linklibs-ohci: kernel-usb-hw-ohci-linklib +#MM- linklibs-ohci_rel : kernel-usb-hw-ohci-linklib +#MM- includes-ohci: kernel-usb-hw-ohci-includes +#MM- includes-ohci_rel : kernel-usb-hw-ohci-includes +#MM- kernel-usb-hw-ohci : kernel-usb-hw-ohci-includes core-linklibs linklibs-hiddstubs linklibs-debug +#MM kernel-usb-hw-ohci-linklib : kernel-usb-hw-ohci-includes includes-hiddstubs includes-debug +#MM- kernel-usb-hw-ohci-quick : kernel-usb-hw-ohci-includes-quick +#MM kernel-usb-hw-ohci-includes : kernel-usb-hw-ohci-makefile kernel-usb-hw-ohci-includes-dirs \ +#MM includes-generate-deps kernel-usb-hw-ohci-fd +#MM kernel-usb-hw-ohci-includes-quick +#MM kernel-usb-hw-ohci-includes-dirs +#MM kernel-usb-hw-ohci-fd + +# Library targets +#MM kernel-usb-hw-ohci-kobj : core-linklibs linklibs-hiddstubs linklibs-debug +#MM kernel-usb-hw-ohci-kobj-quick : + +# Library with ABI targets: +#MM kernel-usb-hw-ohci-kobj : kernel-usb-hw-ohci-includes core-linklibs linklibs-hiddstubs linklibs-debug +#MM kernel-usb-hw-ohci-kobj-quick : kernel-usb-hw-ohci-includes-quick + +# All MetaMake targets defined by this macro +kernel-usb-hw-ohci_ALLTARGETS := kernel-usb-hw-ohci kernel-usb-hw-ohci-quick kernel-usb-hw-ohci-clean + +ifeq (M,M) +kernel-usb-hw-ohci_ALLTARGETS += kernel-usb-hw-ohci-kobj kernel-usb-hw-ohci-kobj-quick +endif + +ifeq (M,M) +kernel-usb-hw-ohci_ALLTARGETS += kernel-usb-hw-ohci-includes \ + kernel-usb-hw-ohci-includes-quick kernel-usb-hw-ohci-includes-dirs \ + kernel-usb-hw-ohci-linklib kernel-usb-hw-ohci-fd +endif + +.PHONY : $(kernel-usb-hw-ohci_ALLTARGETS) kernel-usb-hw-ohci-makefile + +ifeq (ohci,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-usb-hw-ohci_DEFNAME := ohci_ +else + kernel-usb-hw-ohci_DEFNAME := ohci +endif +kernel-usb-hw-ohci_DEFLINKLIBNAME := $(kernel-usb-hw-ohci_DEFNAME) +ifneq (,) + kernel-usb-hw-ohci_LINKLIBNAME := +else + kernel-usb-hw-ohci_LINKLIBNAME = $(kernel-usb-hw-ohci_DEFLINKLIBNAME) +endif +kernel-usb-hw-ohci_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-usb-hw-ohci_DEFCPPFLAGS += -I +endif +kernel-usb-hw-ohci_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-usb-hw-ohci_DFLAGS := +else + kernel-usb-hw-ohci_DFLAGS = $(kernel-usb-hw-ohci_DEFDFLAGS) +endif +kernel-usb-hw-ohci_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-usb-hw-ohci_DXXFLAGS := +else + kernel-usb-hw-ohci_DXXFLAGS = $(kernel-usb-hw-ohci_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-hw-ohci_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-hw-ohci_DEFDFLAGS)) +kernel-usb-hw-ohci_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-hw-ohci_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-hw-ohci_FUNCINSTR := yes +kernel-usb-hw-ohci_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-hw-ohci_DEFDFLAGS)) +kernel-usb-hw-ohci_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-hw-ohci_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-usb-hw-ohci_OBJDIR := +else +kernel-usb-hw-ohci_OBJDIR := $(OBJDIR)/$(kernel-usb-hw-ohci_DEFNAME) +endif +ifneq (,) +kernel-usb-hw-ohci_OBJDIR := $(kernel-usb-hw-ohci_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-usb-hw-ohci-makefile := $(kernel-usb-hw-ohci_OBJDIR)/Makefile.$(kernel-usb-hw-ohci_DEFNAME)device +kernel-usb-hw-ohci-genmakefile : $(kernel-usb-hw-ohci-makefile) + + +kernel-usb-hw-ohci-genmakefile_OPTS := +ifneq (,) + kernel-usb-hw-ohci-genmakefile_OPTS += -f + kernel-usb-hw-ohci-genmakefile_MODNAME := ohci_ +else + kernel-usb-hw-ohci-genmakefile_MODNAME := ohci +endif +kernel-usb-hw-ohci-genmakefile_TARGET := Makefile.$(kernel-usb-hw-ohci-genmakefile_MODNAME)device +kernel-usb-hw-ohci-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-hw-ohci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-hw-ohci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-hw-ohci-genmakefile_OPTS += -c + kernel-usb-hw-ohci-genmakefile_DEPS += + endif +else + kernel-usb-hw-ohci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ohci.conf + kernel-usb-hw-ohci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ohci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-hw-ohci-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-hw-ohci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-hw-ohci-genmakefile_OPTS += -o + kernel-usb-hw-ohci-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-usb-hw-ohci-genmakefile_OPTS += -s +endif +ifneq ($(kernel-usb-hw-ohci_OBJDIR),) + kernel-usb-hw-ohci-genmakefile_OPTS += -d $(kernel-usb-hw-ohci_OBJDIR) + kernel-usb-hw-ohci-genmakefile_TARGET := $(kernel-usb-hw-ohci_OBJDIR)/$(kernel-usb-hw-ohci-genmakefile_TARGET) +endif + +$(kernel-usb-hw-ohci-genmakefile_TARGET) : OPTS := $(kernel-usb-hw-ohci-genmakefile_OPTS) +$(kernel-usb-hw-ohci-genmakefile_TARGET) : MODNAME := ohci +$(kernel-usb-hw-ohci-genmakefile_TARGET) : MODTYPE := device +$(kernel-usb-hw-ohci-genmakefile_TARGET) : $(kernel-usb-hw-ohci-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-usb-hw-ohci-makefile),) +$(kernel-usb-hw-ohci-makefile) : | $(kernel-usb-hw-ohci_OBJDIR) +else +$(kernel-usb-hw-ohci-makefile) :: $(kernel-usb-hw-ohci_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-hw-ohci_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-usb-hw-ohci_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-usb-hw-ohci-makefile) + +kernel-usb-hw-ohci_DEFMODDIR := $($(kernel-usb-hw-ohci_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-usb-hw-ohci_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-usb-hw-ohci_DEFMODDIR) +endif +ifneq (Devs/USBHardware,) + kernel-usb-hw-ohci_MODDIR := Devs/USBHardware +else + kernel-usb-hw-ohci_MODDIR := $(kernel-usb-hw-ohci_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-usb-hw-ohci_INCDIR := +else +kernel-usb-hw-ohci_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-usb-hw-ohci_LIBDEFSINC := $(kernel-usb-hw-ohci_OBJDIR)/include/$(kernel-usb-hw-ohci_DEFNAME)_libdefs.h +kernel-usb-hw-ohci_DEFLIBDEFSINC := $(kernel-usb-hw-ohci_OBJDIR)/include/$(kernel-usb-hw-ohci_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-usb-hw-ohci-includes-quick : kernel-usb-hw-ohci-includes +kernel-usb-hw-ohci-includes : $(addprefix $(GENINCDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-hw-ohci_INCDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) \ + $(kernel-usb-hw-ohci_LIBDEFSINC) $(kernel-usb-hw-ohci_DEFLIBDEFSINC) + +ifneq ($($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-usb-hw-ohci-includes_MODNAME := ohci_ +else + kernel-usb-hw-ohci-includes_MODNAME := ohci +endif + +ifneq ($($(kernel-usb-hw-ohci-includes_MODNAME)_INCLUDES),) + +kernel-usb-hw-ohci-includes_TARGETS := $($(kernel-usb-hw-ohci-includes_MODNAME)_INCLUDES) + +kernel-usb-hw-ohci-includes_DEPS := $(GENMODULE) +kernel-usb-hw-ohci-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-hw-ohci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-hw-ohci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-hw-ohci-includes_OPTS += -c + kernel-usb-hw-ohci-includes_DEPS += + endif +else + kernel-usb-hw-ohci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ohci.conf + kernel-usb-hw-ohci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ohci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-hw-ohci-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-hw-ohci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-hw-ohci-includes_OPTS += -o + kernel-usb-hw-ohci-includes_DEPS += + endif +endif +ifneq (,) + kernel-usb-hw-ohci-includes_OPTS += -s +endif +ifneq ($(kernel-usb-hw-ohci_OBJDIR)/include,) + kernel-usb-hw-ohci-includes_OPTS += -d $(kernel-usb-hw-ohci_OBJDIR)/include + kernel-usb-hw-ohci-includes_TARGETS := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/include/,$(kernel-usb-hw-ohci-includes_TARGETS)) + kernel-usb-hw-ohci-includes_GENINCFLAG=$(kernel-usb-hw-ohci_OBJDIR)/include/.ohci.device-includes +else + kernel-usb-hw-ohci-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.ohci.device-includes +endif + +$(kernel-usb-hw-ohci-includes_TARGETS) : $(kernel-usb-hw-ohci-includes_DEPS) $(kernel-usb-hw-ohci-includes_GENINCFLAG) + +$(kernel-usb-hw-ohci-includes_GENINCFLAG) : OPTS := $(kernel-usb-hw-ohci-includes_OPTS) +$(kernel-usb-hw-ohci-includes_GENINCFLAG) : MODNAME := ohci +$(kernel-usb-hw-ohci-includes_GENINCFLAG) : MODTYPE := device +$(kernel-usb-hw-ohci-includes_GENINCFLAG) : $(kernel-usb-hw-ohci-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-usb-hw-ohci_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) : | $(kernel-usb-hw-ohci_OBJDIR)/ohci_geninc + +$(kernel-usb-hw-ohci_OBJDIR)/ohci_geninc : COPYSRCDIR := $(kernel-usb-hw-ohci_OBJDIR)/include +$(kernel-usb-hw-ohci_OBJDIR)/ohci_geninc : TGTDIR := $(GENINCDIR) +$(kernel-usb-hw-ohci_OBJDIR)/ohci_geninc : FILES := $($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES) +$(kernel-usb-hw-ohci_OBJDIR)/ohci_geninc : $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/include/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-usb-hw-ohci_OBJDIR)/include + +$(addprefix $(kernel-usb-hw-ohci_INCDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) : | $(kernel-usb-hw-ohci_OBJDIR)/ohci_incs + +$(kernel-usb-hw-ohci_OBJDIR)/ohci_incs : COPYSRCDIR := $(kernel-usb-hw-ohci_OBJDIR)/include +$(kernel-usb-hw-ohci_OBJDIR)/ohci_incs : TGTDIR := $(kernel-usb-hw-ohci_INCDIR) +$(kernel-usb-hw-ohci_OBJDIR)/ohci_incs : FILES := $($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES) +$(kernel-usb-hw-ohci_OBJDIR)/ohci_incs : $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/include/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-usb-hw-ohci_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)))) + +TMPohci_INCDIRS := \ + $(kernel-usb-hw-ohci_OBJDIR)/include $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/include/,$(kernel-usb-hw-ohci_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-usb-hw-ohci_INCDIRS)) \ + $(kernel-usb-hw-ohci_INCDIR) $(addprefix $(kernel-usb-hw-ohci_INCDIR)/,$(kernel-usb-hw-ohci_INCDIRS)) + +ifneq (kernel-usb-hw-ohci-includes-dirs,) +kernel-usb-hw-ohci-includes-dirs : | $(TMPohci_INCDIRS) +else +kernel-usb-hw-ohci-includes-dirs :: $(TMPohci_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPohci_INCDIRS) + + +endif + +endif + + +kernel-usb-hw-ohci-genlibdefs_OPTS := +ifneq (,) + kernel-usb-hw-ohci-genlibdefs_OPTS += -f + kernel-usb-hw-ohci-genlibdefs_MODNAME := ohci_ +else + kernel-usb-hw-ohci-genlibdefs_MODNAME := ohci +endif +kernel-usb-hw-ohci-genlibdefs_TARGET := $(kernel-usb-hw-ohci-genlibdefs_MODNAME)_libdefs.h +kernel-usb-hw-ohci-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-hw-ohci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-hw-ohci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-hw-ohci-genlibdefs_OPTS += -c + kernel-usb-hw-ohci-genlibdefs_DEPS += + endif +else + kernel-usb-hw-ohci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ohci.conf + kernel-usb-hw-ohci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ohci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-hw-ohci-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-hw-ohci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-hw-ohci-genlibdefs_OPTS += -o + kernel-usb-hw-ohci-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-usb-hw-ohci-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-usb-hw-ohci_OBJDIR)/include,) + kernel-usb-hw-ohci-genlibdefs_OPTS += -d $(kernel-usb-hw-ohci_OBJDIR)/include + kernel-usb-hw-ohci-genlibdefs_TARGET := $(kernel-usb-hw-ohci_OBJDIR)/include/$(kernel-usb-hw-ohci-genlibdefs_TARGET) +endif +ifneq (,) + kernel-usb-hw-ohci-genlibdefs_OPTS += -v +endif + +$(kernel-usb-hw-ohci-genlibdefs_TARGET) : OPTS := $(kernel-usb-hw-ohci-genlibdefs_OPTS) +$(kernel-usb-hw-ohci-genlibdefs_TARGET) : MODNAME := ohci +$(kernel-usb-hw-ohci-genlibdefs_TARGET) : MODTYPE := device +$(kernel-usb-hw-ohci-genlibdefs_TARGET) : $(kernel-usb-hw-ohci-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-usb-hw-ohci_DEFLIBDEFSINC) : FILENAME := $(kernel-usb-hw-ohci_LIBDEFSINC) +$(kernel-usb-hw-ohci_DEFLIBDEFSINC) : $(kernel-usb-hw-ohci_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-usb-hw-ohci_LIBDEFSINC) $(kernel-usb-hw-ohci_DEFLIBDEFSINC) : | $(kernel-usb-hw-ohci_OBJDIR)/include + +ifneq (kernel-usb-hw-ohci-includes-dirs,) +kernel-usb-hw-ohci-includes-dirs : | $(kernel-usb-hw-ohci_OBJDIR)/include +else +kernel-usb-hw-ohci-includes-dirs :: $(kernel-usb-hw-ohci_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-usb-hw-ohci_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-usb-hw-ohci-genmodfiles_OPTS := +ifneq (,) + kernel-usb-hw-ohci-genmodfiles_OPTS += -f + kernel-usb-hw-ohci-genmodfiles_MODNAME := ohci_ +else + kernel-usb-hw-ohci-genmodfiles_MODNAME := ohci +endif +kernel-usb-hw-ohci-genmodfiles_GENTARGETS := $($(kernel-usb-hw-ohci-genmodfiles_MODNAME)_STARTFILES) $($(kernel-usb-hw-ohci-genmodfiles_MODNAME)_ENDFILES) +kernel-usb-hw-ohci-genmodfiles_STUBTARGETS := $($(kernel-usb-hw-ohci-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-usb-hw-ohci-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-usb-hw-ohci-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-usb-hw-ohci-genmodfiles_GENTARGETS)) +kernel-usb-hw-ohci-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-usb-hw-ohci-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-usb-hw-ohci-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-usb-hw-ohci-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-usb-hw-ohci-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-hw-ohci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-hw-ohci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-hw-ohci-genmodfiles_OPTS += -c + kernel-usb-hw-ohci-genmodfiles_DEPS += + endif +else + kernel-usb-hw-ohci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ohci.conf + kernel-usb-hw-ohci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ohci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-hw-ohci-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-hw-ohci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-hw-ohci-genmodfiles_OPTS += -o + kernel-usb-hw-ohci-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-usb-hw-ohci-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-usb-hw-ohci_OBJDIR),) + kernel-usb-hw-ohci-genmodfiles_OPTS += -d $(kernel-usb-hw-ohci_OBJDIR) + kernel-usb-hw-ohci-genmodfiles_TARGETDIR := $(shell echo $(kernel-usb-hw-ohci_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-hw-ohci-genmodfiles_GENTARGETS := $(addprefix $(kernel-usb-hw-ohci-genmodfiles_TARGETDIR)/,$(kernel-usb-hw-ohci-genmodfiles_GENTARGETS)) + kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG=$(kernel-usb-hw-ohci-genmodfiles_TARGETDIR)/.ohci.device-genfiles +else + kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.ohci.device-genfiles +endif +ifneq ($(kernel-usb-hw-ohci_OBJDIR)/linklib,) + kernel-usb-hw-ohci-genmodfiles_OPTS += -l $(kernel-usb-hw-ohci_OBJDIR)/linklib + kernel-usb-hw-ohci-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-usb-hw-ohci_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-usb-hw-ohci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-hw-ohci-genmodfiles_STUBTARGETDIR)/,$(kernel-usb-hw-ohci-genmodfiles_STUBTARGETS)) + kernel-usb-hw-ohci-genmodfiles_TARGETDIRS += $(kernel-usb-hw-ohci_OBJDIR)/linklib +else +ifneq ($(kernel-usb-hw-ohci_OBJDIR),) + kernel-usb-hw-ohci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-hw-ohci-genmodfiles_TARGETDIR)/,$(kernel-usb-hw-ohci-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-usb-hw-ohci-genmodfiles_TARGETS := $(kernel-usb-hw-ohci-genmodfiles_GENTARGETS) $(kernel-usb-hw-ohci-genmodfiles_STUBTARGETS) +ifneq ($(kernel-usb-hw-ohci-genmodfiles_TARGETDIRS),) +$(kernel-usb-hw-ohci-genmodfiles_TARGETS) : | $(kernel-usb-hw-ohci-genmodfiles_TARGETDIRS) +endif + +$(kernel-usb-hw-ohci-genmodfiles_TARGETS) : $(kernel-usb-hw-ohci-genmodfiles_DEPS) $(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG) + +$(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-usb-hw-ohci-genmodfiles_OPTS) +$(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG) : MODNAME := ohci +$(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG) : $(kernel-usb-hw-ohci-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG) : $(kernel-usb-hw-ohci_DEFLIBDEFSINC) $(kernel-usb-hw-ohci-makefile) + + +ifneq ($(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG),) +$(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG) : | $(kernel-usb-hw-ohci_OBJDIR)/linklib +else +$(kernel-usb-hw-ohci-genmodfiles_GENFILEFLAG) :: $(kernel-usb-hw-ohci_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-usb-hw-ohci_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-usb-hw-ohci_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-usb-hw-ohci_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-usb-hw-ohci-fd : $(kernel-usb-hw-ohci_FDDIR)/ohci_lib.fd + + +TMP_TARGET := ohci_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ohci.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ohci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-usb-hw-ohci_FDDIR),) + TMP_OPTS += -d $(kernel-usb-hw-ohci_FDDIR) + TMP_TARGET := $(kernel-usb-hw-ohci_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := ohci +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-usb-hw-ohci_FDDIR)/ohci_lib.fd : | $(kernel-usb-hw-ohci_FDDIR) + + +ifneq (kernel-usb-hw-ohci-fd-setup,) +kernel-usb-hw-ohci-fd-setup : | $(kernel-usb-hw-ohci_FDDIR) +else +kernel-usb-hw-ohci-fd-setup :: $(kernel-usb-hw-ohci_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-hw-ohci_FDDIR) + +endif + +## Compilation +## +kernel-usb-hw-ohci_FILES := $(FILES) +kernel-usb-hw-ohci_OBJCFILES := +kernel-usb-hw-ohci_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-usb-hw-ohci_LIBFILES := +kernel-usb-hw-ohci_LIBS := hiddstubs debug + +kernel-usb-hw-ohci_FDIRS := $(sort $(dir $(kernel-usb-hw-ohci_FILES))) + +kernel-usb-hw-ohci_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-usb-hw-ohci_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-usb-hw-ohci_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-usb-hw-ohci_FILTERARCH = $(filter-out $(call kernel-usb-hw-ohci_MATCHARCH,$(1),$(2)),$(2)) +kernel-usb-hw-ohci_STARTFILES := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_STARTFILES)) +kernel-usb-hw-ohci_ENDFILES := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_ENDFILES)) + +kernel-usb-hw-ohci_ARCHOBJS := $(wildcard $(kernel-usb-hw-ohci_OBJDIR)/arch/*.o) +kernel-usb-hw-ohci_LIBARCHOBJS := $(wildcard $(kernel-usb-hw-ohci_OBJDIR)/linklib/arch/*.o) +kernel-usb-hw-ohci_ARCHFILES := $(basename $(notdir $(kernel-usb-hw-ohci_ARCHOBJS))) +kernel-usb-hw-ohci_LIBARCHFILES := $(basename $(notdir $(kernel-usb-hw-ohci_LIBARCHOBJS))) +kernel-usb-hw-ohci_C_NARCHFILES := $(call kernel-usb-hw-ohci_FILTERARCH,$(kernel-usb-hw-ohci_ARCHFILES),$(kernel-usb-hw-ohci_FILES)) +kernel-usb-hw-ohci_CXX_NARCHFILES := $(call kernel-usb-hw-ohci_FILTERARCH,$(kernel-usb-hw-ohci_ARCHFILES),$(kernel-usb-hw-ohci_CXXFILES)) +kernel-usb-hw-ohci_OBJC_NARCHFILES := $(call kernel-usb-hw-ohci_FILTERARCH,$(kernel-usb-hw-ohci_ARCHFILES),$(kernel-usb-hw-ohci_OBJCFILES)) +kernel-usb-hw-ohci_NLIBARCHFILES := $(call kernel-usb-hw-ohci_FILTERARCH,$(kernel-usb-hw-ohci_LIBARCHFILES),$(kernel-usb-hw-ohci_LIBFILES)) +kernel-usb-hw-ohci_ARCHNLIBFILES := $(call kernel-usb-hw-ohci_FILTERARCH,$(kernel-usb-hw-ohci_LIBFILES),$(kernel-usb-hw-ohci_LIBARCHFILES)) + +kernel-usb-hw-ohci_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-usb-hw-ohci_OBJDIR)/include -include $(kernel-usb-hw-ohci_DEFLIBDEFSINC)) +ifneq (,) +kernel-usb-hw-ohci_CPPFLAGS += -I +endif +kernel-usb-hw-ohci_LINKLIBCPPFLAGS := $(kernel-usb-hw-ohci_CPPFLAGS) +kernel-usb-hw-ohci_CPPFLAGS += $(strip $($(kernel-usb-hw-ohci_DEFNAME)_CPPFLAGS)) +kernel-usb-hw-ohci_LINKLIBCPPFLAGS += $(strip $($(kernel-usb-hw-ohci_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-usb-hw-ohci_CFLAGS := $(strip $(CFLAGS) $($(kernel-usb-hw-ohci_DEFNAME)_CFLAGS)) +kernel-usb-hw-ohci_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-usb-hw-ohci_DEFNAME)_LINKLIBCFLAGS)) +kernel-usb-hw-ohci_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-usb-hw-ohci_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-hw-ohci_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-usb-hw-ohci_CFLAGS := $(strip $(kernel-usb-hw-ohci_LTOFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +kernel-usb-hw-ohci_LINKLIBCFLAGS := $(strip $(kernel-usb-hw-ohci_LTOFLAGS) $(kernel-usb-hw-ohci_LINKLIBCFLAGS)) +kernel-usb-hw-ohci_CXXFLAGS := $(strip $(kernel-usb-hw-ohci_LTOFLAGS) $(kernel-usb-hw-ohci_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-hw-ohci_SUBSTNULL := +kernel-usb-hw-ohci_SUBSTSPACE := $(kernel-usb-hw-ohci_SUBSTNULL) # +kernel-usb-hw-ohci_SUBSTCOMMA := , +kernel-usb-hw-ohci_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-usb-hw-ohci_SUBSTSPACE),$(kernel-usb-hw-ohci_SUBSTCOMMA),$(strip $($(kernel-usb-hw-ohci_DEFNAME)_STARTFILES)))) +kernel-usb-hw-ohci_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-usb-hw-ohci_CFLAGS := $(strip $(kernel-usb-hw-ohci_INSTRFUNCFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +kernel-usb-hw-ohci_CXXFLAGS := $(strip $(kernel-usb-hw-ohci_INSTRFUNCFLAGS) $(kernel-usb-hw-ohci_CXXFLAGS)) +kernel-usb-hw-ohci_LIBS += $(kernel-usb-hw-ohci_INSTRFUNCLIBS) +endif +endif +kernel-usb-hw-ohci_DFLAGS := $(strip $(kernel-usb-hw-ohci_DFLAGS) $($(kernel-usb-hw-ohci_DEFNAME)_DFLAGS)) +kernel-usb-hw-ohci_LINKLIBDFLAGS := $(strip $(kernel-usb-hw-ohci_DFLAGS) $($(kernel-usb-hw-ohci_DEFNAME)_LINKLIBDFLAGS)) +kernel-usb-hw-ohci_DXXFLAGS := $(strip $(kernel-usb-hw-ohci_DXXFLAGS) $($(kernel-usb-hw-ohci_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-usb-hw-ohci_LIBSUFFIX := +else + kernel-usb-hw-ohci_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-usb-hw-ohci_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-usb-hw-ohci_LIBDIR := +endif + +ifeq (M,M) +kernel-usb-hw-ohci_LINKLIBCFILES := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$($(kernel-usb-hw-ohci_DEFNAME)_LINKLIBFILES)) +kernel-usb-hw-ohci_LINKLIBAFILES := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$($(kernel-usb-hw-ohci_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-hw-ohci_DEFNAME)_LINKLIBFILES) $($(kernel-usb-hw-ohci_DEFNAME)_LINKLIBAFILES) $(kernel-usb-hw-ohci_ARCHNLIBFILES)),) + kernel-usb-hw-ohci_LINKLIB := +else + kernel-usb-hw-ohci_LINKLIB := $(kernel-usb-hw-ohci_LIBDIR)/libohci$(kernel-usb-hw-ohci_LIBSUFFIX).a + ifneq (ohci,$(kernel-usb-hw-ohci_LINKLIBNAME)) + kernel-usb-hw-ohci_LINKLIB += $(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)$(kernel-usb-hw-ohci_LIBSUFFIX).a + endif +endif +kernel-usb-hw-ohci_LINKLIBFILES := $(kernel-usb-hw-ohci_LINKLIBCFILES) $(kernel-usb-hw-ohci_LINKLIBAFILES) + +kernel-usb-hw-ohci_RELLINKLIBCFILES := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$($(kernel-usb-hw-ohci_DEFNAME)_RELLINKLIBFILES)) +kernel-usb-hw-ohci_RELLINKLIBAFILES := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$($(kernel-usb-hw-ohci_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-hw-ohci_DEFNAME)_RELLINKLIBFILES) $($(kernel-usb-hw-ohci_DEFNAME)_RELLINKLIBAFILES) $(kernel-usb-hw-ohci_ARCHNLIBFILES)),) + kernel-usb-hw-ohci_RELLINKLIB := +else + kernel-usb-hw-ohci_RELLINKLIB := $(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_DEFNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a + ifneq (ohci,$(kernel-usb-hw-ohci_LINKLIBNAME)) + kernel-usb-hw-ohci_RELLINKLIB += $(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a + endif +endif +kernel-usb-hw-ohci_RELLINKLIBFILES := $(kernel-usb-hw-ohci_RELLINKLIBCFILES) $(kernel-usb-hw-ohci_RELLINKLIBAFILES) +endif + +kernel-usb-hw-ohci_ENDOBJS := $(addsuffix .o,$(kernel-usb-hw-ohci_ENDFILES)) +kernel-usb-hw-ohci_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(notdir $(kernel-usb-hw-ohci_NLIBARCHFILES))) $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-hw-ohci_ARCHNLIBFILES))) $(kernel-usb-hw-ohci_LINKLIBFILES)) \ + +kernel-usb-hw-ohci_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(notdir $(kernel-usb-hw-ohci_NLIBARCHFILES))) $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-hw-ohci_ARCHNLIBFILES))) $(kernel-usb-hw-ohci_RELLINKLIBFILES)) \ + +$(kernel-usb-hw-ohci_LINKLIBFILES) $(kernel-usb-hw-ohci_RELLINKLIBFILES) : | $(kernel-usb-hw-ohci_OBJDIR)/linklib +$(kernel-usb-hw-ohci_LINKLIBOBJS) $(kernel-usb-hw-ohci_RELLINKLIBOBJS) : | $(kernel-usb-hw-ohci_OBJDIR)/linklib + +kernel-usb-hw-ohci_CCFILES := $(kernel-usb-hw-ohci_C_NARCHFILES) +kernel-usb-hw-ohci_TARGETCCFILES := $(strip $(kernel-usb-hw-ohci_STARTFILES) $(kernel-usb-hw-ohci_ENDFILES)) +kernel-usb-hw-ohci_LINKLIBCCFILES := $(strip $(kernel-usb-hw-ohci_NLIBARCHFILES) $(kernel-usb-hw-ohci_LINKLIBCFILES) $(kernel-usb-hw-ohci_RELLINKLIBCFILES)) +kernel-usb-hw-ohci_LINKLIBCCGENFILES := $(strip $(kernel-usb-hw-ohci_LINKLIBCFILES) $(kernel-usb-hw-ohci_RELLINKLIBCFILES)) + + +kernel-usb-hw-ohci_CXXABSBASENAMES := $(foreach kernel-usb-hw-ohci_CXXBASE,$(kernel-usb-hw-ohci_CXX_NARCHFILES),$(if $(filter /%,$(kernel-usb-hw-ohci_CXXBASE)),$(kernel-usb-hw-ohci_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-usb-hw-ohci_CXXBASE)))) + +ifneq ($(kernel-usb-hw-ohci_CXXABSBASENAMES),) + +kernel-usb-hw-ohci_CXXBASENAMES := $(basename $(kernel-usb-hw-ohci_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-usb-hw-ohci_MCXX_FILES := $(strip $(foreach kernel-usb-hw-ohci_CXXBASE,$(kernel-usb-hw-ohci_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-usb-hw-ohci_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-usb-hw-ohci_EXT),$(kernel-usb-hw-ohci_CXXBASE))))))) + +ifeq (,) +kernel-usb-hw-ohci_MCXX_SRCWILDCARD := % +else +kernel-usb-hw-ohci_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-hw-ohci_OBJDIR),) + kernel-usb-hw-ohci_CXXTARGETS := $(notdir $(kernel-usb-hw-ohci_CXXBASENAMES:=.o)) + kernel-usb-hw-ohci_CXXDTARGETS := $(notdir $(kernel-usb-hw-ohci_CXXBASENAMES:=.d)) + kernel-usb-hw-ohci_MCXX_WILDCARD := % +else + kernel-usb-hw-ohci_CXXTARGETS := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(kernel-usb-hw-ohci_CXXBASENAMES:=.o))) + kernel-usb-hw-ohci_CXXDTARGETS := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(kernel-usb-hw-ohci_CXXBASENAMES:=.d))) + kernel-usb-hw-ohci_MCXX_WILDCARD := $(kernel-usb-hw-ohci_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-usb-hw-ohci_CXXTARGETS) $(kernel-usb-hw-ohci_CXXDTARGETS) : | $(kernel-usb-hw-ohci_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-usb-hw-ohci_MCXX_CPPFLAGS := $(kernel-usb-hw-ohci_CPPFLAGS) +kernel-usb-hw-ohci_CXXFLAGS := $(kernel-usb-hw-ohci_CXXFLAGS) +ifeq ($(kernel-usb-hw-ohci_DXXFLAGS),) + kernel-usb-hw-ohci_DXXFLAGS := $(kernel-usb-hw-ohci_CXXFLAGS) +else + kernel-usb-hw-ohci_DXXFLAGS := $(kernel-usb-hw-ohci_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-usb-hw-ohci_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-usb-hw-ohci_STRIP ?= $(HOST_STRIP) + kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-usb-hw-ohci_CXXCMD:=$(HOST_CXX) + kernel-usb-hw-ohci_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-usb-hw-ohci_MCXX_CPPFLAGS) $(kernel-usb-hw-ohci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-hw-ohci_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-hw-ohci_CXXFLAGS)) + kernel-usb-hw-ohci_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-hw-ohci_DXXFLAGS)) + kernel-usb-hw-ohci_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-usb-hw-ohci_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-usb-hw-ohci_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-hw-ohci_STRIP ?= $(TARGET_STRIP) + kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-usb-hw-ohci_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-usb-hw-ohci_MCXX_CPPFLAGS := $(strip $(kernel-usb-hw-ohci_MCXX_CPPFLAGS) $(kernel-usb-hw-ohci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-hw-ohci_CXXFLAGS := $(strip $(kernel-usb-hw-ohci_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-usb-hw-ohci_DXXFLAGS := $(kernel-usb-hw-ohci_DXXFLAGS) + kernel-usb-hw-ohci_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-usb-hw-ohci_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-usb-hw-ohci_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-hw-ohci_STRIP ?= $(ECHO) >/dev/null + kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-usb-hw-ohci_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-usb-hw-ohci_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-usb-hw-ohci_MCXX_CPPFLAGS) $(kernel-usb-hw-ohci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-hw-ohci_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-hw-ohci_CXXFLAGS)) + kernel-usb-hw-ohci_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-hw-ohci_DXXFLAGS)) + kernel-usb-hw-ohci_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-usb-hw-ohci_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-usb-hw-ohci_CXXCMD) $(kernel-usb-hw-ohci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-hw-ohci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_CXXIQUOTE) . $(kernel-usb-hw-ohci_CXXIQUOTE_END) $(strip $(kernel-usb-hw-ohci_CXXFLAGS) $(kernel-usb-hw-ohci_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-usb-hw-ohci_CXXCMD) $(kernel-usb-hw-ohci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-hw-ohci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_CXXIQUOTE) . $(kernel-usb-hw-ohci_CXXIQUOTE_END) $(strip $(kernel-usb-hw-ohci_CXXFLAGS) $(kernel-usb-hw-ohci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-usb-hw-ohci_CXXCMD) $(kernel-usb-hw-ohci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-hw-ohci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_CXXIQUOTE) . $(kernel-usb-hw-ohci_CXXIQUOTE_END) $(strip $(kernel-usb-hw-ohci_CXXFLAGS) $(kernel-usb-hw-ohci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-usb-hw-ohci_CXXCMD)" $(MKDEPEND) $(strip $(kernel-usb-hw-ohci_DXXFLAGS) $(kernel-usb-hw-ohci_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-usb-hw-ohci_OBJDIR),) + $(foreach kernel-usb-hw-ohci_CXXFILE,$(kernel-usb-hw-ohci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-usb-hw-ohci_CXXFILE))),$(kernel-usb-hw-ohci_CXXFILE)))) +else + $(foreach kernel-usb-hw-ohci_CXXFILE,$(kernel-usb-hw-ohci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(basename $(kernel-usb-hw-ohci_CXXFILE)))),$(kernel-usb-hw-ohci_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-usb-hw-ohci_OBJC_NARCHFILES),) + +ifeq (,) +kernel-usb-hw-ohci_MOBJC_SRCWILDCARD := % +else +kernel-usb-hw-ohci_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-hw-ohci_OBJDIR),) + kernel-usb-hw-ohci_MOBJC_TARGETS := $(addsuffix .o,$(kernel-usb-hw-ohci_OBJC_NARCHFILES)) + kernel-usb-hw-ohci_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-usb-hw-ohci_OBJC_NARCHFILES)) + kernel-usb-hw-ohci_MOBJC_WILDCARD := % +else + kernel-usb-hw-ohci_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(kernel-usb-hw-ohci_OBJC_NARCHFILES))) + kernel-usb-hw-ohci_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(kernel-usb-hw-ohci_OBJC_NARCHFILES))) + kernel-usb-hw-ohci_MOBJC_WILDCARD := $(kernel-usb-hw-ohci_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-usb-hw-ohci_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-usb-hw-ohci_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-hw-ohci_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-hw-ohci_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-usb-hw-ohci_MOBJC_DIRS := $(foreach dir, $(kernel-usb-hw-ohci_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-hw-ohci_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-usb-hw-ohci_MOBJC_DIRS),) + kernel-usb-hw-ohci_MOBJC_DIRS := $(shell echo $(kernel-usb-hw-ohci_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-usb-hw-ohci_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-usb-hw-ohci_CC := $(TARGET_CC) +else + kernel-usb-hw-ohci_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-usb-hw-ohci_MOBJC_CPPFLAGS := $(kernel-usb-hw-ohci_CPPFLAGS) +kernel-usb-hw-ohci_OBJCFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +kernel-usb-hw-ohci_OBJCFLAGS := $(kernel-usb-hw-ohci_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-usb-hw-ohci_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-usb-hw-ohci_OBJCFLAGS))) +ifeq ($(kernel-usb-hw-ohci_DFLAGS),) + kernel-usb-hw-ohci_OBJCDFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +else + kernel-usb-hw-ohci_OBJCDFLAGS := $(kernel-usb-hw-ohci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-usb-hw-ohci_LINK ?= $(strip $(kernel-usb-hw-ohci_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-hw-ohci_STRIP ?= $(TARGET_STRIP) + kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-usb-hw-ohci_CC) $(TARGET_SYSROOT)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_MOBJC_CPPFLAGS:=$(strip $(kernel-usb-hw-ohci_MOBJC_CPPFLAGS) $(kernel-usb-hw-ohci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_OBJCFLAGS:=$(strip $(kernel-usb-hw-ohci_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_OBJCDFLAGS:=$(kernel-usb-hw-ohci_OBJCDFLAGS) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-usb-hw-ohci_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-usb-hw-ohci_STRIP ?= $(HOST_STRIP) + kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-usb-hw-ohci_MOBJC_CPPFLAGS) $(kernel-usb-hw-ohci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_OBJCFLAGS)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_OBJCDFLAGS)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(HOST_IQUOTE) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-usb-hw-ohci_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-hw-ohci_STRIP ?= $(ECHO) >/dev/null + kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-usb-hw-ohci_MOBJC_CPPFLAGS) $(kernel-usb-hw-ohci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_OBJCFLAGS)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_OBJCDFLAGS)) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-usb-hw-ohci_MOBJC_TARGETS) $(kernel-usb-hw-ohci_MOBJC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-hw-ohci_MOBJC_TARGETS) : CPPFLAGS := $(kernel-usb-hw-ohci_MOBJC_CPPFLAGS) +$(kernel-usb-hw-ohci_MOBJC_TARGETS) : CFLAGS := $(kernel-usb-hw-ohci_OBJCFLAGS) +$(kernel-usb-hw-ohci_MOBJC_TARGETS) : $(kernel-usb-hw-ohci_MOBJC_WILDCARD).o : $(kernel-usb-hw-ohci_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-hw-ohci_MOBJC_DTARGETS) : $(kernel-usb-hw-ohci_MOBJC_WILDCARD).d : $(kernel-usb-hw-ohci_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-hw-ohci_OBJCDFLAGS) $(kernel-usb-hw-ohci_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-usb-hw-ohci_MC_SRCWILDCARD := % +else +kernel-usb-hw-ohci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-hw-ohci_OBJDIR),) +kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-hw-ohci_CCFILES)) +kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-hw-ohci_CCFILES)) +kernel-usb-hw-ohci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(kernel-usb-hw-ohci_CCFILES)))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(kernel-usb-hw-ohci_CCFILES)))) +else +ifeq (,) + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(kernel-usb-hw-ohci_CCFILES))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(kernel-usb-hw-ohci_CCFILES))) +else + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-hw-ohci_CCFILES)))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-hw-ohci_CCFILES)))) +endif +endif +kernel-usb-hw-ohci_MC_TGTWILDCARD := $(kernel-usb-hw-ohci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-hw-ohci_CCFILES)) + +# Be sure that all .c files are found +kernel-usb-hw-ohci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-hw-ohci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-hw-ohci_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-hw-ohci_MC_DIRS := $(foreach dir, $(kernel-usb-hw-ohci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-hw-ohci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-hw-ohci_MC_DIRS),) + kernel-usb-hw-ohci_MC_DIRS := $(shell echo $(kernel-usb-hw-ohci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-hw-ohci_MC_DIRS) +endif + +endif + +kernel-usb-hw-ohci_MC_CPPFLAGS := $(kernel-usb-hw-ohci_CPPFLAGS) +kernel-usb-hw-ohci_CFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +ifeq ($(kernel-usb-hw-ohci_DFLAGS),) + kernel-usb-hw-ohci_DFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +else + kernel-usb-hw-ohci_DFLAGS := $(kernel-usb-hw-ohci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-hw-ohci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(TARGET_STRIP) +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(kernel-usb-hw-ohci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(kernel-usb-hw-ohci_DFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-hw-ohci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(HOST_STRIP) +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_DFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-hw-ohci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_DFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-hw-ohci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-hw-ohci_MC_CPPFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) : CFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) : $(kernel-usb-hw-ohci_MC_TGTWILDCARD).o : $(kernel-usb-hw-ohci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-hw-ohci_MC_DTARGETS) : $(kernel-usb-hw-ohci_MC_TGTWILDCARD).d : $(kernel-usb-hw-ohci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-hw-ohci_DFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-hw-ohci_MC_SRCWILDCARD := % +else +kernel-usb-hw-ohci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-hw-ohci_OBJDIR),) +kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-hw-ohci_TARGETCCFILES)) +kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-hw-ohci_TARGETCCFILES)) +kernel-usb-hw-ohci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(kernel-usb-hw-ohci_TARGETCCFILES)))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(kernel-usb-hw-ohci_TARGETCCFILES)))) +else +ifeq (,) + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(kernel-usb-hw-ohci_TARGETCCFILES))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(kernel-usb-hw-ohci_TARGETCCFILES))) +else + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-hw-ohci_TARGETCCFILES)))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-hw-ohci_TARGETCCFILES)))) +endif +endif +kernel-usb-hw-ohci_MC_TGTWILDCARD := $(kernel-usb-hw-ohci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-hw-ohci_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-usb-hw-ohci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-hw-ohci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-hw-ohci_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-hw-ohci_MC_DIRS := $(foreach dir, $(kernel-usb-hw-ohci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-hw-ohci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-hw-ohci_MC_DIRS),) + kernel-usb-hw-ohci_MC_DIRS := $(shell echo $(kernel-usb-hw-ohci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-hw-ohci_MC_DIRS) +endif + +endif + +kernel-usb-hw-ohci_MC_CPPFLAGS := $(kernel-usb-hw-ohci_CPPFLAGS) -D__AROS__ +kernel-usb-hw-ohci_CFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +ifeq ($(kernel-usb-hw-ohci_DFLAGS),) + kernel-usb-hw-ohci_DFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +else + kernel-usb-hw-ohci_DFLAGS := $(kernel-usb-hw-ohci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-hw-ohci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(TARGET_STRIP) +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(kernel-usb-hw-ohci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(kernel-usb-hw-ohci_DFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-hw-ohci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(HOST_STRIP) +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_DFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-hw-ohci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_DFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-hw-ohci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-hw-ohci_MC_CPPFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) : CFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) : $(kernel-usb-hw-ohci_MC_TGTWILDCARD).o : $(kernel-usb-hw-ohci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-hw-ohci_MC_DTARGETS) : $(kernel-usb-hw-ohci_MC_TGTWILDCARD).d : $(kernel-usb-hw-ohci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-hw-ohci_DFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-hw-ohci_MC_SRCWILDCARD := % +else +kernel-usb-hw-ohci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-hw-ohci_OBJDIR)/linklib,) +kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-hw-ohci_NLIBARCHFILES)) +kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-hw-ohci_NLIBARCHFILES)) +kernel-usb-hw-ohci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(notdir $(kernel-usb-hw-ohci_NLIBARCHFILES)))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(notdir $(kernel-usb-hw-ohci_NLIBARCHFILES)))) +else +ifeq (,) + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(kernel-usb-hw-ohci_NLIBARCHFILES))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(kernel-usb-hw-ohci_NLIBARCHFILES))) +else + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-hw-ohci_NLIBARCHFILES)))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-hw-ohci_NLIBARCHFILES)))) +endif +endif +kernel-usb-hw-ohci_MC_TGTWILDCARD := $(kernel-usb-hw-ohci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-hw-ohci_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-usb-hw-ohci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-hw-ohci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-hw-ohci_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-hw-ohci_MC_DIRS := $(foreach dir, $(kernel-usb-hw-ohci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-hw-ohci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-hw-ohci_MC_DIRS),) + kernel-usb-hw-ohci_MC_DIRS := $(shell echo $(kernel-usb-hw-ohci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-hw-ohci_MC_DIRS) +endif + +endif + +kernel-usb-hw-ohci_MC_CPPFLAGS := $(kernel-usb-hw-ohci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-hw-ohci_CFLAGS := $(kernel-usb-hw-ohci_LINKLIBCFLAGS) +ifeq ($(kernel-usb-hw-ohci_LINKLIBDFLAGS),) + kernel-usb-hw-ohci_DFLAGS := $(kernel-usb-hw-ohci_LINKLIBCFLAGS) +else + kernel-usb-hw-ohci_DFLAGS := $(kernel-usb-hw-ohci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-hw-ohci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(TARGET_STRIP) +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(kernel-usb-hw-ohci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(kernel-usb-hw-ohci_DFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-hw-ohci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(HOST_STRIP) +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_DFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-hw-ohci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_DFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-hw-ohci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-hw-ohci_MC_CPPFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) : CFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) : $(kernel-usb-hw-ohci_MC_TGTWILDCARD).o : $(kernel-usb-hw-ohci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-hw-ohci_MC_DTARGETS) : $(kernel-usb-hw-ohci_MC_TGTWILDCARD).d : $(kernel-usb-hw-ohci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-hw-ohci_DFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-usb-hw-ohci_OBJDIR)/linklib,) +kernel-usb-hw-ohci_MC_SRCWILDCARD := % +else +kernel-usb-hw-ohci_MC_SRCWILDCARD := $(kernel-usb-hw-ohci_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-usb-hw-ohci_OBJDIR)/linklib,) +kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-hw-ohci_LINKLIBCCGENFILES)) +kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-hw-ohci_LINKLIBCCGENFILES)) +kernel-usb-hw-ohci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(notdir $(kernel-usb-hw-ohci_LINKLIBCCGENFILES)))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(notdir $(kernel-usb-hw-ohci_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-usb-hw-ohci_OBJDIR)/linklib,) + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(kernel-usb-hw-ohci_LINKLIBCCGENFILES))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(kernel-usb-hw-ohci_LINKLIBCCGENFILES))) +else + kernel-usb-hw-ohci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(patsubst $(kernel-usb-hw-ohci_OBJDIR)/linklib/%,%,$(kernel-usb-hw-ohci_LINKLIBCCGENFILES)))) + kernel-usb-hw-ohci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(patsubst $(kernel-usb-hw-ohci_OBJDIR)/linklib/%,%,$(kernel-usb-hw-ohci_LINKLIBCCGENFILES)))) +endif +endif +kernel-usb-hw-ohci_MC_TGTWILDCARD := $(kernel-usb-hw-ohci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-hw-ohci_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-usb-hw-ohci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-hw-ohci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-hw-ohci_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-hw-ohci_MC_DIRS := $(foreach dir, $(kernel-usb-hw-ohci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-hw-ohci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-hw-ohci_MC_DIRS),) + kernel-usb-hw-ohci_MC_DIRS := $(shell echo $(kernel-usb-hw-ohci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-hw-ohci_MC_DIRS) +endif + +endif + +kernel-usb-hw-ohci_MC_CPPFLAGS := $(kernel-usb-hw-ohci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-hw-ohci_CFLAGS := $(kernel-usb-hw-ohci_LINKLIBCFLAGS) +ifeq ($(kernel-usb-hw-ohci_LINKLIBDFLAGS),) + kernel-usb-hw-ohci_DFLAGS := $(kernel-usb-hw-ohci_LINKLIBCFLAGS) +else + kernel-usb-hw-ohci_DFLAGS := $(kernel-usb-hw-ohci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-hw-ohci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(TARGET_STRIP) +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(kernel-usb-hw-ohci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(kernel-usb-hw-ohci_DFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-hw-ohci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(HOST_STRIP) +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-hw-ohci_DFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-hw-ohci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-hw-ohci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-hw-ohci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS) $(kernel-usb-hw-ohci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_CFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-hw-ohci_DFLAGS)) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-hw-ohci_MC_TARGETS) $(kernel-usb-hw-ohci_MC_DTARGETS) : kernel-usb-hw-ohci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-hw-ohci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-hw-ohci_MC_CPPFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) : CFLAGS := $(kernel-usb-hw-ohci_CFLAGS) +$(kernel-usb-hw-ohci_MC_TARGETS) : $(kernel-usb-hw-ohci_MC_TGTWILDCARD).o : $(kernel-usb-hw-ohci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-hw-ohci_IQUOTE) $(dir $<) $(kernel-usb-hw-ohci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-hw-ohci_IQUOTE) . $(kernel-usb-hw-ohci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-hw-ohci_MC_DTARGETS) : $(kernel-usb-hw-ohci_MC_TGTWILDCARD).d : $(kernel-usb-hw-ohci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-hw-ohci_DFLAGS) $(kernel-usb-hw-ohci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-usb-hw-ohci_LINKLIBAFILES),) + +ifeq ($(kernel-usb-hw-ohci_OBJDIR)/linklib,) +kernel-usb-hw-ohci-MA_TARGETS := $(addsuffix .o,$(kernel-usb-hw-ohci_LINKLIBAFILES) $(kernel-usb-hw-ohci_RELLINKLIBAFILES)) +kernel-usb-hw-ohci-MA_WILDCARD := % +else +kernel-usb-hw-ohci-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(notdir $(kernel-usb-hw-ohci_LINKLIBAFILES) $(kernel-usb-hw-ohci_RELLINKLIBAFILES)))) +kernel-usb-hw-ohci-MA_WILDCARD := $(kernel-usb-hw-ohci_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-usb-hw-ohci-MA_TARGETS) : | $(addsuffix .S,$(kernel-usb-hw-ohci_LINKLIBAFILES) $(kernel-usb-hw-ohci_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-usb-hw-ohci-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-hw-ohci-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-hw-ohci_LINKLIBAFILES) $(kernel-usb-hw-ohci_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-hw-ohci-MA_DIRS := $(foreach dir, $(kernel-usb-hw-ohci-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-hw-ohci-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-hw-ohci-MA_DIRS),) + kernel-usb-hw-ohci-MA_DIRS := $(shell echo $(kernel-usb-hw-ohci-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-usb-hw-ohci-MA_DIRS) +endif + +endif + +kernel-usb-hw-ohci-MA_ASSEMBLER ?= $(kernel-usb-hw-ohci_ASSEMBLER) + +$(kernel-usb-hw-ohci-MA_TARGETS) : kernel-usb-hw-ohci-MA_CMD:= $(kernel-usb-hw-ohci-MA_ASSEMBLER) + +$(kernel-usb-hw-ohci-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-usb-hw-ohci-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-usb-hw-ohci-MA_TARGETS) : $(kernel-usb-hw-ohci-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-usb-hw-ohci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-usb-hw-ohci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-usb-hw-ohci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-usb-hw-ohci_SUFFIX := device +else +kernel-usb-hw-ohci_SUFFIX := +endif + +ifeq (target,target) +kernel-usb-hw-ohci_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-usb-hw-ohci_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-usb-hw-ohci_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-usb-hw-ohci_SUFFIX),handler) +kernel-usb-hw-ohci_MODULE := $(AROSDIR)/$(kernel-usb-hw-ohci_MODDIR)/$(kernel-usb-hw-ohci_DEFNAME)-$(kernel-usb-hw-ohci_SUFFIX) +else +kernel-usb-hw-ohci_MODULE := $(AROSDIR)/$(kernel-usb-hw-ohci_MODDIR)/$(kernel-usb-hw-ohci_DEFNAME).$(kernel-usb-hw-ohci_SUFFIX) +endif +kernel-usb-hw-ohci_KOBJ := $(KOBJSDIR)/$(kernel-usb-hw-ohci_DEFNAME)_$(kernel-usb-hw-ohci_SUFFIX).o +else +kernel-usb-hw-ohci_MODULE := +kernel-usb-hw-ohci_KOBJ := +endif + +kernel-usb-hw-ohci-quick : kernel-usb-hw-ohci +kernel-usb-hw-ohci : $(kernel-usb-hw-ohci_MODULE) $(kernel-usb-hw-ohci_LINKLIB) $(kernel-usb-hw-ohci_RELLINKLIB) +ifeq (M,M) +kernel-usb-hw-ohci-kobj : $(kernel-usb-hw-ohci_KOBJ) $(kernel-usb-hw-ohci_LINKLIB) $(kernel-usb-hw-ohci_RELLINKLIB) +kernel-usb-hw-ohci-kobj-quick : $(kernel-usb-hw-ohci_KOBJ) $(kernel-usb-hw-ohci_LINKLIB) $(kernel-usb-hw-ohci_RELLINKLIB) +endif +ifeq (M,M) +kernel-usb-hw-ohci-linklib : $(kernel-usb-hw-ohci_LINKLIB) $(kernel-usb-hw-ohci_RELLINKLIB) +endif + +kernel-usb-hw-ohci_OBJS := $(addsuffix .o,$(kernel-usb-hw-ohci_STARTFILES)) $(kernel-usb-hw-ohci_ARCHOBJS) \ + $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(kernel-usb-hw-ohci_C_NARCHFILES:=.o) $(kernel-usb-hw-ohci_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-usb-hw-ohci_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (ohci,con) + kernel-usb-hw-ohci_ERR := $(notdir $(kernel-usb-hw-ohci_MODULE)).err +else + kernel-usb-hw-ohci_ERR := ohci.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-usb-hw-ohci_DEFNAME)_LDFLAGS) $(kernel-usb-hw-ohci_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-usb-hw-ohci_LIBS) $($(kernel-usb-hw-ohci_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-usb-hw-ohci_MODULE) : LIB_NAMES := $(kernel-usb-hw-ohci_LIBS) $($(kernel-usb-hw-ohci_DEFNAME)_LIBS) +$(kernel-usb-hw-ohci_MODULE) : OBJS := $(kernel-usb-hw-ohci_STARTOBJS) $(kernel-usb-hw-ohci_OBJS) $(USER_OBJS) +$(kernel-usb-hw-ohci_MODULE) : ENDTAG := $(kernel-usb-hw-ohci_ENDOBJS) +$(kernel-usb-hw-ohci_MODULE) : ERR := $(kernel-usb-hw-ohci_ERR) +$(kernel-usb-hw-ohci_MODULE) : OBJDIR := $(kernel-usb-hw-ohci_OBJDIR) +$(kernel-usb-hw-ohci_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-usb-hw-ohci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-usb-hw-ohci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-usb-hw-ohci_MODULE) : $(kernel-usb-hw-ohci_STARTOBJS) $(kernel-usb-hw-ohci_OBJS) $(USER_OBJS) $(kernel-usb-hw-ohci_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-usb-hw-ohci_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-usb-hw-ohci_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-usb-hw-ohci_LC_LINKLIBNAME := $(shell echo $(kernel-usb-hw-ohci_LINKLIBNAME) | tr A-Z a-z) +kernel-usb-hw-ohci_LC_MODNAME := $(shell echo ohci | tr A-Z a-z) +ifneq ($(kernel-usb-hw-ohci_LINKLIB),) + +ifeq (target,target) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(HOST_AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(KERNEL_AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)$(kernel-usb-hw-ohci_LIBSUFFIX).a : $(kernel-usb-hw-ohci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-hw-ohci_AR) $@ $^ + $(Q)$(kernel-usb-hw-ohci_RANLIB) $@ +ifneq ($(kernel-usb-hw-ohci_LC_MODNAME),$(kernel-usb-hw-ohci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-hw-ohci_LIBDIR)/libohci$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(AR) +$(kernel-usb-hw-ohci_LIBDIR)/libohci$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-hw-ohci_LIBDIR)/libohci$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(HOST_AR) +$(kernel-usb-hw-ohci_LIBDIR)/libohci$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-hw-ohci_LIBDIR)/libohci$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(KERNEL_AR) +$(kernel-usb-hw-ohci_LIBDIR)/libohci$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-hw-ohci_LIBDIR)/libohci$(kernel-usb-hw-ohci_LIBSUFFIX).a : $(kernel-usb-hw-ohci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-hw-ohci_AR) $@ $^ + $(Q)$(kernel-usb-hw-ohci_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-hw-ohci_LINKLIB),) +$(kernel-usb-hw-ohci_LINKLIB) : | $(kernel-usb-hw-ohci_LIBDIR) +else +$(kernel-usb-hw-ohci_LINKLIB) :: $(kernel-usb-hw-ohci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-hw-ohci_LIBDIR) + +endif + +ifneq ($(kernel-usb-hw-ohci_RELLINKLIB),) + +ifeq (target,target) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(HOST_AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(KERNEL_AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_LINKLIBNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : $(kernel-usb-hw-ohci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-hw-ohci_AR) $@ $^ + $(Q)$(kernel-usb-hw-ohci_RANLIB) $@ +ifneq ($(kernel-usb-hw-ohci_LC_MODNAME),$(kernel-usb-hw-ohci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_DEFNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_DEFNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_DEFNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(HOST_AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_DEFNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_DEFNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_AR:=$(KERNEL_AR) +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_DEFNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : kernel-usb-hw-ohci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-hw-ohci_LIBDIR)/lib$(kernel-usb-hw-ohci_DEFNAME)_rel$(kernel-usb-hw-ohci_LIBSUFFIX).a : $(kernel-usb-hw-ohci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-hw-ohci_AR) $@ $^ + $(Q)$(kernel-usb-hw-ohci_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-hw-ohci_RELLINKLIB),) +$(kernel-usb-hw-ohci_RELLINKLIB) : | $(kernel-usb-hw-ohci_LIBDIR) +else +$(kernel-usb-hw-ohci_RELLINKLIB) :: $(kernel-usb-hw-ohci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-hw-ohci_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-usb-hw-ohci_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-usb-hw-ohci_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-usb-hw-ohci_SYMBOLS := $(kernel-usb-hw-ohci_KBASE) + +kernel-usb-hw-ohci_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-usb-hw-ohci_KOBJ_LIBS := $(filter-out $(kernel-usb-hw-ohci_KLIB),$(kernel-usb-hw-ohci_LIBS)) $(kernel-usb-hw-ohci_KAUTOLIB) +$(kernel-usb-hw-ohci_KOBJ) : LINKLIBS:=$(kernel-usb-hw-ohci_KOBJ_LIBS) $($(kernel-usb-hw-ohci_DEFNAME)_LIBS) +$(kernel-usb-hw-ohci_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-usb-hw-ohci_SYMBOLS)) +$(kernel-usb-hw-ohci_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-usb-hw-ohci_KOBJ) : $(kernel-usb-hw-ohci_OBJS) $(USER_OBJS) $(kernel-usb-hw-ohci_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-usb-hw-ohci_DEPS := $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/,$(notdir $(kernel-usb-hw-ohci_CCFILES:=.d) $(kernel-usb-hw-ohci_TARGETCCFILES:=.d) $(kernel-usb-hw-ohci_CXXFILES:=.d))) $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/linklib/,$(notdir $(kernel-usb-hw-ohci_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-usb-hw-ohci_DEPS),) + ifneq (kernel-usb-hw-ohci kernel-usb-hw-ohci-quick kernel-usb-hw-ohci-kobj kernel-usb-hw-ohci-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-usb-hw-ohci kernel-usb-hw-ohci-quick kernel-usb-hw-ohci-kobj kernel-usb-hw-ohci-kobj-quick),) + -include $(kernel-usb-hw-ohci_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-usb-hw-ohci_DEPS) + endif + endif +endif + +$(kernel-usb-hw-ohci_OBJS) $(kernel-usb-hw-ohci_DEPS) : | $(kernel-usb-hw-ohci_OBJDIR)/linklib + +ifneq ($(kernel-usb-hw-ohci_OBJS) $(kernel-usb-hw-ohci_DEPS) $(kernel-usb-hw-ohci_MODULE) $(kernel-usb-hw-ohci_KOBJ),) +$(kernel-usb-hw-ohci_OBJS) $(kernel-usb-hw-ohci_DEPS) $(kernel-usb-hw-ohci_MODULE) $(kernel-usb-hw-ohci_KOBJ) : | $(kernel-usb-hw-ohci_OBJDIR) $(AROSDIR)/$(kernel-usb-hw-ohci_MODDIR) $(KOBJSDIR) +else +$(kernel-usb-hw-ohci_OBJS) $(kernel-usb-hw-ohci_DEPS) $(kernel-usb-hw-ohci_MODULE) $(kernel-usb-hw-ohci_KOBJ) :: $(kernel-usb-hw-ohci_OBJDIR) $(AROSDIR)/$(kernel-usb-hw-ohci_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-hw-ohci_OBJDIR) $(AROSDIR)/$(kernel-usb-hw-ohci_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-usb-hw-ohci kernel-usb-hw-ohci-includes kernel-usb-hw-ohci-quick kernel-usb-hw-ohci-kobj kernel-usb-hw-ohci-kobj-quick),) # Only for this target these deps are wanted + +kernel-usb-hw-ohci_DFILE_DEPS := $(kernel-usb-hw-ohci_LIBDEFSINC) $(kernel-usb-hw-ohci_DEFLIBDEFSINC) \ + $(addprefix $(kernel-usb-hw-ohci_INCDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) +$(kernel-usb-hw-ohci_DEPS) : $(kernel-usb-hw-ohci_DFILE_DEPS) +endif + +kernel-usb-hw-ohci_TOCLEAN := $(kernel-usb-hw-ohci_OBJS) $(kernel-usb-hw-ohci_DEPS) \ + $(kernel-usb-hw-ohci_MODULE) $(kernel-usb-hw-ohci_LINKLIB) $(kernel-usb-hw-ohci_KOBJ) \ + $(kernel-usb-hw-ohci_OBJDIR)/Makefile.ohcidevice \ + $(addprefix $(kernel-usb-hw-ohci_OBJDIR)/include/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-hw-ohci_INCDIR)/,$($(kernel-usb-hw-ohci_DEFNAME)_INCLUDES)) \ + $(kernel-usb-hw-ohci_OBJDIR)/ohci_geninc $(kernel-usb-hw-ohci_OBJDIR)/ohci_incs \ + $(addsuffix .c,$(kernel-usb-hw-ohci_LINKLIBFILES)) $(kernel-usb-hw-ohci_LINKLIBOBJS) $(kernel-usb-hw-ohci_LIBDEFSINC) \ + $(kernel-usb-hw-ohci_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-usb-hw-ohci_STARTFILES) $(kernel-usb-hw-ohci_ENDFILES)) \ + $(kernel-usb-hw-ohci_ENDOBJS) +kernel-usb-hw-ohci-clean : FILES := $(kernel-usb-hw-ohci_TOCLEAN) +kernel-usb-hw-ohci-clean :: + $(Q)$(ECHO) "Cleaning up for module ohci" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-usb-hw-ohci_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/pciusbhc/xhci/mmakefile b/rom/usb/pciusbhc/xhci/mmakefile new file mode 100644 index 00000000000..3bd51dc0337 --- /dev/null +++ b/rom/usb/pciusbhc/xhci/mmakefile @@ -0,0 +1,1668 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := pcixhci_device pcixhci_discover pcixhci_commands pcixhci_controller pcixhci_misc + +WBUSBHARDWAREDIR := $(AROSDIR)/Devs/USBHardware + +#MM +kernel-usb-pcixhci-directories :: + $(Q)$(FOR) dir in $(WBUSBHARDWAREDIRS) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + +#MM- kernel-usb-pcixhci : kernel-usb-pcixhci-directories + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-usb-pcixhci +#MM kernel-usb-pcixhci-quick +#MM kernel-usb-pcixhci-makefile +#MM kernel-usb-pcixhci-clean + +# ABI targets: +#MM- includes-all : kernel-usb-pcixhci-includes +#MM- linklibs-pcixhci: kernel-usb-pcixhci-linklib +#MM- linklibs-pcixhci_rel : kernel-usb-pcixhci-linklib +#MM- includes-pcixhci: kernel-usb-pcixhci-includes +#MM- includes-pcixhci_rel : kernel-usb-pcixhci-includes +#MM- kernel-usb-pcixhci : kernel-usb-pcixhci-includes core-linklibs linklibs-stdc.static linklibs-arossupport linklibs-hiddstubs +#MM kernel-usb-pcixhci-linklib : kernel-usb-pcixhci-includes includes-stdc.static includes-arossupport includes-hiddstubs +#MM- kernel-usb-pcixhci-quick : kernel-usb-pcixhci-includes-quick +#MM kernel-usb-pcixhci-includes : kernel-usb-pcixhci-makefile kernel-usb-pcixhci-includes-dirs \ +#MM includes-generate-deps kernel-usb-pcixhci-fd +#MM kernel-usb-pcixhci-includes-quick +#MM kernel-usb-pcixhci-includes-dirs +#MM kernel-usb-pcixhci-fd + +# Library targets +#MM kernel-usb-pcixhci-kobj : core-linklibs linklibs-stdc.static linklibs-arossupport linklibs-hiddstubs +#MM kernel-usb-pcixhci-kobj-quick : + +# Library with ABI targets: +#MM kernel-usb-pcixhci-kobj : kernel-usb-pcixhci-includes core-linklibs linklibs-stdc.static linklibs-arossupport linklibs-hiddstubs +#MM kernel-usb-pcixhci-kobj-quick : kernel-usb-pcixhci-includes-quick + +# All MetaMake targets defined by this macro +kernel-usb-pcixhci_ALLTARGETS := kernel-usb-pcixhci kernel-usb-pcixhci-quick kernel-usb-pcixhci-clean + +ifeq (M,M) +kernel-usb-pcixhci_ALLTARGETS += kernel-usb-pcixhci-kobj kernel-usb-pcixhci-kobj-quick +endif + +ifeq (M,M) +kernel-usb-pcixhci_ALLTARGETS += kernel-usb-pcixhci-includes \ + kernel-usb-pcixhci-includes-quick kernel-usb-pcixhci-includes-dirs \ + kernel-usb-pcixhci-linklib kernel-usb-pcixhci-fd +endif + +.PHONY : $(kernel-usb-pcixhci_ALLTARGETS) kernel-usb-pcixhci-makefile + +ifeq (pcixhci,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-usb-pcixhci_DEFNAME := pcixhci_ +else + kernel-usb-pcixhci_DEFNAME := pcixhci +endif +kernel-usb-pcixhci_DEFLINKLIBNAME := $(kernel-usb-pcixhci_DEFNAME) +ifneq (,) + kernel-usb-pcixhci_LINKLIBNAME := +else + kernel-usb-pcixhci_LINKLIBNAME = $(kernel-usb-pcixhci_DEFLINKLIBNAME) +endif +kernel-usb-pcixhci_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-usb-pcixhci_DEFCPPFLAGS += -I +endif +kernel-usb-pcixhci_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-usb-pcixhci_DFLAGS := +else + kernel-usb-pcixhci_DFLAGS = $(kernel-usb-pcixhci_DEFDFLAGS) +endif +kernel-usb-pcixhci_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-usb-pcixhci_DXXFLAGS := +else + kernel-usb-pcixhci_DXXFLAGS = $(kernel-usb-pcixhci_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-pcixhci_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-pcixhci_DEFDFLAGS)) +kernel-usb-pcixhci_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-pcixhci_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-pcixhci_FUNCINSTR := yes +kernel-usb-pcixhci_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-pcixhci_DEFDFLAGS)) +kernel-usb-pcixhci_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-pcixhci_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-usb-pcixhci_OBJDIR := +else +kernel-usb-pcixhci_OBJDIR := $(OBJDIR)/$(kernel-usb-pcixhci_DEFNAME) +endif +ifneq (,) +kernel-usb-pcixhci_OBJDIR := $(kernel-usb-pcixhci_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-usb-pcixhci-makefile := $(kernel-usb-pcixhci_OBJDIR)/Makefile.$(kernel-usb-pcixhci_DEFNAME)device +kernel-usb-pcixhci-genmakefile : $(kernel-usb-pcixhci-makefile) + + +kernel-usb-pcixhci-genmakefile_OPTS := +ifneq (,) + kernel-usb-pcixhci-genmakefile_OPTS += -f + kernel-usb-pcixhci-genmakefile_MODNAME := pcixhci_ +else + kernel-usb-pcixhci-genmakefile_MODNAME := pcixhci +endif +kernel-usb-pcixhci-genmakefile_TARGET := Makefile.$(kernel-usb-pcixhci-genmakefile_MODNAME)device +kernel-usb-pcixhci-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-pcixhci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-pcixhci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-pcixhci-genmakefile_OPTS += -c + kernel-usb-pcixhci-genmakefile_DEPS += + endif +else + kernel-usb-pcixhci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/pcixhci.conf + kernel-usb-pcixhci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/pcixhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-pcixhci-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-pcixhci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-pcixhci-genmakefile_OPTS += -o + kernel-usb-pcixhci-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-usb-pcixhci-genmakefile_OPTS += -s +endif +ifneq ($(kernel-usb-pcixhci_OBJDIR),) + kernel-usb-pcixhci-genmakefile_OPTS += -d $(kernel-usb-pcixhci_OBJDIR) + kernel-usb-pcixhci-genmakefile_TARGET := $(kernel-usb-pcixhci_OBJDIR)/$(kernel-usb-pcixhci-genmakefile_TARGET) +endif + +$(kernel-usb-pcixhci-genmakefile_TARGET) : OPTS := $(kernel-usb-pcixhci-genmakefile_OPTS) +$(kernel-usb-pcixhci-genmakefile_TARGET) : MODNAME := pcixhci +$(kernel-usb-pcixhci-genmakefile_TARGET) : MODTYPE := device +$(kernel-usb-pcixhci-genmakefile_TARGET) : $(kernel-usb-pcixhci-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-usb-pcixhci-makefile),) +$(kernel-usb-pcixhci-makefile) : | $(kernel-usb-pcixhci_OBJDIR) +else +$(kernel-usb-pcixhci-makefile) :: $(kernel-usb-pcixhci_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-pcixhci_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-usb-pcixhci_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-usb-pcixhci-makefile) + +kernel-usb-pcixhci_DEFMODDIR := $($(kernel-usb-pcixhci_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-usb-pcixhci_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-usb-pcixhci_DEFMODDIR) +endif +ifneq (Devs/USBHardware,) + kernel-usb-pcixhci_MODDIR := Devs/USBHardware +else + kernel-usb-pcixhci_MODDIR := $(kernel-usb-pcixhci_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-usb-pcixhci_INCDIR := +else +kernel-usb-pcixhci_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-usb-pcixhci_LIBDEFSINC := $(kernel-usb-pcixhci_OBJDIR)/include/$(kernel-usb-pcixhci_DEFNAME)_libdefs.h +kernel-usb-pcixhci_DEFLIBDEFSINC := $(kernel-usb-pcixhci_OBJDIR)/include/$(kernel-usb-pcixhci_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-usb-pcixhci-includes-quick : kernel-usb-pcixhci-includes +kernel-usb-pcixhci-includes : $(addprefix $(GENINCDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-pcixhci_INCDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) \ + $(kernel-usb-pcixhci_LIBDEFSINC) $(kernel-usb-pcixhci_DEFLIBDEFSINC) + +ifneq ($($(kernel-usb-pcixhci_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-usb-pcixhci-includes_MODNAME := pcixhci_ +else + kernel-usb-pcixhci-includes_MODNAME := pcixhci +endif + +ifneq ($($(kernel-usb-pcixhci-includes_MODNAME)_INCLUDES),) + +kernel-usb-pcixhci-includes_TARGETS := $($(kernel-usb-pcixhci-includes_MODNAME)_INCLUDES) + +kernel-usb-pcixhci-includes_DEPS := $(GENMODULE) +kernel-usb-pcixhci-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-pcixhci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-pcixhci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-pcixhci-includes_OPTS += -c + kernel-usb-pcixhci-includes_DEPS += + endif +else + kernel-usb-pcixhci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/pcixhci.conf + kernel-usb-pcixhci-includes_DEPS += $(SRCDIR)/$(CURDIR)/pcixhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-pcixhci-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-pcixhci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-pcixhci-includes_OPTS += -o + kernel-usb-pcixhci-includes_DEPS += + endif +endif +ifneq (,) + kernel-usb-pcixhci-includes_OPTS += -s +endif +ifneq ($(kernel-usb-pcixhci_OBJDIR)/include,) + kernel-usb-pcixhci-includes_OPTS += -d $(kernel-usb-pcixhci_OBJDIR)/include + kernel-usb-pcixhci-includes_TARGETS := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/include/,$(kernel-usb-pcixhci-includes_TARGETS)) + kernel-usb-pcixhci-includes_GENINCFLAG=$(kernel-usb-pcixhci_OBJDIR)/include/.pcixhci.device-includes +else + kernel-usb-pcixhci-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.pcixhci.device-includes +endif + +$(kernel-usb-pcixhci-includes_TARGETS) : $(kernel-usb-pcixhci-includes_DEPS) $(kernel-usb-pcixhci-includes_GENINCFLAG) + +$(kernel-usb-pcixhci-includes_GENINCFLAG) : OPTS := $(kernel-usb-pcixhci-includes_OPTS) +$(kernel-usb-pcixhci-includes_GENINCFLAG) : MODNAME := pcixhci +$(kernel-usb-pcixhci-includes_GENINCFLAG) : MODTYPE := device +$(kernel-usb-pcixhci-includes_GENINCFLAG) : $(kernel-usb-pcixhci-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-usb-pcixhci_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) : | $(kernel-usb-pcixhci_OBJDIR)/pcixhci_geninc + +$(kernel-usb-pcixhci_OBJDIR)/pcixhci_geninc : COPYSRCDIR := $(kernel-usb-pcixhci_OBJDIR)/include +$(kernel-usb-pcixhci_OBJDIR)/pcixhci_geninc : TGTDIR := $(GENINCDIR) +$(kernel-usb-pcixhci_OBJDIR)/pcixhci_geninc : FILES := $($(kernel-usb-pcixhci_DEFNAME)_INCLUDES) +$(kernel-usb-pcixhci_OBJDIR)/pcixhci_geninc : $(addprefix $(kernel-usb-pcixhci_OBJDIR)/include/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-usb-pcixhci_OBJDIR)/include + +$(addprefix $(kernel-usb-pcixhci_INCDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) : | $(kernel-usb-pcixhci_OBJDIR)/pcixhci_incs + +$(kernel-usb-pcixhci_OBJDIR)/pcixhci_incs : COPYSRCDIR := $(kernel-usb-pcixhci_OBJDIR)/include +$(kernel-usb-pcixhci_OBJDIR)/pcixhci_incs : TGTDIR := $(kernel-usb-pcixhci_INCDIR) +$(kernel-usb-pcixhci_OBJDIR)/pcixhci_incs : FILES := $($(kernel-usb-pcixhci_DEFNAME)_INCLUDES) +$(kernel-usb-pcixhci_OBJDIR)/pcixhci_incs : $(addprefix $(kernel-usb-pcixhci_OBJDIR)/include/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-usb-pcixhci_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)))) + +TMPpcixhci_INCDIRS := \ + $(kernel-usb-pcixhci_OBJDIR)/include $(addprefix $(kernel-usb-pcixhci_OBJDIR)/include/,$(kernel-usb-pcixhci_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-usb-pcixhci_INCDIRS)) \ + $(kernel-usb-pcixhci_INCDIR) $(addprefix $(kernel-usb-pcixhci_INCDIR)/,$(kernel-usb-pcixhci_INCDIRS)) + +ifneq (kernel-usb-pcixhci-includes-dirs,) +kernel-usb-pcixhci-includes-dirs : | $(TMPpcixhci_INCDIRS) +else +kernel-usb-pcixhci-includes-dirs :: $(TMPpcixhci_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPpcixhci_INCDIRS) + + +endif + +endif + + +kernel-usb-pcixhci-genlibdefs_OPTS := +ifneq (,) + kernel-usb-pcixhci-genlibdefs_OPTS += -f + kernel-usb-pcixhci-genlibdefs_MODNAME := pcixhci_ +else + kernel-usb-pcixhci-genlibdefs_MODNAME := pcixhci +endif +kernel-usb-pcixhci-genlibdefs_TARGET := $(kernel-usb-pcixhci-genlibdefs_MODNAME)_libdefs.h +kernel-usb-pcixhci-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-pcixhci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-pcixhci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-pcixhci-genlibdefs_OPTS += -c + kernel-usb-pcixhci-genlibdefs_DEPS += + endif +else + kernel-usb-pcixhci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/pcixhci.conf + kernel-usb-pcixhci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/pcixhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-pcixhci-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-pcixhci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-pcixhci-genlibdefs_OPTS += -o + kernel-usb-pcixhci-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-usb-pcixhci-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-usb-pcixhci_OBJDIR)/include,) + kernel-usb-pcixhci-genlibdefs_OPTS += -d $(kernel-usb-pcixhci_OBJDIR)/include + kernel-usb-pcixhci-genlibdefs_TARGET := $(kernel-usb-pcixhci_OBJDIR)/include/$(kernel-usb-pcixhci-genlibdefs_TARGET) +endif +ifneq (,) + kernel-usb-pcixhci-genlibdefs_OPTS += -v +endif + +$(kernel-usb-pcixhci-genlibdefs_TARGET) : OPTS := $(kernel-usb-pcixhci-genlibdefs_OPTS) +$(kernel-usb-pcixhci-genlibdefs_TARGET) : MODNAME := pcixhci +$(kernel-usb-pcixhci-genlibdefs_TARGET) : MODTYPE := device +$(kernel-usb-pcixhci-genlibdefs_TARGET) : $(kernel-usb-pcixhci-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-usb-pcixhci_DEFLIBDEFSINC) : FILENAME := $(kernel-usb-pcixhci_LIBDEFSINC) +$(kernel-usb-pcixhci_DEFLIBDEFSINC) : $(kernel-usb-pcixhci_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-usb-pcixhci_LIBDEFSINC) $(kernel-usb-pcixhci_DEFLIBDEFSINC) : | $(kernel-usb-pcixhci_OBJDIR)/include + +ifneq (kernel-usb-pcixhci-includes-dirs,) +kernel-usb-pcixhci-includes-dirs : | $(kernel-usb-pcixhci_OBJDIR)/include +else +kernel-usb-pcixhci-includes-dirs :: $(kernel-usb-pcixhci_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-usb-pcixhci_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-usb-pcixhci-genmodfiles_OPTS := +ifneq (,) + kernel-usb-pcixhci-genmodfiles_OPTS += -f + kernel-usb-pcixhci-genmodfiles_MODNAME := pcixhci_ +else + kernel-usb-pcixhci-genmodfiles_MODNAME := pcixhci +endif +kernel-usb-pcixhci-genmodfiles_GENTARGETS := $($(kernel-usb-pcixhci-genmodfiles_MODNAME)_STARTFILES) $($(kernel-usb-pcixhci-genmodfiles_MODNAME)_ENDFILES) +kernel-usb-pcixhci-genmodfiles_STUBTARGETS := $($(kernel-usb-pcixhci-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-usb-pcixhci-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-usb-pcixhci-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-usb-pcixhci-genmodfiles_GENTARGETS)) +kernel-usb-pcixhci-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-usb-pcixhci-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-usb-pcixhci-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-usb-pcixhci-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-usb-pcixhci-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-pcixhci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-pcixhci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-pcixhci-genmodfiles_OPTS += -c + kernel-usb-pcixhci-genmodfiles_DEPS += + endif +else + kernel-usb-pcixhci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/pcixhci.conf + kernel-usb-pcixhci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/pcixhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-pcixhci-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-pcixhci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-pcixhci-genmodfiles_OPTS += -o + kernel-usb-pcixhci-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-usb-pcixhci-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-usb-pcixhci_OBJDIR),) + kernel-usb-pcixhci-genmodfiles_OPTS += -d $(kernel-usb-pcixhci_OBJDIR) + kernel-usb-pcixhci-genmodfiles_TARGETDIR := $(shell echo $(kernel-usb-pcixhci_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-pcixhci-genmodfiles_GENTARGETS := $(addprefix $(kernel-usb-pcixhci-genmodfiles_TARGETDIR)/,$(kernel-usb-pcixhci-genmodfiles_GENTARGETS)) + kernel-usb-pcixhci-genmodfiles_GENFILEFLAG=$(kernel-usb-pcixhci-genmodfiles_TARGETDIR)/.pcixhci.device-genfiles +else + kernel-usb-pcixhci-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.pcixhci.device-genfiles +endif +ifneq ($(kernel-usb-pcixhci_OBJDIR)/linklib,) + kernel-usb-pcixhci-genmodfiles_OPTS += -l $(kernel-usb-pcixhci_OBJDIR)/linklib + kernel-usb-pcixhci-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-usb-pcixhci_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-usb-pcixhci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-pcixhci-genmodfiles_STUBTARGETDIR)/,$(kernel-usb-pcixhci-genmodfiles_STUBTARGETS)) + kernel-usb-pcixhci-genmodfiles_TARGETDIRS += $(kernel-usb-pcixhci_OBJDIR)/linklib +else +ifneq ($(kernel-usb-pcixhci_OBJDIR),) + kernel-usb-pcixhci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-pcixhci-genmodfiles_TARGETDIR)/,$(kernel-usb-pcixhci-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-usb-pcixhci-genmodfiles_TARGETS := $(kernel-usb-pcixhci-genmodfiles_GENTARGETS) $(kernel-usb-pcixhci-genmodfiles_STUBTARGETS) +ifneq ($(kernel-usb-pcixhci-genmodfiles_TARGETDIRS),) +$(kernel-usb-pcixhci-genmodfiles_TARGETS) : | $(kernel-usb-pcixhci-genmodfiles_TARGETDIRS) +endif + +$(kernel-usb-pcixhci-genmodfiles_TARGETS) : $(kernel-usb-pcixhci-genmodfiles_DEPS) $(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG) + +$(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-usb-pcixhci-genmodfiles_OPTS) +$(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG) : MODNAME := pcixhci +$(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG) : $(kernel-usb-pcixhci-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG) : $(kernel-usb-pcixhci_DEFLIBDEFSINC) $(kernel-usb-pcixhci-makefile) + + +ifneq ($(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG),) +$(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG) : | $(kernel-usb-pcixhci_OBJDIR)/linklib +else +$(kernel-usb-pcixhci-genmodfiles_GENFILEFLAG) :: $(kernel-usb-pcixhci_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-usb-pcixhci_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-usb-pcixhci_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-usb-pcixhci_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-usb-pcixhci-fd : $(kernel-usb-pcixhci_FDDIR)/pcixhci_lib.fd + + +TMP_TARGET := pcixhci_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/pcixhci.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/pcixhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-usb-pcixhci_FDDIR),) + TMP_OPTS += -d $(kernel-usb-pcixhci_FDDIR) + TMP_TARGET := $(kernel-usb-pcixhci_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := pcixhci +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-usb-pcixhci_FDDIR)/pcixhci_lib.fd : | $(kernel-usb-pcixhci_FDDIR) + + +ifneq (kernel-usb-pcixhci-fd-setup,) +kernel-usb-pcixhci-fd-setup : | $(kernel-usb-pcixhci_FDDIR) +else +kernel-usb-pcixhci-fd-setup :: $(kernel-usb-pcixhci_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-pcixhci_FDDIR) + +endif + +## Compilation +## +kernel-usb-pcixhci_FILES := $(FILES) +kernel-usb-pcixhci_OBJCFILES := +kernel-usb-pcixhci_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-usb-pcixhci_LIBFILES := +kernel-usb-pcixhci_LIBS := stdc.static arossupport hiddstubs + +kernel-usb-pcixhci_FDIRS := $(sort $(dir $(kernel-usb-pcixhci_FILES))) + +kernel-usb-pcixhci_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-usb-pcixhci_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-usb-pcixhci_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-usb-pcixhci_FILTERARCH = $(filter-out $(call kernel-usb-pcixhci_MATCHARCH,$(1),$(2)),$(2)) +kernel-usb-pcixhci_STARTFILES := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_STARTFILES)) +kernel-usb-pcixhci_ENDFILES := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_ENDFILES)) + +kernel-usb-pcixhci_ARCHOBJS := $(wildcard $(kernel-usb-pcixhci_OBJDIR)/arch/*.o) +kernel-usb-pcixhci_LIBARCHOBJS := $(wildcard $(kernel-usb-pcixhci_OBJDIR)/linklib/arch/*.o) +kernel-usb-pcixhci_ARCHFILES := $(basename $(notdir $(kernel-usb-pcixhci_ARCHOBJS))) +kernel-usb-pcixhci_LIBARCHFILES := $(basename $(notdir $(kernel-usb-pcixhci_LIBARCHOBJS))) +kernel-usb-pcixhci_C_NARCHFILES := $(call kernel-usb-pcixhci_FILTERARCH,$(kernel-usb-pcixhci_ARCHFILES),$(kernel-usb-pcixhci_FILES)) +kernel-usb-pcixhci_CXX_NARCHFILES := $(call kernel-usb-pcixhci_FILTERARCH,$(kernel-usb-pcixhci_ARCHFILES),$(kernel-usb-pcixhci_CXXFILES)) +kernel-usb-pcixhci_OBJC_NARCHFILES := $(call kernel-usb-pcixhci_FILTERARCH,$(kernel-usb-pcixhci_ARCHFILES),$(kernel-usb-pcixhci_OBJCFILES)) +kernel-usb-pcixhci_NLIBARCHFILES := $(call kernel-usb-pcixhci_FILTERARCH,$(kernel-usb-pcixhci_LIBARCHFILES),$(kernel-usb-pcixhci_LIBFILES)) +kernel-usb-pcixhci_ARCHNLIBFILES := $(call kernel-usb-pcixhci_FILTERARCH,$(kernel-usb-pcixhci_LIBFILES),$(kernel-usb-pcixhci_LIBARCHFILES)) + +kernel-usb-pcixhci_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-usb-pcixhci_OBJDIR)/include -include $(kernel-usb-pcixhci_DEFLIBDEFSINC)) +ifneq (,) +kernel-usb-pcixhci_CPPFLAGS += -I +endif +kernel-usb-pcixhci_LINKLIBCPPFLAGS := $(kernel-usb-pcixhci_CPPFLAGS) +kernel-usb-pcixhci_CPPFLAGS += $(strip $($(kernel-usb-pcixhci_DEFNAME)_CPPFLAGS)) +kernel-usb-pcixhci_LINKLIBCPPFLAGS += $(strip $($(kernel-usb-pcixhci_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-usb-pcixhci_CFLAGS := $(strip $(CFLAGS) $($(kernel-usb-pcixhci_DEFNAME)_CFLAGS)) +kernel-usb-pcixhci_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-usb-pcixhci_DEFNAME)_LINKLIBCFLAGS)) +kernel-usb-pcixhci_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-usb-pcixhci_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-pcixhci_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-usb-pcixhci_CFLAGS := $(strip $(kernel-usb-pcixhci_LTOFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +kernel-usb-pcixhci_LINKLIBCFLAGS := $(strip $(kernel-usb-pcixhci_LTOFLAGS) $(kernel-usb-pcixhci_LINKLIBCFLAGS)) +kernel-usb-pcixhci_CXXFLAGS := $(strip $(kernel-usb-pcixhci_LTOFLAGS) $(kernel-usb-pcixhci_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-pcixhci_SUBSTNULL := +kernel-usb-pcixhci_SUBSTSPACE := $(kernel-usb-pcixhci_SUBSTNULL) # +kernel-usb-pcixhci_SUBSTCOMMA := , +kernel-usb-pcixhci_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-usb-pcixhci_SUBSTSPACE),$(kernel-usb-pcixhci_SUBSTCOMMA),$(strip $($(kernel-usb-pcixhci_DEFNAME)_STARTFILES)))) +kernel-usb-pcixhci_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-usb-pcixhci_CFLAGS := $(strip $(kernel-usb-pcixhci_INSTRFUNCFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +kernel-usb-pcixhci_CXXFLAGS := $(strip $(kernel-usb-pcixhci_INSTRFUNCFLAGS) $(kernel-usb-pcixhci_CXXFLAGS)) +kernel-usb-pcixhci_LIBS += $(kernel-usb-pcixhci_INSTRFUNCLIBS) +endif +endif +kernel-usb-pcixhci_DFLAGS := $(strip $(kernel-usb-pcixhci_DFLAGS) $($(kernel-usb-pcixhci_DEFNAME)_DFLAGS)) +kernel-usb-pcixhci_LINKLIBDFLAGS := $(strip $(kernel-usb-pcixhci_DFLAGS) $($(kernel-usb-pcixhci_DEFNAME)_LINKLIBDFLAGS)) +kernel-usb-pcixhci_DXXFLAGS := $(strip $(kernel-usb-pcixhci_DXXFLAGS) $($(kernel-usb-pcixhci_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-usb-pcixhci_LIBSUFFIX := +else + kernel-usb-pcixhci_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-usb-pcixhci_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-usb-pcixhci_LIBDIR := +endif + +ifeq (M,M) +kernel-usb-pcixhci_LINKLIBCFILES := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$($(kernel-usb-pcixhci_DEFNAME)_LINKLIBFILES)) +kernel-usb-pcixhci_LINKLIBAFILES := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$($(kernel-usb-pcixhci_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-pcixhci_DEFNAME)_LINKLIBFILES) $($(kernel-usb-pcixhci_DEFNAME)_LINKLIBAFILES) $(kernel-usb-pcixhci_ARCHNLIBFILES)),) + kernel-usb-pcixhci_LINKLIB := +else + kernel-usb-pcixhci_LINKLIB := $(kernel-usb-pcixhci_LIBDIR)/libpcixhci$(kernel-usb-pcixhci_LIBSUFFIX).a + ifneq (pcixhci,$(kernel-usb-pcixhci_LINKLIBNAME)) + kernel-usb-pcixhci_LINKLIB += $(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)$(kernel-usb-pcixhci_LIBSUFFIX).a + endif +endif +kernel-usb-pcixhci_LINKLIBFILES := $(kernel-usb-pcixhci_LINKLIBCFILES) $(kernel-usb-pcixhci_LINKLIBAFILES) + +kernel-usb-pcixhci_RELLINKLIBCFILES := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$($(kernel-usb-pcixhci_DEFNAME)_RELLINKLIBFILES)) +kernel-usb-pcixhci_RELLINKLIBAFILES := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$($(kernel-usb-pcixhci_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-pcixhci_DEFNAME)_RELLINKLIBFILES) $($(kernel-usb-pcixhci_DEFNAME)_RELLINKLIBAFILES) $(kernel-usb-pcixhci_ARCHNLIBFILES)),) + kernel-usb-pcixhci_RELLINKLIB := +else + kernel-usb-pcixhci_RELLINKLIB := $(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_DEFNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a + ifneq (pcixhci,$(kernel-usb-pcixhci_LINKLIBNAME)) + kernel-usb-pcixhci_RELLINKLIB += $(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a + endif +endif +kernel-usb-pcixhci_RELLINKLIBFILES := $(kernel-usb-pcixhci_RELLINKLIBCFILES) $(kernel-usb-pcixhci_RELLINKLIBAFILES) +endif + +kernel-usb-pcixhci_ENDOBJS := $(addsuffix .o,$(kernel-usb-pcixhci_ENDFILES)) +kernel-usb-pcixhci_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-pcixhci_NLIBARCHFILES))) $(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-pcixhci_ARCHNLIBFILES))) $(kernel-usb-pcixhci_LINKLIBFILES)) \ + +kernel-usb-pcixhci_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-pcixhci_NLIBARCHFILES))) $(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-pcixhci_ARCHNLIBFILES))) $(kernel-usb-pcixhci_RELLINKLIBFILES)) \ + +$(kernel-usb-pcixhci_LINKLIBFILES) $(kernel-usb-pcixhci_RELLINKLIBFILES) : | $(kernel-usb-pcixhci_OBJDIR)/linklib +$(kernel-usb-pcixhci_LINKLIBOBJS) $(kernel-usb-pcixhci_RELLINKLIBOBJS) : | $(kernel-usb-pcixhci_OBJDIR)/linklib + +kernel-usb-pcixhci_CCFILES := $(kernel-usb-pcixhci_C_NARCHFILES) +kernel-usb-pcixhci_TARGETCCFILES := $(strip $(kernel-usb-pcixhci_STARTFILES) $(kernel-usb-pcixhci_ENDFILES)) +kernel-usb-pcixhci_LINKLIBCCFILES := $(strip $(kernel-usb-pcixhci_NLIBARCHFILES) $(kernel-usb-pcixhci_LINKLIBCFILES) $(kernel-usb-pcixhci_RELLINKLIBCFILES)) +kernel-usb-pcixhci_LINKLIBCCGENFILES := $(strip $(kernel-usb-pcixhci_LINKLIBCFILES) $(kernel-usb-pcixhci_RELLINKLIBCFILES)) + + +kernel-usb-pcixhci_CXXABSBASENAMES := $(foreach kernel-usb-pcixhci_CXXBASE,$(kernel-usb-pcixhci_CXX_NARCHFILES),$(if $(filter /%,$(kernel-usb-pcixhci_CXXBASE)),$(kernel-usb-pcixhci_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-usb-pcixhci_CXXBASE)))) + +ifneq ($(kernel-usb-pcixhci_CXXABSBASENAMES),) + +kernel-usb-pcixhci_CXXBASENAMES := $(basename $(kernel-usb-pcixhci_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-usb-pcixhci_MCXX_FILES := $(strip $(foreach kernel-usb-pcixhci_CXXBASE,$(kernel-usb-pcixhci_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-usb-pcixhci_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-usb-pcixhci_EXT),$(kernel-usb-pcixhci_CXXBASE))))))) + +ifeq (,) +kernel-usb-pcixhci_MCXX_SRCWILDCARD := % +else +kernel-usb-pcixhci_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-pcixhci_OBJDIR),) + kernel-usb-pcixhci_CXXTARGETS := $(notdir $(kernel-usb-pcixhci_CXXBASENAMES:=.o)) + kernel-usb-pcixhci_CXXDTARGETS := $(notdir $(kernel-usb-pcixhci_CXXBASENAMES:=.d)) + kernel-usb-pcixhci_MCXX_WILDCARD := % +else + kernel-usb-pcixhci_CXXTARGETS := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(kernel-usb-pcixhci_CXXBASENAMES:=.o))) + kernel-usb-pcixhci_CXXDTARGETS := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(kernel-usb-pcixhci_CXXBASENAMES:=.d))) + kernel-usb-pcixhci_MCXX_WILDCARD := $(kernel-usb-pcixhci_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-usb-pcixhci_CXXTARGETS) $(kernel-usb-pcixhci_CXXDTARGETS) : | $(kernel-usb-pcixhci_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-usb-pcixhci_MCXX_CPPFLAGS := $(kernel-usb-pcixhci_CPPFLAGS) +kernel-usb-pcixhci_CXXFLAGS := $(kernel-usb-pcixhci_CXXFLAGS) +ifeq ($(kernel-usb-pcixhci_DXXFLAGS),) + kernel-usb-pcixhci_DXXFLAGS := $(kernel-usb-pcixhci_CXXFLAGS) +else + kernel-usb-pcixhci_DXXFLAGS := $(kernel-usb-pcixhci_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-usb-pcixhci_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-usb-pcixhci_STRIP ?= $(HOST_STRIP) + kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-usb-pcixhci_CXXCMD:=$(HOST_CXX) + kernel-usb-pcixhci_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-usb-pcixhci_MCXX_CPPFLAGS) $(kernel-usb-pcixhci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-pcixhci_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-pcixhci_CXXFLAGS)) + kernel-usb-pcixhci_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-pcixhci_DXXFLAGS)) + kernel-usb-pcixhci_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-usb-pcixhci_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-usb-pcixhci_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-pcixhci_STRIP ?= $(TARGET_STRIP) + kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-usb-pcixhci_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-usb-pcixhci_MCXX_CPPFLAGS := $(strip $(kernel-usb-pcixhci_MCXX_CPPFLAGS) $(kernel-usb-pcixhci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-pcixhci_CXXFLAGS := $(strip $(kernel-usb-pcixhci_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-usb-pcixhci_DXXFLAGS := $(kernel-usb-pcixhci_DXXFLAGS) + kernel-usb-pcixhci_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-usb-pcixhci_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-usb-pcixhci_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-pcixhci_STRIP ?= $(ECHO) >/dev/null + kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-usb-pcixhci_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-usb-pcixhci_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-usb-pcixhci_MCXX_CPPFLAGS) $(kernel-usb-pcixhci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-pcixhci_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-pcixhci_CXXFLAGS)) + kernel-usb-pcixhci_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-pcixhci_DXXFLAGS)) + kernel-usb-pcixhci_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-usb-pcixhci_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-usb-pcixhci_CXXCMD) $(kernel-usb-pcixhci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-pcixhci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_CXXIQUOTE) . $(kernel-usb-pcixhci_CXXIQUOTE_END) $(strip $(kernel-usb-pcixhci_CXXFLAGS) $(kernel-usb-pcixhci_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-usb-pcixhci_CXXCMD) $(kernel-usb-pcixhci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-pcixhci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_CXXIQUOTE) . $(kernel-usb-pcixhci_CXXIQUOTE_END) $(strip $(kernel-usb-pcixhci_CXXFLAGS) $(kernel-usb-pcixhci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-usb-pcixhci_CXXCMD) $(kernel-usb-pcixhci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-pcixhci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_CXXIQUOTE) . $(kernel-usb-pcixhci_CXXIQUOTE_END) $(strip $(kernel-usb-pcixhci_CXXFLAGS) $(kernel-usb-pcixhci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-usb-pcixhci_CXXCMD)" $(MKDEPEND) $(strip $(kernel-usb-pcixhci_DXXFLAGS) $(kernel-usb-pcixhci_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-usb-pcixhci_OBJDIR),) + $(foreach kernel-usb-pcixhci_CXXFILE,$(kernel-usb-pcixhci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-usb-pcixhci_CXXFILE))),$(kernel-usb-pcixhci_CXXFILE)))) +else + $(foreach kernel-usb-pcixhci_CXXFILE,$(kernel-usb-pcixhci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(basename $(kernel-usb-pcixhci_CXXFILE)))),$(kernel-usb-pcixhci_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-usb-pcixhci_OBJC_NARCHFILES),) + +ifeq (,) +kernel-usb-pcixhci_MOBJC_SRCWILDCARD := % +else +kernel-usb-pcixhci_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-pcixhci_OBJDIR),) + kernel-usb-pcixhci_MOBJC_TARGETS := $(addsuffix .o,$(kernel-usb-pcixhci_OBJC_NARCHFILES)) + kernel-usb-pcixhci_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-usb-pcixhci_OBJC_NARCHFILES)) + kernel-usb-pcixhci_MOBJC_WILDCARD := % +else + kernel-usb-pcixhci_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(kernel-usb-pcixhci_OBJC_NARCHFILES))) + kernel-usb-pcixhci_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(kernel-usb-pcixhci_OBJC_NARCHFILES))) + kernel-usb-pcixhci_MOBJC_WILDCARD := $(kernel-usb-pcixhci_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-usb-pcixhci_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-usb-pcixhci_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-pcixhci_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-pcixhci_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-usb-pcixhci_MOBJC_DIRS := $(foreach dir, $(kernel-usb-pcixhci_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-pcixhci_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-usb-pcixhci_MOBJC_DIRS),) + kernel-usb-pcixhci_MOBJC_DIRS := $(shell echo $(kernel-usb-pcixhci_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-usb-pcixhci_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-usb-pcixhci_CC := $(TARGET_CC) +else + kernel-usb-pcixhci_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-usb-pcixhci_MOBJC_CPPFLAGS := $(kernel-usb-pcixhci_CPPFLAGS) +kernel-usb-pcixhci_OBJCFLAGS := $(kernel-usb-pcixhci_CFLAGS) +kernel-usb-pcixhci_OBJCFLAGS := $(kernel-usb-pcixhci_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-usb-pcixhci_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-usb-pcixhci_OBJCFLAGS))) +ifeq ($(kernel-usb-pcixhci_DFLAGS),) + kernel-usb-pcixhci_OBJCDFLAGS := $(kernel-usb-pcixhci_CFLAGS) +else + kernel-usb-pcixhci_OBJCDFLAGS := $(kernel-usb-pcixhci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-usb-pcixhci_LINK ?= $(strip $(kernel-usb-pcixhci_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-pcixhci_STRIP ?= $(TARGET_STRIP) + kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-usb-pcixhci_CC) $(TARGET_SYSROOT)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_MOBJC_CPPFLAGS:=$(strip $(kernel-usb-pcixhci_MOBJC_CPPFLAGS) $(kernel-usb-pcixhci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_OBJCFLAGS:=$(strip $(kernel-usb-pcixhci_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_OBJCDFLAGS:=$(kernel-usb-pcixhci_OBJCDFLAGS) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-usb-pcixhci_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-usb-pcixhci_STRIP ?= $(HOST_STRIP) + kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-usb-pcixhci_MOBJC_CPPFLAGS) $(kernel-usb-pcixhci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_OBJCFLAGS)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_OBJCDFLAGS)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(HOST_IQUOTE) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-usb-pcixhci_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-pcixhci_STRIP ?= $(ECHO) >/dev/null + kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-usb-pcixhci_MOBJC_CPPFLAGS) $(kernel-usb-pcixhci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_OBJCFLAGS)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_OBJCDFLAGS)) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-usb-pcixhci_MOBJC_TARGETS) $(kernel-usb-pcixhci_MOBJC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-pcixhci_MOBJC_TARGETS) : CPPFLAGS := $(kernel-usb-pcixhci_MOBJC_CPPFLAGS) +$(kernel-usb-pcixhci_MOBJC_TARGETS) : CFLAGS := $(kernel-usb-pcixhci_OBJCFLAGS) +$(kernel-usb-pcixhci_MOBJC_TARGETS) : $(kernel-usb-pcixhci_MOBJC_WILDCARD).o : $(kernel-usb-pcixhci_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-pcixhci_MOBJC_DTARGETS) : $(kernel-usb-pcixhci_MOBJC_WILDCARD).d : $(kernel-usb-pcixhci_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-pcixhci_OBJCDFLAGS) $(kernel-usb-pcixhci_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-usb-pcixhci_MC_SRCWILDCARD := % +else +kernel-usb-pcixhci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-pcixhci_OBJDIR),) +kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-pcixhci_CCFILES)) +kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-pcixhci_CCFILES)) +kernel-usb-pcixhci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(kernel-usb-pcixhci_CCFILES)))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(kernel-usb-pcixhci_CCFILES)))) +else +ifeq (,) + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(kernel-usb-pcixhci_CCFILES))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(kernel-usb-pcixhci_CCFILES))) +else + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-pcixhci_CCFILES)))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-pcixhci_CCFILES)))) +endif +endif +kernel-usb-pcixhci_MC_TGTWILDCARD := $(kernel-usb-pcixhci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-pcixhci_CCFILES)) + +# Be sure that all .c files are found +kernel-usb-pcixhci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-pcixhci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-pcixhci_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-pcixhci_MC_DIRS := $(foreach dir, $(kernel-usb-pcixhci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-pcixhci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-pcixhci_MC_DIRS),) + kernel-usb-pcixhci_MC_DIRS := $(shell echo $(kernel-usb-pcixhci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-pcixhci_MC_DIRS) +endif + +endif + +kernel-usb-pcixhci_MC_CPPFLAGS := $(kernel-usb-pcixhci_CPPFLAGS) +kernel-usb-pcixhci_CFLAGS := $(kernel-usb-pcixhci_CFLAGS) +ifeq ($(kernel-usb-pcixhci_DFLAGS),) + kernel-usb-pcixhci_DFLAGS := $(kernel-usb-pcixhci_CFLAGS) +else + kernel-usb-pcixhci_DFLAGS := $(kernel-usb-pcixhci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-pcixhci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(TARGET_STRIP) +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(kernel-usb-pcixhci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(kernel-usb-pcixhci_DFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-pcixhci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(HOST_STRIP) +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_DFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-pcixhci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_DFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-pcixhci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-pcixhci_MC_CPPFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) : CFLAGS := $(kernel-usb-pcixhci_CFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) : $(kernel-usb-pcixhci_MC_TGTWILDCARD).o : $(kernel-usb-pcixhci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-pcixhci_MC_DTARGETS) : $(kernel-usb-pcixhci_MC_TGTWILDCARD).d : $(kernel-usb-pcixhci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-pcixhci_DFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-pcixhci_MC_SRCWILDCARD := % +else +kernel-usb-pcixhci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-pcixhci_OBJDIR),) +kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-pcixhci_TARGETCCFILES)) +kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-pcixhci_TARGETCCFILES)) +kernel-usb-pcixhci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(kernel-usb-pcixhci_TARGETCCFILES)))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(kernel-usb-pcixhci_TARGETCCFILES)))) +else +ifeq (,) + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(kernel-usb-pcixhci_TARGETCCFILES))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(kernel-usb-pcixhci_TARGETCCFILES))) +else + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-pcixhci_TARGETCCFILES)))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-pcixhci_TARGETCCFILES)))) +endif +endif +kernel-usb-pcixhci_MC_TGTWILDCARD := $(kernel-usb-pcixhci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-pcixhci_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-usb-pcixhci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-pcixhci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-pcixhci_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-pcixhci_MC_DIRS := $(foreach dir, $(kernel-usb-pcixhci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-pcixhci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-pcixhci_MC_DIRS),) + kernel-usb-pcixhci_MC_DIRS := $(shell echo $(kernel-usb-pcixhci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-pcixhci_MC_DIRS) +endif + +endif + +kernel-usb-pcixhci_MC_CPPFLAGS := $(kernel-usb-pcixhci_CPPFLAGS) -D__AROS__ +kernel-usb-pcixhci_CFLAGS := $(kernel-usb-pcixhci_CFLAGS) +ifeq ($(kernel-usb-pcixhci_DFLAGS),) + kernel-usb-pcixhci_DFLAGS := $(kernel-usb-pcixhci_CFLAGS) +else + kernel-usb-pcixhci_DFLAGS := $(kernel-usb-pcixhci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-pcixhci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(TARGET_STRIP) +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(kernel-usb-pcixhci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(kernel-usb-pcixhci_DFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-pcixhci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(HOST_STRIP) +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_DFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-pcixhci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_DFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-pcixhci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-pcixhci_MC_CPPFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) : CFLAGS := $(kernel-usb-pcixhci_CFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) : $(kernel-usb-pcixhci_MC_TGTWILDCARD).o : $(kernel-usb-pcixhci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-pcixhci_MC_DTARGETS) : $(kernel-usb-pcixhci_MC_TGTWILDCARD).d : $(kernel-usb-pcixhci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-pcixhci_DFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-pcixhci_MC_SRCWILDCARD := % +else +kernel-usb-pcixhci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-pcixhci_OBJDIR)/linklib,) +kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-pcixhci_NLIBARCHFILES)) +kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-pcixhci_NLIBARCHFILES)) +kernel-usb-pcixhci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-pcixhci_NLIBARCHFILES)))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-pcixhci_NLIBARCHFILES)))) +else +ifeq (,) + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(kernel-usb-pcixhci_NLIBARCHFILES))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(kernel-usb-pcixhci_NLIBARCHFILES))) +else + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-pcixhci_NLIBARCHFILES)))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-pcixhci_NLIBARCHFILES)))) +endif +endif +kernel-usb-pcixhci_MC_TGTWILDCARD := $(kernel-usb-pcixhci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-pcixhci_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-usb-pcixhci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-pcixhci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-pcixhci_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-pcixhci_MC_DIRS := $(foreach dir, $(kernel-usb-pcixhci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-pcixhci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-pcixhci_MC_DIRS),) + kernel-usb-pcixhci_MC_DIRS := $(shell echo $(kernel-usb-pcixhci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-pcixhci_MC_DIRS) +endif + +endif + +kernel-usb-pcixhci_MC_CPPFLAGS := $(kernel-usb-pcixhci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-pcixhci_CFLAGS := $(kernel-usb-pcixhci_LINKLIBCFLAGS) +ifeq ($(kernel-usb-pcixhci_LINKLIBDFLAGS),) + kernel-usb-pcixhci_DFLAGS := $(kernel-usb-pcixhci_LINKLIBCFLAGS) +else + kernel-usb-pcixhci_DFLAGS := $(kernel-usb-pcixhci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-pcixhci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(TARGET_STRIP) +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(kernel-usb-pcixhci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(kernel-usb-pcixhci_DFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-pcixhci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(HOST_STRIP) +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_DFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-pcixhci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_DFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-pcixhci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-pcixhci_MC_CPPFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) : CFLAGS := $(kernel-usb-pcixhci_CFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) : $(kernel-usb-pcixhci_MC_TGTWILDCARD).o : $(kernel-usb-pcixhci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-pcixhci_MC_DTARGETS) : $(kernel-usb-pcixhci_MC_TGTWILDCARD).d : $(kernel-usb-pcixhci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-pcixhci_DFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-usb-pcixhci_OBJDIR)/linklib,) +kernel-usb-pcixhci_MC_SRCWILDCARD := % +else +kernel-usb-pcixhci_MC_SRCWILDCARD := $(kernel-usb-pcixhci_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-usb-pcixhci_OBJDIR)/linklib,) +kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-pcixhci_LINKLIBCCGENFILES)) +kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-pcixhci_LINKLIBCCGENFILES)) +kernel-usb-pcixhci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-pcixhci_LINKLIBCCGENFILES)))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-pcixhci_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-usb-pcixhci_OBJDIR)/linklib,) + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(kernel-usb-pcixhci_LINKLIBCCGENFILES))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(kernel-usb-pcixhci_LINKLIBCCGENFILES))) +else + kernel-usb-pcixhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(patsubst $(kernel-usb-pcixhci_OBJDIR)/linklib/%,%,$(kernel-usb-pcixhci_LINKLIBCCGENFILES)))) + kernel-usb-pcixhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(patsubst $(kernel-usb-pcixhci_OBJDIR)/linklib/%,%,$(kernel-usb-pcixhci_LINKLIBCCGENFILES)))) +endif +endif +kernel-usb-pcixhci_MC_TGTWILDCARD := $(kernel-usb-pcixhci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-pcixhci_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-usb-pcixhci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-pcixhci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-pcixhci_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-pcixhci_MC_DIRS := $(foreach dir, $(kernel-usb-pcixhci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-pcixhci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-pcixhci_MC_DIRS),) + kernel-usb-pcixhci_MC_DIRS := $(shell echo $(kernel-usb-pcixhci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-pcixhci_MC_DIRS) +endif + +endif + +kernel-usb-pcixhci_MC_CPPFLAGS := $(kernel-usb-pcixhci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-pcixhci_CFLAGS := $(kernel-usb-pcixhci_LINKLIBCFLAGS) +ifeq ($(kernel-usb-pcixhci_LINKLIBDFLAGS),) + kernel-usb-pcixhci_DFLAGS := $(kernel-usb-pcixhci_LINKLIBCFLAGS) +else + kernel-usb-pcixhci_DFLAGS := $(kernel-usb-pcixhci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-pcixhci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(TARGET_STRIP) +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(kernel-usb-pcixhci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(kernel-usb-pcixhci_DFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-pcixhci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(HOST_STRIP) +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-pcixhci_DFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-pcixhci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-pcixhci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-pcixhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS) $(kernel-usb-pcixhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_CFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-pcixhci_DFLAGS)) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-pcixhci_MC_TARGETS) $(kernel-usb-pcixhci_MC_DTARGETS) : kernel-usb-pcixhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-pcixhci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-pcixhci_MC_CPPFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) : CFLAGS := $(kernel-usb-pcixhci_CFLAGS) +$(kernel-usb-pcixhci_MC_TARGETS) : $(kernel-usb-pcixhci_MC_TGTWILDCARD).o : $(kernel-usb-pcixhci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-pcixhci_IQUOTE) $(dir $<) $(kernel-usb-pcixhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-pcixhci_IQUOTE) . $(kernel-usb-pcixhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-pcixhci_MC_DTARGETS) : $(kernel-usb-pcixhci_MC_TGTWILDCARD).d : $(kernel-usb-pcixhci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-pcixhci_DFLAGS) $(kernel-usb-pcixhci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-usb-pcixhci_LINKLIBAFILES),) + +ifeq ($(kernel-usb-pcixhci_OBJDIR)/linklib,) +kernel-usb-pcixhci-MA_TARGETS := $(addsuffix .o,$(kernel-usb-pcixhci_LINKLIBAFILES) $(kernel-usb-pcixhci_RELLINKLIBAFILES)) +kernel-usb-pcixhci-MA_WILDCARD := % +else +kernel-usb-pcixhci-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-pcixhci_LINKLIBAFILES) $(kernel-usb-pcixhci_RELLINKLIBAFILES)))) +kernel-usb-pcixhci-MA_WILDCARD := $(kernel-usb-pcixhci_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-usb-pcixhci-MA_TARGETS) : | $(addsuffix .S,$(kernel-usb-pcixhci_LINKLIBAFILES) $(kernel-usb-pcixhci_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-usb-pcixhci-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-pcixhci-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-pcixhci_LINKLIBAFILES) $(kernel-usb-pcixhci_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-pcixhci-MA_DIRS := $(foreach dir, $(kernel-usb-pcixhci-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-pcixhci-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-pcixhci-MA_DIRS),) + kernel-usb-pcixhci-MA_DIRS := $(shell echo $(kernel-usb-pcixhci-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-usb-pcixhci-MA_DIRS) +endif + +endif + +kernel-usb-pcixhci-MA_ASSEMBLER ?= $(kernel-usb-pcixhci_ASSEMBLER) + +$(kernel-usb-pcixhci-MA_TARGETS) : kernel-usb-pcixhci-MA_CMD:= $(kernel-usb-pcixhci-MA_ASSEMBLER) + +$(kernel-usb-pcixhci-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-usb-pcixhci-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-usb-pcixhci-MA_TARGETS) : $(kernel-usb-pcixhci-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-usb-pcixhci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-usb-pcixhci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-usb-pcixhci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-usb-pcixhci_SUFFIX := device +else +kernel-usb-pcixhci_SUFFIX := +endif + +ifeq (target,target) +kernel-usb-pcixhci_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-usb-pcixhci_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-usb-pcixhci_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-usb-pcixhci_SUFFIX),handler) +kernel-usb-pcixhci_MODULE := $(AROSDIR)/$(kernel-usb-pcixhci_MODDIR)/$(kernel-usb-pcixhci_DEFNAME)-$(kernel-usb-pcixhci_SUFFIX) +else +kernel-usb-pcixhci_MODULE := $(AROSDIR)/$(kernel-usb-pcixhci_MODDIR)/$(kernel-usb-pcixhci_DEFNAME).$(kernel-usb-pcixhci_SUFFIX) +endif +kernel-usb-pcixhci_KOBJ := $(KOBJSDIR)/$(kernel-usb-pcixhci_DEFNAME)_$(kernel-usb-pcixhci_SUFFIX).o +else +kernel-usb-pcixhci_MODULE := +kernel-usb-pcixhci_KOBJ := +endif + +kernel-usb-pcixhci-quick : kernel-usb-pcixhci +kernel-usb-pcixhci : $(kernel-usb-pcixhci_MODULE) $(kernel-usb-pcixhci_LINKLIB) $(kernel-usb-pcixhci_RELLINKLIB) +ifeq (M,M) +kernel-usb-pcixhci-kobj : $(kernel-usb-pcixhci_KOBJ) $(kernel-usb-pcixhci_LINKLIB) $(kernel-usb-pcixhci_RELLINKLIB) +kernel-usb-pcixhci-kobj-quick : $(kernel-usb-pcixhci_KOBJ) $(kernel-usb-pcixhci_LINKLIB) $(kernel-usb-pcixhci_RELLINKLIB) +endif +ifeq (M,M) +kernel-usb-pcixhci-linklib : $(kernel-usb-pcixhci_LINKLIB) $(kernel-usb-pcixhci_RELLINKLIB) +endif + +kernel-usb-pcixhci_OBJS := $(addsuffix .o,$(kernel-usb-pcixhci_STARTFILES)) $(kernel-usb-pcixhci_ARCHOBJS) \ + $(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(kernel-usb-pcixhci_C_NARCHFILES:=.o) $(kernel-usb-pcixhci_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-usb-pcixhci_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (pcixhci,con) + kernel-usb-pcixhci_ERR := $(notdir $(kernel-usb-pcixhci_MODULE)).err +else + kernel-usb-pcixhci_ERR := pcixhci.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-usb-pcixhci_DEFNAME)_LDFLAGS) $(kernel-usb-pcixhci_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-usb-pcixhci_LIBS) $($(kernel-usb-pcixhci_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-usb-pcixhci_MODULE) : LIB_NAMES := $(kernel-usb-pcixhci_LIBS) $($(kernel-usb-pcixhci_DEFNAME)_LIBS) +$(kernel-usb-pcixhci_MODULE) : OBJS := $(kernel-usb-pcixhci_STARTOBJS) $(kernel-usb-pcixhci_OBJS) $(USER_OBJS) +$(kernel-usb-pcixhci_MODULE) : ENDTAG := $(kernel-usb-pcixhci_ENDOBJS) +$(kernel-usb-pcixhci_MODULE) : ERR := $(kernel-usb-pcixhci_ERR) +$(kernel-usb-pcixhci_MODULE) : OBJDIR := $(kernel-usb-pcixhci_OBJDIR) +$(kernel-usb-pcixhci_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-usb-pcixhci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-usb-pcixhci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-usb-pcixhci_MODULE) : $(kernel-usb-pcixhci_STARTOBJS) $(kernel-usb-pcixhci_OBJS) $(USER_OBJS) $(kernel-usb-pcixhci_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-usb-pcixhci_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-usb-pcixhci_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-usb-pcixhci_LC_LINKLIBNAME := $(shell echo $(kernel-usb-pcixhci_LINKLIBNAME) | tr A-Z a-z) +kernel-usb-pcixhci_LC_MODNAME := $(shell echo pcixhci | tr A-Z a-z) +ifneq ($(kernel-usb-pcixhci_LINKLIB),) + +ifeq (target,target) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(HOST_AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(KERNEL_AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)$(kernel-usb-pcixhci_LIBSUFFIX).a : $(kernel-usb-pcixhci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-pcixhci_AR) $@ $^ + $(Q)$(kernel-usb-pcixhci_RANLIB) $@ +ifneq ($(kernel-usb-pcixhci_LC_MODNAME),$(kernel-usb-pcixhci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-pcixhci_LIBDIR)/libpcixhci$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(AR) +$(kernel-usb-pcixhci_LIBDIR)/libpcixhci$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-pcixhci_LIBDIR)/libpcixhci$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(HOST_AR) +$(kernel-usb-pcixhci_LIBDIR)/libpcixhci$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-pcixhci_LIBDIR)/libpcixhci$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(KERNEL_AR) +$(kernel-usb-pcixhci_LIBDIR)/libpcixhci$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-pcixhci_LIBDIR)/libpcixhci$(kernel-usb-pcixhci_LIBSUFFIX).a : $(kernel-usb-pcixhci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-pcixhci_AR) $@ $^ + $(Q)$(kernel-usb-pcixhci_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-pcixhci_LINKLIB),) +$(kernel-usb-pcixhci_LINKLIB) : | $(kernel-usb-pcixhci_LIBDIR) +else +$(kernel-usb-pcixhci_LINKLIB) :: $(kernel-usb-pcixhci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-pcixhci_LIBDIR) + +endif + +ifneq ($(kernel-usb-pcixhci_RELLINKLIB),) + +ifeq (target,target) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(HOST_AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(KERNEL_AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_LINKLIBNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : $(kernel-usb-pcixhci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-pcixhci_AR) $@ $^ + $(Q)$(kernel-usb-pcixhci_RANLIB) $@ +ifneq ($(kernel-usb-pcixhci_LC_MODNAME),$(kernel-usb-pcixhci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_DEFNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_DEFNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_DEFNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(HOST_AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_DEFNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_DEFNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_AR:=$(KERNEL_AR) +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_DEFNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : kernel-usb-pcixhci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-pcixhci_LIBDIR)/lib$(kernel-usb-pcixhci_DEFNAME)_rel$(kernel-usb-pcixhci_LIBSUFFIX).a : $(kernel-usb-pcixhci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-pcixhci_AR) $@ $^ + $(Q)$(kernel-usb-pcixhci_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-pcixhci_RELLINKLIB),) +$(kernel-usb-pcixhci_RELLINKLIB) : | $(kernel-usb-pcixhci_LIBDIR) +else +$(kernel-usb-pcixhci_RELLINKLIB) :: $(kernel-usb-pcixhci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-pcixhci_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-usb-pcixhci_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-usb-pcixhci_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-usb-pcixhci_SYMBOLS := $(kernel-usb-pcixhci_KBASE) + +kernel-usb-pcixhci_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-usb-pcixhci_KOBJ_LIBS := $(filter-out $(kernel-usb-pcixhci_KLIB),$(kernel-usb-pcixhci_LIBS)) $(kernel-usb-pcixhci_KAUTOLIB) +$(kernel-usb-pcixhci_KOBJ) : LINKLIBS:=$(kernel-usb-pcixhci_KOBJ_LIBS) $($(kernel-usb-pcixhci_DEFNAME)_LIBS) +$(kernel-usb-pcixhci_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-usb-pcixhci_SYMBOLS)) +$(kernel-usb-pcixhci_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-usb-pcixhci_KOBJ) : $(kernel-usb-pcixhci_OBJS) $(USER_OBJS) $(kernel-usb-pcixhci_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-usb-pcixhci_DEPS := $(addprefix $(kernel-usb-pcixhci_OBJDIR)/,$(notdir $(kernel-usb-pcixhci_CCFILES:=.d) $(kernel-usb-pcixhci_TARGETCCFILES:=.d) $(kernel-usb-pcixhci_CXXFILES:=.d))) $(addprefix $(kernel-usb-pcixhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-pcixhci_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-usb-pcixhci_DEPS),) + ifneq (kernel-usb-pcixhci kernel-usb-pcixhci-quick kernel-usb-pcixhci-kobj kernel-usb-pcixhci-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-usb-pcixhci kernel-usb-pcixhci-quick kernel-usb-pcixhci-kobj kernel-usb-pcixhci-kobj-quick),) + -include $(kernel-usb-pcixhci_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-usb-pcixhci_DEPS) + endif + endif +endif + +$(kernel-usb-pcixhci_OBJS) $(kernel-usb-pcixhci_DEPS) : | $(kernel-usb-pcixhci_OBJDIR)/linklib + +ifneq ($(kernel-usb-pcixhci_OBJS) $(kernel-usb-pcixhci_DEPS) $(kernel-usb-pcixhci_MODULE) $(kernel-usb-pcixhci_KOBJ),) +$(kernel-usb-pcixhci_OBJS) $(kernel-usb-pcixhci_DEPS) $(kernel-usb-pcixhci_MODULE) $(kernel-usb-pcixhci_KOBJ) : | $(kernel-usb-pcixhci_OBJDIR) $(AROSDIR)/$(kernel-usb-pcixhci_MODDIR) $(KOBJSDIR) +else +$(kernel-usb-pcixhci_OBJS) $(kernel-usb-pcixhci_DEPS) $(kernel-usb-pcixhci_MODULE) $(kernel-usb-pcixhci_KOBJ) :: $(kernel-usb-pcixhci_OBJDIR) $(AROSDIR)/$(kernel-usb-pcixhci_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-pcixhci_OBJDIR) $(AROSDIR)/$(kernel-usb-pcixhci_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-usb-pcixhci kernel-usb-pcixhci-includes kernel-usb-pcixhci-quick kernel-usb-pcixhci-kobj kernel-usb-pcixhci-kobj-quick),) # Only for this target these deps are wanted + +kernel-usb-pcixhci_DFILE_DEPS := $(kernel-usb-pcixhci_LIBDEFSINC) $(kernel-usb-pcixhci_DEFLIBDEFSINC) \ + $(addprefix $(kernel-usb-pcixhci_INCDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) +$(kernel-usb-pcixhci_DEPS) : $(kernel-usb-pcixhci_DFILE_DEPS) +endif + +kernel-usb-pcixhci_TOCLEAN := $(kernel-usb-pcixhci_OBJS) $(kernel-usb-pcixhci_DEPS) \ + $(kernel-usb-pcixhci_MODULE) $(kernel-usb-pcixhci_LINKLIB) $(kernel-usb-pcixhci_KOBJ) \ + $(kernel-usb-pcixhci_OBJDIR)/Makefile.pcixhcidevice \ + $(addprefix $(kernel-usb-pcixhci_OBJDIR)/include/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-pcixhci_INCDIR)/,$($(kernel-usb-pcixhci_DEFNAME)_INCLUDES)) \ + $(kernel-usb-pcixhci_OBJDIR)/pcixhci_geninc $(kernel-usb-pcixhci_OBJDIR)/pcixhci_incs \ + $(addsuffix .c,$(kernel-usb-pcixhci_LINKLIBFILES)) $(kernel-usb-pcixhci_LINKLIBOBJS) $(kernel-usb-pcixhci_LIBDEFSINC) \ + $(kernel-usb-pcixhci_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-usb-pcixhci_STARTFILES) $(kernel-usb-pcixhci_ENDFILES)) \ + $(kernel-usb-pcixhci_ENDOBJS) +kernel-usb-pcixhci-clean : FILES := $(kernel-usb-pcixhci_TOCLEAN) +kernel-usb-pcixhci-clean :: + $(Q)$(ECHO) "Cleaning up for module pcixhci" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-usb-pcixhci_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/presets/mmakefile b/rom/usb/presets/mmakefile new file mode 100644 index 00000000000..221924dbf84 --- /dev/null +++ b/rom/usb/presets/mmakefile @@ -0,0 +1,27 @@ +# $Id$ +# +# Makefile to copy Prefs/Presets. + +include $(SRCDIR)/config/aros.cfg + +TARGETDIR := $(AROS_PREFS)/Presets + +#MM- kernel-usb : \ +#MM kernel-usb-presets + + +.PHONY : kernel-usb-presets + +#MM +kernel-usb-presets : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s . -d $(TARGETDIR) -e + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/rom/usb/vusbhc/mmakefile b/rom/usb/vusbhc/mmakefile new file mode 100644 index 00000000000..26a5852f486 --- /dev/null +++ b/rom/usb/vusbhc/mmakefile @@ -0,0 +1,1662 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := vusbhci_device vusbhci_commands vusbhci_bridge + +NOWARN_FLAGS := $(NOWARN_UNUSED_VARIABLE) $(NOWARN_MAYBE_UNINITIALIZED) +USER_CFLAGS := $(NOWARN_FLAGS) +USER_INCLUDES := -isystem $(GENINCDIR) $(KERNEL_INCLUDES) + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM kernel-usb-vusbhci +#MM kernel-usb-vusbhci-quick +#MM kernel-usb-vusbhci-makefile +#MM kernel-usb-vusbhci-clean + +# ABI targets: +#MM- includes-all : kernel-usb-vusbhci-includes +#MM- linklibs-vusbhci: kernel-usb-vusbhci-linklib +#MM- linklibs-vusbhci_rel : kernel-usb-vusbhci-linklib +#MM- includes-vusbhci: kernel-usb-vusbhci-includes +#MM- includes-vusbhci_rel : kernel-usb-vusbhci-includes +#MM- kernel-usb-vusbhci : kernel-usb-vusbhci-includes core-linklibs linklibs-stdc.static +#MM kernel-usb-vusbhci-linklib : kernel-usb-vusbhci-includes includes-stdc.static +#MM- kernel-usb-vusbhci-quick : kernel-usb-vusbhci-includes-quick +#MM kernel-usb-vusbhci-includes : kernel-usb-vusbhci-makefile kernel-usb-vusbhci-includes-dirs \ +#MM includes-generate-deps kernel-usb-vusbhci-fd +#MM kernel-usb-vusbhci-includes-quick +#MM kernel-usb-vusbhci-includes-dirs +#MM kernel-usb-vusbhci-fd + +# Library targets +#MM kernel-usb-vusbhci-kobj : core-linklibs linklibs-stdc.static +#MM kernel-usb-vusbhci-kobj-quick : + +# Library with ABI targets: +#MM kernel-usb-vusbhci-kobj : kernel-usb-vusbhci-includes core-linklibs linklibs-stdc.static +#MM kernel-usb-vusbhci-kobj-quick : kernel-usb-vusbhci-includes-quick + +# All MetaMake targets defined by this macro +kernel-usb-vusbhci_ALLTARGETS := kernel-usb-vusbhci kernel-usb-vusbhci-quick kernel-usb-vusbhci-clean + +ifeq (M,M) +kernel-usb-vusbhci_ALLTARGETS += kernel-usb-vusbhci-kobj kernel-usb-vusbhci-kobj-quick +endif + +ifeq (M,M) +kernel-usb-vusbhci_ALLTARGETS += kernel-usb-vusbhci-includes \ + kernel-usb-vusbhci-includes-quick kernel-usb-vusbhci-includes-dirs \ + kernel-usb-vusbhci-linklib kernel-usb-vusbhci-fd +endif + +.PHONY : $(kernel-usb-vusbhci_ALLTARGETS) kernel-usb-vusbhci-makefile + +ifeq (vusbhci,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + kernel-usb-vusbhci_DEFNAME := vusbhci_ +else + kernel-usb-vusbhci_DEFNAME := vusbhci +endif +kernel-usb-vusbhci_DEFLINKLIBNAME := $(kernel-usb-vusbhci_DEFNAME) +ifneq (,) + kernel-usb-vusbhci_LINKLIBNAME := +else + kernel-usb-vusbhci_LINKLIBNAME = $(kernel-usb-vusbhci_DEFLINKLIBNAME) +endif +kernel-usb-vusbhci_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + kernel-usb-vusbhci_DEFCPPFLAGS += -I +endif +kernel-usb-vusbhci_DEFDFLAGS := $(CFLAGS) +ifneq (,) + kernel-usb-vusbhci_DFLAGS := +else + kernel-usb-vusbhci_DFLAGS = $(kernel-usb-vusbhci_DEFDFLAGS) +endif +kernel-usb-vusbhci_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + kernel-usb-vusbhci_DXXFLAGS := +else + kernel-usb-vusbhci_DXXFLAGS = $(kernel-usb-vusbhci_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-vusbhci_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-vusbhci_DEFDFLAGS)) +kernel-usb-vusbhci_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(kernel-usb-vusbhci_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-vusbhci_FUNCINSTR := yes +kernel-usb-vusbhci_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-vusbhci_DEFDFLAGS)) +kernel-usb-vusbhci_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(kernel-usb-vusbhci_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +kernel-usb-vusbhci_OBJDIR := +else +kernel-usb-vusbhci_OBJDIR := $(OBJDIR)/$(kernel-usb-vusbhci_DEFNAME) +endif +ifneq (,) +kernel-usb-vusbhci_OBJDIR := $(kernel-usb-vusbhci_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +kernel-usb-vusbhci-makefile := $(kernel-usb-vusbhci_OBJDIR)/Makefile.$(kernel-usb-vusbhci_DEFNAME)device +kernel-usb-vusbhci-genmakefile : $(kernel-usb-vusbhci-makefile) + + +kernel-usb-vusbhci-genmakefile_OPTS := +ifneq (,) + kernel-usb-vusbhci-genmakefile_OPTS += -f + kernel-usb-vusbhci-genmakefile_MODNAME := vusbhci_ +else + kernel-usb-vusbhci-genmakefile_MODNAME := vusbhci +endif +kernel-usb-vusbhci-genmakefile_TARGET := Makefile.$(kernel-usb-vusbhci-genmakefile_MODNAME)device +kernel-usb-vusbhci-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-vusbhci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-vusbhci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-vusbhci-genmakefile_OPTS += -c + kernel-usb-vusbhci-genmakefile_DEPS += + endif +else + kernel-usb-vusbhci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/vusbhci.conf + kernel-usb-vusbhci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/vusbhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-vusbhci-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-vusbhci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-vusbhci-genmakefile_OPTS += -o + kernel-usb-vusbhci-genmakefile_DEPS += + endif +endif +ifneq (,) + kernel-usb-vusbhci-genmakefile_OPTS += -s +endif +ifneq ($(kernel-usb-vusbhci_OBJDIR),) + kernel-usb-vusbhci-genmakefile_OPTS += -d $(kernel-usb-vusbhci_OBJDIR) + kernel-usb-vusbhci-genmakefile_TARGET := $(kernel-usb-vusbhci_OBJDIR)/$(kernel-usb-vusbhci-genmakefile_TARGET) +endif + +$(kernel-usb-vusbhci-genmakefile_TARGET) : OPTS := $(kernel-usb-vusbhci-genmakefile_OPTS) +$(kernel-usb-vusbhci-genmakefile_TARGET) : MODNAME := vusbhci +$(kernel-usb-vusbhci-genmakefile_TARGET) : MODTYPE := device +$(kernel-usb-vusbhci-genmakefile_TARGET) : $(kernel-usb-vusbhci-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(kernel-usb-vusbhci-makefile),) +$(kernel-usb-vusbhci-makefile) : | $(kernel-usb-vusbhci_OBJDIR) +else +$(kernel-usb-vusbhci-makefile) :: $(kernel-usb-vusbhci_OBJDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-vusbhci_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(kernel-usb-vusbhci_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(kernel-usb-vusbhci-makefile) + +kernel-usb-vusbhci_DEFMODDIR := $($(kernel-usb-vusbhci_DEFNAME)_MODDIR) +ifeq (no,yes) +kernel-usb-vusbhci_DEFMODDIR := $(AROS_DIR_ARCH)/$(kernel-usb-vusbhci_DEFMODDIR) +endif +ifneq (Devs/USBHardware,) + kernel-usb-vusbhci_MODDIR := Devs/USBHardware +else + kernel-usb-vusbhci_MODDIR := $(kernel-usb-vusbhci_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +kernel-usb-vusbhci_INCDIR := +else +kernel-usb-vusbhci_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +kernel-usb-vusbhci_LIBDEFSINC := $(kernel-usb-vusbhci_OBJDIR)/include/$(kernel-usb-vusbhci_DEFNAME)_libdefs.h +kernel-usb-vusbhci_DEFLIBDEFSINC := $(kernel-usb-vusbhci_OBJDIR)/include/$(kernel-usb-vusbhci_DEFNAME)_deflibdefs.h + +ifeq (M,M) +kernel-usb-vusbhci-includes-quick : kernel-usb-vusbhci-includes +kernel-usb-vusbhci-includes : $(addprefix $(GENINCDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-vusbhci_INCDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) \ + $(kernel-usb-vusbhci_LIBDEFSINC) $(kernel-usb-vusbhci_DEFLIBDEFSINC) + +ifneq ($($(kernel-usb-vusbhci_DEFNAME)_INCLUDES),) + +ifneq (,) + kernel-usb-vusbhci-includes_MODNAME := vusbhci_ +else + kernel-usb-vusbhci-includes_MODNAME := vusbhci +endif + +ifneq ($($(kernel-usb-vusbhci-includes_MODNAME)_INCLUDES),) + +kernel-usb-vusbhci-includes_TARGETS := $($(kernel-usb-vusbhci-includes_MODNAME)_INCLUDES) + +kernel-usb-vusbhci-includes_DEPS := $(GENMODULE) +kernel-usb-vusbhci-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-vusbhci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-vusbhci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-vusbhci-includes_OPTS += -c + kernel-usb-vusbhci-includes_DEPS += + endif +else + kernel-usb-vusbhci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/vusbhci.conf + kernel-usb-vusbhci-includes_DEPS += $(SRCDIR)/$(CURDIR)/vusbhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-vusbhci-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-vusbhci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-vusbhci-includes_OPTS += -o + kernel-usb-vusbhci-includes_DEPS += + endif +endif +ifneq (,) + kernel-usb-vusbhci-includes_OPTS += -s +endif +ifneq ($(kernel-usb-vusbhci_OBJDIR)/include,) + kernel-usb-vusbhci-includes_OPTS += -d $(kernel-usb-vusbhci_OBJDIR)/include + kernel-usb-vusbhci-includes_TARGETS := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/include/,$(kernel-usb-vusbhci-includes_TARGETS)) + kernel-usb-vusbhci-includes_GENINCFLAG=$(kernel-usb-vusbhci_OBJDIR)/include/.vusbhci.device-includes +else + kernel-usb-vusbhci-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.vusbhci.device-includes +endif + +$(kernel-usb-vusbhci-includes_TARGETS) : $(kernel-usb-vusbhci-includes_DEPS) $(kernel-usb-vusbhci-includes_GENINCFLAG) + +$(kernel-usb-vusbhci-includes_GENINCFLAG) : OPTS := $(kernel-usb-vusbhci-includes_OPTS) +$(kernel-usb-vusbhci-includes_GENINCFLAG) : MODNAME := vusbhci +$(kernel-usb-vusbhci-includes_GENINCFLAG) : MODTYPE := device +$(kernel-usb-vusbhci-includes_GENINCFLAG) : $(kernel-usb-vusbhci-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(kernel-usb-vusbhci_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) : | $(kernel-usb-vusbhci_OBJDIR)/vusbhci_geninc + +$(kernel-usb-vusbhci_OBJDIR)/vusbhci_geninc : COPYSRCDIR := $(kernel-usb-vusbhci_OBJDIR)/include +$(kernel-usb-vusbhci_OBJDIR)/vusbhci_geninc : TGTDIR := $(GENINCDIR) +$(kernel-usb-vusbhci_OBJDIR)/vusbhci_geninc : FILES := $($(kernel-usb-vusbhci_DEFNAME)_INCLUDES) +$(kernel-usb-vusbhci_OBJDIR)/vusbhci_geninc : $(addprefix $(kernel-usb-vusbhci_OBJDIR)/include/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(kernel-usb-vusbhci_OBJDIR)/include + +$(addprefix $(kernel-usb-vusbhci_INCDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) : | $(kernel-usb-vusbhci_OBJDIR)/vusbhci_incs + +$(kernel-usb-vusbhci_OBJDIR)/vusbhci_incs : COPYSRCDIR := $(kernel-usb-vusbhci_OBJDIR)/include +$(kernel-usb-vusbhci_OBJDIR)/vusbhci_incs : TGTDIR := $(kernel-usb-vusbhci_INCDIR) +$(kernel-usb-vusbhci_OBJDIR)/vusbhci_incs : FILES := $($(kernel-usb-vusbhci_DEFNAME)_INCLUDES) +$(kernel-usb-vusbhci_OBJDIR)/vusbhci_incs : $(addprefix $(kernel-usb-vusbhci_OBJDIR)/include/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +kernel-usb-vusbhci_INCDIRS := $(filter-out ./,$(sort $(dir $($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)))) + +TMPvusbhci_INCDIRS := \ + $(kernel-usb-vusbhci_OBJDIR)/include $(addprefix $(kernel-usb-vusbhci_OBJDIR)/include/,$(kernel-usb-vusbhci_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(kernel-usb-vusbhci_INCDIRS)) \ + $(kernel-usb-vusbhci_INCDIR) $(addprefix $(kernel-usb-vusbhci_INCDIR)/,$(kernel-usb-vusbhci_INCDIRS)) + +ifneq (kernel-usb-vusbhci-includes-dirs,) +kernel-usb-vusbhci-includes-dirs : | $(TMPvusbhci_INCDIRS) +else +kernel-usb-vusbhci-includes-dirs :: $(TMPvusbhci_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPvusbhci_INCDIRS) + + +endif + +endif + + +kernel-usb-vusbhci-genlibdefs_OPTS := +ifneq (,) + kernel-usb-vusbhci-genlibdefs_OPTS += -f + kernel-usb-vusbhci-genlibdefs_MODNAME := vusbhci_ +else + kernel-usb-vusbhci-genlibdefs_MODNAME := vusbhci +endif +kernel-usb-vusbhci-genlibdefs_TARGET := $(kernel-usb-vusbhci-genlibdefs_MODNAME)_libdefs.h +kernel-usb-vusbhci-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-vusbhci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-vusbhci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-vusbhci-genlibdefs_OPTS += -c + kernel-usb-vusbhci-genlibdefs_DEPS += + endif +else + kernel-usb-vusbhci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/vusbhci.conf + kernel-usb-vusbhci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/vusbhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-vusbhci-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-vusbhci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-vusbhci-genlibdefs_OPTS += -o + kernel-usb-vusbhci-genlibdefs_DEPS += + endif +endif +ifneq (,) + kernel-usb-vusbhci-genlibdefs_OPTS += -s +endif +ifneq ($(kernel-usb-vusbhci_OBJDIR)/include,) + kernel-usb-vusbhci-genlibdefs_OPTS += -d $(kernel-usb-vusbhci_OBJDIR)/include + kernel-usb-vusbhci-genlibdefs_TARGET := $(kernel-usb-vusbhci_OBJDIR)/include/$(kernel-usb-vusbhci-genlibdefs_TARGET) +endif +ifneq (,) + kernel-usb-vusbhci-genlibdefs_OPTS += -v +endif + +$(kernel-usb-vusbhci-genlibdefs_TARGET) : OPTS := $(kernel-usb-vusbhci-genlibdefs_OPTS) +$(kernel-usb-vusbhci-genlibdefs_TARGET) : MODNAME := vusbhci +$(kernel-usb-vusbhci-genlibdefs_TARGET) : MODTYPE := device +$(kernel-usb-vusbhci-genlibdefs_TARGET) : $(kernel-usb-vusbhci-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(kernel-usb-vusbhci_DEFLIBDEFSINC) : FILENAME := $(kernel-usb-vusbhci_LIBDEFSINC) +$(kernel-usb-vusbhci_DEFLIBDEFSINC) : $(kernel-usb-vusbhci_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(kernel-usb-vusbhci_LIBDEFSINC) $(kernel-usb-vusbhci_DEFLIBDEFSINC) : | $(kernel-usb-vusbhci_OBJDIR)/include + +ifneq (kernel-usb-vusbhci-includes-dirs,) +kernel-usb-vusbhci-includes-dirs : | $(kernel-usb-vusbhci_OBJDIR)/include +else +kernel-usb-vusbhci-includes-dirs :: $(kernel-usb-vusbhci_OBJDIR)/include +endif + +GLOB_MKDIRS += $(kernel-usb-vusbhci_OBJDIR)/include + + +## Extra genmodule src files generation +## + +kernel-usb-vusbhci-genmodfiles_OPTS := +ifneq (,) + kernel-usb-vusbhci-genmodfiles_OPTS += -f + kernel-usb-vusbhci-genmodfiles_MODNAME := vusbhci_ +else + kernel-usb-vusbhci-genmodfiles_MODNAME := vusbhci +endif +kernel-usb-vusbhci-genmodfiles_GENTARGETS := $($(kernel-usb-vusbhci-genmodfiles_MODNAME)_STARTFILES) $($(kernel-usb-vusbhci-genmodfiles_MODNAME)_ENDFILES) +kernel-usb-vusbhci-genmodfiles_STUBTARGETS := $($(kernel-usb-vusbhci-genmodfiles_MODNAME)_LINKLIBFILES) $($(kernel-usb-vusbhci-genmodfiles_MODNAME)_RELLINKLIBFILES) +kernel-usb-vusbhci-genmodfiles_GENTARGETS := $(addsuffix .c,$(kernel-usb-vusbhci-genmodfiles_GENTARGETS)) +kernel-usb-vusbhci-genmodfiles_STUBTARGETS := $(addsuffix .c,$(kernel-usb-vusbhci-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(kernel-usb-vusbhci-genmodfiles_MODNAME)_LINKLIBAFILES) $($(kernel-usb-vusbhci-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +kernel-usb-vusbhci-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-vusbhci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + kernel-usb-vusbhci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-vusbhci-genmodfiles_OPTS += -c + kernel-usb-vusbhci-genmodfiles_DEPS += + endif +else + kernel-usb-vusbhci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/vusbhci.conf + kernel-usb-vusbhci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/vusbhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + kernel-usb-vusbhci-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + kernel-usb-vusbhci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + kernel-usb-vusbhci-genmodfiles_OPTS += -o + kernel-usb-vusbhci-genmodfiles_DEPS += + endif +endif +ifneq (,) + kernel-usb-vusbhci-genmodfiles_OPTS += -s +endif +ifneq ($(kernel-usb-vusbhci_OBJDIR),) + kernel-usb-vusbhci-genmodfiles_OPTS += -d $(kernel-usb-vusbhci_OBJDIR) + kernel-usb-vusbhci-genmodfiles_TARGETDIR := $(shell echo $(kernel-usb-vusbhci_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-vusbhci-genmodfiles_GENTARGETS := $(addprefix $(kernel-usb-vusbhci-genmodfiles_TARGETDIR)/,$(kernel-usb-vusbhci-genmodfiles_GENTARGETS)) + kernel-usb-vusbhci-genmodfiles_GENFILEFLAG=$(kernel-usb-vusbhci-genmodfiles_TARGETDIR)/.vusbhci.device-genfiles +else + kernel-usb-vusbhci-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.vusbhci.device-genfiles +endif +ifneq ($(kernel-usb-vusbhci_OBJDIR)/linklib,) + kernel-usb-vusbhci-genmodfiles_OPTS += -l $(kernel-usb-vusbhci_OBJDIR)/linklib + kernel-usb-vusbhci-genmodfiles_STUBTARGETDIR := $(shell echo $(kernel-usb-vusbhci_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + kernel-usb-vusbhci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-vusbhci-genmodfiles_STUBTARGETDIR)/,$(kernel-usb-vusbhci-genmodfiles_STUBTARGETS)) + kernel-usb-vusbhci-genmodfiles_TARGETDIRS += $(kernel-usb-vusbhci_OBJDIR)/linklib +else +ifneq ($(kernel-usb-vusbhci_OBJDIR),) + kernel-usb-vusbhci-genmodfiles_STUBTARGETS := $(addprefix $(kernel-usb-vusbhci-genmodfiles_TARGETDIR)/,$(kernel-usb-vusbhci-genmodfiles_STUBTARGETS)) +endif +endif + +kernel-usb-vusbhci-genmodfiles_TARGETS := $(kernel-usb-vusbhci-genmodfiles_GENTARGETS) $(kernel-usb-vusbhci-genmodfiles_STUBTARGETS) +ifneq ($(kernel-usb-vusbhci-genmodfiles_TARGETDIRS),) +$(kernel-usb-vusbhci-genmodfiles_TARGETS) : | $(kernel-usb-vusbhci-genmodfiles_TARGETDIRS) +endif + +$(kernel-usb-vusbhci-genmodfiles_TARGETS) : $(kernel-usb-vusbhci-genmodfiles_DEPS) $(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG) + +$(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG) : OPTS := $(kernel-usb-vusbhci-genmodfiles_OPTS) +$(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG) : MODNAME := vusbhci +$(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG) : $(kernel-usb-vusbhci-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG) : $(kernel-usb-vusbhci_DEFLIBDEFSINC) $(kernel-usb-vusbhci-makefile) + + +ifneq ($(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG),) +$(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG) : | $(kernel-usb-vusbhci_OBJDIR)/linklib +else +$(kernel-usb-vusbhci-genmodfiles_GENFILEFLAG) :: $(kernel-usb-vusbhci_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(kernel-usb-vusbhci_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +kernel-usb-vusbhci_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +kernel-usb-vusbhci_FDDIR := /../$(AROS_DIR_FD) +endif +kernel-usb-vusbhci-fd : $(kernel-usb-vusbhci_FDDIR)/vusbhci_lib.fd + + +TMP_TARGET := vusbhci_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/vusbhci.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/vusbhci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(kernel-usb-vusbhci_FDDIR),) + TMP_OPTS += -d $(kernel-usb-vusbhci_FDDIR) + TMP_TARGET := $(kernel-usb-vusbhci_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := vusbhci +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(kernel-usb-vusbhci_FDDIR)/vusbhci_lib.fd : | $(kernel-usb-vusbhci_FDDIR) + + +ifneq (kernel-usb-vusbhci-fd-setup,) +kernel-usb-vusbhci-fd-setup : | $(kernel-usb-vusbhci_FDDIR) +else +kernel-usb-vusbhci-fd-setup :: $(kernel-usb-vusbhci_FDDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-vusbhci_FDDIR) + +endif + +## Compilation +## +kernel-usb-vusbhci_FILES := $(FILES) +kernel-usb-vusbhci_OBJCFILES := +kernel-usb-vusbhci_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +kernel-usb-vusbhci_LIBFILES := +kernel-usb-vusbhci_LIBS := stdc.static + +kernel-usb-vusbhci_FDIRS := $(sort $(dir $(kernel-usb-vusbhci_FILES))) + +kernel-usb-vusbhci_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +kernel-usb-vusbhci_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call kernel-usb-vusbhci_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +kernel-usb-vusbhci_FILTERARCH = $(filter-out $(call kernel-usb-vusbhci_MATCHARCH,$(1),$(2)),$(2)) +kernel-usb-vusbhci_STARTFILES := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_STARTFILES)) +kernel-usb-vusbhci_ENDFILES := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_ENDFILES)) + +kernel-usb-vusbhci_ARCHOBJS := $(wildcard $(kernel-usb-vusbhci_OBJDIR)/arch/*.o) +kernel-usb-vusbhci_LIBARCHOBJS := $(wildcard $(kernel-usb-vusbhci_OBJDIR)/linklib/arch/*.o) +kernel-usb-vusbhci_ARCHFILES := $(basename $(notdir $(kernel-usb-vusbhci_ARCHOBJS))) +kernel-usb-vusbhci_LIBARCHFILES := $(basename $(notdir $(kernel-usb-vusbhci_LIBARCHOBJS))) +kernel-usb-vusbhci_C_NARCHFILES := $(call kernel-usb-vusbhci_FILTERARCH,$(kernel-usb-vusbhci_ARCHFILES),$(kernel-usb-vusbhci_FILES)) +kernel-usb-vusbhci_CXX_NARCHFILES := $(call kernel-usb-vusbhci_FILTERARCH,$(kernel-usb-vusbhci_ARCHFILES),$(kernel-usb-vusbhci_CXXFILES)) +kernel-usb-vusbhci_OBJC_NARCHFILES := $(call kernel-usb-vusbhci_FILTERARCH,$(kernel-usb-vusbhci_ARCHFILES),$(kernel-usb-vusbhci_OBJCFILES)) +kernel-usb-vusbhci_NLIBARCHFILES := $(call kernel-usb-vusbhci_FILTERARCH,$(kernel-usb-vusbhci_LIBARCHFILES),$(kernel-usb-vusbhci_LIBFILES)) +kernel-usb-vusbhci_ARCHNLIBFILES := $(call kernel-usb-vusbhci_FILTERARCH,$(kernel-usb-vusbhci_LIBFILES),$(kernel-usb-vusbhci_LIBARCHFILES)) + +kernel-usb-vusbhci_CPPFLAGS := $(strip $(CPPFLAGS) -I$(kernel-usb-vusbhci_OBJDIR)/include -include $(kernel-usb-vusbhci_DEFLIBDEFSINC)) +ifneq (,) +kernel-usb-vusbhci_CPPFLAGS += -I +endif +kernel-usb-vusbhci_LINKLIBCPPFLAGS := $(kernel-usb-vusbhci_CPPFLAGS) +kernel-usb-vusbhci_CPPFLAGS += $(strip $($(kernel-usb-vusbhci_DEFNAME)_CPPFLAGS)) +kernel-usb-vusbhci_LINKLIBCPPFLAGS += $(strip $($(kernel-usb-vusbhci_DEFNAME)_LINKLIBCPPFLAGS)) +kernel-usb-vusbhci_CFLAGS := $(strip $(CFLAGS) $($(kernel-usb-vusbhci_DEFNAME)_CFLAGS)) +kernel-usb-vusbhci_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(kernel-usb-vusbhci_DEFNAME)_LINKLIBCFLAGS)) +kernel-usb-vusbhci_CXXFLAGS := $(strip $(CXXFLAGS) $($(kernel-usb-vusbhci_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +kernel-usb-vusbhci_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +kernel-usb-vusbhci_CFLAGS := $(strip $(kernel-usb-vusbhci_LTOFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +kernel-usb-vusbhci_LINKLIBCFLAGS := $(strip $(kernel-usb-vusbhci_LTOFLAGS) $(kernel-usb-vusbhci_LINKLIBCFLAGS)) +kernel-usb-vusbhci_CXXFLAGS := $(strip $(kernel-usb-vusbhci_LTOFLAGS) $(kernel-usb-vusbhci_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +kernel-usb-vusbhci_SUBSTNULL := +kernel-usb-vusbhci_SUBSTSPACE := $(kernel-usb-vusbhci_SUBSTNULL) # +kernel-usb-vusbhci_SUBSTCOMMA := , +kernel-usb-vusbhci_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(kernel-usb-vusbhci_SUBSTSPACE),$(kernel-usb-vusbhci_SUBSTCOMMA),$(strip $($(kernel-usb-vusbhci_DEFNAME)_STARTFILES)))) +kernel-usb-vusbhci_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +kernel-usb-vusbhci_CFLAGS := $(strip $(kernel-usb-vusbhci_INSTRFUNCFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +kernel-usb-vusbhci_CXXFLAGS := $(strip $(kernel-usb-vusbhci_INSTRFUNCFLAGS) $(kernel-usb-vusbhci_CXXFLAGS)) +kernel-usb-vusbhci_LIBS += $(kernel-usb-vusbhci_INSTRFUNCLIBS) +endif +endif +kernel-usb-vusbhci_DFLAGS := $(strip $(kernel-usb-vusbhci_DFLAGS) $($(kernel-usb-vusbhci_DEFNAME)_DFLAGS)) +kernel-usb-vusbhci_LINKLIBDFLAGS := $(strip $(kernel-usb-vusbhci_DFLAGS) $($(kernel-usb-vusbhci_DEFNAME)_LINKLIBDFLAGS)) +kernel-usb-vusbhci_DXXFLAGS := $(strip $(kernel-usb-vusbhci_DXXFLAGS) $($(kernel-usb-vusbhci_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + kernel-usb-vusbhci_LIBSUFFIX := +else + kernel-usb-vusbhci_LIBSUFFIX := .device +endif + +ifeq (,) +kernel-usb-vusbhci_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +kernel-usb-vusbhci_LIBDIR := +endif + +ifeq (M,M) +kernel-usb-vusbhci_LINKLIBCFILES := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$($(kernel-usb-vusbhci_DEFNAME)_LINKLIBFILES)) +kernel-usb-vusbhci_LINKLIBAFILES := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$($(kernel-usb-vusbhci_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-vusbhci_DEFNAME)_LINKLIBFILES) $($(kernel-usb-vusbhci_DEFNAME)_LINKLIBAFILES) $(kernel-usb-vusbhci_ARCHNLIBFILES)),) + kernel-usb-vusbhci_LINKLIB := +else + kernel-usb-vusbhci_LINKLIB := $(kernel-usb-vusbhci_LIBDIR)/libvusbhci$(kernel-usb-vusbhci_LIBSUFFIX).a + ifneq (vusbhci,$(kernel-usb-vusbhci_LINKLIBNAME)) + kernel-usb-vusbhci_LINKLIB += $(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)$(kernel-usb-vusbhci_LIBSUFFIX).a + endif +endif +kernel-usb-vusbhci_LINKLIBFILES := $(kernel-usb-vusbhci_LINKLIBCFILES) $(kernel-usb-vusbhci_LINKLIBAFILES) + +kernel-usb-vusbhci_RELLINKLIBCFILES := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$($(kernel-usb-vusbhci_DEFNAME)_RELLINKLIBFILES)) +kernel-usb-vusbhci_RELLINKLIBAFILES := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$($(kernel-usb-vusbhci_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(kernel-usb-vusbhci_DEFNAME)_RELLINKLIBFILES) $($(kernel-usb-vusbhci_DEFNAME)_RELLINKLIBAFILES) $(kernel-usb-vusbhci_ARCHNLIBFILES)),) + kernel-usb-vusbhci_RELLINKLIB := +else + kernel-usb-vusbhci_RELLINKLIB := $(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_DEFNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a + ifneq (vusbhci,$(kernel-usb-vusbhci_LINKLIBNAME)) + kernel-usb-vusbhci_RELLINKLIB += $(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a + endif +endif +kernel-usb-vusbhci_RELLINKLIBFILES := $(kernel-usb-vusbhci_RELLINKLIBCFILES) $(kernel-usb-vusbhci_RELLINKLIBAFILES) +endif + +kernel-usb-vusbhci_ENDOBJS := $(addsuffix .o,$(kernel-usb-vusbhci_ENDFILES)) +kernel-usb-vusbhci_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-vusbhci_NLIBARCHFILES))) $(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-vusbhci_ARCHNLIBFILES))) $(kernel-usb-vusbhci_LINKLIBFILES)) \ + +kernel-usb-vusbhci_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-vusbhci_NLIBARCHFILES))) $(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/arch/,$(notdir $(kernel-usb-vusbhci_ARCHNLIBFILES))) $(kernel-usb-vusbhci_RELLINKLIBFILES)) \ + +$(kernel-usb-vusbhci_LINKLIBFILES) $(kernel-usb-vusbhci_RELLINKLIBFILES) : | $(kernel-usb-vusbhci_OBJDIR)/linklib +$(kernel-usb-vusbhci_LINKLIBOBJS) $(kernel-usb-vusbhci_RELLINKLIBOBJS) : | $(kernel-usb-vusbhci_OBJDIR)/linklib + +kernel-usb-vusbhci_CCFILES := $(kernel-usb-vusbhci_C_NARCHFILES) +kernel-usb-vusbhci_TARGETCCFILES := $(strip $(kernel-usb-vusbhci_STARTFILES) $(kernel-usb-vusbhci_ENDFILES)) +kernel-usb-vusbhci_LINKLIBCCFILES := $(strip $(kernel-usb-vusbhci_NLIBARCHFILES) $(kernel-usb-vusbhci_LINKLIBCFILES) $(kernel-usb-vusbhci_RELLINKLIBCFILES)) +kernel-usb-vusbhci_LINKLIBCCGENFILES := $(strip $(kernel-usb-vusbhci_LINKLIBCFILES) $(kernel-usb-vusbhci_RELLINKLIBCFILES)) + + +kernel-usb-vusbhci_CXXABSBASENAMES := $(foreach kernel-usb-vusbhci_CXXBASE,$(kernel-usb-vusbhci_CXX_NARCHFILES),$(if $(filter /%,$(kernel-usb-vusbhci_CXXBASE)),$(kernel-usb-vusbhci_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(kernel-usb-vusbhci_CXXBASE)))) + +ifneq ($(kernel-usb-vusbhci_CXXABSBASENAMES),) + +kernel-usb-vusbhci_CXXBASENAMES := $(basename $(kernel-usb-vusbhci_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +kernel-usb-vusbhci_MCXX_FILES := $(strip $(foreach kernel-usb-vusbhci_CXXBASE,$(kernel-usb-vusbhci_CXXABSBASENAMES), $(firstword $(wildcard $(foreach kernel-usb-vusbhci_EXT, $(AROS_CXXEXTS),$(addsuffix .$(kernel-usb-vusbhci_EXT),$(kernel-usb-vusbhci_CXXBASE))))))) + +ifeq (,) +kernel-usb-vusbhci_MCXX_SRCWILDCARD := % +else +kernel-usb-vusbhci_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-vusbhci_OBJDIR),) + kernel-usb-vusbhci_CXXTARGETS := $(notdir $(kernel-usb-vusbhci_CXXBASENAMES:=.o)) + kernel-usb-vusbhci_CXXDTARGETS := $(notdir $(kernel-usb-vusbhci_CXXBASENAMES:=.d)) + kernel-usb-vusbhci_MCXX_WILDCARD := % +else + kernel-usb-vusbhci_CXXTARGETS := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(kernel-usb-vusbhci_CXXBASENAMES:=.o))) + kernel-usb-vusbhci_CXXDTARGETS := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(kernel-usb-vusbhci_CXXBASENAMES:=.d))) + kernel-usb-vusbhci_MCXX_WILDCARD := $(kernel-usb-vusbhci_OBJDIR)/% + + # Be sure that all source files are generated + $(kernel-usb-vusbhci_CXXTARGETS) $(kernel-usb-vusbhci_CXXDTARGETS) : | $(kernel-usb-vusbhci_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +kernel-usb-vusbhci_MCXX_CPPFLAGS := $(kernel-usb-vusbhci_CPPFLAGS) +kernel-usb-vusbhci_CXXFLAGS := $(kernel-usb-vusbhci_CXXFLAGS) +ifeq ($(kernel-usb-vusbhci_DXXFLAGS),) + kernel-usb-vusbhci_DXXFLAGS := $(kernel-usb-vusbhci_CXXFLAGS) +else + kernel-usb-vusbhci_DXXFLAGS := $(kernel-usb-vusbhci_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + kernel-usb-vusbhci_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + kernel-usb-vusbhci_STRIP ?= $(HOST_STRIP) + kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + kernel-usb-vusbhci_CXXCMD:=$(HOST_CXX) + kernel-usb-vusbhci_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(kernel-usb-vusbhci_MCXX_CPPFLAGS) $(kernel-usb-vusbhci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-vusbhci_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-vusbhci_CXXFLAGS)) + kernel-usb-vusbhci_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(kernel-usb-vusbhci_DXXFLAGS)) + kernel-usb-vusbhci_CXXIQUOTE:=$(HOST_IQUOTE) + kernel-usb-vusbhci_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + kernel-usb-vusbhci_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-vusbhci_STRIP ?= $(TARGET_STRIP) + kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + kernel-usb-vusbhci_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + kernel-usb-vusbhci_MCXX_CPPFLAGS := $(strip $(kernel-usb-vusbhci_MCXX_CPPFLAGS) $(kernel-usb-vusbhci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-vusbhci_CXXFLAGS := $(strip $(kernel-usb-vusbhci_CXXFLAGS) $(SAFETY_CFLAGS)) + kernel-usb-vusbhci_DXXFLAGS := $(kernel-usb-vusbhci_DXXFLAGS) + kernel-usb-vusbhci_CXXIQUOTE:=$(CFLAGS_IQUOTE) + kernel-usb-vusbhci_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + kernel-usb-vusbhci_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-vusbhci_STRIP ?= $(ECHO) >/dev/null + kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + kernel-usb-vusbhci_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + kernel-usb-vusbhci_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(kernel-usb-vusbhci_MCXX_CPPFLAGS) $(kernel-usb-vusbhci_MCXX_EXTRA_CPPFLAGS)) + kernel-usb-vusbhci_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-vusbhci_CXXFLAGS)) + kernel-usb-vusbhci_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(kernel-usb-vusbhci_DXXFLAGS)) + kernel-usb-vusbhci_CXXIQUOTE:=$(KERNEL_IQUOTE) + kernel-usb-vusbhci_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(kernel-usb-vusbhci_CXXCMD) $(kernel-usb-vusbhci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-vusbhci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_CXXIQUOTE) . $(kernel-usb-vusbhci_CXXIQUOTE_END) $(strip $(kernel-usb-vusbhci_CXXFLAGS) $(kernel-usb-vusbhci_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(kernel-usb-vusbhci_CXXCMD) $(kernel-usb-vusbhci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-vusbhci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_CXXIQUOTE) . $(kernel-usb-vusbhci_CXXIQUOTE_END) $(strip $(kernel-usb-vusbhci_CXXFLAGS) $(kernel-usb-vusbhci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(kernel-usb-vusbhci_CXXCMD) $(kernel-usb-vusbhci_CXXIQUOTE) $(dir $(2)) $(kernel-usb-vusbhci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_CXXIQUOTE) . $(kernel-usb-vusbhci_CXXIQUOTE_END) $(strip $(kernel-usb-vusbhci_CXXFLAGS) $(kernel-usb-vusbhci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(kernel-usb-vusbhci_CXXCMD)" $(MKDEPEND) $(strip $(kernel-usb-vusbhci_DXXFLAGS) $(kernel-usb-vusbhci_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(kernel-usb-vusbhci_OBJDIR),) + $(foreach kernel-usb-vusbhci_CXXFILE,$(kernel-usb-vusbhci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(kernel-usb-vusbhci_CXXFILE))),$(kernel-usb-vusbhci_CXXFILE)))) +else + $(foreach kernel-usb-vusbhci_CXXFILE,$(kernel-usb-vusbhci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(basename $(kernel-usb-vusbhci_CXXFILE)))),$(kernel-usb-vusbhci_CXXFILE)))) +endif + +endif + + +ifneq ($(kernel-usb-vusbhci_OBJC_NARCHFILES),) + +ifeq (,) +kernel-usb-vusbhci_MOBJC_SRCWILDCARD := % +else +kernel-usb-vusbhci_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-vusbhci_OBJDIR),) + kernel-usb-vusbhci_MOBJC_TARGETS := $(addsuffix .o,$(kernel-usb-vusbhci_OBJC_NARCHFILES)) + kernel-usb-vusbhci_MOBJC_DTARGETS := $(addsuffix .d,$(kernel-usb-vusbhci_OBJC_NARCHFILES)) + kernel-usb-vusbhci_MOBJC_WILDCARD := % +else + kernel-usb-vusbhci_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(kernel-usb-vusbhci_OBJC_NARCHFILES))) + kernel-usb-vusbhci_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(kernel-usb-vusbhci_OBJC_NARCHFILES))) + kernel-usb-vusbhci_MOBJC_WILDCARD := $(kernel-usb-vusbhci_OBJDIR)/% + + # Be sure that all .m files are generated + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : | $(addsuffix .m,$(kernel-usb-vusbhci_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + kernel-usb-vusbhci_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + kernel-usb-vusbhci_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-vusbhci_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + kernel-usb-vusbhci_MOBJC_DIRS := $(foreach dir, $(kernel-usb-vusbhci_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-vusbhci_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(kernel-usb-vusbhci_MOBJC_DIRS),) + kernel-usb-vusbhci_MOBJC_DIRS := $(shell echo $(kernel-usb-vusbhci_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(kernel-usb-vusbhci_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + kernel-usb-vusbhci_CC := $(TARGET_CC) +else + kernel-usb-vusbhci_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +kernel-usb-vusbhci_MOBJC_CPPFLAGS := $(kernel-usb-vusbhci_CPPFLAGS) +kernel-usb-vusbhci_OBJCFLAGS := $(kernel-usb-vusbhci_CFLAGS) +kernel-usb-vusbhci_OBJCFLAGS := $(kernel-usb-vusbhci_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +kernel-usb-vusbhci_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(kernel-usb-vusbhci_OBJCFLAGS))) +ifeq ($(kernel-usb-vusbhci_DFLAGS),) + kernel-usb-vusbhci_OBJCDFLAGS := $(kernel-usb-vusbhci_CFLAGS) +else + kernel-usb-vusbhci_OBJCDFLAGS := $(kernel-usb-vusbhci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + kernel-usb-vusbhci_LINK ?= $(strip $(kernel-usb-vusbhci_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + kernel-usb-vusbhci_STRIP ?= $(TARGET_STRIP) + kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : CMD:=$(strip $(kernel-usb-vusbhci_CC) $(TARGET_SYSROOT)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_MOBJC_CPPFLAGS:=$(strip $(kernel-usb-vusbhci_MOBJC_CPPFLAGS) $(kernel-usb-vusbhci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_OBJCFLAGS:=$(strip $(kernel-usb-vusbhci_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_OBJCDFLAGS:=$(kernel-usb-vusbhci_OBJCDFLAGS) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(CFLAGS_IQUOTE) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + kernel-usb-vusbhci_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + kernel-usb-vusbhci_STRIP ?= $(HOST_STRIP) + kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(kernel-usb-vusbhci_MOBJC_CPPFLAGS) $(kernel-usb-vusbhci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_OBJCFLAGS)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_OBJCDFLAGS)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(HOST_IQUOTE) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + kernel-usb-vusbhci_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + kernel-usb-vusbhci_STRIP ?= $(ECHO) >/dev/null + kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(kernel-usb-vusbhci_MOBJC_CPPFLAGS) $(kernel-usb-vusbhci_MOBJC_EXTRA_CPPFLAGS)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_OBJCFLAGS)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_OBJCDFLAGS)) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(KERNEL_IQUOTE) + $(kernel-usb-vusbhci_MOBJC_TARGETS) $(kernel-usb-vusbhci_MOBJC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-vusbhci_MOBJC_TARGETS) : CPPFLAGS := $(kernel-usb-vusbhci_MOBJC_CPPFLAGS) +$(kernel-usb-vusbhci_MOBJC_TARGETS) : CFLAGS := $(kernel-usb-vusbhci_OBJCFLAGS) +$(kernel-usb-vusbhci_MOBJC_TARGETS) : $(kernel-usb-vusbhci_MOBJC_WILDCARD).o : $(kernel-usb-vusbhci_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-vusbhci_MOBJC_DTARGETS) : $(kernel-usb-vusbhci_MOBJC_WILDCARD).d : $(kernel-usb-vusbhci_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-vusbhci_OBJCDFLAGS) $(kernel-usb-vusbhci_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +kernel-usb-vusbhci_MC_SRCWILDCARD := % +else +kernel-usb-vusbhci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-vusbhci_OBJDIR),) +kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-vusbhci_CCFILES)) +kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-vusbhci_CCFILES)) +kernel-usb-vusbhci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(kernel-usb-vusbhci_CCFILES)))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(kernel-usb-vusbhci_CCFILES)))) +else +ifeq (,) + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(kernel-usb-vusbhci_CCFILES))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(kernel-usb-vusbhci_CCFILES))) +else + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-vusbhci_CCFILES)))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-vusbhci_CCFILES)))) +endif +endif +kernel-usb-vusbhci_MC_TGTWILDCARD := $(kernel-usb-vusbhci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-vusbhci_CCFILES)) + +# Be sure that all .c files are found +kernel-usb-vusbhci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-vusbhci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-vusbhci_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-vusbhci_MC_DIRS := $(foreach dir, $(kernel-usb-vusbhci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-vusbhci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-vusbhci_MC_DIRS),) + kernel-usb-vusbhci_MC_DIRS := $(shell echo $(kernel-usb-vusbhci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-vusbhci_MC_DIRS) +endif + +endif + +kernel-usb-vusbhci_MC_CPPFLAGS := $(kernel-usb-vusbhci_CPPFLAGS) +kernel-usb-vusbhci_CFLAGS := $(kernel-usb-vusbhci_CFLAGS) +ifeq ($(kernel-usb-vusbhci_DFLAGS),) + kernel-usb-vusbhci_DFLAGS := $(kernel-usb-vusbhci_CFLAGS) +else + kernel-usb-vusbhci_DFLAGS := $(kernel-usb-vusbhci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-vusbhci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(TARGET_STRIP) +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(kernel-usb-vusbhci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(kernel-usb-vusbhci_DFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-vusbhci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(HOST_STRIP) +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_DFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-vusbhci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_DFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-vusbhci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-vusbhci_MC_CPPFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) : CFLAGS := $(kernel-usb-vusbhci_CFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) : $(kernel-usb-vusbhci_MC_TGTWILDCARD).o : $(kernel-usb-vusbhci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-vusbhci_MC_DTARGETS) : $(kernel-usb-vusbhci_MC_TGTWILDCARD).d : $(kernel-usb-vusbhci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-vusbhci_DFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-vusbhci_MC_SRCWILDCARD := % +else +kernel-usb-vusbhci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-vusbhci_OBJDIR),) +kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-vusbhci_TARGETCCFILES)) +kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-vusbhci_TARGETCCFILES)) +kernel-usb-vusbhci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(kernel-usb-vusbhci_TARGETCCFILES)))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(kernel-usb-vusbhci_TARGETCCFILES)))) +else +ifeq (,) + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(kernel-usb-vusbhci_TARGETCCFILES))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(kernel-usb-vusbhci_TARGETCCFILES))) +else + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-vusbhci_TARGETCCFILES)))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(patsubst /%,%,$(kernel-usb-vusbhci_TARGETCCFILES)))) +endif +endif +kernel-usb-vusbhci_MC_TGTWILDCARD := $(kernel-usb-vusbhci_OBJDIR)/% + +# Be sure that all .c files are generated +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-vusbhci_TARGETCCFILES)) + +# Be sure that all .c files are found +kernel-usb-vusbhci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-vusbhci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-vusbhci_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-vusbhci_MC_DIRS := $(foreach dir, $(kernel-usb-vusbhci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-vusbhci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-vusbhci_MC_DIRS),) + kernel-usb-vusbhci_MC_DIRS := $(shell echo $(kernel-usb-vusbhci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-vusbhci_MC_DIRS) +endif + +endif + +kernel-usb-vusbhci_MC_CPPFLAGS := $(kernel-usb-vusbhci_CPPFLAGS) -D__AROS__ +kernel-usb-vusbhci_CFLAGS := $(kernel-usb-vusbhci_CFLAGS) +ifeq ($(kernel-usb-vusbhci_DFLAGS),) + kernel-usb-vusbhci_DFLAGS := $(kernel-usb-vusbhci_CFLAGS) +else + kernel-usb-vusbhci_DFLAGS := $(kernel-usb-vusbhci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-vusbhci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(TARGET_STRIP) +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(kernel-usb-vusbhci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(kernel-usb-vusbhci_DFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-vusbhci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(HOST_STRIP) +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_DFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-vusbhci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_DFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-vusbhci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-vusbhci_MC_CPPFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) : CFLAGS := $(kernel-usb-vusbhci_CFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) : $(kernel-usb-vusbhci_MC_TGTWILDCARD).o : $(kernel-usb-vusbhci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-vusbhci_MC_DTARGETS) : $(kernel-usb-vusbhci_MC_TGTWILDCARD).d : $(kernel-usb-vusbhci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-vusbhci_DFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +kernel-usb-vusbhci_MC_SRCWILDCARD := % +else +kernel-usb-vusbhci_MC_SRCWILDCARD := /% +endif + +ifeq ($(kernel-usb-vusbhci_OBJDIR)/linklib,) +kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-vusbhci_NLIBARCHFILES)) +kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-vusbhci_NLIBARCHFILES)) +kernel-usb-vusbhci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-vusbhci_NLIBARCHFILES)))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-vusbhci_NLIBARCHFILES)))) +else +ifeq (,) + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(kernel-usb-vusbhci_NLIBARCHFILES))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(kernel-usb-vusbhci_NLIBARCHFILES))) +else + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-vusbhci_NLIBARCHFILES)))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(patsubst /%,%,$(kernel-usb-vusbhci_NLIBARCHFILES)))) +endif +endif +kernel-usb-vusbhci_MC_TGTWILDCARD := $(kernel-usb-vusbhci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-vusbhci_NLIBARCHFILES)) + +# Be sure that all .c files are found +kernel-usb-vusbhci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-vusbhci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-vusbhci_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-vusbhci_MC_DIRS := $(foreach dir, $(kernel-usb-vusbhci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-vusbhci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-vusbhci_MC_DIRS),) + kernel-usb-vusbhci_MC_DIRS := $(shell echo $(kernel-usb-vusbhci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-vusbhci_MC_DIRS) +endif + +endif + +kernel-usb-vusbhci_MC_CPPFLAGS := $(kernel-usb-vusbhci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-vusbhci_CFLAGS := $(kernel-usb-vusbhci_LINKLIBCFLAGS) +ifeq ($(kernel-usb-vusbhci_LINKLIBDFLAGS),) + kernel-usb-vusbhci_DFLAGS := $(kernel-usb-vusbhci_LINKLIBCFLAGS) +else + kernel-usb-vusbhci_DFLAGS := $(kernel-usb-vusbhci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-vusbhci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(TARGET_STRIP) +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(kernel-usb-vusbhci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(kernel-usb-vusbhci_DFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-vusbhci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(HOST_STRIP) +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_DFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-vusbhci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_DFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-vusbhci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-vusbhci_MC_CPPFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) : CFLAGS := $(kernel-usb-vusbhci_CFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) : $(kernel-usb-vusbhci_MC_TGTWILDCARD).o : $(kernel-usb-vusbhci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-vusbhci_MC_DTARGETS) : $(kernel-usb-vusbhci_MC_TGTWILDCARD).d : $(kernel-usb-vusbhci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-vusbhci_DFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(kernel-usb-vusbhci_OBJDIR)/linklib,) +kernel-usb-vusbhci_MC_SRCWILDCARD := % +else +kernel-usb-vusbhci_MC_SRCWILDCARD := $(kernel-usb-vusbhci_OBJDIR)/linklib/% +endif + +ifeq ($(kernel-usb-vusbhci_OBJDIR)/linklib,) +kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(kernel-usb-vusbhci_LINKLIBCCGENFILES)) +kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(kernel-usb-vusbhci_LINKLIBCCGENFILES)) +kernel-usb-vusbhci_MC_TGTWILDCARD := % +else +ifeq (no,no) + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-vusbhci_LINKLIBCCGENFILES)))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-vusbhci_LINKLIBCCGENFILES)))) +else +ifeq ($(kernel-usb-vusbhci_OBJDIR)/linklib,) + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(kernel-usb-vusbhci_LINKLIBCCGENFILES))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(kernel-usb-vusbhci_LINKLIBCCGENFILES))) +else + kernel-usb-vusbhci_MC_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(patsubst $(kernel-usb-vusbhci_OBJDIR)/linklib/%,%,$(kernel-usb-vusbhci_LINKLIBCCGENFILES)))) + kernel-usb-vusbhci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(patsubst $(kernel-usb-vusbhci_OBJDIR)/linklib/%,%,$(kernel-usb-vusbhci_LINKLIBCCGENFILES)))) +endif +endif +kernel-usb-vusbhci_MC_TGTWILDCARD := $(kernel-usb-vusbhci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : | $(addsuffix .c,$(kernel-usb-vusbhci_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +kernel-usb-vusbhci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-vusbhci_MC_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-vusbhci_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-vusbhci_MC_DIRS := $(foreach dir, $(kernel-usb-vusbhci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-vusbhci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-vusbhci_MC_DIRS),) + kernel-usb-vusbhci_MC_DIRS := $(shell echo $(kernel-usb-vusbhci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(kernel-usb-vusbhci_MC_DIRS) +endif + +endif + +kernel-usb-vusbhci_MC_CPPFLAGS := $(kernel-usb-vusbhci_LINKLIBCPPFLAGS) -D__AROS__ +kernel-usb-vusbhci_CFLAGS := $(kernel-usb-vusbhci_LINKLIBCFLAGS) +ifeq ($(kernel-usb-vusbhci_LINKLIBDFLAGS),) + kernel-usb-vusbhci_DFLAGS := $(kernel-usb-vusbhci_LINKLIBCFLAGS) +else + kernel-usb-vusbhci_DFLAGS := $(kernel-usb-vusbhci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +kernel-usb-vusbhci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(TARGET_STRIP) +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(kernel-usb-vusbhci_CFLAGS) $(SAFETY_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(kernel-usb-vusbhci_DFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(CFLAGS_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +kernel-usb-vusbhci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(HOST_STRIP) +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(strip $(HOST_CFLAGS) $(kernel-usb-vusbhci_DFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(HOST_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +kernel-usb-vusbhci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +kernel-usb-vusbhci_STRIP ?= $(ECHO) >/dev/null +kernel-usb-vusbhci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS) $(kernel-usb-vusbhci_MC_EXTRA_CPPFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_CFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(kernel-usb-vusbhci_DFLAGS)) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE:=$(KERNEL_IQUOTE) +$(kernel-usb-vusbhci_MC_TARGETS) $(kernel-usb-vusbhci_MC_DTARGETS) : kernel-usb-vusbhci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(kernel-usb-vusbhci_MC_TARGETS) : CPPFLAGS := $(kernel-usb-vusbhci_MC_CPPFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) : CFLAGS := $(kernel-usb-vusbhci_CFLAGS) +$(kernel-usb-vusbhci_MC_TARGETS) : $(kernel-usb-vusbhci_MC_TGTWILDCARD).o : $(kernel-usb-vusbhci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(kernel-usb-vusbhci_IQUOTE) $(dir $<) $(kernel-usb-vusbhci_IQUOTE) $(SRCDIR)/$(CURDIR) $(kernel-usb-vusbhci_IQUOTE) . $(kernel-usb-vusbhci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(kernel-usb-vusbhci_MC_DTARGETS) : $(kernel-usb-vusbhci_MC_TGTWILDCARD).d : $(kernel-usb-vusbhci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(kernel-usb-vusbhci_DFLAGS) $(kernel-usb-vusbhci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(kernel-usb-vusbhci_LINKLIBAFILES),) + +ifeq ($(kernel-usb-vusbhci_OBJDIR)/linklib,) +kernel-usb-vusbhci-MA_TARGETS := $(addsuffix .o,$(kernel-usb-vusbhci_LINKLIBAFILES) $(kernel-usb-vusbhci_RELLINKLIBAFILES)) +kernel-usb-vusbhci-MA_WILDCARD := % +else +kernel-usb-vusbhci-MA_TARGETS := $(addsuffix .o,$(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-vusbhci_LINKLIBAFILES) $(kernel-usb-vusbhci_RELLINKLIBAFILES)))) +kernel-usb-vusbhci-MA_WILDCARD := $(kernel-usb-vusbhci_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(kernel-usb-vusbhci-MA_TARGETS) : | $(addsuffix .S,$(kernel-usb-vusbhci_LINKLIBAFILES) $(kernel-usb-vusbhci_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +kernel-usb-vusbhci-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +kernel-usb-vusbhci-MA_BASEDIRS := $(shell echo $(sort $(dir $(kernel-usb-vusbhci_LINKLIBAFILES) $(kernel-usb-vusbhci_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +kernel-usb-vusbhci-MA_DIRS := $(foreach dir, $(kernel-usb-vusbhci-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(kernel-usb-vusbhci-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(kernel-usb-vusbhci-MA_DIRS),) + kernel-usb-vusbhci-MA_DIRS := $(shell echo $(kernel-usb-vusbhci-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(kernel-usb-vusbhci-MA_DIRS) +endif + +endif + +kernel-usb-vusbhci-MA_ASSEMBLER ?= $(kernel-usb-vusbhci_ASSEMBLER) + +$(kernel-usb-vusbhci-MA_TARGETS) : kernel-usb-vusbhci-MA_CMD:= $(kernel-usb-vusbhci-MA_ASSEMBLER) + +$(kernel-usb-vusbhci-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(kernel-usb-vusbhci-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(kernel-usb-vusbhci-MA_TARGETS) : $(kernel-usb-vusbhci-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(kernel-usb-vusbhci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(kernel-usb-vusbhci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(kernel-usb-vusbhci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +kernel-usb-vusbhci_SUFFIX := device +else +kernel-usb-vusbhci_SUFFIX := +endif + +ifeq (target,target) +kernel-usb-vusbhci_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +kernel-usb-vusbhci_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +kernel-usb-vusbhci_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(kernel-usb-vusbhci_SUFFIX),handler) +kernel-usb-vusbhci_MODULE := $(AROSDIR)/$(kernel-usb-vusbhci_MODDIR)/$(kernel-usb-vusbhci_DEFNAME)-$(kernel-usb-vusbhci_SUFFIX) +else +kernel-usb-vusbhci_MODULE := $(AROSDIR)/$(kernel-usb-vusbhci_MODDIR)/$(kernel-usb-vusbhci_DEFNAME).$(kernel-usb-vusbhci_SUFFIX) +endif +kernel-usb-vusbhci_KOBJ := $(KOBJSDIR)/$(kernel-usb-vusbhci_DEFNAME)_$(kernel-usb-vusbhci_SUFFIX).o +else +kernel-usb-vusbhci_MODULE := +kernel-usb-vusbhci_KOBJ := +endif + +kernel-usb-vusbhci-quick : kernel-usb-vusbhci +kernel-usb-vusbhci : $(kernel-usb-vusbhci_MODULE) $(kernel-usb-vusbhci_LINKLIB) $(kernel-usb-vusbhci_RELLINKLIB) +ifeq (M,M) +kernel-usb-vusbhci-kobj : $(kernel-usb-vusbhci_KOBJ) $(kernel-usb-vusbhci_LINKLIB) $(kernel-usb-vusbhci_RELLINKLIB) +kernel-usb-vusbhci-kobj-quick : $(kernel-usb-vusbhci_KOBJ) $(kernel-usb-vusbhci_LINKLIB) $(kernel-usb-vusbhci_RELLINKLIB) +endif +ifeq (M,M) +kernel-usb-vusbhci-linklib : $(kernel-usb-vusbhci_LINKLIB) $(kernel-usb-vusbhci_RELLINKLIB) +endif + +kernel-usb-vusbhci_OBJS := $(addsuffix .o,$(kernel-usb-vusbhci_STARTFILES)) $(kernel-usb-vusbhci_ARCHOBJS) \ + $(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(kernel-usb-vusbhci_C_NARCHFILES:=.o) $(kernel-usb-vusbhci_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +kernel-usb-vusbhci_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (vusbhci,con) + kernel-usb-vusbhci_ERR := $(notdir $(kernel-usb-vusbhci_MODULE)).err +else + kernel-usb-vusbhci_ERR := vusbhci.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(kernel-usb-vusbhci_DEFNAME)_LDFLAGS) $(kernel-usb-vusbhci_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(kernel-usb-vusbhci_LIBS) $($(kernel-usb-vusbhci_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(kernel-usb-vusbhci_MODULE) : LIB_NAMES := $(kernel-usb-vusbhci_LIBS) $($(kernel-usb-vusbhci_DEFNAME)_LIBS) +$(kernel-usb-vusbhci_MODULE) : OBJS := $(kernel-usb-vusbhci_STARTOBJS) $(kernel-usb-vusbhci_OBJS) $(USER_OBJS) +$(kernel-usb-vusbhci_MODULE) : ENDTAG := $(kernel-usb-vusbhci_ENDOBJS) +$(kernel-usb-vusbhci_MODULE) : ERR := $(kernel-usb-vusbhci_ERR) +$(kernel-usb-vusbhci_MODULE) : OBJDIR := $(kernel-usb-vusbhci_OBJDIR) +$(kernel-usb-vusbhci_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(kernel-usb-vusbhci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(kernel-usb-vusbhci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(kernel-usb-vusbhci_MODULE) : $(kernel-usb-vusbhci_STARTOBJS) $(kernel-usb-vusbhci_OBJS) $(USER_OBJS) $(kernel-usb-vusbhci_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(kernel-usb-vusbhci_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(kernel-usb-vusbhci_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +kernel-usb-vusbhci_LC_LINKLIBNAME := $(shell echo $(kernel-usb-vusbhci_LINKLIBNAME) | tr A-Z a-z) +kernel-usb-vusbhci_LC_MODNAME := $(shell echo vusbhci | tr A-Z a-z) +ifneq ($(kernel-usb-vusbhci_LINKLIB),) + +ifeq (target,target) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(HOST_AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(KERNEL_AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)$(kernel-usb-vusbhci_LIBSUFFIX).a : $(kernel-usb-vusbhci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-vusbhci_AR) $@ $^ + $(Q)$(kernel-usb-vusbhci_RANLIB) $@ +ifneq ($(kernel-usb-vusbhci_LC_MODNAME),$(kernel-usb-vusbhci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-vusbhci_LIBDIR)/libvusbhci$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(AR) +$(kernel-usb-vusbhci_LIBDIR)/libvusbhci$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-vusbhci_LIBDIR)/libvusbhci$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(HOST_AR) +$(kernel-usb-vusbhci_LIBDIR)/libvusbhci$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-vusbhci_LIBDIR)/libvusbhci$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(KERNEL_AR) +$(kernel-usb-vusbhci_LIBDIR)/libvusbhci$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-vusbhci_LIBDIR)/libvusbhci$(kernel-usb-vusbhci_LIBSUFFIX).a : $(kernel-usb-vusbhci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-vusbhci_AR) $@ $^ + $(Q)$(kernel-usb-vusbhci_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-vusbhci_LINKLIB),) +$(kernel-usb-vusbhci_LINKLIB) : | $(kernel-usb-vusbhci_LIBDIR) +else +$(kernel-usb-vusbhci_LINKLIB) :: $(kernel-usb-vusbhci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-vusbhci_LIBDIR) + +endif + +ifneq ($(kernel-usb-vusbhci_RELLINKLIB),) + +ifeq (target,target) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(HOST_AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(KERNEL_AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_LINKLIBNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : $(kernel-usb-vusbhci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-vusbhci_AR) $@ $^ + $(Q)$(kernel-usb-vusbhci_RANLIB) $@ +ifneq ($(kernel-usb-vusbhci_LC_MODNAME),$(kernel-usb-vusbhci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_DEFNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_DEFNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_DEFNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(HOST_AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_DEFNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_DEFNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_AR:=$(KERNEL_AR) +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_DEFNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : kernel-usb-vusbhci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(kernel-usb-vusbhci_LIBDIR)/lib$(kernel-usb-vusbhci_DEFNAME)_rel$(kernel-usb-vusbhci_LIBSUFFIX).a : $(kernel-usb-vusbhci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(kernel-usb-vusbhci_AR) $@ $^ + $(Q)$(kernel-usb-vusbhci_RANLIB) $@ +endif + + +ifneq ($(kernel-usb-vusbhci_RELLINKLIB),) +$(kernel-usb-vusbhci_RELLINKLIB) : | $(kernel-usb-vusbhci_LIBDIR) +else +$(kernel-usb-vusbhci_RELLINKLIB) :: $(kernel-usb-vusbhci_LIBDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-vusbhci_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +kernel-usb-vusbhci_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +kernel-usb-vusbhci_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +kernel-usb-vusbhci_SYMBOLS := $(kernel-usb-vusbhci_KBASE) + +kernel-usb-vusbhci_KLIB := hiddstubs amiga arossupport autoinit libinit +kernel-usb-vusbhci_KOBJ_LIBS := $(filter-out $(kernel-usb-vusbhci_KLIB),$(kernel-usb-vusbhci_LIBS)) $(kernel-usb-vusbhci_KAUTOLIB) +$(kernel-usb-vusbhci_KOBJ) : LINKLIBS:=$(kernel-usb-vusbhci_KOBJ_LIBS) $($(kernel-usb-vusbhci_DEFNAME)_LIBS) +$(kernel-usb-vusbhci_KOBJ) : FILTBASES:=$(addprefix -L ,$(kernel-usb-vusbhci_SYMBOLS)) +$(kernel-usb-vusbhci_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(kernel-usb-vusbhci_KOBJ) : $(kernel-usb-vusbhci_OBJS) $(USER_OBJS) $(kernel-usb-vusbhci_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +kernel-usb-vusbhci_DEPS := $(addprefix $(kernel-usb-vusbhci_OBJDIR)/,$(notdir $(kernel-usb-vusbhci_CCFILES:=.d) $(kernel-usb-vusbhci_TARGETCCFILES:=.d) $(kernel-usb-vusbhci_CXXFILES:=.d))) $(addprefix $(kernel-usb-vusbhci_OBJDIR)/linklib/,$(notdir $(kernel-usb-vusbhci_LINKLIBCCFILES:=.d))) + +ifneq ($(kernel-usb-vusbhci_DEPS),) + ifneq (kernel-usb-vusbhci kernel-usb-vusbhci-quick kernel-usb-vusbhci-kobj kernel-usb-vusbhci-kobj-quick,) + ifneq ($(findstring $(TARGET),kernel-usb-vusbhci kernel-usb-vusbhci-quick kernel-usb-vusbhci-kobj kernel-usb-vusbhci-kobj-quick),) + -include $(kernel-usb-vusbhci_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(kernel-usb-vusbhci_DEPS) + endif + endif +endif + +$(kernel-usb-vusbhci_OBJS) $(kernel-usb-vusbhci_DEPS) : | $(kernel-usb-vusbhci_OBJDIR)/linklib + +ifneq ($(kernel-usb-vusbhci_OBJS) $(kernel-usb-vusbhci_DEPS) $(kernel-usb-vusbhci_MODULE) $(kernel-usb-vusbhci_KOBJ),) +$(kernel-usb-vusbhci_OBJS) $(kernel-usb-vusbhci_DEPS) $(kernel-usb-vusbhci_MODULE) $(kernel-usb-vusbhci_KOBJ) : | $(kernel-usb-vusbhci_OBJDIR) $(AROSDIR)/$(kernel-usb-vusbhci_MODDIR) $(KOBJSDIR) +else +$(kernel-usb-vusbhci_OBJS) $(kernel-usb-vusbhci_DEPS) $(kernel-usb-vusbhci_MODULE) $(kernel-usb-vusbhci_KOBJ) :: $(kernel-usb-vusbhci_OBJDIR) $(AROSDIR)/$(kernel-usb-vusbhci_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(kernel-usb-vusbhci_OBJDIR) $(AROSDIR)/$(kernel-usb-vusbhci_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),kernel-usb-vusbhci kernel-usb-vusbhci-includes kernel-usb-vusbhci-quick kernel-usb-vusbhci-kobj kernel-usb-vusbhci-kobj-quick),) # Only for this target these deps are wanted + +kernel-usb-vusbhci_DFILE_DEPS := $(kernel-usb-vusbhci_LIBDEFSINC) $(kernel-usb-vusbhci_DEFLIBDEFSINC) \ + $(addprefix $(kernel-usb-vusbhci_INCDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) +$(kernel-usb-vusbhci_DEPS) : $(kernel-usb-vusbhci_DFILE_DEPS) +endif + +kernel-usb-vusbhci_TOCLEAN := $(kernel-usb-vusbhci_OBJS) $(kernel-usb-vusbhci_DEPS) \ + $(kernel-usb-vusbhci_MODULE) $(kernel-usb-vusbhci_LINKLIB) $(kernel-usb-vusbhci_KOBJ) \ + $(kernel-usb-vusbhci_OBJDIR)/Makefile.vusbhcidevice \ + $(addprefix $(kernel-usb-vusbhci_OBJDIR)/include/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) \ + $(addprefix $(kernel-usb-vusbhci_INCDIR)/,$($(kernel-usb-vusbhci_DEFNAME)_INCLUDES)) \ + $(kernel-usb-vusbhci_OBJDIR)/vusbhci_geninc $(kernel-usb-vusbhci_OBJDIR)/vusbhci_incs \ + $(addsuffix .c,$(kernel-usb-vusbhci_LINKLIBFILES)) $(kernel-usb-vusbhci_LINKLIBOBJS) $(kernel-usb-vusbhci_LIBDEFSINC) \ + $(kernel-usb-vusbhci_DEFLIBDEFSINC) $(addsuffix .c,$(kernel-usb-vusbhci_STARTFILES) $(kernel-usb-vusbhci_ENDFILES)) \ + $(kernel-usb-vusbhci_ENDOBJS) +kernel-usb-vusbhci-clean : FILES := $(kernel-usb-vusbhci_TOCLEAN) +kernel-usb-vusbhci-clean :: + $(Q)$(ECHO) "Cleaning up for module vusbhci" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(kernel-usb-vusbhci_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/crosstools/gnu/mmakefile b/tools/crosstools/gnu/mmakefile new file mode 100644 index 00000000000..2dfe6efbb03 --- /dev/null +++ b/tools/crosstools/gnu/mmakefile @@ -0,0 +1,4250 @@ +include $(SRCDIR)/config/aros.cfg +-include $(SRCDIR)/tools/crosstools/$(AROS_TOOLCHAIN).cfg + +LN ?= ln + +# The config.guess bundled inside gmp/mpfr/mpc/isl/binutils/gcc predates Apple +# Silicon (Nov 2020) and misdetects arm64 Macs as a 32-bit-implying "arm" host, +# which breaks GMP's ABI sanity check ("Oops, mp_limb_t is 64 bits, but the +# assembler code..."). Pass an explicit, correct triple to bypass it. +ifeq ($(AROS_HOST_ARCH),darwin) +HOST_TRIPLE_EXTRA_OPTS := --build=$(AROS_HOST_CPU)-apple-darwin --host=$(AROS_HOST_CPU)-apple-darwin +# GMP 6.1.2's hand-written aarch64 assembly predates Apple Silicon and uses +# ADRP/relocation forms Apple's Mach-O assembler rejects. Force the portable +# C implementation instead. +GMP_HOST_EXTRA_OPTS := --disable-assembly +else +HOST_TRIPLE_EXTRA_OPTS := +GMP_HOST_EXTRA_OPTS := +endif + +BINUTILS_VERSION = $(TARGET_BINUTILS_VER) +BINUTILS_VERSION_MAJOR = $(shell echo "$(BINUTILS_VERSION)" | cut -d"." -f1) +BINUTILS_VERSION_MINOR = $(shell echo "$(BINUTILS_VERSION)" | cut -d"." -f2) +BINUTILS_VERSION_PATCH = $(shell echo "$(BINUTILS_VERSION)" | cut -d"." -f3) + +BINUTILS_EXTRA_OPTS := --target=$(AROS_TARGET_CPU)-aros +BINUTILS_EXTRA_OPTS += $(HOST_TRIPLE_EXTRA_OPTS) +BINUTILS_EXTRA_OPTS += -bindir=$(CROSSTOOLSDIR) +BINUTILS_EXTRA_OPTS += --libdir=$(CROSSTOOLSDIR)/lib +BINUTILS_EXTRA_OPTS += --with-sysroot=$(AROS_DEVELOPER) +BINUTILS_EXTRA_OPTS += --disable-werror +BINUTILS_EXTRA_OPTS += --disable-nls +ifeq (yes, $(TARGET_LTO)) +BINUTILS_EXTRA_OPTS += --enable-plugins --enable-lto +endif + +# Binutils 2.31 enables separate code for x86 by default +# however we do not handle it. +BINUTILS_NOSEPCODE=no +ifeq ($(shell test $(BINUTILS_VERSION_MAJOR) -gt 2; echo $$?),0) +BINUTILS_NOSEPCODE=yes +else +ifeq ($(shell test $(BINUTILS_VERSION_MAJOR) -gt 1; echo $$?),0) +ifeq ($(shell test $(BINUTILS_VERSION_MINOR) -gt 30; echo $$?),0) +BINUTILS_NOSEPCODE=yes +endif +endif +endif +ifneq ($(BINUTILS_NOSEPCODE),no) +ifeq ($(AROS_TARGET_CPU),i386) +BINUTILS_EXTRA_OPTS += --enable-separate-code=no +endif +ifeq ($(AROS_TARGET_CPU),x86_64) +BINUTILS_EXTRA_OPTS += --enable-separate-code=no +endif +endif + +GCC_VERSION = $(TARGET_GCC_VER) +GCC_VERSION_MAJOR = $(shell echo "$(GCC_VERSION)" | cut -d"." -f1) +GCC_VERSION_MINOR = $(shell echo "$(GCC_VERSION)" | cut -d"." -f2) +GCC_VERSION_PATCH = $(shell echo "$(GCC_VERSION)" | cut -d"." -f3) + +GCC_LANGUAGES:=c,c++ +ifneq (no-objc,$(OBJC_TARGET)) +GCC_LANGUAGES:=$(GCC_LANGUAGES),objc +endif +ifneq (no-java,$(JAVA_TARGET)) +GCC_LANGUAGES:=$(GCC_LANGUAGES),java +endif + +GCC_COMMON_OPTS := --target=$(AROS_TARGET_CPU)-aros +GCC_COMMON_OPTS += $(HOST_TRIPLE_EXTRA_OPTS) + +# ARM requires additional flags to determine CPU type and FP model +ifneq (,$(findstring arm,$(AROS_TARGET_CPU))) +#GCC_COMMON_OPTS += --with-arch=$(GCC_DEFAULT_CPU) +#GCC_COMMON_OPTS += --with-mode=$(GCC_DEFAULT_MODE) +GCC_COMMON_OPTS += --disable-libunwind-exceptions +GCC_COMMON_OPTS += --disable-libstdcxx-verbose +GCC_COMMON_OPTS += --with-multilib +ifneq (,$(findstring big-endian,$(ISA_ARM_FLAGS))) +GCC_LIBATOMIC_MULTILIB_TARGETS := \ +arm/eb/$(GCC_DEFAULT_FPU)/v7-a/$(GCC_DEFAULT_FLOAT_ABI);@marm@mbig-endian@mfpu=$(GCC_DEFAULT_FPU)@march=$(GCC_DEFAULT_CPU)@mfloat-abi=$(GCC_DEFAULT_FLOAT_ABI) +else +GCC_LIBATOMIC_MULTILIB_TARGETS := \ +arm/el/$(GCC_DEFAULT_FPU)/v7-a/$(GCC_DEFAULT_FLOAT_ABI);@marm@mlittle-endian@mfpu=$(GCC_DEFAULT_FPU)@march=$(GCC_DEFAULT_CPU)@mfloat-abi=$(GCC_DEFAULT_FLOAT_ABI) +endif +else +# If we are building GCC >= 5, for x86 targets, enable libmpx +# ifeq ($(shell test $(GCC_VERSION_MAJOR) -gt 4; echo $$?),0) +# ifeq ($(AROS_TARGET_CPU),i386) +# GCC_COMMON_OPTS += --enable-libmpx +# endif +# ifeq ($(AROS_TARGET_CPU),x86_64) +# GCC_COMMON_OPTS += --enable-libmpx +# endif +# endif +GCC_COMMON_OPTS += --with-dwarf2 +endif + +GCC_COMMON_OPTS += --with-sysroot=$(AROS_DEVELOPER) +GCC_COMMON_OPTS += --with-native-system-header-dir=/include +GCC_COMMON_OPTS += --bindir=$(CROSSTOOLSDIR) +GCC_COMMON_OPTS += --libdir=$(CROSSTOOLSDIR)/lib +GCC_COMMON_OPTS += --enable-languages=$(strip $(GCC_LANGUAGES)) +GCC_COMMON_OPTS += --enable-long-long +GCC_COMMON_OPTS += --enable-version-specific-runtime-libs +GCC_COMMON_OPTS += --enable-frame-pointer +GCC_COMMON_OPTS += --with-isl=$(CROSSTOOLSDIR) +GCC_COMMON_OPTS += --disable-isl-version-check +GCC_COMMON_OPTS += --disable-bootstrap +GCC_COMMON_OPTS += --disable-sjlj-exceptions +GCC_COMMON_OPTS += --disable-tls +ifneq (yes,$(TARGET_LTO)) +GCC_COMMON_OPTS += --disable-plugins +endif +GCC_COMMON_OPTS += --disable-nls +GCC_COMMON_OPTS += --disable-libssp +GCC_COMMON_OPTS += --disable-libstdcxx-pch +GCC_COMMON_OPTS += --disable-build-with-cxx +GCC_COMMON_OPTS += --disable-build-poststage1-with-cxx + +ifeq (,$(GCC_EXTRA_OPTS)) +GCC_EXTRA_OPTS += $(GCC_COMMON_OPTS) +endif + +# Disable libatomic - we build it manually later... +gcc_build_libatomic?=enable_libatomic=no +GCC_ENV=$(gcc_build_libatomic) + +GCC_PATH = `LANG=en_US $(CROSSTOOLSDIR)/$(AROS_TARGET_CPU)-aros-gcc -print-search-dirs | grep "programs: =" | cut -c 12-` + +GDB_VERSION=7.9 + +GDB_EXTRA_OPTS := --target=$(AROS_TARGET_CPU)-aros +GDB_EXTRA_OPTS += --bindir=$(CROSSTOOLSDIR) +GDB_EXTRA_OPTS += --libdir=$(CROSSTOOLSDIR)/lib + +# Use the correct GCC repository depending if it is a release or snapshot build... +GNU_REPOSITORY := gnu:// +ifeq (,$(findstring -,$(GCC_VERSION))) +GCC_REPOSITORY := $(GNU_REPOSITORY)/gcc/gcc-$(GCC_VERSION) +else +GCC_REPOSITORY := ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/snapshots/$(GCC_VERSION) +endif +ISL_REPOSITORY := ftp://gcc.gnu.org/pub/gcc/infrastructure +MPC_REPOSITORY := ftp://ftp.gnu.org/gnu/mpc http://ftp.vim.org/ftp/gnu/mpc + +binutils-installflag := $(CROSSTOOLSDIR)/.installflag-binutils-$(BINUTILS_VERSION)-$(AROS_TARGET_CPU) +gmp-installflag := $(CROSSTOOLSDIR)/.installflag-gmp-$(GMP_VERSION) +isl-installflag := $(CROSSTOOLSDIR)/.installflag-isl-$(ISL_VERSION) +mpfr-installflag := $(CROSSTOOLSDIR)/.installflag-mpfr-$(MPFR_VERSION) +mpc-installflag := $(CROSSTOOLSDIR)/.installflag-mpc-$(MPC_VERSION) +gcc-installflag := $(CROSSTOOLSDIR)/.installflag-gcc-$(GCC_VERSION)-$(AROS_TARGET_CPU) +libatomic-installflag := $(CROSSTOOLSDIR)/.installflag-libatomic-$(GCC_VERSION)-$(AROS_TARGET_CPU) +gdb-installflag := $(CROSSTOOLSDIR)/.installflag-gdb-$(GDB_VERSION) + +#MM- tools-crosstools-gnu-m68k : tools-crosstools-gcc crosstools-gcc +#MM- tools-crosstools-gnu-i386 : tools-crosstools-gcc crosstools-gcc +#MM- tools-crosstools-gnu-x86_64 : tools-crosstools-gcc crosstools-gcc +#MM- tools-crosstools-gnu-ppc : tools-crosstools-gcc crosstools-gcc +#MM- tools-crosstools-gnu-arm : tools-crosstools-gcc crosstools-gcc +#MM- tools-crosstools-gnu-armeb : tools-crosstools-gcc crosstools-gcc +#MM- tools-crosstools-gnu-aarch64 : tools-crosstools-gcc crosstools-gcc + +#MM tools-crosstools-gcc : tools-crosstools-binutils tools-crosstools-collect-aros \ +#MM tools-crosstools-gmp \ +#MM tools-crosstools-isl \ +#MM tools-crosstools-mpfr \ +#MM tools-crosstools-mpc + +# We intentionally bypass the usual fetch_and_build macro below and call mmakefile and gcc makefile +# targets directly. This is in order to not build the core-linklibs target during binutils and gcc +# builds because we want these static linker libraries be generated by the cross tool chain we are building +# right here. Additionally, we also want to maintain our own install flag files inside the directory +# specified by --with-aros-toolchain-install. This directory may even reside outside of the usual aros +# build directory and can be reused between complete rebuilds. + +## GMP ### + +#MM +tools-crosstools-gmp : + @$(IF) ! $(TEST) -d $(CROSSTOOLSDIR) \ + || ! $(TEST) -f $(gmp-installflag) ; then \ + $(RM) $(HOSTGENDIR)/$(CURDIR)/gmp/.files-touched \ + && $(MAKE) -f ./mmakefile crosstools-gmp--fetch \ + && $(MAKE) -f ./mmakefile crosstools-gmp--build_and_install-quick \ + && $(TOUCH) $(gmp-installflag) ; \ + fi + + +#MM- crosstools-gmp-quick : crosstools-gmp--quick +#MM- crosstools-gmp--quick : crosstools-gmp--fetch +#MM- crosstools-gmp-fetch : crosstools-gmp--fetch +#MM- crosstools-gmp-create-patch : crosstools-gmp--create-patch +#MM- crosstools-gmp-create-patch-quick : crosstools-gmp--create-patch + +crosstools-gmp-archbase := gmp-$(GMP_VERSION) + +ifeq (host,host) + crosstools-gmp-portdir := $(HOSTDIR)/Ports/host/gmp +else + crosstools-gmp-portdir := $(PORTSDIR)/gmp +endif + +ifeq ($(CROSSTOOLSDIR),) + crosstools-gmp-prefix := $(CONTRIB_DIR)/gmp +else + crosstools-gmp-prefix := $(CROSSTOOLSDIR) +endif + +ifneq (,) + crosstools-gmp--archbase := gmp--$(GMP_VERSION) +else + crosstools-gmp--archbase := gmp-$(GMP_VERSION) +endif + +ifneq (,) + crosstools-gmp--srcdir := +else + crosstools-gmp--srcdir := $(crosstools-gmp-archbase) +endif + +ifneq (,) + crosstools-gmp--builddir := $(crosstools-gmp--srcdir)/ +else + crosstools-gmp--builddir := $(crosstools-gmp--srcdir) +endif + +ifeq (no,yes) + crosstools-gmp--patches_specs := $(crosstools-gmp--archbase)-aros.diff:$(crosstools-gmp--srcdir):-f,-p1 +else + crosstools-gmp--patches_specs := :: +endif + + +.PHONY: crosstools-gmp--fetch + +ifneq ($(TOOLDIR),) + crosstools-gmp--fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-gmp--fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-gmp--fetch-location := $(PORTSSOURCEDIR) +else + crosstools-gmp--fetch-location := $(crosstools-gmp-portdir) +endif + +crosstools-gmp--fetch-fetchedflag := $(crosstools-gmp--fetch-location)/.$(crosstools-gmp--archbase)-fetched + +#MM +crosstools-gmp--fetch : + $(Q)$(ECHO) "Fetching $(crosstools-gmp--archbase) ..." + $(Q)TOOLDIR="$(crosstools-gmp--fetch-tooldir)" $(FETCH) -ao ". $(GNU_REPOSITORY)/gmp" -a $(crosstools-gmp--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-gmp--fetch-location) \ + -d $(crosstools-gmp-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-gmp--patches_specs)" + $(Q)$(IF) ! $(TEST) -f $(crosstools-gmp--fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-gmp--fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-gmp--fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(crosstools-gmp--archbase) ..." \ +# && $(FETCH) -ao ". $(GNU_REPOSITORY)/gmp" -a $(crosstools-gmp--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-gmp--fetch-location) \ +# -d $(crosstools-gmp-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-gmp--patches_specs)" \ +# && $(TOUCH) $(crosstools-gmp--fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-gmp--create-patch + +ifneq (,) + crosstools-gmp--create-patch-exclude := -X ./exclude.patterns +endif + +ifneq ($(crosstools-gmp--srcdir),) + crosstools-gmp--create-patch-srcdir := $(crosstools-gmp--srcdir) +else + crosstools-gmp--create-patch-srcdir := $(crosstools-gmp--archbase) +endif + +#MM- crosstools-gmp--create-patch : crosstools-gmp--create-patch-diff +#MM- crosstools-gmp--create-patch-quick : crosstools-gmp--create-patch-diff + +#MM +crosstools-gmp--create-patch-diff: + $(Q)$(FETCH) -a $(crosstools-gmp--archbase) -s "tar.bz2 tar.gz" -l $(PORTSSOURCEDIR) -d $(crosstools-gmp-portdir)/tmp ; \ + $(MV) $(crosstools-gmp-portdir)/$(crosstools-gmp--create-patch-srcdir) $(crosstools-gmp-portdir)/tmp/$(crosstools-gmp--create-patch-srcdir).aros ; \ + cd $(crosstools-gmp-portdir)/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(crosstools-gmp--archbase)-aros-new.diff'" ; \ + diff -ruN $(crosstools-gmp--create-patch-exclude) \ + $(crosstools-gmp--create-patch-srcdir) \ + $(crosstools-gmp--create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(crosstools-gmp--archbase)-aros-new.diff ; \ + $(MV) $(crosstools-gmp-portdir)/tmp/$(crosstools-gmp--create-patch-srcdir).aros $(crosstools-gmp-portdir)/$(crosstools-gmp--create-patch-srcdir) ; \ + $(RM) $(crosstools-gmp-portdir)/tmp + +#MM crosstools-gmp : crosstools-gmp- +#MM +crosstools-gmp: + $(NOP) + +crosstools-gmp--package-dir := $(crosstools-gmp-portdir)/$(crosstools-gmp--archbase) + +crosstools-gmp--package-basename := \ + $(DISTDIR)/Packages/$(crosstools-gmp--archbase)-aros.$(AROS_TARGET_CPU) + +ifneq (no,no) + crosstools-gmp--package := $(crosstools-gmp--package-basename).tar.bz2 +endif + + +ifneq ($(crosstools-gmp-prefix),) + crosstools-gmp--prefix := $(crosstools-gmp-prefix) +else + crosstools-gmp--prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-gmp--aros_prefix := +else + crosstools-gmp--aros_prefix := $(crosstools-gmp--prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + crosstools-gmp--nix := $(BD_NIXFLAG) + crosstools-gmp--volpfx := / + crosstools-gmp--volsfx := / + + ifeq (,) + crosstools-gmp--nix_dir_layout := yes + endif +else + crosstools-gmp--volsfx := : + + ifeq (,) + crosstools-gmp--nix_dir_layout := no + endif +endif + +crosstools-gmp--volfunc = $(crosstools-gmp--volpfx)$(notdir $1)$(crosstools-gmp--volsfx) + +crosstools-gmp--install_opts := prefix=$(crosstools-gmp--prefix) \ + exec_prefix=$(crosstools-gmp--prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring host,host target kernel),) + $(error unknown compiler host) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (host,host) + host := yes + ifeq ($(CURDIR),) + crosstools-gmp--pkgbasedir := $(HOSTGENDIR) + else + crosstools-gmp--pkgbasedir := $(HOSTGENDIR)/$(CURDIR) + endif +else + host := no + ifeq ($(CURDIR),) + crosstools-gmp--pkgbasedir := $(GENDIR) + else + crosstools-gmp--pkgbasedir := $(GENDIR)/$(CURDIR) + endif +endif +ifneq (,) + ifeq ($(CURDIR),) + crosstools-gmp--pkgbasedir := + else + crosstools-gmp--pkgbasedir := /$(CURDIR) + endif +endif + +ifeq (gmp,) + crosstools-gmp--pkgdir := $(crosstools-gmp--pkgbasedir) +else + crosstools-gmp--pkgdir := $(crosstools-gmp--pkgbasedir)/gmp +endif + +crosstools-gmp--configflag := $(crosstools-gmp--pkgdir)/.configured +crosstools-gmp--installflag := $(crosstools-gmp--pkgdir)/.installed + +ifeq ($(filter yes, $(crosstools-gmp--nix_dir_layout) $(host)),yes) + crosstools-gmp--PROGDIR := $(crosstools-gmp--aros_prefix)/bin + crosstools-gmp--config_opts := --prefix=$(crosstools-gmp--aros_prefix) +else + ifeq (no,yes) + crosstools-gmp--config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + crosstools-gmp--config_opts := --prefix=$(crosstools-gmp--aros_prefix) + endif + + crosstools-gmp--PROGDIR := $(crosstools-gmp--aros_prefix) + + crosstools-gmp--install_opts := bindir=$(crosstools-gmp--prefix) \ + sbindir=$(crosstools-gmp--prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + crosstools-gmp--s_flag = -s +endif + +ifeq (yes,yes) + crosstools-gmp--HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + crosstools-gmp--KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(crosstools-gmp--s_flag) +ifeq (no,yes) + crosstools-gmp--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-gmp--s_flag) +else + crosstools-gmp--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-gmp--nix) $(crosstools-gmp--s_flag) +endif +endif +ifeq (yes,yes) + crosstools-gmp--HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + crosstools-gmp--KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(crosstools-gmp--s_flag) +ifeq (no,yes) + crosstools-gmp--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-gmp--s_flag) +else + crosstools-gmp--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-gmp--nix) $(crosstools-gmp--s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (host,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + crosstools-gmp--cfg-env := \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(crosstools-gmp--HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(crosstools-gmp--HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (no,yes) + crosstools-gmp--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-gmp--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-gmp--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-gmp--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (host,target) + crosstools-gmp--cfg-env := \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + crosstools-gmp--cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + crosstools-gmp--cfg-env += CFLAGS="$(crosstools-gmp--TARGET_CFLAGS) $(OPTIMIZATION_CFLAGS)" \ + CXXFLAGS="$(crosstools-gmp--TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (no,yes) + crosstools-gmp--cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gmp--cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gmp--nix) $(crosstools-gmp--s_flag))" +ifeq (no,yes) + crosstools-gmp--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-gmp--cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(crosstools-gmp--HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(crosstools-gmp--HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(crosstools-gmp--s_flag))" +ifeq (no,yes) + crosstools-gmp--cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gmp--cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-gmp--nix) $(crosstools-gmp--s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-gmp--nix) $(crosstools-gmp--s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gmp--nix) $(crosstools-gmp--s_flag))" +ifeq (no,yes) + crosstools-gmp--cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gmp--cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(crosstools-gmp--TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(crosstools-gmp--TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gmp--nix) $(crosstools-gmp--s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (no,yes) + crosstools-gmp--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-gmp--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-gmp--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-gmp--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + crosstools-gmp--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-gmp--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-gmp--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-gmp--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-gmp--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-gmp--config_opts += --without-x +endif +endif +endif +ifeq (host,kernel) + crosstools-gmp--cfg-env := \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (no,yes) + crosstools-gmp--cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + crosstools-gmp--cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(crosstools-gmp--KERNEL_CFLAGS) $(OPTIMIZATION_CFLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(crosstools-gmp--KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (no,yes) + crosstools-gmp--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-gmp--cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(crosstools-gmp--HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(crosstools-gmp--HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + crosstools-gmp--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-gmp--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-gmp--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-gmp--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-gmp--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-gmp--config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(crosstools-gmp--cfg-env) +endif + +crosstools-gmp--touchfileflag ?= $(crosstools-gmp--pkgdir)/.files-touched + +ifneq ("$(wildcard $(crosstools-gmp-portdir)/$(crosstools-gmp--builddir)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(crosstools-gmp--pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(crosstools-gmp--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(crosstools-gmp--pkgdir)))'" + $(Q)$(CP) -Rf "$(crosstools-gmp-portdir)/$(crosstools-gmp--builddir)/." $(crosstools-gmp--pkgdir)/ && $(TOUCH) $@ + +$(crosstools-gmp--touchfileflag) : $(crosstools-gmp--pkgdir)/.local-copy + + crosstools-gmp--cfg-srcdir=$(crosstools-gmp--pkgdir) +else + crosstools-gmp--cfg-srcdir=$(crosstools-gmp-portdir)/$(crosstools-gmp--builddir) +endif +crosstools-gmp--make-env := -C $(crosstools-gmp--pkgdir) + +.PHONY : crosstools-gmp- crosstools-gmp--clean crosstools-gmp--build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- crosstools-gmp--host : setup includes crosstools-gmp--quick +#MM- crosstools-gmp--target : setup includes core-linklibs crosstools-gmp--quick +#MM- crosstools-gmp-: crosstools-gmp--host + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + crosstools-gmp--install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(crosstools-gmp--pkgdir))" && \ + $(MAKE) PROGDIR="$(crosstools-gmp--PROGDIR)/" $(crosstools-gmp--install_opts) \ + $(crosstools-gmp--make-env) install -j1 + + crosstools-gmp--uninstall_command = \ + $(RM) $(crosstools-gmp--installflag) && \ + $(MAKE) PROGDIR="$(crosstools-gmp--PROGDIR)/" \ + $(crosstools-gmp--install_opts) $(crosstools-gmp--make-env) uninstall +else + crosstools-gmp--install_command := true + crosstools-gmp--uninstall_command := true +endif + +#MM- crosstools-gmp--quick : crosstools-gmp--configure crosstools-gmp--build_and_install-quick crosstools-gmp--make-package + +#MM +crosstools-gmp--build_and_install-quick : $(crosstools-gmp--installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(crosstools-gmp--installflag) : $(crosstools-gmp--configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-gmp--volfunc, PROGDIR)" -q $(crosstools-gmp--make-env); then \ + $(RM) $(crosstools-gmp--installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(crosstools-gmp--pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-gmp--volfunc, PROGDIR)" $(crosstools-gmp--make-env) && \ + $(crosstools-gmp--install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(crosstools-gmp--touchfileflag),) +$(crosstools-gmp--touchfileflag): + $(Q)$(FOR) dir in $(crosstools-gmp--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(crosstools-gmp-portdir)/$(crosstools-gmp--builddir) -exec $(TOUCH) -c -r $(crosstools-gmp--cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-gmp--uninstall : + $(crosstools-gmp--uninstall_command) + +#MM +crosstools-gmp--configure : $(crosstools-gmp--configflag) + +$(crosstools-gmp--configflag) : TMP_SRCDIR := $(shell echo $(crosstools-gmp--cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-gmp--configflag) : $(crosstools-gmp--touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(crosstools-gmp--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(crosstools-gmp--pkgdir))" + $(Q)cd $(crosstools-gmp--pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(crosstools-gmp--cfg-env) $(TMP_SRCDIR)/configure $(crosstools-gmp--config_opts) --bindir=$(CROSSTOOLSDIR) --libdir=$(CROSSTOOLSDIR)/lib --disable-shared $(HOST_TRIPLE_EXTRA_OPTS) $(GMP_HOST_EXTRA_OPTS) && \ + $(TOUCH) $@ + +#MM +crosstools-gmp--clean : crosstools-gmp--uninstall + $(Q)$(RM) $(crosstools-gmp--pkgdir) + +.PHONY : crosstools-gmp--make-package crosstools-gmp--create-patch +#MM crosstools-gmp--make-package : crosstools-gmp--quick + +#MM +crosstools-gmp--make-package : $(crosstools-gmp--package) + +#There seems to be a bug, either with my clock or with make, 'cause it may happen +#that $^ and $@ have exactly the same mtime, and in that case make tries +#to rebuild $@ again, which would fail because the directory where +#the package got installed would not exist anymore. +#We work this around by using an if statement to manually check the mtimes. +$(crosstools-gmp--package-basename).tar.bz2 : + $(Q)$(IF) $(TEST) $(crosstools-gmp-installflag) -nt $@ || ! $(TEST) -s $@; then \ + $(RM) $@ ; \ + $(ECHO) "Building \`$(crosstools-gmp--package-basename).tar.bz2'" ; \ + $(MKDIR) -p "$(DISTDIR)/Packages" ; \ + $(MKDIR) -p "$(crosstools-gmp-prefix)" ; \ + cd $(crosstools-gmp--package-dir) ; \ + tar -cvf $(crosstools-gmp--package-basename).tar * ; \ + bzip2 -9 -f $(crosstools-gmp--package-basename).tar ; \ + fi + +## ISL ### + +#MM +tools-crosstools-isl : + @$(IF) ! $(TEST) -d $(CROSSTOOLSDIR) \ + || ! $(TEST) -f $(isl-installflag) ; then \ + $(RM) $(HOSTGENDIR)/$(CURDIR)/isl/.files-touched \ + && $(MAKE) -f ./mmakefile crosstools-isl--fetch \ + && $(MAKE) -f ./mmakefile crosstools-isl--build_and_install-quick \ + && $(TOUCH) $(isl-installflag) ; \ + fi + + +#MM- crosstools-isl-quick : crosstools-isl--quick +#MM- crosstools-isl--quick : crosstools-isl--fetch +#MM- crosstools-isl-fetch : crosstools-isl--fetch +#MM- crosstools-isl-create-patch : crosstools-isl--create-patch +#MM- crosstools-isl-create-patch-quick : crosstools-isl--create-patch + +crosstools-isl-archbase := isl-$(ISL_VERSION) + +ifeq (host,host) + crosstools-isl-portdir := $(HOSTDIR)/Ports/host/isl +else + crosstools-isl-portdir := $(PORTSDIR)/isl +endif + +ifeq ($(CROSSTOOLSDIR),) + crosstools-isl-prefix := $(CONTRIB_DIR)/isl +else + crosstools-isl-prefix := $(CROSSTOOLSDIR) +endif + +ifneq (,) + crosstools-isl--archbase := isl--$(ISL_VERSION) +else + crosstools-isl--archbase := isl-$(ISL_VERSION) +endif + +ifneq (,) + crosstools-isl--srcdir := +else + crosstools-isl--srcdir := $(crosstools-isl-archbase) +endif + +ifneq (,) + crosstools-isl--builddir := $(crosstools-isl--srcdir)/ +else + crosstools-isl--builddir := $(crosstools-isl--srcdir) +endif + +ifeq (no,yes) + crosstools-isl--patches_specs := $(crosstools-isl--archbase)-aros.diff:$(crosstools-isl--srcdir):-f,-p1 +else + crosstools-isl--patches_specs := :: +endif + + +.PHONY: crosstools-isl--fetch + +ifneq ($(TOOLDIR),) + crosstools-isl--fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-isl--fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-isl--fetch-location := $(PORTSSOURCEDIR) +else + crosstools-isl--fetch-location := $(crosstools-isl-portdir) +endif + +crosstools-isl--fetch-fetchedflag := $(crosstools-isl--fetch-location)/.$(crosstools-isl--archbase)-fetched + +#MM +crosstools-isl--fetch : + $(Q)$(ECHO) "Fetching $(crosstools-isl--archbase) ..." + $(Q)TOOLDIR="$(crosstools-isl--fetch-tooldir)" $(FETCH) -ao ". $(ISL_REPOSITORY)" -a $(crosstools-isl--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-isl--fetch-location) \ + -d $(crosstools-isl-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-isl--patches_specs)" + $(Q)$(IF) ! $(TEST) -f $(crosstools-isl--fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-isl--fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-isl--fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(crosstools-isl--archbase) ..." \ +# && $(FETCH) -ao ". $(ISL_REPOSITORY)" -a $(crosstools-isl--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-isl--fetch-location) \ +# -d $(crosstools-isl-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-isl--patches_specs)" \ +# && $(TOUCH) $(crosstools-isl--fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-isl--create-patch + +ifneq (,) + crosstools-isl--create-patch-exclude := -X ./exclude.patterns +endif + +ifneq ($(crosstools-isl--srcdir),) + crosstools-isl--create-patch-srcdir := $(crosstools-isl--srcdir) +else + crosstools-isl--create-patch-srcdir := $(crosstools-isl--archbase) +endif + +#MM- crosstools-isl--create-patch : crosstools-isl--create-patch-diff +#MM- crosstools-isl--create-patch-quick : crosstools-isl--create-patch-diff + +#MM +crosstools-isl--create-patch-diff: + $(Q)$(FETCH) -a $(crosstools-isl--archbase) -s "tar.bz2 tar.gz" -l $(PORTSSOURCEDIR) -d $(crosstools-isl-portdir)/tmp ; \ + $(MV) $(crosstools-isl-portdir)/$(crosstools-isl--create-patch-srcdir) $(crosstools-isl-portdir)/tmp/$(crosstools-isl--create-patch-srcdir).aros ; \ + cd $(crosstools-isl-portdir)/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(crosstools-isl--archbase)-aros-new.diff'" ; \ + diff -ruN $(crosstools-isl--create-patch-exclude) \ + $(crosstools-isl--create-patch-srcdir) \ + $(crosstools-isl--create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(crosstools-isl--archbase)-aros-new.diff ; \ + $(MV) $(crosstools-isl-portdir)/tmp/$(crosstools-isl--create-patch-srcdir).aros $(crosstools-isl-portdir)/$(crosstools-isl--create-patch-srcdir) ; \ + $(RM) $(crosstools-isl-portdir)/tmp + +#MM crosstools-isl : crosstools-isl- +#MM +crosstools-isl: + $(NOP) + +crosstools-isl--package-dir := $(crosstools-isl-portdir)/$(crosstools-isl--archbase) + +crosstools-isl--package-basename := \ + $(DISTDIR)/Packages/$(crosstools-isl--archbase)-aros.$(AROS_TARGET_CPU) + +ifneq (no,no) + crosstools-isl--package := $(crosstools-isl--package-basename).tar.bz2 +endif + + +ifneq ($(crosstools-isl-prefix),) + crosstools-isl--prefix := $(crosstools-isl-prefix) +else + crosstools-isl--prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-isl--aros_prefix := +else + crosstools-isl--aros_prefix := $(crosstools-isl--prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + crosstools-isl--nix := $(BD_NIXFLAG) + crosstools-isl--volpfx := / + crosstools-isl--volsfx := / + + ifeq (,) + crosstools-isl--nix_dir_layout := yes + endif +else + crosstools-isl--volsfx := : + + ifeq (,) + crosstools-isl--nix_dir_layout := no + endif +endif + +crosstools-isl--volfunc = $(crosstools-isl--volpfx)$(notdir $1)$(crosstools-isl--volsfx) + +crosstools-isl--install_opts := prefix=$(crosstools-isl--prefix) \ + exec_prefix=$(crosstools-isl--prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring host,host target kernel),) + $(error unknown compiler host) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (host,host) + host := yes + ifeq ($(CURDIR),) + crosstools-isl--pkgbasedir := $(HOSTGENDIR) + else + crosstools-isl--pkgbasedir := $(HOSTGENDIR)/$(CURDIR) + endif +else + host := no + ifeq ($(CURDIR),) + crosstools-isl--pkgbasedir := $(GENDIR) + else + crosstools-isl--pkgbasedir := $(GENDIR)/$(CURDIR) + endif +endif +ifneq (,) + ifeq ($(CURDIR),) + crosstools-isl--pkgbasedir := + else + crosstools-isl--pkgbasedir := /$(CURDIR) + endif +endif + +ifeq (isl,) + crosstools-isl--pkgdir := $(crosstools-isl--pkgbasedir) +else + crosstools-isl--pkgdir := $(crosstools-isl--pkgbasedir)/isl +endif + +crosstools-isl--configflag := $(crosstools-isl--pkgdir)/.configured +crosstools-isl--installflag := $(crosstools-isl--pkgdir)/.installed + +ifeq ($(filter yes, $(crosstools-isl--nix_dir_layout) $(host)),yes) + crosstools-isl--PROGDIR := $(crosstools-isl--aros_prefix)/bin + crosstools-isl--config_opts := --prefix=$(crosstools-isl--aros_prefix) +else + ifeq (no,yes) + crosstools-isl--config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + crosstools-isl--config_opts := --prefix=$(crosstools-isl--aros_prefix) + endif + + crosstools-isl--PROGDIR := $(crosstools-isl--aros_prefix) + + crosstools-isl--install_opts := bindir=$(crosstools-isl--prefix) \ + sbindir=$(crosstools-isl--prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + crosstools-isl--s_flag = -s +endif + +ifeq (yes,yes) + crosstools-isl--HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + crosstools-isl--KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(crosstools-isl--s_flag) +ifeq (no,yes) + crosstools-isl--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-isl--s_flag) +else + crosstools-isl--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-isl--nix) $(crosstools-isl--s_flag) +endif +endif +ifeq (yes,yes) + crosstools-isl--HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + crosstools-isl--KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(crosstools-isl--s_flag) +ifeq (no,yes) + crosstools-isl--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-isl--s_flag) +else + crosstools-isl--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-isl--nix) $(crosstools-isl--s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (host,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + crosstools-isl--cfg-env := \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(crosstools-isl--HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(crosstools-isl--HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (no,yes) + crosstools-isl--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-isl--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-isl--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-isl--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (host,target) + crosstools-isl--cfg-env := \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + crosstools-isl--cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + crosstools-isl--cfg-env += CFLAGS="$(crosstools-isl--TARGET_CFLAGS) $(OPTIMIZATION_CFLAGS)" \ + CXXFLAGS="$(crosstools-isl--TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (no,yes) + crosstools-isl--cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-isl--cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-isl--nix) $(crosstools-isl--s_flag))" +ifeq (no,yes) + crosstools-isl--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-isl--cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(crosstools-isl--HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(crosstools-isl--HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(crosstools-isl--s_flag))" +ifeq (no,yes) + crosstools-isl--cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-isl--cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-isl--nix) $(crosstools-isl--s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-isl--nix) $(crosstools-isl--s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-isl--nix) $(crosstools-isl--s_flag))" +ifeq (no,yes) + crosstools-isl--cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-isl--cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(crosstools-isl--TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(crosstools-isl--TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-isl--nix) $(crosstools-isl--s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (no,yes) + crosstools-isl--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-isl--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-isl--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-isl--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + crosstools-isl--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-isl--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-isl--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-isl--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-isl--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-isl--config_opts += --without-x +endif +endif +endif +ifeq (host,kernel) + crosstools-isl--cfg-env := \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (no,yes) + crosstools-isl--cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + crosstools-isl--cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(crosstools-isl--KERNEL_CFLAGS) $(OPTIMIZATION_CFLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(crosstools-isl--KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (no,yes) + crosstools-isl--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-isl--cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(crosstools-isl--HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(crosstools-isl--HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + crosstools-isl--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-isl--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-isl--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-isl--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-isl--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-isl--config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(crosstools-isl--cfg-env) +endif + +crosstools-isl--touchfileflag ?= $(crosstools-isl--pkgdir)/.files-touched + +ifneq ("$(wildcard $(crosstools-isl-portdir)/$(crosstools-isl--builddir)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(crosstools-isl--pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(crosstools-isl--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(crosstools-isl--pkgdir)))'" + $(Q)$(CP) -Rf "$(crosstools-isl-portdir)/$(crosstools-isl--builddir)/." $(crosstools-isl--pkgdir)/ && $(TOUCH) $@ + +$(crosstools-isl--touchfileflag) : $(crosstools-isl--pkgdir)/.local-copy + + crosstools-isl--cfg-srcdir=$(crosstools-isl--pkgdir) +else + crosstools-isl--cfg-srcdir=$(crosstools-isl-portdir)/$(crosstools-isl--builddir) +endif +crosstools-isl--make-env := -C $(crosstools-isl--pkgdir) + +.PHONY : crosstools-isl- crosstools-isl--clean crosstools-isl--build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- crosstools-isl--host : setup includes crosstools-isl--quick +#MM- crosstools-isl--target : setup includes core-linklibs crosstools-isl--quick +#MM- crosstools-isl-: crosstools-isl--host + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + crosstools-isl--install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(crosstools-isl--pkgdir))" && \ + $(MAKE) PROGDIR="$(crosstools-isl--PROGDIR)/" $(crosstools-isl--install_opts) \ + $(crosstools-isl--make-env) install -j1 + + crosstools-isl--uninstall_command = \ + $(RM) $(crosstools-isl--installflag) && \ + $(MAKE) PROGDIR="$(crosstools-isl--PROGDIR)/" \ + $(crosstools-isl--install_opts) $(crosstools-isl--make-env) uninstall +else + crosstools-isl--install_command := true + crosstools-isl--uninstall_command := true +endif + +#MM- crosstools-isl--quick : crosstools-isl--configure crosstools-isl--build_and_install-quick crosstools-isl--make-package + +#MM +crosstools-isl--build_and_install-quick : $(crosstools-isl--installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(crosstools-isl--installflag) : $(crosstools-isl--configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-isl--volfunc, PROGDIR)" -q $(crosstools-isl--make-env); then \ + $(RM) $(crosstools-isl--installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(crosstools-isl--pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-isl--volfunc, PROGDIR)" $(crosstools-isl--make-env) && \ + $(crosstools-isl--install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(crosstools-isl--touchfileflag),) +$(crosstools-isl--touchfileflag): + $(Q)$(FOR) dir in $(crosstools-isl--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(crosstools-isl-portdir)/$(crosstools-isl--builddir) -exec $(TOUCH) -c -r $(crosstools-isl--cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-isl--uninstall : + $(crosstools-isl--uninstall_command) + +#MM +crosstools-isl--configure : $(crosstools-isl--configflag) + +$(crosstools-isl--configflag) : TMP_SRCDIR := $(shell echo $(crosstools-isl--cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-isl--configflag) : $(crosstools-isl--touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(crosstools-isl--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(crosstools-isl--pkgdir))" + $(Q)cd $(crosstools-isl--pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(crosstools-isl--cfg-env) $(TMP_SRCDIR)/configure $(crosstools-isl--config_opts) --bindir=$(CROSSTOOLSDIR) --libdir=$(CROSSTOOLSDIR)/lib --without-piplib --disable-shared $(HOST_TRIPLE_EXTRA_OPTS) && \ + $(TOUCH) $@ + +#MM +crosstools-isl--clean : crosstools-isl--uninstall + $(Q)$(RM) $(crosstools-isl--pkgdir) + +.PHONY : crosstools-isl--make-package crosstools-isl--create-patch +#MM crosstools-isl--make-package : crosstools-isl--quick + +#MM +crosstools-isl--make-package : $(crosstools-isl--package) + +#There seems to be a bug, either with my clock or with make, 'cause it may happen +#that $^ and $@ have exactly the same mtime, and in that case make tries +#to rebuild $@ again, which would fail because the directory where +#the package got installed would not exist anymore. +#We work this around by using an if statement to manually check the mtimes. +$(crosstools-isl--package-basename).tar.bz2 : + $(Q)$(IF) $(TEST) $(crosstools-isl-installflag) -nt $@ || ! $(TEST) -s $@; then \ + $(RM) $@ ; \ + $(ECHO) "Building \`$(crosstools-isl--package-basename).tar.bz2'" ; \ + $(MKDIR) -p "$(DISTDIR)/Packages" ; \ + $(MKDIR) -p "$(crosstools-isl-prefix)" ; \ + cd $(crosstools-isl--package-dir) ; \ + tar -cvf $(crosstools-isl--package-basename).tar * ; \ + bzip2 -9 -f $(crosstools-isl--package-basename).tar ; \ + fi + +## MPFR ### + +#MM +tools-crosstools-mpfr : + @$(IF) ! $(TEST) -d $(CROSSTOOLSDIR) \ + || ! $(TEST) -f $(mpfr-installflag) ; then \ + $(RM) $(HOSTGENDIR)/$(CURDIR)/mpfr/.files-touched \ + && $(MAKE) -f ./mmakefile crosstools-mpfr--fetch \ + && $(MAKE) -f ./mmakefile crosstools-mpfr--build_and_install-quick \ + && $(TOUCH) $(mpfr-installflag) ; \ + fi + + +#MM- crosstools-mpfr-quick : crosstools-mpfr--quick +#MM- crosstools-mpfr--quick : crosstools-mpfr--fetch +#MM- crosstools-mpfr-fetch : crosstools-mpfr--fetch +#MM- crosstools-mpfr-create-patch : crosstools-mpfr--create-patch +#MM- crosstools-mpfr-create-patch-quick : crosstools-mpfr--create-patch + +crosstools-mpfr-archbase := mpfr-$(MPFR_VERSION) + +ifeq (host,host) + crosstools-mpfr-portdir := $(HOSTDIR)/Ports/host/mpfr +else + crosstools-mpfr-portdir := $(PORTSDIR)/mpfr +endif + +ifeq ($(CROSSTOOLSDIR),) + crosstools-mpfr-prefix := $(CONTRIB_DIR)/mpfr +else + crosstools-mpfr-prefix := $(CROSSTOOLSDIR) +endif + +ifneq (,) + crosstools-mpfr--archbase := mpfr--$(MPFR_VERSION) +else + crosstools-mpfr--archbase := mpfr-$(MPFR_VERSION) +endif + +ifneq (,) + crosstools-mpfr--srcdir := +else + crosstools-mpfr--srcdir := $(crosstools-mpfr-archbase) +endif + +ifneq (,) + crosstools-mpfr--builddir := $(crosstools-mpfr--srcdir)/ +else + crosstools-mpfr--builddir := $(crosstools-mpfr--srcdir) +endif + +ifeq (no,yes) + crosstools-mpfr--patches_specs := $(crosstools-mpfr--archbase)-aros.diff:$(crosstools-mpfr--srcdir):-f,-p1 +else + crosstools-mpfr--patches_specs := :: +endif + + +.PHONY: crosstools-mpfr--fetch + +ifneq ($(TOOLDIR),) + crosstools-mpfr--fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-mpfr--fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-mpfr--fetch-location := $(PORTSSOURCEDIR) +else + crosstools-mpfr--fetch-location := $(crosstools-mpfr-portdir) +endif + +crosstools-mpfr--fetch-fetchedflag := $(crosstools-mpfr--fetch-location)/.$(crosstools-mpfr--archbase)-fetched + +#MM +crosstools-mpfr--fetch : + $(Q)$(ECHO) "Fetching $(crosstools-mpfr--archbase) ..." + $(Q)TOOLDIR="$(crosstools-mpfr--fetch-tooldir)" $(FETCH) -ao ". $(GNU_REPOSITORY)/mpfr" -a $(crosstools-mpfr--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-mpfr--fetch-location) \ + -d $(crosstools-mpfr-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-mpfr--patches_specs)" + $(Q)$(IF) ! $(TEST) -f $(crosstools-mpfr--fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-mpfr--fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-mpfr--fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(crosstools-mpfr--archbase) ..." \ +# && $(FETCH) -ao ". $(GNU_REPOSITORY)/mpfr" -a $(crosstools-mpfr--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-mpfr--fetch-location) \ +# -d $(crosstools-mpfr-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-mpfr--patches_specs)" \ +# && $(TOUCH) $(crosstools-mpfr--fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-mpfr--create-patch + +ifneq (,) + crosstools-mpfr--create-patch-exclude := -X ./exclude.patterns +endif + +ifneq ($(crosstools-mpfr--srcdir),) + crosstools-mpfr--create-patch-srcdir := $(crosstools-mpfr--srcdir) +else + crosstools-mpfr--create-patch-srcdir := $(crosstools-mpfr--archbase) +endif + +#MM- crosstools-mpfr--create-patch : crosstools-mpfr--create-patch-diff +#MM- crosstools-mpfr--create-patch-quick : crosstools-mpfr--create-patch-diff + +#MM +crosstools-mpfr--create-patch-diff: + $(Q)$(FETCH) -a $(crosstools-mpfr--archbase) -s "tar.bz2 tar.gz" -l $(PORTSSOURCEDIR) -d $(crosstools-mpfr-portdir)/tmp ; \ + $(MV) $(crosstools-mpfr-portdir)/$(crosstools-mpfr--create-patch-srcdir) $(crosstools-mpfr-portdir)/tmp/$(crosstools-mpfr--create-patch-srcdir).aros ; \ + cd $(crosstools-mpfr-portdir)/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(crosstools-mpfr--archbase)-aros-new.diff'" ; \ + diff -ruN $(crosstools-mpfr--create-patch-exclude) \ + $(crosstools-mpfr--create-patch-srcdir) \ + $(crosstools-mpfr--create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(crosstools-mpfr--archbase)-aros-new.diff ; \ + $(MV) $(crosstools-mpfr-portdir)/tmp/$(crosstools-mpfr--create-patch-srcdir).aros $(crosstools-mpfr-portdir)/$(crosstools-mpfr--create-patch-srcdir) ; \ + $(RM) $(crosstools-mpfr-portdir)/tmp + +#MM crosstools-mpfr : crosstools-mpfr- +#MM +crosstools-mpfr: + $(NOP) + +crosstools-mpfr--package-dir := $(crosstools-mpfr-portdir)/$(crosstools-mpfr--archbase) + +crosstools-mpfr--package-basename := \ + $(DISTDIR)/Packages/$(crosstools-mpfr--archbase)-aros.$(AROS_TARGET_CPU) + +ifneq (no,no) + crosstools-mpfr--package := $(crosstools-mpfr--package-basename).tar.bz2 +endif + + +ifneq ($(crosstools-mpfr-prefix),) + crosstools-mpfr--prefix := $(crosstools-mpfr-prefix) +else + crosstools-mpfr--prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-mpfr--aros_prefix := +else + crosstools-mpfr--aros_prefix := $(crosstools-mpfr--prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + crosstools-mpfr--nix := $(BD_NIXFLAG) + crosstools-mpfr--volpfx := / + crosstools-mpfr--volsfx := / + + ifeq (,) + crosstools-mpfr--nix_dir_layout := yes + endif +else + crosstools-mpfr--volsfx := : + + ifeq (,) + crosstools-mpfr--nix_dir_layout := no + endif +endif + +crosstools-mpfr--volfunc = $(crosstools-mpfr--volpfx)$(notdir $1)$(crosstools-mpfr--volsfx) + +crosstools-mpfr--install_opts := prefix=$(crosstools-mpfr--prefix) \ + exec_prefix=$(crosstools-mpfr--prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring host,host target kernel),) + $(error unknown compiler host) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (host,host) + host := yes + ifeq ($(CURDIR),) + crosstools-mpfr--pkgbasedir := $(HOSTGENDIR) + else + crosstools-mpfr--pkgbasedir := $(HOSTGENDIR)/$(CURDIR) + endif +else + host := no + ifeq ($(CURDIR),) + crosstools-mpfr--pkgbasedir := $(GENDIR) + else + crosstools-mpfr--pkgbasedir := $(GENDIR)/$(CURDIR) + endif +endif +ifneq (,) + ifeq ($(CURDIR),) + crosstools-mpfr--pkgbasedir := + else + crosstools-mpfr--pkgbasedir := /$(CURDIR) + endif +endif + +ifeq (mpfr,) + crosstools-mpfr--pkgdir := $(crosstools-mpfr--pkgbasedir) +else + crosstools-mpfr--pkgdir := $(crosstools-mpfr--pkgbasedir)/mpfr +endif + +crosstools-mpfr--configflag := $(crosstools-mpfr--pkgdir)/.configured +crosstools-mpfr--installflag := $(crosstools-mpfr--pkgdir)/.installed + +ifeq ($(filter yes, $(crosstools-mpfr--nix_dir_layout) $(host)),yes) + crosstools-mpfr--PROGDIR := $(crosstools-mpfr--aros_prefix)/bin + crosstools-mpfr--config_opts := --prefix=$(crosstools-mpfr--aros_prefix) +else + ifeq (no,yes) + crosstools-mpfr--config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + crosstools-mpfr--config_opts := --prefix=$(crosstools-mpfr--aros_prefix) + endif + + crosstools-mpfr--PROGDIR := $(crosstools-mpfr--aros_prefix) + + crosstools-mpfr--install_opts := bindir=$(crosstools-mpfr--prefix) \ + sbindir=$(crosstools-mpfr--prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + crosstools-mpfr--s_flag = -s +endif + +ifeq (yes,yes) + crosstools-mpfr--HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + crosstools-mpfr--KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(crosstools-mpfr--s_flag) +ifeq (no,yes) + crosstools-mpfr--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-mpfr--s_flag) +else + crosstools-mpfr--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-mpfr--nix) $(crosstools-mpfr--s_flag) +endif +endif +ifeq (yes,yes) + crosstools-mpfr--HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + crosstools-mpfr--KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(crosstools-mpfr--s_flag) +ifeq (no,yes) + crosstools-mpfr--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-mpfr--s_flag) +else + crosstools-mpfr--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-mpfr--nix) $(crosstools-mpfr--s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (host,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + crosstools-mpfr--cfg-env := \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(crosstools-mpfr--HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(crosstools-mpfr--HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (no,yes) + crosstools-mpfr--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-mpfr--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-mpfr--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-mpfr--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (host,target) + crosstools-mpfr--cfg-env := \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + crosstools-mpfr--cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + crosstools-mpfr--cfg-env += CFLAGS="$(crosstools-mpfr--TARGET_CFLAGS) $(OPTIMIZATION_CFLAGS)" \ + CXXFLAGS="$(crosstools-mpfr--TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (no,yes) + crosstools-mpfr--cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-mpfr--cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-mpfr--nix) $(crosstools-mpfr--s_flag))" +ifeq (no,yes) + crosstools-mpfr--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-mpfr--cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(crosstools-mpfr--HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(crosstools-mpfr--HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(crosstools-mpfr--s_flag))" +ifeq (no,yes) + crosstools-mpfr--cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-mpfr--cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-mpfr--nix) $(crosstools-mpfr--s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-mpfr--nix) $(crosstools-mpfr--s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-mpfr--nix) $(crosstools-mpfr--s_flag))" +ifeq (no,yes) + crosstools-mpfr--cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-mpfr--cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(crosstools-mpfr--TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(crosstools-mpfr--TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-mpfr--nix) $(crosstools-mpfr--s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (no,yes) + crosstools-mpfr--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-mpfr--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-mpfr--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-mpfr--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + crosstools-mpfr--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-mpfr--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-mpfr--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-mpfr--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-mpfr--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-mpfr--config_opts += --without-x +endif +endif +endif +ifeq (host,kernel) + crosstools-mpfr--cfg-env := \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (no,yes) + crosstools-mpfr--cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + crosstools-mpfr--cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(crosstools-mpfr--KERNEL_CFLAGS) $(OPTIMIZATION_CFLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(crosstools-mpfr--KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (no,yes) + crosstools-mpfr--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-mpfr--cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(crosstools-mpfr--HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(crosstools-mpfr--HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + crosstools-mpfr--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-mpfr--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-mpfr--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-mpfr--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-mpfr--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-mpfr--config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(crosstools-mpfr--cfg-env) +endif + +crosstools-mpfr--touchfileflag ?= $(crosstools-mpfr--pkgdir)/.files-touched + +ifneq ("$(wildcard $(crosstools-mpfr-portdir)/$(crosstools-mpfr--builddir)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(crosstools-mpfr--pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(crosstools-mpfr--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(crosstools-mpfr--pkgdir)))'" + $(Q)$(CP) -Rf "$(crosstools-mpfr-portdir)/$(crosstools-mpfr--builddir)/." $(crosstools-mpfr--pkgdir)/ && $(TOUCH) $@ + +$(crosstools-mpfr--touchfileflag) : $(crosstools-mpfr--pkgdir)/.local-copy + + crosstools-mpfr--cfg-srcdir=$(crosstools-mpfr--pkgdir) +else + crosstools-mpfr--cfg-srcdir=$(crosstools-mpfr-portdir)/$(crosstools-mpfr--builddir) +endif +crosstools-mpfr--make-env := -C $(crosstools-mpfr--pkgdir) + +.PHONY : crosstools-mpfr- crosstools-mpfr--clean crosstools-mpfr--build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- crosstools-mpfr--host : setup includes crosstools-mpfr--quick +#MM- crosstools-mpfr--target : setup includes core-linklibs crosstools-mpfr--quick +#MM- crosstools-mpfr-: crosstools-mpfr--host + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + crosstools-mpfr--install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(crosstools-mpfr--pkgdir))" && \ + $(MAKE) PROGDIR="$(crosstools-mpfr--PROGDIR)/" $(crosstools-mpfr--install_opts) \ + $(crosstools-mpfr--make-env) install -j1 + + crosstools-mpfr--uninstall_command = \ + $(RM) $(crosstools-mpfr--installflag) && \ + $(MAKE) PROGDIR="$(crosstools-mpfr--PROGDIR)/" \ + $(crosstools-mpfr--install_opts) $(crosstools-mpfr--make-env) uninstall +else + crosstools-mpfr--install_command := true + crosstools-mpfr--uninstall_command := true +endif + +#MM- crosstools-mpfr--quick : crosstools-mpfr--configure crosstools-mpfr--build_and_install-quick crosstools-mpfr--make-package + +#MM +crosstools-mpfr--build_and_install-quick : $(crosstools-mpfr--installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(crosstools-mpfr--installflag) : $(crosstools-mpfr--configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-mpfr--volfunc, PROGDIR)" -q $(crosstools-mpfr--make-env); then \ + $(RM) $(crosstools-mpfr--installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(crosstools-mpfr--pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-mpfr--volfunc, PROGDIR)" $(crosstools-mpfr--make-env) && \ + $(crosstools-mpfr--install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(crosstools-mpfr--touchfileflag),) +$(crosstools-mpfr--touchfileflag): + $(Q)$(FOR) dir in $(crosstools-mpfr--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(crosstools-mpfr-portdir)/$(crosstools-mpfr--builddir) -exec $(TOUCH) -c -r $(crosstools-mpfr--cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-mpfr--uninstall : + $(crosstools-mpfr--uninstall_command) + +#MM +crosstools-mpfr--configure : $(crosstools-mpfr--configflag) + +$(crosstools-mpfr--configflag) : TMP_SRCDIR := $(shell echo $(crosstools-mpfr--cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-mpfr--configflag) : $(crosstools-mpfr--touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(crosstools-mpfr--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(crosstools-mpfr--pkgdir))" + $(Q)cd $(crosstools-mpfr--pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(crosstools-mpfr--cfg-env) $(TMP_SRCDIR)/configure $(crosstools-mpfr--config_opts) --bindir=$(CROSSTOOLSDIR) --libdir=$(CROSSTOOLSDIR)/lib --disable-shared $(HOST_TRIPLE_EXTRA_OPTS) && \ + $(TOUCH) $@ + +#MM +crosstools-mpfr--clean : crosstools-mpfr--uninstall + $(Q)$(RM) $(crosstools-mpfr--pkgdir) + +.PHONY : crosstools-mpfr--make-package crosstools-mpfr--create-patch +#MM crosstools-mpfr--make-package : crosstools-mpfr--quick + +#MM +crosstools-mpfr--make-package : $(crosstools-mpfr--package) + +#There seems to be a bug, either with my clock or with make, 'cause it may happen +#that $^ and $@ have exactly the same mtime, and in that case make tries +#to rebuild $@ again, which would fail because the directory where +#the package got installed would not exist anymore. +#We work this around by using an if statement to manually check the mtimes. +$(crosstools-mpfr--package-basename).tar.bz2 : + $(Q)$(IF) $(TEST) $(crosstools-mpfr-installflag) -nt $@ || ! $(TEST) -s $@; then \ + $(RM) $@ ; \ + $(ECHO) "Building \`$(crosstools-mpfr--package-basename).tar.bz2'" ; \ + $(MKDIR) -p "$(DISTDIR)/Packages" ; \ + $(MKDIR) -p "$(crosstools-mpfr-prefix)" ; \ + cd $(crosstools-mpfr--package-dir) ; \ + tar -cvf $(crosstools-mpfr--package-basename).tar * ; \ + bzip2 -9 -f $(crosstools-mpfr--package-basename).tar ; \ + fi + +## MPC ### + +#MM +tools-crosstools-mpc : + @$(IF) ! $(TEST) -d $(CROSSTOOLSDIR) \ + || ! $(TEST) -f $(mpc-installflag) ; then \ + $(RM) $(HOSTGENDIR)/$(CURDIR)/mpc/.files-touched \ + && $(MAKE) -f ./mmakefile crosstools-mpc--fetch \ + && $(MAKE) -f ./mmakefile crosstools-mpc--build_and_install-quick \ + && $(TOUCH) $(mpc-installflag) ; \ + fi + + +#MM- crosstools-mpc-quick : crosstools-mpc--quick +#MM- crosstools-mpc--quick : crosstools-mpc--fetch +#MM- crosstools-mpc-fetch : crosstools-mpc--fetch +#MM- crosstools-mpc-create-patch : crosstools-mpc--create-patch +#MM- crosstools-mpc-create-patch-quick : crosstools-mpc--create-patch + +crosstools-mpc-archbase := mpc-$(MPC_VERSION) + +ifeq (host,host) + crosstools-mpc-portdir := $(HOSTDIR)/Ports/host/mpc +else + crosstools-mpc-portdir := $(PORTSDIR)/mpc +endif + +ifeq ($(CROSSTOOLSDIR),) + crosstools-mpc-prefix := $(CONTRIB_DIR)/mpc +else + crosstools-mpc-prefix := $(CROSSTOOLSDIR) +endif + +ifneq (,) + crosstools-mpc--archbase := mpc--$(MPC_VERSION) +else + crosstools-mpc--archbase := mpc-$(MPC_VERSION) +endif + +ifneq (,) + crosstools-mpc--srcdir := +else + crosstools-mpc--srcdir := $(crosstools-mpc-archbase) +endif + +ifneq (,) + crosstools-mpc--builddir := $(crosstools-mpc--srcdir)/ +else + crosstools-mpc--builddir := $(crosstools-mpc--srcdir) +endif + +ifeq (no,yes) + crosstools-mpc--patches_specs := $(crosstools-mpc--archbase)-aros.diff:$(crosstools-mpc--srcdir):-f,-p1 +else + crosstools-mpc--patches_specs := :: +endif + + +.PHONY: crosstools-mpc--fetch + +ifneq ($(TOOLDIR),) + crosstools-mpc--fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-mpc--fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-mpc--fetch-location := $(PORTSSOURCEDIR) +else + crosstools-mpc--fetch-location := $(crosstools-mpc-portdir) +endif + +crosstools-mpc--fetch-fetchedflag := $(crosstools-mpc--fetch-location)/.$(crosstools-mpc--archbase)-fetched + +#MM +crosstools-mpc--fetch : + $(Q)$(ECHO) "Fetching $(crosstools-mpc--archbase) ..." + $(Q)TOOLDIR="$(crosstools-mpc--fetch-tooldir)" $(FETCH) -ao ". $(MPC_REPOSITORY)" -a $(crosstools-mpc--archbase) -s "tar.gz" -l $(crosstools-mpc--fetch-location) \ + -d $(crosstools-mpc-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-mpc--patches_specs)" + $(Q)$(IF) ! $(TEST) -f $(crosstools-mpc--fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-mpc--fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-mpc--fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(crosstools-mpc--archbase) ..." \ +# && $(FETCH) -ao ". $(MPC_REPOSITORY)" -a $(crosstools-mpc--archbase) -s "tar.gz" -l $(crosstools-mpc--fetch-location) \ +# -d $(crosstools-mpc-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-mpc--patches_specs)" \ +# && $(TOUCH) $(crosstools-mpc--fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-mpc--create-patch + +ifneq (,) + crosstools-mpc--create-patch-exclude := -X ./exclude.patterns +endif + +ifneq ($(crosstools-mpc--srcdir),) + crosstools-mpc--create-patch-srcdir := $(crosstools-mpc--srcdir) +else + crosstools-mpc--create-patch-srcdir := $(crosstools-mpc--archbase) +endif + +#MM- crosstools-mpc--create-patch : crosstools-mpc--create-patch-diff +#MM- crosstools-mpc--create-patch-quick : crosstools-mpc--create-patch-diff + +#MM +crosstools-mpc--create-patch-diff: + $(Q)$(FETCH) -a $(crosstools-mpc--archbase) -s "tar.gz" -l $(PORTSSOURCEDIR) -d $(crosstools-mpc-portdir)/tmp ; \ + $(MV) $(crosstools-mpc-portdir)/$(crosstools-mpc--create-patch-srcdir) $(crosstools-mpc-portdir)/tmp/$(crosstools-mpc--create-patch-srcdir).aros ; \ + cd $(crosstools-mpc-portdir)/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(crosstools-mpc--archbase)-aros-new.diff'" ; \ + diff -ruN $(crosstools-mpc--create-patch-exclude) \ + $(crosstools-mpc--create-patch-srcdir) \ + $(crosstools-mpc--create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(crosstools-mpc--archbase)-aros-new.diff ; \ + $(MV) $(crosstools-mpc-portdir)/tmp/$(crosstools-mpc--create-patch-srcdir).aros $(crosstools-mpc-portdir)/$(crosstools-mpc--create-patch-srcdir) ; \ + $(RM) $(crosstools-mpc-portdir)/tmp + +#MM crosstools-mpc : crosstools-mpc- +#MM +crosstools-mpc: + $(NOP) + +crosstools-mpc--package-dir := $(crosstools-mpc-portdir)/$(crosstools-mpc--archbase) + +crosstools-mpc--package-basename := \ + $(DISTDIR)/Packages/$(crosstools-mpc--archbase)-aros.$(AROS_TARGET_CPU) + +ifneq (no,no) + crosstools-mpc--package := $(crosstools-mpc--package-basename).tar.bz2 +endif + + +ifneq ($(crosstools-mpc-prefix),) + crosstools-mpc--prefix := $(crosstools-mpc-prefix) +else + crosstools-mpc--prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-mpc--aros_prefix := +else + crosstools-mpc--aros_prefix := $(crosstools-mpc--prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + crosstools-mpc--nix := $(BD_NIXFLAG) + crosstools-mpc--volpfx := / + crosstools-mpc--volsfx := / + + ifeq (,) + crosstools-mpc--nix_dir_layout := yes + endif +else + crosstools-mpc--volsfx := : + + ifeq (,) + crosstools-mpc--nix_dir_layout := no + endif +endif + +crosstools-mpc--volfunc = $(crosstools-mpc--volpfx)$(notdir $1)$(crosstools-mpc--volsfx) + +crosstools-mpc--install_opts := prefix=$(crosstools-mpc--prefix) \ + exec_prefix=$(crosstools-mpc--prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring host,host target kernel),) + $(error unknown compiler host) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (host,host) + host := yes + ifeq ($(CURDIR),) + crosstools-mpc--pkgbasedir := $(HOSTGENDIR) + else + crosstools-mpc--pkgbasedir := $(HOSTGENDIR)/$(CURDIR) + endif +else + host := no + ifeq ($(CURDIR),) + crosstools-mpc--pkgbasedir := $(GENDIR) + else + crosstools-mpc--pkgbasedir := $(GENDIR)/$(CURDIR) + endif +endif +ifneq (,) + ifeq ($(CURDIR),) + crosstools-mpc--pkgbasedir := + else + crosstools-mpc--pkgbasedir := /$(CURDIR) + endif +endif + +ifeq (mpc,) + crosstools-mpc--pkgdir := $(crosstools-mpc--pkgbasedir) +else + crosstools-mpc--pkgdir := $(crosstools-mpc--pkgbasedir)/mpc +endif + +crosstools-mpc--configflag := $(crosstools-mpc--pkgdir)/.configured +crosstools-mpc--installflag := $(crosstools-mpc--pkgdir)/.installed + +ifeq ($(filter yes, $(crosstools-mpc--nix_dir_layout) $(host)),yes) + crosstools-mpc--PROGDIR := $(crosstools-mpc--aros_prefix)/bin + crosstools-mpc--config_opts := --prefix=$(crosstools-mpc--aros_prefix) +else + ifeq (no,yes) + crosstools-mpc--config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + crosstools-mpc--config_opts := --prefix=$(crosstools-mpc--aros_prefix) + endif + + crosstools-mpc--PROGDIR := $(crosstools-mpc--aros_prefix) + + crosstools-mpc--install_opts := bindir=$(crosstools-mpc--prefix) \ + sbindir=$(crosstools-mpc--prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + crosstools-mpc--s_flag = -s +endif + +ifeq (yes,yes) + crosstools-mpc--HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + crosstools-mpc--KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(crosstools-mpc--s_flag) +ifeq (no,yes) + crosstools-mpc--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-mpc--s_flag) +else + crosstools-mpc--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-mpc--nix) $(crosstools-mpc--s_flag) +endif +endif +ifeq (yes,yes) + crosstools-mpc--HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + crosstools-mpc--KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(crosstools-mpc--s_flag) +ifeq (no,yes) + crosstools-mpc--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-mpc--s_flag) +else + crosstools-mpc--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-mpc--nix) $(crosstools-mpc--s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (host,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + crosstools-mpc--cfg-env := \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(crosstools-mpc--HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(crosstools-mpc--HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (no,yes) + crosstools-mpc--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-mpc--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-mpc--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-mpc--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (host,target) + crosstools-mpc--cfg-env := \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + crosstools-mpc--cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + crosstools-mpc--cfg-env += CFLAGS="$(crosstools-mpc--TARGET_CFLAGS) $(OPTIMIZATION_CFLAGS)" \ + CXXFLAGS="$(crosstools-mpc--TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (no,yes) + crosstools-mpc--cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-mpc--cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-mpc--nix) $(crosstools-mpc--s_flag))" +ifeq (no,yes) + crosstools-mpc--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-mpc--cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(crosstools-mpc--HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(crosstools-mpc--HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(crosstools-mpc--s_flag))" +ifeq (no,yes) + crosstools-mpc--cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-mpc--cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-mpc--nix) $(crosstools-mpc--s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-mpc--nix) $(crosstools-mpc--s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-mpc--nix) $(crosstools-mpc--s_flag))" +ifeq (no,yes) + crosstools-mpc--cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-mpc--cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(crosstools-mpc--TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(crosstools-mpc--TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-mpc--nix) $(crosstools-mpc--s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (no,yes) + crosstools-mpc--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-mpc--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-mpc--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-mpc--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + crosstools-mpc--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-mpc--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-mpc--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-mpc--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-mpc--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-mpc--config_opts += --without-x +endif +endif +endif +ifeq (host,kernel) + crosstools-mpc--cfg-env := \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (no,yes) + crosstools-mpc--cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + crosstools-mpc--cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(crosstools-mpc--KERNEL_CFLAGS) $(OPTIMIZATION_CFLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(crosstools-mpc--KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (no,yes) + crosstools-mpc--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-mpc--cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(crosstools-mpc--HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(crosstools-mpc--HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + crosstools-mpc--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-mpc--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-mpc--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-mpc--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-mpc--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-mpc--config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(crosstools-mpc--cfg-env) +endif + +crosstools-mpc--touchfileflag ?= $(crosstools-mpc--pkgdir)/.files-touched + +ifneq ("$(wildcard $(crosstools-mpc-portdir)/$(crosstools-mpc--builddir)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(crosstools-mpc--pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(crosstools-mpc--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(crosstools-mpc--pkgdir)))'" + $(Q)$(CP) -Rf "$(crosstools-mpc-portdir)/$(crosstools-mpc--builddir)/." $(crosstools-mpc--pkgdir)/ && $(TOUCH) $@ + +$(crosstools-mpc--touchfileflag) : $(crosstools-mpc--pkgdir)/.local-copy + + crosstools-mpc--cfg-srcdir=$(crosstools-mpc--pkgdir) +else + crosstools-mpc--cfg-srcdir=$(crosstools-mpc-portdir)/$(crosstools-mpc--builddir) +endif +crosstools-mpc--make-env := -C $(crosstools-mpc--pkgdir) + +.PHONY : crosstools-mpc- crosstools-mpc--clean crosstools-mpc--build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- crosstools-mpc--host : setup includes crosstools-mpc--quick +#MM- crosstools-mpc--target : setup includes core-linklibs crosstools-mpc--quick +#MM- crosstools-mpc-: crosstools-mpc--host + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + crosstools-mpc--install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(crosstools-mpc--pkgdir))" && \ + $(MAKE) PROGDIR="$(crosstools-mpc--PROGDIR)/" $(crosstools-mpc--install_opts) \ + $(crosstools-mpc--make-env) install -j1 + + crosstools-mpc--uninstall_command = \ + $(RM) $(crosstools-mpc--installflag) && \ + $(MAKE) PROGDIR="$(crosstools-mpc--PROGDIR)/" \ + $(crosstools-mpc--install_opts) $(crosstools-mpc--make-env) uninstall +else + crosstools-mpc--install_command := true + crosstools-mpc--uninstall_command := true +endif + +#MM- crosstools-mpc--quick : crosstools-mpc--configure crosstools-mpc--build_and_install-quick crosstools-mpc--make-package + +#MM +crosstools-mpc--build_and_install-quick : $(crosstools-mpc--installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(crosstools-mpc--installflag) : $(crosstools-mpc--configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-mpc--volfunc, PROGDIR)" -q $(crosstools-mpc--make-env); then \ + $(RM) $(crosstools-mpc--installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(crosstools-mpc--pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-mpc--volfunc, PROGDIR)" $(crosstools-mpc--make-env) && \ + $(crosstools-mpc--install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(crosstools-mpc--touchfileflag),) +$(crosstools-mpc--touchfileflag): + $(Q)$(FOR) dir in $(crosstools-mpc--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(crosstools-mpc-portdir)/$(crosstools-mpc--builddir) -exec $(TOUCH) -c -r $(crosstools-mpc--cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-mpc--uninstall : + $(crosstools-mpc--uninstall_command) + +#MM +crosstools-mpc--configure : $(crosstools-mpc--configflag) + +$(crosstools-mpc--configflag) : TMP_SRCDIR := $(shell echo $(crosstools-mpc--cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-mpc--configflag) : $(crosstools-mpc--touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(crosstools-mpc--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(crosstools-mpc--pkgdir))" + $(Q)cd $(crosstools-mpc--pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(crosstools-mpc--cfg-env) $(TMP_SRCDIR)/configure $(crosstools-mpc--config_opts) --bindir=$(CROSSTOOLSDIR) --libdir=$(CROSSTOOLSDIR)/lib --disable-shared $(HOST_TRIPLE_EXTRA_OPTS) && \ + $(TOUCH) $@ + +#MM +crosstools-mpc--clean : crosstools-mpc--uninstall + $(Q)$(RM) $(crosstools-mpc--pkgdir) + +.PHONY : crosstools-mpc--make-package crosstools-mpc--create-patch +#MM crosstools-mpc--make-package : crosstools-mpc--quick + +#MM +crosstools-mpc--make-package : $(crosstools-mpc--package) + +#There seems to be a bug, either with my clock or with make, 'cause it may happen +#that $^ and $@ have exactly the same mtime, and in that case make tries +#to rebuild $@ again, which would fail because the directory where +#the package got installed would not exist anymore. +#We work this around by using an if statement to manually check the mtimes. +$(crosstools-mpc--package-basename).tar.bz2 : + $(Q)$(IF) $(TEST) $(crosstools-mpc-installflag) -nt $@ || ! $(TEST) -s $@; then \ + $(RM) $@ ; \ + $(ECHO) "Building \`$(crosstools-mpc--package-basename).tar.bz2'" ; \ + $(MKDIR) -p "$(DISTDIR)/Packages" ; \ + $(MKDIR) -p "$(crosstools-mpc-prefix)" ; \ + cd $(crosstools-mpc--package-dir) ; \ + tar -cvf $(crosstools-mpc--package-basename).tar * ; \ + bzip2 -9 -f $(crosstools-mpc--package-basename).tar ; \ + fi + +## Binutils ### + +#MM +tools-crosstools-binutils : + @$(IF) ! $(TEST) -d $(CROSSTOOLSDIR) \ + || ! $(TEST) -f $(binutils-installflag) ; then \ + $(RM) $(HOSTGENDIR)/$(CURDIR)/binutils/.files-touched \ + && $(MAKE) -f ./mmakefile crosstools-binutils--fetch \ + && $(MAKE) -f ./mmakefile crosstools-binutils--build_and_install-quick \ + && $(TOUCH) $(binutils-installflag) ; \ + fi + + +#MM- crosstools-binutils-quick : crosstools-binutils--quick +#MM- crosstools-binutils--quick : crosstools-binutils--fetch +#MM- crosstools-binutils-fetch : crosstools-binutils--fetch +#MM- crosstools-binutils-create-patch : crosstools-binutils--create-patch +#MM- crosstools-binutils-create-patch-quick : crosstools-binutils--create-patch + +crosstools-binutils-archbase := binutils-$(BINUTILS_VERSION) + +ifeq (host,host) + crosstools-binutils-portdir := $(HOSTDIR)/Ports/host/binutils +else + crosstools-binutils-portdir := $(PORTSDIR)/binutils +endif + +ifeq ($(CROSSTOOLSDIR),) + crosstools-binutils-prefix := $(CONTRIB_DIR)/binutils +else + crosstools-binutils-prefix := $(CROSSTOOLSDIR) +endif + +ifneq (,) + crosstools-binutils--archbase := binutils--$(BINUTILS_VERSION) +else + crosstools-binutils--archbase := binutils-$(BINUTILS_VERSION) +endif + +ifneq (,) + crosstools-binutils--srcdir := +else + crosstools-binutils--srcdir := $(crosstools-binutils-archbase) +endif + +ifneq (,) + crosstools-binutils--builddir := $(crosstools-binutils--srcdir)/ +else + crosstools-binutils--builddir := $(crosstools-binutils--srcdir) +endif + +ifeq (yes,yes) + crosstools-binutils--patches_specs := $(crosstools-binutils--archbase)-aros.diff:$(crosstools-binutils--srcdir):-f,-p1 +else + crosstools-binutils--patches_specs := :: +endif + + +.PHONY: crosstools-binutils--fetch + +ifneq ($(TOOLDIR),) + crosstools-binutils--fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-binutils--fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-binutils--fetch-location := $(PORTSSOURCEDIR) +else + crosstools-binutils--fetch-location := $(crosstools-binutils-portdir) +endif + +crosstools-binutils--fetch-fetchedflag := $(crosstools-binutils--fetch-location)/.$(crosstools-binutils--archbase)-fetched + +#MM +crosstools-binutils--fetch : + $(Q)$(ECHO) "Fetching $(crosstools-binutils--archbase) ..." + $(Q)TOOLDIR="$(crosstools-binutils--fetch-tooldir)" $(FETCH) -ao ". $(GNU_REPOSITORY)/binutils" -a $(crosstools-binutils--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-binutils--fetch-location) \ + -d $(crosstools-binutils-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-binutils--patches_specs)" + $(Q)$(IF) ! $(TEST) -f $(crosstools-binutils--fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-binutils--fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-binutils--fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(crosstools-binutils--archbase) ..." \ +# && $(FETCH) -ao ". $(GNU_REPOSITORY)/binutils" -a $(crosstools-binutils--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-binutils--fetch-location) \ +# -d $(crosstools-binutils-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-binutils--patches_specs)" \ +# && $(TOUCH) $(crosstools-binutils--fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-binutils--create-patch + +ifneq (,) + crosstools-binutils--create-patch-exclude := -X ./exclude.patterns +endif + +ifneq ($(crosstools-binutils--srcdir),) + crosstools-binutils--create-patch-srcdir := $(crosstools-binutils--srcdir) +else + crosstools-binutils--create-patch-srcdir := $(crosstools-binutils--archbase) +endif + +#MM- crosstools-binutils--create-patch : crosstools-binutils--create-patch-diff +#MM- crosstools-binutils--create-patch-quick : crosstools-binutils--create-patch-diff + +#MM +crosstools-binutils--create-patch-diff: + $(Q)$(FETCH) -a $(crosstools-binutils--archbase) -s "tar.bz2 tar.gz" -l $(PORTSSOURCEDIR) -d $(crosstools-binutils-portdir)/tmp ; \ + $(MV) $(crosstools-binutils-portdir)/$(crosstools-binutils--create-patch-srcdir) $(crosstools-binutils-portdir)/tmp/$(crosstools-binutils--create-patch-srcdir).aros ; \ + cd $(crosstools-binutils-portdir)/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(crosstools-binutils--archbase)-aros-new.diff'" ; \ + diff -ruN $(crosstools-binutils--create-patch-exclude) \ + $(crosstools-binutils--create-patch-srcdir) \ + $(crosstools-binutils--create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(crosstools-binutils--archbase)-aros-new.diff ; \ + $(MV) $(crosstools-binutils-portdir)/tmp/$(crosstools-binutils--create-patch-srcdir).aros $(crosstools-binutils-portdir)/$(crosstools-binutils--create-patch-srcdir) ; \ + $(RM) $(crosstools-binutils-portdir)/tmp + +#MM crosstools-binutils : crosstools-binutils- +#MM +crosstools-binutils: + $(NOP) + +crosstools-binutils--package-dir := $(crosstools-binutils-portdir)/$(crosstools-binutils--archbase) + +crosstools-binutils--package-basename := \ + $(DISTDIR)/Packages/$(crosstools-binutils--archbase)-aros.$(AROS_TARGET_CPU) + +ifneq (no,no) + crosstools-binutils--package := $(crosstools-binutils--package-basename).tar.bz2 +endif + + +ifneq ($(crosstools-binutils-prefix),) + crosstools-binutils--prefix := $(crosstools-binutils-prefix) +else + crosstools-binutils--prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-binutils--aros_prefix := +else + crosstools-binutils--aros_prefix := $(crosstools-binutils--prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + crosstools-binutils--nix := $(BD_NIXFLAG) + crosstools-binutils--volpfx := / + crosstools-binutils--volsfx := / + + ifeq (,) + crosstools-binutils--nix_dir_layout := yes + endif +else + crosstools-binutils--volsfx := : + + ifeq (,) + crosstools-binutils--nix_dir_layout := no + endif +endif + +crosstools-binutils--volfunc = $(crosstools-binutils--volpfx)$(notdir $1)$(crosstools-binutils--volsfx) + +crosstools-binutils--install_opts := prefix=$(crosstools-binutils--prefix) \ + exec_prefix=$(crosstools-binutils--prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring host,host target kernel),) + $(error unknown compiler host) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (host,host) + host := yes + ifeq ($(CURDIR),) + crosstools-binutils--pkgbasedir := $(HOSTGENDIR) + else + crosstools-binutils--pkgbasedir := $(HOSTGENDIR)/$(CURDIR) + endif +else + host := no + ifeq ($(CURDIR),) + crosstools-binutils--pkgbasedir := $(GENDIR) + else + crosstools-binutils--pkgbasedir := $(GENDIR)/$(CURDIR) + endif +endif +ifneq (,) + ifeq ($(CURDIR),) + crosstools-binutils--pkgbasedir := + else + crosstools-binutils--pkgbasedir := /$(CURDIR) + endif +endif + +ifeq (binutils,) + crosstools-binutils--pkgdir := $(crosstools-binutils--pkgbasedir) +else + crosstools-binutils--pkgdir := $(crosstools-binutils--pkgbasedir)/binutils +endif + +crosstools-binutils--configflag := $(crosstools-binutils--pkgdir)/.configured +crosstools-binutils--installflag := $(crosstools-binutils--pkgdir)/.installed + +ifeq ($(filter yes, $(crosstools-binutils--nix_dir_layout) $(host)),yes) + crosstools-binutils--PROGDIR := $(crosstools-binutils--aros_prefix)/bin + crosstools-binutils--config_opts := --prefix=$(crosstools-binutils--aros_prefix) +else + ifeq (no,yes) + crosstools-binutils--config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + crosstools-binutils--config_opts := --prefix=$(crosstools-binutils--aros_prefix) + endif + + crosstools-binutils--PROGDIR := $(crosstools-binutils--aros_prefix) + + crosstools-binutils--install_opts := bindir=$(crosstools-binutils--prefix) \ + sbindir=$(crosstools-binutils--prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + crosstools-binutils--s_flag = -s +endif + +ifeq (yes,yes) + crosstools-binutils--HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + crosstools-binutils--KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(crosstools-binutils--s_flag) +ifeq (no,yes) + crosstools-binutils--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-binutils--s_flag) +else + crosstools-binutils--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-binutils--nix) $(crosstools-binutils--s_flag) +endif +endif +ifeq (yes,yes) + crosstools-binutils--HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + crosstools-binutils--KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(crosstools-binutils--s_flag) +ifeq (no,yes) + crosstools-binutils--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-binutils--s_flag) +else + crosstools-binutils--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-binutils--nix) $(crosstools-binutils--s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (host,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + crosstools-binutils--cfg-env := \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(crosstools-binutils--HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(crosstools-binutils--HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (no,yes) + crosstools-binutils--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-binutils--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-binutils--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-binutils--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (host,target) + crosstools-binutils--cfg-env := \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + crosstools-binutils--cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + crosstools-binutils--cfg-env += CFLAGS="$(crosstools-binutils--TARGET_CFLAGS) $(OPTIMIZATION_CFLAGS)" \ + CXXFLAGS="$(crosstools-binutils--TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (no,yes) + crosstools-binutils--cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-binutils--cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-binutils--nix) $(crosstools-binutils--s_flag))" +ifeq (no,yes) + crosstools-binutils--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-binutils--cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(crosstools-binutils--HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(crosstools-binutils--HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(crosstools-binutils--s_flag))" +ifeq (no,yes) + crosstools-binutils--cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-binutils--cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-binutils--nix) $(crosstools-binutils--s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-binutils--nix) $(crosstools-binutils--s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-binutils--nix) $(crosstools-binutils--s_flag))" +ifeq (no,yes) + crosstools-binutils--cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-binutils--cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(crosstools-binutils--TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(crosstools-binutils--TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-binutils--nix) $(crosstools-binutils--s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (no,yes) + crosstools-binutils--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-binutils--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-binutils--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-binutils--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + crosstools-binutils--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-binutils--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-binutils--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-binutils--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-binutils--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-binutils--config_opts += --without-x +endif +endif +endif +ifeq (host,kernel) + crosstools-binutils--cfg-env := \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (no,yes) + crosstools-binutils--cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + crosstools-binutils--cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(crosstools-binutils--KERNEL_CFLAGS) $(OPTIMIZATION_CFLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(crosstools-binutils--KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (no,yes) + crosstools-binutils--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-binutils--cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(crosstools-binutils--HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(crosstools-binutils--HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + crosstools-binutils--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-binutils--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-binutils--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-binutils--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-binutils--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-binutils--config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(crosstools-binutils--cfg-env) +endif + +crosstools-binutils--touchfileflag ?= $(crosstools-binutils--pkgdir)/.files-touched + +ifneq ("$(wildcard $(crosstools-binutils-portdir)/$(crosstools-binutils--builddir)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(crosstools-binutils--pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(crosstools-binutils--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(crosstools-binutils--pkgdir)))'" + $(Q)$(CP) -Rf "$(crosstools-binutils-portdir)/$(crosstools-binutils--builddir)/." $(crosstools-binutils--pkgdir)/ && $(TOUCH) $@ + +$(crosstools-binutils--touchfileflag) : $(crosstools-binutils--pkgdir)/.local-copy + + crosstools-binutils--cfg-srcdir=$(crosstools-binutils--pkgdir) +else + crosstools-binutils--cfg-srcdir=$(crosstools-binutils-portdir)/$(crosstools-binutils--builddir) +endif +crosstools-binutils--make-env := -C $(crosstools-binutils--pkgdir) + +.PHONY : crosstools-binutils- crosstools-binutils--clean crosstools-binutils--build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- crosstools-binutils--host : setup includes crosstools-binutils--quick +#MM- crosstools-binutils--target : setup includes core-linklibs crosstools-binutils--quick +#MM- crosstools-binutils-: crosstools-binutils--host + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + crosstools-binutils--install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(crosstools-binutils--pkgdir))" && \ + $(MAKE) PROGDIR="$(crosstools-binutils--PROGDIR)/" $(crosstools-binutils--install_opts) \ + $(crosstools-binutils--make-env) install -j1 + + crosstools-binutils--uninstall_command = \ + $(RM) $(crosstools-binutils--installflag) && \ + $(MAKE) PROGDIR="$(crosstools-binutils--PROGDIR)/" \ + $(crosstools-binutils--install_opts) $(crosstools-binutils--make-env) uninstall +else + crosstools-binutils--install_command := true + crosstools-binutils--uninstall_command := true +endif + +#MM- crosstools-binutils--quick : crosstools-binutils--configure crosstools-binutils--build_and_install-quick crosstools-binutils--make-package + +#MM +crosstools-binutils--build_and_install-quick : $(crosstools-binutils--installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(crosstools-binutils--installflag) : $(crosstools-binutils--configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-binutils--volfunc, PROGDIR)" -q $(crosstools-binutils--make-env); then \ + $(RM) $(crosstools-binutils--installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(crosstools-binutils--pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-binutils--volfunc, PROGDIR)" $(crosstools-binutils--make-env) && \ + $(crosstools-binutils--install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(crosstools-binutils--touchfileflag),) +$(crosstools-binutils--touchfileflag): + $(Q)$(FOR) dir in $(crosstools-binutils--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(crosstools-binutils-portdir)/$(crosstools-binutils--builddir) -exec $(TOUCH) -c -r $(crosstools-binutils--cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-binutils--uninstall : + $(crosstools-binutils--uninstall_command) + +#MM +crosstools-binutils--configure : $(crosstools-binutils--configflag) + +$(crosstools-binutils--configflag) : TMP_SRCDIR := $(shell echo $(crosstools-binutils--cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-binutils--configflag) : $(crosstools-binutils--touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(crosstools-binutils--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(crosstools-binutils--pkgdir))" + $(Q)cd $(crosstools-binutils--pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(crosstools-binutils--cfg-env) $(TMP_SRCDIR)/configure $(crosstools-binutils--config_opts) $(BINUTILS_EXTRA_OPTS) && \ + $(TOUCH) $@ + +#MM +crosstools-binutils--clean : crosstools-binutils--uninstall + $(Q)$(RM) $(crosstools-binutils--pkgdir) + +.PHONY : crosstools-binutils--make-package crosstools-binutils--create-patch +#MM crosstools-binutils--make-package : crosstools-binutils--quick + +#MM +crosstools-binutils--make-package : $(crosstools-binutils--package) + +#There seems to be a bug, either with my clock or with make, 'cause it may happen +#that $^ and $@ have exactly the same mtime, and in that case make tries +#to rebuild $@ again, which would fail because the directory where +#the package got installed would not exist anymore. +#We work this around by using an if statement to manually check the mtimes. +$(crosstools-binutils--package-basename).tar.bz2 : + $(Q)$(IF) $(TEST) $(crosstools-binutils-installflag) -nt $@ || ! $(TEST) -s $@; then \ + $(RM) $@ ; \ + $(ECHO) "Building \`$(crosstools-binutils--package-basename).tar.bz2'" ; \ + $(MKDIR) -p "$(DISTDIR)/Packages" ; \ + $(MKDIR) -p "$(crosstools-binutils-prefix)" ; \ + cd $(crosstools-binutils--package-dir) ; \ + tar -cvf $(crosstools-binutils--package-basename).tar * ; \ + bzip2 -9 -f $(crosstools-binutils--package-basename).tar ; \ + fi + +## GCC ### + +HOST_CFLAGS := $(HOST_CFLAGS) $(HOST_GNU89_INLINE) + +#MM +tools-crosstools-gcc : + @$(IF) ! $(TEST) -f $(gcc-installflag) ; then \ + $(MAKE) -C $(HOSTGENDIR)/$(CURDIR)/gcc all-gcc \ + && $(MAKE) -j1 -C $(HOSTGENDIR)/$(CURDIR)/gcc install-gcc \ + && $(TOUCH) $(gcc-installflag) ; \ + fi + @$(IF) $(TEST) -f $(gcc-installflag); then \ + $(SED) -i -e "s|@aros_target_cc_path@|$(GCC_PATH)|g" $(TOOLDIR)/$(AROS_TARGET_CPU)-$(AROS_TARGET_ARCH)$(AROS_TARGET_SUFFIX)-aros-ld ; \ + fi + + +#MM tools-crosstools-gcc : includes-copy +#MM crosstools-gcc : includes-copy + +#MM tools-crosstools-gcc : crosstools-gcc--fetch crosstools-gcc--configure + +#MM tools-crosstools-gcc-libatomic : crosstools-gcc--fetch gnu-gcc-autolibs +#MM- linklibs-gnu-libatomic : tools-crosstools-gcc-libatomic + +#MM- gnu-gcc-autolibs : \ +#MM linklibs-startup \ +#MM linklibs-mui \ +#MM linklibs-arossupport \ +#MM linklibs-amiga \ +#MM linklibs-posixc \ +#MM linklibs-stdcio \ +#MM linklibs-stdc \ +#MM linklibs-codesets \ +#MM linklibs-keymap \ +#MM linklibs-expansion \ +#MM linklibs-commodities \ +#MM linklibs-diskfont \ +#MM linklibs-asl \ +#MM linklibs-muimaster \ +#MM linklibs-datatypes \ +#MM linklibs-cybergraphics \ +#MM linklibs-workbench \ +#MM linklibs-icon \ +#MM linklibs-intuition \ +#MM linklibs-gadtools \ +#MM linklibs-layers \ +#MM linklibs-aros \ +#MM linklibs-partition \ +#MM linklibs-iffparse \ +#MM linklibs-graphics \ +#MM linklibs-locale \ +#MM linklibs-dos \ +#MM linklibs-utility \ +#MM linklibs-oop \ +#MM linklibs-exec \ +#MM linklibs-autoinit \ +#MM linklibs-libinit \ +#MM linklibs-pthread + + +#MM- crosstools-gcc-quick : crosstools-gcc--quick +#MM- crosstools-gcc--quick : crosstools-gcc--fetch +#MM- crosstools-gcc-fetch : crosstools-gcc--fetch +#MM- crosstools-gcc-create-patch : crosstools-gcc--create-patch +#MM- crosstools-gcc-create-patch-quick : crosstools-gcc--create-patch + +crosstools-gcc-archbase := gcc-$(GCC_VERSION) + +ifeq (host,host) + crosstools-gcc-portdir := $(HOSTDIR)/Ports/host/gcc +else + crosstools-gcc-portdir := $(PORTSDIR)/gcc +endif + +ifeq ($(CROSSTOOLSDIR),) + crosstools-gcc-prefix := $(CONTRIB_DIR)/gcc +else + crosstools-gcc-prefix := $(CROSSTOOLSDIR) +endif + +ifneq (,) + crosstools-gcc--archbase := gcc--$(GCC_VERSION) +else + crosstools-gcc--archbase := gcc-$(GCC_VERSION) +endif + +ifneq (,) + crosstools-gcc--srcdir := +else + crosstools-gcc--srcdir := $(crosstools-gcc-archbase) +endif + +ifneq (,) + crosstools-gcc--builddir := $(crosstools-gcc--srcdir)/ +else + crosstools-gcc--builddir := $(crosstools-gcc--srcdir) +endif + +ifeq (yes,yes) + crosstools-gcc--patches_specs := $(crosstools-gcc--archbase)-aros.diff:$(crosstools-gcc--srcdir):-f,-p1 +else + crosstools-gcc--patches_specs := :: +endif + + +.PHONY: crosstools-gcc--fetch + +ifneq ($(TOOLDIR),) + crosstools-gcc--fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-gcc--fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-gcc--fetch-location := $(PORTSSOURCEDIR) +else + crosstools-gcc--fetch-location := $(crosstools-gcc-portdir) +endif + +crosstools-gcc--fetch-fetchedflag := $(crosstools-gcc--fetch-location)/.$(crosstools-gcc--archbase)-fetched + +#MM +crosstools-gcc--fetch : + $(Q)$(ECHO) "Fetching $(crosstools-gcc--archbase) ..." + $(Q)TOOLDIR="$(crosstools-gcc--fetch-tooldir)" $(FETCH) -ao ". $(GCC_REPOSITORY)" -a $(crosstools-gcc--archbase) -s "tar.bz2 tar.gz tar.xz" -l $(crosstools-gcc--fetch-location) \ + -d $(crosstools-gcc-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-gcc--patches_specs)" + $(Q)$(IF) ! $(TEST) -f $(crosstools-gcc--fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-gcc--fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-gcc--fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(crosstools-gcc--archbase) ..." \ +# && $(FETCH) -ao ". $(GCC_REPOSITORY)" -a $(crosstools-gcc--archbase) -s "tar.bz2 tar.gz tar.xz" -l $(crosstools-gcc--fetch-location) \ +# -d $(crosstools-gcc-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-gcc--patches_specs)" \ +# && $(TOUCH) $(crosstools-gcc--fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-gcc--create-patch + +ifneq (,) + crosstools-gcc--create-patch-exclude := -X ./exclude.patterns +endif + +ifneq ($(crosstools-gcc--srcdir),) + crosstools-gcc--create-patch-srcdir := $(crosstools-gcc--srcdir) +else + crosstools-gcc--create-patch-srcdir := $(crosstools-gcc--archbase) +endif + +#MM- crosstools-gcc--create-patch : crosstools-gcc--create-patch-diff +#MM- crosstools-gcc--create-patch-quick : crosstools-gcc--create-patch-diff + +#MM +crosstools-gcc--create-patch-diff: + $(Q)$(FETCH) -a $(crosstools-gcc--archbase) -s "tar.bz2 tar.gz tar.xz" -l $(PORTSSOURCEDIR) -d $(crosstools-gcc-portdir)/tmp ; \ + $(MV) $(crosstools-gcc-portdir)/$(crosstools-gcc--create-patch-srcdir) $(crosstools-gcc-portdir)/tmp/$(crosstools-gcc--create-patch-srcdir).aros ; \ + cd $(crosstools-gcc-portdir)/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(crosstools-gcc--archbase)-aros-new.diff'" ; \ + diff -ruN $(crosstools-gcc--create-patch-exclude) \ + $(crosstools-gcc--create-patch-srcdir) \ + $(crosstools-gcc--create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(crosstools-gcc--archbase)-aros-new.diff ; \ + $(MV) $(crosstools-gcc-portdir)/tmp/$(crosstools-gcc--create-patch-srcdir).aros $(crosstools-gcc-portdir)/$(crosstools-gcc--create-patch-srcdir) ; \ + $(RM) $(crosstools-gcc-portdir)/tmp + +#MM crosstools-gcc : crosstools-gcc- +#MM +crosstools-gcc: + $(NOP) + +crosstools-gcc--package-dir := $(crosstools-gcc-portdir)/$(crosstools-gcc--archbase) + +crosstools-gcc--package-basename := \ + $(DISTDIR)/Packages/$(crosstools-gcc--archbase)-aros.$(AROS_TARGET_CPU) + +ifneq (no,no) + crosstools-gcc--package := $(crosstools-gcc--package-basename).tar.bz2 +endif + + +ifneq ($(crosstools-gcc-prefix),) + crosstools-gcc--prefix := $(crosstools-gcc-prefix) +else + crosstools-gcc--prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-gcc--aros_prefix := +else + crosstools-gcc--aros_prefix := $(crosstools-gcc--prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + crosstools-gcc--nix := $(BD_NIXFLAG) + crosstools-gcc--volpfx := / + crosstools-gcc--volsfx := / + + ifeq (,) + crosstools-gcc--nix_dir_layout := yes + endif +else + crosstools-gcc--volsfx := : + + ifeq (,) + crosstools-gcc--nix_dir_layout := no + endif +endif + +crosstools-gcc--volfunc = $(crosstools-gcc--volpfx)$(notdir $1)$(crosstools-gcc--volsfx) + +crosstools-gcc--install_opts := prefix=$(crosstools-gcc--prefix) \ + exec_prefix=$(crosstools-gcc--prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring host,host target kernel),) + $(error unknown compiler host) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (host,host) + host := yes + ifeq ($(CURDIR),) + crosstools-gcc--pkgbasedir := $(HOSTGENDIR) + else + crosstools-gcc--pkgbasedir := $(HOSTGENDIR)/$(CURDIR) + endif +else + host := no + ifeq ($(CURDIR),) + crosstools-gcc--pkgbasedir := $(GENDIR) + else + crosstools-gcc--pkgbasedir := $(GENDIR)/$(CURDIR) + endif +endif +ifneq (,) + ifeq ($(CURDIR),) + crosstools-gcc--pkgbasedir := + else + crosstools-gcc--pkgbasedir := /$(CURDIR) + endif +endif + +ifeq (gcc,) + crosstools-gcc--pkgdir := $(crosstools-gcc--pkgbasedir) +else + crosstools-gcc--pkgdir := $(crosstools-gcc--pkgbasedir)/gcc +endif + +crosstools-gcc--configflag := $(crosstools-gcc--pkgdir)/.configured +crosstools-gcc--installflag := $(crosstools-gcc--pkgdir)/.installed + +ifeq ($(filter yes, $(crosstools-gcc--nix_dir_layout) $(host)),yes) + crosstools-gcc--PROGDIR := $(crosstools-gcc--aros_prefix)/bin + crosstools-gcc--config_opts := --prefix=$(crosstools-gcc--aros_prefix) +else + ifeq (no,yes) + crosstools-gcc--config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + crosstools-gcc--config_opts := --prefix=$(crosstools-gcc--aros_prefix) + endif + + crosstools-gcc--PROGDIR := $(crosstools-gcc--aros_prefix) + + crosstools-gcc--install_opts := bindir=$(crosstools-gcc--prefix) \ + sbindir=$(crosstools-gcc--prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + crosstools-gcc--s_flag = -s +endif + +ifeq (no,yes) + crosstools-gcc--HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + crosstools-gcc--KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(crosstools-gcc--s_flag) +ifeq (no,yes) + crosstools-gcc--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-gcc--s_flag) +else + crosstools-gcc--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-gcc--nix) $(crosstools-gcc--s_flag) +endif +endif +ifeq (no,yes) + crosstools-gcc--HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + crosstools-gcc--KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(crosstools-gcc--s_flag) +ifeq (no,yes) + crosstools-gcc--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-gcc--s_flag) +else + crosstools-gcc--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-gcc--nix) $(crosstools-gcc--s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (host,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + crosstools-gcc--cfg-env := $(GCC_ENV) \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(crosstools-gcc--HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(crosstools-gcc--HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (no,yes) + crosstools-gcc--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-gcc--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-gcc--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-gcc--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (host,target) + crosstools-gcc--cfg-env := $(GCC_ENV) \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + crosstools-gcc--cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + crosstools-gcc--cfg-env += CFLAGS="$(crosstools-gcc--TARGET_CFLAGS) $(OPTIMIZATION_CFLAGS)" \ + CXXFLAGS="$(crosstools-gcc--TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (no,yes) + crosstools-gcc--cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gcc--cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gcc--nix) $(crosstools-gcc--s_flag))" +ifeq (no,yes) + crosstools-gcc--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-gcc--cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(crosstools-gcc--HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(crosstools-gcc--HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(crosstools-gcc--s_flag))" +ifeq (no,yes) + crosstools-gcc--cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gcc--cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-gcc--nix) $(crosstools-gcc--s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-gcc--nix) $(crosstools-gcc--s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gcc--nix) $(crosstools-gcc--s_flag))" +ifeq (no,yes) + crosstools-gcc--cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gcc--cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(crosstools-gcc--TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(crosstools-gcc--TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gcc--nix) $(crosstools-gcc--s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (no,yes) + crosstools-gcc--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-gcc--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-gcc--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-gcc--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + crosstools-gcc--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-gcc--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-gcc--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-gcc--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-gcc--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-gcc--config_opts += --without-x +endif +endif +endif +ifeq (host,kernel) + crosstools-gcc--cfg-env := $(GCC_ENV) \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (no,yes) + crosstools-gcc--cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + crosstools-gcc--cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(crosstools-gcc--KERNEL_CFLAGS) $(OPTIMIZATION_CFLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(crosstools-gcc--KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (no,yes) + crosstools-gcc--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-gcc--cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(crosstools-gcc--HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(crosstools-gcc--HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + crosstools-gcc--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-gcc--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-gcc--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-gcc--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-gcc--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-gcc--config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(crosstools-gcc--cfg-env) +endif + +crosstools-gcc--touchfileflag ?= $(crosstools-gcc--pkgdir)/.files-touched + +ifneq ("$(wildcard $(crosstools-gcc-portdir)/$(crosstools-gcc--builddir)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(crosstools-gcc--pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(crosstools-gcc--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(crosstools-gcc--pkgdir)))'" + $(Q)$(CP) -Rf "$(crosstools-gcc-portdir)/$(crosstools-gcc--builddir)/." $(crosstools-gcc--pkgdir)/ && $(TOUCH) $@ + +$(crosstools-gcc--touchfileflag) : $(crosstools-gcc--pkgdir)/.local-copy + + crosstools-gcc--cfg-srcdir=$(crosstools-gcc--pkgdir) +else + crosstools-gcc--cfg-srcdir=$(crosstools-gcc-portdir)/$(crosstools-gcc--builddir) +endif +crosstools-gcc--make-env := -C $(crosstools-gcc--pkgdir) + +.PHONY : crosstools-gcc- crosstools-gcc--clean crosstools-gcc--build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- crosstools-gcc--host : setup includes crosstools-gcc--quick +#MM- crosstools-gcc--target : setup includes core-linklibs crosstools-gcc--quick +#MM- crosstools-gcc-: crosstools-gcc--host + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + crosstools-gcc--install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(crosstools-gcc--pkgdir))" && \ + $(MAKE) PROGDIR="$(crosstools-gcc--PROGDIR)/" $(crosstools-gcc--install_opts) \ + $(crosstools-gcc--make-env) install -j1 + + crosstools-gcc--uninstall_command = \ + $(RM) $(crosstools-gcc--installflag) && \ + $(MAKE) PROGDIR="$(crosstools-gcc--PROGDIR)/" \ + $(crosstools-gcc--install_opts) $(crosstools-gcc--make-env) uninstall +else + crosstools-gcc--install_command := true + crosstools-gcc--uninstall_command := true +endif + +#MM- crosstools-gcc--quick : crosstools-gcc--configure crosstools-gcc--build_and_install-quick crosstools-gcc--make-package + +#MM +crosstools-gcc--build_and_install-quick : $(crosstools-gcc--installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(crosstools-gcc--installflag) : $(crosstools-gcc--configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-gcc--volfunc, PROGDIR)" -q $(crosstools-gcc--make-env); then \ + $(RM) $(crosstools-gcc--installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(crosstools-gcc--pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-gcc--volfunc, PROGDIR)" $(crosstools-gcc--make-env) && \ + $(crosstools-gcc--install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(crosstools-gcc--touchfileflag),) +$(crosstools-gcc--touchfileflag): + $(Q)$(FOR) dir in $(crosstools-gcc--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(crosstools-gcc-portdir)/$(crosstools-gcc--builddir) -exec $(TOUCH) -c -r $(crosstools-gcc--cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-gcc--uninstall : + $(crosstools-gcc--uninstall_command) + +#MM +crosstools-gcc--configure : $(crosstools-gcc--configflag) + +$(crosstools-gcc--configflag) : TMP_SRCDIR := $(shell echo $(crosstools-gcc--cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-gcc--configflag) : $(crosstools-gcc--touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(crosstools-gcc--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(crosstools-gcc--pkgdir))" + $(Q)cd $(crosstools-gcc--pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(crosstools-gcc--cfg-env) $(TMP_SRCDIR)/configure $(crosstools-gcc--config_opts) $(GCC_EXTRA_OPTS) && \ + $(TOUCH) $@ + +#MM +crosstools-gcc--clean : crosstools-gcc--uninstall + $(Q)$(RM) $(crosstools-gcc--pkgdir) + +.PHONY : crosstools-gcc--make-package crosstools-gcc--create-patch +#MM crosstools-gcc--make-package : crosstools-gcc--quick + +#MM +crosstools-gcc--make-package : $(crosstools-gcc--package) + +#There seems to be a bug, either with my clock or with make, 'cause it may happen +#that $^ and $@ have exactly the same mtime, and in that case make tries +#to rebuild $@ again, which would fail because the directory where +#the package got installed would not exist anymore. +#We work this around by using an if statement to manually check the mtimes. +$(crosstools-gcc--package-basename).tar.bz2 : + $(Q)$(IF) $(TEST) $(crosstools-gcc-installflag) -nt $@ || ! $(TEST) -s $@; then \ + $(RM) $@ ; \ + $(ECHO) "Building \`$(crosstools-gcc--package-basename).tar.bz2'" ; \ + $(MKDIR) -p "$(DISTDIR)/Packages" ; \ + $(MKDIR) -p "$(crosstools-gcc-prefix)" ; \ + cd $(crosstools-gcc--package-dir) ; \ + tar -cvf $(crosstools-gcc--package-basename).tar * ; \ + bzip2 -9 -f $(crosstools-gcc--package-basename).tar ; \ + fi + +## GDB ### + +#MM +tools-crosstools-gdb : + @$(IF) ! $(TEST) -d $(CROSSTOOLSDIR) \ + || ! $(TEST) -f $(gdb-installflag) ; then \ + $(RM) $(HOSTGENDIR)/$(CURDIR)/gdb/.files-touched \ + && $(MAKE) -f ./mmakefile crosstools-gdb--fetch \ + && $(MAKE) -f ./mmakefile crosstools-gdb--build_and_install-quick \ + && $(TOUCH) $(gdb-installflag) ; \ + fi + + +#MM- crosstools-gdb-quick : crosstools-gdb--quick +#MM- crosstools-gdb--quick : crosstools-gdb--fetch +#MM- crosstools-gdb-fetch : crosstools-gdb--fetch +#MM- crosstools-gdb-create-patch : crosstools-gdb--create-patch +#MM- crosstools-gdb-create-patch-quick : crosstools-gdb--create-patch + +crosstools-gdb-archbase := gdb-$(GDB_VERSION) + +ifeq (host,host) + crosstools-gdb-portdir := $(HOSTDIR)/Ports/host/gdb +else + crosstools-gdb-portdir := $(PORTSDIR)/gdb +endif + +ifeq ($(CROSSTOOLSDIR),) + crosstools-gdb-prefix := $(CONTRIB_DIR)/gdb +else + crosstools-gdb-prefix := $(CROSSTOOLSDIR) +endif + +ifneq (,) + crosstools-gdb--archbase := gdb--$(GDB_VERSION) +else + crosstools-gdb--archbase := gdb-$(GDB_VERSION) +endif + +ifneq (,) + crosstools-gdb--srcdir := +else + crosstools-gdb--srcdir := $(crosstools-gdb-archbase) +endif + +ifneq (,) + crosstools-gdb--builddir := $(crosstools-gdb--srcdir)/ +else + crosstools-gdb--builddir := $(crosstools-gdb--srcdir) +endif + +ifeq (yes,yes) + crosstools-gdb--patches_specs := $(crosstools-gdb--archbase)-aros.diff:$(crosstools-gdb--srcdir):-f,-p1 +else + crosstools-gdb--patches_specs := :: +endif + + +.PHONY: crosstools-gdb--fetch + +ifneq ($(TOOLDIR),) + crosstools-gdb--fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-gdb--fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-gdb--fetch-location := $(PORTSSOURCEDIR) +else + crosstools-gdb--fetch-location := $(crosstools-gdb-portdir) +endif + +crosstools-gdb--fetch-fetchedflag := $(crosstools-gdb--fetch-location)/.$(crosstools-gdb--archbase)-fetched + +#MM +crosstools-gdb--fetch : + $(Q)$(ECHO) "Fetching $(crosstools-gdb--archbase) ..." + $(Q)TOOLDIR="$(crosstools-gdb--fetch-tooldir)" $(FETCH) -ao ". $(GNU_REPOSITORY)/gdb" -a $(crosstools-gdb--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-gdb--fetch-location) \ + -d $(crosstools-gdb-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-gdb--patches_specs)" + $(Q)$(IF) ! $(TEST) -f $(crosstools-gdb--fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-gdb--fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-gdb--fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(crosstools-gdb--archbase) ..." \ +# && $(FETCH) -ao ". $(GNU_REPOSITORY)/gdb" -a $(crosstools-gdb--archbase) -s "tar.bz2 tar.gz" -l $(crosstools-gdb--fetch-location) \ +# -d $(crosstools-gdb-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-gdb--patches_specs)" \ +# && $(TOUCH) $(crosstools-gdb--fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-gdb--create-patch + +ifneq (,) + crosstools-gdb--create-patch-exclude := -X ./exclude.patterns +endif + +ifneq ($(crosstools-gdb--srcdir),) + crosstools-gdb--create-patch-srcdir := $(crosstools-gdb--srcdir) +else + crosstools-gdb--create-patch-srcdir := $(crosstools-gdb--archbase) +endif + +#MM- crosstools-gdb--create-patch : crosstools-gdb--create-patch-diff +#MM- crosstools-gdb--create-patch-quick : crosstools-gdb--create-patch-diff + +#MM +crosstools-gdb--create-patch-diff: + $(Q)$(FETCH) -a $(crosstools-gdb--archbase) -s "tar.bz2 tar.gz" -l $(PORTSSOURCEDIR) -d $(crosstools-gdb-portdir)/tmp ; \ + $(MV) $(crosstools-gdb-portdir)/$(crosstools-gdb--create-patch-srcdir) $(crosstools-gdb-portdir)/tmp/$(crosstools-gdb--create-patch-srcdir).aros ; \ + cd $(crosstools-gdb-portdir)/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(crosstools-gdb--archbase)-aros-new.diff'" ; \ + diff -ruN $(crosstools-gdb--create-patch-exclude) \ + $(crosstools-gdb--create-patch-srcdir) \ + $(crosstools-gdb--create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(crosstools-gdb--archbase)-aros-new.diff ; \ + $(MV) $(crosstools-gdb-portdir)/tmp/$(crosstools-gdb--create-patch-srcdir).aros $(crosstools-gdb-portdir)/$(crosstools-gdb--create-patch-srcdir) ; \ + $(RM) $(crosstools-gdb-portdir)/tmp + +#MM crosstools-gdb : crosstools-gdb- +#MM +crosstools-gdb: + $(NOP) + +crosstools-gdb--package-dir := $(crosstools-gdb-portdir)/$(crosstools-gdb--archbase) + +crosstools-gdb--package-basename := \ + $(DISTDIR)/Packages/$(crosstools-gdb--archbase)-aros.$(AROS_TARGET_CPU) + +ifneq (no,no) + crosstools-gdb--package := $(crosstools-gdb--package-basename).tar.bz2 +endif + + +ifneq ($(crosstools-gdb-prefix),) + crosstools-gdb--prefix := $(crosstools-gdb-prefix) +else + crosstools-gdb--prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-gdb--aros_prefix := +else + crosstools-gdb--aros_prefix := $(crosstools-gdb--prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + crosstools-gdb--nix := $(BD_NIXFLAG) + crosstools-gdb--volpfx := / + crosstools-gdb--volsfx := / + + ifeq (,) + crosstools-gdb--nix_dir_layout := yes + endif +else + crosstools-gdb--volsfx := : + + ifeq (,) + crosstools-gdb--nix_dir_layout := no + endif +endif + +crosstools-gdb--volfunc = $(crosstools-gdb--volpfx)$(notdir $1)$(crosstools-gdb--volsfx) + +crosstools-gdb--install_opts := prefix=$(crosstools-gdb--prefix) \ + exec_prefix=$(crosstools-gdb--prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring host,host target kernel),) + $(error unknown compiler host) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (host,host) + host := yes + ifeq ($(CURDIR),) + crosstools-gdb--pkgbasedir := $(HOSTGENDIR) + else + crosstools-gdb--pkgbasedir := $(HOSTGENDIR)/$(CURDIR) + endif +else + host := no + ifeq ($(CURDIR),) + crosstools-gdb--pkgbasedir := $(GENDIR) + else + crosstools-gdb--pkgbasedir := $(GENDIR)/$(CURDIR) + endif +endif +ifneq (,) + ifeq ($(CURDIR),) + crosstools-gdb--pkgbasedir := + else + crosstools-gdb--pkgbasedir := /$(CURDIR) + endif +endif + +ifeq (gdb,) + crosstools-gdb--pkgdir := $(crosstools-gdb--pkgbasedir) +else + crosstools-gdb--pkgdir := $(crosstools-gdb--pkgbasedir)/gdb +endif + +crosstools-gdb--configflag := $(crosstools-gdb--pkgdir)/.configured +crosstools-gdb--installflag := $(crosstools-gdb--pkgdir)/.installed + +ifeq ($(filter yes, $(crosstools-gdb--nix_dir_layout) $(host)),yes) + crosstools-gdb--PROGDIR := $(crosstools-gdb--aros_prefix)/bin + crosstools-gdb--config_opts := --prefix=$(crosstools-gdb--aros_prefix) +else + ifeq (no,yes) + crosstools-gdb--config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + crosstools-gdb--config_opts := --prefix=$(crosstools-gdb--aros_prefix) + endif + + crosstools-gdb--PROGDIR := $(crosstools-gdb--aros_prefix) + + crosstools-gdb--install_opts := bindir=$(crosstools-gdb--prefix) \ + sbindir=$(crosstools-gdb--prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + crosstools-gdb--s_flag = -s +endif + +ifeq (yes,yes) + crosstools-gdb--HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + crosstools-gdb--KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(crosstools-gdb--s_flag) +ifeq (no,yes) + crosstools-gdb--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-gdb--s_flag) +else + crosstools-gdb--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-gdb--nix) $(crosstools-gdb--s_flag) +endif +endif +ifeq (yes,yes) + crosstools-gdb--HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + crosstools-gdb--KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(crosstools-gdb--s_flag) +ifeq (no,yes) + crosstools-gdb--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-gdb--s_flag) +else + crosstools-gdb--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-gdb--nix) $(crosstools-gdb--s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (host,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + crosstools-gdb--cfg-env := \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(crosstools-gdb--HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(crosstools-gdb--HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (yes,yes) + crosstools-gdb--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-gdb--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-gdb--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-gdb--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (host,target) + crosstools-gdb--cfg-env := \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + crosstools-gdb--cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + crosstools-gdb--cfg-env += CFLAGS="$(crosstools-gdb--TARGET_CFLAGS) $(OPTIMIZATION_CFLAGS)" \ + CXXFLAGS="$(crosstools-gdb--TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (yes,yes) + crosstools-gdb--cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gdb--cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gdb--nix) $(crosstools-gdb--s_flag))" +ifeq (yes,yes) + crosstools-gdb--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-gdb--cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(crosstools-gdb--HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(crosstools-gdb--HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(crosstools-gdb--s_flag))" +ifeq (yes,yes) + crosstools-gdb--cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gdb--cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-gdb--nix) $(crosstools-gdb--s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-gdb--nix) $(crosstools-gdb--s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gdb--nix) $(crosstools-gdb--s_flag))" +ifeq (yes,yes) + crosstools-gdb--cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-gdb--cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(crosstools-gdb--TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(crosstools-gdb--TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-gdb--nix) $(crosstools-gdb--s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (yes,yes) + crosstools-gdb--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-gdb--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-gdb--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-gdb--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + crosstools-gdb--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-gdb--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-gdb--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-gdb--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-gdb--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-gdb--config_opts += --without-x +endif +endif +endif +ifeq (host,kernel) + crosstools-gdb--cfg-env := \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (yes,yes) + crosstools-gdb--cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + crosstools-gdb--cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(crosstools-gdb--KERNEL_CFLAGS) $(OPTIMIZATION_CFLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(crosstools-gdb--KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (yes,yes) + crosstools-gdb--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-gdb--cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(crosstools-gdb--HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(crosstools-gdb--HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + crosstools-gdb--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-gdb--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-gdb--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-gdb--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-gdb--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-gdb--config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(crosstools-gdb--cfg-env) +endif + +crosstools-gdb--touchfileflag ?= $(crosstools-gdb--pkgdir)/.files-touched + +ifneq ("$(wildcard $(crosstools-gdb-portdir)/$(crosstools-gdb--builddir)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(crosstools-gdb--pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(crosstools-gdb--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(crosstools-gdb--pkgdir)))'" + $(Q)$(CP) -Rf "$(crosstools-gdb-portdir)/$(crosstools-gdb--builddir)/." $(crosstools-gdb--pkgdir)/ && $(TOUCH) $@ + +$(crosstools-gdb--touchfileflag) : $(crosstools-gdb--pkgdir)/.local-copy + + crosstools-gdb--cfg-srcdir=$(crosstools-gdb--pkgdir) +else + crosstools-gdb--cfg-srcdir=$(crosstools-gdb-portdir)/$(crosstools-gdb--builddir) +endif +crosstools-gdb--make-env := -C $(crosstools-gdb--pkgdir) + +.PHONY : crosstools-gdb- crosstools-gdb--clean crosstools-gdb--build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- crosstools-gdb--host : setup includes crosstools-gdb--quick +#MM- crosstools-gdb--target : setup includes core-linklibs crosstools-gdb--quick +#MM- crosstools-gdb-: crosstools-gdb--host + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + crosstools-gdb--install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(crosstools-gdb--pkgdir))" && \ + $(MAKE) PROGDIR="$(crosstools-gdb--PROGDIR)/" $(crosstools-gdb--install_opts) \ + $(crosstools-gdb--make-env) install -j1 + + crosstools-gdb--uninstall_command = \ + $(RM) $(crosstools-gdb--installflag) && \ + $(MAKE) PROGDIR="$(crosstools-gdb--PROGDIR)/" \ + $(crosstools-gdb--install_opts) $(crosstools-gdb--make-env) uninstall +else + crosstools-gdb--install_command := true + crosstools-gdb--uninstall_command := true +endif + +#MM- crosstools-gdb--quick : crosstools-gdb--configure crosstools-gdb--build_and_install-quick crosstools-gdb--make-package + +#MM +crosstools-gdb--build_and_install-quick : $(crosstools-gdb--installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(crosstools-gdb--installflag) : $(crosstools-gdb--configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-gdb--volfunc, PROGDIR)" -q $(crosstools-gdb--make-env); then \ + $(RM) $(crosstools-gdb--installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(crosstools-gdb--pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-gdb--volfunc, PROGDIR)" $(crosstools-gdb--make-env) && \ + $(crosstools-gdb--install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(crosstools-gdb--touchfileflag),) +$(crosstools-gdb--touchfileflag): + $(Q)$(FOR) dir in $(crosstools-gdb--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(crosstools-gdb-portdir)/$(crosstools-gdb--builddir) -exec $(TOUCH) -c -r $(crosstools-gdb--cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-gdb--uninstall : + $(crosstools-gdb--uninstall_command) + +#MM +crosstools-gdb--configure : $(crosstools-gdb--configflag) + +$(crosstools-gdb--configflag) : TMP_SRCDIR := $(shell echo $(crosstools-gdb--cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-gdb--configflag) : $(crosstools-gdb--touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(crosstools-gdb--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(crosstools-gdb--pkgdir))" + $(Q)cd $(crosstools-gdb--pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(crosstools-gdb--cfg-env) $(TMP_SRCDIR)/configure $(crosstools-gdb--config_opts) $(GDB_EXTRA_OPTS) && \ + $(TOUCH) $@ + +#MM +crosstools-gdb--clean : crosstools-gdb--uninstall + $(Q)$(RM) $(crosstools-gdb--pkgdir) + +.PHONY : crosstools-gdb--make-package crosstools-gdb--create-patch +#MM crosstools-gdb--make-package : crosstools-gdb--quick + +#MM +crosstools-gdb--make-package : $(crosstools-gdb--package) + +#There seems to be a bug, either with my clock or with make, 'cause it may happen +#that $^ and $@ have exactly the same mtime, and in that case make tries +#to rebuild $@ again, which would fail because the directory where +#the package got installed would not exist anymore. +#We work this around by using an if statement to manually check the mtimes. +$(crosstools-gdb--package-basename).tar.bz2 : + $(Q)$(IF) $(TEST) $(crosstools-gdb-installflag) -nt $@ || ! $(TEST) -s $@; then \ + $(RM) $@ ; \ + $(ECHO) "Building \`$(crosstools-gdb--package-basename).tar.bz2'" ; \ + $(MKDIR) -p "$(DISTDIR)/Packages" ; \ + $(MKDIR) -p "$(crosstools-gdb-prefix)" ; \ + cd $(crosstools-gdb--package-dir) ; \ + tar -cvf $(crosstools-gdb--package-basename).tar * ; \ + bzip2 -9 -f $(crosstools-gdb--package-basename).tar ; \ + fi + +# libatomic + +LIBATOMIC_OBJDIR := $(HOSTGENDIR)/$(CURDIR)/gcc/$(AROS_TARGET_CPU)-aros/libatomic +LIBATOMIC_SRCDIR := $(HOSTDIR)/Ports/host/gcc/gcc-$(GCC_VERSION)/libatomic +ifeq ($(AROS_TARGET_CPU),m68k) +ISA_FLAGS:=$(ISA_FLOAT_FLAGS) +endif + +ifneq (,) + tools-crosstools-gcc-libatomic-prefix := +else + tools-crosstools-gcc-libatomic-prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + tools-crosstools-gcc-libatomic-aros_prefix := +else + tools-crosstools-gcc-libatomic-aros_prefix := $(tools-crosstools-gcc-libatomic-prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + tools-crosstools-gcc-libatomic-nix := $(BD_NIXFLAG) + tools-crosstools-gcc-libatomic-volpfx := / + tools-crosstools-gcc-libatomic-volsfx := / + + ifeq (,) + tools-crosstools-gcc-libatomic-nix_dir_layout := yes + endif +else + tools-crosstools-gcc-libatomic-volsfx := : + + ifeq (,) + tools-crosstools-gcc-libatomic-nix_dir_layout := no + endif +endif + +tools-crosstools-gcc-libatomic-volfunc = $(tools-crosstools-gcc-libatomic-volpfx)$(notdir $1)$(tools-crosstools-gcc-libatomic-volsfx) + +tools-crosstools-gcc-libatomic-install_opts := prefix=$(tools-crosstools-gcc-libatomic-prefix) \ + exec_prefix=$(tools-crosstools-gcc-libatomic-prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring target,host target kernel),) + $(error unknown compiler target) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (target,host) + host := yes + ifeq (,) + tools-crosstools-gcc-libatomic-pkgbasedir := $(HOSTGENDIR) + else + tools-crosstools-gcc-libatomic-pkgbasedir := $(HOSTGENDIR)/ + endif +else + host := no + ifeq (,) + tools-crosstools-gcc-libatomic-pkgbasedir := $(GENDIR) + else + tools-crosstools-gcc-libatomic-pkgbasedir := $(GENDIR)/ + endif +endif +ifneq ($(LIBATOMIC_OBJDIR),) + ifeq (,) + tools-crosstools-gcc-libatomic-pkgbasedir := $(LIBATOMIC_OBJDIR) + else + tools-crosstools-gcc-libatomic-pkgbasedir := $(LIBATOMIC_OBJDIR)/ + endif +endif + +ifeq (,) + tools-crosstools-gcc-libatomic-pkgdir := $(tools-crosstools-gcc-libatomic-pkgbasedir) +else + tools-crosstools-gcc-libatomic-pkgdir := $(tools-crosstools-gcc-libatomic-pkgbasedir)/ +endif + +tools-crosstools-gcc-libatomic-configflag := $(tools-crosstools-gcc-libatomic-pkgdir)/.configured +tools-crosstools-gcc-libatomic-installflag := $(tools-crosstools-gcc-libatomic-pkgdir)/.installed + +ifeq ($(filter yes, $(tools-crosstools-gcc-libatomic-nix_dir_layout) $(host)),yes) + tools-crosstools-gcc-libatomic-PROGDIR := $(tools-crosstools-gcc-libatomic-aros_prefix)/bin + tools-crosstools-gcc-libatomic-config_opts := --prefix=$(tools-crosstools-gcc-libatomic-aros_prefix) +else + ifeq (no,yes) + tools-crosstools-gcc-libatomic-config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + tools-crosstools-gcc-libatomic-config_opts := --prefix=$(tools-crosstools-gcc-libatomic-aros_prefix) + endif + + tools-crosstools-gcc-libatomic-PROGDIR := $(tools-crosstools-gcc-libatomic-aros_prefix) + + tools-crosstools-gcc-libatomic-install_opts := bindir=$(tools-crosstools-gcc-libatomic-prefix) \ + sbindir=$(tools-crosstools-gcc-libatomic-prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + tools-crosstools-gcc-libatomic-s_flag = -s +endif + +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + tools-crosstools-gcc-libatomic-KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-crosstools-gcc-libatomic-s_flag) +ifeq (no,yes) + tools-crosstools-gcc-libatomic-TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(tools-crosstools-gcc-libatomic-s_flag) +else + tools-crosstools-gcc-libatomic-TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(tools-crosstools-gcc-libatomic-nix) $(tools-crosstools-gcc-libatomic-s_flag) +endif +endif +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + tools-crosstools-gcc-libatomic-KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(tools-crosstools-gcc-libatomic-s_flag) +ifeq (no,yes) + tools-crosstools-gcc-libatomic-TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(tools-crosstools-gcc-libatomic-s_flag) +else + tools-crosstools-gcc-libatomic-TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(tools-crosstools-gcc-libatomic-nix) $(tools-crosstools-gcc-libatomic-s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (target,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + tools-crosstools-gcc-libatomic-cfg-env := \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(tools-crosstools-gcc-libatomic-HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(tools-crosstools-gcc-libatomic-HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + tools-crosstools-gcc-libatomic-cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(tools-crosstools-gcc-libatomic-KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(tools-crosstools-gcc-libatomic-KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (target,target) + tools-crosstools-gcc-libatomic-cfg-env := \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + tools-crosstools-gcc-libatomic-cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + tools-crosstools-gcc-libatomic-cfg-env += CFLAGS="$(tools-crosstools-gcc-libatomic-TARGET_CFLAGS) $(OPTIMIZATION_CFLAGS)" \ + CXXFLAGS="$(tools-crosstools-gcc-libatomic-TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + tools-crosstools-gcc-libatomic-cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(tools-crosstools-gcc-libatomic-nix) $(tools-crosstools-gcc-libatomic-s_flag))" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + tools-crosstools-gcc-libatomic-cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(tools-crosstools-gcc-libatomic-HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(tools-crosstools-gcc-libatomic-HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(tools-crosstools-gcc-libatomic-s_flag))" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + tools-crosstools-gcc-libatomic-cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(tools-crosstools-gcc-libatomic-nix) $(tools-crosstools-gcc-libatomic-s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(tools-crosstools-gcc-libatomic-nix) $(tools-crosstools-gcc-libatomic-s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(tools-crosstools-gcc-libatomic-nix) $(tools-crosstools-gcc-libatomic-s_flag))" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + tools-crosstools-gcc-libatomic-cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(tools-crosstools-gcc-libatomic-TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(tools-crosstools-gcc-libatomic-TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(tools-crosstools-gcc-libatomic-nix) $(tools-crosstools-gcc-libatomic-s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + tools-crosstools-gcc-libatomic-cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(tools-crosstools-gcc-libatomic-KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(tools-crosstools-gcc-libatomic-KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-config_opts += --target=$(AROS_TARGET_CPU)-aros + tools-crosstools-gcc-libatomic-config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + tools-crosstools-gcc-libatomic-config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + tools-crosstools-gcc-libatomic-config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + tools-crosstools-gcc-libatomic-config_opts += --without-x +endif +endif +endif +ifeq (target,kernel) + tools-crosstools-gcc-libatomic-cfg-env := \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + tools-crosstools-gcc-libatomic-cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(tools-crosstools-gcc-libatomic-KERNEL_CFLAGS) $(OPTIMIZATION_CFLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(tools-crosstools-gcc-libatomic-KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + tools-crosstools-gcc-libatomic-cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(tools-crosstools-gcc-libatomic-HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(tools-crosstools-gcc-libatomic-HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-config_opts += --target=$(AROS_TARGET_CPU)-aros + tools-crosstools-gcc-libatomic-config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + tools-crosstools-gcc-libatomic-config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + tools-crosstools-gcc-libatomic-config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + tools-crosstools-gcc-libatomic-config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + tools-crosstools-gcc-libatomic-config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(tools-crosstools-gcc-libatomic-cfg-env) +endif + +tools-crosstools-gcc-libatomic-touchfileflag ?= $(tools-crosstools-gcc-libatomic-pkgdir)/.files-touched + +ifneq ("$(wildcard $(LIBATOMIC_SRCDIR)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(tools-crosstools-gcc-libatomic-pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(tools-crosstools-gcc-libatomic-pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(tools-crosstools-gcc-libatomic-pkgdir)))'" + $(Q)$(CP) -Rf "$(LIBATOMIC_SRCDIR)/." $(tools-crosstools-gcc-libatomic-pkgdir)/ && $(TOUCH) $@ + +$(tools-crosstools-gcc-libatomic-touchfileflag) : $(tools-crosstools-gcc-libatomic-pkgdir)/.local-copy + + tools-crosstools-gcc-libatomic-cfg-srcdir=$(tools-crosstools-gcc-libatomic-pkgdir) +else + tools-crosstools-gcc-libatomic-cfg-srcdir=$(LIBATOMIC_SRCDIR) +endif +tools-crosstools-gcc-libatomic-make-env := -C $(tools-crosstools-gcc-libatomic-pkgdir) + +.PHONY : tools-crosstools-gcc-libatomic tools-crosstools-gcc-libatomic-clean tools-crosstools-gcc-libatomic-build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- tools-crosstools-gcc-libatomic-host : setup includes tools-crosstools-gcc-libatomic-quick +#MM- tools-crosstools-gcc-libatomic-target : setup includes core-linklibs tools-crosstools-gcc-libatomic-quick +#MM- tools-crosstools-gcc-libatomic: tools-crosstools-gcc-libatomic-target + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + tools-crosstools-gcc-libatomic-install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(tools-crosstools-gcc-libatomic-pkgdir))" && \ + $(MAKE) PROGDIR="$(tools-crosstools-gcc-libatomic-PROGDIR)/" $(tools-crosstools-gcc-libatomic-install_opts) \ + $(tools-crosstools-gcc-libatomic-make-env) install -j1 + + tools-crosstools-gcc-libatomic-uninstall_command = \ + $(RM) $(tools-crosstools-gcc-libatomic-installflag) && \ + $(MAKE) PROGDIR="$(tools-crosstools-gcc-libatomic-PROGDIR)/" \ + $(tools-crosstools-gcc-libatomic-install_opts) $(tools-crosstools-gcc-libatomic-make-env) uninstall +else + tools-crosstools-gcc-libatomic-install_command := true + tools-crosstools-gcc-libatomic-uninstall_command := true +endif + +#MM- tools-crosstools-gcc-libatomic-quick : tools-crosstools-gcc-libatomic-configure tools-crosstools-gcc-libatomic-build_and_install-quick + +#MM +tools-crosstools-gcc-libatomic-build_and_install-quick : $(tools-crosstools-gcc-libatomic-installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(tools-crosstools-gcc-libatomic-installflag) : $(tools-crosstools-gcc-libatomic-configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call tools-crosstools-gcc-libatomic-volfunc, PROGDIR)" -q $(tools-crosstools-gcc-libatomic-make-env); then \ + $(RM) $(tools-crosstools-gcc-libatomic-installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(tools-crosstools-gcc-libatomic-pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call tools-crosstools-gcc-libatomic-volfunc, PROGDIR)" $(tools-crosstools-gcc-libatomic-make-env) && \ + $(tools-crosstools-gcc-libatomic-install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(tools-crosstools-gcc-libatomic-touchfileflag),) +$(tools-crosstools-gcc-libatomic-touchfileflag): + $(Q)$(FOR) dir in $(tools-crosstools-gcc-libatomic-pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(LIBATOMIC_SRCDIR) -exec $(TOUCH) -c -r $(tools-crosstools-gcc-libatomic-cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +tools-crosstools-gcc-libatomic-uninstall : + $(tools-crosstools-gcc-libatomic-uninstall_command) + +#MM +tools-crosstools-gcc-libatomic-configure : $(tools-crosstools-gcc-libatomic-configflag) + +$(tools-crosstools-gcc-libatomic-configflag) : TMP_SRCDIR := $(shell echo $(tools-crosstools-gcc-libatomic-cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(tools-crosstools-gcc-libatomic-configflag) : $(tools-crosstools-gcc-libatomic-touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(tools-crosstools-gcc-libatomic-pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(tools-crosstools-gcc-libatomic-pkgdir))" + $(Q)cd $(tools-crosstools-gcc-libatomic-pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(tools-crosstools-gcc-libatomic-cfg-env) $(TMP_SRCDIR)/configure $(tools-crosstools-gcc-libatomic-config_opts) && \ + $(TOUCH) $@ + +#MM +tools-crosstools-gcc-libatomic-clean : tools-crosstools-gcc-libatomic-uninstall + $(Q)$(RM) $(tools-crosstools-gcc-libatomic-pkgdir) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/crosstools/llvm/mmakefile b/tools/crosstools/llvm/mmakefile new file mode 100644 index 00000000000..e50739d850a --- /dev/null +++ b/tools/crosstools/llvm/mmakefile @@ -0,0 +1,568 @@ +include $(SRCDIR)/config/aros.cfg +-include $(SRCDIR)/tools/crosstools/$(AROS_TOOLCHAIN).cfg + +# +# LLVM toolchain +# + +ifeq ($(TARGET_LLVM_VER),) + LLVM_BUILD_VERSION:=$(LLVM_VERSION) +else + LLVM_BUILD_VERSION:=$(TARGET_LLVM_VER) +endif + +LLVM_REPOSITORY := http://llvm.org/releases/$(LLVM_VERSION) +LLVM_ARCHBASE := llvm-$(LLVM_VERSION).src +LLVMLLD_ARCHBASE := lld-$(LLVM_VERSION).src +CLANG_ARCHBASE := cfe-$(LLVM_VERSION).src +LIBCXX_ARCHBASE := libcxx-$(LLVM_VERSION).src +LIBCXXABI_ARCHBASE := libcxxabi-$(LLVM_VERSION).src + +#LLVM_ALL_TARGETS := yes + +ifeq ($(LLVM_ALL_TARGETS),yes) +LLVM_TARGETS := "X86;ARM;PowerPC" +else +ifeq ($(AROS_TARGET_CPU),i386) +LLVM_TARGETS := "X86" +endif +ifeq ($(AROS_TARGET_CPU),x86_64) +LLVM_TARGETS := "X86" +endif +ifeq ($(AROS_TARGET_CPU),arm) +LLVM_TARGETS := "ARM" +endif +ifeq ($(AROS_TARGET_CPU),ppc) +LLVM_TARGETS := "PowerPC" +endif +endif + +LLVM_HOST := "$(AROS_TARGET_CPU)" + +LLVM_CMAKETARGET := +LLVM_CMAKEOPTIONS := \ + -DDEFAULT_SYSROOT="$(AROS_DEVELOPER)" \ + -DCMAKE_INSTALL_BINDIR="$(CROSSTOOLSDIR)" \ + -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_TARGETS_TO_BUILD=$(LLVM_TARGETS) \ + -DLLVM_DEFAULT_TARGET_TRIPLE=$(AROS_TARGET_CPU)-unknown-aros \ + -DLLVM_ENABLE_BINDINGS=OFF \ + -DLLVM_INCLUDE_TESTS=OFF \ + -DLLVM_INCLUDE_EXAMPLES=OFF \ + -DLIBCXX_ENABLE_SHARED=OFF \ + -DLIBCXX_ENABLE_STATIC=ON \ + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON + +ifeq ($(AROS_HOST_ARCH),linux) +LLVM_CMAKEOPTIONS += -DBUILD_SHARED_LIBS=ON +# LLVM_CMAKEOPTIONS += -DLLVM_LINK_LLVM_DYLIB=ON +endif + +#LLVM_CMAKEOPTIONS +=--DLLVM_EXTERNAL_LLD_SOURCE_DIR:PATH="$(HOSTDIR)/Ports/host/llvm-lld/$(LLVMLLD_ARCHBASE)" +#LLVM_CMAKEOPTIONS +=--DLLVM_EXTERNAL_CLANG_SOURCE_DIR:PATH="$(HOSTDIR)/Ports/host/clang/$(CLANG_ARCHBASE)" + +#LLVM_CMAKEOPTIONS +=-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON + +#MM +crosstools-llvm-remdirs: + $(Q)$(ECHO) "Removing LLVM project dirs..." + $(Q)$(IF) $(TEST) -d $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/projects/libcxx; then \ + $(MV) $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/projects/libcxx $(HOSTDIR)/Ports/host/libcxx/$(LIBCXX_ARCHBASE) ; \ + fi + $(Q)$(IF) $(TEST) -d $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/projects/libcxxabi; then \ + $(MV) $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/projects/libcxxabi $(HOSTDIR)/Ports/host/libcxxabi/$(LIBCXXABI_ARCHBASE) ; \ + fi + $(Q)$(ECHO) "Removing LLVM tool dirs..." + $(Q)$(IF) $(TEST) -d $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/tools/lld; then \ + $(MV) $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/tools/lld $(HOSTDIR)/Ports/host/llvm-lld/$(LLVMLLD_ARCHBASE) ; \ + fi + $(Q)$(IF) $(TEST) -d $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/tools/clang; then \ + $(MV) $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/tools/clang $(HOSTDIR)/Ports/host/clang/$(CLANG_ARCHBASE) ; \ + fi +#MM +crosstools-llvm-adddirs: + $(Q)$(ECHO) "Adding LLVM project dirs..." + $(Q)$(IF) $(TEST) -d $(HOSTDIR)/Ports/host/libcxx/$(LIBCXX_ARCHBASE); then \ + $(MV) $(HOSTDIR)/Ports/host/libcxx/$(LIBCXX_ARCHBASE) $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/projects/libcxx ; \ + fi + $(Q)$(IF) $(TEST) -d $(HOSTDIR)/Ports/host/libcxxabi/$(LIBCXXABI_ARCHBASE); then \ + $(MV) $(HOSTDIR)/Ports/host/libcxxabi/$(LIBCXXABI_ARCHBASE) $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/projects/libcxxabi ; \ + fi + $(Q)$(ECHO) "Adding LLVM tool dirs..." + $(Q)$(IF) $(TEST) -d $(HOSTDIR)/Ports/host/llvm-lld/$(LLVMLLD_ARCHBASE); then \ + $(MV) $(HOSTDIR)/Ports/host/llvm-lld/$(LLVMLLD_ARCHBASE) $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/tools/lld ; \ + fi + $(Q)$(IF) $(TEST) -d $(HOSTDIR)/Ports/host/clang/$(CLANG_ARCHBASE); then \ + $(MV) $(HOSTDIR)/Ports/host/clang/$(CLANG_ARCHBASE) $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/tools/clang ; \ + fi + + +.PHONY: crosstools-clang-fetch + +ifneq ($(TOOLDIR),) + crosstools-clang-fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-clang-fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-clang-fetch-location := $(PORTSSOURCEDIR) +else + crosstools-clang-fetch-location := $(HOSTDIR)/Ports/host/clang +endif + +crosstools-clang-fetch-fetchedflag := $(crosstools-clang-fetch-location)/.$(CLANG_ARCHBASE)-fetched + +#MM +crosstools-clang-fetch : + $(Q)$(ECHO) "Fetching $(CLANG_ARCHBASE) ..." + $(Q)TOOLDIR="$(crosstools-clang-fetch-tooldir)" $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(CLANG_ARCHBASE) -s "tar.xz" -l $(crosstools-clang-fetch-location) \ + -d $(HOSTDIR)/Ports/host/clang -po "$(SRCDIR)/$(CURDIR)" -p "$(CLANG_ARCHBASE)-aros.diff:$(CLANG_ARCHBASE):-p1" + $(Q)$(IF) ! $(TEST) -f $(crosstools-clang-fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-clang-fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-clang-fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(CLANG_ARCHBASE) ..." \ +# && $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(CLANG_ARCHBASE) -s "tar.xz" -l $(crosstools-clang-fetch-location) \ +# -d $(HOSTDIR)/Ports/host/clang -po "$(SRCDIR)/$(CURDIR)" -p "$(CLANG_ARCHBASE)-aros.diff:$(CLANG_ARCHBASE):-p1" \ +# && $(TOUCH) $(crosstools-clang-fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-clang-create-patch + +ifneq (,) + crosstools-clang-create-patch-exclude := -X ./exclude.patterns +endif + +ifneq (,) + crosstools-clang-create-patch-srcdir := +else + crosstools-clang-create-patch-srcdir := $(CLANG_ARCHBASE) +endif + +#MM- crosstools-clang-create-patch : crosstools-llvm-remdirs crosstools-clang-create-patch-diff +#MM- crosstools-clang-create-patch-quick : crosstools-llvm-remdirs crosstools-clang-create-patch-diff + +#MM +crosstools-clang-create-patch-diff: + $(Q)$(FETCH) -a $(CLANG_ARCHBASE) -s "tar.xz" -l $(PORTSSOURCEDIR) -d $(HOSTDIR)/Ports/host/clang/tmp ; \ + $(MV) $(HOSTDIR)/Ports/host/clang/$(crosstools-clang-create-patch-srcdir) $(HOSTDIR)/Ports/host/clang/tmp/$(crosstools-clang-create-patch-srcdir).aros ; \ + cd $(HOSTDIR)/Ports/host/clang/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(CLANG_ARCHBASE)-aros-new.diff'" ; \ + diff -ruN $(crosstools-clang-create-patch-exclude) \ + $(crosstools-clang-create-patch-srcdir) \ + $(crosstools-clang-create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(CLANG_ARCHBASE)-aros-new.diff ; \ + $(MV) $(HOSTDIR)/Ports/host/clang/tmp/$(crosstools-clang-create-patch-srcdir).aros $(HOSTDIR)/Ports/host/clang/$(crosstools-clang-create-patch-srcdir) ; \ + $(RM) $(HOSTDIR)/Ports/host/clang/tmp + + +.PHONY: crosstools-libcxx-fetch + +ifneq ($(TOOLDIR),) + crosstools-libcxx-fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-libcxx-fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-libcxx-fetch-location := $(PORTSSOURCEDIR) +else + crosstools-libcxx-fetch-location := $(HOSTDIR)/Ports/host/libcxx +endif + +crosstools-libcxx-fetch-fetchedflag := $(crosstools-libcxx-fetch-location)/.$(LIBCXX_ARCHBASE)-fetched + +#MM +crosstools-libcxx-fetch : + $(Q)$(ECHO) "Fetching $(LIBCXX_ARCHBASE) ..." + $(Q)TOOLDIR="$(crosstools-libcxx-fetch-tooldir)" $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(LIBCXX_ARCHBASE) -s "tar.xz" -l $(crosstools-libcxx-fetch-location) \ + -d $(HOSTDIR)/Ports/host/libcxx -po "$(SRCDIR)/$(CURDIR)" -p "::" + $(Q)$(IF) ! $(TEST) -f $(crosstools-libcxx-fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-libcxx-fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-libcxx-fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(LIBCXX_ARCHBASE) ..." \ +# && $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(LIBCXX_ARCHBASE) -s "tar.xz" -l $(crosstools-libcxx-fetch-location) \ +# -d $(HOSTDIR)/Ports/host/libcxx -po "$(SRCDIR)/$(CURDIR)" -p "::" \ +# && $(TOUCH) $(crosstools-libcxx-fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-libcxx-create-patch + +ifneq (,) + crosstools-libcxx-create-patch-exclude := -X ./exclude.patterns +endif + +ifneq (,) + crosstools-libcxx-create-patch-srcdir := +else + crosstools-libcxx-create-patch-srcdir := $(LIBCXX_ARCHBASE) +endif + +#MM- crosstools-libcxx-create-patch : crosstools-llvm-remdirs crosstools-libcxx-create-patch-diff +#MM- crosstools-libcxx-create-patch-quick : crosstools-llvm-remdirs crosstools-libcxx-create-patch-diff + +#MM +crosstools-libcxx-create-patch-diff: + $(Q)$(FETCH) -a $(LIBCXX_ARCHBASE) -s "tar.xz" -l $(PORTSSOURCEDIR) -d $(HOSTDIR)/Ports/host/libcxx/tmp ; \ + $(MV) $(HOSTDIR)/Ports/host/libcxx/$(crosstools-libcxx-create-patch-srcdir) $(HOSTDIR)/Ports/host/libcxx/tmp/$(crosstools-libcxx-create-patch-srcdir).aros ; \ + cd $(HOSTDIR)/Ports/host/libcxx/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(LIBCXX_ARCHBASE)-aros-new.diff'" ; \ + diff -ruN $(crosstools-libcxx-create-patch-exclude) \ + $(crosstools-libcxx-create-patch-srcdir) \ + $(crosstools-libcxx-create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(LIBCXX_ARCHBASE)-aros-new.diff ; \ + $(MV) $(HOSTDIR)/Ports/host/libcxx/tmp/$(crosstools-libcxx-create-patch-srcdir).aros $(HOSTDIR)/Ports/host/libcxx/$(crosstools-libcxx-create-patch-srcdir) ; \ + $(RM) $(HOSTDIR)/Ports/host/libcxx/tmp + + +.PHONY: crosstools-libcxxabi-fetch + +ifneq ($(TOOLDIR),) + crosstools-libcxxabi-fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-libcxxabi-fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-libcxxabi-fetch-location := $(PORTSSOURCEDIR) +else + crosstools-libcxxabi-fetch-location := $(HOSTDIR)/Ports/host/libcxxabi +endif + +crosstools-libcxxabi-fetch-fetchedflag := $(crosstools-libcxxabi-fetch-location)/.$(LIBCXXABI_ARCHBASE)-fetched + +#MM +crosstools-libcxxabi-fetch : + $(Q)$(ECHO) "Fetching $(LIBCXXABI_ARCHBASE) ..." + $(Q)TOOLDIR="$(crosstools-libcxxabi-fetch-tooldir)" $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(LIBCXXABI_ARCHBASE) -s "tar.xz" -l $(crosstools-libcxxabi-fetch-location) \ + -d $(HOSTDIR)/Ports/host/libcxxabi -po "$(SRCDIR)/$(CURDIR)" -p "::" + $(Q)$(IF) ! $(TEST) -f $(crosstools-libcxxabi-fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-libcxxabi-fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-libcxxabi-fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(LIBCXXABI_ARCHBASE) ..." \ +# && $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(LIBCXXABI_ARCHBASE) -s "tar.xz" -l $(crosstools-libcxxabi-fetch-location) \ +# -d $(HOSTDIR)/Ports/host/libcxxabi -po "$(SRCDIR)/$(CURDIR)" -p "::" \ +# && $(TOUCH) $(crosstools-libcxxabi-fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-libcxxabi-create-patch + +ifneq (,) + crosstools-libcxxabi-create-patch-exclude := -X ./exclude.patterns +endif + +ifneq (,) + crosstools-libcxxabi-create-patch-srcdir := +else + crosstools-libcxxabi-create-patch-srcdir := $(LIBCXXABI_ARCHBASE) +endif + +#MM- crosstools-libcxxabi-create-patch : crosstools-llvm-remdirs crosstools-libcxxabi-create-patch-diff +#MM- crosstools-libcxxabi-create-patch-quick : crosstools-llvm-remdirs crosstools-libcxxabi-create-patch-diff + +#MM +crosstools-libcxxabi-create-patch-diff: + $(Q)$(FETCH) -a $(LIBCXXABI_ARCHBASE) -s "tar.xz" -l $(PORTSSOURCEDIR) -d $(HOSTDIR)/Ports/host/libcxxabi/tmp ; \ + $(MV) $(HOSTDIR)/Ports/host/libcxxabi/$(crosstools-libcxxabi-create-patch-srcdir) $(HOSTDIR)/Ports/host/libcxxabi/tmp/$(crosstools-libcxxabi-create-patch-srcdir).aros ; \ + cd $(HOSTDIR)/Ports/host/libcxxabi/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(LIBCXXABI_ARCHBASE)-aros-new.diff'" ; \ + diff -ruN $(crosstools-libcxxabi-create-patch-exclude) \ + $(crosstools-libcxxabi-create-patch-srcdir) \ + $(crosstools-libcxxabi-create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(LIBCXXABI_ARCHBASE)-aros-new.diff ; \ + $(MV) $(HOSTDIR)/Ports/host/libcxxabi/tmp/$(crosstools-libcxxabi-create-patch-srcdir).aros $(HOSTDIR)/Ports/host/libcxxabi/$(crosstools-libcxxabi-create-patch-srcdir) ; \ + $(RM) $(HOSTDIR)/Ports/host/libcxxabi/tmp + + +.PHONY: crosstools-llvm-lld-fetch + +ifneq ($(TOOLDIR),) + crosstools-llvm-lld-fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-llvm-lld-fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-llvm-lld-fetch-location := $(PORTSSOURCEDIR) +else + crosstools-llvm-lld-fetch-location := $(HOSTDIR)/Ports/host/llvm-lld +endif + +crosstools-llvm-lld-fetch-fetchedflag := $(crosstools-llvm-lld-fetch-location)/.$(LLVMLLD_ARCHBASE)-fetched + +#MM +crosstools-llvm-lld-fetch : + $(Q)$(ECHO) "Fetching $(LLVMLLD_ARCHBASE) ..." + $(Q)TOOLDIR="$(crosstools-llvm-lld-fetch-tooldir)" $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(LLVMLLD_ARCHBASE) -s "tar.xz" -l $(crosstools-llvm-lld-fetch-location) \ + -d $(HOSTDIR)/Ports/host/llvm-lld -po "$(SRCDIR)/$(CURDIR)" -p "::" + $(Q)$(IF) ! $(TEST) -f $(crosstools-llvm-lld-fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-llvm-lld-fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-llvm-lld-fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(LLVMLLD_ARCHBASE) ..." \ +# && $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(LLVMLLD_ARCHBASE) -s "tar.xz" -l $(crosstools-llvm-lld-fetch-location) \ +# -d $(HOSTDIR)/Ports/host/llvm-lld -po "$(SRCDIR)/$(CURDIR)" -p "::" \ +# && $(TOUCH) $(crosstools-llvm-lld-fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-llvm-lld-create-patch + +ifneq (,) + crosstools-llvm-lld-create-patch-exclude := -X ./exclude.patterns +endif + +ifneq (,) + crosstools-llvm-lld-create-patch-srcdir := +else + crosstools-llvm-lld-create-patch-srcdir := $(LLVMLLD_ARCHBASE) +endif + +#MM- crosstools-llvm-lld-create-patch : crosstools-llvm-remdirs crosstools-llvm-lld-create-patch-diff +#MM- crosstools-llvm-lld-create-patch-quick : crosstools-llvm-remdirs crosstools-llvm-lld-create-patch-diff + +#MM +crosstools-llvm-lld-create-patch-diff: + $(Q)$(FETCH) -a $(LLVMLLD_ARCHBASE) -s "tar.xz" -l $(PORTSSOURCEDIR) -d $(HOSTDIR)/Ports/host/llvm-lld/tmp ; \ + $(MV) $(HOSTDIR)/Ports/host/llvm-lld/$(crosstools-llvm-lld-create-patch-srcdir) $(HOSTDIR)/Ports/host/llvm-lld/tmp/$(crosstools-llvm-lld-create-patch-srcdir).aros ; \ + cd $(HOSTDIR)/Ports/host/llvm-lld/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(LLVMLLD_ARCHBASE)-aros-new.diff'" ; \ + diff -ruN $(crosstools-llvm-lld-create-patch-exclude) \ + $(crosstools-llvm-lld-create-patch-srcdir) \ + $(crosstools-llvm-lld-create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(LLVMLLD_ARCHBASE)-aros-new.diff ; \ + $(MV) $(HOSTDIR)/Ports/host/llvm-lld/tmp/$(crosstools-llvm-lld-create-patch-srcdir).aros $(HOSTDIR)/Ports/host/llvm-lld/$(crosstools-llvm-lld-create-patch-srcdir) ; \ + $(RM) $(HOSTDIR)/Ports/host/llvm-lld/tmp + + +.PHONY: crosstools-llvm-fetch + +ifneq ($(TOOLDIR),) + crosstools-llvm-fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-llvm-fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-llvm-fetch-location := $(PORTSSOURCEDIR) +else + crosstools-llvm-fetch-location := $(HOSTDIR)/Ports/host/llvm +endif + +crosstools-llvm-fetch-fetchedflag := $(crosstools-llvm-fetch-location)/.$(LLVM_ARCHBASE)-fetched + +#MM +crosstools-llvm-fetch : + $(Q)$(ECHO) "Fetching $(LLVM_ARCHBASE) ..." + $(Q)TOOLDIR="$(crosstools-llvm-fetch-tooldir)" $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(LLVM_ARCHBASE) -s "tar.xz" -l $(crosstools-llvm-fetch-location) \ + -d $(HOSTDIR)/Ports/host/llvm -po "$(SRCDIR)/$(CURDIR)" -p "$(LLVM_ARCHBASE)-aros.diff:$(LLVM_ARCHBASE):-p1" + $(Q)$(IF) ! $(TEST) -f $(crosstools-llvm-fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-llvm-fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-llvm-fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(LLVM_ARCHBASE) ..." \ +# && $(FETCH) -ao "$(LLVM_REPOSITORY)" -a $(LLVM_ARCHBASE) -s "tar.xz" -l $(crosstools-llvm-fetch-location) \ +# -d $(HOSTDIR)/Ports/host/llvm -po "$(SRCDIR)/$(CURDIR)" -p "$(LLVM_ARCHBASE)-aros.diff:$(LLVM_ARCHBASE):-p1" \ +# && $(TOUCH) $(crosstools-llvm-fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-llvm-create-patch + +ifneq (,) + crosstools-llvm-create-patch-exclude := -X ./exclude.patterns +endif + +ifneq (,) + crosstools-llvm-create-patch-srcdir := +else + crosstools-llvm-create-patch-srcdir := $(LLVM_ARCHBASE) +endif + +#MM- crosstools-llvm-create-patch : crosstools-llvm-remdirs crosstools-llvm-create-patch-diff +#MM- crosstools-llvm-create-patch-quick : crosstools-llvm-remdirs crosstools-llvm-create-patch-diff + +#MM +crosstools-llvm-create-patch-diff: + $(Q)$(FETCH) -a $(LLVM_ARCHBASE) -s "tar.xz" -l $(PORTSSOURCEDIR) -d $(HOSTDIR)/Ports/host/llvm/tmp ; \ + $(MV) $(HOSTDIR)/Ports/host/llvm/$(crosstools-llvm-create-patch-srcdir) $(HOSTDIR)/Ports/host/llvm/tmp/$(crosstools-llvm-create-patch-srcdir).aros ; \ + cd $(HOSTDIR)/Ports/host/llvm/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(LLVM_ARCHBASE)-aros-new.diff'" ; \ + diff -ruN $(crosstools-llvm-create-patch-exclude) \ + $(crosstools-llvm-create-patch-srcdir) \ + $(crosstools-llvm-create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(LLVM_ARCHBASE)-aros-new.diff ; \ + $(MV) $(HOSTDIR)/Ports/host/llvm/tmp/$(crosstools-llvm-create-patch-srcdir).aros $(HOSTDIR)/Ports/host/llvm/$(crosstools-llvm-create-patch-srcdir) ; \ + $(RM) $(HOSTDIR)/Ports/host/llvm/tmp + +#MM crosstools-llvm-fetch : crosstools-clang-fetch crosstools-libcxx-fetch crosstools-libcxxabi-fetch crosstools-llvm-lld-fetch + +#MM- tools-crosstools-llvm-i386 : crosstools-llvm-quick +#MM- tools-crosstools-llvm-x86_64 : crosstools-llvm-quick +#MM- tools-crosstools-llvm-ppc : crosstools-llvm-quick +#MM- tools-crosstools-llvm-arm : crosstools-llvm-quick + +#MM- crosstools-llvm-quick : setup crosstools-llvm-fetch + + +ifneq ($(CROSSTOOLSDIR),) + crosstools-llvm-prefix := $(CROSSTOOLSDIR) +else + crosstools-llvm-prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-llvm-aros_prefix := +else + crosstools-llvm-aros_prefix := $(crosstools-llvm-prefix) +endif + +ifeq (host,host) + BD_LDFLAGS := $(HOST_LDFLAGS) -L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS) + BD_CFLAGS := $(HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include + BD_CXXFLAGS := $(HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include + BD_CPPFLAGS := $(HOST_CPPFLAGS) + crosstools-llvm-cmake_opts := -DCMAKE_INSTALL_PREFIX=$(crosstools-llvm-prefix) \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_LINKER="$(strip $(HOST_LD))" \ + -DCMAKE_EXE_LINKER_FLAGS="$(strip $(BD_LDFLAGS))" + ifeq (no,yes) + crosstools-llvm-cmake_opts += -DCMAKE_CXX_LINK_EXECUTABLE=" -o " + endif + ifneq ($(CC_PREFIX),) + crosstools-llvm-cmake_opts += -DCMAKE_C_COMPILER="$(strip $(subst $(CC_PREFIX),,$(HOST_DEF_CC)))" + else + crosstools-llvm-cmake_opts += -DCMAKE_C_COMPILER="$(strip $(HOST_DEF_CC))" + endif + ifeq (yes,yes) + crosstools-llvm-cmake_opts += -DCMAKE_C_FLAGS="$(strip $(BD_CFLAGS))" + endif + ifeq (yes,yes) + crosstools-llvm-cmake_opts += -DCMAKE_CPP_FLAGS="$(strip $(BD_CPPFLAGS))" + endif + ifneq ($(CC_PREFIX),) + crosstools-llvm-cmake_opts += -DCMAKE_CXX_COMPILER="$(strip $(subst $(CC_PREFIX),,$(HOST_CXX)))" + else + crosstools-llvm-cmake_opts += -DCMAKE_CXX_COMPILER="$(strip $(HOST_CXX))" + endif + ifeq (yes,yes) + crosstools-llvm-cmake_opts += -DCMAKE_CXX_FLAGS="$(strip $(BD_CXXFLAGS))" + endif + ifeq (llvm,) + crosstools-llvm-pkgdir := $(HOSTGENDIR)/$(CURDIR) + else + crosstools-llvm-pkgdir := $(HOSTGENDIR)/$(CURDIR)/llvm + endif +else + BD_LDFLAGS := $(strip $(LDFLAGS) ) + BD_CFLAGS := $(strip $(CFLAGS) ) + BD_CXXFLAGS := $(strip $(CXXFLAGS) ) + BD_CPPFLAGS := $(strip $(CPPFLAGS) ) + crosstools-llvm-cmake_opts := -DCMAKE_TOOLCHAIN_FILE=$(GENDIR)/config/conf.cmake -DCMAKE_INSTALL_PREFIX=$(crosstools-llvm-prefix) + ifeq (yes,yes) + crosstools-llvm-cmake_opts += -DCMAKE_C_FLAGS="$(strip $(BD_CFLAGS))" + endif + ifeq (yes,yes) + crosstools-llvm-cmake_opts += -DCMAKE_CPP_FLAGS="$(strip $(BD_CPPFLAGS))" + endif + ifeq (yes,yes) + crosstools-llvm-cmake_opts += -DCMAKE_CXX_FLAGS="$(strip $(BD_CXXFLAGS))" + endif + crosstools-llvm-cmake_opts += -DCMAKE_EXE_LINKER_FLAGS="$(strip $(BD_LDFLAGS))" + ifeq (llvm,) + crosstools-llvm-pkgdir := $(GENDIR)/$(CURDIR) + else + crosstools-llvm-pkgdir := $(GENDIR)/$(CURDIR)/llvm + endif +endif +ifneq (,) + ifeq (llvm,) + crosstools-llvm-pkgdir := /$(CURDIR) + else + crosstools-llvm-pkgdir := /$(CURDIR)/llvm + endif +endif + +crosstools-llvm-cmakeflag := $(crosstools-llvm-pkgdir)/.cmake +crosstools-llvm-installflag := $(crosstools-llvm-pkgdir)/.installed + +.PHONY : crosstools-llvm crosstools-llvm-clean crosstools-llvm-build_and_install-quick + +#MM- crosstools-llvm: setup includes core-linklibs crosstools-llvm-quick + +#MM- crosstools-llvm-quick : crosstools-llvm-cmake crosstools-llvm-build_and_install-quick + +#MM +crosstools-llvm-build_and_install-quick : $(crosstools-llvm-installflag) + +$(crosstools-llvm-installflag) : $(crosstools-llvm-cmakeflag) + $(IF) ! $(MAKE) -q -C $(crosstools-llvm-pkgdir); then \ + $(RM) $(crosstools-llvm-installflag) && \ + $(MAKE) -C $(crosstools-llvm-pkgdir) $(LLVM_CMAKETARGET) && \ + cd $(crosstools-llvm-pkgdir) && \ + cmake -P cmake_install.cmake && \ + $(TOUCH) $@ -r $^; \ + fi + +crosstools-llvm-touchfileflag ?= $(crosstools-llvm-pkgdir)/.files-touched +ifneq ($(crosstools-llvm-touchfileflag),) +$(crosstools-llvm-touchfileflag): + $(Q)$(FOR) dir in $(crosstools-llvm-pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + find $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE) -exec $(TOUCH) -c -r $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE)/CMakeLists.txt '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-llvm-cmake : crosstools-llvm-adddirs $(crosstools-llvm-cmakeflag) + +$(crosstools-llvm-cmakeflag) : TMP_SRCDIR := $(shell echo $(HOSTDIR)/Ports/host/llvm/$(LLVM_ARCHBASE) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-llvm-cmakeflag) : $(crosstools-llvm-touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(RM) $@ + $(Q)$(FOR) dir in $(crosstools-llvm-pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + cd $(crosstools-llvm-pkgdir) && \ + $(RM) -Rf CMakeCache.txt CMakeFiles \; && \ + cmake $(crosstools-llvm-cmake_opts) $(LLVM_CMAKEOPTIONS) $(TMP_SRCDIR) && \ + $(TOUCH) $@ + +#MM +crosstools-llvm-clean : crosstools-llvm-uninstall + $(Q)$(RM) $(crosstools-llvm-pkgdir) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/crosstools/vasm/mmakefile b/tools/crosstools/vasm/mmakefile new file mode 100644 index 00000000000..ce2c60cc847 --- /dev/null +++ b/tools/crosstools/vasm/mmakefile @@ -0,0 +1,37 @@ +include $(SRCDIR)/config/aros.cfg +-include $(SRCDIR)/tools/crosstools/$(AROS_TOOLCHAIN).cfg + +#MM- tools-crosstools-gnu-m68k : tools-crosstools-vasm68k_mot + +GIT_VASM := https://github.com/leffmann/vasm + +# ================================================= +# vasm +# ================================================= +VASM_CMD := vasmm68k_mot +VASM := $(patsubst %,$(CROSSTOOLSDIR)/%$(EXEEXT), $(VASM_CMD)) + +#MM +tools-crosstools-vasm68k_mot : $(CROSSTOOLSDIR)/vasmm68k_mot $(CROSSTOOLSDIR)/vobjdump + +$(CROSSTOOLSDIR)/vobjdump : $(CROSSTOOLSDIR)/vasmm68k_mot + +$(CROSSTOOLSDIR)/vasmm68k_mot : $(HOSTGENDIR)/$(CURDIR)/vasm/Makefile + $(Q)$(MKDIR) -p $(HOSTGENDIR)/$(CURDIR)/vasm/objtools-crosstools-vasm68k_mot + $(Q)$(ECHO)"make vasm" && $(MAKE) -C $(HOSTGENDIR)/$(CURDIR)/vasm CPU=m68k SYNTAX=mot + $(Q)$(MV) -f $(HOSTGENDIR)/$(CURDIR)/vasm/vasmm68k_mottools-crosstools-vasm68k_mot $(HOSTGENDIR)/$(CURDIR)/vasm/vasmm68k_mot + $(Q)$(MV) -f $(HOSTGENDIR)/$(CURDIR)/vasm/vobjdumptools-crosstools-vasm68k_mot $(HOSTGENDIR)/$(CURDIR)/vasm/vobjdump + $(Q)$(ECHO)"install vasm" && install $(HOSTGENDIR)/$(CURDIR)/vasm/vasmm68k_mot $(CROSSTOOLSDIR)/ ;\ + install $(HOSTGENDIR)/$(CURDIR)/vasm/vobjdump $(CROSSTOOLSDIR)/ + +$(HOSTGENDIR)/$(CURDIR)/vasm/Makefile : + @$(MKDIR) -p $(HOSTGENDIR)/$(CURDIR) + git clone -b master --depth 4 $(GIT_VASM) $(HOSTGENDIR)/$(CURDIR)/vasm +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/fd2pragma/mmakefile b/tools/fd2pragma/mmakefile new file mode 100644 index 00000000000..64c5b4b7a50 --- /dev/null +++ b/tools/fd2pragma/mmakefile @@ -0,0 +1,631 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- contrib-development : tools-fd2pragma +#MM tools-fd2pragma : includes linklibs + +FILES := fd2pragma +EXEDIR := $(AROS_CONTRIB)/$(AROS_DIR_DEVELOPER)/Build +NOWARN_FLAGS := $(NOWARN_FORMAT) $(NOWARN_UNUSED_BUT_SET_VARIABLE) +USER_CFLAGS := $(NOWARN_FLAGS) -DFD2PRAGMA_READARGS -DFD2PRAGMA_AMIGA + + +.PHONY : tools-fd2pragma + +tools-fd2pragma_PROGNAME := fd2pragma +tools-fd2pragma_OBJDIR := $(GENDIR)/$(CURDIR) +tools-fd2pragma_TARGETDIR := $(EXEDIR) +tools-fd2pragma_LINKER := +tools-fd2pragma_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(tools-fd2pragma_LINKER),) + tools-fd2pragma_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + tools-fd2pragma_FILES := $(FILES) + tools-fd2pragma_OBJCFILES := + tools-fd2pragma_ASMFILES := + tools-fd2pragma_CXXFILES := +else + tools-fd2pragma_FILES := $(tools-fd2pragma_PROGNAME) + tools-fd2pragma_OBJCFILES := + tools-fd2pragma_ASMFILES := + tools-fd2pragma_CXXFILES := +endif + +tools-fd2pragma_ARCHOBJS := $(wildcard $(tools-fd2pragma_OBJDIR)/arch/*.o) +tools-fd2pragma_ARCHFILES := $(basename $(notdir $(tools-fd2pragma_ARCHOBJS))) +tools-fd2pragma_C_NARCHFILES := $(filter-out $(tools-fd2pragma_ARCHFILES),$(tools-fd2pragma_FILES)) +tools-fd2pragma_CXX_NARCHFILES := $(filter-out $(tools-fd2pragma_ARCHFILES),$(tools-fd2pragma_CXXFILES)) +tools-fd2pragma_OBJC_NARCHFILES := $(filter-out $(tools-fd2pragma_ARCHFILES),$(tools-fd2pragma_OBJCFILES)) + +TMP_FILES := $(tools-fd2pragma_C_NARCHFILES) $(tools-fd2pragma_CXX_NARCHFILES) $(tools-fd2pragma_ASMFILES) $(tools-fd2pragma_OBJC_NARCHFILES) +tools-fd2pragma_OBJS := $(addsuffix .o,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(notdir $(TMP_FILES)))) +tools-fd2pragma_DEPS := $(addsuffix .d,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(notdir $(TMP_FILES)))) + +tools-fd2pragma_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +tools-fd2pragma_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +tools-fd2pragma_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +tools-fd2pragma_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +tools-fd2pragma_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +tools-fd2pragma_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +tools-fd2pragma_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +tools-fd2pragma_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +tools-fd2pragma_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +tools-fd2pragma_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +tools-fd2pragma_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +tools-fd2pragma_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +tools-fd2pragma_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +tools-fd2pragma_LDFLAGS := +endif + +tools-fd2pragma_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +tools-fd2pragma_COVERAGE := yes +tools-fd2pragma_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +tools-fd2pragma_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +tools-fd2pragma_CFLAGS := $(strip $(tools-fd2pragma_COVERAGEFLAGS) $(tools-fd2pragma_CFLAGS)) +tools-fd2pragma_CXXFLAGS := $(strip $(tools-fd2pragma_COVERAGEFLAGS) $(tools-fd2pragma_CXXFLAGS)) +tools-fd2pragma_LIBS += $(tools-fd2pragma_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +tools-fd2pragma_FUNCINSTR := yes +tools-fd2pragma_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +tools-fd2pragma_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +tools-fd2pragma_CFLAGS := $(strip $(tools-fd2pragma_INSTRFUNCFLAGS) $(tools-fd2pragma_CFLAGS)) +tools-fd2pragma_CXXFLAGS := $(strip $(tools-fd2pragma_INSTRFUNCFLAGS) $(tools-fd2pragma_CXXFLAGS)) +tools-fd2pragma_LIBS += $(tools-fd2pragma_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +tools-fd2pragma_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(tools-fd2pragma_CFLAGS)) +tools-fd2pragma_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(tools-fd2pragma_CXXFLAGS)) +endif +endif +tools-fd2pragma_AFLAGS := $(AFLAGS) +ifneq (,) + tools-fd2pragma_DFLAGS := +else + tools-fd2pragma_DFLAGS := $(tools-fd2pragma_CFLAGS) +endif +ifneq (,) + tools-fd2pragma_DXXFLAGS := +else + tools-fd2pragma_DXXFLAGS := $(tools-fd2pragma_CXXFLAGS) +endif +ifeq (target,target) +tools-fd2pragma_LDFLAGS := $(tools-fd2pragma_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +tools-fd2pragma_LDFLAGS := $(tools-fd2pragma_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +tools-fd2pragma_LDFLAGS := $(tools-fd2pragma_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +tools-fd2pragma_LDFLAGS += -L +endif + +#MM +tools-fd2pragma-quick : tools-fd2pragma + +#MM tools-fd2pragma : includes-generate-deps core-linklibs +tools-fd2pragma : $(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) + +ifneq ($(filter $(TARGET),tools-fd2pragma tools-fd2pragma-quick tools-fd2pragma-gz-quick),) + +tools-fd2pragma_CXXABSBASENAMES := $(foreach tools-fd2pragma_CXXBASE,$(tools-fd2pragma_CXX_NARCHFILES),$(if $(filter /%,$(tools-fd2pragma_CXXBASE)),$(tools-fd2pragma_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(tools-fd2pragma_CXXBASE)))) + +ifneq ($(tools-fd2pragma_CXXABSBASENAMES),) + +tools-fd2pragma_CXXBASENAMES := $(basename $(tools-fd2pragma_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +tools-fd2pragma_MCXX_FILES := $(strip $(foreach tools-fd2pragma_CXXBASE,$(tools-fd2pragma_CXXABSBASENAMES), $(firstword $(wildcard $(foreach tools-fd2pragma_EXT, $(AROS_CXXEXTS),$(addsuffix .$(tools-fd2pragma_EXT),$(tools-fd2pragma_CXXBASE))))))) + +ifeq (,) +tools-fd2pragma_MCXX_SRCWILDCARD := % +else +tools-fd2pragma_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(tools-fd2pragma_OBJDIR),) + tools-fd2pragma_CXXTARGETS := $(notdir $(tools-fd2pragma_CXXBASENAMES:=.o)) + tools-fd2pragma_CXXDTARGETS := $(notdir $(tools-fd2pragma_CXXBASENAMES:=.d)) + tools-fd2pragma_MCXX_WILDCARD := % +else + tools-fd2pragma_CXXTARGETS := $(addprefix $(tools-fd2pragma_OBJDIR)/,$(notdir $(tools-fd2pragma_CXXBASENAMES:=.o))) + tools-fd2pragma_CXXDTARGETS := $(addprefix $(tools-fd2pragma_OBJDIR)/,$(notdir $(tools-fd2pragma_CXXBASENAMES:=.d))) + tools-fd2pragma_MCXX_WILDCARD := $(tools-fd2pragma_OBJDIR)/% + + # Be sure that all source files are generated + $(tools-fd2pragma_CXXTARGETS) $(tools-fd2pragma_CXXDTARGETS) : | $(tools-fd2pragma_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +tools-fd2pragma_MCXX_CPPFLAGS := $(tools-fd2pragma_CPPFLAGS) +tools-fd2pragma_CXXFLAGS := $(tools-fd2pragma_CXXFLAGS) +ifeq ($(tools-fd2pragma_DXXFLAGS),) + tools-fd2pragma_DXXFLAGS := $(tools-fd2pragma_CXXFLAGS) +else + tools-fd2pragma_DXXFLAGS := $(tools-fd2pragma_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + tools-fd2pragma_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + tools-fd2pragma_STRIP ?= $(HOST_STRIP) + tools-fd2pragma_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + tools-fd2pragma_CXXCMD:=$(HOST_CXX) + tools-fd2pragma_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(tools-fd2pragma_MCXX_CPPFLAGS) $(tools-fd2pragma_MCXX_EXTRA_CPPFLAGS)) + tools-fd2pragma_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(tools-fd2pragma_CXXFLAGS)) + tools-fd2pragma_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(tools-fd2pragma_DXXFLAGS)) + tools-fd2pragma_CXXIQUOTE:=$(HOST_IQUOTE) + tools-fd2pragma_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + tools-fd2pragma_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + tools-fd2pragma_STRIP ?= $(TARGET_STRIP) + tools-fd2pragma_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + tools-fd2pragma_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + tools-fd2pragma_MCXX_CPPFLAGS := $(strip $(tools-fd2pragma_MCXX_CPPFLAGS) $(tools-fd2pragma_MCXX_EXTRA_CPPFLAGS)) + tools-fd2pragma_CXXFLAGS := $(strip $(tools-fd2pragma_CXXFLAGS) $(SAFETY_CFLAGS)) + tools-fd2pragma_DXXFLAGS := $(tools-fd2pragma_DXXFLAGS) + tools-fd2pragma_CXXIQUOTE:=$(CFLAGS_IQUOTE) + tools-fd2pragma_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + tools-fd2pragma_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + tools-fd2pragma_STRIP ?= $(ECHO) >/dev/null + tools-fd2pragma_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + tools-fd2pragma_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + tools-fd2pragma_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(tools-fd2pragma_MCXX_CPPFLAGS) $(tools-fd2pragma_MCXX_EXTRA_CPPFLAGS)) + tools-fd2pragma_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(tools-fd2pragma_CXXFLAGS)) + tools-fd2pragma_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(tools-fd2pragma_DXXFLAGS)) + tools-fd2pragma_CXXIQUOTE:=$(KERNEL_IQUOTE) + tools-fd2pragma_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(tools-fd2pragma_CXXCMD) $(tools-fd2pragma_CXXIQUOTE) $(dir $(2)) $(tools-fd2pragma_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_CXXIQUOTE) . $(tools-fd2pragma_CXXIQUOTE_END) $(strip $(tools-fd2pragma_CXXFLAGS) $(tools-fd2pragma_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(tools-fd2pragma_CXXCMD) $(tools-fd2pragma_CXXIQUOTE) $(dir $(2)) $(tools-fd2pragma_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_CXXIQUOTE) . $(tools-fd2pragma_CXXIQUOTE_END) $(strip $(tools-fd2pragma_CXXFLAGS) $(tools-fd2pragma_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(tools-fd2pragma_CXXCMD) $(tools-fd2pragma_CXXIQUOTE) $(dir $(2)) $(tools-fd2pragma_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_CXXIQUOTE) . $(tools-fd2pragma_CXXIQUOTE_END) $(strip $(tools-fd2pragma_CXXFLAGS) $(tools-fd2pragma_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(tools-fd2pragma_CXXCMD)" $(MKDEPEND) $(strip $(tools-fd2pragma_DXXFLAGS) $(tools-fd2pragma_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(tools-fd2pragma_OBJDIR),) + $(foreach tools-fd2pragma_CXXFILE,$(tools-fd2pragma_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(tools-fd2pragma_CXXFILE))),$(tools-fd2pragma_CXXFILE)))) +else + $(foreach tools-fd2pragma_CXXFILE,$(tools-fd2pragma_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(notdir $(basename $(tools-fd2pragma_CXXFILE)))),$(tools-fd2pragma_CXXFILE)))) +endif + +endif + + +ifneq ($(tools-fd2pragma_OBJC_NARCHFILES),) + +ifeq (,) +tools-fd2pragma_MOBJC_SRCWILDCARD := % +else +tools-fd2pragma_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(tools-fd2pragma_OBJDIR),) + tools-fd2pragma_MOBJC_TARGETS := $(addsuffix .o,$(tools-fd2pragma_OBJC_NARCHFILES)) + tools-fd2pragma_MOBJC_DTARGETS := $(addsuffix .d,$(tools-fd2pragma_OBJC_NARCHFILES)) + tools-fd2pragma_MOBJC_WILDCARD := % +else + tools-fd2pragma_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(tools-fd2pragma_OBJC_NARCHFILES))) + tools-fd2pragma_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(tools-fd2pragma_OBJC_NARCHFILES))) + tools-fd2pragma_MOBJC_WILDCARD := $(tools-fd2pragma_OBJDIR)/% + + # Be sure that all .m files are generated + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : | $(addsuffix .m,$(tools-fd2pragma_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + tools-fd2pragma_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + tools-fd2pragma_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(tools-fd2pragma_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + tools-fd2pragma_MOBJC_DIRS := $(foreach dir, $(tools-fd2pragma_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-fd2pragma_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(tools-fd2pragma_MOBJC_DIRS),) + tools-fd2pragma_MOBJC_DIRS := $(shell echo $(tools-fd2pragma_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(tools-fd2pragma_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + tools-fd2pragma_CC := $(TARGET_CC) +else + tools-fd2pragma_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +tools-fd2pragma_MOBJC_CPPFLAGS := $(tools-fd2pragma_CPPFLAGS) +tools-fd2pragma_OBJCFLAGS := $(tools-fd2pragma_CFLAGS) +tools-fd2pragma_OBJCFLAGS := $(tools-fd2pragma_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +tools-fd2pragma_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(tools-fd2pragma_OBJCFLAGS))) +ifeq ($(tools-fd2pragma_DFLAGS),) + tools-fd2pragma_OBJCDFLAGS := $(tools-fd2pragma_CFLAGS) +else + tools-fd2pragma_OBJCDFLAGS := $(tools-fd2pragma_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + tools-fd2pragma_LINK ?= $(strip $(tools-fd2pragma_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + tools-fd2pragma_STRIP ?= $(TARGET_STRIP) + tools-fd2pragma_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : CMD:=$(strip $(tools-fd2pragma_CC) $(TARGET_SYSROOT)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_MOBJC_CPPFLAGS:=$(strip $(tools-fd2pragma_MOBJC_CPPFLAGS) $(tools-fd2pragma_MOBJC_EXTRA_CPPFLAGS)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_OBJCFLAGS:=$(strip $(tools-fd2pragma_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_OBJCDFLAGS:=$(tools-fd2pragma_OBJCDFLAGS) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_IQUOTE:=$(CFLAGS_IQUOTE) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + tools-fd2pragma_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + tools-fd2pragma_STRIP ?= $(HOST_STRIP) + tools-fd2pragma_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(tools-fd2pragma_MOBJC_CPPFLAGS) $(tools-fd2pragma_MOBJC_EXTRA_CPPFLAGS)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(tools-fd2pragma_OBJCFLAGS)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(tools-fd2pragma_OBJCDFLAGS)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_IQUOTE:=$(HOST_IQUOTE) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + tools-fd2pragma_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + tools-fd2pragma_STRIP ?= $(ECHO) >/dev/null + tools-fd2pragma_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(tools-fd2pragma_MOBJC_CPPFLAGS) $(tools-fd2pragma_MOBJC_EXTRA_CPPFLAGS)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-fd2pragma_OBJCFLAGS)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-fd2pragma_OBJCDFLAGS)) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_IQUOTE:=$(KERNEL_IQUOTE) + $(tools-fd2pragma_MOBJC_TARGETS) $(tools-fd2pragma_MOBJC_DTARGETS) : tools-fd2pragma_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(tools-fd2pragma_MOBJC_TARGETS) : CPPFLAGS := $(tools-fd2pragma_MOBJC_CPPFLAGS) +$(tools-fd2pragma_MOBJC_TARGETS) : CFLAGS := $(tools-fd2pragma_OBJCFLAGS) +$(tools-fd2pragma_MOBJC_TARGETS) : $(tools-fd2pragma_MOBJC_WILDCARD).o : $(tools-fd2pragma_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(tools-fd2pragma_IQUOTE) $(dir $<) $(tools-fd2pragma_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_IQUOTE) . $(tools-fd2pragma_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(tools-fd2pragma_IQUOTE) $(dir $<) $(tools-fd2pragma_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_IQUOTE) . $(tools-fd2pragma_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(tools-fd2pragma_IQUOTE) $(dir $<) $(tools-fd2pragma_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_IQUOTE) . $(tools-fd2pragma_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(tools-fd2pragma_MOBJC_DTARGETS) : $(tools-fd2pragma_MOBJC_WILDCARD).d : $(tools-fd2pragma_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(tools-fd2pragma_OBJCDFLAGS) $(tools-fd2pragma_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +tools-fd2pragma_MC_SRCWILDCARD := % +else +tools-fd2pragma_MC_SRCWILDCARD := /% +endif + +ifeq ($(tools-fd2pragma_OBJDIR),) +tools-fd2pragma_MC_TARGETS := $(addsuffix .o,$(tools-fd2pragma_C_NARCHFILES)) +tools-fd2pragma_MC_DTARGETS := $(addsuffix .d,$(tools-fd2pragma_C_NARCHFILES)) +tools-fd2pragma_MC_TGTWILDCARD := % +else +ifeq (no,no) + tools-fd2pragma_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(notdir $(tools-fd2pragma_C_NARCHFILES)))) + tools-fd2pragma_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(notdir $(tools-fd2pragma_C_NARCHFILES)))) +else +ifeq (,) + tools-fd2pragma_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(tools-fd2pragma_C_NARCHFILES))) + tools-fd2pragma_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(tools-fd2pragma_C_NARCHFILES))) +else + tools-fd2pragma_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(patsubst /%,%,$(tools-fd2pragma_C_NARCHFILES)))) + tools-fd2pragma_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(patsubst /%,%,$(tools-fd2pragma_C_NARCHFILES)))) +endif +endif +tools-fd2pragma_MC_TGTWILDCARD := $(tools-fd2pragma_OBJDIR)/% + +# Be sure that all .c files are generated +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : | $(addsuffix .c,$(tools-fd2pragma_C_NARCHFILES)) + +# Be sure that all .c files are found +tools-fd2pragma_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +tools-fd2pragma_MC_BASEDIRS := $(shell echo $(sort $(dir $(tools-fd2pragma_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +tools-fd2pragma_MC_DIRS := $(foreach dir, $(tools-fd2pragma_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-fd2pragma_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(tools-fd2pragma_MC_DIRS),) + tools-fd2pragma_MC_DIRS := $(shell echo $(tools-fd2pragma_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(tools-fd2pragma_MC_DIRS) +endif + +endif + +tools-fd2pragma_MC_CPPFLAGS := $(tools-fd2pragma_CPPFLAGS) +tools-fd2pragma_CFLAGS := $(tools-fd2pragma_CFLAGS) +ifeq ($(tools-fd2pragma_DFLAGS),) + tools-fd2pragma_DFLAGS := $(tools-fd2pragma_CFLAGS) +else + tools-fd2pragma_DFLAGS := $(tools-fd2pragma_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +tools-fd2pragma_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +tools-fd2pragma_STRIP ?= $(TARGET_STRIP) +tools-fd2pragma_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_MC_CPPFLAGS:=$(strip $(tools-fd2pragma_MC_CPPFLAGS) $(tools-fd2pragma_MC_EXTRA_CPPFLAGS)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_CFLAGS:=$(strip $(tools-fd2pragma_CFLAGS) $(SAFETY_CFLAGS)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_DFLAGS:=$(tools-fd2pragma_DFLAGS) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_IQUOTE:=$(CFLAGS_IQUOTE) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +tools-fd2pragma_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +tools-fd2pragma_STRIP ?= $(HOST_STRIP) +tools-fd2pragma_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : CMD:=$(HOST_CC) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(tools-fd2pragma_MC_CPPFLAGS) $(tools-fd2pragma_MC_EXTRA_CPPFLAGS)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_CFLAGS:=$(strip $(HOST_CFLAGS) $(tools-fd2pragma_CFLAGS)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_DFLAGS:=$(strip $(HOST_CFLAGS) $(tools-fd2pragma_DFLAGS)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_IQUOTE:=$(HOST_IQUOTE) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +tools-fd2pragma_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +tools-fd2pragma_STRIP ?= $(ECHO) >/dev/null +tools-fd2pragma_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(tools-fd2pragma_MC_CPPFLAGS) $(tools-fd2pragma_MC_EXTRA_CPPFLAGS)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-fd2pragma_CFLAGS)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-fd2pragma_DFLAGS)) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_IQUOTE:=$(KERNEL_IQUOTE) +$(tools-fd2pragma_MC_TARGETS) $(tools-fd2pragma_MC_DTARGETS) : tools-fd2pragma_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(tools-fd2pragma_MC_TARGETS) : CPPFLAGS := $(tools-fd2pragma_MC_CPPFLAGS) +$(tools-fd2pragma_MC_TARGETS) : CFLAGS := $(tools-fd2pragma_CFLAGS) +$(tools-fd2pragma_MC_TARGETS) : $(tools-fd2pragma_MC_TGTWILDCARD).o : $(tools-fd2pragma_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(tools-fd2pragma_IQUOTE) $(dir $<) $(tools-fd2pragma_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_IQUOTE) . $(tools-fd2pragma_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(tools-fd2pragma_IQUOTE) $(dir $<) $(tools-fd2pragma_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_IQUOTE) . $(tools-fd2pragma_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(tools-fd2pragma_IQUOTE) $(dir $<) $(tools-fd2pragma_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-fd2pragma_IQUOTE) . $(tools-fd2pragma_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(tools-fd2pragma_MC_DTARGETS) : $(tools-fd2pragma_MC_TGTWILDCARD).d : $(tools-fd2pragma_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(tools-fd2pragma_DFLAGS) $(tools-fd2pragma_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(tools-fd2pragma_OBJDIR),) +tools-fd2pragma-MA_TARGETS := $(addsuffix .o,$(tools-fd2pragma_ASMFILES)) +tools-fd2pragma-MA_WILDCARD := % +else +tools-fd2pragma-MA_TARGETS := $(addsuffix .o,$(addprefix $(tools-fd2pragma_OBJDIR)/,$(notdir $(tools-fd2pragma_ASMFILES)))) +tools-fd2pragma-MA_WILDCARD := $(tools-fd2pragma_OBJDIR)/% + +# Be sure that all .s files are generated +$(tools-fd2pragma-MA_TARGETS) : | $(addsuffix .s,$(tools-fd2pragma_ASMFILES)) + +# Be sure that all .c files are found +tools-fd2pragma-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +tools-fd2pragma-MA_BASEDIRS := $(shell echo $(sort $(dir $(tools-fd2pragma_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +tools-fd2pragma-MA_DIRS := $(foreach dir, $(tools-fd2pragma-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-fd2pragma-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(tools-fd2pragma-MA_DIRS),) + tools-fd2pragma-MA_DIRS := $(shell echo $(tools-fd2pragma-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(tools-fd2pragma-MA_DIRS) +endif + +endif + +tools-fd2pragma-MA_ASSEMBLER ?= $(tools-fd2pragma_ASSEMBLER) + +$(tools-fd2pragma-MA_TARGETS) : tools-fd2pragma-MA_CMD:= $(tools-fd2pragma-MA_ASSEMBLER) + +$(tools-fd2pragma-MA_TARGETS) : CPPFLAGS := $(tools-fd2pragma_CPPFLAGS) +$(tools-fd2pragma-MA_TARGETS) : AFLAGS := $(tools-fd2pragma_AFLAGS) +$(tools-fd2pragma-MA_TARGETS) : $(tools-fd2pragma-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(tools-fd2pragma-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(tools-fd2pragma-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(tools-fd2pragma-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +tools-fd2pragma-link_EXTRA_LDFLAGS := +tools-fd2pragma-link_EXTRA_LIBS := +ifeq (no,yes) + tools-fd2pragma-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + tools-fd2pragma-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + tools-fd2pragma-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +tools-fd2pragma-link_DIRS := $(subst -L ,-L,$(strip $(tools-fd2pragma_LDFLAGS))) +# Filter out only the libdirs and remove -L +tools-fd2pragma-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(tools-fd2pragma-link_DIRS))) +# Add trailing / +tools-fd2pragma-link_DIRS := $(subst //,/,$(addsuffix /,$(tools-fd2pragma-link_DIRS))) +# Add normal linklib path +tools-fd2pragma-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +tools-fd2pragma-link_LIBS := $(addprefix lib,$(addsuffix .a,$(tools-fd2pragma_LIBS) $(tools-fd2pragma-link_EXTRA_LIBS))) +ifeq (yes,yes) + tools-fd2pragma-link_LIBS += startup.o +endif +ifeq (no,yes) + tools-fd2pragma-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +tools-fd2pragma-link_DEPLIBS := $(foreach lib,$(tools-fd2pragma-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(tools-fd2pragma-link_DIRS)))) \ +) + +$(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) : OBJDIR := $(tools-fd2pragma_OBJDIR) +$(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) : OBJS := $(tools-fd2pragma_OBJS) $(tools-fd2pragma_ARCHOBJS) $(USER_OBJS) +$(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) : LDFLAGS := $(strip $(tools-fd2pragma_LDFLAGS) $(tools-fd2pragma-link_EXTRA_LDFLAGS)) +$(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) : LIBS := $(addprefix -l,$(tools-fd2pragma_LIBS) $(tools-fd2pragma-link_EXTRA_LIBS) ) +$(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) : $(tools-fd2pragma_OBJS) $(tools-fd2pragma_ARCHOBJS) $(USER_OBJS) $(tools-fd2pragma-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(tools-fd2pragma_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(tools-fd2pragma_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(tools-fd2pragma_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(tools-fd2pragma_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(tools-fd2pragma_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(tools-fd2pragma_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(tools-fd2pragma_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(tools-fd2pragma_DEPS),) + ifneq (tools-fd2pragma tools-fd2pragma-quick,) + ifneq ($(findstring $(TARGET),tools-fd2pragma tools-fd2pragma-quick),) + -include $(tools-fd2pragma_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(tools-fd2pragma_DEPS) + endif + endif +endif + + +ifneq ($(tools-fd2pragma_OBJS) $(tools-fd2pragma_DEPS) $(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME),) +$(tools-fd2pragma_OBJS) $(tools-fd2pragma_DEPS) $(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) : | $(tools-fd2pragma_OBJDIR) $(tools-fd2pragma_TARGETDIR) +else +$(tools-fd2pragma_OBJS) $(tools-fd2pragma_DEPS) $(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) :: $(tools-fd2pragma_OBJDIR) $(tools-fd2pragma_TARGETDIR) +endif + +GLOB_MKDIRS += $(tools-fd2pragma_OBJDIR) $(tools-fd2pragma_TARGETDIR) + + +tools-fd2pragma-clean : FILES := $(tools-fd2pragma_OBJS) $(tools-fd2pragma_TARGETDIR)/$(tools-fd2pragma_PROGNAME) $(tools-fd2pragma_DEPS) +#MM +tools-fd2pragma-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget tools-fd2pragma" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/flexcat/mmakefile b/tools/flexcat/mmakefile new file mode 100644 index 00000000000..ccf7d9b3be6 --- /dev/null +++ b/tools/flexcat/mmakefile @@ -0,0 +1,26 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- contrib-development : tools-flexcat +#MM- tools-flexcat : tools-flexcat-doc tools-flexcat-cpy + +FILES := AUTHORS ChangeLog COPYING README TODO +EXEDIR := $(AROS_CONTRIB)/$(AROS_DIR_DEVELOPER)/FlexCat + + +.PHONY : tools-flexcat-doc + +#MM +tools-flexcat-doc : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s doc -d $(EXEDIR)/Docs -e + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/flexcat/src/mmakefile b/tools/flexcat/src/mmakefile new file mode 100644 index 00000000000..6f2918cd0a9 --- /dev/null +++ b/tools/flexcat/src/mmakefile @@ -0,0 +1,674 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- tools-flexcat : tools-flexcat-bin tools-flexcat-sd tools-flexcat-locale +#MM tools-flexcat-bin : includes linklibs + +FILES := \ + main \ + createcat \ + createcatsrc \ + createct \ + globals \ + readprefs \ + scancd \ + scanct \ + scanpo \ + showfuncs \ + swapfuncs \ + translators \ + utils \ + locale \ + getft \ + asprintf \ + vasprintf \ + vastubs \ + openlibs + +EXEDIR := $(AROS_CONTRIB)/$(AROS_DIR_DEVELOPER)/FlexCat +NOWARN_FLAGS := $(NOWARN_FORMAT) +USER_CFLAGS := $(NOWARN_FLAGS) -DNO_INLINE_STDARG -D__BSD_VISIBLE=1 -DAMIGA + + +.PHONY : tools-flexcat-bin + +tools-flexcat-bin_PROGNAME := flexcat +tools-flexcat-bin_OBJDIR := $(GENDIR)/$(CURDIR) +tools-flexcat-bin_TARGETDIR := $(EXEDIR) +tools-flexcat-bin_LINKER := +tools-flexcat-bin_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(tools-flexcat-bin_LINKER),) + tools-flexcat-bin_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + tools-flexcat-bin_FILES := $(FILES) + tools-flexcat-bin_OBJCFILES := + tools-flexcat-bin_ASMFILES := + tools-flexcat-bin_CXXFILES := +else + tools-flexcat-bin_FILES := $(tools-flexcat-bin_PROGNAME) + tools-flexcat-bin_OBJCFILES := + tools-flexcat-bin_ASMFILES := + tools-flexcat-bin_CXXFILES := +endif + +tools-flexcat-bin_ARCHOBJS := $(wildcard $(tools-flexcat-bin_OBJDIR)/arch/*.o) +tools-flexcat-bin_ARCHFILES := $(basename $(notdir $(tools-flexcat-bin_ARCHOBJS))) +tools-flexcat-bin_C_NARCHFILES := $(filter-out $(tools-flexcat-bin_ARCHFILES),$(tools-flexcat-bin_FILES)) +tools-flexcat-bin_CXX_NARCHFILES := $(filter-out $(tools-flexcat-bin_ARCHFILES),$(tools-flexcat-bin_CXXFILES)) +tools-flexcat-bin_OBJC_NARCHFILES := $(filter-out $(tools-flexcat-bin_ARCHFILES),$(tools-flexcat-bin_OBJCFILES)) + +TMP_FILES := $(tools-flexcat-bin_C_NARCHFILES) $(tools-flexcat-bin_CXX_NARCHFILES) $(tools-flexcat-bin_ASMFILES) $(tools-flexcat-bin_OBJC_NARCHFILES) +tools-flexcat-bin_OBJS := $(addsuffix .o,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(notdir $(TMP_FILES)))) +tools-flexcat-bin_DEPS := $(addsuffix .d,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(notdir $(TMP_FILES)))) + +tools-flexcat-bin_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +tools-flexcat-bin_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +tools-flexcat-bin_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +tools-flexcat-bin_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +tools-flexcat-bin_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +tools-flexcat-bin_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +tools-flexcat-bin_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +tools-flexcat-bin_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +tools-flexcat-bin_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +tools-flexcat-bin_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +tools-flexcat-bin_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +tools-flexcat-bin_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +tools-flexcat-bin_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +tools-flexcat-bin_LDFLAGS := +endif + +tools-flexcat-bin_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +tools-flexcat-bin_COVERAGE := yes +tools-flexcat-bin_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +tools-flexcat-bin_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +tools-flexcat-bin_CFLAGS := $(strip $(tools-flexcat-bin_COVERAGEFLAGS) $(tools-flexcat-bin_CFLAGS)) +tools-flexcat-bin_CXXFLAGS := $(strip $(tools-flexcat-bin_COVERAGEFLAGS) $(tools-flexcat-bin_CXXFLAGS)) +tools-flexcat-bin_LIBS += $(tools-flexcat-bin_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +tools-flexcat-bin_FUNCINSTR := yes +tools-flexcat-bin_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +tools-flexcat-bin_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +tools-flexcat-bin_CFLAGS := $(strip $(tools-flexcat-bin_INSTRFUNCFLAGS) $(tools-flexcat-bin_CFLAGS)) +tools-flexcat-bin_CXXFLAGS := $(strip $(tools-flexcat-bin_INSTRFUNCFLAGS) $(tools-flexcat-bin_CXXFLAGS)) +tools-flexcat-bin_LIBS += $(tools-flexcat-bin_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +tools-flexcat-bin_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(tools-flexcat-bin_CFLAGS)) +tools-flexcat-bin_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(tools-flexcat-bin_CXXFLAGS)) +endif +endif +tools-flexcat-bin_AFLAGS := $(AFLAGS) +ifneq (,) + tools-flexcat-bin_DFLAGS := +else + tools-flexcat-bin_DFLAGS := $(tools-flexcat-bin_CFLAGS) +endif +ifneq (,) + tools-flexcat-bin_DXXFLAGS := +else + tools-flexcat-bin_DXXFLAGS := $(tools-flexcat-bin_CXXFLAGS) +endif +ifeq (target,target) +tools-flexcat-bin_LDFLAGS := $(tools-flexcat-bin_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +tools-flexcat-bin_LDFLAGS := $(tools-flexcat-bin_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +tools-flexcat-bin_LDFLAGS := $(tools-flexcat-bin_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +tools-flexcat-bin_LDFLAGS += -L +endif + +#MM +tools-flexcat-bin-quick : tools-flexcat-bin + +#MM tools-flexcat-bin : includes-generate-deps core-linklibs +tools-flexcat-bin : $(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) + +ifneq ($(filter $(TARGET),tools-flexcat-bin tools-flexcat-bin-quick tools-flexcat-bin-gz-quick),) + +tools-flexcat-bin_CXXABSBASENAMES := $(foreach tools-flexcat-bin_CXXBASE,$(tools-flexcat-bin_CXX_NARCHFILES),$(if $(filter /%,$(tools-flexcat-bin_CXXBASE)),$(tools-flexcat-bin_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(tools-flexcat-bin_CXXBASE)))) + +ifneq ($(tools-flexcat-bin_CXXABSBASENAMES),) + +tools-flexcat-bin_CXXBASENAMES := $(basename $(tools-flexcat-bin_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +tools-flexcat-bin_MCXX_FILES := $(strip $(foreach tools-flexcat-bin_CXXBASE,$(tools-flexcat-bin_CXXABSBASENAMES), $(firstword $(wildcard $(foreach tools-flexcat-bin_EXT, $(AROS_CXXEXTS),$(addsuffix .$(tools-flexcat-bin_EXT),$(tools-flexcat-bin_CXXBASE))))))) + +ifeq (,) +tools-flexcat-bin_MCXX_SRCWILDCARD := % +else +tools-flexcat-bin_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(tools-flexcat-bin_OBJDIR),) + tools-flexcat-bin_CXXTARGETS := $(notdir $(tools-flexcat-bin_CXXBASENAMES:=.o)) + tools-flexcat-bin_CXXDTARGETS := $(notdir $(tools-flexcat-bin_CXXBASENAMES:=.d)) + tools-flexcat-bin_MCXX_WILDCARD := % +else + tools-flexcat-bin_CXXTARGETS := $(addprefix $(tools-flexcat-bin_OBJDIR)/,$(notdir $(tools-flexcat-bin_CXXBASENAMES:=.o))) + tools-flexcat-bin_CXXDTARGETS := $(addprefix $(tools-flexcat-bin_OBJDIR)/,$(notdir $(tools-flexcat-bin_CXXBASENAMES:=.d))) + tools-flexcat-bin_MCXX_WILDCARD := $(tools-flexcat-bin_OBJDIR)/% + + # Be sure that all source files are generated + $(tools-flexcat-bin_CXXTARGETS) $(tools-flexcat-bin_CXXDTARGETS) : | $(tools-flexcat-bin_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +tools-flexcat-bin_MCXX_CPPFLAGS := $(tools-flexcat-bin_CPPFLAGS) +tools-flexcat-bin_CXXFLAGS := $(tools-flexcat-bin_CXXFLAGS) +ifeq ($(tools-flexcat-bin_DXXFLAGS),) + tools-flexcat-bin_DXXFLAGS := $(tools-flexcat-bin_CXXFLAGS) +else + tools-flexcat-bin_DXXFLAGS := $(tools-flexcat-bin_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + tools-flexcat-bin_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + tools-flexcat-bin_STRIP ?= $(HOST_STRIP) + tools-flexcat-bin_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + tools-flexcat-bin_CXXCMD:=$(HOST_CXX) + tools-flexcat-bin_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(tools-flexcat-bin_MCXX_CPPFLAGS) $(tools-flexcat-bin_MCXX_EXTRA_CPPFLAGS)) + tools-flexcat-bin_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(tools-flexcat-bin_CXXFLAGS)) + tools-flexcat-bin_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(tools-flexcat-bin_DXXFLAGS)) + tools-flexcat-bin_CXXIQUOTE:=$(HOST_IQUOTE) + tools-flexcat-bin_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + tools-flexcat-bin_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + tools-flexcat-bin_STRIP ?= $(TARGET_STRIP) + tools-flexcat-bin_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + tools-flexcat-bin_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + tools-flexcat-bin_MCXX_CPPFLAGS := $(strip $(tools-flexcat-bin_MCXX_CPPFLAGS) $(tools-flexcat-bin_MCXX_EXTRA_CPPFLAGS)) + tools-flexcat-bin_CXXFLAGS := $(strip $(tools-flexcat-bin_CXXFLAGS) $(SAFETY_CFLAGS)) + tools-flexcat-bin_DXXFLAGS := $(tools-flexcat-bin_DXXFLAGS) + tools-flexcat-bin_CXXIQUOTE:=$(CFLAGS_IQUOTE) + tools-flexcat-bin_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + tools-flexcat-bin_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + tools-flexcat-bin_STRIP ?= $(ECHO) >/dev/null + tools-flexcat-bin_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + tools-flexcat-bin_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + tools-flexcat-bin_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(tools-flexcat-bin_MCXX_CPPFLAGS) $(tools-flexcat-bin_MCXX_EXTRA_CPPFLAGS)) + tools-flexcat-bin_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(tools-flexcat-bin_CXXFLAGS)) + tools-flexcat-bin_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(tools-flexcat-bin_DXXFLAGS)) + tools-flexcat-bin_CXXIQUOTE:=$(KERNEL_IQUOTE) + tools-flexcat-bin_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(tools-flexcat-bin_CXXCMD) $(tools-flexcat-bin_CXXIQUOTE) $(dir $(2)) $(tools-flexcat-bin_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_CXXIQUOTE) . $(tools-flexcat-bin_CXXIQUOTE_END) $(strip $(tools-flexcat-bin_CXXFLAGS) $(tools-flexcat-bin_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(tools-flexcat-bin_CXXCMD) $(tools-flexcat-bin_CXXIQUOTE) $(dir $(2)) $(tools-flexcat-bin_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_CXXIQUOTE) . $(tools-flexcat-bin_CXXIQUOTE_END) $(strip $(tools-flexcat-bin_CXXFLAGS) $(tools-flexcat-bin_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(tools-flexcat-bin_CXXCMD) $(tools-flexcat-bin_CXXIQUOTE) $(dir $(2)) $(tools-flexcat-bin_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_CXXIQUOTE) . $(tools-flexcat-bin_CXXIQUOTE_END) $(strip $(tools-flexcat-bin_CXXFLAGS) $(tools-flexcat-bin_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(tools-flexcat-bin_CXXCMD)" $(MKDEPEND) $(strip $(tools-flexcat-bin_DXXFLAGS) $(tools-flexcat-bin_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(tools-flexcat-bin_OBJDIR),) + $(foreach tools-flexcat-bin_CXXFILE,$(tools-flexcat-bin_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(tools-flexcat-bin_CXXFILE))),$(tools-flexcat-bin_CXXFILE)))) +else + $(foreach tools-flexcat-bin_CXXFILE,$(tools-flexcat-bin_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(notdir $(basename $(tools-flexcat-bin_CXXFILE)))),$(tools-flexcat-bin_CXXFILE)))) +endif + +endif + + +ifneq ($(tools-flexcat-bin_OBJC_NARCHFILES),) + +ifeq (,) +tools-flexcat-bin_MOBJC_SRCWILDCARD := % +else +tools-flexcat-bin_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(tools-flexcat-bin_OBJDIR),) + tools-flexcat-bin_MOBJC_TARGETS := $(addsuffix .o,$(tools-flexcat-bin_OBJC_NARCHFILES)) + tools-flexcat-bin_MOBJC_DTARGETS := $(addsuffix .d,$(tools-flexcat-bin_OBJC_NARCHFILES)) + tools-flexcat-bin_MOBJC_WILDCARD := % +else + tools-flexcat-bin_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(tools-flexcat-bin_OBJC_NARCHFILES))) + tools-flexcat-bin_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(tools-flexcat-bin_OBJC_NARCHFILES))) + tools-flexcat-bin_MOBJC_WILDCARD := $(tools-flexcat-bin_OBJDIR)/% + + # Be sure that all .m files are generated + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : | $(addsuffix .m,$(tools-flexcat-bin_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + tools-flexcat-bin_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + tools-flexcat-bin_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(tools-flexcat-bin_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + tools-flexcat-bin_MOBJC_DIRS := $(foreach dir, $(tools-flexcat-bin_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-flexcat-bin_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(tools-flexcat-bin_MOBJC_DIRS),) + tools-flexcat-bin_MOBJC_DIRS := $(shell echo $(tools-flexcat-bin_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(tools-flexcat-bin_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + tools-flexcat-bin_CC := $(TARGET_CC) +else + tools-flexcat-bin_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +tools-flexcat-bin_MOBJC_CPPFLAGS := $(tools-flexcat-bin_CPPFLAGS) +tools-flexcat-bin_OBJCFLAGS := $(tools-flexcat-bin_CFLAGS) +tools-flexcat-bin_OBJCFLAGS := $(tools-flexcat-bin_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +tools-flexcat-bin_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(tools-flexcat-bin_OBJCFLAGS))) +ifeq ($(tools-flexcat-bin_DFLAGS),) + tools-flexcat-bin_OBJCDFLAGS := $(tools-flexcat-bin_CFLAGS) +else + tools-flexcat-bin_OBJCDFLAGS := $(tools-flexcat-bin_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + tools-flexcat-bin_LINK ?= $(strip $(tools-flexcat-bin_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + tools-flexcat-bin_STRIP ?= $(TARGET_STRIP) + tools-flexcat-bin_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : CMD:=$(strip $(tools-flexcat-bin_CC) $(TARGET_SYSROOT)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_MOBJC_CPPFLAGS:=$(strip $(tools-flexcat-bin_MOBJC_CPPFLAGS) $(tools-flexcat-bin_MOBJC_EXTRA_CPPFLAGS)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_OBJCFLAGS:=$(strip $(tools-flexcat-bin_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_OBJCDFLAGS:=$(tools-flexcat-bin_OBJCDFLAGS) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_IQUOTE:=$(CFLAGS_IQUOTE) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + tools-flexcat-bin_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + tools-flexcat-bin_STRIP ?= $(HOST_STRIP) + tools-flexcat-bin_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(tools-flexcat-bin_MOBJC_CPPFLAGS) $(tools-flexcat-bin_MOBJC_EXTRA_CPPFLAGS)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(tools-flexcat-bin_OBJCFLAGS)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(tools-flexcat-bin_OBJCDFLAGS)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_IQUOTE:=$(HOST_IQUOTE) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + tools-flexcat-bin_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + tools-flexcat-bin_STRIP ?= $(ECHO) >/dev/null + tools-flexcat-bin_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(tools-flexcat-bin_MOBJC_CPPFLAGS) $(tools-flexcat-bin_MOBJC_EXTRA_CPPFLAGS)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-flexcat-bin_OBJCFLAGS)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-flexcat-bin_OBJCDFLAGS)) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_IQUOTE:=$(KERNEL_IQUOTE) + $(tools-flexcat-bin_MOBJC_TARGETS) $(tools-flexcat-bin_MOBJC_DTARGETS) : tools-flexcat-bin_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(tools-flexcat-bin_MOBJC_TARGETS) : CPPFLAGS := $(tools-flexcat-bin_MOBJC_CPPFLAGS) +$(tools-flexcat-bin_MOBJC_TARGETS) : CFLAGS := $(tools-flexcat-bin_OBJCFLAGS) +$(tools-flexcat-bin_MOBJC_TARGETS) : $(tools-flexcat-bin_MOBJC_WILDCARD).o : $(tools-flexcat-bin_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(tools-flexcat-bin_IQUOTE) $(dir $<) $(tools-flexcat-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_IQUOTE) . $(tools-flexcat-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(tools-flexcat-bin_IQUOTE) $(dir $<) $(tools-flexcat-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_IQUOTE) . $(tools-flexcat-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(tools-flexcat-bin_IQUOTE) $(dir $<) $(tools-flexcat-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_IQUOTE) . $(tools-flexcat-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(tools-flexcat-bin_MOBJC_DTARGETS) : $(tools-flexcat-bin_MOBJC_WILDCARD).d : $(tools-flexcat-bin_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(tools-flexcat-bin_OBJCDFLAGS) $(tools-flexcat-bin_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +tools-flexcat-bin_MC_SRCWILDCARD := % +else +tools-flexcat-bin_MC_SRCWILDCARD := /% +endif + +ifeq ($(tools-flexcat-bin_OBJDIR),) +tools-flexcat-bin_MC_TARGETS := $(addsuffix .o,$(tools-flexcat-bin_C_NARCHFILES)) +tools-flexcat-bin_MC_DTARGETS := $(addsuffix .d,$(tools-flexcat-bin_C_NARCHFILES)) +tools-flexcat-bin_MC_TGTWILDCARD := % +else +ifeq (no,no) + tools-flexcat-bin_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(notdir $(tools-flexcat-bin_C_NARCHFILES)))) + tools-flexcat-bin_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(notdir $(tools-flexcat-bin_C_NARCHFILES)))) +else +ifeq (,) + tools-flexcat-bin_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(tools-flexcat-bin_C_NARCHFILES))) + tools-flexcat-bin_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(tools-flexcat-bin_C_NARCHFILES))) +else + tools-flexcat-bin_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(patsubst /%,%,$(tools-flexcat-bin_C_NARCHFILES)))) + tools-flexcat-bin_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(patsubst /%,%,$(tools-flexcat-bin_C_NARCHFILES)))) +endif +endif +tools-flexcat-bin_MC_TGTWILDCARD := $(tools-flexcat-bin_OBJDIR)/% + +# Be sure that all .c files are generated +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : | $(addsuffix .c,$(tools-flexcat-bin_C_NARCHFILES)) + +# Be sure that all .c files are found +tools-flexcat-bin_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +tools-flexcat-bin_MC_BASEDIRS := $(shell echo $(sort $(dir $(tools-flexcat-bin_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +tools-flexcat-bin_MC_DIRS := $(foreach dir, $(tools-flexcat-bin_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-flexcat-bin_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(tools-flexcat-bin_MC_DIRS),) + tools-flexcat-bin_MC_DIRS := $(shell echo $(tools-flexcat-bin_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(tools-flexcat-bin_MC_DIRS) +endif + +endif + +tools-flexcat-bin_MC_CPPFLAGS := $(tools-flexcat-bin_CPPFLAGS) +tools-flexcat-bin_CFLAGS := $(tools-flexcat-bin_CFLAGS) +ifeq ($(tools-flexcat-bin_DFLAGS),) + tools-flexcat-bin_DFLAGS := $(tools-flexcat-bin_CFLAGS) +else + tools-flexcat-bin_DFLAGS := $(tools-flexcat-bin_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +tools-flexcat-bin_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +tools-flexcat-bin_STRIP ?= $(TARGET_STRIP) +tools-flexcat-bin_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_MC_CPPFLAGS:=$(strip $(tools-flexcat-bin_MC_CPPFLAGS) $(tools-flexcat-bin_MC_EXTRA_CPPFLAGS)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_CFLAGS:=$(strip $(tools-flexcat-bin_CFLAGS) $(SAFETY_CFLAGS)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_DFLAGS:=$(tools-flexcat-bin_DFLAGS) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_IQUOTE:=$(CFLAGS_IQUOTE) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +tools-flexcat-bin_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +tools-flexcat-bin_STRIP ?= $(HOST_STRIP) +tools-flexcat-bin_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : CMD:=$(HOST_CC) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(tools-flexcat-bin_MC_CPPFLAGS) $(tools-flexcat-bin_MC_EXTRA_CPPFLAGS)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_CFLAGS:=$(strip $(HOST_CFLAGS) $(tools-flexcat-bin_CFLAGS)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_DFLAGS:=$(strip $(HOST_CFLAGS) $(tools-flexcat-bin_DFLAGS)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_IQUOTE:=$(HOST_IQUOTE) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +tools-flexcat-bin_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +tools-flexcat-bin_STRIP ?= $(ECHO) >/dev/null +tools-flexcat-bin_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(tools-flexcat-bin_MC_CPPFLAGS) $(tools-flexcat-bin_MC_EXTRA_CPPFLAGS)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-flexcat-bin_CFLAGS)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-flexcat-bin_DFLAGS)) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_IQUOTE:=$(KERNEL_IQUOTE) +$(tools-flexcat-bin_MC_TARGETS) $(tools-flexcat-bin_MC_DTARGETS) : tools-flexcat-bin_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(tools-flexcat-bin_MC_TARGETS) : CPPFLAGS := $(tools-flexcat-bin_MC_CPPFLAGS) +$(tools-flexcat-bin_MC_TARGETS) : CFLAGS := $(tools-flexcat-bin_CFLAGS) +$(tools-flexcat-bin_MC_TARGETS) : $(tools-flexcat-bin_MC_TGTWILDCARD).o : $(tools-flexcat-bin_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(tools-flexcat-bin_IQUOTE) $(dir $<) $(tools-flexcat-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_IQUOTE) . $(tools-flexcat-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(tools-flexcat-bin_IQUOTE) $(dir $<) $(tools-flexcat-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_IQUOTE) . $(tools-flexcat-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(tools-flexcat-bin_IQUOTE) $(dir $<) $(tools-flexcat-bin_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-flexcat-bin_IQUOTE) . $(tools-flexcat-bin_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(tools-flexcat-bin_MC_DTARGETS) : $(tools-flexcat-bin_MC_TGTWILDCARD).d : $(tools-flexcat-bin_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(tools-flexcat-bin_DFLAGS) $(tools-flexcat-bin_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(tools-flexcat-bin_OBJDIR),) +tools-flexcat-bin-MA_TARGETS := $(addsuffix .o,$(tools-flexcat-bin_ASMFILES)) +tools-flexcat-bin-MA_WILDCARD := % +else +tools-flexcat-bin-MA_TARGETS := $(addsuffix .o,$(addprefix $(tools-flexcat-bin_OBJDIR)/,$(notdir $(tools-flexcat-bin_ASMFILES)))) +tools-flexcat-bin-MA_WILDCARD := $(tools-flexcat-bin_OBJDIR)/% + +# Be sure that all .s files are generated +$(tools-flexcat-bin-MA_TARGETS) : | $(addsuffix .s,$(tools-flexcat-bin_ASMFILES)) + +# Be sure that all .c files are found +tools-flexcat-bin-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +tools-flexcat-bin-MA_BASEDIRS := $(shell echo $(sort $(dir $(tools-flexcat-bin_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +tools-flexcat-bin-MA_DIRS := $(foreach dir, $(tools-flexcat-bin-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-flexcat-bin-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(tools-flexcat-bin-MA_DIRS),) + tools-flexcat-bin-MA_DIRS := $(shell echo $(tools-flexcat-bin-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(tools-flexcat-bin-MA_DIRS) +endif + +endif + +tools-flexcat-bin-MA_ASSEMBLER ?= $(tools-flexcat-bin_ASSEMBLER) + +$(tools-flexcat-bin-MA_TARGETS) : tools-flexcat-bin-MA_CMD:= $(tools-flexcat-bin-MA_ASSEMBLER) + +$(tools-flexcat-bin-MA_TARGETS) : CPPFLAGS := $(tools-flexcat-bin_CPPFLAGS) +$(tools-flexcat-bin-MA_TARGETS) : AFLAGS := $(tools-flexcat-bin_AFLAGS) +$(tools-flexcat-bin-MA_TARGETS) : $(tools-flexcat-bin-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(tools-flexcat-bin-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(tools-flexcat-bin-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(tools-flexcat-bin-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +tools-flexcat-bin-link_EXTRA_LDFLAGS := +tools-flexcat-bin-link_EXTRA_LIBS := +ifeq (no,yes) + tools-flexcat-bin-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + tools-flexcat-bin-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + tools-flexcat-bin-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +tools-flexcat-bin-link_DIRS := $(subst -L ,-L,$(strip $(tools-flexcat-bin_LDFLAGS))) +# Filter out only the libdirs and remove -L +tools-flexcat-bin-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(tools-flexcat-bin-link_DIRS))) +# Add trailing / +tools-flexcat-bin-link_DIRS := $(subst //,/,$(addsuffix /,$(tools-flexcat-bin-link_DIRS))) +# Add normal linklib path +tools-flexcat-bin-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +tools-flexcat-bin-link_LIBS := $(addprefix lib,$(addsuffix .a,$(tools-flexcat-bin_LIBS) $(tools-flexcat-bin-link_EXTRA_LIBS))) +ifeq (yes,yes) + tools-flexcat-bin-link_LIBS += startup.o +endif +ifeq (no,yes) + tools-flexcat-bin-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +tools-flexcat-bin-link_DEPLIBS := $(foreach lib,$(tools-flexcat-bin-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(tools-flexcat-bin-link_DIRS)))) \ +) + +$(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) : OBJDIR := $(tools-flexcat-bin_OBJDIR) +$(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) : OBJS := $(tools-flexcat-bin_OBJS) $(tools-flexcat-bin_ARCHOBJS) $(USER_OBJS) +$(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) : LDFLAGS := $(strip $(tools-flexcat-bin_LDFLAGS) $(tools-flexcat-bin-link_EXTRA_LDFLAGS)) +$(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) : LIBS := $(addprefix -l,$(tools-flexcat-bin_LIBS) $(tools-flexcat-bin-link_EXTRA_LIBS) ) +$(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) : $(tools-flexcat-bin_OBJS) $(tools-flexcat-bin_ARCHOBJS) $(USER_OBJS) $(tools-flexcat-bin-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(tools-flexcat-bin_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(tools-flexcat-bin_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(tools-flexcat-bin_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(tools-flexcat-bin_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(tools-flexcat-bin_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(tools-flexcat-bin_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(tools-flexcat-bin_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(tools-flexcat-bin_DEPS),) + ifneq (tools-flexcat-bin tools-flexcat-bin-quick,) + ifneq ($(findstring $(TARGET),tools-flexcat-bin tools-flexcat-bin-quick),) + -include $(tools-flexcat-bin_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(tools-flexcat-bin_DEPS) + endif + endif +endif + + +ifneq ($(tools-flexcat-bin_OBJS) $(tools-flexcat-bin_DEPS) $(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME),) +$(tools-flexcat-bin_OBJS) $(tools-flexcat-bin_DEPS) $(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) : | $(tools-flexcat-bin_OBJDIR) $(tools-flexcat-bin_TARGETDIR) +else +$(tools-flexcat-bin_OBJS) $(tools-flexcat-bin_DEPS) $(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) :: $(tools-flexcat-bin_OBJDIR) $(tools-flexcat-bin_TARGETDIR) +endif + +GLOB_MKDIRS += $(tools-flexcat-bin_OBJDIR) $(tools-flexcat-bin_TARGETDIR) + + +tools-flexcat-bin-clean : FILES := $(tools-flexcat-bin_OBJS) $(tools-flexcat-bin_TARGETDIR)/$(tools-flexcat-bin_PROGNAME) $(tools-flexcat-bin_DEPS) +#MM +tools-flexcat-bin-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget tools-flexcat-bin" + $(Q)$(RM) $(FILES) + + + +.PHONY : tools-flexcat-sd + +#MM +tools-flexcat-sd : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s sd -d $(EXEDIR)/Lib -e + + + +TARGETDIR := $(EXEDIR)/Catalogs +LANGUAGES := $(basename $(notdir $(call WILDCARD,$(SRCDIR)/$(CURDIR)/locale/*.po))) +CATALOGS := $(addprefix $(TARGETDIR)/,$(addsuffix /FlexCat.catalog,$(LANGUAGES))) + +#MM +tools-flexcat-locale : $(CATALOGS) + +$(TARGETDIR)/%/FlexCat.catalog: $(SRCDIR)/$(CURDIR)/locale/%.po + $(ECHO) "Building catalog $@" + $(MKDIR) $(dir $@) + $(FLEXCAT) POFILE $< CATALOG $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/icu4c/mmakefile b/tools/icu4c/mmakefile new file mode 100644 index 00000000000..6ba407db616 --- /dev/null +++ b/tools/icu4c/mmakefile @@ -0,0 +1,554 @@ +include $(SRCDIR)/config/aros.cfg + +LN ?= ln + +ICU_VERSION := 4.2.1 +ICU_PKGNAME := icu4c +ICU_PKGVERSION=$(subst .,_,$(ICU_VERSION)) + +ICU_EXTRA_OPTS = \ + --bindir=$(CROSSTOOLSDIR) \ + --sbindir=$(CROSSTOOLSDIR) \ + --enable-static \ + --disable-strict \ + --disable-dyload \ + --disable-shared \ + --disable-tests \ + --disable-samples \ + --disable-extras \ + --with-data-packaging=static + +ICU_REPOSITORY := http://download.icu-project.org/files/$(ICU_PKGNAME)/$(ICU_VERSION) + +icu-installflag := $(CROSSTOOLSDIR)/.installflag-icu-$(ICU_VERSION) + +#MM +tools-crosstools-icu : + @$(IF) ! $(TEST) -d $(CROSSTOOLSDIR) \ + || ! $(TEST) -f $(icu-installflag) ; then \ + $(RM) $(CROSSTOOLSDIR)/$(ICU_PKGNAME)/.files-touched \ + && $(MAKE) -f ./mmakefile crosstools-icu--fetch \ + && $(MAKE) -f ./mmakefile crosstools-icu--build_and_install-quick \ + && $(TOUCH) $(icu-installflag) ; \ + fi + +HOST_CXXFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(HOST_CXXFLAGS))) + +# specify the gendir for icu to be in HOSTDIR so it ends up under CROSSTOOLSDIR, and can be reused + +#MM- crosstools-icu-quick : crosstools-icu--quick +#MM- crosstools-icu--quick : crosstools-icu--fetch +#MM- crosstools-icu-fetch : crosstools-icu--fetch +#MM- crosstools-icu-create-patch : crosstools-icu--create-patch +#MM- crosstools-icu-create-patch-quick : crosstools-icu--create-patch + +crosstools-icu-archbase := $(ICU_PKGNAME)-$(ICU_PKGVERSION)-src + +ifeq (host,host) + crosstools-icu-portdir := $(HOSTDIR)/Ports/host/$(ICU_PKGNAME) +else + crosstools-icu-portdir := $(PORTSDIR)/$(ICU_PKGNAME) +endif + +ifeq ($(CROSSTOOLSDIR),) + crosstools-icu-prefix := $(CONTRIB_DIR)/$(ICU_PKGNAME) +else + crosstools-icu-prefix := $(CROSSTOOLSDIR) +endif + +ifneq (,) + crosstools-icu--archbase := $(ICU_PKGNAME)--$(ICU_PKGVERSION)-src +else + crosstools-icu--archbase := $(ICU_PKGNAME)-$(ICU_PKGVERSION)-src +endif + +ifneq (icu,) + crosstools-icu--srcdir := icu +else + crosstools-icu--srcdir := $(crosstools-icu-archbase) +endif + +ifneq (source,) + crosstools-icu--builddir := $(crosstools-icu--srcdir)/source +else + crosstools-icu--builddir := $(crosstools-icu--srcdir) +endif + +ifeq (yes,yes) + crosstools-icu--patches_specs := $(crosstools-icu--archbase)-aros.diff:$(crosstools-icu--srcdir):-f,-p1 +else + crosstools-icu--patches_specs := :: +endif + + +.PHONY: crosstools-icu--fetch + +ifneq ($(TOOLDIR),) + crosstools-icu--fetch-tooldir := "$(TOOLDIR)/" +else + crosstools-icu--fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + crosstools-icu--fetch-location := $(PORTSSOURCEDIR) +else + crosstools-icu--fetch-location := $(crosstools-icu-portdir) +endif + +crosstools-icu--fetch-fetchedflag := $(crosstools-icu--fetch-location)/.$(crosstools-icu--archbase)-fetched + +#MM +crosstools-icu--fetch : + $(Q)$(ECHO) "Fetching $(crosstools-icu--archbase) ..." + $(Q)TOOLDIR="$(crosstools-icu--fetch-tooldir)" $(FETCH) -ao ". $(ICU_REPOSITORY)" -a $(crosstools-icu--archbase) -s "tgz" -l $(crosstools-icu--fetch-location) \ + -d $(crosstools-icu-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-icu--patches_specs)" + $(Q)$(IF) ! $(TEST) -f $(crosstools-icu--fetch-fetchedflag) ; then \ + $(TOUCH) $(crosstools-icu--fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(crosstools-icu--fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(crosstools-icu--archbase) ..." \ +# && $(FETCH) -ao ". $(ICU_REPOSITORY)" -a $(crosstools-icu--archbase) -s "tgz" -l $(crosstools-icu--fetch-location) \ +# -d $(crosstools-icu-portdir) -po "$(SRCDIR)/$(CURDIR)" -p "$(crosstools-icu--patches_specs)" \ +# && $(TOUCH) $(crosstools-icu--fetch-fetchedflag) ; \ +# fi + + +.PHONY: crosstools-icu--create-patch + +ifneq (,) + crosstools-icu--create-patch-exclude := -X ./exclude.patterns +endif + +ifneq ($(crosstools-icu--srcdir),) + crosstools-icu--create-patch-srcdir := $(crosstools-icu--srcdir) +else + crosstools-icu--create-patch-srcdir := $(crosstools-icu--archbase) +endif + +#MM- crosstools-icu--create-patch : crosstools-icu--create-patch-diff +#MM- crosstools-icu--create-patch-quick : crosstools-icu--create-patch-diff + +#MM +crosstools-icu--create-patch-diff: + $(Q)$(FETCH) -a $(crosstools-icu--archbase) -s "tgz" -l $(PORTSSOURCEDIR) -d $(crosstools-icu-portdir)/tmp ; \ + $(MV) $(crosstools-icu-portdir)/$(crosstools-icu--create-patch-srcdir) $(crosstools-icu-portdir)/tmp/$(crosstools-icu--create-patch-srcdir).aros ; \ + cd $(crosstools-icu-portdir)/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(crosstools-icu--archbase)-aros-new.diff'" ; \ + diff -ruN $(crosstools-icu--create-patch-exclude) \ + $(crosstools-icu--create-patch-srcdir) \ + $(crosstools-icu--create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(crosstools-icu--archbase)-aros-new.diff ; \ + $(MV) $(crosstools-icu-portdir)/tmp/$(crosstools-icu--create-patch-srcdir).aros $(crosstools-icu-portdir)/$(crosstools-icu--create-patch-srcdir) ; \ + $(RM) $(crosstools-icu-portdir)/tmp + +#MM crosstools-icu : crosstools-icu- +#MM +crosstools-icu: + $(NOP) + +crosstools-icu--package-dir := $(crosstools-icu-portdir)/$(crosstools-icu--archbase) + +crosstools-icu--package-basename := \ + $(DISTDIR)/Packages/$(crosstools-icu--archbase)-aros.$(AROS_TARGET_CPU) + +ifneq (no,no) + crosstools-icu--package := $(crosstools-icu--package-basename).tar.bz2 +endif + + +ifneq ($(crosstools-icu-prefix),) + crosstools-icu--prefix := $(crosstools-icu-prefix) +else + crosstools-icu--prefix := $(AROS_CONTRIB) +endif + +ifneq (,) + crosstools-icu--aros_prefix := +else + crosstools-icu--aros_prefix := $(crosstools-icu--prefix) +endif + +BD_NIXFLAG ?= -nix + +ifeq (no,yes) + crosstools-icu--nix := $(BD_NIXFLAG) + crosstools-icu--volpfx := / + crosstools-icu--volsfx := / + + ifeq (,) + crosstools-icu--nix_dir_layout := yes + endif +else + crosstools-icu--volsfx := : + + ifeq (,) + crosstools-icu--nix_dir_layout := no + endif +endif + +crosstools-icu--volfunc = $(crosstools-icu--volpfx)$(notdir $1)$(crosstools-icu--volsfx) + +crosstools-icu--install_opts := prefix=$(crosstools-icu--prefix) \ + exec_prefix=$(crosstools-icu--prefix) + +# Check if chosen compiler is valid +ifeq ($(findstring host,host target kernel),) + $(error unknown compiler host) +endif + +# Set legacy 'host' variable based on chosen compiler +ifeq (host,host) + host := yes + ifeq (,) + crosstools-icu--pkgbasedir := $(HOSTGENDIR) + else + crosstools-icu--pkgbasedir := $(HOSTGENDIR)/ + endif +else + host := no + ifeq (,) + crosstools-icu--pkgbasedir := $(GENDIR) + else + crosstools-icu--pkgbasedir := $(GENDIR)/ + endif +endif +ifneq ($(CROSSTOOLSDIR),) + ifeq (,) + crosstools-icu--pkgbasedir := $(CROSSTOOLSDIR) + else + crosstools-icu--pkgbasedir := $(CROSSTOOLSDIR)/ + endif +endif + +ifeq ($(ICU_PKGNAME),) + crosstools-icu--pkgdir := $(crosstools-icu--pkgbasedir) +else + crosstools-icu--pkgdir := $(crosstools-icu--pkgbasedir)/$(ICU_PKGNAME) +endif + +crosstools-icu--configflag := $(crosstools-icu--pkgdir)/.configured +crosstools-icu--installflag := $(crosstools-icu--pkgdir)/.installed + +ifeq ($(filter yes, $(crosstools-icu--nix_dir_layout) $(host)),yes) + crosstools-icu--PROGDIR := $(crosstools-icu--aros_prefix)/bin + crosstools-icu--config_opts := --prefix=$(crosstools-icu--aros_prefix) +else + ifeq (no,yes) + crosstools-icu--config_opts := --prefix=/PROGDIR --bindir=/PROGDIR --sbindir=/PROGDIR \ + --libdir=/LIB --includedir=/INCLUDE --oldincludedir=/INCLUDE + else + crosstools-icu--config_opts := --prefix=$(crosstools-icu--aros_prefix) + endif + + crosstools-icu--PROGDIR := $(crosstools-icu--aros_prefix) + + crosstools-icu--install_opts := bindir=$(crosstools-icu--prefix) \ + sbindir=$(crosstools-icu--prefix) \ + libdir=$(AROS_LIB) includedir=$(AROS_INCLUDES) \ + oldincludedir=$(AROS_INCLUDES) +endif + +ifneq ($(DEBUG),yes) + crosstools-icu--s_flag = -s +endif + +ifeq (yes,yes) + crosstools-icu--HOST_CFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CFLAGS) + crosstools-icu--KERNEL_CFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(crosstools-icu--s_flag) +ifeq (no,yes) + crosstools-icu--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-icu--s_flag) +else + crosstools-icu--TARGET_CFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) $(crosstools-icu--nix) $(crosstools-icu--s_flag) +endif +endif +ifeq (yes,yes) + crosstools-icu--HOST_CXXFLAGS=$(HOST_ISA_CFLAGS) $(HOST_CXXFLAGS) + crosstools-icu--KERNEL_CXXFLAGS=$(KERNEL_ISA_CFLAGS) $(KERNEL_CXXFLAGS) $(crosstools-icu--s_flag) +ifeq (no,yes) + crosstools-icu--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-icu--s_flag) +else + crosstools-icu--TARGET_CXXFLAGS=$(TARGET_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) $(crosstools-icu--nix) $(crosstools-icu--s_flag) +endif +endif + +# Set up build environment, and options for configure script +ifeq (host,host) + # NB: We need to pass in our crosstoolsdir, but cannot set CFLAGS since it + # confused configure scripts. We also cannot pass it via _FOR_BUILD + # since that won't get picked up during configure. + # We also cannot pass in the compiler including std flags so we need to use + # the "plain" host compiler. + crosstools-icu--cfg-env := \ + CPP="$(HOST_CPP)" \ + CXXCPP="$(HOST_CPP)" \ + CC="$(strip $(HOST_DEF_CC) $(crosstools-icu--HOST_CFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + CXX="$(strip $(HOST_CXX) $(crosstools-icu--HOST_CXXFLAGS) -I$(CROSSTOOLSDIR)/include)" \ + LDFLAGS="-L$(CROSSTOOLSDIR)/lib $(USER_LDFLAGS)" +ifeq (yes,yes) + crosstools-icu--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-icu--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-icu--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-icu--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(TARGET_AS)" \ + OBJCOPY="$(OBJCOPY)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" +endif +ifeq (host,target) + crosstools-icu--cfg-env := \ + PKG_CONFIG_LIBDIR="$(AROS_DEVELOPER)/lib/pkgconfig" \ + PKG_CONFIG_SYSROOT_DIR="$(AROSDIR)" + crosstools-icu--cfg-env += CPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CXXCPP="$(strip $(TARGET_CPP) $(TARGET_SYSROOT))" \ + CC="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CXX="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + LD="$(strip $(TARGET_LD))" + crosstools-icu--cfg-env += CFLAGS="$(crosstools-icu--TARGET_CFLAGS) $(ICU_FLAGS)" \ + CXXFLAGS="$(crosstools-icu--TARGET_CXXFLAGS) $(OPTIMIZATION_CFLAGS)" +ifeq (yes,yes) + crosstools-icu--cfg-env += CPPFLAGS="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-icu--cfg-env += LDFLAGS="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-icu--nix) $(crosstools-icu--s_flag))" +ifeq (yes,yes) + crosstools-icu--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-icu--cfg-env += CC_FOR_BUILD="$(strip $(HOST_DEF_CC))" \ + CFLAGS_FOR_BUILD="$(strip $(crosstools-icu--HOST_CFLAGS))" \ + CXX_FOR_BUILD="$(strip $(HOST_CXX))" \ + CXXFLAGS_FOR_BUILD="$(strip $(crosstools-icu--HOST_CXXFLAGS))" \ + LD_FOR_BUILD="$(strip $(HOST_LD))" \ + LDFLAGS_FOR_BUILD="$(strip $(HOST_LDFLAGS) $(crosstools-icu--s_flag))" +ifeq (yes,yes) + crosstools-icu--cfg-env += CPPFLAGS_FOR_HOST="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-icu--cfg-env += CC_FOR_HOST="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CFLAGS) $(USER_CFLAGS) -L$(AROS_DEVELOPER)/lib $(ICU_FLAGS) $(crosstools-icu--nix) $(crosstools-icu--s_flag))" \ + CXX_FOR_HOST="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_HOST="$(strip $(HOST_ISA_CFLAGS) $(USER_INCLUDES) $(BASE_CXXFLAGS) $(USER_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS) $(crosstools-icu--nix) $(crosstools-icu--s_flag))" \ + LD_FOR_HOST="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_HOST="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-icu--nix) $(crosstools-icu--s_flag))" +ifeq (yes,yes) + crosstools-icu--cfg-env += CPPFLAGS_FOR_TARGET="$(strip $(BASE_CPPFLAGS) $(USER_CPPFLAGS) )" +endif + crosstools-icu--cfg-env += CC_FOR_TARGET="$(strip $(TARGET_CC) $(TARGET_SYSROOT))" \ + CFLAGS_FOR_TARGET="$(strip $(crosstools-icu--TARGET_CFLAGS) -L$(AROS_DEVELOPER)/lib $(ICU_FLAGS))" \ + CXX_FOR_TARGET="$(strip $(TARGET_CXX) $(TARGET_SYSROOT))" \ + CXXFLAGS_FOR_TARGET="$(strip $(crosstools-icu--TARGET_CXXFLAGS) -L$(AROS_DEVELOPER)/lib $(OPTIMIZATION_CFLAGS))" \ + LD_FOR_TARGET="$(strip $(TARGET_LD))" \ + LDFLAGS_FOR_TARGET="$(strip -L$(AROS_DEVELOPER)/lib $(USER_LDFLAGS) $(crosstools-icu--nix) $(crosstools-icu--s_flag))" \ + AR="$(strip $(AR_PLAIN))" \ + AS="$(strip $(TARGET_AS))" \ + OBJCOPY="$(strip $(OBJCOPY))" \ + RANLIB="$(strip $(RANLIB))" \ + STRIP="$(strip $(STRIP_PLAIN))" +ifeq (yes,yes) + crosstools-icu--cfg-env += TARGET_CPPFLAGS="$(KERNEL_CPPFLAGS)" +endif + crosstools-icu--cfg-env += TARGET_CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + TARGET_CFLAGS="$(strip $(crosstools-icu--KERNEL_CFLAGS))" \ + TARGET_CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + TARGET_CXXFLAGS="$(strip $(crosstools-icu--KERNEL_CXXFLAGS))" \ + TARGET_AS="$(strip $(TARGET_AS))" \ + TARGET_RANLIB="$(strip $(RANLIB))" \ + TARGET_STRIP="$(strip $(STRIP_PLAIN))" \ + TARGET_NM="$(strip $(NM_PLAIN))" +ifeq (yes,yes) + crosstools-icu--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-icu--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-icu--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-icu--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-icu--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-icu--config_opts += --without-x +endif +endif +endif +ifeq (host,kernel) + crosstools-icu--cfg-env := \ + CPP="$(KERNEL_CPP)" \ + CXXCPP="$(KERNEL_CPP)" +ifeq (yes,yes) + crosstools-icu--cfg-env += CPPFLAGS="$(strip $(KERNEL_CPPFLAGS) )" +endif + crosstools-icu--cfg-env += CC="$(strip $(KERNEL_CC) $(KERNEL_SYSROOT))" \ + CFLAGS="$(strip $(crosstools-icu--KERNEL_CFLAGS) $(ICU_FLAGS))" \ + CXX="$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT))" \ + CXXFLAGS="$(strip $(crosstools-icu--KERNEL_CXXFLAGS) $(OPTIMIZATION_CFLAGS))" \ + AS="$(KERNEL_AS)" +ifeq (yes,yes) + crosstools-icu--cfg-env += CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" +endif + crosstools-icu--cfg-env += CC_FOR_BUILD="$(HOST_DEF_CC)" \ + CFLAGS_FOR_BUILD="$(crosstools-icu--HOST_CFLAGS)" \ + CXX_FOR_BUILD="$(HOST_CXX)" \ + CXXFLAGS_FOR_BUILD="$(crosstools-icu--HOST_CXXFLAGS)" \ + RANLIB="$(RANLIB)" \ + TARGET_RANLIB="$(RANLIB)" \ + TARGET_STRIP="$(STRIP_PLAIN)" \ + TARGET_NM="$(NM_PLAIN)" +ifeq (yes,yes) + crosstools-icu--config_opts += --target=$(AROS_TARGET_CPU)-aros + crosstools-icu--config_opts += --build=$(AROS_HOST_CPU)-$(AROS_HOST_ARCH) + crosstools-icu--config_opts += --host=$(AROS_TARGET_CPU)-aros +endif +ifeq (yes,yes) + crosstools-icu--config_opts += --without-pic --disable-shared +ifeq (yes,yes) +# disable native language support + crosstools-icu--config_opts += --disable-nls +endif +ifeq (yes,yes) +# disable X window system + crosstools-icu--config_opts += --without-x +endif + +endif +endif + +ifeq (no,yes) + BUILD_ENV := $(crosstools-icu--cfg-env) +endif + +crosstools-icu--touchfileflag ?= $(crosstools-icu--pkgdir)/.files-touched + +ifneq ("$(wildcard $(crosstools-icu-portdir)/$(crosstools-icu--builddir)/Makefile)","") +# in an ideal world, we would depend on the files in the source directory, +# so we could copy them when they change. unfortunately filenames with +# spaces cause problems with this +$(crosstools-icu--pkgdir)/.local-copy: + $(Q)$(FOR) dir in $(crosstools-icu--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Copying Local-Build Sources to \`$(patsubst $(TOP)/%,%,$(abspath $(crosstools-icu--pkgdir)))'" + $(Q)$(CP) -Rf "$(crosstools-icu-portdir)/$(crosstools-icu--builddir)/." $(crosstools-icu--pkgdir)/ && $(TOUCH) $@ + +$(crosstools-icu--touchfileflag) : $(crosstools-icu--pkgdir)/.local-copy + + crosstools-icu--cfg-srcdir=$(crosstools-icu--pkgdir) +else + crosstools-icu--cfg-srcdir=$(crosstools-icu-portdir)/$(crosstools-icu--builddir) +endif +crosstools-icu--make-env := -C $(crosstools-icu--pkgdir) + +.PHONY : crosstools-icu- crosstools-icu--clean crosstools-icu--build_and_install-quick + +# When building for the host, we don't need to build the +# linklibs - this is especially true when building the +# crosstool toolchain on 'foreign' architectures (such as +# building PPC on x86) + +#MM- crosstools-icu--host : setup includes crosstools-icu--quick +#MM- crosstools-icu--target : setup includes core-linklibs crosstools-icu--quick +#MM- crosstools-icu-: crosstools-icu--host + +# Using -j1 in install_command may result in a warning but finally +# it does its job. make install for gcc does not work reliably for -jN +# where N > 1. +ifneq (install,) + crosstools-icu--install_command = \ + $(ECHO) "Installing from build in $(subst $(TOP)/,,$(crosstools-icu--pkgdir))" && \ + $(MAKE) PROGDIR="$(crosstools-icu--PROGDIR)/" $(crosstools-icu--install_opts) \ + $(crosstools-icu--make-env) install -j1 + + crosstools-icu--uninstall_command = \ + $(RM) $(crosstools-icu--installflag) && \ + $(MAKE) PROGDIR="$(crosstools-icu--PROGDIR)/" \ + $(crosstools-icu--install_opts) $(crosstools-icu--make-env) uninstall +else + crosstools-icu--install_command := true + crosstools-icu--uninstall_command := true +endif + +#MM- crosstools-icu--quick : crosstools-icu--configure crosstools-icu--build_and_install-quick crosstools-icu--make-package + +#MM +crosstools-icu--build_and_install-quick : $(crosstools-icu--installflag) + +# +# N.B.: the make test for the targets being up to date generates a benign Error 1. +# +$(crosstools-icu--installflag) : $(crosstools-icu--configflag) + $(Q)$(IF) ! $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-icu--volfunc, PROGDIR)" -q $(crosstools-icu--make-env); then \ + $(RM) $(crosstools-icu--installflag) && \ + $(ECHO) "Performing build in $(subst $(TOP)/,,$(crosstools-icu--pkgdir))" && \ + $(BUILD_ENV) $(MAKE) PROGDIR="$(call crosstools-icu--volfunc, PROGDIR)" $(crosstools-icu--make-env) && \ + $(crosstools-icu--install_command) && \ + $(TOUCH) $@ -r $^; \ + fi + +ifneq ($(crosstools-icu--touchfileflag),) +$(crosstools-icu--touchfileflag): + $(Q)$(FOR) dir in $(crosstools-icu--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)find $(crosstools-icu-portdir)/$(crosstools-icu--builddir) -exec $(TOUCH) -c -r $(crosstools-icu--cfg-srcdir)/configure '{}' \; && \ + $(TOUCH) $@ +endif + +#MM +crosstools-icu--uninstall : + $(crosstools-icu--uninstall_command) + +#MM +crosstools-icu--configure : $(crosstools-icu--configflag) + +$(crosstools-icu--configflag) : TMP_SRCDIR := $(shell echo $(crosstools-icu--cfg-srcdir) | sed 's/^\(.\):\//\/\1\//') +$(crosstools-icu--configflag) : $(crosstools-icu--touchfileflag) $(TOP)/$(CURDIR)/mmakefile + $(Q)$(RM) $@ + $(Q)$(FOR) dir in $(crosstools-icu--pkgdir) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(ECHO) "Configuring build in $(subst $(TOP)/,,$(crosstools-icu--pkgdir))" + $(Q)cd $(crosstools-icu--pkgdir) && \ + find . -name config.cache -exec $(RM) '{}' \; && \ + $(crosstools-icu--cfg-env) $(TMP_SRCDIR)/configure $(crosstools-icu--config_opts) $(ICU_EXTRA_OPTS) && \ + $(TOUCH) $@ + +#MM +crosstools-icu--clean : crosstools-icu--uninstall + $(Q)$(RM) $(crosstools-icu--pkgdir) + +.PHONY : crosstools-icu--make-package crosstools-icu--create-patch +#MM crosstools-icu--make-package : crosstools-icu--quick + +#MM +crosstools-icu--make-package : $(crosstools-icu--package) + +#There seems to be a bug, either with my clock or with make, 'cause it may happen +#that $^ and $@ have exactly the same mtime, and in that case make tries +#to rebuild $@ again, which would fail because the directory where +#the package got installed would not exist anymore. +#We work this around by using an if statement to manually check the mtimes. +$(crosstools-icu--package-basename).tar.bz2 : + $(Q)$(IF) $(TEST) $(crosstools-icu-installflag) -nt $@ || ! $(TEST) -s $@; then \ + $(RM) $@ ; \ + $(ECHO) "Building \`$(crosstools-icu--package-basename).tar.bz2'" ; \ + $(MKDIR) -p "$(DISTDIR)/Packages" ; \ + $(MKDIR) -p "$(crosstools-icu-prefix)" ; \ + cd $(crosstools-icu--package-dir) ; \ + tar -cvf $(crosstools-icu--package-basename).tar * ; \ + bzip2 -9 -f $(crosstools-icu--package-basename).tar ; \ + fi + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/lha/mmakefile b/tools/lha/mmakefile new file mode 100644 index 00000000000..01bb238cbbf --- /dev/null +++ b/tools/lha/mmakefile @@ -0,0 +1,36 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- contrib-development : tools-lha +#MM tools-lha : + +# ================================================= +# lha +# ================================================= + +GIT_LHA := https://github.com/jca02266/lha +CONFIG_LHA := --prefix=$(HOSTGENDIR)/$(CURDIR)/build --bindir=$(TOOLDIR) + +#MM +tools-lha : $(TOOLDIR)/lha + +$(TOOLDIR)/lha : $(HOSTGENDIR)/$(CURDIR)/Makefile + $(Q)$(ECHO)"make lha" && $(MAKE) -C $(HOSTGENDIR)/$(CURDIR) all + $(Q)$(MKDIR) $(TOOLDIR) + $(Q)$(ECHO)"install lha" && $(MAKE) -C $(HOSTGENDIR)/$(CURDIR) install + +$(HOSTGENDIR)/$(CURDIR)/Makefile : $(HOSTGENDIR)/$(CURDIR)/configure + $(Q)$(MKDIR) $(HOSTGENDIR)/$(CURDIR) + $(Q)$(ECHO)"configure lha" && cd $(HOSTGENDIR)/$(CURDIR) && aclocal; autoheader; automake -a; autoconf; $(HOSTGENDIR)/$(CURDIR)/configure $(CONFIG_LHA) + +$(HOSTGENDIR)/$(CURDIR)/configure: + $(Q)git clone -b master --depth 4 $(GIT_LHA) $(HOSTGENDIR)/$(CURDIR)/ + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/mkkeymap/mmakefile b/tools/mkkeymap/mmakefile new file mode 100644 index 00000000000..6353499dedf --- /dev/null +++ b/tools/mkkeymap/mmakefile @@ -0,0 +1,631 @@ +include $(SRCDIR)/config/aros.cfg + +## Host build + +#MM- tools-mkkeymap: includes + +USER_INCLUDES := -I$(GENINCDIR) +EXEDIR := $(dir $(MKKEYMAP)) +FILES := mkkeymap config parsedescriptor writekeymap + + +.PHONY : tools-mkkeymap + +tools-mkkeymap_PROGNAME := $(notdir $(MKKEYMAP)) +tools-mkkeymap_OBJDIR := $(GENDIR)/$(CURDIR) +tools-mkkeymap_TARGETDIR := $(EXEDIR) +tools-mkkeymap_LINKER := +tools-mkkeymap_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(tools-mkkeymap_LINKER),) + tools-mkkeymap_LINKER := host +endif + +ifneq ("$(strip $(FILES) )","") + tools-mkkeymap_FILES := $(FILES) + tools-mkkeymap_OBJCFILES := + tools-mkkeymap_ASMFILES := + tools-mkkeymap_CXXFILES := +else + tools-mkkeymap_FILES := $(tools-mkkeymap_PROGNAME) + tools-mkkeymap_OBJCFILES := + tools-mkkeymap_ASMFILES := + tools-mkkeymap_CXXFILES := +endif + +tools-mkkeymap_ARCHOBJS := $(wildcard $(tools-mkkeymap_OBJDIR)/arch/*.o) +tools-mkkeymap_ARCHFILES := $(basename $(notdir $(tools-mkkeymap_ARCHOBJS))) +tools-mkkeymap_C_NARCHFILES := $(filter-out $(tools-mkkeymap_ARCHFILES),$(tools-mkkeymap_FILES)) +tools-mkkeymap_CXX_NARCHFILES := $(filter-out $(tools-mkkeymap_ARCHFILES),$(tools-mkkeymap_CXXFILES)) +tools-mkkeymap_OBJC_NARCHFILES := $(filter-out $(tools-mkkeymap_ARCHFILES),$(tools-mkkeymap_OBJCFILES)) + +TMP_FILES := $(tools-mkkeymap_C_NARCHFILES) $(tools-mkkeymap_CXX_NARCHFILES) $(tools-mkkeymap_ASMFILES) $(tools-mkkeymap_OBJC_NARCHFILES) +tools-mkkeymap_OBJS := $(addsuffix .o,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(notdir $(TMP_FILES)))) +tools-mkkeymap_DEPS := $(addsuffix .d,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(notdir $(TMP_FILES)))) + +tools-mkkeymap_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +tools-mkkeymap_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (host,target) +tools-mkkeymap_CFLAGS := $(CFLAGS) +endif +ifeq (host,host) +tools-mkkeymap_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (host,kernel) +tools-mkkeymap_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +tools-mkkeymap_CFLAGS := +endif + +ifeq ("","") +ifeq (host,target) +tools-mkkeymap_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (host,host) +tools-mkkeymap_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (host,kernel) +tools-mkkeymap_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +tools-mkkeymap_CXXFLAGS := +endif + +ifeq ("","") +ifeq (host,target) +tools-mkkeymap_LDFLAGS := $(LDFLAGS) +endif +ifeq (host,host) +tools-mkkeymap_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (host,kernel) +tools-mkkeymap_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +tools-mkkeymap_LDFLAGS := +endif + +tools-mkkeymap_COVERAGE := no +ifeq (host,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +tools-mkkeymap_COVERAGE := yes +tools-mkkeymap_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +tools-mkkeymap_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +tools-mkkeymap_CFLAGS := $(strip $(tools-mkkeymap_COVERAGEFLAGS) $(tools-mkkeymap_CFLAGS)) +tools-mkkeymap_CXXFLAGS := $(strip $(tools-mkkeymap_COVERAGEFLAGS) $(tools-mkkeymap_CXXFLAGS)) +tools-mkkeymap_LIBS += $(tools-mkkeymap_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +tools-mkkeymap_FUNCINSTR := yes +tools-mkkeymap_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +tools-mkkeymap_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +tools-mkkeymap_CFLAGS := $(strip $(tools-mkkeymap_INSTRFUNCFLAGS) $(tools-mkkeymap_CFLAGS)) +tools-mkkeymap_CXXFLAGS := $(strip $(tools-mkkeymap_INSTRFUNCFLAGS) $(tools-mkkeymap_CXXFLAGS)) +tools-mkkeymap_LIBS += $(tools-mkkeymap_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +tools-mkkeymap_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(tools-mkkeymap_CFLAGS)) +tools-mkkeymap_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(tools-mkkeymap_CXXFLAGS)) +endif +endif +tools-mkkeymap_AFLAGS := $(AFLAGS) +ifneq (,) + tools-mkkeymap_DFLAGS := +else + tools-mkkeymap_DFLAGS := $(tools-mkkeymap_CFLAGS) +endif +ifneq (,) + tools-mkkeymap_DXXFLAGS := +else + tools-mkkeymap_DXXFLAGS := $(tools-mkkeymap_CXXFLAGS) +endif +ifeq (host,target) +tools-mkkeymap_LDFLAGS := $(tools-mkkeymap_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (host,host) +tools-mkkeymap_LDFLAGS := $(tools-mkkeymap_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (host,kernel) +tools-mkkeymap_LDFLAGS := $(tools-mkkeymap_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +tools-mkkeymap_LDFLAGS += -L +endif + +#MM +tools-mkkeymap-quick : tools-mkkeymap + +#MM tools-mkkeymap : includes-generate-deps core-linklibs +tools-mkkeymap : $(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) + +ifneq ($(filter $(TARGET),tools-mkkeymap tools-mkkeymap-quick tools-mkkeymap-gz-quick),) + +tools-mkkeymap_CXXABSBASENAMES := $(foreach tools-mkkeymap_CXXBASE,$(tools-mkkeymap_CXX_NARCHFILES),$(if $(filter /%,$(tools-mkkeymap_CXXBASE)),$(tools-mkkeymap_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(tools-mkkeymap_CXXBASE)))) + +ifneq ($(tools-mkkeymap_CXXABSBASENAMES),) + +tools-mkkeymap_CXXBASENAMES := $(basename $(tools-mkkeymap_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +tools-mkkeymap_MCXX_FILES := $(strip $(foreach tools-mkkeymap_CXXBASE,$(tools-mkkeymap_CXXABSBASENAMES), $(firstword $(wildcard $(foreach tools-mkkeymap_EXT, $(AROS_CXXEXTS),$(addsuffix .$(tools-mkkeymap_EXT),$(tools-mkkeymap_CXXBASE))))))) + +ifeq (,) +tools-mkkeymap_MCXX_SRCWILDCARD := % +else +tools-mkkeymap_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(tools-mkkeymap_OBJDIR),) + tools-mkkeymap_CXXTARGETS := $(notdir $(tools-mkkeymap_CXXBASENAMES:=.o)) + tools-mkkeymap_CXXDTARGETS := $(notdir $(tools-mkkeymap_CXXBASENAMES:=.d)) + tools-mkkeymap_MCXX_WILDCARD := % +else + tools-mkkeymap_CXXTARGETS := $(addprefix $(tools-mkkeymap_OBJDIR)/,$(notdir $(tools-mkkeymap_CXXBASENAMES:=.o))) + tools-mkkeymap_CXXDTARGETS := $(addprefix $(tools-mkkeymap_OBJDIR)/,$(notdir $(tools-mkkeymap_CXXBASENAMES:=.d))) + tools-mkkeymap_MCXX_WILDCARD := $(tools-mkkeymap_OBJDIR)/% + + # Be sure that all source files are generated + $(tools-mkkeymap_CXXTARGETS) $(tools-mkkeymap_CXXDTARGETS) : | $(tools-mkkeymap_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +tools-mkkeymap_MCXX_CPPFLAGS := $(tools-mkkeymap_CPPFLAGS) +tools-mkkeymap_CXXFLAGS := $(tools-mkkeymap_CXXFLAGS) +ifeq ($(tools-mkkeymap_DXXFLAGS),) + tools-mkkeymap_DXXFLAGS := $(tools-mkkeymap_CXXFLAGS) +else + tools-mkkeymap_DXXFLAGS := $(tools-mkkeymap_DXXFLAGS) +endif + +ifeq ($(findstring host,host kernel target),) + $(error unknown compiler host) +endif +ifeq (host,host) + tools-mkkeymap_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + tools-mkkeymap_STRIP ?= $(HOST_STRIP) + tools-mkkeymap_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + tools-mkkeymap_CXXCMD:=$(HOST_CXX) + tools-mkkeymap_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(tools-mkkeymap_MCXX_CPPFLAGS) $(tools-mkkeymap_MCXX_EXTRA_CPPFLAGS)) + tools-mkkeymap_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(tools-mkkeymap_CXXFLAGS)) + tools-mkkeymap_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(tools-mkkeymap_DXXFLAGS)) + tools-mkkeymap_CXXIQUOTE:=$(HOST_IQUOTE) + tools-mkkeymap_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (host,target) + tools-mkkeymap_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + tools-mkkeymap_STRIP ?= $(TARGET_STRIP) + tools-mkkeymap_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + tools-mkkeymap_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + tools-mkkeymap_MCXX_CPPFLAGS := $(strip $(tools-mkkeymap_MCXX_CPPFLAGS) $(tools-mkkeymap_MCXX_EXTRA_CPPFLAGS)) + tools-mkkeymap_CXXFLAGS := $(strip $(tools-mkkeymap_CXXFLAGS) $(SAFETY_CFLAGS)) + tools-mkkeymap_DXXFLAGS := $(tools-mkkeymap_DXXFLAGS) + tools-mkkeymap_CXXIQUOTE:=$(CFLAGS_IQUOTE) + tools-mkkeymap_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (host,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + tools-mkkeymap_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + tools-mkkeymap_STRIP ?= $(ECHO) >/dev/null + tools-mkkeymap_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + tools-mkkeymap_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + tools-mkkeymap_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(tools-mkkeymap_MCXX_CPPFLAGS) $(tools-mkkeymap_MCXX_EXTRA_CPPFLAGS)) + tools-mkkeymap_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(tools-mkkeymap_CXXFLAGS)) + tools-mkkeymap_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(tools-mkkeymap_DXXFLAGS)) + tools-mkkeymap_CXXIQUOTE:=$(KERNEL_IQUOTE) + tools-mkkeymap_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(tools-mkkeymap_CXXCMD) $(tools-mkkeymap_CXXIQUOTE) $(dir $(2)) $(tools-mkkeymap_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_CXXIQUOTE) . $(tools-mkkeymap_CXXIQUOTE_END) $(strip $(tools-mkkeymap_CXXFLAGS) $(tools-mkkeymap_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(tools-mkkeymap_CXXCMD) $(tools-mkkeymap_CXXIQUOTE) $(dir $(2)) $(tools-mkkeymap_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_CXXIQUOTE) . $(tools-mkkeymap_CXXIQUOTE_END) $(strip $(tools-mkkeymap_CXXFLAGS) $(tools-mkkeymap_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(tools-mkkeymap_CXXCMD) $(tools-mkkeymap_CXXIQUOTE) $(dir $(2)) $(tools-mkkeymap_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_CXXIQUOTE) . $(tools-mkkeymap_CXXIQUOTE_END) $(strip $(tools-mkkeymap_CXXFLAGS) $(tools-mkkeymap_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(tools-mkkeymap_CXXCMD)" $(MKDEPEND) $(strip $(tools-mkkeymap_DXXFLAGS) $(tools-mkkeymap_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(tools-mkkeymap_OBJDIR),) + $(foreach tools-mkkeymap_CXXFILE,$(tools-mkkeymap_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(tools-mkkeymap_CXXFILE))),$(tools-mkkeymap_CXXFILE)))) +else + $(foreach tools-mkkeymap_CXXFILE,$(tools-mkkeymap_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(notdir $(basename $(tools-mkkeymap_CXXFILE)))),$(tools-mkkeymap_CXXFILE)))) +endif + +endif + + +ifneq ($(tools-mkkeymap_OBJC_NARCHFILES),) + +ifeq (,) +tools-mkkeymap_MOBJC_SRCWILDCARD := % +else +tools-mkkeymap_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(tools-mkkeymap_OBJDIR),) + tools-mkkeymap_MOBJC_TARGETS := $(addsuffix .o,$(tools-mkkeymap_OBJC_NARCHFILES)) + tools-mkkeymap_MOBJC_DTARGETS := $(addsuffix .d,$(tools-mkkeymap_OBJC_NARCHFILES)) + tools-mkkeymap_MOBJC_WILDCARD := % +else + tools-mkkeymap_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(tools-mkkeymap_OBJC_NARCHFILES))) + tools-mkkeymap_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(tools-mkkeymap_OBJC_NARCHFILES))) + tools-mkkeymap_MOBJC_WILDCARD := $(tools-mkkeymap_OBJDIR)/% + + # Be sure that all .m files are generated + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : | $(addsuffix .m,$(tools-mkkeymap_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + tools-mkkeymap_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + tools-mkkeymap_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(tools-mkkeymap_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + tools-mkkeymap_MOBJC_DIRS := $(foreach dir, $(tools-mkkeymap_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-mkkeymap_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(tools-mkkeymap_MOBJC_DIRS),) + tools-mkkeymap_MOBJC_DIRS := $(shell echo $(tools-mkkeymap_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(tools-mkkeymap_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + tools-mkkeymap_CC := $(TARGET_CC) +else + tools-mkkeymap_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +tools-mkkeymap_MOBJC_CPPFLAGS := $(tools-mkkeymap_CPPFLAGS) +tools-mkkeymap_OBJCFLAGS := $(tools-mkkeymap_CFLAGS) +tools-mkkeymap_OBJCFLAGS := $(tools-mkkeymap_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +tools-mkkeymap_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(tools-mkkeymap_OBJCFLAGS))) +ifeq ($(tools-mkkeymap_DFLAGS),) + tools-mkkeymap_OBJCDFLAGS := $(tools-mkkeymap_CFLAGS) +else + tools-mkkeymap_OBJCDFLAGS := $(tools-mkkeymap_DFLAGS) +endif + +ifeq ($(findstring host,host kernel target),) + $(error unknown compiler host) +endif +ifeq (host,target) + tools-mkkeymap_LINK ?= $(strip $(tools-mkkeymap_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + tools-mkkeymap_STRIP ?= $(TARGET_STRIP) + tools-mkkeymap_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : CMD:=$(strip $(tools-mkkeymap_CC) $(TARGET_SYSROOT)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_MOBJC_CPPFLAGS:=$(strip $(tools-mkkeymap_MOBJC_CPPFLAGS) $(tools-mkkeymap_MOBJC_EXTRA_CPPFLAGS)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_OBJCFLAGS:=$(strip $(tools-mkkeymap_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_OBJCDFLAGS:=$(tools-mkkeymap_OBJCDFLAGS) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_IQUOTE:=$(CFLAGS_IQUOTE) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (host,host) + tools-mkkeymap_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + tools-mkkeymap_STRIP ?= $(HOST_STRIP) + tools-mkkeymap_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(tools-mkkeymap_MOBJC_CPPFLAGS) $(tools-mkkeymap_MOBJC_EXTRA_CPPFLAGS)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(tools-mkkeymap_OBJCFLAGS)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(tools-mkkeymap_OBJCDFLAGS)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_IQUOTE:=$(HOST_IQUOTE) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (host,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + tools-mkkeymap_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + tools-mkkeymap_STRIP ?= $(ECHO) >/dev/null + tools-mkkeymap_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(tools-mkkeymap_MOBJC_CPPFLAGS) $(tools-mkkeymap_MOBJC_EXTRA_CPPFLAGS)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-mkkeymap_OBJCFLAGS)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-mkkeymap_OBJCDFLAGS)) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_IQUOTE:=$(KERNEL_IQUOTE) + $(tools-mkkeymap_MOBJC_TARGETS) $(tools-mkkeymap_MOBJC_DTARGETS) : tools-mkkeymap_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(tools-mkkeymap_MOBJC_TARGETS) : CPPFLAGS := $(tools-mkkeymap_MOBJC_CPPFLAGS) +$(tools-mkkeymap_MOBJC_TARGETS) : CFLAGS := $(tools-mkkeymap_OBJCFLAGS) +$(tools-mkkeymap_MOBJC_TARGETS) : $(tools-mkkeymap_MOBJC_WILDCARD).o : $(tools-mkkeymap_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(tools-mkkeymap_IQUOTE) $(dir $<) $(tools-mkkeymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_IQUOTE) . $(tools-mkkeymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(tools-mkkeymap_IQUOTE) $(dir $<) $(tools-mkkeymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_IQUOTE) . $(tools-mkkeymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(tools-mkkeymap_IQUOTE) $(dir $<) $(tools-mkkeymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_IQUOTE) . $(tools-mkkeymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(tools-mkkeymap_MOBJC_DTARGETS) : $(tools-mkkeymap_MOBJC_WILDCARD).d : $(tools-mkkeymap_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(tools-mkkeymap_OBJCDFLAGS) $(tools-mkkeymap_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +tools-mkkeymap_MC_SRCWILDCARD := % +else +tools-mkkeymap_MC_SRCWILDCARD := /% +endif + +ifeq ($(tools-mkkeymap_OBJDIR),) +tools-mkkeymap_MC_TARGETS := $(addsuffix .o,$(tools-mkkeymap_C_NARCHFILES)) +tools-mkkeymap_MC_DTARGETS := $(addsuffix .d,$(tools-mkkeymap_C_NARCHFILES)) +tools-mkkeymap_MC_TGTWILDCARD := % +else +ifeq (no,no) + tools-mkkeymap_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(notdir $(tools-mkkeymap_C_NARCHFILES)))) + tools-mkkeymap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(notdir $(tools-mkkeymap_C_NARCHFILES)))) +else +ifeq (,) + tools-mkkeymap_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(tools-mkkeymap_C_NARCHFILES))) + tools-mkkeymap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(tools-mkkeymap_C_NARCHFILES))) +else + tools-mkkeymap_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(patsubst /%,%,$(tools-mkkeymap_C_NARCHFILES)))) + tools-mkkeymap_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(patsubst /%,%,$(tools-mkkeymap_C_NARCHFILES)))) +endif +endif +tools-mkkeymap_MC_TGTWILDCARD := $(tools-mkkeymap_OBJDIR)/% + +# Be sure that all .c files are generated +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : | $(addsuffix .c,$(tools-mkkeymap_C_NARCHFILES)) + +# Be sure that all .c files are found +tools-mkkeymap_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +tools-mkkeymap_MC_BASEDIRS := $(shell echo $(sort $(dir $(tools-mkkeymap_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +tools-mkkeymap_MC_DIRS := $(foreach dir, $(tools-mkkeymap_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-mkkeymap_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(tools-mkkeymap_MC_DIRS),) + tools-mkkeymap_MC_DIRS := $(shell echo $(tools-mkkeymap_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(tools-mkkeymap_MC_DIRS) +endif + +endif + +tools-mkkeymap_MC_CPPFLAGS := $(tools-mkkeymap_CPPFLAGS) +tools-mkkeymap_CFLAGS := $(tools-mkkeymap_CFLAGS) +ifeq ($(tools-mkkeymap_DFLAGS),) + tools-mkkeymap_DFLAGS := $(tools-mkkeymap_CFLAGS) +else + tools-mkkeymap_DFLAGS := $(tools-mkkeymap_DFLAGS) +endif + +ifeq ($(findstring host,host kernel target),) + $(error unknown compiler host) +endif +ifeq (host,target) +tools-mkkeymap_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +tools-mkkeymap_STRIP ?= $(TARGET_STRIP) +tools-mkkeymap_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_MC_CPPFLAGS:=$(strip $(tools-mkkeymap_MC_CPPFLAGS) $(tools-mkkeymap_MC_EXTRA_CPPFLAGS)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_CFLAGS:=$(strip $(tools-mkkeymap_CFLAGS) $(SAFETY_CFLAGS)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_DFLAGS:=$(tools-mkkeymap_DFLAGS) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_IQUOTE:=$(CFLAGS_IQUOTE) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (host,host) +tools-mkkeymap_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +tools-mkkeymap_STRIP ?= $(HOST_STRIP) +tools-mkkeymap_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : CMD:=$(HOST_CC) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(tools-mkkeymap_MC_CPPFLAGS) $(tools-mkkeymap_MC_EXTRA_CPPFLAGS)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_CFLAGS:=$(strip $(HOST_CFLAGS) $(tools-mkkeymap_CFLAGS)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_DFLAGS:=$(strip $(HOST_CFLAGS) $(tools-mkkeymap_DFLAGS)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_IQUOTE:=$(HOST_IQUOTE) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (host,kernel) +tools-mkkeymap_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +tools-mkkeymap_STRIP ?= $(ECHO) >/dev/null +tools-mkkeymap_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(tools-mkkeymap_MC_CPPFLAGS) $(tools-mkkeymap_MC_EXTRA_CPPFLAGS)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-mkkeymap_CFLAGS)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-mkkeymap_DFLAGS)) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_IQUOTE:=$(KERNEL_IQUOTE) +$(tools-mkkeymap_MC_TARGETS) $(tools-mkkeymap_MC_DTARGETS) : tools-mkkeymap_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(tools-mkkeymap_MC_TARGETS) : CPPFLAGS := $(tools-mkkeymap_MC_CPPFLAGS) +$(tools-mkkeymap_MC_TARGETS) : CFLAGS := $(tools-mkkeymap_CFLAGS) +$(tools-mkkeymap_MC_TARGETS) : $(tools-mkkeymap_MC_TGTWILDCARD).o : $(tools-mkkeymap_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(tools-mkkeymap_IQUOTE) $(dir $<) $(tools-mkkeymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_IQUOTE) . $(tools-mkkeymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(tools-mkkeymap_IQUOTE) $(dir $<) $(tools-mkkeymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_IQUOTE) . $(tools-mkkeymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(tools-mkkeymap_IQUOTE) $(dir $<) $(tools-mkkeymap_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-mkkeymap_IQUOTE) . $(tools-mkkeymap_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(tools-mkkeymap_MC_DTARGETS) : $(tools-mkkeymap_MC_TGTWILDCARD).d : $(tools-mkkeymap_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(tools-mkkeymap_DFLAGS) $(tools-mkkeymap_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(tools-mkkeymap_OBJDIR),) +tools-mkkeymap-MA_TARGETS := $(addsuffix .o,$(tools-mkkeymap_ASMFILES)) +tools-mkkeymap-MA_WILDCARD := % +else +tools-mkkeymap-MA_TARGETS := $(addsuffix .o,$(addprefix $(tools-mkkeymap_OBJDIR)/,$(notdir $(tools-mkkeymap_ASMFILES)))) +tools-mkkeymap-MA_WILDCARD := $(tools-mkkeymap_OBJDIR)/% + +# Be sure that all .s files are generated +$(tools-mkkeymap-MA_TARGETS) : | $(addsuffix .s,$(tools-mkkeymap_ASMFILES)) + +# Be sure that all .c files are found +tools-mkkeymap-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +tools-mkkeymap-MA_BASEDIRS := $(shell echo $(sort $(dir $(tools-mkkeymap_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +tools-mkkeymap-MA_DIRS := $(foreach dir, $(tools-mkkeymap-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-mkkeymap-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(tools-mkkeymap-MA_DIRS),) + tools-mkkeymap-MA_DIRS := $(shell echo $(tools-mkkeymap-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(tools-mkkeymap-MA_DIRS) +endif + +endif + +tools-mkkeymap-MA_ASSEMBLER ?= $(tools-mkkeymap_ASSEMBLER) + +$(tools-mkkeymap-MA_TARGETS) : tools-mkkeymap-MA_CMD:= $(tools-mkkeymap-MA_ASSEMBLER) + +$(tools-mkkeymap-MA_TARGETS) : CPPFLAGS := $(tools-mkkeymap_CPPFLAGS) +$(tools-mkkeymap-MA_TARGETS) : AFLAGS := $(tools-mkkeymap_AFLAGS) +$(tools-mkkeymap-MA_TARGETS) : $(tools-mkkeymap-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(tools-mkkeymap-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(tools-mkkeymap-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(tools-mkkeymap-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +tools-mkkeymap-link_EXTRA_LDFLAGS := +tools-mkkeymap-link_EXTRA_LIBS := +ifeq (no,yes) + tools-mkkeymap-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + tools-mkkeymap-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + tools-mkkeymap-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +tools-mkkeymap-link_DIRS := $(subst -L ,-L,$(strip $(tools-mkkeymap_LDFLAGS))) +# Filter out only the libdirs and remove -L +tools-mkkeymap-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(tools-mkkeymap-link_DIRS))) +# Add trailing / +tools-mkkeymap-link_DIRS := $(subst //,/,$(addsuffix /,$(tools-mkkeymap-link_DIRS))) +# Add normal linklib path +tools-mkkeymap-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +tools-mkkeymap-link_LIBS := $(addprefix lib,$(addsuffix .a,$(tools-mkkeymap_LIBS) $(tools-mkkeymap-link_EXTRA_LIBS))) +ifeq (yes,yes) + tools-mkkeymap-link_LIBS += startup.o +endif +ifeq (no,yes) + tools-mkkeymap-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +tools-mkkeymap-link_DEPLIBS := $(foreach lib,$(tools-mkkeymap-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(tools-mkkeymap-link_DIRS)))) \ +) + +$(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) : OBJDIR := $(tools-mkkeymap_OBJDIR) +$(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) : OBJS := $(tools-mkkeymap_OBJS) $(tools-mkkeymap_ARCHOBJS) $(USER_OBJS) +$(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) : LDFLAGS := $(strip $(tools-mkkeymap_LDFLAGS) $(tools-mkkeymap-link_EXTRA_LDFLAGS)) +$(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) : LIBS := $(addprefix -l,$(tools-mkkeymap_LIBS) $(tools-mkkeymap-link_EXTRA_LIBS) ) +$(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) : $(tools-mkkeymap_OBJS) $(tools-mkkeymap_ARCHOBJS) $(USER_OBJS) $(tools-mkkeymap-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(tools-mkkeymap_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(tools-mkkeymap_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(tools-mkkeymap_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(tools-mkkeymap_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(tools-mkkeymap_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(tools-mkkeymap_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(tools-mkkeymap_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(tools-mkkeymap_DEPS),) + ifneq (tools-mkkeymap tools-mkkeymap-quick,) + ifneq ($(findstring $(TARGET),tools-mkkeymap tools-mkkeymap-quick),) + -include $(tools-mkkeymap_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(tools-mkkeymap_DEPS) + endif + endif +endif + + +ifneq ($(tools-mkkeymap_OBJS) $(tools-mkkeymap_DEPS) $(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME),) +$(tools-mkkeymap_OBJS) $(tools-mkkeymap_DEPS) $(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) : | $(tools-mkkeymap_OBJDIR) $(tools-mkkeymap_TARGETDIR) +else +$(tools-mkkeymap_OBJS) $(tools-mkkeymap_DEPS) $(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) :: $(tools-mkkeymap_OBJDIR) $(tools-mkkeymap_TARGETDIR) +endif + +GLOB_MKDIRS += $(tools-mkkeymap_OBJDIR) $(tools-mkkeymap_TARGETDIR) + + +tools-mkkeymap-clean : FILES := $(tools-mkkeymap_OBJS) $(tools-mkkeymap_TARGETDIR)/$(tools-mkkeymap_PROGNAME) $(tools-mkkeymap_DEPS) +#MM +tools-mkkeymap-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget tools-mkkeymap" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/tools/setrev/mmakefile b/tools/setrev/mmakefile new file mode 100644 index 00000000000..d3f30473a44 --- /dev/null +++ b/tools/setrev/mmakefile @@ -0,0 +1,653 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- contrib-development : tools-setrev +#MM tools-setrev : includes linklibs + +FILES := setrev +EXEDIR := $(AROS_CONTRIB)/$(AROS_DIR_DEVELOPER)/Build +USER_CFLAGS := + + +.PHONY : tools-setrev + +tools-setrev_PROGNAME := setrev +tools-setrev_OBJDIR := $(GENDIR)/$(CURDIR) +tools-setrev_TARGETDIR := $(EXEDIR) +tools-setrev_LINKER := +tools-setrev_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(tools-setrev_LINKER),) + tools-setrev_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + tools-setrev_FILES := $(FILES) + tools-setrev_OBJCFILES := + tools-setrev_ASMFILES := + tools-setrev_CXXFILES := +else + tools-setrev_FILES := $(tools-setrev_PROGNAME) + tools-setrev_OBJCFILES := + tools-setrev_ASMFILES := + tools-setrev_CXXFILES := +endif + +tools-setrev_ARCHOBJS := $(wildcard $(tools-setrev_OBJDIR)/arch/*.o) +tools-setrev_ARCHFILES := $(basename $(notdir $(tools-setrev_ARCHOBJS))) +tools-setrev_C_NARCHFILES := $(filter-out $(tools-setrev_ARCHFILES),$(tools-setrev_FILES)) +tools-setrev_CXX_NARCHFILES := $(filter-out $(tools-setrev_ARCHFILES),$(tools-setrev_CXXFILES)) +tools-setrev_OBJC_NARCHFILES := $(filter-out $(tools-setrev_ARCHFILES),$(tools-setrev_OBJCFILES)) + +TMP_FILES := $(tools-setrev_C_NARCHFILES) $(tools-setrev_CXX_NARCHFILES) $(tools-setrev_ASMFILES) $(tools-setrev_OBJC_NARCHFILES) +tools-setrev_OBJS := $(addsuffix .o,$(addprefix $(tools-setrev_OBJDIR)/,$(notdir $(TMP_FILES)))) +tools-setrev_DEPS := $(addsuffix .d,$(addprefix $(tools-setrev_OBJDIR)/,$(notdir $(TMP_FILES)))) + +tools-setrev_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +tools-setrev_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +tools-setrev_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +tools-setrev_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +tools-setrev_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +tools-setrev_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +tools-setrev_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +tools-setrev_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +tools-setrev_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +tools-setrev_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +tools-setrev_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +tools-setrev_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +tools-setrev_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +tools-setrev_LDFLAGS := +endif + +tools-setrev_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +tools-setrev_COVERAGE := yes +tools-setrev_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +tools-setrev_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +tools-setrev_CFLAGS := $(strip $(tools-setrev_COVERAGEFLAGS) $(tools-setrev_CFLAGS)) +tools-setrev_CXXFLAGS := $(strip $(tools-setrev_COVERAGEFLAGS) $(tools-setrev_CXXFLAGS)) +tools-setrev_LIBS += $(tools-setrev_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +tools-setrev_FUNCINSTR := yes +tools-setrev_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +tools-setrev_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +tools-setrev_CFLAGS := $(strip $(tools-setrev_INSTRFUNCFLAGS) $(tools-setrev_CFLAGS)) +tools-setrev_CXXFLAGS := $(strip $(tools-setrev_INSTRFUNCFLAGS) $(tools-setrev_CXXFLAGS)) +tools-setrev_LIBS += $(tools-setrev_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +tools-setrev_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(tools-setrev_CFLAGS)) +tools-setrev_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(tools-setrev_CXXFLAGS)) +endif +endif +tools-setrev_AFLAGS := $(AFLAGS) +ifneq (,) + tools-setrev_DFLAGS := +else + tools-setrev_DFLAGS := $(tools-setrev_CFLAGS) +endif +ifneq (,) + tools-setrev_DXXFLAGS := +else + tools-setrev_DXXFLAGS := $(tools-setrev_CXXFLAGS) +endif +ifeq (target,target) +tools-setrev_LDFLAGS := $(tools-setrev_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +tools-setrev_LDFLAGS := $(tools-setrev_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +tools-setrev_LDFLAGS := $(tools-setrev_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +tools-setrev_LDFLAGS += -L +endif + +#MM +tools-setrev-quick : tools-setrev + +#MM tools-setrev : includes-generate-deps core-linklibs +tools-setrev : $(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) + +ifneq ($(filter $(TARGET),tools-setrev tools-setrev-quick tools-setrev-gz-quick),) + +tools-setrev_CXXABSBASENAMES := $(foreach tools-setrev_CXXBASE,$(tools-setrev_CXX_NARCHFILES),$(if $(filter /%,$(tools-setrev_CXXBASE)),$(tools-setrev_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(tools-setrev_CXXBASE)))) + +ifneq ($(tools-setrev_CXXABSBASENAMES),) + +tools-setrev_CXXBASENAMES := $(basename $(tools-setrev_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +tools-setrev_MCXX_FILES := $(strip $(foreach tools-setrev_CXXBASE,$(tools-setrev_CXXABSBASENAMES), $(firstword $(wildcard $(foreach tools-setrev_EXT, $(AROS_CXXEXTS),$(addsuffix .$(tools-setrev_EXT),$(tools-setrev_CXXBASE))))))) + +ifeq (,) +tools-setrev_MCXX_SRCWILDCARD := % +else +tools-setrev_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(tools-setrev_OBJDIR),) + tools-setrev_CXXTARGETS := $(notdir $(tools-setrev_CXXBASENAMES:=.o)) + tools-setrev_CXXDTARGETS := $(notdir $(tools-setrev_CXXBASENAMES:=.d)) + tools-setrev_MCXX_WILDCARD := % +else + tools-setrev_CXXTARGETS := $(addprefix $(tools-setrev_OBJDIR)/,$(notdir $(tools-setrev_CXXBASENAMES:=.o))) + tools-setrev_CXXDTARGETS := $(addprefix $(tools-setrev_OBJDIR)/,$(notdir $(tools-setrev_CXXBASENAMES:=.d))) + tools-setrev_MCXX_WILDCARD := $(tools-setrev_OBJDIR)/% + + # Be sure that all source files are generated + $(tools-setrev_CXXTARGETS) $(tools-setrev_CXXDTARGETS) : | $(tools-setrev_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +tools-setrev_MCXX_CPPFLAGS := $(tools-setrev_CPPFLAGS) +tools-setrev_CXXFLAGS := $(tools-setrev_CXXFLAGS) +ifeq ($(tools-setrev_DXXFLAGS),) + tools-setrev_DXXFLAGS := $(tools-setrev_CXXFLAGS) +else + tools-setrev_DXXFLAGS := $(tools-setrev_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + tools-setrev_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + tools-setrev_STRIP ?= $(HOST_STRIP) + tools-setrev_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + tools-setrev_CXXCMD:=$(HOST_CXX) + tools-setrev_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(tools-setrev_MCXX_CPPFLAGS) $(tools-setrev_MCXX_EXTRA_CPPFLAGS)) + tools-setrev_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(tools-setrev_CXXFLAGS)) + tools-setrev_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(tools-setrev_DXXFLAGS)) + tools-setrev_CXXIQUOTE:=$(HOST_IQUOTE) + tools-setrev_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + tools-setrev_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + tools-setrev_STRIP ?= $(TARGET_STRIP) + tools-setrev_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + tools-setrev_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + tools-setrev_MCXX_CPPFLAGS := $(strip $(tools-setrev_MCXX_CPPFLAGS) $(tools-setrev_MCXX_EXTRA_CPPFLAGS)) + tools-setrev_CXXFLAGS := $(strip $(tools-setrev_CXXFLAGS) $(SAFETY_CFLAGS)) + tools-setrev_DXXFLAGS := $(tools-setrev_DXXFLAGS) + tools-setrev_CXXIQUOTE:=$(CFLAGS_IQUOTE) + tools-setrev_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + tools-setrev_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + tools-setrev_STRIP ?= $(ECHO) >/dev/null + tools-setrev_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + tools-setrev_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + tools-setrev_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(tools-setrev_MCXX_CPPFLAGS) $(tools-setrev_MCXX_EXTRA_CPPFLAGS)) + tools-setrev_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(tools-setrev_CXXFLAGS)) + tools-setrev_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(tools-setrev_DXXFLAGS)) + tools-setrev_CXXIQUOTE:=$(KERNEL_IQUOTE) + tools-setrev_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(tools-setrev_CXXCMD) $(tools-setrev_CXXIQUOTE) $(dir $(2)) $(tools-setrev_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_CXXIQUOTE) . $(tools-setrev_CXXIQUOTE_END) $(strip $(tools-setrev_CXXFLAGS) $(tools-setrev_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(tools-setrev_CXXCMD) $(tools-setrev_CXXIQUOTE) $(dir $(2)) $(tools-setrev_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_CXXIQUOTE) . $(tools-setrev_CXXIQUOTE_END) $(strip $(tools-setrev_CXXFLAGS) $(tools-setrev_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(tools-setrev_CXXCMD) $(tools-setrev_CXXIQUOTE) $(dir $(2)) $(tools-setrev_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_CXXIQUOTE) . $(tools-setrev_CXXIQUOTE_END) $(strip $(tools-setrev_CXXFLAGS) $(tools-setrev_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(tools-setrev_CXXCMD)" $(MKDEPEND) $(strip $(tools-setrev_DXXFLAGS) $(tools-setrev_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(tools-setrev_OBJDIR),) + $(foreach tools-setrev_CXXFILE,$(tools-setrev_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(tools-setrev_CXXFILE))),$(tools-setrev_CXXFILE)))) +else + $(foreach tools-setrev_CXXFILE,$(tools-setrev_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(tools-setrev_OBJDIR)/,$(notdir $(basename $(tools-setrev_CXXFILE)))),$(tools-setrev_CXXFILE)))) +endif + +endif + + +ifneq ($(tools-setrev_OBJC_NARCHFILES),) + +ifeq (,) +tools-setrev_MOBJC_SRCWILDCARD := % +else +tools-setrev_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(tools-setrev_OBJDIR),) + tools-setrev_MOBJC_TARGETS := $(addsuffix .o,$(tools-setrev_OBJC_NARCHFILES)) + tools-setrev_MOBJC_DTARGETS := $(addsuffix .d,$(tools-setrev_OBJC_NARCHFILES)) + tools-setrev_MOBJC_WILDCARD := % +else + tools-setrev_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(tools-setrev_OBJDIR)/,$(tools-setrev_OBJC_NARCHFILES))) + tools-setrev_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-setrev_OBJDIR)/,$(tools-setrev_OBJC_NARCHFILES))) + tools-setrev_MOBJC_WILDCARD := $(tools-setrev_OBJDIR)/% + + # Be sure that all .m files are generated + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : | $(addsuffix .m,$(tools-setrev_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + tools-setrev_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + tools-setrev_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(tools-setrev_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + tools-setrev_MOBJC_DIRS := $(foreach dir, $(tools-setrev_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-setrev_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(tools-setrev_MOBJC_DIRS),) + tools-setrev_MOBJC_DIRS := $(shell echo $(tools-setrev_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(tools-setrev_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + tools-setrev_CC := $(TARGET_CC) +else + tools-setrev_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +tools-setrev_MOBJC_CPPFLAGS := $(tools-setrev_CPPFLAGS) +tools-setrev_OBJCFLAGS := $(tools-setrev_CFLAGS) +tools-setrev_OBJCFLAGS := $(tools-setrev_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +tools-setrev_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(tools-setrev_OBJCFLAGS))) +ifeq ($(tools-setrev_DFLAGS),) + tools-setrev_OBJCDFLAGS := $(tools-setrev_CFLAGS) +else + tools-setrev_OBJCDFLAGS := $(tools-setrev_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + tools-setrev_LINK ?= $(strip $(tools-setrev_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + tools-setrev_STRIP ?= $(TARGET_STRIP) + tools-setrev_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : CMD:=$(strip $(tools-setrev_CC) $(TARGET_SYSROOT)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_MOBJC_CPPFLAGS:=$(strip $(tools-setrev_MOBJC_CPPFLAGS) $(tools-setrev_MOBJC_EXTRA_CPPFLAGS)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_OBJCFLAGS:=$(strip $(tools-setrev_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_OBJCDFLAGS:=$(tools-setrev_OBJCDFLAGS) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_IQUOTE:=$(CFLAGS_IQUOTE) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + tools-setrev_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + tools-setrev_STRIP ?= $(HOST_STRIP) + tools-setrev_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(tools-setrev_MOBJC_CPPFLAGS) $(tools-setrev_MOBJC_EXTRA_CPPFLAGS)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(tools-setrev_OBJCFLAGS)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(tools-setrev_OBJCDFLAGS)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_IQUOTE:=$(HOST_IQUOTE) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + tools-setrev_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + tools-setrev_STRIP ?= $(ECHO) >/dev/null + tools-setrev_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(tools-setrev_MOBJC_CPPFLAGS) $(tools-setrev_MOBJC_EXTRA_CPPFLAGS)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-setrev_OBJCFLAGS)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-setrev_OBJCDFLAGS)) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_IQUOTE:=$(KERNEL_IQUOTE) + $(tools-setrev_MOBJC_TARGETS) $(tools-setrev_MOBJC_DTARGETS) : tools-setrev_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(tools-setrev_MOBJC_TARGETS) : CPPFLAGS := $(tools-setrev_MOBJC_CPPFLAGS) +$(tools-setrev_MOBJC_TARGETS) : CFLAGS := $(tools-setrev_OBJCFLAGS) +$(tools-setrev_MOBJC_TARGETS) : $(tools-setrev_MOBJC_WILDCARD).o : $(tools-setrev_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(tools-setrev_IQUOTE) $(dir $<) $(tools-setrev_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_IQUOTE) . $(tools-setrev_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(tools-setrev_IQUOTE) $(dir $<) $(tools-setrev_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_IQUOTE) . $(tools-setrev_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(tools-setrev_IQUOTE) $(dir $<) $(tools-setrev_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_IQUOTE) . $(tools-setrev_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(tools-setrev_MOBJC_DTARGETS) : $(tools-setrev_MOBJC_WILDCARD).d : $(tools-setrev_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(tools-setrev_OBJCDFLAGS) $(tools-setrev_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +tools-setrev_MC_SRCWILDCARD := % +else +tools-setrev_MC_SRCWILDCARD := /% +endif + +ifeq ($(tools-setrev_OBJDIR),) +tools-setrev_MC_TARGETS := $(addsuffix .o,$(tools-setrev_C_NARCHFILES)) +tools-setrev_MC_DTARGETS := $(addsuffix .d,$(tools-setrev_C_NARCHFILES)) +tools-setrev_MC_TGTWILDCARD := % +else +ifeq (no,no) + tools-setrev_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-setrev_OBJDIR)/,$(notdir $(tools-setrev_C_NARCHFILES)))) + tools-setrev_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-setrev_OBJDIR)/,$(notdir $(tools-setrev_C_NARCHFILES)))) +else +ifeq (,) + tools-setrev_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-setrev_OBJDIR)/,$(tools-setrev_C_NARCHFILES))) + tools-setrev_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-setrev_OBJDIR)/,$(tools-setrev_C_NARCHFILES))) +else + tools-setrev_MC_TARGETS := $(addsuffix .o,$(addprefix $(tools-setrev_OBJDIR)/,$(patsubst /%,%,$(tools-setrev_C_NARCHFILES)))) + tools-setrev_MC_DTARGETS := $(addsuffix .d,$(addprefix $(tools-setrev_OBJDIR)/,$(patsubst /%,%,$(tools-setrev_C_NARCHFILES)))) +endif +endif +tools-setrev_MC_TGTWILDCARD := $(tools-setrev_OBJDIR)/% + +# Be sure that all .c files are generated +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : | $(addsuffix .c,$(tools-setrev_C_NARCHFILES)) + +# Be sure that all .c files are found +tools-setrev_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +tools-setrev_MC_BASEDIRS := $(shell echo $(sort $(dir $(tools-setrev_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +tools-setrev_MC_DIRS := $(foreach dir, $(tools-setrev_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-setrev_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(tools-setrev_MC_DIRS),) + tools-setrev_MC_DIRS := $(shell echo $(tools-setrev_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(tools-setrev_MC_DIRS) +endif + +endif + +tools-setrev_MC_CPPFLAGS := $(tools-setrev_CPPFLAGS) +tools-setrev_CFLAGS := $(tools-setrev_CFLAGS) +ifeq ($(tools-setrev_DFLAGS),) + tools-setrev_DFLAGS := $(tools-setrev_CFLAGS) +else + tools-setrev_DFLAGS := $(tools-setrev_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +tools-setrev_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +tools-setrev_STRIP ?= $(TARGET_STRIP) +tools-setrev_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_MC_CPPFLAGS:=$(strip $(tools-setrev_MC_CPPFLAGS) $(tools-setrev_MC_EXTRA_CPPFLAGS)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_CFLAGS:=$(strip $(tools-setrev_CFLAGS) $(SAFETY_CFLAGS)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_DFLAGS:=$(tools-setrev_DFLAGS) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_IQUOTE:=$(CFLAGS_IQUOTE) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +tools-setrev_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +tools-setrev_STRIP ?= $(HOST_STRIP) +tools-setrev_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : CMD:=$(HOST_CC) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(tools-setrev_MC_CPPFLAGS) $(tools-setrev_MC_EXTRA_CPPFLAGS)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_CFLAGS:=$(strip $(HOST_CFLAGS) $(tools-setrev_CFLAGS)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_DFLAGS:=$(strip $(HOST_CFLAGS) $(tools-setrev_DFLAGS)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_IQUOTE:=$(HOST_IQUOTE) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +tools-setrev_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +tools-setrev_STRIP ?= $(ECHO) >/dev/null +tools-setrev_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(tools-setrev_MC_CPPFLAGS) $(tools-setrev_MC_EXTRA_CPPFLAGS)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-setrev_CFLAGS)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(tools-setrev_DFLAGS)) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_IQUOTE:=$(KERNEL_IQUOTE) +$(tools-setrev_MC_TARGETS) $(tools-setrev_MC_DTARGETS) : tools-setrev_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(tools-setrev_MC_TARGETS) : CPPFLAGS := $(tools-setrev_MC_CPPFLAGS) +$(tools-setrev_MC_TARGETS) : CFLAGS := $(tools-setrev_CFLAGS) +$(tools-setrev_MC_TARGETS) : $(tools-setrev_MC_TGTWILDCARD).o : $(tools-setrev_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(tools-setrev_IQUOTE) $(dir $<) $(tools-setrev_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_IQUOTE) . $(tools-setrev_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(tools-setrev_IQUOTE) $(dir $<) $(tools-setrev_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_IQUOTE) . $(tools-setrev_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(tools-setrev_IQUOTE) $(dir $<) $(tools-setrev_IQUOTE) $(SRCDIR)/$(CURDIR) $(tools-setrev_IQUOTE) . $(tools-setrev_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(tools-setrev_MC_DTARGETS) : $(tools-setrev_MC_TGTWILDCARD).d : $(tools-setrev_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(tools-setrev_DFLAGS) $(tools-setrev_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(tools-setrev_OBJDIR),) +tools-setrev-MA_TARGETS := $(addsuffix .o,$(tools-setrev_ASMFILES)) +tools-setrev-MA_WILDCARD := % +else +tools-setrev-MA_TARGETS := $(addsuffix .o,$(addprefix $(tools-setrev_OBJDIR)/,$(notdir $(tools-setrev_ASMFILES)))) +tools-setrev-MA_WILDCARD := $(tools-setrev_OBJDIR)/% + +# Be sure that all .s files are generated +$(tools-setrev-MA_TARGETS) : | $(addsuffix .s,$(tools-setrev_ASMFILES)) + +# Be sure that all .c files are found +tools-setrev-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +tools-setrev-MA_BASEDIRS := $(shell echo $(sort $(dir $(tools-setrev_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +tools-setrev-MA_DIRS := $(foreach dir, $(tools-setrev-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(tools-setrev-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(tools-setrev-MA_DIRS),) + tools-setrev-MA_DIRS := $(shell echo $(tools-setrev-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(tools-setrev-MA_DIRS) +endif + +endif + +tools-setrev-MA_ASSEMBLER ?= $(tools-setrev_ASSEMBLER) + +$(tools-setrev-MA_TARGETS) : tools-setrev-MA_CMD:= $(tools-setrev-MA_ASSEMBLER) + +$(tools-setrev-MA_TARGETS) : CPPFLAGS := $(tools-setrev_CPPFLAGS) +$(tools-setrev-MA_TARGETS) : AFLAGS := $(tools-setrev_AFLAGS) +$(tools-setrev-MA_TARGETS) : $(tools-setrev-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(tools-setrev-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(tools-setrev-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(tools-setrev-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +tools-setrev-link_EXTRA_LDFLAGS := +tools-setrev-link_EXTRA_LIBS := +ifeq (no,yes) + tools-setrev-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + tools-setrev-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + tools-setrev-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +tools-setrev-link_DIRS := $(subst -L ,-L,$(strip $(tools-setrev_LDFLAGS))) +# Filter out only the libdirs and remove -L +tools-setrev-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(tools-setrev-link_DIRS))) +# Add trailing / +tools-setrev-link_DIRS := $(subst //,/,$(addsuffix /,$(tools-setrev-link_DIRS))) +# Add normal linklib path +tools-setrev-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +tools-setrev-link_LIBS := $(addprefix lib,$(addsuffix .a,$(tools-setrev_LIBS) $(tools-setrev-link_EXTRA_LIBS))) +ifeq (yes,yes) + tools-setrev-link_LIBS += startup.o +endif +ifeq (no,yes) + tools-setrev-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +tools-setrev-link_DEPLIBS := $(foreach lib,$(tools-setrev-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(tools-setrev-link_DIRS)))) \ +) + +$(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) : OBJDIR := $(tools-setrev_OBJDIR) +$(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) : OBJS := $(tools-setrev_OBJS) $(tools-setrev_ARCHOBJS) $(USER_OBJS) +$(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) : LDFLAGS := $(strip $(tools-setrev_LDFLAGS) $(tools-setrev-link_EXTRA_LDFLAGS)) +$(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) : LIBS := $(addprefix -l,$(tools-setrev_LIBS) $(tools-setrev-link_EXTRA_LIBS) ) +$(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) : $(tools-setrev_OBJS) $(tools-setrev_ARCHOBJS) $(USER_OBJS) $(tools-setrev-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(tools-setrev_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(tools-setrev_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(tools-setrev_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(tools-setrev_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(tools-setrev_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(tools-setrev_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(tools-setrev_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(tools-setrev_DEPS),) + ifneq (tools-setrev tools-setrev-quick,) + ifneq ($(findstring $(TARGET),tools-setrev tools-setrev-quick),) + -include $(tools-setrev_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(tools-setrev_DEPS) + endif + endif +endif + + +ifneq ($(tools-setrev_OBJS) $(tools-setrev_DEPS) $(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME),) +$(tools-setrev_OBJS) $(tools-setrev_DEPS) $(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) : | $(tools-setrev_OBJDIR) $(tools-setrev_TARGETDIR) +else +$(tools-setrev_OBJS) $(tools-setrev_DEPS) $(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) :: $(tools-setrev_OBJDIR) $(tools-setrev_TARGETDIR) +endif + +GLOB_MKDIRS += $(tools-setrev_OBJDIR) $(tools-setrev_TARGETDIR) + + +tools-setrev-clean : FILES := $(tools-setrev_OBJS) $(tools-setrev_TARGETDIR)/$(tools-setrev_PROGNAME) $(tools-setrev_DEPS) +#MM +tools-setrev-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget tools-setrev" + $(Q)$(RM) $(FILES) + + +FILES := setrev.readme + +tools-setrev_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(EXEDIR)/Docs +else +setup :: $(EXEDIR)/Docs +endif + +GLOB_MKDIRS += $(EXEDIR)/Docs + + +.PHONY : tools-setrev + +#MM +tools-setrev : | $(EXEDIR)/Docs + $(foreach file, $(FILES), $(shell $(CP) $(addprefix $(if $(filter /%,$(tools-setrev_SRC)),$(tools-setrev_SRC),$(SRCDIR)/$(CURDIR)/$(tools-setrev_SRC))/, $(file)) $(addprefix $(EXEDIR)/Docs/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/c/R/catalogs/mmakefile b/workbench/c/R/catalogs/mmakefile new file mode 100644 index 00000000000..71fcd3b44a0 --- /dev/null +++ b/workbench/c/R/catalogs/mmakefile @@ -0,0 +1,76 @@ +# Copyright © 2003, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=german +# other catalogs need update to version 2 + + +ifeq (,) +workbench-c-r-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-c-r-catalogs_DESC := +endif + +workbench-c-r-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-c-r-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-c-r-catalogs_LNGS := $(CATALOGS) +endif + +workbench-c-r-catalogs_OBJS := $(addsuffix /System/C/R.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-c-r-catalogs_LNGS))) +workbench-c-r-catalogs_DIRS := $(addsuffix /System/C, $(addprefix $(AROS_CATALOGS)/, $(workbench-c-r-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-c-r-catalogs-quick : workbench-c-r-catalogs + +#MM +workbench-c-r-catalogs : $(workbench-c-r-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-c-r-catalogs_OBJS),) +$(workbench-c-r-catalogs_OBJS) : | $(workbench-c-r-catalogs_DIRS) +else +$(workbench-c-r-catalogs_OBJS) :: $(workbench-c-r-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-c-r-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/C/R.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-c-r-catalogs_DESC).cd + $(Q)$(ECHO) "Creating R catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-c-r-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/C/R.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-c-r-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/C/R.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-c-r-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/C/R.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-c-r-catalogs_DESC := $(workbench-c-r-catalogs_DESC) +../strings.h : workbench-c-r-catalogs_SRC := $(workbench-c-r-catalogs_SRC) +../strings.h : $(workbench-c-r-catalogs_DESC).cd $(workbench-c-r-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating R catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-c-r-catalogs_DESC).cd $@=$(workbench-c-r-catalogs_SRC).sd +endif + +workbench-c-r-catalogs-clean : FILES := $(workbench-c-r-catalogs_OBJS) ../strings.h +#MM +workbench-c-r-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-r-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-c-r-catalogs workbench-c-r-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/c/R/mmakefile b/workbench/c/R/mmakefile new file mode 100644 index 00000000000..e1a0f91f105 --- /dev/null +++ b/workbench/c/R/mmakefile @@ -0,0 +1,634 @@ +# Copyright © 2012, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := locale gui main + +EXEDIR := $(AROS_C) + +#MM- workbench-c : workbench-c-r +#MM workbench-c-r : includes linklibs \ +#MM workbench-c-r-catalogs + + +.PHONY : workbench-c-r + +workbench-c-r_PROGNAME := R +workbench-c-r_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-r_TARGETDIR := $(EXEDIR) +workbench-c-r_LINKER := +workbench-c-r_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-c-r_LINKER),) + workbench-c-r_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-c-r_FILES := $(FILES) + workbench-c-r_OBJCFILES := + workbench-c-r_ASMFILES := + workbench-c-r_CXXFILES := +else + workbench-c-r_FILES := $(workbench-c-r_PROGNAME) + workbench-c-r_OBJCFILES := + workbench-c-r_ASMFILES := + workbench-c-r_CXXFILES := +endif + +workbench-c-r_ARCHOBJS := $(wildcard $(workbench-c-r_OBJDIR)/arch/*.o) +workbench-c-r_ARCHFILES := $(basename $(notdir $(workbench-c-r_ARCHOBJS))) +workbench-c-r_C_NARCHFILES := $(filter-out $(workbench-c-r_ARCHFILES),$(workbench-c-r_FILES)) +workbench-c-r_CXX_NARCHFILES := $(filter-out $(workbench-c-r_ARCHFILES),$(workbench-c-r_CXXFILES)) +workbench-c-r_OBJC_NARCHFILES := $(filter-out $(workbench-c-r_ARCHFILES),$(workbench-c-r_OBJCFILES)) + +TMP_FILES := $(workbench-c-r_C_NARCHFILES) $(workbench-c-r_CXX_NARCHFILES) $(workbench-c-r_ASMFILES) $(workbench-c-r_OBJC_NARCHFILES) +workbench-c-r_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-r_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-c-r_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-r_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-c-r_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-c-r_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-r_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-c-r_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-c-r_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-c-r_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-r_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-c-r_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-c-r_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-c-r_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-r_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-c-r_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-c-r_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-c-r_LDFLAGS := +endif + +workbench-c-r_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-c-r_COVERAGE := yes +workbench-c-r_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-r_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-r_CFLAGS := $(strip $(workbench-c-r_COVERAGEFLAGS) $(workbench-c-r_CFLAGS)) +workbench-c-r_CXXFLAGS := $(strip $(workbench-c-r_COVERAGEFLAGS) $(workbench-c-r_CXXFLAGS)) +workbench-c-r_LIBS += $(workbench-c-r_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-r_FUNCINSTR := yes +workbench-c-r_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-r_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-r_CFLAGS := $(strip $(workbench-c-r_INSTRFUNCFLAGS) $(workbench-c-r_CFLAGS)) +workbench-c-r_CXXFLAGS := $(strip $(workbench-c-r_INSTRFUNCFLAGS) $(workbench-c-r_CXXFLAGS)) +workbench-c-r_LIBS += $(workbench-c-r_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-c-r_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-r_CFLAGS)) +workbench-c-r_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-r_CXXFLAGS)) +endif +endif +workbench-c-r_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-c-r_DFLAGS := +else + workbench-c-r_DFLAGS := $(workbench-c-r_CFLAGS) +endif +ifneq (,) + workbench-c-r_DXXFLAGS := +else + workbench-c-r_DXXFLAGS := $(workbench-c-r_CXXFLAGS) +endif +ifeq (target,target) +workbench-c-r_LDFLAGS := $(workbench-c-r_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-r_LDFLAGS := $(workbench-c-r_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-r_LDFLAGS := $(workbench-c-r_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-c-r_LDFLAGS += -L +endif + +#MM +workbench-c-r-quick : workbench-c-r + +#MM workbench-c-r : includes-generate-deps core-linklibs +workbench-c-r : $(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-c-r workbench-c-r-quick workbench-c-r-gz-quick),) + +workbench-c-r_CXXABSBASENAMES := $(foreach workbench-c-r_CXXBASE,$(workbench-c-r_CXX_NARCHFILES),$(if $(filter /%,$(workbench-c-r_CXXBASE)),$(workbench-c-r_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-c-r_CXXBASE)))) + +ifneq ($(workbench-c-r_CXXABSBASENAMES),) + +workbench-c-r_CXXBASENAMES := $(basename $(workbench-c-r_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-c-r_MCXX_FILES := $(strip $(foreach workbench-c-r_CXXBASE,$(workbench-c-r_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-c-r_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-c-r_EXT),$(workbench-c-r_CXXBASE))))))) + +ifeq (,) +workbench-c-r_MCXX_SRCWILDCARD := % +else +workbench-c-r_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-r_OBJDIR),) + workbench-c-r_CXXTARGETS := $(notdir $(workbench-c-r_CXXBASENAMES:=.o)) + workbench-c-r_CXXDTARGETS := $(notdir $(workbench-c-r_CXXBASENAMES:=.d)) + workbench-c-r_MCXX_WILDCARD := % +else + workbench-c-r_CXXTARGETS := $(addprefix $(workbench-c-r_OBJDIR)/,$(notdir $(workbench-c-r_CXXBASENAMES:=.o))) + workbench-c-r_CXXDTARGETS := $(addprefix $(workbench-c-r_OBJDIR)/,$(notdir $(workbench-c-r_CXXBASENAMES:=.d))) + workbench-c-r_MCXX_WILDCARD := $(workbench-c-r_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-c-r_CXXTARGETS) $(workbench-c-r_CXXDTARGETS) : | $(workbench-c-r_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-c-r_MCXX_CPPFLAGS := $(workbench-c-r_CPPFLAGS) +workbench-c-r_CXXFLAGS := $(workbench-c-r_CXXFLAGS) +ifeq ($(workbench-c-r_DXXFLAGS),) + workbench-c-r_DXXFLAGS := $(workbench-c-r_CXXFLAGS) +else + workbench-c-r_DXXFLAGS := $(workbench-c-r_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-c-r_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-c-r_STRIP ?= $(HOST_STRIP) + workbench-c-r_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-c-r_CXXCMD:=$(HOST_CXX) + workbench-c-r_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-c-r_MCXX_CPPFLAGS) $(workbench-c-r_MCXX_EXTRA_CPPFLAGS)) + workbench-c-r_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-r_CXXFLAGS)) + workbench-c-r_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-r_DXXFLAGS)) + workbench-c-r_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-c-r_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-c-r_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-r_STRIP ?= $(TARGET_STRIP) + workbench-c-r_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-c-r_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-c-r_MCXX_CPPFLAGS := $(strip $(workbench-c-r_MCXX_CPPFLAGS) $(workbench-c-r_MCXX_EXTRA_CPPFLAGS)) + workbench-c-r_CXXFLAGS := $(strip $(workbench-c-r_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-c-r_DXXFLAGS := $(workbench-c-r_DXXFLAGS) + workbench-c-r_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-c-r_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-c-r_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-r_STRIP ?= $(ECHO) >/dev/null + workbench-c-r_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-c-r_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-c-r_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-c-r_MCXX_CPPFLAGS) $(workbench-c-r_MCXX_EXTRA_CPPFLAGS)) + workbench-c-r_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-r_CXXFLAGS)) + workbench-c-r_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-r_DXXFLAGS)) + workbench-c-r_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-c-r_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-c-r_CXXCMD) $(workbench-c-r_CXXIQUOTE) $(dir $(2)) $(workbench-c-r_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_CXXIQUOTE) . $(workbench-c-r_CXXIQUOTE_END) $(strip $(workbench-c-r_CXXFLAGS) $(workbench-c-r_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-c-r_CXXCMD) $(workbench-c-r_CXXIQUOTE) $(dir $(2)) $(workbench-c-r_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_CXXIQUOTE) . $(workbench-c-r_CXXIQUOTE_END) $(strip $(workbench-c-r_CXXFLAGS) $(workbench-c-r_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-c-r_CXXCMD) $(workbench-c-r_CXXIQUOTE) $(dir $(2)) $(workbench-c-r_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_CXXIQUOTE) . $(workbench-c-r_CXXIQUOTE_END) $(strip $(workbench-c-r_CXXFLAGS) $(workbench-c-r_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-c-r_CXXCMD)" $(MKDEPEND) $(strip $(workbench-c-r_DXXFLAGS) $(workbench-c-r_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-c-r_OBJDIR),) + $(foreach workbench-c-r_CXXFILE,$(workbench-c-r_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-c-r_CXXFILE))),$(workbench-c-r_CXXFILE)))) +else + $(foreach workbench-c-r_CXXFILE,$(workbench-c-r_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-c-r_OBJDIR)/,$(notdir $(basename $(workbench-c-r_CXXFILE)))),$(workbench-c-r_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-c-r_OBJC_NARCHFILES),) + +ifeq (,) +workbench-c-r_MOBJC_SRCWILDCARD := % +else +workbench-c-r_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-r_OBJDIR),) + workbench-c-r_MOBJC_TARGETS := $(addsuffix .o,$(workbench-c-r_OBJC_NARCHFILES)) + workbench-c-r_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-c-r_OBJC_NARCHFILES)) + workbench-c-r_MOBJC_WILDCARD := % +else + workbench-c-r_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-r_OBJDIR)/,$(workbench-c-r_OBJC_NARCHFILES))) + workbench-c-r_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-r_OBJDIR)/,$(workbench-c-r_OBJC_NARCHFILES))) + workbench-c-r_MOBJC_WILDCARD := $(workbench-c-r_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-c-r_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-c-r_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-c-r_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-r_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-c-r_MOBJC_DIRS := $(foreach dir, $(workbench-c-r_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-r_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-c-r_MOBJC_DIRS),) + workbench-c-r_MOBJC_DIRS := $(shell echo $(workbench-c-r_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-c-r_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-c-r_CC := $(TARGET_CC) +else + workbench-c-r_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-c-r_MOBJC_CPPFLAGS := $(workbench-c-r_CPPFLAGS) +workbench-c-r_OBJCFLAGS := $(workbench-c-r_CFLAGS) +workbench-c-r_OBJCFLAGS := $(workbench-c-r_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-c-r_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-c-r_OBJCFLAGS))) +ifeq ($(workbench-c-r_DFLAGS),) + workbench-c-r_OBJCDFLAGS := $(workbench-c-r_CFLAGS) +else + workbench-c-r_OBJCDFLAGS := $(workbench-c-r_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-c-r_LINK ?= $(strip $(workbench-c-r_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-r_STRIP ?= $(TARGET_STRIP) + workbench-c-r_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-c-r_CC) $(TARGET_SYSROOT)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_MOBJC_CPPFLAGS:=$(strip $(workbench-c-r_MOBJC_CPPFLAGS) $(workbench-c-r_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_OBJCFLAGS:=$(strip $(workbench-c-r_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_OBJCDFLAGS:=$(workbench-c-r_OBJCDFLAGS) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-c-r_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-c-r_STRIP ?= $(HOST_STRIP) + workbench-c-r_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-c-r_MOBJC_CPPFLAGS) $(workbench-c-r_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-r_OBJCFLAGS)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-r_OBJCDFLAGS)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_IQUOTE:=$(HOST_IQUOTE) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-c-r_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-r_STRIP ?= $(ECHO) >/dev/null + workbench-c-r_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-c-r_MOBJC_CPPFLAGS) $(workbench-c-r_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-r_OBJCFLAGS)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-r_OBJCDFLAGS)) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-c-r_MOBJC_TARGETS) $(workbench-c-r_MOBJC_DTARGETS) : workbench-c-r_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-r_MOBJC_TARGETS) : CPPFLAGS := $(workbench-c-r_MOBJC_CPPFLAGS) +$(workbench-c-r_MOBJC_TARGETS) : CFLAGS := $(workbench-c-r_OBJCFLAGS) +$(workbench-c-r_MOBJC_TARGETS) : $(workbench-c-r_MOBJC_WILDCARD).o : $(workbench-c-r_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-r_IQUOTE) $(dir $<) $(workbench-c-r_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_IQUOTE) . $(workbench-c-r_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-r_IQUOTE) $(dir $<) $(workbench-c-r_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_IQUOTE) . $(workbench-c-r_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-r_IQUOTE) $(dir $<) $(workbench-c-r_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_IQUOTE) . $(workbench-c-r_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-r_MOBJC_DTARGETS) : $(workbench-c-r_MOBJC_WILDCARD).d : $(workbench-c-r_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-r_OBJCDFLAGS) $(workbench-c-r_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-c-r_MC_SRCWILDCARD := % +else +workbench-c-r_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-r_OBJDIR),) +workbench-c-r_MC_TARGETS := $(addsuffix .o,$(workbench-c-r_C_NARCHFILES)) +workbench-c-r_MC_DTARGETS := $(addsuffix .d,$(workbench-c-r_C_NARCHFILES)) +workbench-c-r_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-r_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-r_OBJDIR)/,$(notdir $(workbench-c-r_C_NARCHFILES)))) + workbench-c-r_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-r_OBJDIR)/,$(notdir $(workbench-c-r_C_NARCHFILES)))) +else +ifeq (,) + workbench-c-r_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-r_OBJDIR)/,$(workbench-c-r_C_NARCHFILES))) + workbench-c-r_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-r_OBJDIR)/,$(workbench-c-r_C_NARCHFILES))) +else + workbench-c-r_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-r_OBJDIR)/,$(patsubst /%,%,$(workbench-c-r_C_NARCHFILES)))) + workbench-c-r_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-r_OBJDIR)/,$(patsubst /%,%,$(workbench-c-r_C_NARCHFILES)))) +endif +endif +workbench-c-r_MC_TGTWILDCARD := $(workbench-c-r_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-r_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-c-r_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-r_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-r_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-r_MC_DIRS := $(foreach dir, $(workbench-c-r_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-r_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-r_MC_DIRS),) + workbench-c-r_MC_DIRS := $(shell echo $(workbench-c-r_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-r_MC_DIRS) +endif + +endif + +workbench-c-r_MC_CPPFLAGS := $(workbench-c-r_CPPFLAGS) +workbench-c-r_CFLAGS := $(workbench-c-r_CFLAGS) +ifeq ($(workbench-c-r_DFLAGS),) + workbench-c-r_DFLAGS := $(workbench-c-r_CFLAGS) +else + workbench-c-r_DFLAGS := $(workbench-c-r_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-r_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-r_STRIP ?= $(TARGET_STRIP) +workbench-c-r_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_MC_CPPFLAGS:=$(strip $(workbench-c-r_MC_CPPFLAGS) $(workbench-c-r_MC_EXTRA_CPPFLAGS)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_CFLAGS:=$(strip $(workbench-c-r_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_DFLAGS:=$(workbench-c-r_DFLAGS) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-r_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-r_STRIP ?= $(HOST_STRIP) +workbench-c-r_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-r_MC_CPPFLAGS) $(workbench-c-r_MC_EXTRA_CPPFLAGS)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-r_CFLAGS)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-r_DFLAGS)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-r_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-r_STRIP ?= $(ECHO) >/dev/null +workbench-c-r_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-r_MC_CPPFLAGS) $(workbench-c-r_MC_EXTRA_CPPFLAGS)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-r_CFLAGS)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-r_DFLAGS)) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-r_MC_TARGETS) $(workbench-c-r_MC_DTARGETS) : workbench-c-r_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-r_MC_TARGETS) : CPPFLAGS := $(workbench-c-r_MC_CPPFLAGS) +$(workbench-c-r_MC_TARGETS) : CFLAGS := $(workbench-c-r_CFLAGS) +$(workbench-c-r_MC_TARGETS) : $(workbench-c-r_MC_TGTWILDCARD).o : $(workbench-c-r_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-r_IQUOTE) $(dir $<) $(workbench-c-r_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_IQUOTE) . $(workbench-c-r_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-r_IQUOTE) $(dir $<) $(workbench-c-r_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_IQUOTE) . $(workbench-c-r_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-r_IQUOTE) $(dir $<) $(workbench-c-r_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-r_IQUOTE) . $(workbench-c-r_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-r_MC_DTARGETS) : $(workbench-c-r_MC_TGTWILDCARD).d : $(workbench-c-r_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-r_DFLAGS) $(workbench-c-r_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-c-r_OBJDIR),) +workbench-c-r-MA_TARGETS := $(addsuffix .o,$(workbench-c-r_ASMFILES)) +workbench-c-r-MA_WILDCARD := % +else +workbench-c-r-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-r_OBJDIR)/,$(notdir $(workbench-c-r_ASMFILES)))) +workbench-c-r-MA_WILDCARD := $(workbench-c-r_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-c-r-MA_TARGETS) : | $(addsuffix .s,$(workbench-c-r_ASMFILES)) + +# Be sure that all .c files are found +workbench-c-r-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-r-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-r_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-r-MA_DIRS := $(foreach dir, $(workbench-c-r-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-r-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-r-MA_DIRS),) + workbench-c-r-MA_DIRS := $(shell echo $(workbench-c-r-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-c-r-MA_DIRS) +endif + +endif + +workbench-c-r-MA_ASSEMBLER ?= $(workbench-c-r_ASSEMBLER) + +$(workbench-c-r-MA_TARGETS) : workbench-c-r-MA_CMD:= $(workbench-c-r-MA_ASSEMBLER) + +$(workbench-c-r-MA_TARGETS) : CPPFLAGS := $(workbench-c-r_CPPFLAGS) +$(workbench-c-r-MA_TARGETS) : AFLAGS := $(workbench-c-r_AFLAGS) +$(workbench-c-r-MA_TARGETS) : $(workbench-c-r-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-c-r-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-c-r-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-c-r-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-c-r-link_EXTRA_LDFLAGS := +workbench-c-r-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-r-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-c-r-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-c-r-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-c-r-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-r_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-r-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-r-link_DIRS))) +# Add trailing / +workbench-c-r-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-r-link_DIRS))) +# Add normal linklib path +workbench-c-r-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-r-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-r_LIBS) $(workbench-c-r-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-c-r-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-c-r-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-c-r-link_DEPLIBS := $(foreach lib,$(workbench-c-r-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-r-link_DIRS)))) \ +) + +$(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) : OBJDIR := $(workbench-c-r_OBJDIR) +$(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) : OBJS := $(workbench-c-r_OBJS) $(workbench-c-r_ARCHOBJS) $(USER_OBJS) +$(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) : LDFLAGS := $(strip $(workbench-c-r_LDFLAGS) $(workbench-c-r-link_EXTRA_LDFLAGS)) +$(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) : LIBS := $(addprefix -l,$(workbench-c-r_LIBS) $(workbench-c-r-link_EXTRA_LIBS) ) +$(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) : $(workbench-c-r_OBJS) $(workbench-c-r_ARCHOBJS) $(USER_OBJS) $(workbench-c-r-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-r_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-r_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-r_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-r_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-r_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-r_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-r_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-r_DEPS),) + ifneq (workbench-c-r workbench-c-r-quick,) + ifneq ($(findstring $(TARGET),workbench-c-r workbench-c-r-quick),) + -include $(workbench-c-r_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-r_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-r_OBJS) $(workbench-c-r_DEPS) $(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME),) +$(workbench-c-r_OBJS) $(workbench-c-r_DEPS) $(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) : | $(workbench-c-r_OBJDIR) $(workbench-c-r_TARGETDIR) +else +$(workbench-c-r_OBJS) $(workbench-c-r_DEPS) $(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) :: $(workbench-c-r_OBJDIR) $(workbench-c-r_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-c-r_OBJDIR) $(workbench-c-r_TARGETDIR) + + +workbench-c-r-clean : FILES := $(workbench-c-r_OBJS) $(workbench-c-r_TARGETDIR)/$(workbench-c-r_PROGNAME) $(workbench-c-r_DEPS) +#MM +workbench-c-r-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-r" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/c/WBRun/mmakefile b/workbench/c/WBRun/mmakefile new file mode 100644 index 00000000000..2cb052c2210 --- /dev/null +++ b/workbench/c/WBRun/mmakefile @@ -0,0 +1,637 @@ +# Copyright © 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := main + +EXEDIR := $(AROS_C) + +#MM- workbench-c : workbench-c-wbrun +#MM workbench-c-wbrun : includes linklibs + +USER_CPPFLAGS := -DADATE="\"$(shell date "+%d.%m.%Y")\"" +USER_LDFLAGS := -static + + +.PHONY : workbench-c-wbrun + +workbench-c-wbrun_PROGNAME := WBRun +workbench-c-wbrun_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-c-wbrun_TARGETDIR := $(EXEDIR) +workbench-c-wbrun_LINKER := +workbench-c-wbrun_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-c-wbrun_LINKER),) + workbench-c-wbrun_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-c-wbrun_FILES := $(FILES) + workbench-c-wbrun_OBJCFILES := + workbench-c-wbrun_ASMFILES := + workbench-c-wbrun_CXXFILES := +else + workbench-c-wbrun_FILES := $(workbench-c-wbrun_PROGNAME) + workbench-c-wbrun_OBJCFILES := + workbench-c-wbrun_ASMFILES := + workbench-c-wbrun_CXXFILES := +endif + +workbench-c-wbrun_ARCHOBJS := $(wildcard $(workbench-c-wbrun_OBJDIR)/arch/*.o) +workbench-c-wbrun_ARCHFILES := $(basename $(notdir $(workbench-c-wbrun_ARCHOBJS))) +workbench-c-wbrun_C_NARCHFILES := $(filter-out $(workbench-c-wbrun_ARCHFILES),$(workbench-c-wbrun_FILES)) +workbench-c-wbrun_CXX_NARCHFILES := $(filter-out $(workbench-c-wbrun_ARCHFILES),$(workbench-c-wbrun_CXXFILES)) +workbench-c-wbrun_OBJC_NARCHFILES := $(filter-out $(workbench-c-wbrun_ARCHFILES),$(workbench-c-wbrun_OBJCFILES)) + +TMP_FILES := $(workbench-c-wbrun_C_NARCHFILES) $(workbench-c-wbrun_CXX_NARCHFILES) $(workbench-c-wbrun_ASMFILES) $(workbench-c-wbrun_OBJC_NARCHFILES) +workbench-c-wbrun_OBJS := $(addsuffix .o,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-c-wbrun_DEPS := $(addsuffix .d,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-c-wbrun_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-c-wbrun_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-wbrun_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-c-wbrun_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-c-wbrun_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-c-wbrun_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-wbrun_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-c-wbrun_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-c-wbrun_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-c-wbrun_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-c-wbrun_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-c-wbrun_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-c-wbrun_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-c-wbrun_LDFLAGS := +endif + +workbench-c-wbrun_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-c-wbrun_COVERAGE := yes +workbench-c-wbrun_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-c-wbrun_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-c-wbrun_CFLAGS := $(strip $(workbench-c-wbrun_COVERAGEFLAGS) $(workbench-c-wbrun_CFLAGS)) +workbench-c-wbrun_CXXFLAGS := $(strip $(workbench-c-wbrun_COVERAGEFLAGS) $(workbench-c-wbrun_CXXFLAGS)) +workbench-c-wbrun_LIBS += $(workbench-c-wbrun_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-c-wbrun_FUNCINSTR := yes +workbench-c-wbrun_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-c-wbrun_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-c-wbrun_CFLAGS := $(strip $(workbench-c-wbrun_INSTRFUNCFLAGS) $(workbench-c-wbrun_CFLAGS)) +workbench-c-wbrun_CXXFLAGS := $(strip $(workbench-c-wbrun_INSTRFUNCFLAGS) $(workbench-c-wbrun_CXXFLAGS)) +workbench-c-wbrun_LIBS += $(workbench-c-wbrun_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-c-wbrun_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-wbrun_CFLAGS)) +workbench-c-wbrun_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-c-wbrun_CXXFLAGS)) +endif +endif +workbench-c-wbrun_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-c-wbrun_DFLAGS := +else + workbench-c-wbrun_DFLAGS := $(workbench-c-wbrun_CFLAGS) +endif +ifneq (,) + workbench-c-wbrun_DXXFLAGS := +else + workbench-c-wbrun_DXXFLAGS := $(workbench-c-wbrun_CXXFLAGS) +endif +ifeq (target,target) +workbench-c-wbrun_LDFLAGS := $(workbench-c-wbrun_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-c-wbrun_LDFLAGS := $(workbench-c-wbrun_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-c-wbrun_LDFLAGS := $(workbench-c-wbrun_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-c-wbrun_LDFLAGS += -L +endif + +#MM +workbench-c-wbrun-quick : workbench-c-wbrun + +#MM workbench-c-wbrun : includes-generate-deps core-linklibs +workbench-c-wbrun : $(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-c-wbrun workbench-c-wbrun-quick workbench-c-wbrun-gz-quick),) + +workbench-c-wbrun_CXXABSBASENAMES := $(foreach workbench-c-wbrun_CXXBASE,$(workbench-c-wbrun_CXX_NARCHFILES),$(if $(filter /%,$(workbench-c-wbrun_CXXBASE)),$(workbench-c-wbrun_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-c-wbrun_CXXBASE)))) + +ifneq ($(workbench-c-wbrun_CXXABSBASENAMES),) + +workbench-c-wbrun_CXXBASENAMES := $(basename $(workbench-c-wbrun_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-c-wbrun_MCXX_FILES := $(strip $(foreach workbench-c-wbrun_CXXBASE,$(workbench-c-wbrun_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-c-wbrun_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-c-wbrun_EXT),$(workbench-c-wbrun_CXXBASE))))))) + +ifeq (,) +workbench-c-wbrun_MCXX_SRCWILDCARD := % +else +workbench-c-wbrun_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-wbrun_OBJDIR),) + workbench-c-wbrun_CXXTARGETS := $(notdir $(workbench-c-wbrun_CXXBASENAMES:=.o)) + workbench-c-wbrun_CXXDTARGETS := $(notdir $(workbench-c-wbrun_CXXBASENAMES:=.d)) + workbench-c-wbrun_MCXX_WILDCARD := % +else + workbench-c-wbrun_CXXTARGETS := $(addprefix $(workbench-c-wbrun_OBJDIR)/,$(notdir $(workbench-c-wbrun_CXXBASENAMES:=.o))) + workbench-c-wbrun_CXXDTARGETS := $(addprefix $(workbench-c-wbrun_OBJDIR)/,$(notdir $(workbench-c-wbrun_CXXBASENAMES:=.d))) + workbench-c-wbrun_MCXX_WILDCARD := $(workbench-c-wbrun_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-c-wbrun_CXXTARGETS) $(workbench-c-wbrun_CXXDTARGETS) : | $(workbench-c-wbrun_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-c-wbrun_MCXX_CPPFLAGS := $(workbench-c-wbrun_CPPFLAGS) +workbench-c-wbrun_CXXFLAGS := $(workbench-c-wbrun_CXXFLAGS) +ifeq ($(workbench-c-wbrun_DXXFLAGS),) + workbench-c-wbrun_DXXFLAGS := $(workbench-c-wbrun_CXXFLAGS) +else + workbench-c-wbrun_DXXFLAGS := $(workbench-c-wbrun_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-c-wbrun_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-c-wbrun_STRIP ?= $(HOST_STRIP) + workbench-c-wbrun_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-c-wbrun_CXXCMD:=$(HOST_CXX) + workbench-c-wbrun_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-c-wbrun_MCXX_CPPFLAGS) $(workbench-c-wbrun_MCXX_EXTRA_CPPFLAGS)) + workbench-c-wbrun_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-wbrun_CXXFLAGS)) + workbench-c-wbrun_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-c-wbrun_DXXFLAGS)) + workbench-c-wbrun_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-c-wbrun_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-c-wbrun_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-wbrun_STRIP ?= $(TARGET_STRIP) + workbench-c-wbrun_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-c-wbrun_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-c-wbrun_MCXX_CPPFLAGS := $(strip $(workbench-c-wbrun_MCXX_CPPFLAGS) $(workbench-c-wbrun_MCXX_EXTRA_CPPFLAGS)) + workbench-c-wbrun_CXXFLAGS := $(strip $(workbench-c-wbrun_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-c-wbrun_DXXFLAGS := $(workbench-c-wbrun_DXXFLAGS) + workbench-c-wbrun_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-c-wbrun_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-c-wbrun_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-wbrun_STRIP ?= $(ECHO) >/dev/null + workbench-c-wbrun_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-c-wbrun_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-c-wbrun_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-c-wbrun_MCXX_CPPFLAGS) $(workbench-c-wbrun_MCXX_EXTRA_CPPFLAGS)) + workbench-c-wbrun_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-wbrun_CXXFLAGS)) + workbench-c-wbrun_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-c-wbrun_DXXFLAGS)) + workbench-c-wbrun_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-c-wbrun_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-c-wbrun_CXXCMD) $(workbench-c-wbrun_CXXIQUOTE) $(dir $(2)) $(workbench-c-wbrun_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_CXXIQUOTE) . $(workbench-c-wbrun_CXXIQUOTE_END) $(strip $(workbench-c-wbrun_CXXFLAGS) $(workbench-c-wbrun_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-c-wbrun_CXXCMD) $(workbench-c-wbrun_CXXIQUOTE) $(dir $(2)) $(workbench-c-wbrun_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_CXXIQUOTE) . $(workbench-c-wbrun_CXXIQUOTE_END) $(strip $(workbench-c-wbrun_CXXFLAGS) $(workbench-c-wbrun_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-c-wbrun_CXXCMD) $(workbench-c-wbrun_CXXIQUOTE) $(dir $(2)) $(workbench-c-wbrun_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_CXXIQUOTE) . $(workbench-c-wbrun_CXXIQUOTE_END) $(strip $(workbench-c-wbrun_CXXFLAGS) $(workbench-c-wbrun_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-c-wbrun_CXXCMD)" $(MKDEPEND) $(strip $(workbench-c-wbrun_DXXFLAGS) $(workbench-c-wbrun_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-c-wbrun_OBJDIR),) + $(foreach workbench-c-wbrun_CXXFILE,$(workbench-c-wbrun_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-c-wbrun_CXXFILE))),$(workbench-c-wbrun_CXXFILE)))) +else + $(foreach workbench-c-wbrun_CXXFILE,$(workbench-c-wbrun_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(notdir $(basename $(workbench-c-wbrun_CXXFILE)))),$(workbench-c-wbrun_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-c-wbrun_OBJC_NARCHFILES),) + +ifeq (,) +workbench-c-wbrun_MOBJC_SRCWILDCARD := % +else +workbench-c-wbrun_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-wbrun_OBJDIR),) + workbench-c-wbrun_MOBJC_TARGETS := $(addsuffix .o,$(workbench-c-wbrun_OBJC_NARCHFILES)) + workbench-c-wbrun_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-c-wbrun_OBJC_NARCHFILES)) + workbench-c-wbrun_MOBJC_WILDCARD := % +else + workbench-c-wbrun_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(workbench-c-wbrun_OBJC_NARCHFILES))) + workbench-c-wbrun_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(workbench-c-wbrun_OBJC_NARCHFILES))) + workbench-c-wbrun_MOBJC_WILDCARD := $(workbench-c-wbrun_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-c-wbrun_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-c-wbrun_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-c-wbrun_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-wbrun_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-c-wbrun_MOBJC_DIRS := $(foreach dir, $(workbench-c-wbrun_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-wbrun_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-c-wbrun_MOBJC_DIRS),) + workbench-c-wbrun_MOBJC_DIRS := $(shell echo $(workbench-c-wbrun_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-c-wbrun_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-c-wbrun_CC := $(TARGET_CC) +else + workbench-c-wbrun_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-c-wbrun_MOBJC_CPPFLAGS := $(workbench-c-wbrun_CPPFLAGS) +workbench-c-wbrun_OBJCFLAGS := $(workbench-c-wbrun_CFLAGS) +workbench-c-wbrun_OBJCFLAGS := $(workbench-c-wbrun_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-c-wbrun_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-c-wbrun_OBJCFLAGS))) +ifeq ($(workbench-c-wbrun_DFLAGS),) + workbench-c-wbrun_OBJCDFLAGS := $(workbench-c-wbrun_CFLAGS) +else + workbench-c-wbrun_OBJCDFLAGS := $(workbench-c-wbrun_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-c-wbrun_LINK ?= $(strip $(workbench-c-wbrun_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-c-wbrun_STRIP ?= $(TARGET_STRIP) + workbench-c-wbrun_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-c-wbrun_CC) $(TARGET_SYSROOT)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_MOBJC_CPPFLAGS:=$(strip $(workbench-c-wbrun_MOBJC_CPPFLAGS) $(workbench-c-wbrun_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_OBJCFLAGS:=$(strip $(workbench-c-wbrun_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_OBJCDFLAGS:=$(workbench-c-wbrun_OBJCDFLAGS) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-c-wbrun_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-c-wbrun_STRIP ?= $(HOST_STRIP) + workbench-c-wbrun_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-c-wbrun_MOBJC_CPPFLAGS) $(workbench-c-wbrun_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-wbrun_OBJCFLAGS)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-wbrun_OBJCDFLAGS)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_IQUOTE:=$(HOST_IQUOTE) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-c-wbrun_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-c-wbrun_STRIP ?= $(ECHO) >/dev/null + workbench-c-wbrun_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-c-wbrun_MOBJC_CPPFLAGS) $(workbench-c-wbrun_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-wbrun_OBJCFLAGS)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-wbrun_OBJCDFLAGS)) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-c-wbrun_MOBJC_TARGETS) $(workbench-c-wbrun_MOBJC_DTARGETS) : workbench-c-wbrun_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-wbrun_MOBJC_TARGETS) : CPPFLAGS := $(workbench-c-wbrun_MOBJC_CPPFLAGS) +$(workbench-c-wbrun_MOBJC_TARGETS) : CFLAGS := $(workbench-c-wbrun_OBJCFLAGS) +$(workbench-c-wbrun_MOBJC_TARGETS) : $(workbench-c-wbrun_MOBJC_WILDCARD).o : $(workbench-c-wbrun_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-wbrun_IQUOTE) $(dir $<) $(workbench-c-wbrun_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_IQUOTE) . $(workbench-c-wbrun_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-wbrun_IQUOTE) $(dir $<) $(workbench-c-wbrun_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_IQUOTE) . $(workbench-c-wbrun_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-wbrun_IQUOTE) $(dir $<) $(workbench-c-wbrun_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_IQUOTE) . $(workbench-c-wbrun_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-wbrun_MOBJC_DTARGETS) : $(workbench-c-wbrun_MOBJC_WILDCARD).d : $(workbench-c-wbrun_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-wbrun_OBJCDFLAGS) $(workbench-c-wbrun_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-c-wbrun_MC_SRCWILDCARD := % +else +workbench-c-wbrun_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-c-wbrun_OBJDIR),) +workbench-c-wbrun_MC_TARGETS := $(addsuffix .o,$(workbench-c-wbrun_C_NARCHFILES)) +workbench-c-wbrun_MC_DTARGETS := $(addsuffix .d,$(workbench-c-wbrun_C_NARCHFILES)) +workbench-c-wbrun_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-c-wbrun_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(notdir $(workbench-c-wbrun_C_NARCHFILES)))) + workbench-c-wbrun_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(notdir $(workbench-c-wbrun_C_NARCHFILES)))) +else +ifeq (,) + workbench-c-wbrun_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(workbench-c-wbrun_C_NARCHFILES))) + workbench-c-wbrun_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(workbench-c-wbrun_C_NARCHFILES))) +else + workbench-c-wbrun_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(patsubst /%,%,$(workbench-c-wbrun_C_NARCHFILES)))) + workbench-c-wbrun_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(patsubst /%,%,$(workbench-c-wbrun_C_NARCHFILES)))) +endif +endif +workbench-c-wbrun_MC_TGTWILDCARD := $(workbench-c-wbrun_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : | $(addsuffix .c,$(workbench-c-wbrun_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-c-wbrun_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-wbrun_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-wbrun_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-wbrun_MC_DIRS := $(foreach dir, $(workbench-c-wbrun_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-wbrun_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-wbrun_MC_DIRS),) + workbench-c-wbrun_MC_DIRS := $(shell echo $(workbench-c-wbrun_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-c-wbrun_MC_DIRS) +endif + +endif + +workbench-c-wbrun_MC_CPPFLAGS := $(workbench-c-wbrun_CPPFLAGS) +workbench-c-wbrun_CFLAGS := $(workbench-c-wbrun_CFLAGS) +ifeq ($(workbench-c-wbrun_DFLAGS),) + workbench-c-wbrun_DFLAGS := $(workbench-c-wbrun_CFLAGS) +else + workbench-c-wbrun_DFLAGS := $(workbench-c-wbrun_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-c-wbrun_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-c-wbrun_STRIP ?= $(TARGET_STRIP) +workbench-c-wbrun_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_MC_CPPFLAGS:=$(strip $(workbench-c-wbrun_MC_CPPFLAGS) $(workbench-c-wbrun_MC_EXTRA_CPPFLAGS)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_CFLAGS:=$(strip $(workbench-c-wbrun_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_DFLAGS:=$(workbench-c-wbrun_DFLAGS) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-c-wbrun_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-c-wbrun_STRIP ?= $(HOST_STRIP) +workbench-c-wbrun_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-c-wbrun_MC_CPPFLAGS) $(workbench-c-wbrun_MC_EXTRA_CPPFLAGS)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-wbrun_CFLAGS)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-c-wbrun_DFLAGS)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_IQUOTE:=$(HOST_IQUOTE) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-c-wbrun_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-c-wbrun_STRIP ?= $(ECHO) >/dev/null +workbench-c-wbrun_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-c-wbrun_MC_CPPFLAGS) $(workbench-c-wbrun_MC_EXTRA_CPPFLAGS)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-wbrun_CFLAGS)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-c-wbrun_DFLAGS)) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-c-wbrun_MC_TARGETS) $(workbench-c-wbrun_MC_DTARGETS) : workbench-c-wbrun_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-c-wbrun_MC_TARGETS) : CPPFLAGS := $(workbench-c-wbrun_MC_CPPFLAGS) +$(workbench-c-wbrun_MC_TARGETS) : CFLAGS := $(workbench-c-wbrun_CFLAGS) +$(workbench-c-wbrun_MC_TARGETS) : $(workbench-c-wbrun_MC_TGTWILDCARD).o : $(workbench-c-wbrun_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-c-wbrun_IQUOTE) $(dir $<) $(workbench-c-wbrun_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_IQUOTE) . $(workbench-c-wbrun_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-c-wbrun_IQUOTE) $(dir $<) $(workbench-c-wbrun_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_IQUOTE) . $(workbench-c-wbrun_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-c-wbrun_IQUOTE) $(dir $<) $(workbench-c-wbrun_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-c-wbrun_IQUOTE) . $(workbench-c-wbrun_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-c-wbrun_MC_DTARGETS) : $(workbench-c-wbrun_MC_TGTWILDCARD).d : $(workbench-c-wbrun_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-c-wbrun_DFLAGS) $(workbench-c-wbrun_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-c-wbrun_OBJDIR),) +workbench-c-wbrun-MA_TARGETS := $(addsuffix .o,$(workbench-c-wbrun_ASMFILES)) +workbench-c-wbrun-MA_WILDCARD := % +else +workbench-c-wbrun-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-c-wbrun_OBJDIR)/,$(notdir $(workbench-c-wbrun_ASMFILES)))) +workbench-c-wbrun-MA_WILDCARD := $(workbench-c-wbrun_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-c-wbrun-MA_TARGETS) : | $(addsuffix .s,$(workbench-c-wbrun_ASMFILES)) + +# Be sure that all .c files are found +workbench-c-wbrun-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-c-wbrun-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-c-wbrun_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-c-wbrun-MA_DIRS := $(foreach dir, $(workbench-c-wbrun-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-c-wbrun-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-c-wbrun-MA_DIRS),) + workbench-c-wbrun-MA_DIRS := $(shell echo $(workbench-c-wbrun-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-c-wbrun-MA_DIRS) +endif + +endif + +workbench-c-wbrun-MA_ASSEMBLER ?= $(workbench-c-wbrun_ASSEMBLER) + +$(workbench-c-wbrun-MA_TARGETS) : workbench-c-wbrun-MA_CMD:= $(workbench-c-wbrun-MA_ASSEMBLER) + +$(workbench-c-wbrun-MA_TARGETS) : CPPFLAGS := $(workbench-c-wbrun_CPPFLAGS) +$(workbench-c-wbrun-MA_TARGETS) : AFLAGS := $(workbench-c-wbrun_AFLAGS) +$(workbench-c-wbrun-MA_TARGETS) : $(workbench-c-wbrun-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-c-wbrun-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-c-wbrun-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-c-wbrun-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-c-wbrun-link_EXTRA_LDFLAGS := +workbench-c-wbrun-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-c-wbrun-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-c-wbrun-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-c-wbrun-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-c-wbrun-link_DIRS := $(subst -L ,-L,$(strip $(workbench-c-wbrun_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-c-wbrun-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-c-wbrun-link_DIRS))) +# Add trailing / +workbench-c-wbrun-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-c-wbrun-link_DIRS))) +# Add normal linklib path +workbench-c-wbrun-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-c-wbrun-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-c-wbrun_LIBS) $(workbench-c-wbrun-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-c-wbrun-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-c-wbrun-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-c-wbrun-link_DEPLIBS := $(foreach lib,$(workbench-c-wbrun-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-c-wbrun-link_DIRS)))) \ +) + +$(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) : OBJDIR := $(workbench-c-wbrun_OBJDIR) +$(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) : OBJS := $(workbench-c-wbrun_OBJS) $(workbench-c-wbrun_ARCHOBJS) $(USER_OBJS) +$(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) : LDFLAGS := $(strip $(workbench-c-wbrun_LDFLAGS) $(workbench-c-wbrun-link_EXTRA_LDFLAGS)) +$(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) : LIBS := $(addprefix -l,$(workbench-c-wbrun_LIBS) $(workbench-c-wbrun-link_EXTRA_LIBS) ) +$(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) : $(workbench-c-wbrun_OBJS) $(workbench-c-wbrun_ARCHOBJS) $(USER_OBJS) $(workbench-c-wbrun-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-c-wbrun_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-c-wbrun_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-c-wbrun_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-wbrun_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-c-wbrun_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-c-wbrun_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-c-wbrun_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-c-wbrun_DEPS),) + ifneq (workbench-c-wbrun workbench-c-wbrun-quick,) + ifneq ($(findstring $(TARGET),workbench-c-wbrun workbench-c-wbrun-quick),) + -include $(workbench-c-wbrun_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-c-wbrun_DEPS) + endif + endif +endif + + +ifneq ($(workbench-c-wbrun_OBJS) $(workbench-c-wbrun_DEPS) $(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME),) +$(workbench-c-wbrun_OBJS) $(workbench-c-wbrun_DEPS) $(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) : | $(workbench-c-wbrun_OBJDIR) $(workbench-c-wbrun_TARGETDIR) +else +$(workbench-c-wbrun_OBJS) $(workbench-c-wbrun_DEPS) $(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) :: $(workbench-c-wbrun_OBJDIR) $(workbench-c-wbrun_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-c-wbrun_OBJDIR) $(workbench-c-wbrun_TARGETDIR) + + +workbench-c-wbrun-clean : FILES := $(workbench-c-wbrun_OBJS) $(workbench-c-wbrun_TARGETDIR)/$(workbench-c-wbrun_PROGNAME) $(workbench-c-wbrun_DEPS) +#MM +workbench-c-wbrun-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-c-wbrun" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) + diff --git a/workbench/classes/datatypes/animation/mmakefile b/workbench/classes/datatypes/animation/mmakefile new file mode 100644 index 00000000000..0a1737b89cb --- /dev/null +++ b/workbench/classes/datatypes/animation/mmakefile @@ -0,0 +1,1669 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := animationclass animationbuffer animationframe animationplayback animationsave animationprefs + +#MM- workbench-datatypes-animation : workbench-datatype-animation +#MM workbench-datatype-animation : includes linklibs workbench-datatype-animation-envarc + +USER_CPPFLAGS := -DDEBUG=0 +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-datatype-animation +#MM workbench-datatype-animation-quick +#MM workbench-datatype-animation-makefile +#MM workbench-datatype-animation-clean + +# ABI targets: +#MM- includes-all : workbench-datatype-animation-includes +#MM- linklibs-animation: workbench-datatype-animation-linklib +#MM- linklibs-animation_rel : workbench-datatype-animation-linklib +#MM- includes-animation: workbench-datatype-animation-includes +#MM- includes-animation_rel : workbench-datatype-animation-includes +#MM- workbench-datatype-animation : workbench-datatype-animation-includes core-linklibs linklibs- +#MM workbench-datatype-animation-linklib : workbench-datatype-animation-includes includes- +#MM- workbench-datatype-animation-quick : workbench-datatype-animation-includes-quick +#MM workbench-datatype-animation-includes : workbench-datatype-animation-makefile workbench-datatype-animation-includes-dirs \ +#MM includes-generate-deps workbench-datatype-animation-fd +#MM workbench-datatype-animation-includes-quick +#MM workbench-datatype-animation-includes-dirs +#MM workbench-datatype-animation-fd + +# Library targets +#MM workbench-datatype-animation-kobj : core-linklibs linklibs- +#MM workbench-datatype-animation-kobj-quick : + +# Library with ABI targets: +#MM workbench-datatype-animation-kobj : workbench-datatype-animation-includes core-linklibs linklibs- +#MM workbench-datatype-animation-kobj-quick : workbench-datatype-animation-includes-quick + +# All MetaMake targets defined by this macro +workbench-datatype-animation_ALLTARGETS := workbench-datatype-animation workbench-datatype-animation-quick workbench-datatype-animation-clean + +ifeq (M,M) +workbench-datatype-animation_ALLTARGETS += workbench-datatype-animation-kobj workbench-datatype-animation-kobj-quick +endif + +ifeq (M,M) +workbench-datatype-animation_ALLTARGETS += workbench-datatype-animation-includes \ + workbench-datatype-animation-includes-quick workbench-datatype-animation-includes-dirs \ + workbench-datatype-animation-linklib workbench-datatype-animation-fd +endif + +.PHONY : $(workbench-datatype-animation_ALLTARGETS) workbench-datatype-animation-makefile + +ifeq (animation,) +$(error using %build_module: modname may not be empty) +endif +ifeq (datatype,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-datatype-animation_DEFNAME := animation_ +else + workbench-datatype-animation_DEFNAME := animation +endif +workbench-datatype-animation_DEFLINKLIBNAME := $(workbench-datatype-animation_DEFNAME) +ifneq (,) + workbench-datatype-animation_LINKLIBNAME := +else + workbench-datatype-animation_LINKLIBNAME = $(workbench-datatype-animation_DEFLINKLIBNAME) +endif +workbench-datatype-animation_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-datatype-animation_DEFCPPFLAGS += -I +endif +workbench-datatype-animation_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-datatype-animation_DFLAGS := +else + workbench-datatype-animation_DFLAGS = $(workbench-datatype-animation_DEFDFLAGS) +endif +workbench-datatype-animation_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-datatype-animation_DXXFLAGS := +else + workbench-datatype-animation_DXXFLAGS = $(workbench-datatype-animation_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-datatype-animation_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-datatype-animation_DEFDFLAGS)) +workbench-datatype-animation_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-datatype-animation_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-datatype-animation_FUNCINSTR := yes +workbench-datatype-animation_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-datatype-animation_DEFDFLAGS)) +workbench-datatype-animation_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-datatype-animation_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-datatype-animation_OBJDIR := +else +workbench-datatype-animation_OBJDIR := $(OBJDIR)/$(workbench-datatype-animation_DEFNAME) +endif +ifneq (,) +workbench-datatype-animation_OBJDIR := $(workbench-datatype-animation_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-datatype-animation-makefile := $(workbench-datatype-animation_OBJDIR)/Makefile.$(workbench-datatype-animation_DEFNAME)datatype +workbench-datatype-animation-genmakefile : $(workbench-datatype-animation-makefile) + + +workbench-datatype-animation-genmakefile_OPTS := +ifneq (,) + workbench-datatype-animation-genmakefile_OPTS += -f + workbench-datatype-animation-genmakefile_MODNAME := animation_ +else + workbench-datatype-animation-genmakefile_MODNAME := animation +endif +workbench-datatype-animation-genmakefile_TARGET := Makefile.$(workbench-datatype-animation-genmakefile_MODNAME)datatype +workbench-datatype-animation-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-datatype-animation-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-datatype-animation-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatype-animation-genmakefile_OPTS += -c + workbench-datatype-animation-genmakefile_DEPS += + endif +else + workbench-datatype-animation-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/animation.conf + workbench-datatype-animation-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/animation.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-datatype-animation-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-datatype-animation-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatype-animation-genmakefile_OPTS += -o + workbench-datatype-animation-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-datatype-animation-genmakefile_OPTS += -s +endif +ifneq ($(workbench-datatype-animation_OBJDIR),) + workbench-datatype-animation-genmakefile_OPTS += -d $(workbench-datatype-animation_OBJDIR) + workbench-datatype-animation-genmakefile_TARGET := $(workbench-datatype-animation_OBJDIR)/$(workbench-datatype-animation-genmakefile_TARGET) +endif + +$(workbench-datatype-animation-genmakefile_TARGET) : OPTS := $(workbench-datatype-animation-genmakefile_OPTS) +$(workbench-datatype-animation-genmakefile_TARGET) : MODNAME := animation +$(workbench-datatype-animation-genmakefile_TARGET) : MODTYPE := datatype +$(workbench-datatype-animation-genmakefile_TARGET) : $(workbench-datatype-animation-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-datatype-animation-makefile),) +$(workbench-datatype-animation-makefile) : | $(workbench-datatype-animation_OBJDIR) +else +$(workbench-datatype-animation-makefile) :: $(workbench-datatype-animation_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-datatype-animation_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-datatype-animation_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-datatype-animation-makefile) + +workbench-datatype-animation_DEFMODDIR := $($(workbench-datatype-animation_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-datatype-animation_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-datatype-animation_DEFMODDIR) +endif +ifneq (,) + workbench-datatype-animation_MODDIR := +else + workbench-datatype-animation_MODDIR := $(workbench-datatype-animation_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-datatype-animation_INCDIR := +else +workbench-datatype-animation_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-datatype-animation_LIBDEFSINC := $(workbench-datatype-animation_OBJDIR)/include/$(workbench-datatype-animation_DEFNAME)_libdefs.h +workbench-datatype-animation_DEFLIBDEFSINC := $(workbench-datatype-animation_OBJDIR)/include/$(workbench-datatype-animation_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-datatype-animation-includes-quick : workbench-datatype-animation-includes +workbench-datatype-animation-includes : $(addprefix $(GENINCDIR)/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-datatype-animation_INCDIR)/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) \ + $(workbench-datatype-animation_LIBDEFSINC) $(workbench-datatype-animation_DEFLIBDEFSINC) + +ifneq ($($(workbench-datatype-animation_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-datatype-animation-includes_MODNAME := animation_ +else + workbench-datatype-animation-includes_MODNAME := animation +endif + +ifneq ($($(workbench-datatype-animation-includes_MODNAME)_INCLUDES),) + +workbench-datatype-animation-includes_TARGETS := $($(workbench-datatype-animation-includes_MODNAME)_INCLUDES) + +workbench-datatype-animation-includes_DEPS := $(GENMODULE) +workbench-datatype-animation-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-datatype-animation-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-datatype-animation-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatype-animation-includes_OPTS += -c + workbench-datatype-animation-includes_DEPS += + endif +else + workbench-datatype-animation-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/animation.conf + workbench-datatype-animation-includes_DEPS += $(SRCDIR)/$(CURDIR)/animation.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-datatype-animation-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-datatype-animation-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatype-animation-includes_OPTS += -o + workbench-datatype-animation-includes_DEPS += + endif +endif +ifneq (,) + workbench-datatype-animation-includes_OPTS += -s +endif +ifneq ($(workbench-datatype-animation_OBJDIR)/include,) + workbench-datatype-animation-includes_OPTS += -d $(workbench-datatype-animation_OBJDIR)/include + workbench-datatype-animation-includes_TARGETS := $(addprefix $(workbench-datatype-animation_OBJDIR)/include/,$(workbench-datatype-animation-includes_TARGETS)) + workbench-datatype-animation-includes_GENINCFLAG=$(workbench-datatype-animation_OBJDIR)/include/.animation.datatype-includes +else + workbench-datatype-animation-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.animation.datatype-includes +endif + +$(workbench-datatype-animation-includes_TARGETS) : $(workbench-datatype-animation-includes_DEPS) $(workbench-datatype-animation-includes_GENINCFLAG) + +$(workbench-datatype-animation-includes_GENINCFLAG) : OPTS := $(workbench-datatype-animation-includes_OPTS) +$(workbench-datatype-animation-includes_GENINCFLAG) : MODNAME := animation +$(workbench-datatype-animation-includes_GENINCFLAG) : MODTYPE := datatype +$(workbench-datatype-animation-includes_GENINCFLAG) : $(workbench-datatype-animation-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-datatype-animation_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) : | $(workbench-datatype-animation_OBJDIR)/animation_geninc + +$(workbench-datatype-animation_OBJDIR)/animation_geninc : COPYSRCDIR := $(workbench-datatype-animation_OBJDIR)/include +$(workbench-datatype-animation_OBJDIR)/animation_geninc : TGTDIR := $(GENINCDIR) +$(workbench-datatype-animation_OBJDIR)/animation_geninc : FILES := $($(workbench-datatype-animation_DEFNAME)_INCLUDES) +$(workbench-datatype-animation_OBJDIR)/animation_geninc : $(addprefix $(workbench-datatype-animation_OBJDIR)/include/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-datatype-animation_OBJDIR)/include + +$(addprefix $(workbench-datatype-animation_INCDIR)/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) : | $(workbench-datatype-animation_OBJDIR)/animation_incs + +$(workbench-datatype-animation_OBJDIR)/animation_incs : COPYSRCDIR := $(workbench-datatype-animation_OBJDIR)/include +$(workbench-datatype-animation_OBJDIR)/animation_incs : TGTDIR := $(workbench-datatype-animation_INCDIR) +$(workbench-datatype-animation_OBJDIR)/animation_incs : FILES := $($(workbench-datatype-animation_DEFNAME)_INCLUDES) +$(workbench-datatype-animation_OBJDIR)/animation_incs : $(addprefix $(workbench-datatype-animation_OBJDIR)/include/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-datatype-animation_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-datatype-animation_DEFNAME)_INCLUDES)))) + +TMPanimation_INCDIRS := \ + $(workbench-datatype-animation_OBJDIR)/include $(addprefix $(workbench-datatype-animation_OBJDIR)/include/,$(workbench-datatype-animation_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-datatype-animation_INCDIRS)) \ + $(workbench-datatype-animation_INCDIR) $(addprefix $(workbench-datatype-animation_INCDIR)/,$(workbench-datatype-animation_INCDIRS)) + +ifneq (workbench-datatype-animation-includes-dirs,) +workbench-datatype-animation-includes-dirs : | $(TMPanimation_INCDIRS) +else +workbench-datatype-animation-includes-dirs :: $(TMPanimation_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPanimation_INCDIRS) + + +endif + +endif + + +workbench-datatype-animation-genlibdefs_OPTS := +ifneq (,) + workbench-datatype-animation-genlibdefs_OPTS += -f + workbench-datatype-animation-genlibdefs_MODNAME := animation_ +else + workbench-datatype-animation-genlibdefs_MODNAME := animation +endif +workbench-datatype-animation-genlibdefs_TARGET := $(workbench-datatype-animation-genlibdefs_MODNAME)_libdefs.h +workbench-datatype-animation-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-datatype-animation-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-datatype-animation-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatype-animation-genlibdefs_OPTS += -c + workbench-datatype-animation-genlibdefs_DEPS += + endif +else + workbench-datatype-animation-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/animation.conf + workbench-datatype-animation-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/animation.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-datatype-animation-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-datatype-animation-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatype-animation-genlibdefs_OPTS += -o + workbench-datatype-animation-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-datatype-animation-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-datatype-animation_OBJDIR)/include,) + workbench-datatype-animation-genlibdefs_OPTS += -d $(workbench-datatype-animation_OBJDIR)/include + workbench-datatype-animation-genlibdefs_TARGET := $(workbench-datatype-animation_OBJDIR)/include/$(workbench-datatype-animation-genlibdefs_TARGET) +endif +ifneq (,) + workbench-datatype-animation-genlibdefs_OPTS += -v +endif + +$(workbench-datatype-animation-genlibdefs_TARGET) : OPTS := $(workbench-datatype-animation-genlibdefs_OPTS) +$(workbench-datatype-animation-genlibdefs_TARGET) : MODNAME := animation +$(workbench-datatype-animation-genlibdefs_TARGET) : MODTYPE := datatype +$(workbench-datatype-animation-genlibdefs_TARGET) : $(workbench-datatype-animation-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-datatype-animation_DEFLIBDEFSINC) : FILENAME := $(workbench-datatype-animation_LIBDEFSINC) +$(workbench-datatype-animation_DEFLIBDEFSINC) : $(workbench-datatype-animation_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-datatype-animation_LIBDEFSINC) $(workbench-datatype-animation_DEFLIBDEFSINC) : | $(workbench-datatype-animation_OBJDIR)/include + +ifneq (workbench-datatype-animation-includes-dirs,) +workbench-datatype-animation-includes-dirs : | $(workbench-datatype-animation_OBJDIR)/include +else +workbench-datatype-animation-includes-dirs :: $(workbench-datatype-animation_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-datatype-animation_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-datatype-animation-genmodfiles_OPTS := +ifneq (,) + workbench-datatype-animation-genmodfiles_OPTS += -f + workbench-datatype-animation-genmodfiles_MODNAME := animation_ +else + workbench-datatype-animation-genmodfiles_MODNAME := animation +endif +workbench-datatype-animation-genmodfiles_GENTARGETS := $($(workbench-datatype-animation-genmodfiles_MODNAME)_STARTFILES) $($(workbench-datatype-animation-genmodfiles_MODNAME)_ENDFILES) +workbench-datatype-animation-genmodfiles_STUBTARGETS := $($(workbench-datatype-animation-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-datatype-animation-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-datatype-animation-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-datatype-animation-genmodfiles_GENTARGETS)) +workbench-datatype-animation-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-datatype-animation-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-datatype-animation-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-datatype-animation-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-datatype-animation-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-datatype-animation-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-datatype-animation-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatype-animation-genmodfiles_OPTS += -c + workbench-datatype-animation-genmodfiles_DEPS += + endif +else + workbench-datatype-animation-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/animation.conf + workbench-datatype-animation-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/animation.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-datatype-animation-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-datatype-animation-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatype-animation-genmodfiles_OPTS += -o + workbench-datatype-animation-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-datatype-animation-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-datatype-animation_OBJDIR),) + workbench-datatype-animation-genmodfiles_OPTS += -d $(workbench-datatype-animation_OBJDIR) + workbench-datatype-animation-genmodfiles_TARGETDIR := $(shell echo $(workbench-datatype-animation_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-datatype-animation-genmodfiles_GENTARGETS := $(addprefix $(workbench-datatype-animation-genmodfiles_TARGETDIR)/,$(workbench-datatype-animation-genmodfiles_GENTARGETS)) + workbench-datatype-animation-genmodfiles_GENFILEFLAG=$(workbench-datatype-animation-genmodfiles_TARGETDIR)/.animation.datatype-genfiles +else + workbench-datatype-animation-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.animation.datatype-genfiles +endif +ifneq ($(workbench-datatype-animation_OBJDIR)/linklib,) + workbench-datatype-animation-genmodfiles_OPTS += -l $(workbench-datatype-animation_OBJDIR)/linklib + workbench-datatype-animation-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-datatype-animation_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-datatype-animation-genmodfiles_STUBTARGETS := $(addprefix $(workbench-datatype-animation-genmodfiles_STUBTARGETDIR)/,$(workbench-datatype-animation-genmodfiles_STUBTARGETS)) + workbench-datatype-animation-genmodfiles_TARGETDIRS += $(workbench-datatype-animation_OBJDIR)/linklib +else +ifneq ($(workbench-datatype-animation_OBJDIR),) + workbench-datatype-animation-genmodfiles_STUBTARGETS := $(addprefix $(workbench-datatype-animation-genmodfiles_TARGETDIR)/,$(workbench-datatype-animation-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-datatype-animation-genmodfiles_TARGETS := $(workbench-datatype-animation-genmodfiles_GENTARGETS) $(workbench-datatype-animation-genmodfiles_STUBTARGETS) +ifneq ($(workbench-datatype-animation-genmodfiles_TARGETDIRS),) +$(workbench-datatype-animation-genmodfiles_TARGETS) : | $(workbench-datatype-animation-genmodfiles_TARGETDIRS) +endif + +$(workbench-datatype-animation-genmodfiles_TARGETS) : $(workbench-datatype-animation-genmodfiles_DEPS) $(workbench-datatype-animation-genmodfiles_GENFILEFLAG) + +$(workbench-datatype-animation-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-datatype-animation-genmodfiles_OPTS) +$(workbench-datatype-animation-genmodfiles_GENFILEFLAG) : MODNAME := animation +$(workbench-datatype-animation-genmodfiles_GENFILEFLAG) : MODTYPE := datatype +$(workbench-datatype-animation-genmodfiles_GENFILEFLAG) : $(workbench-datatype-animation-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-datatype-animation-genmodfiles_GENFILEFLAG) : $(workbench-datatype-animation_DEFLIBDEFSINC) $(workbench-datatype-animation-makefile) + + +ifneq ($(workbench-datatype-animation-genmodfiles_GENFILEFLAG),) +$(workbench-datatype-animation-genmodfiles_GENFILEFLAG) : | $(workbench-datatype-animation_OBJDIR)/linklib +else +$(workbench-datatype-animation-genmodfiles_GENFILEFLAG) :: $(workbench-datatype-animation_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-datatype-animation_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-datatype-animation_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-datatype-animation_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-datatype-animation-fd : $(workbench-datatype-animation_FDDIR)/animation_lib.fd + + +TMP_TARGET := animation_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/animation.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/animation.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-datatype-animation_FDDIR),) + TMP_OPTS += -d $(workbench-datatype-animation_FDDIR) + TMP_TARGET := $(workbench-datatype-animation_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := animation +$(TMP_TARGET) : MODTYPE := datatype +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-datatype-animation_FDDIR)/animation_lib.fd : | $(workbench-datatype-animation_FDDIR) + + +ifneq (workbench-datatype-animation-fd-setup,) +workbench-datatype-animation-fd-setup : | $(workbench-datatype-animation_FDDIR) +else +workbench-datatype-animation-fd-setup :: $(workbench-datatype-animation_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-datatype-animation_FDDIR) + +endif + +## Compilation +## +workbench-datatype-animation_FILES := $(FILES) +workbench-datatype-animation_OBJCFILES := +workbench-datatype-animation_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-datatype-animation_LIBFILES := +workbench-datatype-animation_LIBS := + +workbench-datatype-animation_FDIRS := $(sort $(dir $(workbench-datatype-animation_FILES))) + +workbench-datatype-animation_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-datatype-animation_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-datatype-animation_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-datatype-animation_FILTERARCH = $(filter-out $(call workbench-datatype-animation_MATCHARCH,$(1),$(2)),$(2)) +workbench-datatype-animation_STARTFILES := $(addprefix $(workbench-datatype-animation_OBJDIR)/,$($(workbench-datatype-animation_DEFNAME)_STARTFILES)) +workbench-datatype-animation_ENDFILES := $(addprefix $(workbench-datatype-animation_OBJDIR)/,$($(workbench-datatype-animation_DEFNAME)_ENDFILES)) + +workbench-datatype-animation_ARCHOBJS := $(wildcard $(workbench-datatype-animation_OBJDIR)/arch/*.o) +workbench-datatype-animation_LIBARCHOBJS := $(wildcard $(workbench-datatype-animation_OBJDIR)/linklib/arch/*.o) +workbench-datatype-animation_ARCHFILES := $(basename $(notdir $(workbench-datatype-animation_ARCHOBJS))) +workbench-datatype-animation_LIBARCHFILES := $(basename $(notdir $(workbench-datatype-animation_LIBARCHOBJS))) +workbench-datatype-animation_C_NARCHFILES := $(call workbench-datatype-animation_FILTERARCH,$(workbench-datatype-animation_ARCHFILES),$(workbench-datatype-animation_FILES)) +workbench-datatype-animation_CXX_NARCHFILES := $(call workbench-datatype-animation_FILTERARCH,$(workbench-datatype-animation_ARCHFILES),$(workbench-datatype-animation_CXXFILES)) +workbench-datatype-animation_OBJC_NARCHFILES := $(call workbench-datatype-animation_FILTERARCH,$(workbench-datatype-animation_ARCHFILES),$(workbench-datatype-animation_OBJCFILES)) +workbench-datatype-animation_NLIBARCHFILES := $(call workbench-datatype-animation_FILTERARCH,$(workbench-datatype-animation_LIBARCHFILES),$(workbench-datatype-animation_LIBFILES)) +workbench-datatype-animation_ARCHNLIBFILES := $(call workbench-datatype-animation_FILTERARCH,$(workbench-datatype-animation_LIBFILES),$(workbench-datatype-animation_LIBARCHFILES)) + +workbench-datatype-animation_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-datatype-animation_OBJDIR)/include -include $(workbench-datatype-animation_DEFLIBDEFSINC)) +ifneq (,) +workbench-datatype-animation_CPPFLAGS += -I +endif +workbench-datatype-animation_LINKLIBCPPFLAGS := $(workbench-datatype-animation_CPPFLAGS) +workbench-datatype-animation_CPPFLAGS += $(strip $($(workbench-datatype-animation_DEFNAME)_CPPFLAGS)) +workbench-datatype-animation_LINKLIBCPPFLAGS += $(strip $($(workbench-datatype-animation_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-datatype-animation_CFLAGS := $(strip $(CFLAGS) $($(workbench-datatype-animation_DEFNAME)_CFLAGS)) +workbench-datatype-animation_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-datatype-animation_DEFNAME)_LINKLIBCFLAGS)) +workbench-datatype-animation_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-datatype-animation_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-datatype-animation_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-datatype-animation_CFLAGS := $(strip $(workbench-datatype-animation_LTOFLAGS) $(workbench-datatype-animation_CFLAGS)) +workbench-datatype-animation_LINKLIBCFLAGS := $(strip $(workbench-datatype-animation_LTOFLAGS) $(workbench-datatype-animation_LINKLIBCFLAGS)) +workbench-datatype-animation_CXXFLAGS := $(strip $(workbench-datatype-animation_LTOFLAGS) $(workbench-datatype-animation_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-datatype-animation_SUBSTNULL := +workbench-datatype-animation_SUBSTSPACE := $(workbench-datatype-animation_SUBSTNULL) # +workbench-datatype-animation_SUBSTCOMMA := , +workbench-datatype-animation_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-datatype-animation_SUBSTSPACE),$(workbench-datatype-animation_SUBSTCOMMA),$(strip $($(workbench-datatype-animation_DEFNAME)_STARTFILES)))) +workbench-datatype-animation_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-datatype-animation_CFLAGS := $(strip $(workbench-datatype-animation_INSTRFUNCFLAGS) $(workbench-datatype-animation_CFLAGS)) +workbench-datatype-animation_CXXFLAGS := $(strip $(workbench-datatype-animation_INSTRFUNCFLAGS) $(workbench-datatype-animation_CXXFLAGS)) +workbench-datatype-animation_LIBS += $(workbench-datatype-animation_INSTRFUNCLIBS) +endif +endif +workbench-datatype-animation_DFLAGS := $(strip $(workbench-datatype-animation_DFLAGS) $($(workbench-datatype-animation_DEFNAME)_DFLAGS)) +workbench-datatype-animation_LINKLIBDFLAGS := $(strip $(workbench-datatype-animation_DFLAGS) $($(workbench-datatype-animation_DEFNAME)_LINKLIBDFLAGS)) +workbench-datatype-animation_DXXFLAGS := $(strip $(workbench-datatype-animation_DXXFLAGS) $($(workbench-datatype-animation_DEFNAME)_DXXFLAGS)) + +ifeq (datatype,library) + workbench-datatype-animation_LIBSUFFIX := +else + workbench-datatype-animation_LIBSUFFIX := .datatype +endif + +ifeq (,) +workbench-datatype-animation_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-datatype-animation_LIBDIR := +endif + +ifeq (M,M) +workbench-datatype-animation_LINKLIBCFILES := $(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$($(workbench-datatype-animation_DEFNAME)_LINKLIBFILES)) +workbench-datatype-animation_LINKLIBAFILES := $(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$($(workbench-datatype-animation_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-datatype-animation_DEFNAME)_LINKLIBFILES) $($(workbench-datatype-animation_DEFNAME)_LINKLIBAFILES) $(workbench-datatype-animation_ARCHNLIBFILES)),) + workbench-datatype-animation_LINKLIB := +else + workbench-datatype-animation_LINKLIB := $(workbench-datatype-animation_LIBDIR)/libanimation$(workbench-datatype-animation_LIBSUFFIX).a + ifneq (animation,$(workbench-datatype-animation_LINKLIBNAME)) + workbench-datatype-animation_LINKLIB += $(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)$(workbench-datatype-animation_LIBSUFFIX).a + endif +endif +workbench-datatype-animation_LINKLIBFILES := $(workbench-datatype-animation_LINKLIBCFILES) $(workbench-datatype-animation_LINKLIBAFILES) + +workbench-datatype-animation_RELLINKLIBCFILES := $(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$($(workbench-datatype-animation_DEFNAME)_RELLINKLIBFILES)) +workbench-datatype-animation_RELLINKLIBAFILES := $(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$($(workbench-datatype-animation_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-datatype-animation_DEFNAME)_RELLINKLIBFILES) $($(workbench-datatype-animation_DEFNAME)_RELLINKLIBAFILES) $(workbench-datatype-animation_ARCHNLIBFILES)),) + workbench-datatype-animation_RELLINKLIB := +else + workbench-datatype-animation_RELLINKLIB := $(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_DEFNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a + ifneq (animation,$(workbench-datatype-animation_LINKLIBNAME)) + workbench-datatype-animation_RELLINKLIB += $(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a + endif +endif +workbench-datatype-animation_RELLINKLIBFILES := $(workbench-datatype-animation_RELLINKLIBCFILES) $(workbench-datatype-animation_RELLINKLIBAFILES) +endif + +workbench-datatype-animation_ENDOBJS := $(addsuffix .o,$(workbench-datatype-animation_ENDFILES)) +workbench-datatype-animation_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(notdir $(workbench-datatype-animation_NLIBARCHFILES))) $(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/arch/,$(notdir $(workbench-datatype-animation_ARCHNLIBFILES))) $(workbench-datatype-animation_LINKLIBFILES)) \ + +workbench-datatype-animation_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(notdir $(workbench-datatype-animation_NLIBARCHFILES))) $(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/arch/,$(notdir $(workbench-datatype-animation_ARCHNLIBFILES))) $(workbench-datatype-animation_RELLINKLIBFILES)) \ + +$(workbench-datatype-animation_LINKLIBFILES) $(workbench-datatype-animation_RELLINKLIBFILES) : | $(workbench-datatype-animation_OBJDIR)/linklib +$(workbench-datatype-animation_LINKLIBOBJS) $(workbench-datatype-animation_RELLINKLIBOBJS) : | $(workbench-datatype-animation_OBJDIR)/linklib + +workbench-datatype-animation_CCFILES := $(workbench-datatype-animation_C_NARCHFILES) +workbench-datatype-animation_TARGETCCFILES := $(strip $(workbench-datatype-animation_STARTFILES) $(workbench-datatype-animation_ENDFILES)) +workbench-datatype-animation_LINKLIBCCFILES := $(strip $(workbench-datatype-animation_NLIBARCHFILES) $(workbench-datatype-animation_LINKLIBCFILES) $(workbench-datatype-animation_RELLINKLIBCFILES)) +workbench-datatype-animation_LINKLIBCCGENFILES := $(strip $(workbench-datatype-animation_LINKLIBCFILES) $(workbench-datatype-animation_RELLINKLIBCFILES)) + + +workbench-datatype-animation_CXXABSBASENAMES := $(foreach workbench-datatype-animation_CXXBASE,$(workbench-datatype-animation_CXX_NARCHFILES),$(if $(filter /%,$(workbench-datatype-animation_CXXBASE)),$(workbench-datatype-animation_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-datatype-animation_CXXBASE)))) + +ifneq ($(workbench-datatype-animation_CXXABSBASENAMES),) + +workbench-datatype-animation_CXXBASENAMES := $(basename $(workbench-datatype-animation_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-datatype-animation_MCXX_FILES := $(strip $(foreach workbench-datatype-animation_CXXBASE,$(workbench-datatype-animation_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-datatype-animation_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-datatype-animation_EXT),$(workbench-datatype-animation_CXXBASE))))))) + +ifeq (,) +workbench-datatype-animation_MCXX_SRCWILDCARD := % +else +workbench-datatype-animation_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatype-animation_OBJDIR),) + workbench-datatype-animation_CXXTARGETS := $(notdir $(workbench-datatype-animation_CXXBASENAMES:=.o)) + workbench-datatype-animation_CXXDTARGETS := $(notdir $(workbench-datatype-animation_CXXBASENAMES:=.d)) + workbench-datatype-animation_MCXX_WILDCARD := % +else + workbench-datatype-animation_CXXTARGETS := $(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(workbench-datatype-animation_CXXBASENAMES:=.o))) + workbench-datatype-animation_CXXDTARGETS := $(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(workbench-datatype-animation_CXXBASENAMES:=.d))) + workbench-datatype-animation_MCXX_WILDCARD := $(workbench-datatype-animation_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-datatype-animation_CXXTARGETS) $(workbench-datatype-animation_CXXDTARGETS) : | $(workbench-datatype-animation_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-datatype-animation_MCXX_CPPFLAGS := $(workbench-datatype-animation_CPPFLAGS) +workbench-datatype-animation_CXXFLAGS := $(workbench-datatype-animation_CXXFLAGS) +ifeq ($(workbench-datatype-animation_DXXFLAGS),) + workbench-datatype-animation_DXXFLAGS := $(workbench-datatype-animation_CXXFLAGS) +else + workbench-datatype-animation_DXXFLAGS := $(workbench-datatype-animation_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-datatype-animation_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-datatype-animation_STRIP ?= $(HOST_STRIP) + workbench-datatype-animation_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-datatype-animation_CXXCMD:=$(HOST_CXX) + workbench-datatype-animation_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-datatype-animation_MCXX_CPPFLAGS) $(workbench-datatype-animation_MCXX_EXTRA_CPPFLAGS)) + workbench-datatype-animation_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-datatype-animation_CXXFLAGS)) + workbench-datatype-animation_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-datatype-animation_DXXFLAGS)) + workbench-datatype-animation_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-datatype-animation_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-datatype-animation_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-datatype-animation_STRIP ?= $(TARGET_STRIP) + workbench-datatype-animation_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-datatype-animation_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-datatype-animation_MCXX_CPPFLAGS := $(strip $(workbench-datatype-animation_MCXX_CPPFLAGS) $(workbench-datatype-animation_MCXX_EXTRA_CPPFLAGS)) + workbench-datatype-animation_CXXFLAGS := $(strip $(workbench-datatype-animation_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-datatype-animation_DXXFLAGS := $(workbench-datatype-animation_DXXFLAGS) + workbench-datatype-animation_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-datatype-animation_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-datatype-animation_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-datatype-animation_STRIP ?= $(ECHO) >/dev/null + workbench-datatype-animation_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-datatype-animation_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-datatype-animation_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-datatype-animation_MCXX_CPPFLAGS) $(workbench-datatype-animation_MCXX_EXTRA_CPPFLAGS)) + workbench-datatype-animation_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-datatype-animation_CXXFLAGS)) + workbench-datatype-animation_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-datatype-animation_DXXFLAGS)) + workbench-datatype-animation_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-datatype-animation_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-datatype-animation_CXXCMD) $(workbench-datatype-animation_CXXIQUOTE) $(dir $(2)) $(workbench-datatype-animation_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_CXXIQUOTE) . $(workbench-datatype-animation_CXXIQUOTE_END) $(strip $(workbench-datatype-animation_CXXFLAGS) $(workbench-datatype-animation_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-datatype-animation_CXXCMD) $(workbench-datatype-animation_CXXIQUOTE) $(dir $(2)) $(workbench-datatype-animation_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_CXXIQUOTE) . $(workbench-datatype-animation_CXXIQUOTE_END) $(strip $(workbench-datatype-animation_CXXFLAGS) $(workbench-datatype-animation_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-datatype-animation_CXXCMD) $(workbench-datatype-animation_CXXIQUOTE) $(dir $(2)) $(workbench-datatype-animation_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_CXXIQUOTE) . $(workbench-datatype-animation_CXXIQUOTE_END) $(strip $(workbench-datatype-animation_CXXFLAGS) $(workbench-datatype-animation_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-datatype-animation_CXXCMD)" $(MKDEPEND) $(strip $(workbench-datatype-animation_DXXFLAGS) $(workbench-datatype-animation_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-datatype-animation_OBJDIR),) + $(foreach workbench-datatype-animation_CXXFILE,$(workbench-datatype-animation_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-datatype-animation_CXXFILE))),$(workbench-datatype-animation_CXXFILE)))) +else + $(foreach workbench-datatype-animation_CXXFILE,$(workbench-datatype-animation_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(basename $(workbench-datatype-animation_CXXFILE)))),$(workbench-datatype-animation_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-datatype-animation_OBJC_NARCHFILES),) + +ifeq (,) +workbench-datatype-animation_MOBJC_SRCWILDCARD := % +else +workbench-datatype-animation_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatype-animation_OBJDIR),) + workbench-datatype-animation_MOBJC_TARGETS := $(addsuffix .o,$(workbench-datatype-animation_OBJC_NARCHFILES)) + workbench-datatype-animation_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-datatype-animation_OBJC_NARCHFILES)) + workbench-datatype-animation_MOBJC_WILDCARD := % +else + workbench-datatype-animation_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(workbench-datatype-animation_OBJC_NARCHFILES))) + workbench-datatype-animation_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(workbench-datatype-animation_OBJC_NARCHFILES))) + workbench-datatype-animation_MOBJC_WILDCARD := $(workbench-datatype-animation_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-datatype-animation_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-datatype-animation_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-datatype-animation_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatype-animation_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-datatype-animation_MOBJC_DIRS := $(foreach dir, $(workbench-datatype-animation_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatype-animation_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-datatype-animation_MOBJC_DIRS),) + workbench-datatype-animation_MOBJC_DIRS := $(shell echo $(workbench-datatype-animation_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-datatype-animation_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-datatype-animation_CC := $(TARGET_CC) +else + workbench-datatype-animation_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-datatype-animation_MOBJC_CPPFLAGS := $(workbench-datatype-animation_CPPFLAGS) +workbench-datatype-animation_OBJCFLAGS := $(workbench-datatype-animation_CFLAGS) +workbench-datatype-animation_OBJCFLAGS := $(workbench-datatype-animation_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-datatype-animation_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-datatype-animation_OBJCFLAGS))) +ifeq ($(workbench-datatype-animation_DFLAGS),) + workbench-datatype-animation_OBJCDFLAGS := $(workbench-datatype-animation_CFLAGS) +else + workbench-datatype-animation_OBJCDFLAGS := $(workbench-datatype-animation_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-datatype-animation_LINK ?= $(strip $(workbench-datatype-animation_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-datatype-animation_STRIP ?= $(TARGET_STRIP) + workbench-datatype-animation_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-datatype-animation_CC) $(TARGET_SYSROOT)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_MOBJC_CPPFLAGS:=$(strip $(workbench-datatype-animation_MOBJC_CPPFLAGS) $(workbench-datatype-animation_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_OBJCFLAGS:=$(strip $(workbench-datatype-animation_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_OBJCDFLAGS:=$(workbench-datatype-animation_OBJCDFLAGS) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-datatype-animation_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-datatype-animation_STRIP ?= $(HOST_STRIP) + workbench-datatype-animation_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-datatype-animation_MOBJC_CPPFLAGS) $(workbench-datatype-animation_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_OBJCFLAGS)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_OBJCDFLAGS)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(HOST_IQUOTE) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-datatype-animation_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-datatype-animation_STRIP ?= $(ECHO) >/dev/null + workbench-datatype-animation_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-datatype-animation_MOBJC_CPPFLAGS) $(workbench-datatype-animation_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_OBJCFLAGS)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_OBJCDFLAGS)) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-datatype-animation_MOBJC_TARGETS) $(workbench-datatype-animation_MOBJC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatype-animation_MOBJC_TARGETS) : CPPFLAGS := $(workbench-datatype-animation_MOBJC_CPPFLAGS) +$(workbench-datatype-animation_MOBJC_TARGETS) : CFLAGS := $(workbench-datatype-animation_OBJCFLAGS) +$(workbench-datatype-animation_MOBJC_TARGETS) : $(workbench-datatype-animation_MOBJC_WILDCARD).o : $(workbench-datatype-animation_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatype-animation_MOBJC_DTARGETS) : $(workbench-datatype-animation_MOBJC_WILDCARD).d : $(workbench-datatype-animation_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatype-animation_OBJCDFLAGS) $(workbench-datatype-animation_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-datatype-animation_MC_SRCWILDCARD := % +else +workbench-datatype-animation_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatype-animation_OBJDIR),) +workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(workbench-datatype-animation_CCFILES)) +workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(workbench-datatype-animation_CCFILES)) +workbench-datatype-animation_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(workbench-datatype-animation_CCFILES)))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(workbench-datatype-animation_CCFILES)))) +else +ifeq (,) + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(workbench-datatype-animation_CCFILES))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(workbench-datatype-animation_CCFILES))) +else + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(patsubst /%,%,$(workbench-datatype-animation_CCFILES)))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(patsubst /%,%,$(workbench-datatype-animation_CCFILES)))) +endif +endif +workbench-datatype-animation_MC_TGTWILDCARD := $(workbench-datatype-animation_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : | $(addsuffix .c,$(workbench-datatype-animation_CCFILES)) + +# Be sure that all .c files are found +workbench-datatype-animation_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatype-animation_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatype-animation_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatype-animation_MC_DIRS := $(foreach dir, $(workbench-datatype-animation_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatype-animation_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatype-animation_MC_DIRS),) + workbench-datatype-animation_MC_DIRS := $(shell echo $(workbench-datatype-animation_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-datatype-animation_MC_DIRS) +endif + +endif + +workbench-datatype-animation_MC_CPPFLAGS := $(workbench-datatype-animation_CPPFLAGS) +workbench-datatype-animation_CFLAGS := $(workbench-datatype-animation_CFLAGS) +ifeq ($(workbench-datatype-animation_DFLAGS),) + workbench-datatype-animation_DFLAGS := $(workbench-datatype-animation_CFLAGS) +else + workbench-datatype-animation_DFLAGS := $(workbench-datatype-animation_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-datatype-animation_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(TARGET_STRIP) +workbench-datatype-animation_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(workbench-datatype-animation_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(workbench-datatype-animation_DFLAGS) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-datatype-animation_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(HOST_STRIP) +workbench-datatype-animation_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_DFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(HOST_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-datatype-animation_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(ECHO) >/dev/null +workbench-datatype-animation_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_DFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatype-animation_MC_TARGETS) : CPPFLAGS := $(workbench-datatype-animation_MC_CPPFLAGS) +$(workbench-datatype-animation_MC_TARGETS) : CFLAGS := $(workbench-datatype-animation_CFLAGS) +$(workbench-datatype-animation_MC_TARGETS) : $(workbench-datatype-animation_MC_TGTWILDCARD).o : $(workbench-datatype-animation_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatype-animation_MC_DTARGETS) : $(workbench-datatype-animation_MC_TGTWILDCARD).d : $(workbench-datatype-animation_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatype-animation_DFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-datatype-animation_MC_SRCWILDCARD := % +else +workbench-datatype-animation_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatype-animation_OBJDIR),) +workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(workbench-datatype-animation_TARGETCCFILES)) +workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(workbench-datatype-animation_TARGETCCFILES)) +workbench-datatype-animation_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(workbench-datatype-animation_TARGETCCFILES)))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(workbench-datatype-animation_TARGETCCFILES)))) +else +ifeq (,) + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(workbench-datatype-animation_TARGETCCFILES))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(workbench-datatype-animation_TARGETCCFILES))) +else + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(patsubst /%,%,$(workbench-datatype-animation_TARGETCCFILES)))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/,$(patsubst /%,%,$(workbench-datatype-animation_TARGETCCFILES)))) +endif +endif +workbench-datatype-animation_MC_TGTWILDCARD := $(workbench-datatype-animation_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : | $(addsuffix .c,$(workbench-datatype-animation_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-datatype-animation_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatype-animation_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatype-animation_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatype-animation_MC_DIRS := $(foreach dir, $(workbench-datatype-animation_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatype-animation_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatype-animation_MC_DIRS),) + workbench-datatype-animation_MC_DIRS := $(shell echo $(workbench-datatype-animation_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-datatype-animation_MC_DIRS) +endif + +endif + +workbench-datatype-animation_MC_CPPFLAGS := $(workbench-datatype-animation_CPPFLAGS) -D__AROS__ +workbench-datatype-animation_CFLAGS := $(workbench-datatype-animation_CFLAGS) +ifeq ($(workbench-datatype-animation_DFLAGS),) + workbench-datatype-animation_DFLAGS := $(workbench-datatype-animation_CFLAGS) +else + workbench-datatype-animation_DFLAGS := $(workbench-datatype-animation_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-datatype-animation_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(TARGET_STRIP) +workbench-datatype-animation_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(workbench-datatype-animation_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(workbench-datatype-animation_DFLAGS) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-datatype-animation_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(HOST_STRIP) +workbench-datatype-animation_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_DFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(HOST_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-datatype-animation_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(ECHO) >/dev/null +workbench-datatype-animation_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_DFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatype-animation_MC_TARGETS) : CPPFLAGS := $(workbench-datatype-animation_MC_CPPFLAGS) +$(workbench-datatype-animation_MC_TARGETS) : CFLAGS := $(workbench-datatype-animation_CFLAGS) +$(workbench-datatype-animation_MC_TARGETS) : $(workbench-datatype-animation_MC_TGTWILDCARD).o : $(workbench-datatype-animation_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatype-animation_MC_DTARGETS) : $(workbench-datatype-animation_MC_TGTWILDCARD).d : $(workbench-datatype-animation_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatype-animation_DFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-datatype-animation_MC_SRCWILDCARD := % +else +workbench-datatype-animation_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatype-animation_OBJDIR)/linklib,) +workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(workbench-datatype-animation_NLIBARCHFILES)) +workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(workbench-datatype-animation_NLIBARCHFILES)) +workbench-datatype-animation_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(notdir $(workbench-datatype-animation_NLIBARCHFILES)))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(notdir $(workbench-datatype-animation_NLIBARCHFILES)))) +else +ifeq (,) + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(workbench-datatype-animation_NLIBARCHFILES))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(workbench-datatype-animation_NLIBARCHFILES))) +else + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-datatype-animation_NLIBARCHFILES)))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-datatype-animation_NLIBARCHFILES)))) +endif +endif +workbench-datatype-animation_MC_TGTWILDCARD := $(workbench-datatype-animation_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : | $(addsuffix .c,$(workbench-datatype-animation_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-datatype-animation_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatype-animation_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatype-animation_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatype-animation_MC_DIRS := $(foreach dir, $(workbench-datatype-animation_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatype-animation_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatype-animation_MC_DIRS),) + workbench-datatype-animation_MC_DIRS := $(shell echo $(workbench-datatype-animation_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-datatype-animation_MC_DIRS) +endif + +endif + +workbench-datatype-animation_MC_CPPFLAGS := $(workbench-datatype-animation_LINKLIBCPPFLAGS) -D__AROS__ +workbench-datatype-animation_CFLAGS := $(workbench-datatype-animation_LINKLIBCFLAGS) +ifeq ($(workbench-datatype-animation_LINKLIBDFLAGS),) + workbench-datatype-animation_DFLAGS := $(workbench-datatype-animation_LINKLIBCFLAGS) +else + workbench-datatype-animation_DFLAGS := $(workbench-datatype-animation_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-datatype-animation_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(TARGET_STRIP) +workbench-datatype-animation_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(workbench-datatype-animation_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(workbench-datatype-animation_DFLAGS) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-datatype-animation_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(HOST_STRIP) +workbench-datatype-animation_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_DFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(HOST_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-datatype-animation_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(ECHO) >/dev/null +workbench-datatype-animation_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_DFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatype-animation_MC_TARGETS) : CPPFLAGS := $(workbench-datatype-animation_MC_CPPFLAGS) +$(workbench-datatype-animation_MC_TARGETS) : CFLAGS := $(workbench-datatype-animation_CFLAGS) +$(workbench-datatype-animation_MC_TARGETS) : $(workbench-datatype-animation_MC_TGTWILDCARD).o : $(workbench-datatype-animation_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatype-animation_MC_DTARGETS) : $(workbench-datatype-animation_MC_TGTWILDCARD).d : $(workbench-datatype-animation_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatype-animation_DFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-datatype-animation_OBJDIR)/linklib,) +workbench-datatype-animation_MC_SRCWILDCARD := % +else +workbench-datatype-animation_MC_SRCWILDCARD := $(workbench-datatype-animation_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-datatype-animation_OBJDIR)/linklib,) +workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(workbench-datatype-animation_LINKLIBCCGENFILES)) +workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(workbench-datatype-animation_LINKLIBCCGENFILES)) +workbench-datatype-animation_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(notdir $(workbench-datatype-animation_LINKLIBCCGENFILES)))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(notdir $(workbench-datatype-animation_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-datatype-animation_OBJDIR)/linklib,) + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(workbench-datatype-animation_LINKLIBCCGENFILES))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(workbench-datatype-animation_LINKLIBCCGENFILES))) +else + workbench-datatype-animation_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(patsubst $(workbench-datatype-animation_OBJDIR)/linklib/%,%,$(workbench-datatype-animation_LINKLIBCCGENFILES)))) + workbench-datatype-animation_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(patsubst $(workbench-datatype-animation_OBJDIR)/linklib/%,%,$(workbench-datatype-animation_LINKLIBCCGENFILES)))) +endif +endif +workbench-datatype-animation_MC_TGTWILDCARD := $(workbench-datatype-animation_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : | $(addsuffix .c,$(workbench-datatype-animation_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-datatype-animation_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatype-animation_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatype-animation_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatype-animation_MC_DIRS := $(foreach dir, $(workbench-datatype-animation_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatype-animation_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatype-animation_MC_DIRS),) + workbench-datatype-animation_MC_DIRS := $(shell echo $(workbench-datatype-animation_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-datatype-animation_MC_DIRS) +endif + +endif + +workbench-datatype-animation_MC_CPPFLAGS := $(workbench-datatype-animation_LINKLIBCPPFLAGS) -D__AROS__ +workbench-datatype-animation_CFLAGS := $(workbench-datatype-animation_LINKLIBCFLAGS) +ifeq ($(workbench-datatype-animation_LINKLIBDFLAGS),) + workbench-datatype-animation_DFLAGS := $(workbench-datatype-animation_LINKLIBCFLAGS) +else + workbench-datatype-animation_DFLAGS := $(workbench-datatype-animation_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-datatype-animation_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(TARGET_STRIP) +workbench-datatype-animation_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(workbench-datatype-animation_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(workbench-datatype-animation_DFLAGS) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-datatype-animation_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(HOST_STRIP) +workbench-datatype-animation_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatype-animation_DFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(HOST_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-datatype-animation_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-datatype-animation_STRIP ?= $(ECHO) >/dev/null +workbench-datatype-animation_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS) $(workbench-datatype-animation_MC_EXTRA_CPPFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_CFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatype-animation_DFLAGS)) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-datatype-animation_MC_TARGETS) $(workbench-datatype-animation_MC_DTARGETS) : workbench-datatype-animation_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatype-animation_MC_TARGETS) : CPPFLAGS := $(workbench-datatype-animation_MC_CPPFLAGS) +$(workbench-datatype-animation_MC_TARGETS) : CFLAGS := $(workbench-datatype-animation_CFLAGS) +$(workbench-datatype-animation_MC_TARGETS) : $(workbench-datatype-animation_MC_TGTWILDCARD).o : $(workbench-datatype-animation_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatype-animation_IQUOTE) $(dir $<) $(workbench-datatype-animation_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatype-animation_IQUOTE) . $(workbench-datatype-animation_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatype-animation_MC_DTARGETS) : $(workbench-datatype-animation_MC_TGTWILDCARD).d : $(workbench-datatype-animation_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatype-animation_DFLAGS) $(workbench-datatype-animation_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-datatype-animation_LINKLIBAFILES),) + +ifeq ($(workbench-datatype-animation_OBJDIR)/linklib,) +workbench-datatype-animation-MA_TARGETS := $(addsuffix .o,$(workbench-datatype-animation_LINKLIBAFILES) $(workbench-datatype-animation_RELLINKLIBAFILES)) +workbench-datatype-animation-MA_WILDCARD := % +else +workbench-datatype-animation-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(notdir $(workbench-datatype-animation_LINKLIBAFILES) $(workbench-datatype-animation_RELLINKLIBAFILES)))) +workbench-datatype-animation-MA_WILDCARD := $(workbench-datatype-animation_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-datatype-animation-MA_TARGETS) : | $(addsuffix .S,$(workbench-datatype-animation_LINKLIBAFILES) $(workbench-datatype-animation_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-datatype-animation-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatype-animation-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatype-animation_LINKLIBAFILES) $(workbench-datatype-animation_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatype-animation-MA_DIRS := $(foreach dir, $(workbench-datatype-animation-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatype-animation-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatype-animation-MA_DIRS),) + workbench-datatype-animation-MA_DIRS := $(shell echo $(workbench-datatype-animation-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-datatype-animation-MA_DIRS) +endif + +endif + +workbench-datatype-animation-MA_ASSEMBLER ?= $(workbench-datatype-animation_ASSEMBLER) + +$(workbench-datatype-animation-MA_TARGETS) : workbench-datatype-animation-MA_CMD:= $(workbench-datatype-animation-MA_ASSEMBLER) + +$(workbench-datatype-animation-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-datatype-animation-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-datatype-animation-MA_TARGETS) : $(workbench-datatype-animation-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-datatype-animation-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-datatype-animation-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-datatype-animation-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-datatype-animation_SUFFIX := datatype +else +workbench-datatype-animation_SUFFIX := +endif + +ifeq (target,target) +workbench-datatype-animation_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-datatype-animation_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-datatype-animation_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-datatype-animation_SUFFIX),handler) +workbench-datatype-animation_MODULE := $(AROSDIR)/$(workbench-datatype-animation_MODDIR)/$(workbench-datatype-animation_DEFNAME)-$(workbench-datatype-animation_SUFFIX) +else +workbench-datatype-animation_MODULE := $(AROSDIR)/$(workbench-datatype-animation_MODDIR)/$(workbench-datatype-animation_DEFNAME).$(workbench-datatype-animation_SUFFIX) +endif +workbench-datatype-animation_KOBJ := $(KOBJSDIR)/$(workbench-datatype-animation_DEFNAME)_$(workbench-datatype-animation_SUFFIX).o +else +workbench-datatype-animation_MODULE := +workbench-datatype-animation_KOBJ := +endif + +workbench-datatype-animation-quick : workbench-datatype-animation +workbench-datatype-animation : $(workbench-datatype-animation_MODULE) $(workbench-datatype-animation_LINKLIB) $(workbench-datatype-animation_RELLINKLIB) +ifeq (M,M) +workbench-datatype-animation-kobj : $(workbench-datatype-animation_KOBJ) $(workbench-datatype-animation_LINKLIB) $(workbench-datatype-animation_RELLINKLIB) +workbench-datatype-animation-kobj-quick : $(workbench-datatype-animation_KOBJ) $(workbench-datatype-animation_LINKLIB) $(workbench-datatype-animation_RELLINKLIB) +endif +ifeq (M,M) +workbench-datatype-animation-linklib : $(workbench-datatype-animation_LINKLIB) $(workbench-datatype-animation_RELLINKLIB) +endif + +workbench-datatype-animation_OBJS := $(addsuffix .o,$(workbench-datatype-animation_STARTFILES)) $(workbench-datatype-animation_ARCHOBJS) \ + $(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(workbench-datatype-animation_C_NARCHFILES:=.o) $(workbench-datatype-animation_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (datatype,handler) +workbench-datatype-animation_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (animation,con) + workbench-datatype-animation_ERR := $(notdir $(workbench-datatype-animation_MODULE)).err +else + workbench-datatype-animation_ERR := animation.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-datatype-animation_DEFNAME)_LDFLAGS) $(workbench-datatype-animation_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-datatype-animation_LIBS) $($(workbench-datatype-animation_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-datatype-animation_MODULE) : LIB_NAMES := $(workbench-datatype-animation_LIBS) $($(workbench-datatype-animation_DEFNAME)_LIBS) +$(workbench-datatype-animation_MODULE) : OBJS := $(workbench-datatype-animation_STARTOBJS) $(workbench-datatype-animation_OBJS) $(USER_OBJS) +$(workbench-datatype-animation_MODULE) : ENDTAG := $(workbench-datatype-animation_ENDOBJS) +$(workbench-datatype-animation_MODULE) : ERR := $(workbench-datatype-animation_ERR) +$(workbench-datatype-animation_MODULE) : OBJDIR := $(workbench-datatype-animation_OBJDIR) +$(workbench-datatype-animation_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-datatype-animation_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-datatype-animation_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-datatype-animation_MODULE) : $(workbench-datatype-animation_STARTOBJS) $(workbench-datatype-animation_OBJS) $(USER_OBJS) $(workbench-datatype-animation_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-datatype-animation_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-datatype-animation_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-datatype-animation_LC_LINKLIBNAME := $(shell echo $(workbench-datatype-animation_LINKLIBNAME) | tr A-Z a-z) +workbench-datatype-animation_LC_MODNAME := $(shell echo animation | tr A-Z a-z) +ifneq ($(workbench-datatype-animation_LINKLIB),) + +ifeq (target,target) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(HOST_AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(KERNEL_AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)$(workbench-datatype-animation_LIBSUFFIX).a : $(workbench-datatype-animation_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-datatype-animation_AR) $@ $^ + $(Q)$(workbench-datatype-animation_RANLIB) $@ +ifneq ($(workbench-datatype-animation_LC_MODNAME),$(workbench-datatype-animation_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-datatype-animation_LIBDIR)/libanimation$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(AR) +$(workbench-datatype-animation_LIBDIR)/libanimation$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-datatype-animation_LIBDIR)/libanimation$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(HOST_AR) +$(workbench-datatype-animation_LIBDIR)/libanimation$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-datatype-animation_LIBDIR)/libanimation$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(KERNEL_AR) +$(workbench-datatype-animation_LIBDIR)/libanimation$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-datatype-animation_LIBDIR)/libanimation$(workbench-datatype-animation_LIBSUFFIX).a : $(workbench-datatype-animation_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-datatype-animation_AR) $@ $^ + $(Q)$(workbench-datatype-animation_RANLIB) $@ +endif + + +ifneq ($(workbench-datatype-animation_LINKLIB),) +$(workbench-datatype-animation_LINKLIB) : | $(workbench-datatype-animation_LIBDIR) +else +$(workbench-datatype-animation_LINKLIB) :: $(workbench-datatype-animation_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-datatype-animation_LIBDIR) + +endif + +ifneq ($(workbench-datatype-animation_RELLINKLIB),) + +ifeq (target,target) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(HOST_AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(KERNEL_AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_LINKLIBNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : $(workbench-datatype-animation_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-datatype-animation_AR) $@ $^ + $(Q)$(workbench-datatype-animation_RANLIB) $@ +ifneq ($(workbench-datatype-animation_LC_MODNAME),$(workbench-datatype-animation_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_DEFNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_DEFNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_DEFNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(HOST_AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_DEFNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_DEFNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_AR:=$(KERNEL_AR) +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_DEFNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : workbench-datatype-animation_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-datatype-animation_LIBDIR)/lib$(workbench-datatype-animation_DEFNAME)_rel$(workbench-datatype-animation_LIBSUFFIX).a : $(workbench-datatype-animation_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-datatype-animation_AR) $@ $^ + $(Q)$(workbench-datatype-animation_RANLIB) $@ +endif + + +ifneq ($(workbench-datatype-animation_RELLINKLIB),) +$(workbench-datatype-animation_RELLINKLIB) : | $(workbench-datatype-animation_LIBDIR) +else +$(workbench-datatype-animation_RELLINKLIB) :: $(workbench-datatype-animation_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-datatype-animation_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-datatype-animation_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-datatype-animation_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-datatype-animation_SYMBOLS := $(workbench-datatype-animation_KBASE) + +workbench-datatype-animation_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-datatype-animation_KOBJ_LIBS := $(filter-out $(workbench-datatype-animation_KLIB),$(workbench-datatype-animation_LIBS)) $(workbench-datatype-animation_KAUTOLIB) +$(workbench-datatype-animation_KOBJ) : LINKLIBS:=$(workbench-datatype-animation_KOBJ_LIBS) $($(workbench-datatype-animation_DEFNAME)_LIBS) +$(workbench-datatype-animation_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-datatype-animation_SYMBOLS)) +$(workbench-datatype-animation_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-datatype-animation_KOBJ) : $(workbench-datatype-animation_OBJS) $(USER_OBJS) $(workbench-datatype-animation_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-datatype-animation_DEPS := $(addprefix $(workbench-datatype-animation_OBJDIR)/,$(notdir $(workbench-datatype-animation_CCFILES:=.d) $(workbench-datatype-animation_TARGETCCFILES:=.d) $(workbench-datatype-animation_CXXFILES:=.d))) $(addprefix $(workbench-datatype-animation_OBJDIR)/linklib/,$(notdir $(workbench-datatype-animation_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-datatype-animation_DEPS),) + ifneq (workbench-datatype-animation workbench-datatype-animation-quick workbench-datatype-animation-kobj workbench-datatype-animation-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-datatype-animation workbench-datatype-animation-quick workbench-datatype-animation-kobj workbench-datatype-animation-kobj-quick),) + -include $(workbench-datatype-animation_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-datatype-animation_DEPS) + endif + endif +endif + +$(workbench-datatype-animation_OBJS) $(workbench-datatype-animation_DEPS) : | $(workbench-datatype-animation_OBJDIR)/linklib + +ifneq ($(workbench-datatype-animation_OBJS) $(workbench-datatype-animation_DEPS) $(workbench-datatype-animation_MODULE) $(workbench-datatype-animation_KOBJ),) +$(workbench-datatype-animation_OBJS) $(workbench-datatype-animation_DEPS) $(workbench-datatype-animation_MODULE) $(workbench-datatype-animation_KOBJ) : | $(workbench-datatype-animation_OBJDIR) $(AROSDIR)/$(workbench-datatype-animation_MODDIR) $(KOBJSDIR) +else +$(workbench-datatype-animation_OBJS) $(workbench-datatype-animation_DEPS) $(workbench-datatype-animation_MODULE) $(workbench-datatype-animation_KOBJ) :: $(workbench-datatype-animation_OBJDIR) $(AROSDIR)/$(workbench-datatype-animation_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-datatype-animation_OBJDIR) $(AROSDIR)/$(workbench-datatype-animation_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-datatype-animation workbench-datatype-animation-includes workbench-datatype-animation-quick workbench-datatype-animation-kobj workbench-datatype-animation-kobj-quick),) # Only for this target these deps are wanted + +workbench-datatype-animation_DFILE_DEPS := $(workbench-datatype-animation_LIBDEFSINC) $(workbench-datatype-animation_DEFLIBDEFSINC) \ + $(addprefix $(workbench-datatype-animation_INCDIR)/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) +$(workbench-datatype-animation_DEPS) : $(workbench-datatype-animation_DFILE_DEPS) +endif + +workbench-datatype-animation_TOCLEAN := $(workbench-datatype-animation_OBJS) $(workbench-datatype-animation_DEPS) \ + $(workbench-datatype-animation_MODULE) $(workbench-datatype-animation_LINKLIB) $(workbench-datatype-animation_KOBJ) \ + $(workbench-datatype-animation_OBJDIR)/Makefile.animationdatatype \ + $(addprefix $(workbench-datatype-animation_OBJDIR)/include/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-datatype-animation_INCDIR)/,$($(workbench-datatype-animation_DEFNAME)_INCLUDES)) \ + $(workbench-datatype-animation_OBJDIR)/animation_geninc $(workbench-datatype-animation_OBJDIR)/animation_incs \ + $(addsuffix .c,$(workbench-datatype-animation_LINKLIBFILES)) $(workbench-datatype-animation_LINKLIBOBJS) $(workbench-datatype-animation_LIBDEFSINC) \ + $(workbench-datatype-animation_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-datatype-animation_STARTFILES) $(workbench-datatype-animation_ENDFILES)) \ + $(workbench-datatype-animation_ENDOBJS) +workbench-datatype-animation-clean : FILES := $(workbench-datatype-animation_TOCLEAN) +workbench-datatype-animation-clean :: + $(Q)$(ECHO) "Cleaning up for module animation" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-datatype-animation_ALLTARGETS) + + +#MM +workbench-datatype-animation-envarc: + @$(MKDIR) $(AROS_ENVARC)/Classes/DataTypes + @$(ECHO) "NOSKIP" > $(AROS_ENVARC)/Classes/DataTypes/animation.prefs + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/datatypes/webp/mmakefile b/workbench/classes/datatypes/webp/mmakefile new file mode 100644 index 00000000000..69b028b0181 --- /dev/null +++ b/workbench/classes/datatypes/webp/mmakefile @@ -0,0 +1,3785 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CLASSFILES := webpclass + +#MM- workbench-datatypes-complete: workbench-datatypes-webp +#MM workbench-datatypes-webp : \ +#MM includes \ +#MM linklibs \ +#MM workbench-libs-z \ +#MM datatypes-webp-linklibs-webpdecode \ +#MM datatypes-webp-linklibs-webpdsp \ +#MM datatypes-webp-linklibs-webpencode \ +#MM datatypes-webp-linklibs-webputils + +USER_CPPFLAGS := -DEMSCRIPTEN +USER_CFLAGS := -noposixc + +WEBPDSPFILES := \ + src/dsp/alpha_processing \ + src/dsp/cpu \ + src/dsp/dec \ + src/dsp/dec_clip_tables \ + src/dsp/filters \ + src/dsp/lossless \ + src/dsp/rescaler \ + src/dsp/upsampling \ + src/dsp/yuv + +WEBPDSPFILES += \ + src/dsp/cost \ + src/dsp/enc \ + src/dsp/lossless_enc \ + src/dsp/ssim + + +# assign and generate the local variables used in this macro +datatypes-webp-linklibs-webpdsp_LIBNAME := webpdsp +datatypes-webp-linklibs-webpdsp_LINKLIB := $(GENDIR)/$(CURDIR)/lib/libwebpdsp.a + +datatypes-webp-linklibs-webpdsp_FILES ?= $(WEBPDSPFILES) +datatypes-webp-linklibs-webpdsp_ASMFILES := +datatypes-webp-linklibs-webpdsp_OBJCFILES := +datatypes-webp-linklibs-webpdsp_CXXFILES := + +datatypes-webp-linklibs-webpdsp_OBJDIR ?= $(GENDIR)/$(CURDIR)/webpdsp +datatypes-webp-linklibs-webpdsp_ARCHOBJS := $(wildcard $(datatypes-webp-linklibs-webpdsp_OBJDIR)/arch/*.o) +ifeq (no,no) + datatypes-webp-linklibs-webpdsp_ARCHFILES := $(basename $(notdir $(datatypes-webp-linklibs-webpdsp_ARCHOBJS))) +else + datatypes-webp-linklibs-webpdsp_ARCHFILES := $(basename $(patsubst $(datatypes-webp-linklibs-webpdsp_OBJDIR)/%,%,$(datatypes-webp-linklibs-webpdsp_ARCHOBJS))) +endif +datatypes-webp-linklibs-webpdsp_C_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpdsp_ARCHFILES),$(datatypes-webp-linklibs-webpdsp_FILES)) +datatypes-webp-linklibs-webpdsp_C_FILES ?= $(datatypes-webp-linklibs-webpdsp_C_NARCHFILES) +datatypes-webp-linklibs-webpdsp_CXX_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpdsp_ARCHFILES),$(datatypes-webp-linklibs-webpdsp_CXXFILES)) +datatypes-webp-linklibs-webpdsp_CXX_FILES ?= $(datatypes-webp-linklibs-webpdsp_CXX_NARCHFILES) +datatypes-webp-linklibs-webpdsp_OBJC_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpdsp_ARCHFILES),$(datatypes-webp-linklibs-webpdsp_OBJCFILES)) +datatypes-webp-linklibs-webpdsp_OBJC_FILES ?= $(datatypes-webp-linklibs-webpdsp_OBJC_NARCHFILES) + +ifeq (no,no) + datatypes-webp-linklibs-webpdsp_OBJ_FILES ?= $(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdsp_C_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpdsp_CXX_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpdsp_ASMFILES:=.o) $(datatypes-webp-linklibs-webpdsp_OBJC_NARCHFILES:=.o))) +else + datatypes-webp-linklibs-webpdsp_OBJ_FILES ?= $(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(datatypes-webp-linklibs-webpdsp_C_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpdsp_CXX_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpdsp_ASMFILES:=.o) $(datatypes-webp-linklibs-webpdsp_OBJC_NARCHFILES:=.o)) +endif +datatypes-webp-linklibs-webpdsp_OBJS ?= $(datatypes-webp-linklibs-webpdsp_ARCHOBJS) $(datatypes-webp-linklibs-webpdsp_OBJ_FILES) +datatypes-webp-linklibs-webpdsp_DEPS := $(patsubst %.o,%.d,$(datatypes-webp-linklibs-webpdsp_OBJS)) + +datatypes-webp-linklibs-webpdsp_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + datatypes-webp-linklibs-webpdsp_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +datatypes-webp-linklibs-webpdsp_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpdsp_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpdsp_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +datatypes-webp-linklibs-webpdsp_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +datatypes-webp-linklibs-webpdsp_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + datatypes-webp-linklibs-webpdsp_CFLAGS := $(strip $(LTO_CFLAGS) $(datatypes-webp-linklibs-webpdsp_CFLAGS)) + datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(strip $(LTO_CFLAGS) $(datatypes-webp-linklibs-webpdsp_CXXFLAGS)) +endif +endif +datatypes-webp-linklibs-webpdsp_AFLAGS := $(AFLAGS) +datatypes-webp-linklibs-webpdsp_DFLAGS := +ifneq (,) + datatypes-webp-linklibs-webpdsp_DFLAGS := +else + datatypes-webp-linklibs-webpdsp_DFLAGS := $(datatypes-webp-linklibs-webpdsp_CFLAGS) +endif +datatypes-webp-linklibs-webpdsp_DXXFLAGS := +ifneq (,) + datatypes-webp-linklibs-webpdsp_DXXFLAGS := +else + datatypes-webp-linklibs-webpdsp_DXXFLAGS := $(datatypes-webp-linklibs-webpdsp_CXXFLAGS) +endif + +.PHONY : datatypes-webp-linklibs-webpdsp datatypes-webp-linklibs-webpdsp-clean datatypes-webp-linklibs-webpdsp-quick + +#MM +datatypes-webp-linklibs-webpdsp-quick : datatypes-webp-linklibs-webpdsp + +#MM datatypes-webp-linklibs-webpdsp : includes-generate-deps +datatypes-webp-linklibs-webpdsp : $(datatypes-webp-linklibs-webpdsp_LINKLIB) + +ifneq ($(filter $(TARGET),datatypes-webp-linklibs-webpdsp datatypes-webp-linklibs-webpdsp-quick),) + + +datatypes-webp-linklibs-webpdsp_CXXABSBASENAMES := $(foreach datatypes-webp-linklibs-webpdsp_CXXBASE,$(datatypes-webp-linklibs-webpdsp_CXX_FILES),$(if $(filter /%,$(datatypes-webp-linklibs-webpdsp_CXXBASE)),$(datatypes-webp-linklibs-webpdsp_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(datatypes-webp-linklibs-webpdsp_CXXBASE)))) + +ifneq ($(datatypes-webp-linklibs-webpdsp_CXXABSBASENAMES),) + +datatypes-webp-linklibs-webpdsp_CXXBASENAMES := $(basename $(datatypes-webp-linklibs-webpdsp_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +datatypes-webp-linklibs-webpdsp_MCXX_FILES := $(strip $(foreach datatypes-webp-linklibs-webpdsp_CXXBASE,$(datatypes-webp-linklibs-webpdsp_CXXABSBASENAMES), $(firstword $(wildcard $(foreach datatypes-webp-linklibs-webpdsp_EXT, $(AROS_CXXEXTS),$(addsuffix .$(datatypes-webp-linklibs-webpdsp_EXT),$(datatypes-webp-linklibs-webpdsp_CXXBASE))))))) + +ifeq (,) +datatypes-webp-linklibs-webpdsp_MCXX_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpdsp_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpdsp_OBJDIR),) + datatypes-webp-linklibs-webpdsp_CXXTARGETS := $(notdir $(datatypes-webp-linklibs-webpdsp_CXXBASENAMES:=.o)) + datatypes-webp-linklibs-webpdsp_CXXDTARGETS := $(notdir $(datatypes-webp-linklibs-webpdsp_CXXBASENAMES:=.d)) + datatypes-webp-linklibs-webpdsp_MCXX_WILDCARD := % +else + datatypes-webp-linklibs-webpdsp_CXXTARGETS := $(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdsp_CXXBASENAMES:=.o))) + datatypes-webp-linklibs-webpdsp_CXXDTARGETS := $(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdsp_CXXBASENAMES:=.d))) + datatypes-webp-linklibs-webpdsp_MCXX_WILDCARD := $(datatypes-webp-linklibs-webpdsp_OBJDIR)/% + + # Be sure that all source files are generated + $(datatypes-webp-linklibs-webpdsp_CXXTARGETS) $(datatypes-webp-linklibs-webpdsp_CXXDTARGETS) : | $(datatypes-webp-linklibs-webpdsp_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS := $(datatypes-webp-linklibs-webpdsp_CPPFLAGS) +datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(datatypes-webp-linklibs-webpdsp_CXXFLAGS) +ifeq ($(datatypes-webp-linklibs-webpdsp_DXXFLAGS),) + datatypes-webp-linklibs-webpdsp_DXXFLAGS := $(datatypes-webp-linklibs-webpdsp_CXXFLAGS) +else + datatypes-webp-linklibs-webpdsp_DXXFLAGS := $(datatypes-webp-linklibs-webpdsp_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + datatypes-webp-linklibs-webpdsp_STRIP ?= $(HOST_STRIP) + datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + datatypes-webp-linklibs-webpdsp_CXXCMD:=$(HOST_CXX) + datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(datatypes-webp-linklibs-webpdsp_CXXFLAGS)) + datatypes-webp-linklibs-webpdsp_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(datatypes-webp-linklibs-webpdsp_DXXFLAGS)) + datatypes-webp-linklibs-webpdsp_CXXIQUOTE:=$(HOST_IQUOTE) + datatypes-webp-linklibs-webpdsp_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + datatypes-webp-linklibs-webpdsp_STRIP ?= $(TARGET_STRIP) + datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + datatypes-webp-linklibs-webpdsp_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS := $(strip $(datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(strip $(datatypes-webp-linklibs-webpdsp_CXXFLAGS) $(SAFETY_CFLAGS)) + datatypes-webp-linklibs-webpdsp_DXXFLAGS := $(datatypes-webp-linklibs-webpdsp_DXXFLAGS) + datatypes-webp-linklibs-webpdsp_CXXIQUOTE:=$(CFLAGS_IQUOTE) + datatypes-webp-linklibs-webpdsp_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + datatypes-webp-linklibs-webpdsp_STRIP ?= $(ECHO) >/dev/null + datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + datatypes-webp-linklibs-webpdsp_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpdsp_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(datatypes-webp-linklibs-webpdsp_CXXFLAGS)) + datatypes-webp-linklibs-webpdsp_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(datatypes-webp-linklibs-webpdsp_DXXFLAGS)) + datatypes-webp-linklibs-webpdsp_CXXIQUOTE:=$(KERNEL_IQUOTE) + datatypes-webp-linklibs-webpdsp_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(datatypes-webp-linklibs-webpdsp_CXXCMD) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) . $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpdsp_CXXFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(datatypes-webp-linklibs-webpdsp_CXXCMD) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) . $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpdsp_CXXFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(datatypes-webp-linklibs-webpdsp_CXXCMD) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE) . $(datatypes-webp-linklibs-webpdsp_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpdsp_CXXFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(datatypes-webp-linklibs-webpdsp_CXXCMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpdsp_DXXFLAGS) $(datatypes-webp-linklibs-webpdsp_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(datatypes-webp-linklibs-webpdsp_OBJDIR),) + $(foreach datatypes-webp-linklibs-webpdsp_CXXFILE,$(datatypes-webp-linklibs-webpdsp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(datatypes-webp-linklibs-webpdsp_CXXFILE))),$(datatypes-webp-linklibs-webpdsp_CXXFILE)))) +else + $(foreach datatypes-webp-linklibs-webpdsp_CXXFILE,$(datatypes-webp-linklibs-webpdsp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(notdir $(basename $(datatypes-webp-linklibs-webpdsp_CXXFILE)))),$(datatypes-webp-linklibs-webpdsp_CXXFILE)))) +endif + +endif + + +ifneq ($(datatypes-webp-linklibs-webpdsp_OBJC_FILES),) + +ifeq (,) +datatypes-webp-linklibs-webpdsp_MOBJC_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpdsp_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpdsp_OBJDIR),) + datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpdsp_OBJC_FILES)) + datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS := $(addsuffix .d,$(datatypes-webp-linklibs-webpdsp_OBJC_FILES)) + datatypes-webp-linklibs-webpdsp_MOBJC_WILDCARD := % +else + datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(datatypes-webp-linklibs-webpdsp_OBJC_FILES))) + datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(datatypes-webp-linklibs-webpdsp_OBJC_FILES))) + datatypes-webp-linklibs-webpdsp_MOBJC_WILDCARD := $(datatypes-webp-linklibs-webpdsp_OBJDIR)/% + + # Be sure that all .m files are generated + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : | $(addsuffix .m,$(datatypes-webp-linklibs-webpdsp_OBJC_FILES)) + + # Be sure that all .m files are found + datatypes-webp-linklibs-webpdsp_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + datatypes-webp-linklibs-webpdsp_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpdsp_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + datatypes-webp-linklibs-webpdsp_MOBJC_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpdsp_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpdsp_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(datatypes-webp-linklibs-webpdsp_MOBJC_DIRS),) + datatypes-webp-linklibs-webpdsp_MOBJC_DIRS := $(shell echo $(datatypes-webp-linklibs-webpdsp_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(datatypes-webp-linklibs-webpdsp_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + datatypes-webp-linklibs-webpdsp_CC := $(TARGET_CC) +else + datatypes-webp-linklibs-webpdsp_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS := $(datatypes-webp-linklibs-webpdsp_CPPFLAGS) +datatypes-webp-linklibs-webpdsp_OBJCFLAGS := $(datatypes-webp-linklibs-webpdsp_CFLAGS) +datatypes-webp-linklibs-webpdsp_OBJCFLAGS := $(datatypes-webp-linklibs-webpdsp_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +datatypes-webp-linklibs-webpdsp_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(datatypes-webp-linklibs-webpdsp_OBJCFLAGS))) +ifeq ($(datatypes-webp-linklibs-webpdsp_DFLAGS),) + datatypes-webp-linklibs-webpdsp_OBJCDFLAGS := $(datatypes-webp-linklibs-webpdsp_CFLAGS) +else + datatypes-webp-linklibs-webpdsp_OBJCDFLAGS := $(datatypes-webp-linklibs-webpdsp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(datatypes-webp-linklibs-webpdsp_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + datatypes-webp-linklibs-webpdsp_STRIP ?= $(TARGET_STRIP) + datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : CMD:=$(strip $(datatypes-webp-linklibs-webpdsp_CC) $(TARGET_SYSROOT)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS:=$(strip $(datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_OBJCFLAGS:=$(strip $(datatypes-webp-linklibs-webpdsp_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_OBJCDFLAGS:=$(datatypes-webp-linklibs-webpdsp_OBJCDFLAGS) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE:=$(CFLAGS_IQUOTE) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + datatypes-webp-linklibs-webpdsp_STRIP ?= $(HOST_STRIP) + datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpdsp_OBJCFLAGS)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpdsp_OBJCDFLAGS)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE:=$(HOST_IQUOTE) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + datatypes-webp-linklibs-webpdsp_STRIP ?= $(ECHO) >/dev/null + datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpdsp_OBJCFLAGS)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpdsp_OBJCDFLAGS)) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE:=$(KERNEL_IQUOTE) + $(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS) +$(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) : CFLAGS := $(datatypes-webp-linklibs-webpdsp_OBJCFLAGS) +$(datatypes-webp-linklibs-webpdsp_MOBJC_TARGETS) : $(datatypes-webp-linklibs-webpdsp_MOBJC_WILDCARD).o : $(datatypes-webp-linklibs-webpdsp_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_IQUOTE) . $(datatypes-webp-linklibs-webpdsp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_IQUOTE) . $(datatypes-webp-linklibs-webpdsp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_IQUOTE) . $(datatypes-webp-linklibs-webpdsp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(datatypes-webp-linklibs-webpdsp_MOBJC_DTARGETS) : $(datatypes-webp-linklibs-webpdsp_MOBJC_WILDCARD).d : $(datatypes-webp-linklibs-webpdsp_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpdsp_OBJCDFLAGS) $(datatypes-webp-linklibs-webpdsp_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +datatypes-webp-linklibs-webpdsp_MC_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpdsp_MC_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpdsp_OBJDIR),) +datatypes-webp-linklibs-webpdsp_MC_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpdsp_C_FILES)) +datatypes-webp-linklibs-webpdsp_MC_DTARGETS := $(addsuffix .d,$(datatypes-webp-linklibs-webpdsp_C_FILES)) +datatypes-webp-linklibs-webpdsp_MC_TGTWILDCARD := % +else +ifeq (no,no) + datatypes-webp-linklibs-webpdsp_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdsp_C_FILES)))) + datatypes-webp-linklibs-webpdsp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdsp_C_FILES)))) +else +ifeq (,) + datatypes-webp-linklibs-webpdsp_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(datatypes-webp-linklibs-webpdsp_C_FILES))) + datatypes-webp-linklibs-webpdsp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(datatypes-webp-linklibs-webpdsp_C_FILES))) +else + datatypes-webp-linklibs-webpdsp_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(patsubst /%,%,$(datatypes-webp-linklibs-webpdsp_C_FILES)))) + datatypes-webp-linklibs-webpdsp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(patsubst /%,%,$(datatypes-webp-linklibs-webpdsp_C_FILES)))) +endif +endif +datatypes-webp-linklibs-webpdsp_MC_TGTWILDCARD := $(datatypes-webp-linklibs-webpdsp_OBJDIR)/% + +# Be sure that all .c files are generated +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : | $(addsuffix .c,$(datatypes-webp-linklibs-webpdsp_C_FILES)) + +# Be sure that all .c files are found +datatypes-webp-linklibs-webpdsp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +datatypes-webp-linklibs-webpdsp_MC_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpdsp_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +datatypes-webp-linklibs-webpdsp_MC_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpdsp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpdsp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(datatypes-webp-linklibs-webpdsp_MC_DIRS),) + datatypes-webp-linklibs-webpdsp_MC_DIRS := $(shell echo $(datatypes-webp-linklibs-webpdsp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(datatypes-webp-linklibs-webpdsp_MC_DIRS) +endif + +endif + +datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS := $(datatypes-webp-linklibs-webpdsp_CPPFLAGS) +datatypes-webp-linklibs-webpdsp_CFLAGS := $(datatypes-webp-linklibs-webpdsp_CFLAGS) +ifeq ($(datatypes-webp-linklibs-webpdsp_DFLAGS),) + datatypes-webp-linklibs-webpdsp_DFLAGS := $(datatypes-webp-linklibs-webpdsp_CFLAGS) +else + datatypes-webp-linklibs-webpdsp_DFLAGS := $(datatypes-webp-linklibs-webpdsp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +datatypes-webp-linklibs-webpdsp_STRIP ?= $(TARGET_STRIP) +datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS:=$(strip $(datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_CFLAGS:=$(strip $(datatypes-webp-linklibs-webpdsp_CFLAGS) $(SAFETY_CFLAGS)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_DFLAGS:=$(datatypes-webp-linklibs-webpdsp_DFLAGS) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE:=$(CFLAGS_IQUOTE) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +datatypes-webp-linklibs-webpdsp_STRIP ?= $(HOST_STRIP) +datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_CFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpdsp_CFLAGS)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_DFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpdsp_DFLAGS)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE:=$(HOST_IQUOTE) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpdsp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +datatypes-webp-linklibs-webpdsp_STRIP ?= $(ECHO) >/dev/null +datatypes-webp-linklibs-webpdsp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdsp_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpdsp_CFLAGS)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpdsp_DFLAGS)) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE:=$(KERNEL_IQUOTE) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) $(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : datatypes-webp-linklibs-webpdsp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) : CFLAGS := $(datatypes-webp-linklibs-webpdsp_CFLAGS) +$(datatypes-webp-linklibs-webpdsp_MC_TARGETS) : $(datatypes-webp-linklibs-webpdsp_MC_TGTWILDCARD).o : $(datatypes-webp-linklibs-webpdsp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_IQUOTE) . $(datatypes-webp-linklibs-webpdsp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_IQUOTE) . $(datatypes-webp-linklibs-webpdsp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdsp_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdsp_IQUOTE) . $(datatypes-webp-linklibs-webpdsp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(datatypes-webp-linklibs-webpdsp_MC_DTARGETS) : $(datatypes-webp-linklibs-webpdsp_MC_TGTWILDCARD).d : $(datatypes-webp-linklibs-webpdsp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpdsp_DFLAGS) $(datatypes-webp-linklibs-webpdsp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(datatypes-webp-linklibs-webpdsp_OBJDIR),) +datatypes-webp-linklibs-webpdsp-MA_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpdsp_ASMFILES)) +datatypes-webp-linklibs-webpdsp-MA_WILDCARD := % +else +datatypes-webp-linklibs-webpdsp-MA_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdsp_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdsp_ASMFILES)))) +datatypes-webp-linklibs-webpdsp-MA_WILDCARD := $(datatypes-webp-linklibs-webpdsp_OBJDIR)/% + +# Be sure that all .s files are generated +$(datatypes-webp-linklibs-webpdsp-MA_TARGETS) : | $(addsuffix .s,$(datatypes-webp-linklibs-webpdsp_ASMFILES)) + +# Be sure that all .c files are found +datatypes-webp-linklibs-webpdsp-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +datatypes-webp-linklibs-webpdsp-MA_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpdsp_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +datatypes-webp-linklibs-webpdsp-MA_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpdsp-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpdsp-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(datatypes-webp-linklibs-webpdsp-MA_DIRS),) + datatypes-webp-linklibs-webpdsp-MA_DIRS := $(shell echo $(datatypes-webp-linklibs-webpdsp-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(datatypes-webp-linklibs-webpdsp-MA_DIRS) +endif + +endif + +datatypes-webp-linklibs-webpdsp-MA_ASSEMBLER ?= $(datatypes-webp-linklibs-webpdsp_ASSEMBLER) + +$(datatypes-webp-linklibs-webpdsp-MA_TARGETS) : datatypes-webp-linklibs-webpdsp-MA_CMD:= $(datatypes-webp-linklibs-webpdsp-MA_ASSEMBLER) + +$(datatypes-webp-linklibs-webpdsp-MA_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpdsp_CPPFLAGS) +$(datatypes-webp-linklibs-webpdsp-MA_TARGETS) : AFLAGS := $(datatypes-webp-linklibs-webpdsp_AFLAGS) +$(datatypes-webp-linklibs-webpdsp-MA_TARGETS) : $(datatypes-webp-linklibs-webpdsp-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(datatypes-webp-linklibs-webpdsp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(datatypes-webp-linklibs-webpdsp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(datatypes-webp-linklibs-webpdsp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(GENDIR)/$(CURDIR)/lib/libwebpdsp.a : datatypes-webp-linklibs-webpdsp_AR:=$(AR) +$(GENDIR)/$(CURDIR)/lib/libwebpdsp.a : datatypes-webp-linklibs-webpdsp_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(GENDIR)/$(CURDIR)/lib/libwebpdsp.a : datatypes-webp-linklibs-webpdsp_AR:=$(HOST_AR) +$(GENDIR)/$(CURDIR)/lib/libwebpdsp.a : datatypes-webp-linklibs-webpdsp_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(GENDIR)/$(CURDIR)/lib/libwebpdsp.a : datatypes-webp-linklibs-webpdsp_AR:=$(KERNEL_AR) +$(GENDIR)/$(CURDIR)/lib/libwebpdsp.a : datatypes-webp-linklibs-webpdsp_RANLIB:=$(KERNEL_RANLIB) +endif + +$(GENDIR)/$(CURDIR)/lib/libwebpdsp.a : $(datatypes-webp-linklibs-webpdsp_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(datatypes-webp-linklibs-webpdsp_AR) $@ $^ + $(Q)$(datatypes-webp-linklibs-webpdsp_RANLIB) $@ +endif + +ifneq ($(datatypes-webp-linklibs-webpdsp_DEPS),) + ifneq (datatypes-webp-linklibs-webpdsp datatypes-webp-linklibs-webpdsp-quick,) + ifneq ($(findstring $(TARGET),datatypes-webp-linklibs-webpdsp datatypes-webp-linklibs-webpdsp-quick),) + -include $(datatypes-webp-linklibs-webpdsp_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(datatypes-webp-linklibs-webpdsp_DEPS) + endif + endif +endif + + + +ifneq ($(datatypes-webp-linklibs-webpdsp_OBJS) $(datatypes-webp-linklibs-webpdsp_DEPS) $(datatypes-webp-linklibs-webpdsp_LINKLIB),) +$(datatypes-webp-linklibs-webpdsp_OBJS) $(datatypes-webp-linklibs-webpdsp_DEPS) $(datatypes-webp-linklibs-webpdsp_LINKLIB) : | $(datatypes-webp-linklibs-webpdsp_OBJDIR) $(GENDIR)/$(CURDIR)/lib +else +$(datatypes-webp-linklibs-webpdsp_OBJS) $(datatypes-webp-linklibs-webpdsp_DEPS) $(datatypes-webp-linklibs-webpdsp_LINKLIB) :: $(datatypes-webp-linklibs-webpdsp_OBJDIR) $(GENDIR)/$(CURDIR)/lib +endif + +GLOB_MKDIRS += $(datatypes-webp-linklibs-webpdsp_OBJDIR) $(GENDIR)/$(CURDIR)/lib + + +datatypes-webp-linklibs-webpdsp-clean : FILES := $(datatypes-webp-linklibs-webpdsp_OBJS) $(datatypes-webp-linklibs-webpdsp_LINKLIB) $(datatypes-webp-linklibs-webpdsp_DEPS) +#MM +datatypes-webp-linklibs-webpdsp-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget datatypes-webp-linklibs-webpdsp" + $(Q)$(RM) $(FILES) + + +WEBPDECODEFILES := \ + src/dec/alpha_dec \ + src/dec/buffer_dec \ + src/dec/frame_dec \ + src/dec/idec_dec \ + src/dec/io_dec \ + src/dec/quant_dec \ + src/dec/tree_dec \ + src/dec/vp8_dec \ + src/dec/vp8l_dec \ + src/dec/webp_dec + + +# assign and generate the local variables used in this macro +datatypes-webp-linklibs-webpdecode_LIBNAME := webpdecode +datatypes-webp-linklibs-webpdecode_LINKLIB := $(GENDIR)/$(CURDIR)/lib/libwebpdecode.a + +datatypes-webp-linklibs-webpdecode_FILES ?= $(WEBPDECODEFILES) +datatypes-webp-linklibs-webpdecode_ASMFILES := +datatypes-webp-linklibs-webpdecode_OBJCFILES := +datatypes-webp-linklibs-webpdecode_CXXFILES := + +datatypes-webp-linklibs-webpdecode_OBJDIR ?= $(GENDIR)/$(CURDIR)/webpdecode +datatypes-webp-linklibs-webpdecode_ARCHOBJS := $(wildcard $(datatypes-webp-linklibs-webpdecode_OBJDIR)/arch/*.o) +ifeq (no,no) + datatypes-webp-linklibs-webpdecode_ARCHFILES := $(basename $(notdir $(datatypes-webp-linklibs-webpdecode_ARCHOBJS))) +else + datatypes-webp-linklibs-webpdecode_ARCHFILES := $(basename $(patsubst $(datatypes-webp-linklibs-webpdecode_OBJDIR)/%,%,$(datatypes-webp-linklibs-webpdecode_ARCHOBJS))) +endif +datatypes-webp-linklibs-webpdecode_C_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpdecode_ARCHFILES),$(datatypes-webp-linklibs-webpdecode_FILES)) +datatypes-webp-linklibs-webpdecode_C_FILES ?= $(datatypes-webp-linklibs-webpdecode_C_NARCHFILES) +datatypes-webp-linklibs-webpdecode_CXX_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpdecode_ARCHFILES),$(datatypes-webp-linklibs-webpdecode_CXXFILES)) +datatypes-webp-linklibs-webpdecode_CXX_FILES ?= $(datatypes-webp-linklibs-webpdecode_CXX_NARCHFILES) +datatypes-webp-linklibs-webpdecode_OBJC_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpdecode_ARCHFILES),$(datatypes-webp-linklibs-webpdecode_OBJCFILES)) +datatypes-webp-linklibs-webpdecode_OBJC_FILES ?= $(datatypes-webp-linklibs-webpdecode_OBJC_NARCHFILES) + +ifeq (no,no) + datatypes-webp-linklibs-webpdecode_OBJ_FILES ?= $(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdecode_C_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpdecode_CXX_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpdecode_ASMFILES:=.o) $(datatypes-webp-linklibs-webpdecode_OBJC_NARCHFILES:=.o))) +else + datatypes-webp-linklibs-webpdecode_OBJ_FILES ?= $(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(datatypes-webp-linklibs-webpdecode_C_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpdecode_CXX_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpdecode_ASMFILES:=.o) $(datatypes-webp-linklibs-webpdecode_OBJC_NARCHFILES:=.o)) +endif +datatypes-webp-linklibs-webpdecode_OBJS ?= $(datatypes-webp-linklibs-webpdecode_ARCHOBJS) $(datatypes-webp-linklibs-webpdecode_OBJ_FILES) +datatypes-webp-linklibs-webpdecode_DEPS := $(patsubst %.o,%.d,$(datatypes-webp-linklibs-webpdecode_OBJS)) + +datatypes-webp-linklibs-webpdecode_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + datatypes-webp-linklibs-webpdecode_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +datatypes-webp-linklibs-webpdecode_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpdecode_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpdecode_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +datatypes-webp-linklibs-webpdecode_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +datatypes-webp-linklibs-webpdecode_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + datatypes-webp-linklibs-webpdecode_CFLAGS := $(strip $(LTO_CFLAGS) $(datatypes-webp-linklibs-webpdecode_CFLAGS)) + datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(strip $(LTO_CFLAGS) $(datatypes-webp-linklibs-webpdecode_CXXFLAGS)) +endif +endif +datatypes-webp-linklibs-webpdecode_AFLAGS := $(AFLAGS) +datatypes-webp-linklibs-webpdecode_DFLAGS := +ifneq (,) + datatypes-webp-linklibs-webpdecode_DFLAGS := +else + datatypes-webp-linklibs-webpdecode_DFLAGS := $(datatypes-webp-linklibs-webpdecode_CFLAGS) +endif +datatypes-webp-linklibs-webpdecode_DXXFLAGS := +ifneq (,) + datatypes-webp-linklibs-webpdecode_DXXFLAGS := +else + datatypes-webp-linklibs-webpdecode_DXXFLAGS := $(datatypes-webp-linklibs-webpdecode_CXXFLAGS) +endif + +.PHONY : datatypes-webp-linklibs-webpdecode datatypes-webp-linklibs-webpdecode-clean datatypes-webp-linklibs-webpdecode-quick + +#MM +datatypes-webp-linklibs-webpdecode-quick : datatypes-webp-linklibs-webpdecode + +#MM datatypes-webp-linklibs-webpdecode : includes-generate-deps +datatypes-webp-linklibs-webpdecode : $(datatypes-webp-linklibs-webpdecode_LINKLIB) + +ifneq ($(filter $(TARGET),datatypes-webp-linklibs-webpdecode datatypes-webp-linklibs-webpdecode-quick),) + + +datatypes-webp-linklibs-webpdecode_CXXABSBASENAMES := $(foreach datatypes-webp-linklibs-webpdecode_CXXBASE,$(datatypes-webp-linklibs-webpdecode_CXX_FILES),$(if $(filter /%,$(datatypes-webp-linklibs-webpdecode_CXXBASE)),$(datatypes-webp-linklibs-webpdecode_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(datatypes-webp-linklibs-webpdecode_CXXBASE)))) + +ifneq ($(datatypes-webp-linklibs-webpdecode_CXXABSBASENAMES),) + +datatypes-webp-linklibs-webpdecode_CXXBASENAMES := $(basename $(datatypes-webp-linklibs-webpdecode_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +datatypes-webp-linklibs-webpdecode_MCXX_FILES := $(strip $(foreach datatypes-webp-linklibs-webpdecode_CXXBASE,$(datatypes-webp-linklibs-webpdecode_CXXABSBASENAMES), $(firstword $(wildcard $(foreach datatypes-webp-linklibs-webpdecode_EXT, $(AROS_CXXEXTS),$(addsuffix .$(datatypes-webp-linklibs-webpdecode_EXT),$(datatypes-webp-linklibs-webpdecode_CXXBASE))))))) + +ifeq (,) +datatypes-webp-linklibs-webpdecode_MCXX_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpdecode_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpdecode_OBJDIR),) + datatypes-webp-linklibs-webpdecode_CXXTARGETS := $(notdir $(datatypes-webp-linklibs-webpdecode_CXXBASENAMES:=.o)) + datatypes-webp-linklibs-webpdecode_CXXDTARGETS := $(notdir $(datatypes-webp-linklibs-webpdecode_CXXBASENAMES:=.d)) + datatypes-webp-linklibs-webpdecode_MCXX_WILDCARD := % +else + datatypes-webp-linklibs-webpdecode_CXXTARGETS := $(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdecode_CXXBASENAMES:=.o))) + datatypes-webp-linklibs-webpdecode_CXXDTARGETS := $(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdecode_CXXBASENAMES:=.d))) + datatypes-webp-linklibs-webpdecode_MCXX_WILDCARD := $(datatypes-webp-linklibs-webpdecode_OBJDIR)/% + + # Be sure that all source files are generated + $(datatypes-webp-linklibs-webpdecode_CXXTARGETS) $(datatypes-webp-linklibs-webpdecode_CXXDTARGETS) : | $(datatypes-webp-linklibs-webpdecode_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS := $(datatypes-webp-linklibs-webpdecode_CPPFLAGS) +datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(datatypes-webp-linklibs-webpdecode_CXXFLAGS) +ifeq ($(datatypes-webp-linklibs-webpdecode_DXXFLAGS),) + datatypes-webp-linklibs-webpdecode_DXXFLAGS := $(datatypes-webp-linklibs-webpdecode_CXXFLAGS) +else + datatypes-webp-linklibs-webpdecode_DXXFLAGS := $(datatypes-webp-linklibs-webpdecode_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + datatypes-webp-linklibs-webpdecode_STRIP ?= $(HOST_STRIP) + datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + datatypes-webp-linklibs-webpdecode_CXXCMD:=$(HOST_CXX) + datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(datatypes-webp-linklibs-webpdecode_CXXFLAGS)) + datatypes-webp-linklibs-webpdecode_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(datatypes-webp-linklibs-webpdecode_DXXFLAGS)) + datatypes-webp-linklibs-webpdecode_CXXIQUOTE:=$(HOST_IQUOTE) + datatypes-webp-linklibs-webpdecode_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + datatypes-webp-linklibs-webpdecode_STRIP ?= $(TARGET_STRIP) + datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + datatypes-webp-linklibs-webpdecode_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS := $(strip $(datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(strip $(datatypes-webp-linklibs-webpdecode_CXXFLAGS) $(SAFETY_CFLAGS)) + datatypes-webp-linklibs-webpdecode_DXXFLAGS := $(datatypes-webp-linklibs-webpdecode_DXXFLAGS) + datatypes-webp-linklibs-webpdecode_CXXIQUOTE:=$(CFLAGS_IQUOTE) + datatypes-webp-linklibs-webpdecode_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + datatypes-webp-linklibs-webpdecode_STRIP ?= $(ECHO) >/dev/null + datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + datatypes-webp-linklibs-webpdecode_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpdecode_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(datatypes-webp-linklibs-webpdecode_CXXFLAGS)) + datatypes-webp-linklibs-webpdecode_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(datatypes-webp-linklibs-webpdecode_DXXFLAGS)) + datatypes-webp-linklibs-webpdecode_CXXIQUOTE:=$(KERNEL_IQUOTE) + datatypes-webp-linklibs-webpdecode_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(datatypes-webp-linklibs-webpdecode_CXXCMD) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) . $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpdecode_CXXFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(datatypes-webp-linklibs-webpdecode_CXXCMD) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) . $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpdecode_CXXFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(datatypes-webp-linklibs-webpdecode_CXXCMD) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE) . $(datatypes-webp-linklibs-webpdecode_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpdecode_CXXFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(datatypes-webp-linklibs-webpdecode_CXXCMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpdecode_DXXFLAGS) $(datatypes-webp-linklibs-webpdecode_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(datatypes-webp-linklibs-webpdecode_OBJDIR),) + $(foreach datatypes-webp-linklibs-webpdecode_CXXFILE,$(datatypes-webp-linklibs-webpdecode_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(datatypes-webp-linklibs-webpdecode_CXXFILE))),$(datatypes-webp-linklibs-webpdecode_CXXFILE)))) +else + $(foreach datatypes-webp-linklibs-webpdecode_CXXFILE,$(datatypes-webp-linklibs-webpdecode_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(notdir $(basename $(datatypes-webp-linklibs-webpdecode_CXXFILE)))),$(datatypes-webp-linklibs-webpdecode_CXXFILE)))) +endif + +endif + + +ifneq ($(datatypes-webp-linklibs-webpdecode_OBJC_FILES),) + +ifeq (,) +datatypes-webp-linklibs-webpdecode_MOBJC_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpdecode_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpdecode_OBJDIR),) + datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpdecode_OBJC_FILES)) + datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS := $(addsuffix .d,$(datatypes-webp-linklibs-webpdecode_OBJC_FILES)) + datatypes-webp-linklibs-webpdecode_MOBJC_WILDCARD := % +else + datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(datatypes-webp-linklibs-webpdecode_OBJC_FILES))) + datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(datatypes-webp-linklibs-webpdecode_OBJC_FILES))) + datatypes-webp-linklibs-webpdecode_MOBJC_WILDCARD := $(datatypes-webp-linklibs-webpdecode_OBJDIR)/% + + # Be sure that all .m files are generated + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : | $(addsuffix .m,$(datatypes-webp-linklibs-webpdecode_OBJC_FILES)) + + # Be sure that all .m files are found + datatypes-webp-linklibs-webpdecode_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + datatypes-webp-linklibs-webpdecode_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpdecode_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + datatypes-webp-linklibs-webpdecode_MOBJC_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpdecode_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpdecode_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(datatypes-webp-linklibs-webpdecode_MOBJC_DIRS),) + datatypes-webp-linklibs-webpdecode_MOBJC_DIRS := $(shell echo $(datatypes-webp-linklibs-webpdecode_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(datatypes-webp-linklibs-webpdecode_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + datatypes-webp-linklibs-webpdecode_CC := $(TARGET_CC) +else + datatypes-webp-linklibs-webpdecode_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS := $(datatypes-webp-linklibs-webpdecode_CPPFLAGS) +datatypes-webp-linklibs-webpdecode_OBJCFLAGS := $(datatypes-webp-linklibs-webpdecode_CFLAGS) +datatypes-webp-linklibs-webpdecode_OBJCFLAGS := $(datatypes-webp-linklibs-webpdecode_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +datatypes-webp-linklibs-webpdecode_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(datatypes-webp-linklibs-webpdecode_OBJCFLAGS))) +ifeq ($(datatypes-webp-linklibs-webpdecode_DFLAGS),) + datatypes-webp-linklibs-webpdecode_OBJCDFLAGS := $(datatypes-webp-linklibs-webpdecode_CFLAGS) +else + datatypes-webp-linklibs-webpdecode_OBJCDFLAGS := $(datatypes-webp-linklibs-webpdecode_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(datatypes-webp-linklibs-webpdecode_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + datatypes-webp-linklibs-webpdecode_STRIP ?= $(TARGET_STRIP) + datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : CMD:=$(strip $(datatypes-webp-linklibs-webpdecode_CC) $(TARGET_SYSROOT)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS:=$(strip $(datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_OBJCFLAGS:=$(strip $(datatypes-webp-linklibs-webpdecode_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_OBJCDFLAGS:=$(datatypes-webp-linklibs-webpdecode_OBJCDFLAGS) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE:=$(CFLAGS_IQUOTE) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + datatypes-webp-linklibs-webpdecode_STRIP ?= $(HOST_STRIP) + datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpdecode_OBJCFLAGS)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpdecode_OBJCDFLAGS)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE:=$(HOST_IQUOTE) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + datatypes-webp-linklibs-webpdecode_STRIP ?= $(ECHO) >/dev/null + datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpdecode_OBJCFLAGS)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpdecode_OBJCDFLAGS)) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE:=$(KERNEL_IQUOTE) + $(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS) +$(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) : CFLAGS := $(datatypes-webp-linklibs-webpdecode_OBJCFLAGS) +$(datatypes-webp-linklibs-webpdecode_MOBJC_TARGETS) : $(datatypes-webp-linklibs-webpdecode_MOBJC_WILDCARD).o : $(datatypes-webp-linklibs-webpdecode_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_IQUOTE) . $(datatypes-webp-linklibs-webpdecode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_IQUOTE) . $(datatypes-webp-linklibs-webpdecode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_IQUOTE) . $(datatypes-webp-linklibs-webpdecode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(datatypes-webp-linklibs-webpdecode_MOBJC_DTARGETS) : $(datatypes-webp-linklibs-webpdecode_MOBJC_WILDCARD).d : $(datatypes-webp-linklibs-webpdecode_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpdecode_OBJCDFLAGS) $(datatypes-webp-linklibs-webpdecode_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +datatypes-webp-linklibs-webpdecode_MC_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpdecode_MC_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpdecode_OBJDIR),) +datatypes-webp-linklibs-webpdecode_MC_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpdecode_C_FILES)) +datatypes-webp-linklibs-webpdecode_MC_DTARGETS := $(addsuffix .d,$(datatypes-webp-linklibs-webpdecode_C_FILES)) +datatypes-webp-linklibs-webpdecode_MC_TGTWILDCARD := % +else +ifeq (no,no) + datatypes-webp-linklibs-webpdecode_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdecode_C_FILES)))) + datatypes-webp-linklibs-webpdecode_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdecode_C_FILES)))) +else +ifeq (,) + datatypes-webp-linklibs-webpdecode_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(datatypes-webp-linklibs-webpdecode_C_FILES))) + datatypes-webp-linklibs-webpdecode_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(datatypes-webp-linklibs-webpdecode_C_FILES))) +else + datatypes-webp-linklibs-webpdecode_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(patsubst /%,%,$(datatypes-webp-linklibs-webpdecode_C_FILES)))) + datatypes-webp-linklibs-webpdecode_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(patsubst /%,%,$(datatypes-webp-linklibs-webpdecode_C_FILES)))) +endif +endif +datatypes-webp-linklibs-webpdecode_MC_TGTWILDCARD := $(datatypes-webp-linklibs-webpdecode_OBJDIR)/% + +# Be sure that all .c files are generated +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : | $(addsuffix .c,$(datatypes-webp-linklibs-webpdecode_C_FILES)) + +# Be sure that all .c files are found +datatypes-webp-linklibs-webpdecode_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +datatypes-webp-linklibs-webpdecode_MC_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpdecode_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +datatypes-webp-linklibs-webpdecode_MC_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpdecode_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpdecode_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(datatypes-webp-linklibs-webpdecode_MC_DIRS),) + datatypes-webp-linklibs-webpdecode_MC_DIRS := $(shell echo $(datatypes-webp-linklibs-webpdecode_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(datatypes-webp-linklibs-webpdecode_MC_DIRS) +endif + +endif + +datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS := $(datatypes-webp-linklibs-webpdecode_CPPFLAGS) +datatypes-webp-linklibs-webpdecode_CFLAGS := $(datatypes-webp-linklibs-webpdecode_CFLAGS) +ifeq ($(datatypes-webp-linklibs-webpdecode_DFLAGS),) + datatypes-webp-linklibs-webpdecode_DFLAGS := $(datatypes-webp-linklibs-webpdecode_CFLAGS) +else + datatypes-webp-linklibs-webpdecode_DFLAGS := $(datatypes-webp-linklibs-webpdecode_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +datatypes-webp-linklibs-webpdecode_STRIP ?= $(TARGET_STRIP) +datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS:=$(strip $(datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_CFLAGS:=$(strip $(datatypes-webp-linklibs-webpdecode_CFLAGS) $(SAFETY_CFLAGS)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_DFLAGS:=$(datatypes-webp-linklibs-webpdecode_DFLAGS) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE:=$(CFLAGS_IQUOTE) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +datatypes-webp-linklibs-webpdecode_STRIP ?= $(HOST_STRIP) +datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : CMD:=$(HOST_CC) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_CFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpdecode_CFLAGS)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_DFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpdecode_DFLAGS)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE:=$(HOST_IQUOTE) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpdecode_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +datatypes-webp-linklibs-webpdecode_STRIP ?= $(ECHO) >/dev/null +datatypes-webp-linklibs-webpdecode_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpdecode_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpdecode_CFLAGS)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpdecode_DFLAGS)) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE:=$(KERNEL_IQUOTE) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) $(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : datatypes-webp-linklibs-webpdecode_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) : CFLAGS := $(datatypes-webp-linklibs-webpdecode_CFLAGS) +$(datatypes-webp-linklibs-webpdecode_MC_TARGETS) : $(datatypes-webp-linklibs-webpdecode_MC_TGTWILDCARD).o : $(datatypes-webp-linklibs-webpdecode_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_IQUOTE) . $(datatypes-webp-linklibs-webpdecode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_IQUOTE) . $(datatypes-webp-linklibs-webpdecode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpdecode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpdecode_IQUOTE) . $(datatypes-webp-linklibs-webpdecode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(datatypes-webp-linklibs-webpdecode_MC_DTARGETS) : $(datatypes-webp-linklibs-webpdecode_MC_TGTWILDCARD).d : $(datatypes-webp-linklibs-webpdecode_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpdecode_DFLAGS) $(datatypes-webp-linklibs-webpdecode_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(datatypes-webp-linklibs-webpdecode_OBJDIR),) +datatypes-webp-linklibs-webpdecode-MA_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpdecode_ASMFILES)) +datatypes-webp-linklibs-webpdecode-MA_WILDCARD := % +else +datatypes-webp-linklibs-webpdecode-MA_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpdecode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpdecode_ASMFILES)))) +datatypes-webp-linklibs-webpdecode-MA_WILDCARD := $(datatypes-webp-linklibs-webpdecode_OBJDIR)/% + +# Be sure that all .s files are generated +$(datatypes-webp-linklibs-webpdecode-MA_TARGETS) : | $(addsuffix .s,$(datatypes-webp-linklibs-webpdecode_ASMFILES)) + +# Be sure that all .c files are found +datatypes-webp-linklibs-webpdecode-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +datatypes-webp-linklibs-webpdecode-MA_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpdecode_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +datatypes-webp-linklibs-webpdecode-MA_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpdecode-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpdecode-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(datatypes-webp-linklibs-webpdecode-MA_DIRS),) + datatypes-webp-linklibs-webpdecode-MA_DIRS := $(shell echo $(datatypes-webp-linklibs-webpdecode-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(datatypes-webp-linklibs-webpdecode-MA_DIRS) +endif + +endif + +datatypes-webp-linklibs-webpdecode-MA_ASSEMBLER ?= $(datatypes-webp-linklibs-webpdecode_ASSEMBLER) + +$(datatypes-webp-linklibs-webpdecode-MA_TARGETS) : datatypes-webp-linklibs-webpdecode-MA_CMD:= $(datatypes-webp-linklibs-webpdecode-MA_ASSEMBLER) + +$(datatypes-webp-linklibs-webpdecode-MA_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpdecode_CPPFLAGS) +$(datatypes-webp-linklibs-webpdecode-MA_TARGETS) : AFLAGS := $(datatypes-webp-linklibs-webpdecode_AFLAGS) +$(datatypes-webp-linklibs-webpdecode-MA_TARGETS) : $(datatypes-webp-linklibs-webpdecode-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(datatypes-webp-linklibs-webpdecode-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(datatypes-webp-linklibs-webpdecode-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(datatypes-webp-linklibs-webpdecode-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(GENDIR)/$(CURDIR)/lib/libwebpdecode.a : datatypes-webp-linklibs-webpdecode_AR:=$(AR) +$(GENDIR)/$(CURDIR)/lib/libwebpdecode.a : datatypes-webp-linklibs-webpdecode_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(GENDIR)/$(CURDIR)/lib/libwebpdecode.a : datatypes-webp-linklibs-webpdecode_AR:=$(HOST_AR) +$(GENDIR)/$(CURDIR)/lib/libwebpdecode.a : datatypes-webp-linklibs-webpdecode_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(GENDIR)/$(CURDIR)/lib/libwebpdecode.a : datatypes-webp-linklibs-webpdecode_AR:=$(KERNEL_AR) +$(GENDIR)/$(CURDIR)/lib/libwebpdecode.a : datatypes-webp-linklibs-webpdecode_RANLIB:=$(KERNEL_RANLIB) +endif + +$(GENDIR)/$(CURDIR)/lib/libwebpdecode.a : $(datatypes-webp-linklibs-webpdecode_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(datatypes-webp-linklibs-webpdecode_AR) $@ $^ + $(Q)$(datatypes-webp-linklibs-webpdecode_RANLIB) $@ +endif + +ifneq ($(datatypes-webp-linklibs-webpdecode_DEPS),) + ifneq (datatypes-webp-linklibs-webpdecode datatypes-webp-linklibs-webpdecode-quick,) + ifneq ($(findstring $(TARGET),datatypes-webp-linklibs-webpdecode datatypes-webp-linklibs-webpdecode-quick),) + -include $(datatypes-webp-linklibs-webpdecode_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(datatypes-webp-linklibs-webpdecode_DEPS) + endif + endif +endif + + + +ifneq ($(datatypes-webp-linklibs-webpdecode_OBJS) $(datatypes-webp-linklibs-webpdecode_DEPS) $(datatypes-webp-linklibs-webpdecode_LINKLIB),) +$(datatypes-webp-linklibs-webpdecode_OBJS) $(datatypes-webp-linklibs-webpdecode_DEPS) $(datatypes-webp-linklibs-webpdecode_LINKLIB) : | $(datatypes-webp-linklibs-webpdecode_OBJDIR) $(GENDIR)/$(CURDIR)/lib +else +$(datatypes-webp-linklibs-webpdecode_OBJS) $(datatypes-webp-linklibs-webpdecode_DEPS) $(datatypes-webp-linklibs-webpdecode_LINKLIB) :: $(datatypes-webp-linklibs-webpdecode_OBJDIR) $(GENDIR)/$(CURDIR)/lib +endif + +GLOB_MKDIRS += $(datatypes-webp-linklibs-webpdecode_OBJDIR) $(GENDIR)/$(CURDIR)/lib + + +datatypes-webp-linklibs-webpdecode-clean : FILES := $(datatypes-webp-linklibs-webpdecode_OBJS) $(datatypes-webp-linklibs-webpdecode_LINKLIB) $(datatypes-webp-linklibs-webpdecode_DEPS) +#MM +datatypes-webp-linklibs-webpdecode-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget datatypes-webp-linklibs-webpdecode" + $(Q)$(RM) $(FILES) + + +WEBPENCODEFILES := \ + src/enc/alpha_enc \ + src/enc/analysis_enc \ + src/enc/backward_references_cost_enc \ + src/enc/backward_references_enc \ + src/enc/config_enc \ + src/enc/cost_enc \ + src/enc/filter_enc \ + src/enc/frame_enc \ + src/enc/histogram_enc \ + src/enc/iterator_enc \ + src/enc/near_lossless_enc \ + src/enc/picture_enc \ + src/enc/picture_csp_enc \ + src/enc/picture_psnr_enc \ + src/enc/picture_rescale_enc \ + src/enc/picture_tools_enc \ + src/enc/predictor_enc \ + src/enc/quant_enc \ + src/enc/syntax_enc \ + src/enc/token_enc \ + src/enc/tree_enc \ + src/enc/vp8l_enc \ + src/enc/webp_enc + + +# assign and generate the local variables used in this macro +datatypes-webp-linklibs-webpencode_LIBNAME := webpencode +datatypes-webp-linklibs-webpencode_LINKLIB := $(GENDIR)/$(CURDIR)/lib/libwebpencode.a + +datatypes-webp-linklibs-webpencode_FILES ?= $(WEBPENCODEFILES) +datatypes-webp-linklibs-webpencode_ASMFILES := +datatypes-webp-linklibs-webpencode_OBJCFILES := +datatypes-webp-linklibs-webpencode_CXXFILES := + +datatypes-webp-linklibs-webpencode_OBJDIR ?= $(GENDIR)/$(CURDIR)/webpencode +datatypes-webp-linklibs-webpencode_ARCHOBJS := $(wildcard $(datatypes-webp-linklibs-webpencode_OBJDIR)/arch/*.o) +ifeq (no,no) + datatypes-webp-linklibs-webpencode_ARCHFILES := $(basename $(notdir $(datatypes-webp-linklibs-webpencode_ARCHOBJS))) +else + datatypes-webp-linklibs-webpencode_ARCHFILES := $(basename $(patsubst $(datatypes-webp-linklibs-webpencode_OBJDIR)/%,%,$(datatypes-webp-linklibs-webpencode_ARCHOBJS))) +endif +datatypes-webp-linklibs-webpencode_C_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpencode_ARCHFILES),$(datatypes-webp-linklibs-webpencode_FILES)) +datatypes-webp-linklibs-webpencode_C_FILES ?= $(datatypes-webp-linklibs-webpencode_C_NARCHFILES) +datatypes-webp-linklibs-webpencode_CXX_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpencode_ARCHFILES),$(datatypes-webp-linklibs-webpencode_CXXFILES)) +datatypes-webp-linklibs-webpencode_CXX_FILES ?= $(datatypes-webp-linklibs-webpencode_CXX_NARCHFILES) +datatypes-webp-linklibs-webpencode_OBJC_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webpencode_ARCHFILES),$(datatypes-webp-linklibs-webpencode_OBJCFILES)) +datatypes-webp-linklibs-webpencode_OBJC_FILES ?= $(datatypes-webp-linklibs-webpencode_OBJC_NARCHFILES) + +ifeq (no,no) + datatypes-webp-linklibs-webpencode_OBJ_FILES ?= $(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpencode_C_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpencode_CXX_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpencode_ASMFILES:=.o) $(datatypes-webp-linklibs-webpencode_OBJC_NARCHFILES:=.o))) +else + datatypes-webp-linklibs-webpencode_OBJ_FILES ?= $(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(datatypes-webp-linklibs-webpencode_C_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpencode_CXX_NARCHFILES:=.o) $(datatypes-webp-linklibs-webpencode_ASMFILES:=.o) $(datatypes-webp-linklibs-webpencode_OBJC_NARCHFILES:=.o)) +endif +datatypes-webp-linklibs-webpencode_OBJS ?= $(datatypes-webp-linklibs-webpencode_ARCHOBJS) $(datatypes-webp-linklibs-webpencode_OBJ_FILES) +datatypes-webp-linklibs-webpencode_DEPS := $(patsubst %.o,%.d,$(datatypes-webp-linklibs-webpencode_OBJS)) + +datatypes-webp-linklibs-webpencode_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + datatypes-webp-linklibs-webpencode_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +datatypes-webp-linklibs-webpencode_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpencode_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpencode_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +datatypes-webp-linklibs-webpencode_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +datatypes-webp-linklibs-webpencode_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpencode_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpencode_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +datatypes-webp-linklibs-webpencode_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + datatypes-webp-linklibs-webpencode_CFLAGS := $(strip $(LTO_CFLAGS) $(datatypes-webp-linklibs-webpencode_CFLAGS)) + datatypes-webp-linklibs-webpencode_CXXFLAGS := $(strip $(LTO_CFLAGS) $(datatypes-webp-linklibs-webpencode_CXXFLAGS)) +endif +endif +datatypes-webp-linklibs-webpencode_AFLAGS := $(AFLAGS) +datatypes-webp-linklibs-webpencode_DFLAGS := +ifneq (,) + datatypes-webp-linklibs-webpencode_DFLAGS := +else + datatypes-webp-linklibs-webpencode_DFLAGS := $(datatypes-webp-linklibs-webpencode_CFLAGS) +endif +datatypes-webp-linklibs-webpencode_DXXFLAGS := +ifneq (,) + datatypes-webp-linklibs-webpencode_DXXFLAGS := +else + datatypes-webp-linklibs-webpencode_DXXFLAGS := $(datatypes-webp-linklibs-webpencode_CXXFLAGS) +endif + +.PHONY : datatypes-webp-linklibs-webpencode datatypes-webp-linklibs-webpencode-clean datatypes-webp-linklibs-webpencode-quick + +#MM +datatypes-webp-linklibs-webpencode-quick : datatypes-webp-linklibs-webpencode + +#MM datatypes-webp-linklibs-webpencode : includes-generate-deps +datatypes-webp-linklibs-webpencode : $(datatypes-webp-linklibs-webpencode_LINKLIB) + +ifneq ($(filter $(TARGET),datatypes-webp-linklibs-webpencode datatypes-webp-linklibs-webpencode-quick),) + + +datatypes-webp-linklibs-webpencode_CXXABSBASENAMES := $(foreach datatypes-webp-linklibs-webpencode_CXXBASE,$(datatypes-webp-linklibs-webpencode_CXX_FILES),$(if $(filter /%,$(datatypes-webp-linklibs-webpencode_CXXBASE)),$(datatypes-webp-linklibs-webpencode_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(datatypes-webp-linklibs-webpencode_CXXBASE)))) + +ifneq ($(datatypes-webp-linklibs-webpencode_CXXABSBASENAMES),) + +datatypes-webp-linklibs-webpencode_CXXBASENAMES := $(basename $(datatypes-webp-linklibs-webpencode_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +datatypes-webp-linklibs-webpencode_MCXX_FILES := $(strip $(foreach datatypes-webp-linklibs-webpencode_CXXBASE,$(datatypes-webp-linklibs-webpencode_CXXABSBASENAMES), $(firstword $(wildcard $(foreach datatypes-webp-linklibs-webpencode_EXT, $(AROS_CXXEXTS),$(addsuffix .$(datatypes-webp-linklibs-webpencode_EXT),$(datatypes-webp-linklibs-webpencode_CXXBASE))))))) + +ifeq (,) +datatypes-webp-linklibs-webpencode_MCXX_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpencode_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpencode_OBJDIR),) + datatypes-webp-linklibs-webpencode_CXXTARGETS := $(notdir $(datatypes-webp-linklibs-webpencode_CXXBASENAMES:=.o)) + datatypes-webp-linklibs-webpencode_CXXDTARGETS := $(notdir $(datatypes-webp-linklibs-webpencode_CXXBASENAMES:=.d)) + datatypes-webp-linklibs-webpencode_MCXX_WILDCARD := % +else + datatypes-webp-linklibs-webpencode_CXXTARGETS := $(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpencode_CXXBASENAMES:=.o))) + datatypes-webp-linklibs-webpencode_CXXDTARGETS := $(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpencode_CXXBASENAMES:=.d))) + datatypes-webp-linklibs-webpencode_MCXX_WILDCARD := $(datatypes-webp-linklibs-webpencode_OBJDIR)/% + + # Be sure that all source files are generated + $(datatypes-webp-linklibs-webpencode_CXXTARGETS) $(datatypes-webp-linklibs-webpencode_CXXDTARGETS) : | $(datatypes-webp-linklibs-webpencode_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS := $(datatypes-webp-linklibs-webpencode_CPPFLAGS) +datatypes-webp-linklibs-webpencode_CXXFLAGS := $(datatypes-webp-linklibs-webpencode_CXXFLAGS) +ifeq ($(datatypes-webp-linklibs-webpencode_DXXFLAGS),) + datatypes-webp-linklibs-webpencode_DXXFLAGS := $(datatypes-webp-linklibs-webpencode_CXXFLAGS) +else + datatypes-webp-linklibs-webpencode_DXXFLAGS := $(datatypes-webp-linklibs-webpencode_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + datatypes-webp-linklibs-webpencode_STRIP ?= $(HOST_STRIP) + datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + datatypes-webp-linklibs-webpencode_CXXCMD:=$(HOST_CXX) + datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpencode_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(datatypes-webp-linklibs-webpencode_CXXFLAGS)) + datatypes-webp-linklibs-webpencode_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(datatypes-webp-linklibs-webpencode_DXXFLAGS)) + datatypes-webp-linklibs-webpencode_CXXIQUOTE:=$(HOST_IQUOTE) + datatypes-webp-linklibs-webpencode_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + datatypes-webp-linklibs-webpencode_STRIP ?= $(TARGET_STRIP) + datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + datatypes-webp-linklibs-webpencode_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS := $(strip $(datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpencode_CXXFLAGS := $(strip $(datatypes-webp-linklibs-webpencode_CXXFLAGS) $(SAFETY_CFLAGS)) + datatypes-webp-linklibs-webpencode_DXXFLAGS := $(datatypes-webp-linklibs-webpencode_DXXFLAGS) + datatypes-webp-linklibs-webpencode_CXXIQUOTE:=$(CFLAGS_IQUOTE) + datatypes-webp-linklibs-webpencode_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + datatypes-webp-linklibs-webpencode_STRIP ?= $(ECHO) >/dev/null + datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + datatypes-webp-linklibs-webpencode_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + datatypes-webp-linklibs-webpencode_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webpencode_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(datatypes-webp-linklibs-webpencode_CXXFLAGS)) + datatypes-webp-linklibs-webpencode_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(datatypes-webp-linklibs-webpencode_DXXFLAGS)) + datatypes-webp-linklibs-webpencode_CXXIQUOTE:=$(KERNEL_IQUOTE) + datatypes-webp-linklibs-webpencode_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(datatypes-webp-linklibs-webpencode_CXXCMD) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) . $(datatypes-webp-linklibs-webpencode_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpencode_CXXFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(datatypes-webp-linklibs-webpencode_CXXCMD) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) . $(datatypes-webp-linklibs-webpencode_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpencode_CXXFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(datatypes-webp-linklibs-webpencode_CXXCMD) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_CXXIQUOTE) . $(datatypes-webp-linklibs-webpencode_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webpencode_CXXFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(datatypes-webp-linklibs-webpencode_CXXCMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpencode_DXXFLAGS) $(datatypes-webp-linklibs-webpencode_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(datatypes-webp-linklibs-webpencode_OBJDIR),) + $(foreach datatypes-webp-linklibs-webpencode_CXXFILE,$(datatypes-webp-linklibs-webpencode_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(datatypes-webp-linklibs-webpencode_CXXFILE))),$(datatypes-webp-linklibs-webpencode_CXXFILE)))) +else + $(foreach datatypes-webp-linklibs-webpencode_CXXFILE,$(datatypes-webp-linklibs-webpencode_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(notdir $(basename $(datatypes-webp-linklibs-webpencode_CXXFILE)))),$(datatypes-webp-linklibs-webpencode_CXXFILE)))) +endif + +endif + + +ifneq ($(datatypes-webp-linklibs-webpencode_OBJC_FILES),) + +ifeq (,) +datatypes-webp-linklibs-webpencode_MOBJC_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpencode_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpencode_OBJDIR),) + datatypes-webp-linklibs-webpencode_MOBJC_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpencode_OBJC_FILES)) + datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS := $(addsuffix .d,$(datatypes-webp-linklibs-webpencode_OBJC_FILES)) + datatypes-webp-linklibs-webpencode_MOBJC_WILDCARD := % +else + datatypes-webp-linklibs-webpencode_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(datatypes-webp-linklibs-webpencode_OBJC_FILES))) + datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(datatypes-webp-linklibs-webpencode_OBJC_FILES))) + datatypes-webp-linklibs-webpencode_MOBJC_WILDCARD := $(datatypes-webp-linklibs-webpencode_OBJDIR)/% + + # Be sure that all .m files are generated + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : | $(addsuffix .m,$(datatypes-webp-linklibs-webpencode_OBJC_FILES)) + + # Be sure that all .m files are found + datatypes-webp-linklibs-webpencode_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + datatypes-webp-linklibs-webpencode_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpencode_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + datatypes-webp-linklibs-webpencode_MOBJC_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpencode_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpencode_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(datatypes-webp-linklibs-webpencode_MOBJC_DIRS),) + datatypes-webp-linklibs-webpencode_MOBJC_DIRS := $(shell echo $(datatypes-webp-linklibs-webpencode_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(datatypes-webp-linklibs-webpencode_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + datatypes-webp-linklibs-webpencode_CC := $(TARGET_CC) +else + datatypes-webp-linklibs-webpencode_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS := $(datatypes-webp-linklibs-webpencode_CPPFLAGS) +datatypes-webp-linklibs-webpencode_OBJCFLAGS := $(datatypes-webp-linklibs-webpencode_CFLAGS) +datatypes-webp-linklibs-webpencode_OBJCFLAGS := $(datatypes-webp-linklibs-webpencode_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +datatypes-webp-linklibs-webpencode_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(datatypes-webp-linklibs-webpencode_OBJCFLAGS))) +ifeq ($(datatypes-webp-linklibs-webpencode_DFLAGS),) + datatypes-webp-linklibs-webpencode_OBJCDFLAGS := $(datatypes-webp-linklibs-webpencode_CFLAGS) +else + datatypes-webp-linklibs-webpencode_OBJCDFLAGS := $(datatypes-webp-linklibs-webpencode_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(datatypes-webp-linklibs-webpencode_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + datatypes-webp-linklibs-webpencode_STRIP ?= $(TARGET_STRIP) + datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : CMD:=$(strip $(datatypes-webp-linklibs-webpencode_CC) $(TARGET_SYSROOT)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS:=$(strip $(datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_OBJCFLAGS:=$(strip $(datatypes-webp-linklibs-webpencode_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_OBJCDFLAGS:=$(datatypes-webp-linklibs-webpencode_OBJCDFLAGS) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE:=$(CFLAGS_IQUOTE) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + datatypes-webp-linklibs-webpencode_STRIP ?= $(HOST_STRIP) + datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpencode_OBJCFLAGS)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpencode_OBJCDFLAGS)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE:=$(HOST_IQUOTE) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + datatypes-webp-linklibs-webpencode_STRIP ?= $(ECHO) >/dev/null + datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpencode_OBJCFLAGS)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpencode_OBJCDFLAGS)) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE:=$(KERNEL_IQUOTE) + $(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) $(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS) +$(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) : CFLAGS := $(datatypes-webp-linklibs-webpencode_OBJCFLAGS) +$(datatypes-webp-linklibs-webpencode_MOBJC_TARGETS) : $(datatypes-webp-linklibs-webpencode_MOBJC_WILDCARD).o : $(datatypes-webp-linklibs-webpencode_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_IQUOTE) . $(datatypes-webp-linklibs-webpencode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_IQUOTE) . $(datatypes-webp-linklibs-webpencode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_IQUOTE) . $(datatypes-webp-linklibs-webpencode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(datatypes-webp-linklibs-webpencode_MOBJC_DTARGETS) : $(datatypes-webp-linklibs-webpencode_MOBJC_WILDCARD).d : $(datatypes-webp-linklibs-webpencode_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpencode_OBJCDFLAGS) $(datatypes-webp-linklibs-webpencode_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +datatypes-webp-linklibs-webpencode_MC_SRCWILDCARD := % +else +datatypes-webp-linklibs-webpencode_MC_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webpencode_OBJDIR),) +datatypes-webp-linklibs-webpencode_MC_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpencode_C_FILES)) +datatypes-webp-linklibs-webpencode_MC_DTARGETS := $(addsuffix .d,$(datatypes-webp-linklibs-webpencode_C_FILES)) +datatypes-webp-linklibs-webpencode_MC_TGTWILDCARD := % +else +ifeq (no,no) + datatypes-webp-linklibs-webpencode_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpencode_C_FILES)))) + datatypes-webp-linklibs-webpencode_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpencode_C_FILES)))) +else +ifeq (,) + datatypes-webp-linklibs-webpencode_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(datatypes-webp-linklibs-webpencode_C_FILES))) + datatypes-webp-linklibs-webpencode_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(datatypes-webp-linklibs-webpencode_C_FILES))) +else + datatypes-webp-linklibs-webpencode_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(patsubst /%,%,$(datatypes-webp-linklibs-webpencode_C_FILES)))) + datatypes-webp-linklibs-webpencode_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(patsubst /%,%,$(datatypes-webp-linklibs-webpencode_C_FILES)))) +endif +endif +datatypes-webp-linklibs-webpencode_MC_TGTWILDCARD := $(datatypes-webp-linklibs-webpencode_OBJDIR)/% + +# Be sure that all .c files are generated +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : | $(addsuffix .c,$(datatypes-webp-linklibs-webpencode_C_FILES)) + +# Be sure that all .c files are found +datatypes-webp-linklibs-webpencode_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +datatypes-webp-linklibs-webpencode_MC_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpencode_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +datatypes-webp-linklibs-webpencode_MC_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpencode_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpencode_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(datatypes-webp-linklibs-webpencode_MC_DIRS),) + datatypes-webp-linklibs-webpencode_MC_DIRS := $(shell echo $(datatypes-webp-linklibs-webpencode_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(datatypes-webp-linklibs-webpencode_MC_DIRS) +endif + +endif + +datatypes-webp-linklibs-webpencode_MC_CPPFLAGS := $(datatypes-webp-linklibs-webpencode_CPPFLAGS) +datatypes-webp-linklibs-webpencode_CFLAGS := $(datatypes-webp-linklibs-webpencode_CFLAGS) +ifeq ($(datatypes-webp-linklibs-webpencode_DFLAGS),) + datatypes-webp-linklibs-webpencode_DFLAGS := $(datatypes-webp-linklibs-webpencode_CFLAGS) +else + datatypes-webp-linklibs-webpencode_DFLAGS := $(datatypes-webp-linklibs-webpencode_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +datatypes-webp-linklibs-webpencode_STRIP ?= $(TARGET_STRIP) +datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_MC_CPPFLAGS:=$(strip $(datatypes-webp-linklibs-webpencode_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_CFLAGS:=$(strip $(datatypes-webp-linklibs-webpencode_CFLAGS) $(SAFETY_CFLAGS)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_DFLAGS:=$(datatypes-webp-linklibs-webpencode_DFLAGS) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE:=$(CFLAGS_IQUOTE) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +datatypes-webp-linklibs-webpencode_STRIP ?= $(HOST_STRIP) +datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : CMD:=$(HOST_CC) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_CFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpencode_CFLAGS)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_DFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webpencode_DFLAGS)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE:=$(HOST_IQUOTE) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webpencode_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +datatypes-webp-linklibs-webpencode_STRIP ?= $(ECHO) >/dev/null +datatypes-webp-linklibs-webpencode_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MC_CPPFLAGS) $(datatypes-webp-linklibs-webpencode_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpencode_CFLAGS)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webpencode_DFLAGS)) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE:=$(KERNEL_IQUOTE) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) $(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : datatypes-webp-linklibs-webpencode_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpencode_MC_CPPFLAGS) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) : CFLAGS := $(datatypes-webp-linklibs-webpencode_CFLAGS) +$(datatypes-webp-linklibs-webpencode_MC_TARGETS) : $(datatypes-webp-linklibs-webpencode_MC_TGTWILDCARD).o : $(datatypes-webp-linklibs-webpencode_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_IQUOTE) . $(datatypes-webp-linklibs-webpencode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_IQUOTE) . $(datatypes-webp-linklibs-webpencode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webpencode_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webpencode_IQUOTE) . $(datatypes-webp-linklibs-webpencode_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(datatypes-webp-linklibs-webpencode_MC_DTARGETS) : $(datatypes-webp-linklibs-webpencode_MC_TGTWILDCARD).d : $(datatypes-webp-linklibs-webpencode_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webpencode_DFLAGS) $(datatypes-webp-linklibs-webpencode_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(datatypes-webp-linklibs-webpencode_OBJDIR),) +datatypes-webp-linklibs-webpencode-MA_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webpencode_ASMFILES)) +datatypes-webp-linklibs-webpencode-MA_WILDCARD := % +else +datatypes-webp-linklibs-webpencode-MA_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webpencode_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webpencode_ASMFILES)))) +datatypes-webp-linklibs-webpencode-MA_WILDCARD := $(datatypes-webp-linklibs-webpencode_OBJDIR)/% + +# Be sure that all .s files are generated +$(datatypes-webp-linklibs-webpencode-MA_TARGETS) : | $(addsuffix .s,$(datatypes-webp-linklibs-webpencode_ASMFILES)) + +# Be sure that all .c files are found +datatypes-webp-linklibs-webpencode-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +datatypes-webp-linklibs-webpencode-MA_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webpencode_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +datatypes-webp-linklibs-webpencode-MA_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webpencode-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webpencode-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(datatypes-webp-linklibs-webpencode-MA_DIRS),) + datatypes-webp-linklibs-webpencode-MA_DIRS := $(shell echo $(datatypes-webp-linklibs-webpencode-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(datatypes-webp-linklibs-webpencode-MA_DIRS) +endif + +endif + +datatypes-webp-linklibs-webpencode-MA_ASSEMBLER ?= $(datatypes-webp-linklibs-webpencode_ASSEMBLER) + +$(datatypes-webp-linklibs-webpencode-MA_TARGETS) : datatypes-webp-linklibs-webpencode-MA_CMD:= $(datatypes-webp-linklibs-webpencode-MA_ASSEMBLER) + +$(datatypes-webp-linklibs-webpencode-MA_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webpencode_CPPFLAGS) +$(datatypes-webp-linklibs-webpencode-MA_TARGETS) : AFLAGS := $(datatypes-webp-linklibs-webpencode_AFLAGS) +$(datatypes-webp-linklibs-webpencode-MA_TARGETS) : $(datatypes-webp-linklibs-webpencode-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(datatypes-webp-linklibs-webpencode-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(datatypes-webp-linklibs-webpencode-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(datatypes-webp-linklibs-webpencode-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(GENDIR)/$(CURDIR)/lib/libwebpencode.a : datatypes-webp-linklibs-webpencode_AR:=$(AR) +$(GENDIR)/$(CURDIR)/lib/libwebpencode.a : datatypes-webp-linklibs-webpencode_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(GENDIR)/$(CURDIR)/lib/libwebpencode.a : datatypes-webp-linklibs-webpencode_AR:=$(HOST_AR) +$(GENDIR)/$(CURDIR)/lib/libwebpencode.a : datatypes-webp-linklibs-webpencode_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(GENDIR)/$(CURDIR)/lib/libwebpencode.a : datatypes-webp-linklibs-webpencode_AR:=$(KERNEL_AR) +$(GENDIR)/$(CURDIR)/lib/libwebpencode.a : datatypes-webp-linklibs-webpencode_RANLIB:=$(KERNEL_RANLIB) +endif + +$(GENDIR)/$(CURDIR)/lib/libwebpencode.a : $(datatypes-webp-linklibs-webpencode_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(datatypes-webp-linklibs-webpencode_AR) $@ $^ + $(Q)$(datatypes-webp-linklibs-webpencode_RANLIB) $@ +endif + +ifneq ($(datatypes-webp-linklibs-webpencode_DEPS),) + ifneq (datatypes-webp-linklibs-webpencode datatypes-webp-linklibs-webpencode-quick,) + ifneq ($(findstring $(TARGET),datatypes-webp-linklibs-webpencode datatypes-webp-linklibs-webpencode-quick),) + -include $(datatypes-webp-linklibs-webpencode_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(datatypes-webp-linklibs-webpencode_DEPS) + endif + endif +endif + + + +ifneq ($(datatypes-webp-linklibs-webpencode_OBJS) $(datatypes-webp-linklibs-webpencode_DEPS) $(datatypes-webp-linklibs-webpencode_LINKLIB),) +$(datatypes-webp-linklibs-webpencode_OBJS) $(datatypes-webp-linklibs-webpencode_DEPS) $(datatypes-webp-linklibs-webpencode_LINKLIB) : | $(datatypes-webp-linklibs-webpencode_OBJDIR) $(GENDIR)/$(CURDIR)/lib +else +$(datatypes-webp-linklibs-webpencode_OBJS) $(datatypes-webp-linklibs-webpencode_DEPS) $(datatypes-webp-linklibs-webpencode_LINKLIB) :: $(datatypes-webp-linklibs-webpencode_OBJDIR) $(GENDIR)/$(CURDIR)/lib +endif + +GLOB_MKDIRS += $(datatypes-webp-linklibs-webpencode_OBJDIR) $(GENDIR)/$(CURDIR)/lib + + +datatypes-webp-linklibs-webpencode-clean : FILES := $(datatypes-webp-linklibs-webpencode_OBJS) $(datatypes-webp-linklibs-webpencode_LINKLIB) $(datatypes-webp-linklibs-webpencode_DEPS) +#MM +datatypes-webp-linklibs-webpencode-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget datatypes-webp-linklibs-webpencode" + $(Q)$(RM) $(FILES) + + +WEBPUTILSFILES := \ + src/utils/bit_reader_utils \ + src/utils/color_cache_utils \ + src/utils/filters_utils \ + src/utils/huffman_utils \ + src/utils/quant_levels_dec_utils \ + src/utils/rescaler_utils \ + src/utils/random_utils \ + src/utils/thread_utils \ + src/utils/utils + +WEBPUTILSFILES += \ + src/utils/bit_writer_utils \ + src/utils/huffman_encode_utils \ + src/utils/quant_levels_utils + + +# assign and generate the local variables used in this macro +datatypes-webp-linklibs-webputils_LIBNAME := webputils +datatypes-webp-linklibs-webputils_LINKLIB := $(GENDIR)/$(CURDIR)/lib/libwebputils.a + +datatypes-webp-linklibs-webputils_FILES ?= $(WEBPUTILSFILES) +datatypes-webp-linklibs-webputils_ASMFILES := +datatypes-webp-linklibs-webputils_OBJCFILES := +datatypes-webp-linklibs-webputils_CXXFILES := + +datatypes-webp-linklibs-webputils_OBJDIR ?= $(GENDIR)/$(CURDIR)/webputils +datatypes-webp-linklibs-webputils_ARCHOBJS := $(wildcard $(datatypes-webp-linklibs-webputils_OBJDIR)/arch/*.o) +ifeq (no,no) + datatypes-webp-linklibs-webputils_ARCHFILES := $(basename $(notdir $(datatypes-webp-linklibs-webputils_ARCHOBJS))) +else + datatypes-webp-linklibs-webputils_ARCHFILES := $(basename $(patsubst $(datatypes-webp-linklibs-webputils_OBJDIR)/%,%,$(datatypes-webp-linklibs-webputils_ARCHOBJS))) +endif +datatypes-webp-linklibs-webputils_C_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webputils_ARCHFILES),$(datatypes-webp-linklibs-webputils_FILES)) +datatypes-webp-linklibs-webputils_C_FILES ?= $(datatypes-webp-linklibs-webputils_C_NARCHFILES) +datatypes-webp-linklibs-webputils_CXX_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webputils_ARCHFILES),$(datatypes-webp-linklibs-webputils_CXXFILES)) +datatypes-webp-linklibs-webputils_CXX_FILES ?= $(datatypes-webp-linklibs-webputils_CXX_NARCHFILES) +datatypes-webp-linklibs-webputils_OBJC_NARCHFILES := $(filter-out $(datatypes-webp-linklibs-webputils_ARCHFILES),$(datatypes-webp-linklibs-webputils_OBJCFILES)) +datatypes-webp-linklibs-webputils_OBJC_FILES ?= $(datatypes-webp-linklibs-webputils_OBJC_NARCHFILES) + +ifeq (no,no) + datatypes-webp-linklibs-webputils_OBJ_FILES ?= $(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webputils_C_NARCHFILES:=.o) $(datatypes-webp-linklibs-webputils_CXX_NARCHFILES:=.o) $(datatypes-webp-linklibs-webputils_ASMFILES:=.o) $(datatypes-webp-linklibs-webputils_OBJC_NARCHFILES:=.o))) +else + datatypes-webp-linklibs-webputils_OBJ_FILES ?= $(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(datatypes-webp-linklibs-webputils_C_NARCHFILES:=.o) $(datatypes-webp-linklibs-webputils_CXX_NARCHFILES:=.o) $(datatypes-webp-linklibs-webputils_ASMFILES:=.o) $(datatypes-webp-linklibs-webputils_OBJC_NARCHFILES:=.o)) +endif +datatypes-webp-linklibs-webputils_OBJS ?= $(datatypes-webp-linklibs-webputils_ARCHOBJS) $(datatypes-webp-linklibs-webputils_OBJ_FILES) +datatypes-webp-linklibs-webputils_DEPS := $(patsubst %.o,%.d,$(datatypes-webp-linklibs-webputils_OBJS)) + +datatypes-webp-linklibs-webputils_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + datatypes-webp-linklibs-webputils_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +datatypes-webp-linklibs-webputils_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +datatypes-webp-linklibs-webputils_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webputils_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +datatypes-webp-linklibs-webputils_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +datatypes-webp-linklibs-webputils_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +datatypes-webp-linklibs-webputils_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webputils_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +datatypes-webp-linklibs-webputils_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + datatypes-webp-linklibs-webputils_CFLAGS := $(strip $(LTO_CFLAGS) $(datatypes-webp-linklibs-webputils_CFLAGS)) + datatypes-webp-linklibs-webputils_CXXFLAGS := $(strip $(LTO_CFLAGS) $(datatypes-webp-linklibs-webputils_CXXFLAGS)) +endif +endif +datatypes-webp-linklibs-webputils_AFLAGS := $(AFLAGS) +datatypes-webp-linklibs-webputils_DFLAGS := +ifneq (,) + datatypes-webp-linklibs-webputils_DFLAGS := +else + datatypes-webp-linklibs-webputils_DFLAGS := $(datatypes-webp-linklibs-webputils_CFLAGS) +endif +datatypes-webp-linklibs-webputils_DXXFLAGS := +ifneq (,) + datatypes-webp-linklibs-webputils_DXXFLAGS := +else + datatypes-webp-linklibs-webputils_DXXFLAGS := $(datatypes-webp-linklibs-webputils_CXXFLAGS) +endif + +.PHONY : datatypes-webp-linklibs-webputils datatypes-webp-linklibs-webputils-clean datatypes-webp-linklibs-webputils-quick + +#MM +datatypes-webp-linklibs-webputils-quick : datatypes-webp-linklibs-webputils + +#MM datatypes-webp-linklibs-webputils : includes-generate-deps +datatypes-webp-linklibs-webputils : $(datatypes-webp-linklibs-webputils_LINKLIB) + +ifneq ($(filter $(TARGET),datatypes-webp-linklibs-webputils datatypes-webp-linklibs-webputils-quick),) + + +datatypes-webp-linklibs-webputils_CXXABSBASENAMES := $(foreach datatypes-webp-linklibs-webputils_CXXBASE,$(datatypes-webp-linklibs-webputils_CXX_FILES),$(if $(filter /%,$(datatypes-webp-linklibs-webputils_CXXBASE)),$(datatypes-webp-linklibs-webputils_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(datatypes-webp-linklibs-webputils_CXXBASE)))) + +ifneq ($(datatypes-webp-linklibs-webputils_CXXABSBASENAMES),) + +datatypes-webp-linklibs-webputils_CXXBASENAMES := $(basename $(datatypes-webp-linklibs-webputils_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +datatypes-webp-linklibs-webputils_MCXX_FILES := $(strip $(foreach datatypes-webp-linklibs-webputils_CXXBASE,$(datatypes-webp-linklibs-webputils_CXXABSBASENAMES), $(firstword $(wildcard $(foreach datatypes-webp-linklibs-webputils_EXT, $(AROS_CXXEXTS),$(addsuffix .$(datatypes-webp-linklibs-webputils_EXT),$(datatypes-webp-linklibs-webputils_CXXBASE))))))) + +ifeq (,) +datatypes-webp-linklibs-webputils_MCXX_SRCWILDCARD := % +else +datatypes-webp-linklibs-webputils_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webputils_OBJDIR),) + datatypes-webp-linklibs-webputils_CXXTARGETS := $(notdir $(datatypes-webp-linklibs-webputils_CXXBASENAMES:=.o)) + datatypes-webp-linklibs-webputils_CXXDTARGETS := $(notdir $(datatypes-webp-linklibs-webputils_CXXBASENAMES:=.d)) + datatypes-webp-linklibs-webputils_MCXX_WILDCARD := % +else + datatypes-webp-linklibs-webputils_CXXTARGETS := $(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webputils_CXXBASENAMES:=.o))) + datatypes-webp-linklibs-webputils_CXXDTARGETS := $(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webputils_CXXBASENAMES:=.d))) + datatypes-webp-linklibs-webputils_MCXX_WILDCARD := $(datatypes-webp-linklibs-webputils_OBJDIR)/% + + # Be sure that all source files are generated + $(datatypes-webp-linklibs-webputils_CXXTARGETS) $(datatypes-webp-linklibs-webputils_CXXDTARGETS) : | $(datatypes-webp-linklibs-webputils_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS := $(datatypes-webp-linklibs-webputils_CPPFLAGS) +datatypes-webp-linklibs-webputils_CXXFLAGS := $(datatypes-webp-linklibs-webputils_CXXFLAGS) +ifeq ($(datatypes-webp-linklibs-webputils_DXXFLAGS),) + datatypes-webp-linklibs-webputils_DXXFLAGS := $(datatypes-webp-linklibs-webputils_CXXFLAGS) +else + datatypes-webp-linklibs-webputils_DXXFLAGS := $(datatypes-webp-linklibs-webputils_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + datatypes-webp-linklibs-webputils_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + datatypes-webp-linklibs-webputils_STRIP ?= $(HOST_STRIP) + datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + datatypes-webp-linklibs-webputils_CXXCMD:=$(HOST_CXX) + datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webputils_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(datatypes-webp-linklibs-webputils_CXXFLAGS)) + datatypes-webp-linklibs-webputils_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(datatypes-webp-linklibs-webputils_DXXFLAGS)) + datatypes-webp-linklibs-webputils_CXXIQUOTE:=$(HOST_IQUOTE) + datatypes-webp-linklibs-webputils_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + datatypes-webp-linklibs-webputils_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + datatypes-webp-linklibs-webputils_STRIP ?= $(TARGET_STRIP) + datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + datatypes-webp-linklibs-webputils_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS := $(strip $(datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webputils_CXXFLAGS := $(strip $(datatypes-webp-linklibs-webputils_CXXFLAGS) $(SAFETY_CFLAGS)) + datatypes-webp-linklibs-webputils_DXXFLAGS := $(datatypes-webp-linklibs-webputils_DXXFLAGS) + datatypes-webp-linklibs-webputils_CXXIQUOTE:=$(CFLAGS_IQUOTE) + datatypes-webp-linklibs-webputils_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + datatypes-webp-linklibs-webputils_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + datatypes-webp-linklibs-webputils_STRIP ?= $(ECHO) >/dev/null + datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + datatypes-webp-linklibs-webputils_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + datatypes-webp-linklibs-webputils_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_EXTRA_CPPFLAGS)) + datatypes-webp-linklibs-webputils_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(datatypes-webp-linklibs-webputils_CXXFLAGS)) + datatypes-webp-linklibs-webputils_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(datatypes-webp-linklibs-webputils_DXXFLAGS)) + datatypes-webp-linklibs-webputils_CXXIQUOTE:=$(KERNEL_IQUOTE) + datatypes-webp-linklibs-webputils_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(datatypes-webp-linklibs-webputils_CXXCMD) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) . $(datatypes-webp-linklibs-webputils_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webputils_CXXFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(datatypes-webp-linklibs-webputils_CXXCMD) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) . $(datatypes-webp-linklibs-webputils_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webputils_CXXFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(datatypes-webp-linklibs-webputils_CXXCMD) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) $(dir $(2)) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_CXXIQUOTE) . $(datatypes-webp-linklibs-webputils_CXXIQUOTE_END) $(strip $(datatypes-webp-linklibs-webputils_CXXFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(datatypes-webp-linklibs-webputils_CXXCMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webputils_DXXFLAGS) $(datatypes-webp-linklibs-webputils_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(datatypes-webp-linklibs-webputils_OBJDIR),) + $(foreach datatypes-webp-linklibs-webputils_CXXFILE,$(datatypes-webp-linklibs-webputils_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(datatypes-webp-linklibs-webputils_CXXFILE))),$(datatypes-webp-linklibs-webputils_CXXFILE)))) +else + $(foreach datatypes-webp-linklibs-webputils_CXXFILE,$(datatypes-webp-linklibs-webputils_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(notdir $(basename $(datatypes-webp-linklibs-webputils_CXXFILE)))),$(datatypes-webp-linklibs-webputils_CXXFILE)))) +endif + +endif + + +ifneq ($(datatypes-webp-linklibs-webputils_OBJC_FILES),) + +ifeq (,) +datatypes-webp-linklibs-webputils_MOBJC_SRCWILDCARD := % +else +datatypes-webp-linklibs-webputils_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webputils_OBJDIR),) + datatypes-webp-linklibs-webputils_MOBJC_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webputils_OBJC_FILES)) + datatypes-webp-linklibs-webputils_MOBJC_DTARGETS := $(addsuffix .d,$(datatypes-webp-linklibs-webputils_OBJC_FILES)) + datatypes-webp-linklibs-webputils_MOBJC_WILDCARD := % +else + datatypes-webp-linklibs-webputils_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(datatypes-webp-linklibs-webputils_OBJC_FILES))) + datatypes-webp-linklibs-webputils_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(datatypes-webp-linklibs-webputils_OBJC_FILES))) + datatypes-webp-linklibs-webputils_MOBJC_WILDCARD := $(datatypes-webp-linklibs-webputils_OBJDIR)/% + + # Be sure that all .m files are generated + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : | $(addsuffix .m,$(datatypes-webp-linklibs-webputils_OBJC_FILES)) + + # Be sure that all .m files are found + datatypes-webp-linklibs-webputils_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + datatypes-webp-linklibs-webputils_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webputils_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + datatypes-webp-linklibs-webputils_MOBJC_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webputils_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webputils_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(datatypes-webp-linklibs-webputils_MOBJC_DIRS),) + datatypes-webp-linklibs-webputils_MOBJC_DIRS := $(shell echo $(datatypes-webp-linklibs-webputils_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(datatypes-webp-linklibs-webputils_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + datatypes-webp-linklibs-webputils_CC := $(TARGET_CC) +else + datatypes-webp-linklibs-webputils_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS := $(datatypes-webp-linklibs-webputils_CPPFLAGS) +datatypes-webp-linklibs-webputils_OBJCFLAGS := $(datatypes-webp-linklibs-webputils_CFLAGS) +datatypes-webp-linklibs-webputils_OBJCFLAGS := $(datatypes-webp-linklibs-webputils_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +datatypes-webp-linklibs-webputils_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(datatypes-webp-linklibs-webputils_OBJCFLAGS))) +ifeq ($(datatypes-webp-linklibs-webputils_DFLAGS),) + datatypes-webp-linklibs-webputils_OBJCDFLAGS := $(datatypes-webp-linklibs-webputils_CFLAGS) +else + datatypes-webp-linklibs-webputils_OBJCDFLAGS := $(datatypes-webp-linklibs-webputils_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + datatypes-webp-linklibs-webputils_LINK ?= $(strip $(datatypes-webp-linklibs-webputils_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + datatypes-webp-linklibs-webputils_STRIP ?= $(TARGET_STRIP) + datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : CMD:=$(strip $(datatypes-webp-linklibs-webputils_CC) $(TARGET_SYSROOT)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS:=$(strip $(datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_OBJCFLAGS:=$(strip $(datatypes-webp-linklibs-webputils_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_OBJCDFLAGS:=$(datatypes-webp-linklibs-webputils_OBJCDFLAGS) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE:=$(CFLAGS_IQUOTE) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + datatypes-webp-linklibs-webputils_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + datatypes-webp-linklibs-webputils_STRIP ?= $(HOST_STRIP) + datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webputils_OBJCFLAGS)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webputils_OBJCDFLAGS)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE:=$(HOST_IQUOTE) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + datatypes-webp-linklibs-webputils_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + datatypes-webp-linklibs-webputils_STRIP ?= $(ECHO) >/dev/null + datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MOBJC_EXTRA_CPPFLAGS)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webputils_OBJCFLAGS)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webputils_OBJCDFLAGS)) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE:=$(KERNEL_IQUOTE) + $(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) $(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS) +$(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) : CFLAGS := $(datatypes-webp-linklibs-webputils_OBJCFLAGS) +$(datatypes-webp-linklibs-webputils_MOBJC_TARGETS) : $(datatypes-webp-linklibs-webputils_MOBJC_WILDCARD).o : $(datatypes-webp-linklibs-webputils_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(datatypes-webp-linklibs-webputils_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webputils_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_IQUOTE) . $(datatypes-webp-linklibs-webputils_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(datatypes-webp-linklibs-webputils_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webputils_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_IQUOTE) . $(datatypes-webp-linklibs-webputils_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(datatypes-webp-linklibs-webputils_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webputils_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_IQUOTE) . $(datatypes-webp-linklibs-webputils_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(datatypes-webp-linklibs-webputils_MOBJC_DTARGETS) : $(datatypes-webp-linklibs-webputils_MOBJC_WILDCARD).d : $(datatypes-webp-linklibs-webputils_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webputils_OBJCDFLAGS) $(datatypes-webp-linklibs-webputils_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +datatypes-webp-linklibs-webputils_MC_SRCWILDCARD := % +else +datatypes-webp-linklibs-webputils_MC_SRCWILDCARD := /% +endif + +ifeq ($(datatypes-webp-linklibs-webputils_OBJDIR),) +datatypes-webp-linklibs-webputils_MC_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webputils_C_FILES)) +datatypes-webp-linklibs-webputils_MC_DTARGETS := $(addsuffix .d,$(datatypes-webp-linklibs-webputils_C_FILES)) +datatypes-webp-linklibs-webputils_MC_TGTWILDCARD := % +else +ifeq (no,no) + datatypes-webp-linklibs-webputils_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webputils_C_FILES)))) + datatypes-webp-linklibs-webputils_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webputils_C_FILES)))) +else +ifeq (,) + datatypes-webp-linklibs-webputils_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(datatypes-webp-linklibs-webputils_C_FILES))) + datatypes-webp-linklibs-webputils_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(datatypes-webp-linklibs-webputils_C_FILES))) +else + datatypes-webp-linklibs-webputils_MC_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(patsubst /%,%,$(datatypes-webp-linklibs-webputils_C_FILES)))) + datatypes-webp-linklibs-webputils_MC_DTARGETS := $(addsuffix .d,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(patsubst /%,%,$(datatypes-webp-linklibs-webputils_C_FILES)))) +endif +endif +datatypes-webp-linklibs-webputils_MC_TGTWILDCARD := $(datatypes-webp-linklibs-webputils_OBJDIR)/% + +# Be sure that all .c files are generated +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : | $(addsuffix .c,$(datatypes-webp-linklibs-webputils_C_FILES)) + +# Be sure that all .c files are found +datatypes-webp-linklibs-webputils_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +datatypes-webp-linklibs-webputils_MC_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webputils_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +datatypes-webp-linklibs-webputils_MC_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webputils_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webputils_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(datatypes-webp-linklibs-webputils_MC_DIRS),) + datatypes-webp-linklibs-webputils_MC_DIRS := $(shell echo $(datatypes-webp-linklibs-webputils_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(datatypes-webp-linklibs-webputils_MC_DIRS) +endif + +endif + +datatypes-webp-linklibs-webputils_MC_CPPFLAGS := $(datatypes-webp-linklibs-webputils_CPPFLAGS) +datatypes-webp-linklibs-webputils_CFLAGS := $(datatypes-webp-linklibs-webputils_CFLAGS) +ifeq ($(datatypes-webp-linklibs-webputils_DFLAGS),) + datatypes-webp-linklibs-webputils_DFLAGS := $(datatypes-webp-linklibs-webputils_CFLAGS) +else + datatypes-webp-linklibs-webputils_DFLAGS := $(datatypes-webp-linklibs-webputils_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +datatypes-webp-linklibs-webputils_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +datatypes-webp-linklibs-webputils_STRIP ?= $(TARGET_STRIP) +datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_MC_CPPFLAGS:=$(strip $(datatypes-webp-linklibs-webputils_MC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_CFLAGS:=$(strip $(datatypes-webp-linklibs-webputils_CFLAGS) $(SAFETY_CFLAGS)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_DFLAGS:=$(datatypes-webp-linklibs-webputils_DFLAGS) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE:=$(CFLAGS_IQUOTE) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +datatypes-webp-linklibs-webputils_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +datatypes-webp-linklibs-webputils_STRIP ?= $(HOST_STRIP) +datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : CMD:=$(HOST_CC) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_CFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webputils_CFLAGS)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_DFLAGS:=$(strip $(HOST_CFLAGS) $(datatypes-webp-linklibs-webputils_DFLAGS)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE:=$(HOST_IQUOTE) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +datatypes-webp-linklibs-webputils_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +datatypes-webp-linklibs-webputils_STRIP ?= $(ECHO) >/dev/null +datatypes-webp-linklibs-webputils_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MC_CPPFLAGS) $(datatypes-webp-linklibs-webputils_MC_EXTRA_CPPFLAGS)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webputils_CFLAGS)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(datatypes-webp-linklibs-webputils_DFLAGS)) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE:=$(KERNEL_IQUOTE) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) $(datatypes-webp-linklibs-webputils_MC_DTARGETS) : datatypes-webp-linklibs-webputils_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(datatypes-webp-linklibs-webputils_MC_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webputils_MC_CPPFLAGS) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) : CFLAGS := $(datatypes-webp-linklibs-webputils_CFLAGS) +$(datatypes-webp-linklibs-webputils_MC_TARGETS) : $(datatypes-webp-linklibs-webputils_MC_TGTWILDCARD).o : $(datatypes-webp-linklibs-webputils_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(datatypes-webp-linklibs-webputils_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webputils_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_IQUOTE) . $(datatypes-webp-linklibs-webputils_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(datatypes-webp-linklibs-webputils_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webputils_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_IQUOTE) . $(datatypes-webp-linklibs-webputils_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(datatypes-webp-linklibs-webputils_IQUOTE) $(dir $<) $(datatypes-webp-linklibs-webputils_IQUOTE) $(SRCDIR)/$(CURDIR) $(datatypes-webp-linklibs-webputils_IQUOTE) . $(datatypes-webp-linklibs-webputils_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(datatypes-webp-linklibs-webputils_MC_DTARGETS) : $(datatypes-webp-linklibs-webputils_MC_TGTWILDCARD).d : $(datatypes-webp-linklibs-webputils_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(datatypes-webp-linklibs-webputils_DFLAGS) $(datatypes-webp-linklibs-webputils_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(datatypes-webp-linklibs-webputils_OBJDIR),) +datatypes-webp-linklibs-webputils-MA_TARGETS := $(addsuffix .o,$(datatypes-webp-linklibs-webputils_ASMFILES)) +datatypes-webp-linklibs-webputils-MA_WILDCARD := % +else +datatypes-webp-linklibs-webputils-MA_TARGETS := $(addsuffix .o,$(addprefix $(datatypes-webp-linklibs-webputils_OBJDIR)/,$(notdir $(datatypes-webp-linklibs-webputils_ASMFILES)))) +datatypes-webp-linklibs-webputils-MA_WILDCARD := $(datatypes-webp-linklibs-webputils_OBJDIR)/% + +# Be sure that all .s files are generated +$(datatypes-webp-linklibs-webputils-MA_TARGETS) : | $(addsuffix .s,$(datatypes-webp-linklibs-webputils_ASMFILES)) + +# Be sure that all .c files are found +datatypes-webp-linklibs-webputils-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +datatypes-webp-linklibs-webputils-MA_BASEDIRS := $(shell echo $(sort $(dir $(datatypes-webp-linklibs-webputils_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +datatypes-webp-linklibs-webputils-MA_DIRS := $(foreach dir, $(datatypes-webp-linklibs-webputils-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(datatypes-webp-linklibs-webputils-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(datatypes-webp-linklibs-webputils-MA_DIRS),) + datatypes-webp-linklibs-webputils-MA_DIRS := $(shell echo $(datatypes-webp-linklibs-webputils-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(datatypes-webp-linklibs-webputils-MA_DIRS) +endif + +endif + +datatypes-webp-linklibs-webputils-MA_ASSEMBLER ?= $(datatypes-webp-linklibs-webputils_ASSEMBLER) + +$(datatypes-webp-linklibs-webputils-MA_TARGETS) : datatypes-webp-linklibs-webputils-MA_CMD:= $(datatypes-webp-linklibs-webputils-MA_ASSEMBLER) + +$(datatypes-webp-linklibs-webputils-MA_TARGETS) : CPPFLAGS := $(datatypes-webp-linklibs-webputils_CPPFLAGS) +$(datatypes-webp-linklibs-webputils-MA_TARGETS) : AFLAGS := $(datatypes-webp-linklibs-webputils_AFLAGS) +$(datatypes-webp-linklibs-webputils-MA_TARGETS) : $(datatypes-webp-linklibs-webputils-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(datatypes-webp-linklibs-webputils-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(datatypes-webp-linklibs-webputils-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(datatypes-webp-linklibs-webputils-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(GENDIR)/$(CURDIR)/lib/libwebputils.a : datatypes-webp-linklibs-webputils_AR:=$(AR) +$(GENDIR)/$(CURDIR)/lib/libwebputils.a : datatypes-webp-linklibs-webputils_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(GENDIR)/$(CURDIR)/lib/libwebputils.a : datatypes-webp-linklibs-webputils_AR:=$(HOST_AR) +$(GENDIR)/$(CURDIR)/lib/libwebputils.a : datatypes-webp-linklibs-webputils_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(GENDIR)/$(CURDIR)/lib/libwebputils.a : datatypes-webp-linklibs-webputils_AR:=$(KERNEL_AR) +$(GENDIR)/$(CURDIR)/lib/libwebputils.a : datatypes-webp-linklibs-webputils_RANLIB:=$(KERNEL_RANLIB) +endif + +$(GENDIR)/$(CURDIR)/lib/libwebputils.a : $(datatypes-webp-linklibs-webputils_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(datatypes-webp-linklibs-webputils_AR) $@ $^ + $(Q)$(datatypes-webp-linklibs-webputils_RANLIB) $@ +endif + +ifneq ($(datatypes-webp-linklibs-webputils_DEPS),) + ifneq (datatypes-webp-linklibs-webputils datatypes-webp-linklibs-webputils-quick,) + ifneq ($(findstring $(TARGET),datatypes-webp-linklibs-webputils datatypes-webp-linklibs-webputils-quick),) + -include $(datatypes-webp-linklibs-webputils_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(datatypes-webp-linklibs-webputils_DEPS) + endif + endif +endif + + + +ifneq ($(datatypes-webp-linklibs-webputils_OBJS) $(datatypes-webp-linklibs-webputils_DEPS) $(datatypes-webp-linklibs-webputils_LINKLIB),) +$(datatypes-webp-linklibs-webputils_OBJS) $(datatypes-webp-linklibs-webputils_DEPS) $(datatypes-webp-linklibs-webputils_LINKLIB) : | $(datatypes-webp-linklibs-webputils_OBJDIR) $(GENDIR)/$(CURDIR)/lib +else +$(datatypes-webp-linklibs-webputils_OBJS) $(datatypes-webp-linklibs-webputils_DEPS) $(datatypes-webp-linklibs-webputils_LINKLIB) :: $(datatypes-webp-linklibs-webputils_OBJDIR) $(GENDIR)/$(CURDIR)/lib +endif + +GLOB_MKDIRS += $(datatypes-webp-linklibs-webputils_OBJDIR) $(GENDIR)/$(CURDIR)/lib + + +datatypes-webp-linklibs-webputils-clean : FILES := $(datatypes-webp-linklibs-webputils_OBJS) $(datatypes-webp-linklibs-webputils_LINKLIB) $(datatypes-webp-linklibs-webputils_DEPS) +#MM +datatypes-webp-linklibs-webputils-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget datatypes-webp-linklibs-webputils" + $(Q)$(RM) $(FILES) + + +USER_LDFLAGS := -L$(GENDIR)/$(CURDIR)/lib -lwebpencode -lwebpdecode -lwebpdsp -lwebputils -lstdc_rel + +WEBPFILES := webpclass + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-datatypes-webp +#MM workbench-datatypes-webp-quick +#MM workbench-datatypes-webp-makefile +#MM workbench-datatypes-webp-clean + +# ABI targets: +#MM- includes-all : workbench-datatypes-webp-includes +#MM- linklibs-webp: workbench-datatypes-webp-linklib +#MM- linklibs-webp_rel : workbench-datatypes-webp-linklib +#MM- includes-webp: workbench-datatypes-webp-includes +#MM- includes-webp_rel : workbench-datatypes-webp-includes +#MM- workbench-datatypes-webp : workbench-datatypes-webp-includes core-linklibs linklibs- +#MM workbench-datatypes-webp-linklib : workbench-datatypes-webp-includes includes- +#MM- workbench-datatypes-webp-quick : workbench-datatypes-webp-includes-quick +#MM workbench-datatypes-webp-includes : workbench-datatypes-webp-makefile workbench-datatypes-webp-includes-dirs \ +#MM includes-generate-deps workbench-datatypes-webp-fd +#MM workbench-datatypes-webp-includes-quick +#MM workbench-datatypes-webp-includes-dirs +#MM workbench-datatypes-webp-fd + +# Library targets +#MM workbench-datatypes-webp-kobj : core-linklibs linklibs- +#MM workbench-datatypes-webp-kobj-quick : + +# Library with ABI targets: +#MM workbench-datatypes-webp-kobj : workbench-datatypes-webp-includes core-linklibs linklibs- +#MM workbench-datatypes-webp-kobj-quick : workbench-datatypes-webp-includes-quick + +# All MetaMake targets defined by this macro +workbench-datatypes-webp_ALLTARGETS := workbench-datatypes-webp workbench-datatypes-webp-quick workbench-datatypes-webp-clean + +ifeq (M,M) +workbench-datatypes-webp_ALLTARGETS += workbench-datatypes-webp-kobj workbench-datatypes-webp-kobj-quick +endif + +ifeq (M,M) +workbench-datatypes-webp_ALLTARGETS += workbench-datatypes-webp-includes \ + workbench-datatypes-webp-includes-quick workbench-datatypes-webp-includes-dirs \ + workbench-datatypes-webp-linklib workbench-datatypes-webp-fd +endif + +.PHONY : $(workbench-datatypes-webp_ALLTARGETS) workbench-datatypes-webp-makefile + +ifeq (webp,) +$(error using %build_module: modname may not be empty) +endif +ifeq (datatype,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-datatypes-webp_DEFNAME := webp_ +else + workbench-datatypes-webp_DEFNAME := webp +endif +workbench-datatypes-webp_DEFLINKLIBNAME := $(workbench-datatypes-webp_DEFNAME) +ifneq (,) + workbench-datatypes-webp_LINKLIBNAME := +else + workbench-datatypes-webp_LINKLIBNAME = $(workbench-datatypes-webp_DEFLINKLIBNAME) +endif +workbench-datatypes-webp_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-datatypes-webp_DEFCPPFLAGS += -I +endif +workbench-datatypes-webp_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-datatypes-webp_DFLAGS := +else + workbench-datatypes-webp_DFLAGS = $(workbench-datatypes-webp_DEFDFLAGS) +endif +workbench-datatypes-webp_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-datatypes-webp_DXXFLAGS := +else + workbench-datatypes-webp_DXXFLAGS = $(workbench-datatypes-webp_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-datatypes-webp_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-datatypes-webp_DEFDFLAGS)) +workbench-datatypes-webp_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-datatypes-webp_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-datatypes-webp_FUNCINSTR := yes +workbench-datatypes-webp_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-datatypes-webp_DEFDFLAGS)) +workbench-datatypes-webp_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-datatypes-webp_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-datatypes-webp_OBJDIR := +else +workbench-datatypes-webp_OBJDIR := $(OBJDIR)/$(workbench-datatypes-webp_DEFNAME) +endif +ifneq (,) +workbench-datatypes-webp_OBJDIR := $(workbench-datatypes-webp_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-datatypes-webp-makefile := $(workbench-datatypes-webp_OBJDIR)/Makefile.$(workbench-datatypes-webp_DEFNAME)datatype +workbench-datatypes-webp-genmakefile : $(workbench-datatypes-webp-makefile) + + +workbench-datatypes-webp-genmakefile_OPTS := +ifneq (,) + workbench-datatypes-webp-genmakefile_OPTS += -f + workbench-datatypes-webp-genmakefile_MODNAME := webp_ +else + workbench-datatypes-webp-genmakefile_MODNAME := webp +endif +workbench-datatypes-webp-genmakefile_TARGET := Makefile.$(workbench-datatypes-webp-genmakefile_MODNAME)datatype +workbench-datatypes-webp-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-datatypes-webp-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-datatypes-webp-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatypes-webp-genmakefile_OPTS += -c + workbench-datatypes-webp-genmakefile_DEPS += + endif +else + workbench-datatypes-webp-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/webp.conf + workbench-datatypes-webp-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/webp.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-datatypes-webp-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-datatypes-webp-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatypes-webp-genmakefile_OPTS += -o + workbench-datatypes-webp-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-datatypes-webp-genmakefile_OPTS += -s +endif +ifneq ($(workbench-datatypes-webp_OBJDIR),) + workbench-datatypes-webp-genmakefile_OPTS += -d $(workbench-datatypes-webp_OBJDIR) + workbench-datatypes-webp-genmakefile_TARGET := $(workbench-datatypes-webp_OBJDIR)/$(workbench-datatypes-webp-genmakefile_TARGET) +endif + +$(workbench-datatypes-webp-genmakefile_TARGET) : OPTS := $(workbench-datatypes-webp-genmakefile_OPTS) +$(workbench-datatypes-webp-genmakefile_TARGET) : MODNAME := webp +$(workbench-datatypes-webp-genmakefile_TARGET) : MODTYPE := datatype +$(workbench-datatypes-webp-genmakefile_TARGET) : $(workbench-datatypes-webp-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-datatypes-webp-makefile),) +$(workbench-datatypes-webp-makefile) : | $(workbench-datatypes-webp_OBJDIR) +else +$(workbench-datatypes-webp-makefile) :: $(workbench-datatypes-webp_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-datatypes-webp_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-datatypes-webp_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-datatypes-webp-makefile) + +workbench-datatypes-webp_DEFMODDIR := $($(workbench-datatypes-webp_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-datatypes-webp_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-datatypes-webp_DEFMODDIR) +endif +ifneq (,) + workbench-datatypes-webp_MODDIR := +else + workbench-datatypes-webp_MODDIR := $(workbench-datatypes-webp_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-datatypes-webp_INCDIR := +else +workbench-datatypes-webp_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-datatypes-webp_LIBDEFSINC := $(workbench-datatypes-webp_OBJDIR)/include/$(workbench-datatypes-webp_DEFNAME)_libdefs.h +workbench-datatypes-webp_DEFLIBDEFSINC := $(workbench-datatypes-webp_OBJDIR)/include/$(workbench-datatypes-webp_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-datatypes-webp-includes-quick : workbench-datatypes-webp-includes +workbench-datatypes-webp-includes : $(addprefix $(GENINCDIR)/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-datatypes-webp_INCDIR)/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) \ + $(workbench-datatypes-webp_LIBDEFSINC) $(workbench-datatypes-webp_DEFLIBDEFSINC) + +ifneq ($($(workbench-datatypes-webp_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-datatypes-webp-includes_MODNAME := webp_ +else + workbench-datatypes-webp-includes_MODNAME := webp +endif + +ifneq ($($(workbench-datatypes-webp-includes_MODNAME)_INCLUDES),) + +workbench-datatypes-webp-includes_TARGETS := $($(workbench-datatypes-webp-includes_MODNAME)_INCLUDES) + +workbench-datatypes-webp-includes_DEPS := $(GENMODULE) +workbench-datatypes-webp-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-datatypes-webp-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-datatypes-webp-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatypes-webp-includes_OPTS += -c + workbench-datatypes-webp-includes_DEPS += + endif +else + workbench-datatypes-webp-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/webp.conf + workbench-datatypes-webp-includes_DEPS += $(SRCDIR)/$(CURDIR)/webp.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-datatypes-webp-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-datatypes-webp-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatypes-webp-includes_OPTS += -o + workbench-datatypes-webp-includes_DEPS += + endif +endif +ifneq (,) + workbench-datatypes-webp-includes_OPTS += -s +endif +ifneq ($(workbench-datatypes-webp_OBJDIR)/include,) + workbench-datatypes-webp-includes_OPTS += -d $(workbench-datatypes-webp_OBJDIR)/include + workbench-datatypes-webp-includes_TARGETS := $(addprefix $(workbench-datatypes-webp_OBJDIR)/include/,$(workbench-datatypes-webp-includes_TARGETS)) + workbench-datatypes-webp-includes_GENINCFLAG=$(workbench-datatypes-webp_OBJDIR)/include/.webp.datatype-includes +else + workbench-datatypes-webp-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.webp.datatype-includes +endif + +$(workbench-datatypes-webp-includes_TARGETS) : $(workbench-datatypes-webp-includes_DEPS) $(workbench-datatypes-webp-includes_GENINCFLAG) + +$(workbench-datatypes-webp-includes_GENINCFLAG) : OPTS := $(workbench-datatypes-webp-includes_OPTS) +$(workbench-datatypes-webp-includes_GENINCFLAG) : MODNAME := webp +$(workbench-datatypes-webp-includes_GENINCFLAG) : MODTYPE := datatype +$(workbench-datatypes-webp-includes_GENINCFLAG) : $(workbench-datatypes-webp-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-datatypes-webp_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) : | $(workbench-datatypes-webp_OBJDIR)/webp_geninc + +$(workbench-datatypes-webp_OBJDIR)/webp_geninc : COPYSRCDIR := $(workbench-datatypes-webp_OBJDIR)/include +$(workbench-datatypes-webp_OBJDIR)/webp_geninc : TGTDIR := $(GENINCDIR) +$(workbench-datatypes-webp_OBJDIR)/webp_geninc : FILES := $($(workbench-datatypes-webp_DEFNAME)_INCLUDES) +$(workbench-datatypes-webp_OBJDIR)/webp_geninc : $(addprefix $(workbench-datatypes-webp_OBJDIR)/include/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-datatypes-webp_OBJDIR)/include + +$(addprefix $(workbench-datatypes-webp_INCDIR)/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) : | $(workbench-datatypes-webp_OBJDIR)/webp_incs + +$(workbench-datatypes-webp_OBJDIR)/webp_incs : COPYSRCDIR := $(workbench-datatypes-webp_OBJDIR)/include +$(workbench-datatypes-webp_OBJDIR)/webp_incs : TGTDIR := $(workbench-datatypes-webp_INCDIR) +$(workbench-datatypes-webp_OBJDIR)/webp_incs : FILES := $($(workbench-datatypes-webp_DEFNAME)_INCLUDES) +$(workbench-datatypes-webp_OBJDIR)/webp_incs : $(addprefix $(workbench-datatypes-webp_OBJDIR)/include/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-datatypes-webp_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-datatypes-webp_DEFNAME)_INCLUDES)))) + +TMPwebp_INCDIRS := \ + $(workbench-datatypes-webp_OBJDIR)/include $(addprefix $(workbench-datatypes-webp_OBJDIR)/include/,$(workbench-datatypes-webp_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-datatypes-webp_INCDIRS)) \ + $(workbench-datatypes-webp_INCDIR) $(addprefix $(workbench-datatypes-webp_INCDIR)/,$(workbench-datatypes-webp_INCDIRS)) + +ifneq (workbench-datatypes-webp-includes-dirs,) +workbench-datatypes-webp-includes-dirs : | $(TMPwebp_INCDIRS) +else +workbench-datatypes-webp-includes-dirs :: $(TMPwebp_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPwebp_INCDIRS) + + +endif + +endif + + +workbench-datatypes-webp-genlibdefs_OPTS := +ifneq (,) + workbench-datatypes-webp-genlibdefs_OPTS += -f + workbench-datatypes-webp-genlibdefs_MODNAME := webp_ +else + workbench-datatypes-webp-genlibdefs_MODNAME := webp +endif +workbench-datatypes-webp-genlibdefs_TARGET := $(workbench-datatypes-webp-genlibdefs_MODNAME)_libdefs.h +workbench-datatypes-webp-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-datatypes-webp-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-datatypes-webp-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatypes-webp-genlibdefs_OPTS += -c + workbench-datatypes-webp-genlibdefs_DEPS += + endif +else + workbench-datatypes-webp-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/webp.conf + workbench-datatypes-webp-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/webp.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-datatypes-webp-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-datatypes-webp-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatypes-webp-genlibdefs_OPTS += -o + workbench-datatypes-webp-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-datatypes-webp-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-datatypes-webp_OBJDIR)/include,) + workbench-datatypes-webp-genlibdefs_OPTS += -d $(workbench-datatypes-webp_OBJDIR)/include + workbench-datatypes-webp-genlibdefs_TARGET := $(workbench-datatypes-webp_OBJDIR)/include/$(workbench-datatypes-webp-genlibdefs_TARGET) +endif +ifneq (,) + workbench-datatypes-webp-genlibdefs_OPTS += -v +endif + +$(workbench-datatypes-webp-genlibdefs_TARGET) : OPTS := $(workbench-datatypes-webp-genlibdefs_OPTS) +$(workbench-datatypes-webp-genlibdefs_TARGET) : MODNAME := webp +$(workbench-datatypes-webp-genlibdefs_TARGET) : MODTYPE := datatype +$(workbench-datatypes-webp-genlibdefs_TARGET) : $(workbench-datatypes-webp-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-datatypes-webp_DEFLIBDEFSINC) : FILENAME := $(workbench-datatypes-webp_LIBDEFSINC) +$(workbench-datatypes-webp_DEFLIBDEFSINC) : $(workbench-datatypes-webp_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-datatypes-webp_LIBDEFSINC) $(workbench-datatypes-webp_DEFLIBDEFSINC) : | $(workbench-datatypes-webp_OBJDIR)/include + +ifneq (workbench-datatypes-webp-includes-dirs,) +workbench-datatypes-webp-includes-dirs : | $(workbench-datatypes-webp_OBJDIR)/include +else +workbench-datatypes-webp-includes-dirs :: $(workbench-datatypes-webp_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-datatypes-webp_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-datatypes-webp-genmodfiles_OPTS := +ifneq (,) + workbench-datatypes-webp-genmodfiles_OPTS += -f + workbench-datatypes-webp-genmodfiles_MODNAME := webp_ +else + workbench-datatypes-webp-genmodfiles_MODNAME := webp +endif +workbench-datatypes-webp-genmodfiles_GENTARGETS := $($(workbench-datatypes-webp-genmodfiles_MODNAME)_STARTFILES) $($(workbench-datatypes-webp-genmodfiles_MODNAME)_ENDFILES) +workbench-datatypes-webp-genmodfiles_STUBTARGETS := $($(workbench-datatypes-webp-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-datatypes-webp-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-datatypes-webp-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-datatypes-webp-genmodfiles_GENTARGETS)) +workbench-datatypes-webp-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-datatypes-webp-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-datatypes-webp-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-datatypes-webp-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-datatypes-webp-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-datatypes-webp-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-datatypes-webp-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatypes-webp-genmodfiles_OPTS += -c + workbench-datatypes-webp-genmodfiles_DEPS += + endif +else + workbench-datatypes-webp-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/webp.conf + workbench-datatypes-webp-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/webp.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-datatypes-webp-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-datatypes-webp-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-datatypes-webp-genmodfiles_OPTS += -o + workbench-datatypes-webp-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-datatypes-webp-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-datatypes-webp_OBJDIR),) + workbench-datatypes-webp-genmodfiles_OPTS += -d $(workbench-datatypes-webp_OBJDIR) + workbench-datatypes-webp-genmodfiles_TARGETDIR := $(shell echo $(workbench-datatypes-webp_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-datatypes-webp-genmodfiles_GENTARGETS := $(addprefix $(workbench-datatypes-webp-genmodfiles_TARGETDIR)/,$(workbench-datatypes-webp-genmodfiles_GENTARGETS)) + workbench-datatypes-webp-genmodfiles_GENFILEFLAG=$(workbench-datatypes-webp-genmodfiles_TARGETDIR)/.webp.datatype-genfiles +else + workbench-datatypes-webp-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.webp.datatype-genfiles +endif +ifneq ($(workbench-datatypes-webp_OBJDIR)/linklib,) + workbench-datatypes-webp-genmodfiles_OPTS += -l $(workbench-datatypes-webp_OBJDIR)/linklib + workbench-datatypes-webp-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-datatypes-webp_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-datatypes-webp-genmodfiles_STUBTARGETS := $(addprefix $(workbench-datatypes-webp-genmodfiles_STUBTARGETDIR)/,$(workbench-datatypes-webp-genmodfiles_STUBTARGETS)) + workbench-datatypes-webp-genmodfiles_TARGETDIRS += $(workbench-datatypes-webp_OBJDIR)/linklib +else +ifneq ($(workbench-datatypes-webp_OBJDIR),) + workbench-datatypes-webp-genmodfiles_STUBTARGETS := $(addprefix $(workbench-datatypes-webp-genmodfiles_TARGETDIR)/,$(workbench-datatypes-webp-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-datatypes-webp-genmodfiles_TARGETS := $(workbench-datatypes-webp-genmodfiles_GENTARGETS) $(workbench-datatypes-webp-genmodfiles_STUBTARGETS) +ifneq ($(workbench-datatypes-webp-genmodfiles_TARGETDIRS),) +$(workbench-datatypes-webp-genmodfiles_TARGETS) : | $(workbench-datatypes-webp-genmodfiles_TARGETDIRS) +endif + +$(workbench-datatypes-webp-genmodfiles_TARGETS) : $(workbench-datatypes-webp-genmodfiles_DEPS) $(workbench-datatypes-webp-genmodfiles_GENFILEFLAG) + +$(workbench-datatypes-webp-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-datatypes-webp-genmodfiles_OPTS) +$(workbench-datatypes-webp-genmodfiles_GENFILEFLAG) : MODNAME := webp +$(workbench-datatypes-webp-genmodfiles_GENFILEFLAG) : MODTYPE := datatype +$(workbench-datatypes-webp-genmodfiles_GENFILEFLAG) : $(workbench-datatypes-webp-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-datatypes-webp-genmodfiles_GENFILEFLAG) : $(workbench-datatypes-webp_DEFLIBDEFSINC) $(workbench-datatypes-webp-makefile) + + +ifneq ($(workbench-datatypes-webp-genmodfiles_GENFILEFLAG),) +$(workbench-datatypes-webp-genmodfiles_GENFILEFLAG) : | $(workbench-datatypes-webp_OBJDIR)/linklib +else +$(workbench-datatypes-webp-genmodfiles_GENFILEFLAG) :: $(workbench-datatypes-webp_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-datatypes-webp_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-datatypes-webp_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-datatypes-webp_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-datatypes-webp-fd : $(workbench-datatypes-webp_FDDIR)/webp_lib.fd + + +TMP_TARGET := webp_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/webp.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/webp.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-datatypes-webp_FDDIR),) + TMP_OPTS += -d $(workbench-datatypes-webp_FDDIR) + TMP_TARGET := $(workbench-datatypes-webp_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := webp +$(TMP_TARGET) : MODTYPE := datatype +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-datatypes-webp_FDDIR)/webp_lib.fd : | $(workbench-datatypes-webp_FDDIR) + + +ifneq (workbench-datatypes-webp-fd-setup,) +workbench-datatypes-webp-fd-setup : | $(workbench-datatypes-webp_FDDIR) +else +workbench-datatypes-webp-fd-setup :: $(workbench-datatypes-webp_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-datatypes-webp_FDDIR) + +endif + +## Compilation +## +workbench-datatypes-webp_FILES := $(WEBPFILES) +workbench-datatypes-webp_OBJCFILES := +workbench-datatypes-webp_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-datatypes-webp_LIBFILES := +workbench-datatypes-webp_LIBS := + +workbench-datatypes-webp_FDIRS := $(sort $(dir $(workbench-datatypes-webp_FILES))) + +workbench-datatypes-webp_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-datatypes-webp_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-datatypes-webp_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-datatypes-webp_FILTERARCH = $(filter-out $(call workbench-datatypes-webp_MATCHARCH,$(1),$(2)),$(2)) +workbench-datatypes-webp_STARTFILES := $(addprefix $(workbench-datatypes-webp_OBJDIR)/,$($(workbench-datatypes-webp_DEFNAME)_STARTFILES)) +workbench-datatypes-webp_ENDFILES := $(addprefix $(workbench-datatypes-webp_OBJDIR)/,$($(workbench-datatypes-webp_DEFNAME)_ENDFILES)) + +workbench-datatypes-webp_ARCHOBJS := $(wildcard $(workbench-datatypes-webp_OBJDIR)/arch/*.o) +workbench-datatypes-webp_LIBARCHOBJS := $(wildcard $(workbench-datatypes-webp_OBJDIR)/linklib/arch/*.o) +workbench-datatypes-webp_ARCHFILES := $(basename $(notdir $(workbench-datatypes-webp_ARCHOBJS))) +workbench-datatypes-webp_LIBARCHFILES := $(basename $(notdir $(workbench-datatypes-webp_LIBARCHOBJS))) +workbench-datatypes-webp_C_NARCHFILES := $(call workbench-datatypes-webp_FILTERARCH,$(workbench-datatypes-webp_ARCHFILES),$(workbench-datatypes-webp_FILES)) +workbench-datatypes-webp_CXX_NARCHFILES := $(call workbench-datatypes-webp_FILTERARCH,$(workbench-datatypes-webp_ARCHFILES),$(workbench-datatypes-webp_CXXFILES)) +workbench-datatypes-webp_OBJC_NARCHFILES := $(call workbench-datatypes-webp_FILTERARCH,$(workbench-datatypes-webp_ARCHFILES),$(workbench-datatypes-webp_OBJCFILES)) +workbench-datatypes-webp_NLIBARCHFILES := $(call workbench-datatypes-webp_FILTERARCH,$(workbench-datatypes-webp_LIBARCHFILES),$(workbench-datatypes-webp_LIBFILES)) +workbench-datatypes-webp_ARCHNLIBFILES := $(call workbench-datatypes-webp_FILTERARCH,$(workbench-datatypes-webp_LIBFILES),$(workbench-datatypes-webp_LIBARCHFILES)) + +workbench-datatypes-webp_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-datatypes-webp_OBJDIR)/include -include $(workbench-datatypes-webp_DEFLIBDEFSINC)) +ifneq (,) +workbench-datatypes-webp_CPPFLAGS += -I +endif +workbench-datatypes-webp_LINKLIBCPPFLAGS := $(workbench-datatypes-webp_CPPFLAGS) +workbench-datatypes-webp_CPPFLAGS += $(strip $($(workbench-datatypes-webp_DEFNAME)_CPPFLAGS)) +workbench-datatypes-webp_LINKLIBCPPFLAGS += $(strip $($(workbench-datatypes-webp_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-datatypes-webp_CFLAGS := $(strip $(CFLAGS) $($(workbench-datatypes-webp_DEFNAME)_CFLAGS)) +workbench-datatypes-webp_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-datatypes-webp_DEFNAME)_LINKLIBCFLAGS)) +workbench-datatypes-webp_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-datatypes-webp_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-datatypes-webp_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-datatypes-webp_CFLAGS := $(strip $(workbench-datatypes-webp_LTOFLAGS) $(workbench-datatypes-webp_CFLAGS)) +workbench-datatypes-webp_LINKLIBCFLAGS := $(strip $(workbench-datatypes-webp_LTOFLAGS) $(workbench-datatypes-webp_LINKLIBCFLAGS)) +workbench-datatypes-webp_CXXFLAGS := $(strip $(workbench-datatypes-webp_LTOFLAGS) $(workbench-datatypes-webp_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-datatypes-webp_SUBSTNULL := +workbench-datatypes-webp_SUBSTSPACE := $(workbench-datatypes-webp_SUBSTNULL) # +workbench-datatypes-webp_SUBSTCOMMA := , +workbench-datatypes-webp_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-datatypes-webp_SUBSTSPACE),$(workbench-datatypes-webp_SUBSTCOMMA),$(strip $($(workbench-datatypes-webp_DEFNAME)_STARTFILES)))) +workbench-datatypes-webp_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-datatypes-webp_CFLAGS := $(strip $(workbench-datatypes-webp_INSTRFUNCFLAGS) $(workbench-datatypes-webp_CFLAGS)) +workbench-datatypes-webp_CXXFLAGS := $(strip $(workbench-datatypes-webp_INSTRFUNCFLAGS) $(workbench-datatypes-webp_CXXFLAGS)) +workbench-datatypes-webp_LIBS += $(workbench-datatypes-webp_INSTRFUNCLIBS) +endif +endif +workbench-datatypes-webp_DFLAGS := $(strip $(workbench-datatypes-webp_DFLAGS) $($(workbench-datatypes-webp_DEFNAME)_DFLAGS)) +workbench-datatypes-webp_LINKLIBDFLAGS := $(strip $(workbench-datatypes-webp_DFLAGS) $($(workbench-datatypes-webp_DEFNAME)_LINKLIBDFLAGS)) +workbench-datatypes-webp_DXXFLAGS := $(strip $(workbench-datatypes-webp_DXXFLAGS) $($(workbench-datatypes-webp_DEFNAME)_DXXFLAGS)) + +ifeq (datatype,library) + workbench-datatypes-webp_LIBSUFFIX := +else + workbench-datatypes-webp_LIBSUFFIX := .datatype +endif + +ifeq (,) +workbench-datatypes-webp_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-datatypes-webp_LIBDIR := +endif + +ifeq (M,M) +workbench-datatypes-webp_LINKLIBCFILES := $(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$($(workbench-datatypes-webp_DEFNAME)_LINKLIBFILES)) +workbench-datatypes-webp_LINKLIBAFILES := $(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$($(workbench-datatypes-webp_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-datatypes-webp_DEFNAME)_LINKLIBFILES) $($(workbench-datatypes-webp_DEFNAME)_LINKLIBAFILES) $(workbench-datatypes-webp_ARCHNLIBFILES)),) + workbench-datatypes-webp_LINKLIB := +else + workbench-datatypes-webp_LINKLIB := $(workbench-datatypes-webp_LIBDIR)/libwebp$(workbench-datatypes-webp_LIBSUFFIX).a + ifneq (webp,$(workbench-datatypes-webp_LINKLIBNAME)) + workbench-datatypes-webp_LINKLIB += $(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)$(workbench-datatypes-webp_LIBSUFFIX).a + endif +endif +workbench-datatypes-webp_LINKLIBFILES := $(workbench-datatypes-webp_LINKLIBCFILES) $(workbench-datatypes-webp_LINKLIBAFILES) + +workbench-datatypes-webp_RELLINKLIBCFILES := $(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$($(workbench-datatypes-webp_DEFNAME)_RELLINKLIBFILES)) +workbench-datatypes-webp_RELLINKLIBAFILES := $(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$($(workbench-datatypes-webp_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-datatypes-webp_DEFNAME)_RELLINKLIBFILES) $($(workbench-datatypes-webp_DEFNAME)_RELLINKLIBAFILES) $(workbench-datatypes-webp_ARCHNLIBFILES)),) + workbench-datatypes-webp_RELLINKLIB := +else + workbench-datatypes-webp_RELLINKLIB := $(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_DEFNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a + ifneq (webp,$(workbench-datatypes-webp_LINKLIBNAME)) + workbench-datatypes-webp_RELLINKLIB += $(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a + endif +endif +workbench-datatypes-webp_RELLINKLIBFILES := $(workbench-datatypes-webp_RELLINKLIBCFILES) $(workbench-datatypes-webp_RELLINKLIBAFILES) +endif + +workbench-datatypes-webp_ENDOBJS := $(addsuffix .o,$(workbench-datatypes-webp_ENDFILES)) +workbench-datatypes-webp_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(notdir $(workbench-datatypes-webp_NLIBARCHFILES))) $(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/arch/,$(notdir $(workbench-datatypes-webp_ARCHNLIBFILES))) $(workbench-datatypes-webp_LINKLIBFILES)) \ + +workbench-datatypes-webp_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(notdir $(workbench-datatypes-webp_NLIBARCHFILES))) $(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/arch/,$(notdir $(workbench-datatypes-webp_ARCHNLIBFILES))) $(workbench-datatypes-webp_RELLINKLIBFILES)) \ + +$(workbench-datatypes-webp_LINKLIBFILES) $(workbench-datatypes-webp_RELLINKLIBFILES) : | $(workbench-datatypes-webp_OBJDIR)/linklib +$(workbench-datatypes-webp_LINKLIBOBJS) $(workbench-datatypes-webp_RELLINKLIBOBJS) : | $(workbench-datatypes-webp_OBJDIR)/linklib + +workbench-datatypes-webp_CCFILES := $(workbench-datatypes-webp_C_NARCHFILES) +workbench-datatypes-webp_TARGETCCFILES := $(strip $(workbench-datatypes-webp_STARTFILES) $(workbench-datatypes-webp_ENDFILES)) +workbench-datatypes-webp_LINKLIBCCFILES := $(strip $(workbench-datatypes-webp_NLIBARCHFILES) $(workbench-datatypes-webp_LINKLIBCFILES) $(workbench-datatypes-webp_RELLINKLIBCFILES)) +workbench-datatypes-webp_LINKLIBCCGENFILES := $(strip $(workbench-datatypes-webp_LINKLIBCFILES) $(workbench-datatypes-webp_RELLINKLIBCFILES)) + + +workbench-datatypes-webp_CXXABSBASENAMES := $(foreach workbench-datatypes-webp_CXXBASE,$(workbench-datatypes-webp_CXX_NARCHFILES),$(if $(filter /%,$(workbench-datatypes-webp_CXXBASE)),$(workbench-datatypes-webp_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-datatypes-webp_CXXBASE)))) + +ifneq ($(workbench-datatypes-webp_CXXABSBASENAMES),) + +workbench-datatypes-webp_CXXBASENAMES := $(basename $(workbench-datatypes-webp_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-datatypes-webp_MCXX_FILES := $(strip $(foreach workbench-datatypes-webp_CXXBASE,$(workbench-datatypes-webp_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-datatypes-webp_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-datatypes-webp_EXT),$(workbench-datatypes-webp_CXXBASE))))))) + +ifeq (,) +workbench-datatypes-webp_MCXX_SRCWILDCARD := % +else +workbench-datatypes-webp_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatypes-webp_OBJDIR),) + workbench-datatypes-webp_CXXTARGETS := $(notdir $(workbench-datatypes-webp_CXXBASENAMES:=.o)) + workbench-datatypes-webp_CXXDTARGETS := $(notdir $(workbench-datatypes-webp_CXXBASENAMES:=.d)) + workbench-datatypes-webp_MCXX_WILDCARD := % +else + workbench-datatypes-webp_CXXTARGETS := $(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(workbench-datatypes-webp_CXXBASENAMES:=.o))) + workbench-datatypes-webp_CXXDTARGETS := $(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(workbench-datatypes-webp_CXXBASENAMES:=.d))) + workbench-datatypes-webp_MCXX_WILDCARD := $(workbench-datatypes-webp_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-datatypes-webp_CXXTARGETS) $(workbench-datatypes-webp_CXXDTARGETS) : | $(workbench-datatypes-webp_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-datatypes-webp_MCXX_CPPFLAGS := $(workbench-datatypes-webp_CPPFLAGS) +workbench-datatypes-webp_CXXFLAGS := $(workbench-datatypes-webp_CXXFLAGS) +ifeq ($(workbench-datatypes-webp_DXXFLAGS),) + workbench-datatypes-webp_DXXFLAGS := $(workbench-datatypes-webp_CXXFLAGS) +else + workbench-datatypes-webp_DXXFLAGS := $(workbench-datatypes-webp_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-datatypes-webp_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-datatypes-webp_STRIP ?= $(HOST_STRIP) + workbench-datatypes-webp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-datatypes-webp_CXXCMD:=$(HOST_CXX) + workbench-datatypes-webp_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-datatypes-webp_MCXX_CPPFLAGS) $(workbench-datatypes-webp_MCXX_EXTRA_CPPFLAGS)) + workbench-datatypes-webp_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-datatypes-webp_CXXFLAGS)) + workbench-datatypes-webp_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-datatypes-webp_DXXFLAGS)) + workbench-datatypes-webp_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-datatypes-webp_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-datatypes-webp_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-datatypes-webp_STRIP ?= $(TARGET_STRIP) + workbench-datatypes-webp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-datatypes-webp_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-datatypes-webp_MCXX_CPPFLAGS := $(strip $(workbench-datatypes-webp_MCXX_CPPFLAGS) $(workbench-datatypes-webp_MCXX_EXTRA_CPPFLAGS)) + workbench-datatypes-webp_CXXFLAGS := $(strip $(workbench-datatypes-webp_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-datatypes-webp_DXXFLAGS := $(workbench-datatypes-webp_DXXFLAGS) + workbench-datatypes-webp_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-datatypes-webp_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-datatypes-webp_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-datatypes-webp_STRIP ?= $(ECHO) >/dev/null + workbench-datatypes-webp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-datatypes-webp_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-datatypes-webp_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-datatypes-webp_MCXX_CPPFLAGS) $(workbench-datatypes-webp_MCXX_EXTRA_CPPFLAGS)) + workbench-datatypes-webp_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-datatypes-webp_CXXFLAGS)) + workbench-datatypes-webp_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-datatypes-webp_DXXFLAGS)) + workbench-datatypes-webp_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-datatypes-webp_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-datatypes-webp_CXXCMD) $(workbench-datatypes-webp_CXXIQUOTE) $(dir $(2)) $(workbench-datatypes-webp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_CXXIQUOTE) . $(workbench-datatypes-webp_CXXIQUOTE_END) $(strip $(workbench-datatypes-webp_CXXFLAGS) $(workbench-datatypes-webp_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-datatypes-webp_CXXCMD) $(workbench-datatypes-webp_CXXIQUOTE) $(dir $(2)) $(workbench-datatypes-webp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_CXXIQUOTE) . $(workbench-datatypes-webp_CXXIQUOTE_END) $(strip $(workbench-datatypes-webp_CXXFLAGS) $(workbench-datatypes-webp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-datatypes-webp_CXXCMD) $(workbench-datatypes-webp_CXXIQUOTE) $(dir $(2)) $(workbench-datatypes-webp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_CXXIQUOTE) . $(workbench-datatypes-webp_CXXIQUOTE_END) $(strip $(workbench-datatypes-webp_CXXFLAGS) $(workbench-datatypes-webp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-datatypes-webp_CXXCMD)" $(MKDEPEND) $(strip $(workbench-datatypes-webp_DXXFLAGS) $(workbench-datatypes-webp_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-datatypes-webp_OBJDIR),) + $(foreach workbench-datatypes-webp_CXXFILE,$(workbench-datatypes-webp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-datatypes-webp_CXXFILE))),$(workbench-datatypes-webp_CXXFILE)))) +else + $(foreach workbench-datatypes-webp_CXXFILE,$(workbench-datatypes-webp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(basename $(workbench-datatypes-webp_CXXFILE)))),$(workbench-datatypes-webp_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-datatypes-webp_OBJC_NARCHFILES),) + +ifeq (,) +workbench-datatypes-webp_MOBJC_SRCWILDCARD := % +else +workbench-datatypes-webp_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatypes-webp_OBJDIR),) + workbench-datatypes-webp_MOBJC_TARGETS := $(addsuffix .o,$(workbench-datatypes-webp_OBJC_NARCHFILES)) + workbench-datatypes-webp_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-datatypes-webp_OBJC_NARCHFILES)) + workbench-datatypes-webp_MOBJC_WILDCARD := % +else + workbench-datatypes-webp_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(workbench-datatypes-webp_OBJC_NARCHFILES))) + workbench-datatypes-webp_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(workbench-datatypes-webp_OBJC_NARCHFILES))) + workbench-datatypes-webp_MOBJC_WILDCARD := $(workbench-datatypes-webp_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-datatypes-webp_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-datatypes-webp_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-datatypes-webp_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatypes-webp_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-datatypes-webp_MOBJC_DIRS := $(foreach dir, $(workbench-datatypes-webp_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatypes-webp_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-datatypes-webp_MOBJC_DIRS),) + workbench-datatypes-webp_MOBJC_DIRS := $(shell echo $(workbench-datatypes-webp_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-datatypes-webp_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-datatypes-webp_CC := $(TARGET_CC) +else + workbench-datatypes-webp_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-datatypes-webp_MOBJC_CPPFLAGS := $(workbench-datatypes-webp_CPPFLAGS) +workbench-datatypes-webp_OBJCFLAGS := $(workbench-datatypes-webp_CFLAGS) +workbench-datatypes-webp_OBJCFLAGS := $(workbench-datatypes-webp_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-datatypes-webp_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-datatypes-webp_OBJCFLAGS))) +ifeq ($(workbench-datatypes-webp_DFLAGS),) + workbench-datatypes-webp_OBJCDFLAGS := $(workbench-datatypes-webp_CFLAGS) +else + workbench-datatypes-webp_OBJCDFLAGS := $(workbench-datatypes-webp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-datatypes-webp_LINK ?= $(strip $(workbench-datatypes-webp_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-datatypes-webp_STRIP ?= $(TARGET_STRIP) + workbench-datatypes-webp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-datatypes-webp_CC) $(TARGET_SYSROOT)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_MOBJC_CPPFLAGS:=$(strip $(workbench-datatypes-webp_MOBJC_CPPFLAGS) $(workbench-datatypes-webp_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_OBJCFLAGS:=$(strip $(workbench-datatypes-webp_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_OBJCDFLAGS:=$(workbench-datatypes-webp_OBJCDFLAGS) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-datatypes-webp_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-datatypes-webp_STRIP ?= $(HOST_STRIP) + workbench-datatypes-webp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-datatypes-webp_MOBJC_CPPFLAGS) $(workbench-datatypes-webp_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_OBJCFLAGS)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_OBJCDFLAGS)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(HOST_IQUOTE) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-datatypes-webp_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-datatypes-webp_STRIP ?= $(ECHO) >/dev/null + workbench-datatypes-webp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-datatypes-webp_MOBJC_CPPFLAGS) $(workbench-datatypes-webp_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_OBJCFLAGS)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_OBJCDFLAGS)) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-datatypes-webp_MOBJC_TARGETS) $(workbench-datatypes-webp_MOBJC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatypes-webp_MOBJC_TARGETS) : CPPFLAGS := $(workbench-datatypes-webp_MOBJC_CPPFLAGS) +$(workbench-datatypes-webp_MOBJC_TARGETS) : CFLAGS := $(workbench-datatypes-webp_OBJCFLAGS) +$(workbench-datatypes-webp_MOBJC_TARGETS) : $(workbench-datatypes-webp_MOBJC_WILDCARD).o : $(workbench-datatypes-webp_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatypes-webp_MOBJC_DTARGETS) : $(workbench-datatypes-webp_MOBJC_WILDCARD).d : $(workbench-datatypes-webp_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatypes-webp_OBJCDFLAGS) $(workbench-datatypes-webp_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-datatypes-webp_MC_SRCWILDCARD := % +else +workbench-datatypes-webp_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatypes-webp_OBJDIR),) +workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(workbench-datatypes-webp_CCFILES)) +workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(workbench-datatypes-webp_CCFILES)) +workbench-datatypes-webp_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(workbench-datatypes-webp_CCFILES)))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(workbench-datatypes-webp_CCFILES)))) +else +ifeq (,) + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(workbench-datatypes-webp_CCFILES))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(workbench-datatypes-webp_CCFILES))) +else + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(patsubst /%,%,$(workbench-datatypes-webp_CCFILES)))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(patsubst /%,%,$(workbench-datatypes-webp_CCFILES)))) +endif +endif +workbench-datatypes-webp_MC_TGTWILDCARD := $(workbench-datatypes-webp_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : | $(addsuffix .c,$(workbench-datatypes-webp_CCFILES)) + +# Be sure that all .c files are found +workbench-datatypes-webp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatypes-webp_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatypes-webp_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatypes-webp_MC_DIRS := $(foreach dir, $(workbench-datatypes-webp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatypes-webp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatypes-webp_MC_DIRS),) + workbench-datatypes-webp_MC_DIRS := $(shell echo $(workbench-datatypes-webp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-datatypes-webp_MC_DIRS) +endif + +endif + +workbench-datatypes-webp_MC_CPPFLAGS := $(workbench-datatypes-webp_CPPFLAGS) +workbench-datatypes-webp_CFLAGS := $(workbench-datatypes-webp_CFLAGS) +ifeq ($(workbench-datatypes-webp_DFLAGS),) + workbench-datatypes-webp_DFLAGS := $(workbench-datatypes-webp_CFLAGS) +else + workbench-datatypes-webp_DFLAGS := $(workbench-datatypes-webp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-datatypes-webp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(TARGET_STRIP) +workbench-datatypes-webp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(workbench-datatypes-webp_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(workbench-datatypes-webp_DFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-datatypes-webp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(HOST_STRIP) +workbench-datatypes-webp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_DFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(HOST_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-datatypes-webp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(ECHO) >/dev/null +workbench-datatypes-webp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_DFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatypes-webp_MC_TARGETS) : CPPFLAGS := $(workbench-datatypes-webp_MC_CPPFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) : CFLAGS := $(workbench-datatypes-webp_CFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) : $(workbench-datatypes-webp_MC_TGTWILDCARD).o : $(workbench-datatypes-webp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatypes-webp_MC_DTARGETS) : $(workbench-datatypes-webp_MC_TGTWILDCARD).d : $(workbench-datatypes-webp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatypes-webp_DFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-datatypes-webp_MC_SRCWILDCARD := % +else +workbench-datatypes-webp_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatypes-webp_OBJDIR),) +workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(workbench-datatypes-webp_TARGETCCFILES)) +workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(workbench-datatypes-webp_TARGETCCFILES)) +workbench-datatypes-webp_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(workbench-datatypes-webp_TARGETCCFILES)))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(workbench-datatypes-webp_TARGETCCFILES)))) +else +ifeq (,) + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(workbench-datatypes-webp_TARGETCCFILES))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(workbench-datatypes-webp_TARGETCCFILES))) +else + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(patsubst /%,%,$(workbench-datatypes-webp_TARGETCCFILES)))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(patsubst /%,%,$(workbench-datatypes-webp_TARGETCCFILES)))) +endif +endif +workbench-datatypes-webp_MC_TGTWILDCARD := $(workbench-datatypes-webp_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : | $(addsuffix .c,$(workbench-datatypes-webp_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-datatypes-webp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatypes-webp_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatypes-webp_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatypes-webp_MC_DIRS := $(foreach dir, $(workbench-datatypes-webp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatypes-webp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatypes-webp_MC_DIRS),) + workbench-datatypes-webp_MC_DIRS := $(shell echo $(workbench-datatypes-webp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-datatypes-webp_MC_DIRS) +endif + +endif + +workbench-datatypes-webp_MC_CPPFLAGS := $(workbench-datatypes-webp_CPPFLAGS) -D__AROS__ +workbench-datatypes-webp_CFLAGS := $(workbench-datatypes-webp_CFLAGS) +ifeq ($(workbench-datatypes-webp_DFLAGS),) + workbench-datatypes-webp_DFLAGS := $(workbench-datatypes-webp_CFLAGS) +else + workbench-datatypes-webp_DFLAGS := $(workbench-datatypes-webp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-datatypes-webp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(TARGET_STRIP) +workbench-datatypes-webp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(workbench-datatypes-webp_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(workbench-datatypes-webp_DFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-datatypes-webp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(HOST_STRIP) +workbench-datatypes-webp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_DFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(HOST_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-datatypes-webp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(ECHO) >/dev/null +workbench-datatypes-webp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_DFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatypes-webp_MC_TARGETS) : CPPFLAGS := $(workbench-datatypes-webp_MC_CPPFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) : CFLAGS := $(workbench-datatypes-webp_CFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) : $(workbench-datatypes-webp_MC_TGTWILDCARD).o : $(workbench-datatypes-webp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatypes-webp_MC_DTARGETS) : $(workbench-datatypes-webp_MC_TGTWILDCARD).d : $(workbench-datatypes-webp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatypes-webp_DFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-datatypes-webp_MC_SRCWILDCARD := % +else +workbench-datatypes-webp_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-datatypes-webp_OBJDIR)/linklib,) +workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(workbench-datatypes-webp_NLIBARCHFILES)) +workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(workbench-datatypes-webp_NLIBARCHFILES)) +workbench-datatypes-webp_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(notdir $(workbench-datatypes-webp_NLIBARCHFILES)))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(notdir $(workbench-datatypes-webp_NLIBARCHFILES)))) +else +ifeq (,) + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(workbench-datatypes-webp_NLIBARCHFILES))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(workbench-datatypes-webp_NLIBARCHFILES))) +else + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-datatypes-webp_NLIBARCHFILES)))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-datatypes-webp_NLIBARCHFILES)))) +endif +endif +workbench-datatypes-webp_MC_TGTWILDCARD := $(workbench-datatypes-webp_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : | $(addsuffix .c,$(workbench-datatypes-webp_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-datatypes-webp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatypes-webp_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatypes-webp_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatypes-webp_MC_DIRS := $(foreach dir, $(workbench-datatypes-webp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatypes-webp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatypes-webp_MC_DIRS),) + workbench-datatypes-webp_MC_DIRS := $(shell echo $(workbench-datatypes-webp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-datatypes-webp_MC_DIRS) +endif + +endif + +workbench-datatypes-webp_MC_CPPFLAGS := $(workbench-datatypes-webp_LINKLIBCPPFLAGS) -D__AROS__ +workbench-datatypes-webp_CFLAGS := $(workbench-datatypes-webp_LINKLIBCFLAGS) +ifeq ($(workbench-datatypes-webp_LINKLIBDFLAGS),) + workbench-datatypes-webp_DFLAGS := $(workbench-datatypes-webp_LINKLIBCFLAGS) +else + workbench-datatypes-webp_DFLAGS := $(workbench-datatypes-webp_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-datatypes-webp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(TARGET_STRIP) +workbench-datatypes-webp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(workbench-datatypes-webp_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(workbench-datatypes-webp_DFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-datatypes-webp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(HOST_STRIP) +workbench-datatypes-webp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_DFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(HOST_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-datatypes-webp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(ECHO) >/dev/null +workbench-datatypes-webp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_DFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatypes-webp_MC_TARGETS) : CPPFLAGS := $(workbench-datatypes-webp_MC_CPPFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) : CFLAGS := $(workbench-datatypes-webp_CFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) : $(workbench-datatypes-webp_MC_TGTWILDCARD).o : $(workbench-datatypes-webp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatypes-webp_MC_DTARGETS) : $(workbench-datatypes-webp_MC_TGTWILDCARD).d : $(workbench-datatypes-webp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatypes-webp_DFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-datatypes-webp_OBJDIR)/linklib,) +workbench-datatypes-webp_MC_SRCWILDCARD := % +else +workbench-datatypes-webp_MC_SRCWILDCARD := $(workbench-datatypes-webp_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-datatypes-webp_OBJDIR)/linklib,) +workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(workbench-datatypes-webp_LINKLIBCCGENFILES)) +workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(workbench-datatypes-webp_LINKLIBCCGENFILES)) +workbench-datatypes-webp_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(notdir $(workbench-datatypes-webp_LINKLIBCCGENFILES)))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(notdir $(workbench-datatypes-webp_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-datatypes-webp_OBJDIR)/linklib,) + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(workbench-datatypes-webp_LINKLIBCCGENFILES))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(workbench-datatypes-webp_LINKLIBCCGENFILES))) +else + workbench-datatypes-webp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(patsubst $(workbench-datatypes-webp_OBJDIR)/linklib/%,%,$(workbench-datatypes-webp_LINKLIBCCGENFILES)))) + workbench-datatypes-webp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(patsubst $(workbench-datatypes-webp_OBJDIR)/linklib/%,%,$(workbench-datatypes-webp_LINKLIBCCGENFILES)))) +endif +endif +workbench-datatypes-webp_MC_TGTWILDCARD := $(workbench-datatypes-webp_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : | $(addsuffix .c,$(workbench-datatypes-webp_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-datatypes-webp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatypes-webp_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatypes-webp_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatypes-webp_MC_DIRS := $(foreach dir, $(workbench-datatypes-webp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatypes-webp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatypes-webp_MC_DIRS),) + workbench-datatypes-webp_MC_DIRS := $(shell echo $(workbench-datatypes-webp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-datatypes-webp_MC_DIRS) +endif + +endif + +workbench-datatypes-webp_MC_CPPFLAGS := $(workbench-datatypes-webp_LINKLIBCPPFLAGS) -D__AROS__ +workbench-datatypes-webp_CFLAGS := $(workbench-datatypes-webp_LINKLIBCFLAGS) +ifeq ($(workbench-datatypes-webp_LINKLIBDFLAGS),) + workbench-datatypes-webp_DFLAGS := $(workbench-datatypes-webp_LINKLIBCFLAGS) +else + workbench-datatypes-webp_DFLAGS := $(workbench-datatypes-webp_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-datatypes-webp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(TARGET_STRIP) +workbench-datatypes-webp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(workbench-datatypes-webp_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(workbench-datatypes-webp_DFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-datatypes-webp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(HOST_STRIP) +workbench-datatypes-webp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-datatypes-webp_DFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(HOST_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-datatypes-webp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-datatypes-webp_STRIP ?= $(ECHO) >/dev/null +workbench-datatypes-webp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS) $(workbench-datatypes-webp_MC_EXTRA_CPPFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_CFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-datatypes-webp_DFLAGS)) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-datatypes-webp_MC_TARGETS) $(workbench-datatypes-webp_MC_DTARGETS) : workbench-datatypes-webp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-datatypes-webp_MC_TARGETS) : CPPFLAGS := $(workbench-datatypes-webp_MC_CPPFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) : CFLAGS := $(workbench-datatypes-webp_CFLAGS) +$(workbench-datatypes-webp_MC_TARGETS) : $(workbench-datatypes-webp_MC_TGTWILDCARD).o : $(workbench-datatypes-webp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-datatypes-webp_IQUOTE) $(dir $<) $(workbench-datatypes-webp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-datatypes-webp_IQUOTE) . $(workbench-datatypes-webp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-datatypes-webp_MC_DTARGETS) : $(workbench-datatypes-webp_MC_TGTWILDCARD).d : $(workbench-datatypes-webp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-datatypes-webp_DFLAGS) $(workbench-datatypes-webp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-datatypes-webp_LINKLIBAFILES),) + +ifeq ($(workbench-datatypes-webp_OBJDIR)/linklib,) +workbench-datatypes-webp-MA_TARGETS := $(addsuffix .o,$(workbench-datatypes-webp_LINKLIBAFILES) $(workbench-datatypes-webp_RELLINKLIBAFILES)) +workbench-datatypes-webp-MA_WILDCARD := % +else +workbench-datatypes-webp-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(notdir $(workbench-datatypes-webp_LINKLIBAFILES) $(workbench-datatypes-webp_RELLINKLIBAFILES)))) +workbench-datatypes-webp-MA_WILDCARD := $(workbench-datatypes-webp_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-datatypes-webp-MA_TARGETS) : | $(addsuffix .S,$(workbench-datatypes-webp_LINKLIBAFILES) $(workbench-datatypes-webp_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-datatypes-webp-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-datatypes-webp-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-datatypes-webp_LINKLIBAFILES) $(workbench-datatypes-webp_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-datatypes-webp-MA_DIRS := $(foreach dir, $(workbench-datatypes-webp-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-datatypes-webp-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-datatypes-webp-MA_DIRS),) + workbench-datatypes-webp-MA_DIRS := $(shell echo $(workbench-datatypes-webp-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-datatypes-webp-MA_DIRS) +endif + +endif + +workbench-datatypes-webp-MA_ASSEMBLER ?= $(workbench-datatypes-webp_ASSEMBLER) + +$(workbench-datatypes-webp-MA_TARGETS) : workbench-datatypes-webp-MA_CMD:= $(workbench-datatypes-webp-MA_ASSEMBLER) + +$(workbench-datatypes-webp-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-datatypes-webp-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-datatypes-webp-MA_TARGETS) : $(workbench-datatypes-webp-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-datatypes-webp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-datatypes-webp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-datatypes-webp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-datatypes-webp_SUFFIX := datatype +else +workbench-datatypes-webp_SUFFIX := +endif + +ifeq (target,target) +workbench-datatypes-webp_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-datatypes-webp_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-datatypes-webp_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-datatypes-webp_SUFFIX),handler) +workbench-datatypes-webp_MODULE := $(AROSDIR)/$(workbench-datatypes-webp_MODDIR)/$(workbench-datatypes-webp_DEFNAME)-$(workbench-datatypes-webp_SUFFIX) +else +workbench-datatypes-webp_MODULE := $(AROSDIR)/$(workbench-datatypes-webp_MODDIR)/$(workbench-datatypes-webp_DEFNAME).$(workbench-datatypes-webp_SUFFIX) +endif +workbench-datatypes-webp_KOBJ := $(KOBJSDIR)/$(workbench-datatypes-webp_DEFNAME)_$(workbench-datatypes-webp_SUFFIX).o +else +workbench-datatypes-webp_MODULE := +workbench-datatypes-webp_KOBJ := +endif + +workbench-datatypes-webp-quick : workbench-datatypes-webp +workbench-datatypes-webp : $(workbench-datatypes-webp_MODULE) $(workbench-datatypes-webp_LINKLIB) $(workbench-datatypes-webp_RELLINKLIB) +ifeq (M,M) +workbench-datatypes-webp-kobj : $(workbench-datatypes-webp_KOBJ) $(workbench-datatypes-webp_LINKLIB) $(workbench-datatypes-webp_RELLINKLIB) +workbench-datatypes-webp-kobj-quick : $(workbench-datatypes-webp_KOBJ) $(workbench-datatypes-webp_LINKLIB) $(workbench-datatypes-webp_RELLINKLIB) +endif +ifeq (M,M) +workbench-datatypes-webp-linklib : $(workbench-datatypes-webp_LINKLIB) $(workbench-datatypes-webp_RELLINKLIB) +endif + +workbench-datatypes-webp_OBJS := $(addsuffix .o,$(workbench-datatypes-webp_STARTFILES)) $(workbench-datatypes-webp_ARCHOBJS) \ + $(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(workbench-datatypes-webp_C_NARCHFILES:=.o) $(workbench-datatypes-webp_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (datatype,handler) +workbench-datatypes-webp_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (webp,con) + workbench-datatypes-webp_ERR := $(notdir $(workbench-datatypes-webp_MODULE)).err +else + workbench-datatypes-webp_ERR := webp.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-datatypes-webp_DEFNAME)_LDFLAGS) $(workbench-datatypes-webp_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-datatypes-webp_LIBS) $($(workbench-datatypes-webp_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-datatypes-webp_MODULE) : LIB_NAMES := $(workbench-datatypes-webp_LIBS) $($(workbench-datatypes-webp_DEFNAME)_LIBS) +$(workbench-datatypes-webp_MODULE) : OBJS := $(workbench-datatypes-webp_STARTOBJS) $(workbench-datatypes-webp_OBJS) $(USER_OBJS) +$(workbench-datatypes-webp_MODULE) : ENDTAG := $(workbench-datatypes-webp_ENDOBJS) +$(workbench-datatypes-webp_MODULE) : ERR := $(workbench-datatypes-webp_ERR) +$(workbench-datatypes-webp_MODULE) : OBJDIR := $(workbench-datatypes-webp_OBJDIR) +$(workbench-datatypes-webp_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-datatypes-webp_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-datatypes-webp_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-datatypes-webp_MODULE) : $(workbench-datatypes-webp_STARTOBJS) $(workbench-datatypes-webp_OBJS) $(USER_OBJS) $(workbench-datatypes-webp_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-datatypes-webp_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-datatypes-webp_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-datatypes-webp_LC_LINKLIBNAME := $(shell echo $(workbench-datatypes-webp_LINKLIBNAME) | tr A-Z a-z) +workbench-datatypes-webp_LC_MODNAME := $(shell echo webp | tr A-Z a-z) +ifneq ($(workbench-datatypes-webp_LINKLIB),) + +ifeq (target,target) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(HOST_AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(KERNEL_AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)$(workbench-datatypes-webp_LIBSUFFIX).a : $(workbench-datatypes-webp_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-datatypes-webp_AR) $@ $^ + $(Q)$(workbench-datatypes-webp_RANLIB) $@ +ifneq ($(workbench-datatypes-webp_LC_MODNAME),$(workbench-datatypes-webp_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-datatypes-webp_LIBDIR)/libwebp$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(AR) +$(workbench-datatypes-webp_LIBDIR)/libwebp$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-datatypes-webp_LIBDIR)/libwebp$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(HOST_AR) +$(workbench-datatypes-webp_LIBDIR)/libwebp$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-datatypes-webp_LIBDIR)/libwebp$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(KERNEL_AR) +$(workbench-datatypes-webp_LIBDIR)/libwebp$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-datatypes-webp_LIBDIR)/libwebp$(workbench-datatypes-webp_LIBSUFFIX).a : $(workbench-datatypes-webp_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-datatypes-webp_AR) $@ $^ + $(Q)$(workbench-datatypes-webp_RANLIB) $@ +endif + + +ifneq ($(workbench-datatypes-webp_LINKLIB),) +$(workbench-datatypes-webp_LINKLIB) : | $(workbench-datatypes-webp_LIBDIR) +else +$(workbench-datatypes-webp_LINKLIB) :: $(workbench-datatypes-webp_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-datatypes-webp_LIBDIR) + +endif + +ifneq ($(workbench-datatypes-webp_RELLINKLIB),) + +ifeq (target,target) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(HOST_AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(KERNEL_AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_LINKLIBNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : $(workbench-datatypes-webp_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-datatypes-webp_AR) $@ $^ + $(Q)$(workbench-datatypes-webp_RANLIB) $@ +ifneq ($(workbench-datatypes-webp_LC_MODNAME),$(workbench-datatypes-webp_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_DEFNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_DEFNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_DEFNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(HOST_AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_DEFNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_DEFNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_AR:=$(KERNEL_AR) +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_DEFNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : workbench-datatypes-webp_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-datatypes-webp_LIBDIR)/lib$(workbench-datatypes-webp_DEFNAME)_rel$(workbench-datatypes-webp_LIBSUFFIX).a : $(workbench-datatypes-webp_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-datatypes-webp_AR) $@ $^ + $(Q)$(workbench-datatypes-webp_RANLIB) $@ +endif + + +ifneq ($(workbench-datatypes-webp_RELLINKLIB),) +$(workbench-datatypes-webp_RELLINKLIB) : | $(workbench-datatypes-webp_LIBDIR) +else +$(workbench-datatypes-webp_RELLINKLIB) :: $(workbench-datatypes-webp_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-datatypes-webp_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-datatypes-webp_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-datatypes-webp_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-datatypes-webp_SYMBOLS := $(workbench-datatypes-webp_KBASE) + +workbench-datatypes-webp_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-datatypes-webp_KOBJ_LIBS := $(filter-out $(workbench-datatypes-webp_KLIB),$(workbench-datatypes-webp_LIBS)) $(workbench-datatypes-webp_KAUTOLIB) +$(workbench-datatypes-webp_KOBJ) : LINKLIBS:=$(workbench-datatypes-webp_KOBJ_LIBS) $($(workbench-datatypes-webp_DEFNAME)_LIBS) +$(workbench-datatypes-webp_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-datatypes-webp_SYMBOLS)) +$(workbench-datatypes-webp_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-datatypes-webp_KOBJ) : $(workbench-datatypes-webp_OBJS) $(USER_OBJS) $(workbench-datatypes-webp_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-datatypes-webp_DEPS := $(addprefix $(workbench-datatypes-webp_OBJDIR)/,$(notdir $(workbench-datatypes-webp_CCFILES:=.d) $(workbench-datatypes-webp_TARGETCCFILES:=.d) $(workbench-datatypes-webp_CXXFILES:=.d))) $(addprefix $(workbench-datatypes-webp_OBJDIR)/linklib/,$(notdir $(workbench-datatypes-webp_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-datatypes-webp_DEPS),) + ifneq (workbench-datatypes-webp workbench-datatypes-webp-quick workbench-datatypes-webp-kobj workbench-datatypes-webp-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-datatypes-webp workbench-datatypes-webp-quick workbench-datatypes-webp-kobj workbench-datatypes-webp-kobj-quick),) + -include $(workbench-datatypes-webp_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-datatypes-webp_DEPS) + endif + endif +endif + +$(workbench-datatypes-webp_OBJS) $(workbench-datatypes-webp_DEPS) : | $(workbench-datatypes-webp_OBJDIR)/linklib + +ifneq ($(workbench-datatypes-webp_OBJS) $(workbench-datatypes-webp_DEPS) $(workbench-datatypes-webp_MODULE) $(workbench-datatypes-webp_KOBJ),) +$(workbench-datatypes-webp_OBJS) $(workbench-datatypes-webp_DEPS) $(workbench-datatypes-webp_MODULE) $(workbench-datatypes-webp_KOBJ) : | $(workbench-datatypes-webp_OBJDIR) $(AROSDIR)/$(workbench-datatypes-webp_MODDIR) $(KOBJSDIR) +else +$(workbench-datatypes-webp_OBJS) $(workbench-datatypes-webp_DEPS) $(workbench-datatypes-webp_MODULE) $(workbench-datatypes-webp_KOBJ) :: $(workbench-datatypes-webp_OBJDIR) $(AROSDIR)/$(workbench-datatypes-webp_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-datatypes-webp_OBJDIR) $(AROSDIR)/$(workbench-datatypes-webp_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-datatypes-webp workbench-datatypes-webp-includes workbench-datatypes-webp-quick workbench-datatypes-webp-kobj workbench-datatypes-webp-kobj-quick),) # Only for this target these deps are wanted + +workbench-datatypes-webp_DFILE_DEPS := $(workbench-datatypes-webp_LIBDEFSINC) $(workbench-datatypes-webp_DEFLIBDEFSINC) \ + $(addprefix $(workbench-datatypes-webp_INCDIR)/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) +$(workbench-datatypes-webp_DEPS) : $(workbench-datatypes-webp_DFILE_DEPS) +endif + +workbench-datatypes-webp_TOCLEAN := $(workbench-datatypes-webp_OBJS) $(workbench-datatypes-webp_DEPS) \ + $(workbench-datatypes-webp_MODULE) $(workbench-datatypes-webp_LINKLIB) $(workbench-datatypes-webp_KOBJ) \ + $(workbench-datatypes-webp_OBJDIR)/Makefile.webpdatatype \ + $(addprefix $(workbench-datatypes-webp_OBJDIR)/include/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-datatypes-webp_INCDIR)/,$($(workbench-datatypes-webp_DEFNAME)_INCLUDES)) \ + $(workbench-datatypes-webp_OBJDIR)/webp_geninc $(workbench-datatypes-webp_OBJDIR)/webp_incs \ + $(addsuffix .c,$(workbench-datatypes-webp_LINKLIBFILES)) $(workbench-datatypes-webp_LINKLIBOBJS) $(workbench-datatypes-webp_LIBDEFSINC) \ + $(workbench-datatypes-webp_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-datatypes-webp_STARTFILES) $(workbench-datatypes-webp_ENDFILES)) \ + $(workbench-datatypes-webp_ENDOBJS) +workbench-datatypes-webp-clean : FILES := $(workbench-datatypes-webp_TOCLEAN) +workbench-datatypes-webp-clean :: + $(Q)$(ECHO) "Cleaning up for module webp" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-datatypes-webp_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/gadgets/tapedeck/mmakefile b/workbench/classes/gadgets/tapedeck/mmakefile new file mode 100644 index 00000000000..731af9cd7bc --- /dev/null +++ b/workbench/classes/gadgets/tapedeck/mmakefile @@ -0,0 +1,1665 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -DDEBUG=0 +USER_LDFLAGS := -static + +FILES := tapedeckclass + +#MM- workbench-datatypes-animation : workbench-gadgets-tapedeck +#MM workbench-gadgets-tapedeck : includes linklibs + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-gadgets-tapedeck +#MM workbench-gadgets-tapedeck-quick +#MM workbench-gadgets-tapedeck-makefile +#MM workbench-gadgets-tapedeck-clean + +# ABI targets: +#MM- includes-all : workbench-gadgets-tapedeck-includes +#MM- linklibs-tapedeck: workbench-gadgets-tapedeck-linklib +#MM- linklibs-tapedeck_rel : workbench-gadgets-tapedeck-linklib +#MM- includes-tapedeck: workbench-gadgets-tapedeck-includes +#MM- includes-tapedeck_rel : workbench-gadgets-tapedeck-includes +#MM- workbench-gadgets-tapedeck : workbench-gadgets-tapedeck-includes core-linklibs linklibs- +#MM workbench-gadgets-tapedeck-linklib : workbench-gadgets-tapedeck-includes includes- +#MM- workbench-gadgets-tapedeck-quick : workbench-gadgets-tapedeck-includes-quick +#MM workbench-gadgets-tapedeck-includes : workbench-gadgets-tapedeck-makefile workbench-gadgets-tapedeck-includes-dirs \ +#MM includes-generate-deps workbench-gadgets-tapedeck-fd +#MM workbench-gadgets-tapedeck-includes-quick +#MM workbench-gadgets-tapedeck-includes-dirs +#MM workbench-gadgets-tapedeck-fd + +# Library targets +#MM workbench-gadgets-tapedeck-kobj : core-linklibs linklibs- +#MM workbench-gadgets-tapedeck-kobj-quick : + +# Library with ABI targets: +#MM workbench-gadgets-tapedeck-kobj : workbench-gadgets-tapedeck-includes core-linklibs linklibs- +#MM workbench-gadgets-tapedeck-kobj-quick : workbench-gadgets-tapedeck-includes-quick + +# All MetaMake targets defined by this macro +workbench-gadgets-tapedeck_ALLTARGETS := workbench-gadgets-tapedeck workbench-gadgets-tapedeck-quick workbench-gadgets-tapedeck-clean + +ifeq (M,M) +workbench-gadgets-tapedeck_ALLTARGETS += workbench-gadgets-tapedeck-kobj workbench-gadgets-tapedeck-kobj-quick +endif + +ifeq (M,M) +workbench-gadgets-tapedeck_ALLTARGETS += workbench-gadgets-tapedeck-includes \ + workbench-gadgets-tapedeck-includes-quick workbench-gadgets-tapedeck-includes-dirs \ + workbench-gadgets-tapedeck-linklib workbench-gadgets-tapedeck-fd +endif + +.PHONY : $(workbench-gadgets-tapedeck_ALLTARGETS) workbench-gadgets-tapedeck-makefile + +ifeq (tapedeck,) +$(error using %build_module: modname may not be empty) +endif +ifeq (gadget,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-gadgets-tapedeck_DEFNAME := tapedeck_ +else + workbench-gadgets-tapedeck_DEFNAME := tapedeck +endif +workbench-gadgets-tapedeck_DEFLINKLIBNAME := $(workbench-gadgets-tapedeck_DEFNAME) +ifneq (,) + workbench-gadgets-tapedeck_LINKLIBNAME := +else + workbench-gadgets-tapedeck_LINKLIBNAME = $(workbench-gadgets-tapedeck_DEFLINKLIBNAME) +endif +workbench-gadgets-tapedeck_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-gadgets-tapedeck_DEFCPPFLAGS += -I +endif +workbench-gadgets-tapedeck_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-gadgets-tapedeck_DFLAGS := +else + workbench-gadgets-tapedeck_DFLAGS = $(workbench-gadgets-tapedeck_DEFDFLAGS) +endif +workbench-gadgets-tapedeck_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-gadgets-tapedeck_DXXFLAGS := +else + workbench-gadgets-tapedeck_DXXFLAGS = $(workbench-gadgets-tapedeck_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-gadgets-tapedeck_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-gadgets-tapedeck_DEFDFLAGS)) +workbench-gadgets-tapedeck_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-gadgets-tapedeck_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-gadgets-tapedeck_FUNCINSTR := yes +workbench-gadgets-tapedeck_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-gadgets-tapedeck_DEFDFLAGS)) +workbench-gadgets-tapedeck_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-gadgets-tapedeck_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-gadgets-tapedeck_OBJDIR := +else +workbench-gadgets-tapedeck_OBJDIR := $(OBJDIR)/$(workbench-gadgets-tapedeck_DEFNAME) +endif +ifneq (,) +workbench-gadgets-tapedeck_OBJDIR := $(workbench-gadgets-tapedeck_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-gadgets-tapedeck-makefile := $(workbench-gadgets-tapedeck_OBJDIR)/Makefile.$(workbench-gadgets-tapedeck_DEFNAME)gadget +workbench-gadgets-tapedeck-genmakefile : $(workbench-gadgets-tapedeck-makefile) + + +workbench-gadgets-tapedeck-genmakefile_OPTS := +ifneq (,) + workbench-gadgets-tapedeck-genmakefile_OPTS += -f + workbench-gadgets-tapedeck-genmakefile_MODNAME := tapedeck_ +else + workbench-gadgets-tapedeck-genmakefile_MODNAME := tapedeck +endif +workbench-gadgets-tapedeck-genmakefile_TARGET := Makefile.$(workbench-gadgets-tapedeck-genmakefile_MODNAME)gadget +workbench-gadgets-tapedeck-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-gadgets-tapedeck-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-gadgets-tapedeck-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-gadgets-tapedeck-genmakefile_OPTS += -c + workbench-gadgets-tapedeck-genmakefile_DEPS += + endif +else + workbench-gadgets-tapedeck-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/tapedeck.conf + workbench-gadgets-tapedeck-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/tapedeck.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-gadgets-tapedeck-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-gadgets-tapedeck-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-gadgets-tapedeck-genmakefile_OPTS += -o + workbench-gadgets-tapedeck-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-gadgets-tapedeck-genmakefile_OPTS += -s +endif +ifneq ($(workbench-gadgets-tapedeck_OBJDIR),) + workbench-gadgets-tapedeck-genmakefile_OPTS += -d $(workbench-gadgets-tapedeck_OBJDIR) + workbench-gadgets-tapedeck-genmakefile_TARGET := $(workbench-gadgets-tapedeck_OBJDIR)/$(workbench-gadgets-tapedeck-genmakefile_TARGET) +endif + +$(workbench-gadgets-tapedeck-genmakefile_TARGET) : OPTS := $(workbench-gadgets-tapedeck-genmakefile_OPTS) +$(workbench-gadgets-tapedeck-genmakefile_TARGET) : MODNAME := tapedeck +$(workbench-gadgets-tapedeck-genmakefile_TARGET) : MODTYPE := gadget +$(workbench-gadgets-tapedeck-genmakefile_TARGET) : $(workbench-gadgets-tapedeck-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-gadgets-tapedeck-makefile),) +$(workbench-gadgets-tapedeck-makefile) : | $(workbench-gadgets-tapedeck_OBJDIR) +else +$(workbench-gadgets-tapedeck-makefile) :: $(workbench-gadgets-tapedeck_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-gadgets-tapedeck_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-gadgets-tapedeck_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-gadgets-tapedeck-makefile) + +workbench-gadgets-tapedeck_DEFMODDIR := $($(workbench-gadgets-tapedeck_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-gadgets-tapedeck_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-gadgets-tapedeck_DEFMODDIR) +endif +ifneq (,) + workbench-gadgets-tapedeck_MODDIR := +else + workbench-gadgets-tapedeck_MODDIR := $(workbench-gadgets-tapedeck_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-gadgets-tapedeck_INCDIR := +else +workbench-gadgets-tapedeck_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-gadgets-tapedeck_LIBDEFSINC := $(workbench-gadgets-tapedeck_OBJDIR)/include/$(workbench-gadgets-tapedeck_DEFNAME)_libdefs.h +workbench-gadgets-tapedeck_DEFLIBDEFSINC := $(workbench-gadgets-tapedeck_OBJDIR)/include/$(workbench-gadgets-tapedeck_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-gadgets-tapedeck-includes-quick : workbench-gadgets-tapedeck-includes +workbench-gadgets-tapedeck-includes : $(addprefix $(GENINCDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-gadgets-tapedeck_INCDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) \ + $(workbench-gadgets-tapedeck_LIBDEFSINC) $(workbench-gadgets-tapedeck_DEFLIBDEFSINC) + +ifneq ($($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-gadgets-tapedeck-includes_MODNAME := tapedeck_ +else + workbench-gadgets-tapedeck-includes_MODNAME := tapedeck +endif + +ifneq ($($(workbench-gadgets-tapedeck-includes_MODNAME)_INCLUDES),) + +workbench-gadgets-tapedeck-includes_TARGETS := $($(workbench-gadgets-tapedeck-includes_MODNAME)_INCLUDES) + +workbench-gadgets-tapedeck-includes_DEPS := $(GENMODULE) +workbench-gadgets-tapedeck-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-gadgets-tapedeck-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-gadgets-tapedeck-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-gadgets-tapedeck-includes_OPTS += -c + workbench-gadgets-tapedeck-includes_DEPS += + endif +else + workbench-gadgets-tapedeck-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/tapedeck.conf + workbench-gadgets-tapedeck-includes_DEPS += $(SRCDIR)/$(CURDIR)/tapedeck.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-gadgets-tapedeck-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-gadgets-tapedeck-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-gadgets-tapedeck-includes_OPTS += -o + workbench-gadgets-tapedeck-includes_DEPS += + endif +endif +ifneq (,) + workbench-gadgets-tapedeck-includes_OPTS += -s +endif +ifneq ($(workbench-gadgets-tapedeck_OBJDIR)/include,) + workbench-gadgets-tapedeck-includes_OPTS += -d $(workbench-gadgets-tapedeck_OBJDIR)/include + workbench-gadgets-tapedeck-includes_TARGETS := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/include/,$(workbench-gadgets-tapedeck-includes_TARGETS)) + workbench-gadgets-tapedeck-includes_GENINCFLAG=$(workbench-gadgets-tapedeck_OBJDIR)/include/.tapedeck.gadget-includes +else + workbench-gadgets-tapedeck-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.tapedeck.gadget-includes +endif + +$(workbench-gadgets-tapedeck-includes_TARGETS) : $(workbench-gadgets-tapedeck-includes_DEPS) $(workbench-gadgets-tapedeck-includes_GENINCFLAG) + +$(workbench-gadgets-tapedeck-includes_GENINCFLAG) : OPTS := $(workbench-gadgets-tapedeck-includes_OPTS) +$(workbench-gadgets-tapedeck-includes_GENINCFLAG) : MODNAME := tapedeck +$(workbench-gadgets-tapedeck-includes_GENINCFLAG) : MODTYPE := gadget +$(workbench-gadgets-tapedeck-includes_GENINCFLAG) : $(workbench-gadgets-tapedeck-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-gadgets-tapedeck_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) : | $(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_geninc + +$(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_geninc : COPYSRCDIR := $(workbench-gadgets-tapedeck_OBJDIR)/include +$(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_geninc : TGTDIR := $(GENINCDIR) +$(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_geninc : FILES := $($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES) +$(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_geninc : $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/include/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-gadgets-tapedeck_OBJDIR)/include + +$(addprefix $(workbench-gadgets-tapedeck_INCDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) : | $(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_incs + +$(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_incs : COPYSRCDIR := $(workbench-gadgets-tapedeck_OBJDIR)/include +$(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_incs : TGTDIR := $(workbench-gadgets-tapedeck_INCDIR) +$(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_incs : FILES := $($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES) +$(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_incs : $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/include/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-gadgets-tapedeck_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)))) + +TMPtapedeck_INCDIRS := \ + $(workbench-gadgets-tapedeck_OBJDIR)/include $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/include/,$(workbench-gadgets-tapedeck_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-gadgets-tapedeck_INCDIRS)) \ + $(workbench-gadgets-tapedeck_INCDIR) $(addprefix $(workbench-gadgets-tapedeck_INCDIR)/,$(workbench-gadgets-tapedeck_INCDIRS)) + +ifneq (workbench-gadgets-tapedeck-includes-dirs,) +workbench-gadgets-tapedeck-includes-dirs : | $(TMPtapedeck_INCDIRS) +else +workbench-gadgets-tapedeck-includes-dirs :: $(TMPtapedeck_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPtapedeck_INCDIRS) + + +endif + +endif + + +workbench-gadgets-tapedeck-genlibdefs_OPTS := +ifneq (,) + workbench-gadgets-tapedeck-genlibdefs_OPTS += -f + workbench-gadgets-tapedeck-genlibdefs_MODNAME := tapedeck_ +else + workbench-gadgets-tapedeck-genlibdefs_MODNAME := tapedeck +endif +workbench-gadgets-tapedeck-genlibdefs_TARGET := $(workbench-gadgets-tapedeck-genlibdefs_MODNAME)_libdefs.h +workbench-gadgets-tapedeck-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-gadgets-tapedeck-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-gadgets-tapedeck-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-gadgets-tapedeck-genlibdefs_OPTS += -c + workbench-gadgets-tapedeck-genlibdefs_DEPS += + endif +else + workbench-gadgets-tapedeck-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/tapedeck.conf + workbench-gadgets-tapedeck-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/tapedeck.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-gadgets-tapedeck-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-gadgets-tapedeck-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-gadgets-tapedeck-genlibdefs_OPTS += -o + workbench-gadgets-tapedeck-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-gadgets-tapedeck-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-gadgets-tapedeck_OBJDIR)/include,) + workbench-gadgets-tapedeck-genlibdefs_OPTS += -d $(workbench-gadgets-tapedeck_OBJDIR)/include + workbench-gadgets-tapedeck-genlibdefs_TARGET := $(workbench-gadgets-tapedeck_OBJDIR)/include/$(workbench-gadgets-tapedeck-genlibdefs_TARGET) +endif +ifneq (,) + workbench-gadgets-tapedeck-genlibdefs_OPTS += -v +endif + +$(workbench-gadgets-tapedeck-genlibdefs_TARGET) : OPTS := $(workbench-gadgets-tapedeck-genlibdefs_OPTS) +$(workbench-gadgets-tapedeck-genlibdefs_TARGET) : MODNAME := tapedeck +$(workbench-gadgets-tapedeck-genlibdefs_TARGET) : MODTYPE := gadget +$(workbench-gadgets-tapedeck-genlibdefs_TARGET) : $(workbench-gadgets-tapedeck-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-gadgets-tapedeck_DEFLIBDEFSINC) : FILENAME := $(workbench-gadgets-tapedeck_LIBDEFSINC) +$(workbench-gadgets-tapedeck_DEFLIBDEFSINC) : $(workbench-gadgets-tapedeck_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-gadgets-tapedeck_LIBDEFSINC) $(workbench-gadgets-tapedeck_DEFLIBDEFSINC) : | $(workbench-gadgets-tapedeck_OBJDIR)/include + +ifneq (workbench-gadgets-tapedeck-includes-dirs,) +workbench-gadgets-tapedeck-includes-dirs : | $(workbench-gadgets-tapedeck_OBJDIR)/include +else +workbench-gadgets-tapedeck-includes-dirs :: $(workbench-gadgets-tapedeck_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-gadgets-tapedeck_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-gadgets-tapedeck-genmodfiles_OPTS := +ifneq (,) + workbench-gadgets-tapedeck-genmodfiles_OPTS += -f + workbench-gadgets-tapedeck-genmodfiles_MODNAME := tapedeck_ +else + workbench-gadgets-tapedeck-genmodfiles_MODNAME := tapedeck +endif +workbench-gadgets-tapedeck-genmodfiles_GENTARGETS := $($(workbench-gadgets-tapedeck-genmodfiles_MODNAME)_STARTFILES) $($(workbench-gadgets-tapedeck-genmodfiles_MODNAME)_ENDFILES) +workbench-gadgets-tapedeck-genmodfiles_STUBTARGETS := $($(workbench-gadgets-tapedeck-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-gadgets-tapedeck-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-gadgets-tapedeck-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-gadgets-tapedeck-genmodfiles_GENTARGETS)) +workbench-gadgets-tapedeck-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-gadgets-tapedeck-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-gadgets-tapedeck-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-gadgets-tapedeck-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-gadgets-tapedeck-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-gadgets-tapedeck-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-gadgets-tapedeck-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-gadgets-tapedeck-genmodfiles_OPTS += -c + workbench-gadgets-tapedeck-genmodfiles_DEPS += + endif +else + workbench-gadgets-tapedeck-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/tapedeck.conf + workbench-gadgets-tapedeck-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/tapedeck.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-gadgets-tapedeck-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-gadgets-tapedeck-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-gadgets-tapedeck-genmodfiles_OPTS += -o + workbench-gadgets-tapedeck-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-gadgets-tapedeck-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-gadgets-tapedeck_OBJDIR),) + workbench-gadgets-tapedeck-genmodfiles_OPTS += -d $(workbench-gadgets-tapedeck_OBJDIR) + workbench-gadgets-tapedeck-genmodfiles_TARGETDIR := $(shell echo $(workbench-gadgets-tapedeck_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-gadgets-tapedeck-genmodfiles_GENTARGETS := $(addprefix $(workbench-gadgets-tapedeck-genmodfiles_TARGETDIR)/,$(workbench-gadgets-tapedeck-genmodfiles_GENTARGETS)) + workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG=$(workbench-gadgets-tapedeck-genmodfiles_TARGETDIR)/.tapedeck.gadget-genfiles +else + workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.tapedeck.gadget-genfiles +endif +ifneq ($(workbench-gadgets-tapedeck_OBJDIR)/linklib,) + workbench-gadgets-tapedeck-genmodfiles_OPTS += -l $(workbench-gadgets-tapedeck_OBJDIR)/linklib + workbench-gadgets-tapedeck-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-gadgets-tapedeck_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-gadgets-tapedeck-genmodfiles_STUBTARGETS := $(addprefix $(workbench-gadgets-tapedeck-genmodfiles_STUBTARGETDIR)/,$(workbench-gadgets-tapedeck-genmodfiles_STUBTARGETS)) + workbench-gadgets-tapedeck-genmodfiles_TARGETDIRS += $(workbench-gadgets-tapedeck_OBJDIR)/linklib +else +ifneq ($(workbench-gadgets-tapedeck_OBJDIR),) + workbench-gadgets-tapedeck-genmodfiles_STUBTARGETS := $(addprefix $(workbench-gadgets-tapedeck-genmodfiles_TARGETDIR)/,$(workbench-gadgets-tapedeck-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-gadgets-tapedeck-genmodfiles_TARGETS := $(workbench-gadgets-tapedeck-genmodfiles_GENTARGETS) $(workbench-gadgets-tapedeck-genmodfiles_STUBTARGETS) +ifneq ($(workbench-gadgets-tapedeck-genmodfiles_TARGETDIRS),) +$(workbench-gadgets-tapedeck-genmodfiles_TARGETS) : | $(workbench-gadgets-tapedeck-genmodfiles_TARGETDIRS) +endif + +$(workbench-gadgets-tapedeck-genmodfiles_TARGETS) : $(workbench-gadgets-tapedeck-genmodfiles_DEPS) $(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG) + +$(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-gadgets-tapedeck-genmodfiles_OPTS) +$(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG) : MODNAME := tapedeck +$(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG) : MODTYPE := gadget +$(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG) : $(workbench-gadgets-tapedeck-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG) : $(workbench-gadgets-tapedeck_DEFLIBDEFSINC) $(workbench-gadgets-tapedeck-makefile) + + +ifneq ($(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG),) +$(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG) : | $(workbench-gadgets-tapedeck_OBJDIR)/linklib +else +$(workbench-gadgets-tapedeck-genmodfiles_GENFILEFLAG) :: $(workbench-gadgets-tapedeck_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-gadgets-tapedeck_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-gadgets-tapedeck_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-gadgets-tapedeck_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-gadgets-tapedeck-fd : $(workbench-gadgets-tapedeck_FDDIR)/tapedeck_lib.fd + + +TMP_TARGET := tapedeck_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/tapedeck.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/tapedeck.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-gadgets-tapedeck_FDDIR),) + TMP_OPTS += -d $(workbench-gadgets-tapedeck_FDDIR) + TMP_TARGET := $(workbench-gadgets-tapedeck_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := tapedeck +$(TMP_TARGET) : MODTYPE := gadget +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-gadgets-tapedeck_FDDIR)/tapedeck_lib.fd : | $(workbench-gadgets-tapedeck_FDDIR) + + +ifneq (workbench-gadgets-tapedeck-fd-setup,) +workbench-gadgets-tapedeck-fd-setup : | $(workbench-gadgets-tapedeck_FDDIR) +else +workbench-gadgets-tapedeck-fd-setup :: $(workbench-gadgets-tapedeck_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-gadgets-tapedeck_FDDIR) + +endif + +## Compilation +## +workbench-gadgets-tapedeck_FILES := $(FILES) +workbench-gadgets-tapedeck_OBJCFILES := +workbench-gadgets-tapedeck_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-gadgets-tapedeck_LIBFILES := +workbench-gadgets-tapedeck_LIBS := + +workbench-gadgets-tapedeck_FDIRS := $(sort $(dir $(workbench-gadgets-tapedeck_FILES))) + +workbench-gadgets-tapedeck_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-gadgets-tapedeck_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-gadgets-tapedeck_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-gadgets-tapedeck_FILTERARCH = $(filter-out $(call workbench-gadgets-tapedeck_MATCHARCH,$(1),$(2)),$(2)) +workbench-gadgets-tapedeck_STARTFILES := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_STARTFILES)) +workbench-gadgets-tapedeck_ENDFILES := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_ENDFILES)) + +workbench-gadgets-tapedeck_ARCHOBJS := $(wildcard $(workbench-gadgets-tapedeck_OBJDIR)/arch/*.o) +workbench-gadgets-tapedeck_LIBARCHOBJS := $(wildcard $(workbench-gadgets-tapedeck_OBJDIR)/linklib/arch/*.o) +workbench-gadgets-tapedeck_ARCHFILES := $(basename $(notdir $(workbench-gadgets-tapedeck_ARCHOBJS))) +workbench-gadgets-tapedeck_LIBARCHFILES := $(basename $(notdir $(workbench-gadgets-tapedeck_LIBARCHOBJS))) +workbench-gadgets-tapedeck_C_NARCHFILES := $(call workbench-gadgets-tapedeck_FILTERARCH,$(workbench-gadgets-tapedeck_ARCHFILES),$(workbench-gadgets-tapedeck_FILES)) +workbench-gadgets-tapedeck_CXX_NARCHFILES := $(call workbench-gadgets-tapedeck_FILTERARCH,$(workbench-gadgets-tapedeck_ARCHFILES),$(workbench-gadgets-tapedeck_CXXFILES)) +workbench-gadgets-tapedeck_OBJC_NARCHFILES := $(call workbench-gadgets-tapedeck_FILTERARCH,$(workbench-gadgets-tapedeck_ARCHFILES),$(workbench-gadgets-tapedeck_OBJCFILES)) +workbench-gadgets-tapedeck_NLIBARCHFILES := $(call workbench-gadgets-tapedeck_FILTERARCH,$(workbench-gadgets-tapedeck_LIBARCHFILES),$(workbench-gadgets-tapedeck_LIBFILES)) +workbench-gadgets-tapedeck_ARCHNLIBFILES := $(call workbench-gadgets-tapedeck_FILTERARCH,$(workbench-gadgets-tapedeck_LIBFILES),$(workbench-gadgets-tapedeck_LIBARCHFILES)) + +workbench-gadgets-tapedeck_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-gadgets-tapedeck_OBJDIR)/include -include $(workbench-gadgets-tapedeck_DEFLIBDEFSINC)) +ifneq (,) +workbench-gadgets-tapedeck_CPPFLAGS += -I +endif +workbench-gadgets-tapedeck_LINKLIBCPPFLAGS := $(workbench-gadgets-tapedeck_CPPFLAGS) +workbench-gadgets-tapedeck_CPPFLAGS += $(strip $($(workbench-gadgets-tapedeck_DEFNAME)_CPPFLAGS)) +workbench-gadgets-tapedeck_LINKLIBCPPFLAGS += $(strip $($(workbench-gadgets-tapedeck_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-gadgets-tapedeck_CFLAGS := $(strip $(CFLAGS) $($(workbench-gadgets-tapedeck_DEFNAME)_CFLAGS)) +workbench-gadgets-tapedeck_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-gadgets-tapedeck_DEFNAME)_LINKLIBCFLAGS)) +workbench-gadgets-tapedeck_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-gadgets-tapedeck_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-gadgets-tapedeck_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-gadgets-tapedeck_CFLAGS := $(strip $(workbench-gadgets-tapedeck_LTOFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +workbench-gadgets-tapedeck_LINKLIBCFLAGS := $(strip $(workbench-gadgets-tapedeck_LTOFLAGS) $(workbench-gadgets-tapedeck_LINKLIBCFLAGS)) +workbench-gadgets-tapedeck_CXXFLAGS := $(strip $(workbench-gadgets-tapedeck_LTOFLAGS) $(workbench-gadgets-tapedeck_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-gadgets-tapedeck_SUBSTNULL := +workbench-gadgets-tapedeck_SUBSTSPACE := $(workbench-gadgets-tapedeck_SUBSTNULL) # +workbench-gadgets-tapedeck_SUBSTCOMMA := , +workbench-gadgets-tapedeck_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-gadgets-tapedeck_SUBSTSPACE),$(workbench-gadgets-tapedeck_SUBSTCOMMA),$(strip $($(workbench-gadgets-tapedeck_DEFNAME)_STARTFILES)))) +workbench-gadgets-tapedeck_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-gadgets-tapedeck_CFLAGS := $(strip $(workbench-gadgets-tapedeck_INSTRFUNCFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +workbench-gadgets-tapedeck_CXXFLAGS := $(strip $(workbench-gadgets-tapedeck_INSTRFUNCFLAGS) $(workbench-gadgets-tapedeck_CXXFLAGS)) +workbench-gadgets-tapedeck_LIBS += $(workbench-gadgets-tapedeck_INSTRFUNCLIBS) +endif +endif +workbench-gadgets-tapedeck_DFLAGS := $(strip $(workbench-gadgets-tapedeck_DFLAGS) $($(workbench-gadgets-tapedeck_DEFNAME)_DFLAGS)) +workbench-gadgets-tapedeck_LINKLIBDFLAGS := $(strip $(workbench-gadgets-tapedeck_DFLAGS) $($(workbench-gadgets-tapedeck_DEFNAME)_LINKLIBDFLAGS)) +workbench-gadgets-tapedeck_DXXFLAGS := $(strip $(workbench-gadgets-tapedeck_DXXFLAGS) $($(workbench-gadgets-tapedeck_DEFNAME)_DXXFLAGS)) + +ifeq (gadget,library) + workbench-gadgets-tapedeck_LIBSUFFIX := +else + workbench-gadgets-tapedeck_LIBSUFFIX := .gadget +endif + +ifeq (,) +workbench-gadgets-tapedeck_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-gadgets-tapedeck_LIBDIR := +endif + +ifeq (M,M) +workbench-gadgets-tapedeck_LINKLIBCFILES := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$($(workbench-gadgets-tapedeck_DEFNAME)_LINKLIBFILES)) +workbench-gadgets-tapedeck_LINKLIBAFILES := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$($(workbench-gadgets-tapedeck_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-gadgets-tapedeck_DEFNAME)_LINKLIBFILES) $($(workbench-gadgets-tapedeck_DEFNAME)_LINKLIBAFILES) $(workbench-gadgets-tapedeck_ARCHNLIBFILES)),) + workbench-gadgets-tapedeck_LINKLIB := +else + workbench-gadgets-tapedeck_LINKLIB := $(workbench-gadgets-tapedeck_LIBDIR)/libtapedeck$(workbench-gadgets-tapedeck_LIBSUFFIX).a + ifneq (tapedeck,$(workbench-gadgets-tapedeck_LINKLIBNAME)) + workbench-gadgets-tapedeck_LINKLIB += $(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)$(workbench-gadgets-tapedeck_LIBSUFFIX).a + endif +endif +workbench-gadgets-tapedeck_LINKLIBFILES := $(workbench-gadgets-tapedeck_LINKLIBCFILES) $(workbench-gadgets-tapedeck_LINKLIBAFILES) + +workbench-gadgets-tapedeck_RELLINKLIBCFILES := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$($(workbench-gadgets-tapedeck_DEFNAME)_RELLINKLIBFILES)) +workbench-gadgets-tapedeck_RELLINKLIBAFILES := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$($(workbench-gadgets-tapedeck_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-gadgets-tapedeck_DEFNAME)_RELLINKLIBFILES) $($(workbench-gadgets-tapedeck_DEFNAME)_RELLINKLIBAFILES) $(workbench-gadgets-tapedeck_ARCHNLIBFILES)),) + workbench-gadgets-tapedeck_RELLINKLIB := +else + workbench-gadgets-tapedeck_RELLINKLIB := $(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_DEFNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a + ifneq (tapedeck,$(workbench-gadgets-tapedeck_LINKLIBNAME)) + workbench-gadgets-tapedeck_RELLINKLIB += $(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a + endif +endif +workbench-gadgets-tapedeck_RELLINKLIBFILES := $(workbench-gadgets-tapedeck_RELLINKLIBCFILES) $(workbench-gadgets-tapedeck_RELLINKLIBAFILES) +endif + +workbench-gadgets-tapedeck_ENDOBJS := $(addsuffix .o,$(workbench-gadgets-tapedeck_ENDFILES)) +workbench-gadgets-tapedeck_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(notdir $(workbench-gadgets-tapedeck_NLIBARCHFILES))) $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/arch/,$(notdir $(workbench-gadgets-tapedeck_ARCHNLIBFILES))) $(workbench-gadgets-tapedeck_LINKLIBFILES)) \ + +workbench-gadgets-tapedeck_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(notdir $(workbench-gadgets-tapedeck_NLIBARCHFILES))) $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/arch/,$(notdir $(workbench-gadgets-tapedeck_ARCHNLIBFILES))) $(workbench-gadgets-tapedeck_RELLINKLIBFILES)) \ + +$(workbench-gadgets-tapedeck_LINKLIBFILES) $(workbench-gadgets-tapedeck_RELLINKLIBFILES) : | $(workbench-gadgets-tapedeck_OBJDIR)/linklib +$(workbench-gadgets-tapedeck_LINKLIBOBJS) $(workbench-gadgets-tapedeck_RELLINKLIBOBJS) : | $(workbench-gadgets-tapedeck_OBJDIR)/linklib + +workbench-gadgets-tapedeck_CCFILES := $(workbench-gadgets-tapedeck_C_NARCHFILES) +workbench-gadgets-tapedeck_TARGETCCFILES := $(strip $(workbench-gadgets-tapedeck_STARTFILES) $(workbench-gadgets-tapedeck_ENDFILES)) +workbench-gadgets-tapedeck_LINKLIBCCFILES := $(strip $(workbench-gadgets-tapedeck_NLIBARCHFILES) $(workbench-gadgets-tapedeck_LINKLIBCFILES) $(workbench-gadgets-tapedeck_RELLINKLIBCFILES)) +workbench-gadgets-tapedeck_LINKLIBCCGENFILES := $(strip $(workbench-gadgets-tapedeck_LINKLIBCFILES) $(workbench-gadgets-tapedeck_RELLINKLIBCFILES)) + + +workbench-gadgets-tapedeck_CXXABSBASENAMES := $(foreach workbench-gadgets-tapedeck_CXXBASE,$(workbench-gadgets-tapedeck_CXX_NARCHFILES),$(if $(filter /%,$(workbench-gadgets-tapedeck_CXXBASE)),$(workbench-gadgets-tapedeck_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-gadgets-tapedeck_CXXBASE)))) + +ifneq ($(workbench-gadgets-tapedeck_CXXABSBASENAMES),) + +workbench-gadgets-tapedeck_CXXBASENAMES := $(basename $(workbench-gadgets-tapedeck_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-gadgets-tapedeck_MCXX_FILES := $(strip $(foreach workbench-gadgets-tapedeck_CXXBASE,$(workbench-gadgets-tapedeck_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-gadgets-tapedeck_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-gadgets-tapedeck_EXT),$(workbench-gadgets-tapedeck_CXXBASE))))))) + +ifeq (,) +workbench-gadgets-tapedeck_MCXX_SRCWILDCARD := % +else +workbench-gadgets-tapedeck_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-gadgets-tapedeck_OBJDIR),) + workbench-gadgets-tapedeck_CXXTARGETS := $(notdir $(workbench-gadgets-tapedeck_CXXBASENAMES:=.o)) + workbench-gadgets-tapedeck_CXXDTARGETS := $(notdir $(workbench-gadgets-tapedeck_CXXBASENAMES:=.d)) + workbench-gadgets-tapedeck_MCXX_WILDCARD := % +else + workbench-gadgets-tapedeck_CXXTARGETS := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(workbench-gadgets-tapedeck_CXXBASENAMES:=.o))) + workbench-gadgets-tapedeck_CXXDTARGETS := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(workbench-gadgets-tapedeck_CXXBASENAMES:=.d))) + workbench-gadgets-tapedeck_MCXX_WILDCARD := $(workbench-gadgets-tapedeck_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-gadgets-tapedeck_CXXTARGETS) $(workbench-gadgets-tapedeck_CXXDTARGETS) : | $(workbench-gadgets-tapedeck_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-gadgets-tapedeck_MCXX_CPPFLAGS := $(workbench-gadgets-tapedeck_CPPFLAGS) +workbench-gadgets-tapedeck_CXXFLAGS := $(workbench-gadgets-tapedeck_CXXFLAGS) +ifeq ($(workbench-gadgets-tapedeck_DXXFLAGS),) + workbench-gadgets-tapedeck_DXXFLAGS := $(workbench-gadgets-tapedeck_CXXFLAGS) +else + workbench-gadgets-tapedeck_DXXFLAGS := $(workbench-gadgets-tapedeck_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-gadgets-tapedeck_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-gadgets-tapedeck_STRIP ?= $(HOST_STRIP) + workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-gadgets-tapedeck_CXXCMD:=$(HOST_CXX) + workbench-gadgets-tapedeck_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-gadgets-tapedeck_MCXX_CPPFLAGS) $(workbench-gadgets-tapedeck_MCXX_EXTRA_CPPFLAGS)) + workbench-gadgets-tapedeck_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-gadgets-tapedeck_CXXFLAGS)) + workbench-gadgets-tapedeck_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-gadgets-tapedeck_DXXFLAGS)) + workbench-gadgets-tapedeck_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-gadgets-tapedeck_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-gadgets-tapedeck_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-gadgets-tapedeck_STRIP ?= $(TARGET_STRIP) + workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-gadgets-tapedeck_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-gadgets-tapedeck_MCXX_CPPFLAGS := $(strip $(workbench-gadgets-tapedeck_MCXX_CPPFLAGS) $(workbench-gadgets-tapedeck_MCXX_EXTRA_CPPFLAGS)) + workbench-gadgets-tapedeck_CXXFLAGS := $(strip $(workbench-gadgets-tapedeck_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-gadgets-tapedeck_DXXFLAGS := $(workbench-gadgets-tapedeck_DXXFLAGS) + workbench-gadgets-tapedeck_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-gadgets-tapedeck_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-gadgets-tapedeck_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-gadgets-tapedeck_STRIP ?= $(ECHO) >/dev/null + workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-gadgets-tapedeck_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-gadgets-tapedeck_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-gadgets-tapedeck_MCXX_CPPFLAGS) $(workbench-gadgets-tapedeck_MCXX_EXTRA_CPPFLAGS)) + workbench-gadgets-tapedeck_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-gadgets-tapedeck_CXXFLAGS)) + workbench-gadgets-tapedeck_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-gadgets-tapedeck_DXXFLAGS)) + workbench-gadgets-tapedeck_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-gadgets-tapedeck_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-gadgets-tapedeck_CXXCMD) $(workbench-gadgets-tapedeck_CXXIQUOTE) $(dir $(2)) $(workbench-gadgets-tapedeck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_CXXIQUOTE) . $(workbench-gadgets-tapedeck_CXXIQUOTE_END) $(strip $(workbench-gadgets-tapedeck_CXXFLAGS) $(workbench-gadgets-tapedeck_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-gadgets-tapedeck_CXXCMD) $(workbench-gadgets-tapedeck_CXXIQUOTE) $(dir $(2)) $(workbench-gadgets-tapedeck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_CXXIQUOTE) . $(workbench-gadgets-tapedeck_CXXIQUOTE_END) $(strip $(workbench-gadgets-tapedeck_CXXFLAGS) $(workbench-gadgets-tapedeck_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-gadgets-tapedeck_CXXCMD) $(workbench-gadgets-tapedeck_CXXIQUOTE) $(dir $(2)) $(workbench-gadgets-tapedeck_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_CXXIQUOTE) . $(workbench-gadgets-tapedeck_CXXIQUOTE_END) $(strip $(workbench-gadgets-tapedeck_CXXFLAGS) $(workbench-gadgets-tapedeck_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-gadgets-tapedeck_CXXCMD)" $(MKDEPEND) $(strip $(workbench-gadgets-tapedeck_DXXFLAGS) $(workbench-gadgets-tapedeck_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-gadgets-tapedeck_OBJDIR),) + $(foreach workbench-gadgets-tapedeck_CXXFILE,$(workbench-gadgets-tapedeck_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-gadgets-tapedeck_CXXFILE))),$(workbench-gadgets-tapedeck_CXXFILE)))) +else + $(foreach workbench-gadgets-tapedeck_CXXFILE,$(workbench-gadgets-tapedeck_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(basename $(workbench-gadgets-tapedeck_CXXFILE)))),$(workbench-gadgets-tapedeck_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-gadgets-tapedeck_OBJC_NARCHFILES),) + +ifeq (,) +workbench-gadgets-tapedeck_MOBJC_SRCWILDCARD := % +else +workbench-gadgets-tapedeck_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-gadgets-tapedeck_OBJDIR),) + workbench-gadgets-tapedeck_MOBJC_TARGETS := $(addsuffix .o,$(workbench-gadgets-tapedeck_OBJC_NARCHFILES)) + workbench-gadgets-tapedeck_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-gadgets-tapedeck_OBJC_NARCHFILES)) + workbench-gadgets-tapedeck_MOBJC_WILDCARD := % +else + workbench-gadgets-tapedeck_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(workbench-gadgets-tapedeck_OBJC_NARCHFILES))) + workbench-gadgets-tapedeck_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(workbench-gadgets-tapedeck_OBJC_NARCHFILES))) + workbench-gadgets-tapedeck_MOBJC_WILDCARD := $(workbench-gadgets-tapedeck_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-gadgets-tapedeck_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-gadgets-tapedeck_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-gadgets-tapedeck_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-gadgets-tapedeck_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-gadgets-tapedeck_MOBJC_DIRS := $(foreach dir, $(workbench-gadgets-tapedeck_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-gadgets-tapedeck_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-gadgets-tapedeck_MOBJC_DIRS),) + workbench-gadgets-tapedeck_MOBJC_DIRS := $(shell echo $(workbench-gadgets-tapedeck_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-gadgets-tapedeck_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-gadgets-tapedeck_CC := $(TARGET_CC) +else + workbench-gadgets-tapedeck_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-gadgets-tapedeck_MOBJC_CPPFLAGS := $(workbench-gadgets-tapedeck_CPPFLAGS) +workbench-gadgets-tapedeck_OBJCFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +workbench-gadgets-tapedeck_OBJCFLAGS := $(workbench-gadgets-tapedeck_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-gadgets-tapedeck_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-gadgets-tapedeck_OBJCFLAGS))) +ifeq ($(workbench-gadgets-tapedeck_DFLAGS),) + workbench-gadgets-tapedeck_OBJCDFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +else + workbench-gadgets-tapedeck_OBJCDFLAGS := $(workbench-gadgets-tapedeck_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-gadgets-tapedeck_LINK ?= $(strip $(workbench-gadgets-tapedeck_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-gadgets-tapedeck_STRIP ?= $(TARGET_STRIP) + workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-gadgets-tapedeck_CC) $(TARGET_SYSROOT)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_MOBJC_CPPFLAGS:=$(strip $(workbench-gadgets-tapedeck_MOBJC_CPPFLAGS) $(workbench-gadgets-tapedeck_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_OBJCFLAGS:=$(strip $(workbench-gadgets-tapedeck_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_OBJCDFLAGS:=$(workbench-gadgets-tapedeck_OBJCDFLAGS) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-gadgets-tapedeck_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-gadgets-tapedeck_STRIP ?= $(HOST_STRIP) + workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-gadgets-tapedeck_MOBJC_CPPFLAGS) $(workbench-gadgets-tapedeck_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_OBJCFLAGS)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_OBJCDFLAGS)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(HOST_IQUOTE) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-gadgets-tapedeck_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-gadgets-tapedeck_STRIP ?= $(ECHO) >/dev/null + workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-gadgets-tapedeck_MOBJC_CPPFLAGS) $(workbench-gadgets-tapedeck_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_OBJCFLAGS)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_OBJCDFLAGS)) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-gadgets-tapedeck_MOBJC_TARGETS) $(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-gadgets-tapedeck_MOBJC_TARGETS) : CPPFLAGS := $(workbench-gadgets-tapedeck_MOBJC_CPPFLAGS) +$(workbench-gadgets-tapedeck_MOBJC_TARGETS) : CFLAGS := $(workbench-gadgets-tapedeck_OBJCFLAGS) +$(workbench-gadgets-tapedeck_MOBJC_TARGETS) : $(workbench-gadgets-tapedeck_MOBJC_WILDCARD).o : $(workbench-gadgets-tapedeck_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-gadgets-tapedeck_MOBJC_DTARGETS) : $(workbench-gadgets-tapedeck_MOBJC_WILDCARD).d : $(workbench-gadgets-tapedeck_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-gadgets-tapedeck_OBJCDFLAGS) $(workbench-gadgets-tapedeck_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-gadgets-tapedeck_MC_SRCWILDCARD := % +else +workbench-gadgets-tapedeck_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-gadgets-tapedeck_OBJDIR),) +workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(workbench-gadgets-tapedeck_CCFILES)) +workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(workbench-gadgets-tapedeck_CCFILES)) +workbench-gadgets-tapedeck_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(workbench-gadgets-tapedeck_CCFILES)))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(workbench-gadgets-tapedeck_CCFILES)))) +else +ifeq (,) + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(workbench-gadgets-tapedeck_CCFILES))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(workbench-gadgets-tapedeck_CCFILES))) +else + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(patsubst /%,%,$(workbench-gadgets-tapedeck_CCFILES)))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(patsubst /%,%,$(workbench-gadgets-tapedeck_CCFILES)))) +endif +endif +workbench-gadgets-tapedeck_MC_TGTWILDCARD := $(workbench-gadgets-tapedeck_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : | $(addsuffix .c,$(workbench-gadgets-tapedeck_CCFILES)) + +# Be sure that all .c files are found +workbench-gadgets-tapedeck_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-gadgets-tapedeck_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-gadgets-tapedeck_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-gadgets-tapedeck_MC_DIRS := $(foreach dir, $(workbench-gadgets-tapedeck_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-gadgets-tapedeck_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-gadgets-tapedeck_MC_DIRS),) + workbench-gadgets-tapedeck_MC_DIRS := $(shell echo $(workbench-gadgets-tapedeck_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-gadgets-tapedeck_MC_DIRS) +endif + +endif + +workbench-gadgets-tapedeck_MC_CPPFLAGS := $(workbench-gadgets-tapedeck_CPPFLAGS) +workbench-gadgets-tapedeck_CFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +ifeq ($(workbench-gadgets-tapedeck_DFLAGS),) + workbench-gadgets-tapedeck_DFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +else + workbench-gadgets-tapedeck_DFLAGS := $(workbench-gadgets-tapedeck_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-gadgets-tapedeck_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(TARGET_STRIP) +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(workbench-gadgets-tapedeck_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(workbench-gadgets-tapedeck_DFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-gadgets-tapedeck_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(HOST_STRIP) +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_DFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(HOST_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-gadgets-tapedeck_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(ECHO) >/dev/null +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_DFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-gadgets-tapedeck_MC_TARGETS) : CPPFLAGS := $(workbench-gadgets-tapedeck_MC_CPPFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) : CFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) : $(workbench-gadgets-tapedeck_MC_TGTWILDCARD).o : $(workbench-gadgets-tapedeck_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-gadgets-tapedeck_MC_DTARGETS) : $(workbench-gadgets-tapedeck_MC_TGTWILDCARD).d : $(workbench-gadgets-tapedeck_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-gadgets-tapedeck_DFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-gadgets-tapedeck_MC_SRCWILDCARD := % +else +workbench-gadgets-tapedeck_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-gadgets-tapedeck_OBJDIR),) +workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(workbench-gadgets-tapedeck_TARGETCCFILES)) +workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(workbench-gadgets-tapedeck_TARGETCCFILES)) +workbench-gadgets-tapedeck_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(workbench-gadgets-tapedeck_TARGETCCFILES)))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(workbench-gadgets-tapedeck_TARGETCCFILES)))) +else +ifeq (,) + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(workbench-gadgets-tapedeck_TARGETCCFILES))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(workbench-gadgets-tapedeck_TARGETCCFILES))) +else + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(patsubst /%,%,$(workbench-gadgets-tapedeck_TARGETCCFILES)))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(patsubst /%,%,$(workbench-gadgets-tapedeck_TARGETCCFILES)))) +endif +endif +workbench-gadgets-tapedeck_MC_TGTWILDCARD := $(workbench-gadgets-tapedeck_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : | $(addsuffix .c,$(workbench-gadgets-tapedeck_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-gadgets-tapedeck_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-gadgets-tapedeck_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-gadgets-tapedeck_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-gadgets-tapedeck_MC_DIRS := $(foreach dir, $(workbench-gadgets-tapedeck_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-gadgets-tapedeck_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-gadgets-tapedeck_MC_DIRS),) + workbench-gadgets-tapedeck_MC_DIRS := $(shell echo $(workbench-gadgets-tapedeck_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-gadgets-tapedeck_MC_DIRS) +endif + +endif + +workbench-gadgets-tapedeck_MC_CPPFLAGS := $(workbench-gadgets-tapedeck_CPPFLAGS) -D__AROS__ +workbench-gadgets-tapedeck_CFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +ifeq ($(workbench-gadgets-tapedeck_DFLAGS),) + workbench-gadgets-tapedeck_DFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +else + workbench-gadgets-tapedeck_DFLAGS := $(workbench-gadgets-tapedeck_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-gadgets-tapedeck_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(TARGET_STRIP) +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(workbench-gadgets-tapedeck_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(workbench-gadgets-tapedeck_DFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-gadgets-tapedeck_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(HOST_STRIP) +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_DFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(HOST_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-gadgets-tapedeck_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(ECHO) >/dev/null +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_DFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-gadgets-tapedeck_MC_TARGETS) : CPPFLAGS := $(workbench-gadgets-tapedeck_MC_CPPFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) : CFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) : $(workbench-gadgets-tapedeck_MC_TGTWILDCARD).o : $(workbench-gadgets-tapedeck_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-gadgets-tapedeck_MC_DTARGETS) : $(workbench-gadgets-tapedeck_MC_TGTWILDCARD).d : $(workbench-gadgets-tapedeck_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-gadgets-tapedeck_DFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-gadgets-tapedeck_MC_SRCWILDCARD := % +else +workbench-gadgets-tapedeck_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-gadgets-tapedeck_OBJDIR)/linklib,) +workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(workbench-gadgets-tapedeck_NLIBARCHFILES)) +workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(workbench-gadgets-tapedeck_NLIBARCHFILES)) +workbench-gadgets-tapedeck_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(notdir $(workbench-gadgets-tapedeck_NLIBARCHFILES)))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(notdir $(workbench-gadgets-tapedeck_NLIBARCHFILES)))) +else +ifeq (,) + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(workbench-gadgets-tapedeck_NLIBARCHFILES))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(workbench-gadgets-tapedeck_NLIBARCHFILES))) +else + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-gadgets-tapedeck_NLIBARCHFILES)))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-gadgets-tapedeck_NLIBARCHFILES)))) +endif +endif +workbench-gadgets-tapedeck_MC_TGTWILDCARD := $(workbench-gadgets-tapedeck_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : | $(addsuffix .c,$(workbench-gadgets-tapedeck_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-gadgets-tapedeck_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-gadgets-tapedeck_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-gadgets-tapedeck_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-gadgets-tapedeck_MC_DIRS := $(foreach dir, $(workbench-gadgets-tapedeck_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-gadgets-tapedeck_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-gadgets-tapedeck_MC_DIRS),) + workbench-gadgets-tapedeck_MC_DIRS := $(shell echo $(workbench-gadgets-tapedeck_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-gadgets-tapedeck_MC_DIRS) +endif + +endif + +workbench-gadgets-tapedeck_MC_CPPFLAGS := $(workbench-gadgets-tapedeck_LINKLIBCPPFLAGS) -D__AROS__ +workbench-gadgets-tapedeck_CFLAGS := $(workbench-gadgets-tapedeck_LINKLIBCFLAGS) +ifeq ($(workbench-gadgets-tapedeck_LINKLIBDFLAGS),) + workbench-gadgets-tapedeck_DFLAGS := $(workbench-gadgets-tapedeck_LINKLIBCFLAGS) +else + workbench-gadgets-tapedeck_DFLAGS := $(workbench-gadgets-tapedeck_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-gadgets-tapedeck_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(TARGET_STRIP) +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(workbench-gadgets-tapedeck_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(workbench-gadgets-tapedeck_DFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-gadgets-tapedeck_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(HOST_STRIP) +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_DFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(HOST_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-gadgets-tapedeck_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(ECHO) >/dev/null +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_DFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-gadgets-tapedeck_MC_TARGETS) : CPPFLAGS := $(workbench-gadgets-tapedeck_MC_CPPFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) : CFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) : $(workbench-gadgets-tapedeck_MC_TGTWILDCARD).o : $(workbench-gadgets-tapedeck_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-gadgets-tapedeck_MC_DTARGETS) : $(workbench-gadgets-tapedeck_MC_TGTWILDCARD).d : $(workbench-gadgets-tapedeck_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-gadgets-tapedeck_DFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-gadgets-tapedeck_OBJDIR)/linklib,) +workbench-gadgets-tapedeck_MC_SRCWILDCARD := % +else +workbench-gadgets-tapedeck_MC_SRCWILDCARD := $(workbench-gadgets-tapedeck_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-gadgets-tapedeck_OBJDIR)/linklib,) +workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(workbench-gadgets-tapedeck_LINKLIBCCGENFILES)) +workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(workbench-gadgets-tapedeck_LINKLIBCCGENFILES)) +workbench-gadgets-tapedeck_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(notdir $(workbench-gadgets-tapedeck_LINKLIBCCGENFILES)))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(notdir $(workbench-gadgets-tapedeck_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-gadgets-tapedeck_OBJDIR)/linklib,) + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(workbench-gadgets-tapedeck_LINKLIBCCGENFILES))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(workbench-gadgets-tapedeck_LINKLIBCCGENFILES))) +else + workbench-gadgets-tapedeck_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(patsubst $(workbench-gadgets-tapedeck_OBJDIR)/linklib/%,%,$(workbench-gadgets-tapedeck_LINKLIBCCGENFILES)))) + workbench-gadgets-tapedeck_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(patsubst $(workbench-gadgets-tapedeck_OBJDIR)/linklib/%,%,$(workbench-gadgets-tapedeck_LINKLIBCCGENFILES)))) +endif +endif +workbench-gadgets-tapedeck_MC_TGTWILDCARD := $(workbench-gadgets-tapedeck_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : | $(addsuffix .c,$(workbench-gadgets-tapedeck_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-gadgets-tapedeck_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-gadgets-tapedeck_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-gadgets-tapedeck_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-gadgets-tapedeck_MC_DIRS := $(foreach dir, $(workbench-gadgets-tapedeck_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-gadgets-tapedeck_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-gadgets-tapedeck_MC_DIRS),) + workbench-gadgets-tapedeck_MC_DIRS := $(shell echo $(workbench-gadgets-tapedeck_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-gadgets-tapedeck_MC_DIRS) +endif + +endif + +workbench-gadgets-tapedeck_MC_CPPFLAGS := $(workbench-gadgets-tapedeck_LINKLIBCPPFLAGS) -D__AROS__ +workbench-gadgets-tapedeck_CFLAGS := $(workbench-gadgets-tapedeck_LINKLIBCFLAGS) +ifeq ($(workbench-gadgets-tapedeck_LINKLIBDFLAGS),) + workbench-gadgets-tapedeck_DFLAGS := $(workbench-gadgets-tapedeck_LINKLIBCFLAGS) +else + workbench-gadgets-tapedeck_DFLAGS := $(workbench-gadgets-tapedeck_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-gadgets-tapedeck_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(TARGET_STRIP) +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(workbench-gadgets-tapedeck_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(workbench-gadgets-tapedeck_DFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-gadgets-tapedeck_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(HOST_STRIP) +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-gadgets-tapedeck_DFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(HOST_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-gadgets-tapedeck_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-gadgets-tapedeck_STRIP ?= $(ECHO) >/dev/null +workbench-gadgets-tapedeck_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS) $(workbench-gadgets-tapedeck_MC_EXTRA_CPPFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_CFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-gadgets-tapedeck_DFLAGS)) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-gadgets-tapedeck_MC_TARGETS) $(workbench-gadgets-tapedeck_MC_DTARGETS) : workbench-gadgets-tapedeck_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-gadgets-tapedeck_MC_TARGETS) : CPPFLAGS := $(workbench-gadgets-tapedeck_MC_CPPFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) : CFLAGS := $(workbench-gadgets-tapedeck_CFLAGS) +$(workbench-gadgets-tapedeck_MC_TARGETS) : $(workbench-gadgets-tapedeck_MC_TGTWILDCARD).o : $(workbench-gadgets-tapedeck_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-gadgets-tapedeck_IQUOTE) $(dir $<) $(workbench-gadgets-tapedeck_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-gadgets-tapedeck_IQUOTE) . $(workbench-gadgets-tapedeck_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-gadgets-tapedeck_MC_DTARGETS) : $(workbench-gadgets-tapedeck_MC_TGTWILDCARD).d : $(workbench-gadgets-tapedeck_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-gadgets-tapedeck_DFLAGS) $(workbench-gadgets-tapedeck_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-gadgets-tapedeck_LINKLIBAFILES),) + +ifeq ($(workbench-gadgets-tapedeck_OBJDIR)/linklib,) +workbench-gadgets-tapedeck-MA_TARGETS := $(addsuffix .o,$(workbench-gadgets-tapedeck_LINKLIBAFILES) $(workbench-gadgets-tapedeck_RELLINKLIBAFILES)) +workbench-gadgets-tapedeck-MA_WILDCARD := % +else +workbench-gadgets-tapedeck-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(notdir $(workbench-gadgets-tapedeck_LINKLIBAFILES) $(workbench-gadgets-tapedeck_RELLINKLIBAFILES)))) +workbench-gadgets-tapedeck-MA_WILDCARD := $(workbench-gadgets-tapedeck_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-gadgets-tapedeck-MA_TARGETS) : | $(addsuffix .S,$(workbench-gadgets-tapedeck_LINKLIBAFILES) $(workbench-gadgets-tapedeck_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-gadgets-tapedeck-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-gadgets-tapedeck-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-gadgets-tapedeck_LINKLIBAFILES) $(workbench-gadgets-tapedeck_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-gadgets-tapedeck-MA_DIRS := $(foreach dir, $(workbench-gadgets-tapedeck-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-gadgets-tapedeck-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-gadgets-tapedeck-MA_DIRS),) + workbench-gadgets-tapedeck-MA_DIRS := $(shell echo $(workbench-gadgets-tapedeck-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-gadgets-tapedeck-MA_DIRS) +endif + +endif + +workbench-gadgets-tapedeck-MA_ASSEMBLER ?= $(workbench-gadgets-tapedeck_ASSEMBLER) + +$(workbench-gadgets-tapedeck-MA_TARGETS) : workbench-gadgets-tapedeck-MA_CMD:= $(workbench-gadgets-tapedeck-MA_ASSEMBLER) + +$(workbench-gadgets-tapedeck-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-gadgets-tapedeck-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-gadgets-tapedeck-MA_TARGETS) : $(workbench-gadgets-tapedeck-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-gadgets-tapedeck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-gadgets-tapedeck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-gadgets-tapedeck-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-gadgets-tapedeck_SUFFIX := gadget +else +workbench-gadgets-tapedeck_SUFFIX := +endif + +ifeq (target,target) +workbench-gadgets-tapedeck_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-gadgets-tapedeck_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-gadgets-tapedeck_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-gadgets-tapedeck_SUFFIX),handler) +workbench-gadgets-tapedeck_MODULE := $(AROSDIR)/$(workbench-gadgets-tapedeck_MODDIR)/$(workbench-gadgets-tapedeck_DEFNAME)-$(workbench-gadgets-tapedeck_SUFFIX) +else +workbench-gadgets-tapedeck_MODULE := $(AROSDIR)/$(workbench-gadgets-tapedeck_MODDIR)/$(workbench-gadgets-tapedeck_DEFNAME).$(workbench-gadgets-tapedeck_SUFFIX) +endif +workbench-gadgets-tapedeck_KOBJ := $(KOBJSDIR)/$(workbench-gadgets-tapedeck_DEFNAME)_$(workbench-gadgets-tapedeck_SUFFIX).o +else +workbench-gadgets-tapedeck_MODULE := +workbench-gadgets-tapedeck_KOBJ := +endif + +workbench-gadgets-tapedeck-quick : workbench-gadgets-tapedeck +workbench-gadgets-tapedeck : $(workbench-gadgets-tapedeck_MODULE) $(workbench-gadgets-tapedeck_LINKLIB) $(workbench-gadgets-tapedeck_RELLINKLIB) +ifeq (M,M) +workbench-gadgets-tapedeck-kobj : $(workbench-gadgets-tapedeck_KOBJ) $(workbench-gadgets-tapedeck_LINKLIB) $(workbench-gadgets-tapedeck_RELLINKLIB) +workbench-gadgets-tapedeck-kobj-quick : $(workbench-gadgets-tapedeck_KOBJ) $(workbench-gadgets-tapedeck_LINKLIB) $(workbench-gadgets-tapedeck_RELLINKLIB) +endif +ifeq (M,M) +workbench-gadgets-tapedeck-linklib : $(workbench-gadgets-tapedeck_LINKLIB) $(workbench-gadgets-tapedeck_RELLINKLIB) +endif + +workbench-gadgets-tapedeck_OBJS := $(addsuffix .o,$(workbench-gadgets-tapedeck_STARTFILES)) $(workbench-gadgets-tapedeck_ARCHOBJS) \ + $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(workbench-gadgets-tapedeck_C_NARCHFILES:=.o) $(workbench-gadgets-tapedeck_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (gadget,handler) +workbench-gadgets-tapedeck_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (tapedeck,con) + workbench-gadgets-tapedeck_ERR := $(notdir $(workbench-gadgets-tapedeck_MODULE)).err +else + workbench-gadgets-tapedeck_ERR := tapedeck.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-gadgets-tapedeck_DEFNAME)_LDFLAGS) $(workbench-gadgets-tapedeck_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-gadgets-tapedeck_LIBS) $($(workbench-gadgets-tapedeck_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-gadgets-tapedeck_MODULE) : LIB_NAMES := $(workbench-gadgets-tapedeck_LIBS) $($(workbench-gadgets-tapedeck_DEFNAME)_LIBS) +$(workbench-gadgets-tapedeck_MODULE) : OBJS := $(workbench-gadgets-tapedeck_STARTOBJS) $(workbench-gadgets-tapedeck_OBJS) $(USER_OBJS) +$(workbench-gadgets-tapedeck_MODULE) : ENDTAG := $(workbench-gadgets-tapedeck_ENDOBJS) +$(workbench-gadgets-tapedeck_MODULE) : ERR := $(workbench-gadgets-tapedeck_ERR) +$(workbench-gadgets-tapedeck_MODULE) : OBJDIR := $(workbench-gadgets-tapedeck_OBJDIR) +$(workbench-gadgets-tapedeck_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-gadgets-tapedeck_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-gadgets-tapedeck_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-gadgets-tapedeck_MODULE) : $(workbench-gadgets-tapedeck_STARTOBJS) $(workbench-gadgets-tapedeck_OBJS) $(USER_OBJS) $(workbench-gadgets-tapedeck_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-gadgets-tapedeck_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-gadgets-tapedeck_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-gadgets-tapedeck_LC_LINKLIBNAME := $(shell echo $(workbench-gadgets-tapedeck_LINKLIBNAME) | tr A-Z a-z) +workbench-gadgets-tapedeck_LC_MODNAME := $(shell echo tapedeck | tr A-Z a-z) +ifneq ($(workbench-gadgets-tapedeck_LINKLIB),) + +ifeq (target,target) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(HOST_AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(KERNEL_AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)$(workbench-gadgets-tapedeck_LIBSUFFIX).a : $(workbench-gadgets-tapedeck_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-gadgets-tapedeck_AR) $@ $^ + $(Q)$(workbench-gadgets-tapedeck_RANLIB) $@ +ifneq ($(workbench-gadgets-tapedeck_LC_MODNAME),$(workbench-gadgets-tapedeck_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-gadgets-tapedeck_LIBDIR)/libtapedeck$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(AR) +$(workbench-gadgets-tapedeck_LIBDIR)/libtapedeck$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-gadgets-tapedeck_LIBDIR)/libtapedeck$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(HOST_AR) +$(workbench-gadgets-tapedeck_LIBDIR)/libtapedeck$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-gadgets-tapedeck_LIBDIR)/libtapedeck$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(KERNEL_AR) +$(workbench-gadgets-tapedeck_LIBDIR)/libtapedeck$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-gadgets-tapedeck_LIBDIR)/libtapedeck$(workbench-gadgets-tapedeck_LIBSUFFIX).a : $(workbench-gadgets-tapedeck_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-gadgets-tapedeck_AR) $@ $^ + $(Q)$(workbench-gadgets-tapedeck_RANLIB) $@ +endif + + +ifneq ($(workbench-gadgets-tapedeck_LINKLIB),) +$(workbench-gadgets-tapedeck_LINKLIB) : | $(workbench-gadgets-tapedeck_LIBDIR) +else +$(workbench-gadgets-tapedeck_LINKLIB) :: $(workbench-gadgets-tapedeck_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-gadgets-tapedeck_LIBDIR) + +endif + +ifneq ($(workbench-gadgets-tapedeck_RELLINKLIB),) + +ifeq (target,target) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(HOST_AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(KERNEL_AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_LINKLIBNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : $(workbench-gadgets-tapedeck_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-gadgets-tapedeck_AR) $@ $^ + $(Q)$(workbench-gadgets-tapedeck_RANLIB) $@ +ifneq ($(workbench-gadgets-tapedeck_LC_MODNAME),$(workbench-gadgets-tapedeck_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_DEFNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_DEFNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_DEFNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(HOST_AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_DEFNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_DEFNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_AR:=$(KERNEL_AR) +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_DEFNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : workbench-gadgets-tapedeck_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-gadgets-tapedeck_LIBDIR)/lib$(workbench-gadgets-tapedeck_DEFNAME)_rel$(workbench-gadgets-tapedeck_LIBSUFFIX).a : $(workbench-gadgets-tapedeck_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-gadgets-tapedeck_AR) $@ $^ + $(Q)$(workbench-gadgets-tapedeck_RANLIB) $@ +endif + + +ifneq ($(workbench-gadgets-tapedeck_RELLINKLIB),) +$(workbench-gadgets-tapedeck_RELLINKLIB) : | $(workbench-gadgets-tapedeck_LIBDIR) +else +$(workbench-gadgets-tapedeck_RELLINKLIB) :: $(workbench-gadgets-tapedeck_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-gadgets-tapedeck_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-gadgets-tapedeck_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-gadgets-tapedeck_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-gadgets-tapedeck_SYMBOLS := $(workbench-gadgets-tapedeck_KBASE) + +workbench-gadgets-tapedeck_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-gadgets-tapedeck_KOBJ_LIBS := $(filter-out $(workbench-gadgets-tapedeck_KLIB),$(workbench-gadgets-tapedeck_LIBS)) $(workbench-gadgets-tapedeck_KAUTOLIB) +$(workbench-gadgets-tapedeck_KOBJ) : LINKLIBS:=$(workbench-gadgets-tapedeck_KOBJ_LIBS) $($(workbench-gadgets-tapedeck_DEFNAME)_LIBS) +$(workbench-gadgets-tapedeck_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-gadgets-tapedeck_SYMBOLS)) +$(workbench-gadgets-tapedeck_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-gadgets-tapedeck_KOBJ) : $(workbench-gadgets-tapedeck_OBJS) $(USER_OBJS) $(workbench-gadgets-tapedeck_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-gadgets-tapedeck_DEPS := $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/,$(notdir $(workbench-gadgets-tapedeck_CCFILES:=.d) $(workbench-gadgets-tapedeck_TARGETCCFILES:=.d) $(workbench-gadgets-tapedeck_CXXFILES:=.d))) $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/linklib/,$(notdir $(workbench-gadgets-tapedeck_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-gadgets-tapedeck_DEPS),) + ifneq (workbench-gadgets-tapedeck workbench-gadgets-tapedeck-quick workbench-gadgets-tapedeck-kobj workbench-gadgets-tapedeck-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-gadgets-tapedeck workbench-gadgets-tapedeck-quick workbench-gadgets-tapedeck-kobj workbench-gadgets-tapedeck-kobj-quick),) + -include $(workbench-gadgets-tapedeck_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-gadgets-tapedeck_DEPS) + endif + endif +endif + +$(workbench-gadgets-tapedeck_OBJS) $(workbench-gadgets-tapedeck_DEPS) : | $(workbench-gadgets-tapedeck_OBJDIR)/linklib + +ifneq ($(workbench-gadgets-tapedeck_OBJS) $(workbench-gadgets-tapedeck_DEPS) $(workbench-gadgets-tapedeck_MODULE) $(workbench-gadgets-tapedeck_KOBJ),) +$(workbench-gadgets-tapedeck_OBJS) $(workbench-gadgets-tapedeck_DEPS) $(workbench-gadgets-tapedeck_MODULE) $(workbench-gadgets-tapedeck_KOBJ) : | $(workbench-gadgets-tapedeck_OBJDIR) $(AROSDIR)/$(workbench-gadgets-tapedeck_MODDIR) $(KOBJSDIR) +else +$(workbench-gadgets-tapedeck_OBJS) $(workbench-gadgets-tapedeck_DEPS) $(workbench-gadgets-tapedeck_MODULE) $(workbench-gadgets-tapedeck_KOBJ) :: $(workbench-gadgets-tapedeck_OBJDIR) $(AROSDIR)/$(workbench-gadgets-tapedeck_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-gadgets-tapedeck_OBJDIR) $(AROSDIR)/$(workbench-gadgets-tapedeck_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-gadgets-tapedeck workbench-gadgets-tapedeck-includes workbench-gadgets-tapedeck-quick workbench-gadgets-tapedeck-kobj workbench-gadgets-tapedeck-kobj-quick),) # Only for this target these deps are wanted + +workbench-gadgets-tapedeck_DFILE_DEPS := $(workbench-gadgets-tapedeck_LIBDEFSINC) $(workbench-gadgets-tapedeck_DEFLIBDEFSINC) \ + $(addprefix $(workbench-gadgets-tapedeck_INCDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) +$(workbench-gadgets-tapedeck_DEPS) : $(workbench-gadgets-tapedeck_DFILE_DEPS) +endif + +workbench-gadgets-tapedeck_TOCLEAN := $(workbench-gadgets-tapedeck_OBJS) $(workbench-gadgets-tapedeck_DEPS) \ + $(workbench-gadgets-tapedeck_MODULE) $(workbench-gadgets-tapedeck_LINKLIB) $(workbench-gadgets-tapedeck_KOBJ) \ + $(workbench-gadgets-tapedeck_OBJDIR)/Makefile.tapedeckgadget \ + $(addprefix $(workbench-gadgets-tapedeck_OBJDIR)/include/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-gadgets-tapedeck_INCDIR)/,$($(workbench-gadgets-tapedeck_DEFNAME)_INCLUDES)) \ + $(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_geninc $(workbench-gadgets-tapedeck_OBJDIR)/tapedeck_incs \ + $(addsuffix .c,$(workbench-gadgets-tapedeck_LINKLIBFILES)) $(workbench-gadgets-tapedeck_LINKLIBOBJS) $(workbench-gadgets-tapedeck_LIBDEFSINC) \ + $(workbench-gadgets-tapedeck_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-gadgets-tapedeck_STARTFILES) $(workbench-gadgets-tapedeck_ENDFILES)) \ + $(workbench-gadgets-tapedeck_ENDOBJS) +workbench-gadgets-tapedeck-clean : FILES := $(workbench-gadgets-tapedeck_TOCLEAN) +workbench-gadgets-tapedeck-clean :: + $(Q)$(ECHO) "Cleaning up for module tapedeck" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-gadgets-tapedeck_ALLTARGETS) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/calltips/mmakefile b/workbench/classes/zune/calltips/mmakefile new file mode 100644 index 00000000000..46b758a09fc --- /dev/null +++ b/workbench/classes/zune/calltips/mmakefile @@ -0,0 +1,1720 @@ +# Copyright © 2014, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CFLAGS := $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := Calltips +INCLUDE_FILES := Calltips_mcc.h + +#MM- workbench-classes-zune : workbench-classes-zune-calltips + +#MM workbench-classes-zune-calltips : includes + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-classes-zune-calltips +#MM workbench-classes-zune-calltips-quick +#MM workbench-classes-zune-calltips-makefile +#MM workbench-classes-zune-calltips-clean + +# ABI targets: +#MM- includes-all : workbench-classes-zune-calltips-includes +#MM- linklibs-Calltips: workbench-classes-zune-calltips-linklib +#MM- linklibs-Calltips_rel : workbench-classes-zune-calltips-linklib +#MM- includes-Calltips: workbench-classes-zune-calltips-includes +#MM- includes-Calltips_rel : workbench-classes-zune-calltips-includes +#MM- workbench-classes-zune-calltips : workbench-classes-zune-calltips-includes core-linklibs linklibs- +#MM workbench-classes-zune-calltips-linklib : workbench-classes-zune-calltips-includes includes- +#MM- workbench-classes-zune-calltips-quick : workbench-classes-zune-calltips-includes-quick +#MM workbench-classes-zune-calltips-includes : workbench-classes-zune-calltips-makefile workbench-classes-zune-calltips-includes-dirs \ +#MM includes-generate-deps workbench-classes-zune-calltips-fd +#MM workbench-classes-zune-calltips-includes-quick +#MM workbench-classes-zune-calltips-includes-dirs +#MM workbench-classes-zune-calltips-fd + +# Library targets +#MM workbench-classes-zune-calltips-kobj : core-linklibs linklibs- +#MM workbench-classes-zune-calltips-kobj-quick : + +# Library with ABI targets: +#MM workbench-classes-zune-calltips-kobj : workbench-classes-zune-calltips-includes core-linklibs linklibs- +#MM workbench-classes-zune-calltips-kobj-quick : workbench-classes-zune-calltips-includes-quick + +# All MetaMake targets defined by this macro +workbench-classes-zune-calltips_ALLTARGETS := workbench-classes-zune-calltips workbench-classes-zune-calltips-quick workbench-classes-zune-calltips-clean + +ifeq (M,M) +workbench-classes-zune-calltips_ALLTARGETS += workbench-classes-zune-calltips-kobj workbench-classes-zune-calltips-kobj-quick +endif + +ifeq (M,M) +workbench-classes-zune-calltips_ALLTARGETS += workbench-classes-zune-calltips-includes \ + workbench-classes-zune-calltips-includes-quick workbench-classes-zune-calltips-includes-dirs \ + workbench-classes-zune-calltips-linklib workbench-classes-zune-calltips-fd +endif + +.PHONY : $(workbench-classes-zune-calltips_ALLTARGETS) workbench-classes-zune-calltips-makefile + +ifeq (Calltips,) +$(error using %build_module: modname may not be empty) +endif +ifeq (mcc,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-classes-zune-calltips_DEFNAME := Calltips_ +else + workbench-classes-zune-calltips_DEFNAME := Calltips +endif +workbench-classes-zune-calltips_DEFLINKLIBNAME := $(workbench-classes-zune-calltips_DEFNAME) +ifneq (,) + workbench-classes-zune-calltips_LINKLIBNAME := +else + workbench-classes-zune-calltips_LINKLIBNAME = $(workbench-classes-zune-calltips_DEFLINKLIBNAME) +endif +workbench-classes-zune-calltips_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-classes-zune-calltips_DEFCPPFLAGS += -I +endif +workbench-classes-zune-calltips_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-classes-zune-calltips_DFLAGS := +else + workbench-classes-zune-calltips_DFLAGS = $(workbench-classes-zune-calltips_DEFDFLAGS) +endif +workbench-classes-zune-calltips_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-classes-zune-calltips_DXXFLAGS := +else + workbench-classes-zune-calltips_DXXFLAGS = $(workbench-classes-zune-calltips_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-classes-zune-calltips_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-classes-zune-calltips_DEFDFLAGS)) +workbench-classes-zune-calltips_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-classes-zune-calltips_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-classes-zune-calltips_FUNCINSTR := yes +workbench-classes-zune-calltips_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-classes-zune-calltips_DEFDFLAGS)) +workbench-classes-zune-calltips_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-classes-zune-calltips_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-classes-zune-calltips_OBJDIR := +else +workbench-classes-zune-calltips_OBJDIR := $(OBJDIR)/$(workbench-classes-zune-calltips_DEFNAME) +endif +ifneq (,) +workbench-classes-zune-calltips_OBJDIR := $(workbench-classes-zune-calltips_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-classes-zune-calltips-makefile := $(workbench-classes-zune-calltips_OBJDIR)/Makefile.$(workbench-classes-zune-calltips_DEFNAME)mcc +workbench-classes-zune-calltips-genmakefile : $(workbench-classes-zune-calltips-makefile) + + +workbench-classes-zune-calltips-genmakefile_OPTS := +ifneq (,) + workbench-classes-zune-calltips-genmakefile_OPTS += -f + workbench-classes-zune-calltips-genmakefile_MODNAME := Calltips_ +else + workbench-classes-zune-calltips-genmakefile_MODNAME := Calltips +endif +workbench-classes-zune-calltips-genmakefile_TARGET := Makefile.$(workbench-classes-zune-calltips-genmakefile_MODNAME)mcc +workbench-classes-zune-calltips-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-calltips-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-calltips-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-calltips-genmakefile_OPTS += -c + workbench-classes-zune-calltips-genmakefile_DEPS += + endif +else + workbench-classes-zune-calltips-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/Calltips.conf + workbench-classes-zune-calltips-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/Calltips.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-calltips-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-calltips-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-calltips-genmakefile_OPTS += -o + workbench-classes-zune-calltips-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-classes-zune-calltips-genmakefile_OPTS += -s +endif +ifneq ($(workbench-classes-zune-calltips_OBJDIR),) + workbench-classes-zune-calltips-genmakefile_OPTS += -d $(workbench-classes-zune-calltips_OBJDIR) + workbench-classes-zune-calltips-genmakefile_TARGET := $(workbench-classes-zune-calltips_OBJDIR)/$(workbench-classes-zune-calltips-genmakefile_TARGET) +endif + +$(workbench-classes-zune-calltips-genmakefile_TARGET) : OPTS := $(workbench-classes-zune-calltips-genmakefile_OPTS) +$(workbench-classes-zune-calltips-genmakefile_TARGET) : MODNAME := Calltips +$(workbench-classes-zune-calltips-genmakefile_TARGET) : MODTYPE := mcc +$(workbench-classes-zune-calltips-genmakefile_TARGET) : $(workbench-classes-zune-calltips-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-classes-zune-calltips-makefile),) +$(workbench-classes-zune-calltips-makefile) : | $(workbench-classes-zune-calltips_OBJDIR) +else +$(workbench-classes-zune-calltips-makefile) :: $(workbench-classes-zune-calltips_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-calltips_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-classes-zune-calltips_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-classes-zune-calltips-makefile) + +workbench-classes-zune-calltips_DEFMODDIR := $($(workbench-classes-zune-calltips_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-classes-zune-calltips_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-classes-zune-calltips_DEFMODDIR) +endif +ifneq (,) + workbench-classes-zune-calltips_MODDIR := +else + workbench-classes-zune-calltips_MODDIR := $(workbench-classes-zune-calltips_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-classes-zune-calltips_INCDIR := +else +workbench-classes-zune-calltips_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-classes-zune-calltips_LIBDEFSINC := $(workbench-classes-zune-calltips_OBJDIR)/include/$(workbench-classes-zune-calltips_DEFNAME)_libdefs.h +workbench-classes-zune-calltips_DEFLIBDEFSINC := $(workbench-classes-zune-calltips_OBJDIR)/include/$(workbench-classes-zune-calltips_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-classes-zune-calltips-includes-quick : workbench-classes-zune-calltips-includes +workbench-classes-zune-calltips-includes : $(addprefix $(GENINCDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-classes-zune-calltips_INCDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) \ + $(workbench-classes-zune-calltips_LIBDEFSINC) $(workbench-classes-zune-calltips_DEFLIBDEFSINC) + +ifneq ($($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-classes-zune-calltips-includes_MODNAME := Calltips_ +else + workbench-classes-zune-calltips-includes_MODNAME := Calltips +endif + +ifneq ($($(workbench-classes-zune-calltips-includes_MODNAME)_INCLUDES),) + +workbench-classes-zune-calltips-includes_TARGETS := $($(workbench-classes-zune-calltips-includes_MODNAME)_INCLUDES) + +workbench-classes-zune-calltips-includes_DEPS := $(GENMODULE) +workbench-classes-zune-calltips-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-calltips-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-calltips-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-calltips-includes_OPTS += -c + workbench-classes-zune-calltips-includes_DEPS += + endif +else + workbench-classes-zune-calltips-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/Calltips.conf + workbench-classes-zune-calltips-includes_DEPS += $(SRCDIR)/$(CURDIR)/Calltips.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-calltips-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-calltips-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-calltips-includes_OPTS += -o + workbench-classes-zune-calltips-includes_DEPS += + endif +endif +ifneq (,) + workbench-classes-zune-calltips-includes_OPTS += -s +endif +ifneq ($(workbench-classes-zune-calltips_OBJDIR)/include,) + workbench-classes-zune-calltips-includes_OPTS += -d $(workbench-classes-zune-calltips_OBJDIR)/include + workbench-classes-zune-calltips-includes_TARGETS := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/include/,$(workbench-classes-zune-calltips-includes_TARGETS)) + workbench-classes-zune-calltips-includes_GENINCFLAG=$(workbench-classes-zune-calltips_OBJDIR)/include/.Calltips.mcc-includes +else + workbench-classes-zune-calltips-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.Calltips.mcc-includes +endif + +$(workbench-classes-zune-calltips-includes_TARGETS) : $(workbench-classes-zune-calltips-includes_DEPS) $(workbench-classes-zune-calltips-includes_GENINCFLAG) + +$(workbench-classes-zune-calltips-includes_GENINCFLAG) : OPTS := $(workbench-classes-zune-calltips-includes_OPTS) +$(workbench-classes-zune-calltips-includes_GENINCFLAG) : MODNAME := Calltips +$(workbench-classes-zune-calltips-includes_GENINCFLAG) : MODTYPE := mcc +$(workbench-classes-zune-calltips-includes_GENINCFLAG) : $(workbench-classes-zune-calltips-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-classes-zune-calltips_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) : | $(workbench-classes-zune-calltips_OBJDIR)/Calltips_geninc + +$(workbench-classes-zune-calltips_OBJDIR)/Calltips_geninc : COPYSRCDIR := $(workbench-classes-zune-calltips_OBJDIR)/include +$(workbench-classes-zune-calltips_OBJDIR)/Calltips_geninc : TGTDIR := $(GENINCDIR) +$(workbench-classes-zune-calltips_OBJDIR)/Calltips_geninc : FILES := $($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES) +$(workbench-classes-zune-calltips_OBJDIR)/Calltips_geninc : $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/include/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-classes-zune-calltips_OBJDIR)/include + +$(addprefix $(workbench-classes-zune-calltips_INCDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) : | $(workbench-classes-zune-calltips_OBJDIR)/Calltips_incs + +$(workbench-classes-zune-calltips_OBJDIR)/Calltips_incs : COPYSRCDIR := $(workbench-classes-zune-calltips_OBJDIR)/include +$(workbench-classes-zune-calltips_OBJDIR)/Calltips_incs : TGTDIR := $(workbench-classes-zune-calltips_INCDIR) +$(workbench-classes-zune-calltips_OBJDIR)/Calltips_incs : FILES := $($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES) +$(workbench-classes-zune-calltips_OBJDIR)/Calltips_incs : $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/include/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-classes-zune-calltips_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)))) + +TMPCalltips_INCDIRS := \ + $(workbench-classes-zune-calltips_OBJDIR)/include $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/include/,$(workbench-classes-zune-calltips_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-classes-zune-calltips_INCDIRS)) \ + $(workbench-classes-zune-calltips_INCDIR) $(addprefix $(workbench-classes-zune-calltips_INCDIR)/,$(workbench-classes-zune-calltips_INCDIRS)) + +ifneq (workbench-classes-zune-calltips-includes-dirs,) +workbench-classes-zune-calltips-includes-dirs : | $(TMPCalltips_INCDIRS) +else +workbench-classes-zune-calltips-includes-dirs :: $(TMPCalltips_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPCalltips_INCDIRS) + + +endif + +endif + + +workbench-classes-zune-calltips-genlibdefs_OPTS := +ifneq (,) + workbench-classes-zune-calltips-genlibdefs_OPTS += -f + workbench-classes-zune-calltips-genlibdefs_MODNAME := Calltips_ +else + workbench-classes-zune-calltips-genlibdefs_MODNAME := Calltips +endif +workbench-classes-zune-calltips-genlibdefs_TARGET := $(workbench-classes-zune-calltips-genlibdefs_MODNAME)_libdefs.h +workbench-classes-zune-calltips-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-calltips-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-calltips-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-calltips-genlibdefs_OPTS += -c + workbench-classes-zune-calltips-genlibdefs_DEPS += + endif +else + workbench-classes-zune-calltips-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/Calltips.conf + workbench-classes-zune-calltips-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/Calltips.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-calltips-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-calltips-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-calltips-genlibdefs_OPTS += -o + workbench-classes-zune-calltips-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-classes-zune-calltips-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-classes-zune-calltips_OBJDIR)/include,) + workbench-classes-zune-calltips-genlibdefs_OPTS += -d $(workbench-classes-zune-calltips_OBJDIR)/include + workbench-classes-zune-calltips-genlibdefs_TARGET := $(workbench-classes-zune-calltips_OBJDIR)/include/$(workbench-classes-zune-calltips-genlibdefs_TARGET) +endif +ifneq (,) + workbench-classes-zune-calltips-genlibdefs_OPTS += -v +endif + +$(workbench-classes-zune-calltips-genlibdefs_TARGET) : OPTS := $(workbench-classes-zune-calltips-genlibdefs_OPTS) +$(workbench-classes-zune-calltips-genlibdefs_TARGET) : MODNAME := Calltips +$(workbench-classes-zune-calltips-genlibdefs_TARGET) : MODTYPE := mcc +$(workbench-classes-zune-calltips-genlibdefs_TARGET) : $(workbench-classes-zune-calltips-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-classes-zune-calltips_DEFLIBDEFSINC) : FILENAME := $(workbench-classes-zune-calltips_LIBDEFSINC) +$(workbench-classes-zune-calltips_DEFLIBDEFSINC) : $(workbench-classes-zune-calltips_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-classes-zune-calltips_LIBDEFSINC) $(workbench-classes-zune-calltips_DEFLIBDEFSINC) : | $(workbench-classes-zune-calltips_OBJDIR)/include + +ifneq (workbench-classes-zune-calltips-includes-dirs,) +workbench-classes-zune-calltips-includes-dirs : | $(workbench-classes-zune-calltips_OBJDIR)/include +else +workbench-classes-zune-calltips-includes-dirs :: $(workbench-classes-zune-calltips_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-classes-zune-calltips_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-classes-zune-calltips-genmodfiles_OPTS := +ifneq (,) + workbench-classes-zune-calltips-genmodfiles_OPTS += -f + workbench-classes-zune-calltips-genmodfiles_MODNAME := Calltips_ +else + workbench-classes-zune-calltips-genmodfiles_MODNAME := Calltips +endif +workbench-classes-zune-calltips-genmodfiles_GENTARGETS := $($(workbench-classes-zune-calltips-genmodfiles_MODNAME)_STARTFILES) $($(workbench-classes-zune-calltips-genmodfiles_MODNAME)_ENDFILES) +workbench-classes-zune-calltips-genmodfiles_STUBTARGETS := $($(workbench-classes-zune-calltips-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-classes-zune-calltips-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-classes-zune-calltips-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-classes-zune-calltips-genmodfiles_GENTARGETS)) +workbench-classes-zune-calltips-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-classes-zune-calltips-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-classes-zune-calltips-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-classes-zune-calltips-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-classes-zune-calltips-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-calltips-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-calltips-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-calltips-genmodfiles_OPTS += -c + workbench-classes-zune-calltips-genmodfiles_DEPS += + endif +else + workbench-classes-zune-calltips-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/Calltips.conf + workbench-classes-zune-calltips-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/Calltips.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-calltips-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-calltips-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-calltips-genmodfiles_OPTS += -o + workbench-classes-zune-calltips-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-classes-zune-calltips-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-classes-zune-calltips_OBJDIR),) + workbench-classes-zune-calltips-genmodfiles_OPTS += -d $(workbench-classes-zune-calltips_OBJDIR) + workbench-classes-zune-calltips-genmodfiles_TARGETDIR := $(shell echo $(workbench-classes-zune-calltips_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-classes-zune-calltips-genmodfiles_GENTARGETS := $(addprefix $(workbench-classes-zune-calltips-genmodfiles_TARGETDIR)/,$(workbench-classes-zune-calltips-genmodfiles_GENTARGETS)) + workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG=$(workbench-classes-zune-calltips-genmodfiles_TARGETDIR)/.Calltips.mcc-genfiles +else + workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.Calltips.mcc-genfiles +endif +ifneq ($(workbench-classes-zune-calltips_OBJDIR)/linklib,) + workbench-classes-zune-calltips-genmodfiles_OPTS += -l $(workbench-classes-zune-calltips_OBJDIR)/linklib + workbench-classes-zune-calltips-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-classes-zune-calltips_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-classes-zune-calltips-genmodfiles_STUBTARGETS := $(addprefix $(workbench-classes-zune-calltips-genmodfiles_STUBTARGETDIR)/,$(workbench-classes-zune-calltips-genmodfiles_STUBTARGETS)) + workbench-classes-zune-calltips-genmodfiles_TARGETDIRS += $(workbench-classes-zune-calltips_OBJDIR)/linklib +else +ifneq ($(workbench-classes-zune-calltips_OBJDIR),) + workbench-classes-zune-calltips-genmodfiles_STUBTARGETS := $(addprefix $(workbench-classes-zune-calltips-genmodfiles_TARGETDIR)/,$(workbench-classes-zune-calltips-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-classes-zune-calltips-genmodfiles_TARGETS := $(workbench-classes-zune-calltips-genmodfiles_GENTARGETS) $(workbench-classes-zune-calltips-genmodfiles_STUBTARGETS) +ifneq ($(workbench-classes-zune-calltips-genmodfiles_TARGETDIRS),) +$(workbench-classes-zune-calltips-genmodfiles_TARGETS) : | $(workbench-classes-zune-calltips-genmodfiles_TARGETDIRS) +endif + +$(workbench-classes-zune-calltips-genmodfiles_TARGETS) : $(workbench-classes-zune-calltips-genmodfiles_DEPS) $(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG) + +$(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-classes-zune-calltips-genmodfiles_OPTS) +$(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG) : MODNAME := Calltips +$(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG) : MODTYPE := mcc +$(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG) : $(workbench-classes-zune-calltips-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG) : $(workbench-classes-zune-calltips_DEFLIBDEFSINC) $(workbench-classes-zune-calltips-makefile) + + +ifneq ($(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG),) +$(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG) : | $(workbench-classes-zune-calltips_OBJDIR)/linklib +else +$(workbench-classes-zune-calltips-genmodfiles_GENFILEFLAG) :: $(workbench-classes-zune-calltips_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-classes-zune-calltips_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-classes-zune-calltips_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-classes-zune-calltips_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-classes-zune-calltips-fd : $(workbench-classes-zune-calltips_FDDIR)/Calltips_lib.fd + + +TMP_TARGET := Calltips_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/Calltips.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/Calltips.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-classes-zune-calltips_FDDIR),) + TMP_OPTS += -d $(workbench-classes-zune-calltips_FDDIR) + TMP_TARGET := $(workbench-classes-zune-calltips_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := Calltips +$(TMP_TARGET) : MODTYPE := mcc +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-classes-zune-calltips_FDDIR)/Calltips_lib.fd : | $(workbench-classes-zune-calltips_FDDIR) + + +ifneq (workbench-classes-zune-calltips-fd-setup,) +workbench-classes-zune-calltips-fd-setup : | $(workbench-classes-zune-calltips_FDDIR) +else +workbench-classes-zune-calltips-fd-setup :: $(workbench-classes-zune-calltips_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-calltips_FDDIR) + +endif + +## Compilation +## +workbench-classes-zune-calltips_FILES := $(basename $(call WILDCARD, *.c)) +workbench-classes-zune-calltips_OBJCFILES := +workbench-classes-zune-calltips_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-classes-zune-calltips_LIBFILES := +workbench-classes-zune-calltips_LIBS := + +workbench-classes-zune-calltips_FDIRS := $(sort $(dir $(workbench-classes-zune-calltips_FILES))) + +workbench-classes-zune-calltips_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-classes-zune-calltips_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-classes-zune-calltips_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-classes-zune-calltips_FILTERARCH = $(filter-out $(call workbench-classes-zune-calltips_MATCHARCH,$(1),$(2)),$(2)) +workbench-classes-zune-calltips_STARTFILES := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_STARTFILES)) +workbench-classes-zune-calltips_ENDFILES := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_ENDFILES)) + +workbench-classes-zune-calltips_ARCHOBJS := $(wildcard $(workbench-classes-zune-calltips_OBJDIR)/arch/*.o) +workbench-classes-zune-calltips_LIBARCHOBJS := $(wildcard $(workbench-classes-zune-calltips_OBJDIR)/linklib/arch/*.o) +workbench-classes-zune-calltips_ARCHFILES := $(basename $(notdir $(workbench-classes-zune-calltips_ARCHOBJS))) +workbench-classes-zune-calltips_LIBARCHFILES := $(basename $(notdir $(workbench-classes-zune-calltips_LIBARCHOBJS))) +workbench-classes-zune-calltips_C_NARCHFILES := $(call workbench-classes-zune-calltips_FILTERARCH,$(workbench-classes-zune-calltips_ARCHFILES),$(workbench-classes-zune-calltips_FILES)) +workbench-classes-zune-calltips_CXX_NARCHFILES := $(call workbench-classes-zune-calltips_FILTERARCH,$(workbench-classes-zune-calltips_ARCHFILES),$(workbench-classes-zune-calltips_CXXFILES)) +workbench-classes-zune-calltips_OBJC_NARCHFILES := $(call workbench-classes-zune-calltips_FILTERARCH,$(workbench-classes-zune-calltips_ARCHFILES),$(workbench-classes-zune-calltips_OBJCFILES)) +workbench-classes-zune-calltips_NLIBARCHFILES := $(call workbench-classes-zune-calltips_FILTERARCH,$(workbench-classes-zune-calltips_LIBARCHFILES),$(workbench-classes-zune-calltips_LIBFILES)) +workbench-classes-zune-calltips_ARCHNLIBFILES := $(call workbench-classes-zune-calltips_FILTERARCH,$(workbench-classes-zune-calltips_LIBFILES),$(workbench-classes-zune-calltips_LIBARCHFILES)) + +workbench-classes-zune-calltips_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-classes-zune-calltips_OBJDIR)/include -include $(workbench-classes-zune-calltips_DEFLIBDEFSINC)) +ifneq (,) +workbench-classes-zune-calltips_CPPFLAGS += -I +endif +workbench-classes-zune-calltips_LINKLIBCPPFLAGS := $(workbench-classes-zune-calltips_CPPFLAGS) +workbench-classes-zune-calltips_CPPFLAGS += $(strip $($(workbench-classes-zune-calltips_DEFNAME)_CPPFLAGS)) +workbench-classes-zune-calltips_LINKLIBCPPFLAGS += $(strip $($(workbench-classes-zune-calltips_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-classes-zune-calltips_CFLAGS := $(strip $(CFLAGS) $($(workbench-classes-zune-calltips_DEFNAME)_CFLAGS)) +workbench-classes-zune-calltips_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-classes-zune-calltips_DEFNAME)_LINKLIBCFLAGS)) +workbench-classes-zune-calltips_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-classes-zune-calltips_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-classes-zune-calltips_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-classes-zune-calltips_CFLAGS := $(strip $(workbench-classes-zune-calltips_LTOFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +workbench-classes-zune-calltips_LINKLIBCFLAGS := $(strip $(workbench-classes-zune-calltips_LTOFLAGS) $(workbench-classes-zune-calltips_LINKLIBCFLAGS)) +workbench-classes-zune-calltips_CXXFLAGS := $(strip $(workbench-classes-zune-calltips_LTOFLAGS) $(workbench-classes-zune-calltips_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-classes-zune-calltips_SUBSTNULL := +workbench-classes-zune-calltips_SUBSTSPACE := $(workbench-classes-zune-calltips_SUBSTNULL) # +workbench-classes-zune-calltips_SUBSTCOMMA := , +workbench-classes-zune-calltips_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-classes-zune-calltips_SUBSTSPACE),$(workbench-classes-zune-calltips_SUBSTCOMMA),$(strip $($(workbench-classes-zune-calltips_DEFNAME)_STARTFILES)))) +workbench-classes-zune-calltips_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-classes-zune-calltips_CFLAGS := $(strip $(workbench-classes-zune-calltips_INSTRFUNCFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +workbench-classes-zune-calltips_CXXFLAGS := $(strip $(workbench-classes-zune-calltips_INSTRFUNCFLAGS) $(workbench-classes-zune-calltips_CXXFLAGS)) +workbench-classes-zune-calltips_LIBS += $(workbench-classes-zune-calltips_INSTRFUNCLIBS) +endif +endif +workbench-classes-zune-calltips_DFLAGS := $(strip $(workbench-classes-zune-calltips_DFLAGS) $($(workbench-classes-zune-calltips_DEFNAME)_DFLAGS)) +workbench-classes-zune-calltips_LINKLIBDFLAGS := $(strip $(workbench-classes-zune-calltips_DFLAGS) $($(workbench-classes-zune-calltips_DEFNAME)_LINKLIBDFLAGS)) +workbench-classes-zune-calltips_DXXFLAGS := $(strip $(workbench-classes-zune-calltips_DXXFLAGS) $($(workbench-classes-zune-calltips_DEFNAME)_DXXFLAGS)) + +ifeq (mcc,library) + workbench-classes-zune-calltips_LIBSUFFIX := +else + workbench-classes-zune-calltips_LIBSUFFIX := .mcc +endif + +ifeq (,) +workbench-classes-zune-calltips_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-classes-zune-calltips_LIBDIR := +endif + +ifeq (M,M) +workbench-classes-zune-calltips_LINKLIBCFILES := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$($(workbench-classes-zune-calltips_DEFNAME)_LINKLIBFILES)) +workbench-classes-zune-calltips_LINKLIBAFILES := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$($(workbench-classes-zune-calltips_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-classes-zune-calltips_DEFNAME)_LINKLIBFILES) $($(workbench-classes-zune-calltips_DEFNAME)_LINKLIBAFILES) $(workbench-classes-zune-calltips_ARCHNLIBFILES)),) + workbench-classes-zune-calltips_LINKLIB := +else + workbench-classes-zune-calltips_LINKLIB := $(workbench-classes-zune-calltips_LIBDIR)/libCalltips$(workbench-classes-zune-calltips_LIBSUFFIX).a + ifneq (Calltips,$(workbench-classes-zune-calltips_LINKLIBNAME)) + workbench-classes-zune-calltips_LINKLIB += $(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)$(workbench-classes-zune-calltips_LIBSUFFIX).a + endif +endif +workbench-classes-zune-calltips_LINKLIBFILES := $(workbench-classes-zune-calltips_LINKLIBCFILES) $(workbench-classes-zune-calltips_LINKLIBAFILES) + +workbench-classes-zune-calltips_RELLINKLIBCFILES := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$($(workbench-classes-zune-calltips_DEFNAME)_RELLINKLIBFILES)) +workbench-classes-zune-calltips_RELLINKLIBAFILES := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$($(workbench-classes-zune-calltips_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-classes-zune-calltips_DEFNAME)_RELLINKLIBFILES) $($(workbench-classes-zune-calltips_DEFNAME)_RELLINKLIBAFILES) $(workbench-classes-zune-calltips_ARCHNLIBFILES)),) + workbench-classes-zune-calltips_RELLINKLIB := +else + workbench-classes-zune-calltips_RELLINKLIB := $(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_DEFNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a + ifneq (Calltips,$(workbench-classes-zune-calltips_LINKLIBNAME)) + workbench-classes-zune-calltips_RELLINKLIB += $(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a + endif +endif +workbench-classes-zune-calltips_RELLINKLIBFILES := $(workbench-classes-zune-calltips_RELLINKLIBCFILES) $(workbench-classes-zune-calltips_RELLINKLIBAFILES) +endif + +workbench-classes-zune-calltips_ENDOBJS := $(addsuffix .o,$(workbench-classes-zune-calltips_ENDFILES)) +workbench-classes-zune-calltips_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-calltips_NLIBARCHFILES))) $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/arch/,$(notdir $(workbench-classes-zune-calltips_ARCHNLIBFILES))) $(workbench-classes-zune-calltips_LINKLIBFILES)) \ + +workbench-classes-zune-calltips_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-calltips_NLIBARCHFILES))) $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/arch/,$(notdir $(workbench-classes-zune-calltips_ARCHNLIBFILES))) $(workbench-classes-zune-calltips_RELLINKLIBFILES)) \ + +$(workbench-classes-zune-calltips_LINKLIBFILES) $(workbench-classes-zune-calltips_RELLINKLIBFILES) : | $(workbench-classes-zune-calltips_OBJDIR)/linklib +$(workbench-classes-zune-calltips_LINKLIBOBJS) $(workbench-classes-zune-calltips_RELLINKLIBOBJS) : | $(workbench-classes-zune-calltips_OBJDIR)/linklib + +workbench-classes-zune-calltips_CCFILES := $(workbench-classes-zune-calltips_C_NARCHFILES) +workbench-classes-zune-calltips_TARGETCCFILES := $(strip $(workbench-classes-zune-calltips_STARTFILES) $(workbench-classes-zune-calltips_ENDFILES)) +workbench-classes-zune-calltips_LINKLIBCCFILES := $(strip $(workbench-classes-zune-calltips_NLIBARCHFILES) $(workbench-classes-zune-calltips_LINKLIBCFILES) $(workbench-classes-zune-calltips_RELLINKLIBCFILES)) +workbench-classes-zune-calltips_LINKLIBCCGENFILES := $(strip $(workbench-classes-zune-calltips_LINKLIBCFILES) $(workbench-classes-zune-calltips_RELLINKLIBCFILES)) + + +workbench-classes-zune-calltips_CXXABSBASENAMES := $(foreach workbench-classes-zune-calltips_CXXBASE,$(workbench-classes-zune-calltips_CXX_NARCHFILES),$(if $(filter /%,$(workbench-classes-zune-calltips_CXXBASE)),$(workbench-classes-zune-calltips_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-classes-zune-calltips_CXXBASE)))) + +ifneq ($(workbench-classes-zune-calltips_CXXABSBASENAMES),) + +workbench-classes-zune-calltips_CXXBASENAMES := $(basename $(workbench-classes-zune-calltips_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-classes-zune-calltips_MCXX_FILES := $(strip $(foreach workbench-classes-zune-calltips_CXXBASE,$(workbench-classes-zune-calltips_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-classes-zune-calltips_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-classes-zune-calltips_EXT),$(workbench-classes-zune-calltips_CXXBASE))))))) + +ifeq (,) +workbench-classes-zune-calltips_MCXX_SRCWILDCARD := % +else +workbench-classes-zune-calltips_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-calltips_OBJDIR),) + workbench-classes-zune-calltips_CXXTARGETS := $(notdir $(workbench-classes-zune-calltips_CXXBASENAMES:=.o)) + workbench-classes-zune-calltips_CXXDTARGETS := $(notdir $(workbench-classes-zune-calltips_CXXBASENAMES:=.d)) + workbench-classes-zune-calltips_MCXX_WILDCARD := % +else + workbench-classes-zune-calltips_CXXTARGETS := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(workbench-classes-zune-calltips_CXXBASENAMES:=.o))) + workbench-classes-zune-calltips_CXXDTARGETS := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(workbench-classes-zune-calltips_CXXBASENAMES:=.d))) + workbench-classes-zune-calltips_MCXX_WILDCARD := $(workbench-classes-zune-calltips_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-classes-zune-calltips_CXXTARGETS) $(workbench-classes-zune-calltips_CXXDTARGETS) : | $(workbench-classes-zune-calltips_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-classes-zune-calltips_MCXX_CPPFLAGS := $(workbench-classes-zune-calltips_CPPFLAGS) +workbench-classes-zune-calltips_CXXFLAGS := $(workbench-classes-zune-calltips_CXXFLAGS) +ifeq ($(workbench-classes-zune-calltips_DXXFLAGS),) + workbench-classes-zune-calltips_DXXFLAGS := $(workbench-classes-zune-calltips_CXXFLAGS) +else + workbench-classes-zune-calltips_DXXFLAGS := $(workbench-classes-zune-calltips_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-classes-zune-calltips_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-classes-zune-calltips_STRIP ?= $(HOST_STRIP) + workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-classes-zune-calltips_CXXCMD:=$(HOST_CXX) + workbench-classes-zune-calltips_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-classes-zune-calltips_MCXX_CPPFLAGS) $(workbench-classes-zune-calltips_MCXX_EXTRA_CPPFLAGS)) + workbench-classes-zune-calltips_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-classes-zune-calltips_CXXFLAGS)) + workbench-classes-zune-calltips_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-classes-zune-calltips_DXXFLAGS)) + workbench-classes-zune-calltips_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-classes-zune-calltips_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-classes-zune-calltips_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-classes-zune-calltips_STRIP ?= $(TARGET_STRIP) + workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-classes-zune-calltips_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-classes-zune-calltips_MCXX_CPPFLAGS := $(strip $(workbench-classes-zune-calltips_MCXX_CPPFLAGS) $(workbench-classes-zune-calltips_MCXX_EXTRA_CPPFLAGS)) + workbench-classes-zune-calltips_CXXFLAGS := $(strip $(workbench-classes-zune-calltips_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-classes-zune-calltips_DXXFLAGS := $(workbench-classes-zune-calltips_DXXFLAGS) + workbench-classes-zune-calltips_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-classes-zune-calltips_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-classes-zune-calltips_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-classes-zune-calltips_STRIP ?= $(ECHO) >/dev/null + workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-classes-zune-calltips_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-classes-zune-calltips_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-classes-zune-calltips_MCXX_CPPFLAGS) $(workbench-classes-zune-calltips_MCXX_EXTRA_CPPFLAGS)) + workbench-classes-zune-calltips_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-classes-zune-calltips_CXXFLAGS)) + workbench-classes-zune-calltips_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-classes-zune-calltips_DXXFLAGS)) + workbench-classes-zune-calltips_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-classes-zune-calltips_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-classes-zune-calltips_CXXCMD) $(workbench-classes-zune-calltips_CXXIQUOTE) $(dir $(2)) $(workbench-classes-zune-calltips_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_CXXIQUOTE) . $(workbench-classes-zune-calltips_CXXIQUOTE_END) $(strip $(workbench-classes-zune-calltips_CXXFLAGS) $(workbench-classes-zune-calltips_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-classes-zune-calltips_CXXCMD) $(workbench-classes-zune-calltips_CXXIQUOTE) $(dir $(2)) $(workbench-classes-zune-calltips_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_CXXIQUOTE) . $(workbench-classes-zune-calltips_CXXIQUOTE_END) $(strip $(workbench-classes-zune-calltips_CXXFLAGS) $(workbench-classes-zune-calltips_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-classes-zune-calltips_CXXCMD) $(workbench-classes-zune-calltips_CXXIQUOTE) $(dir $(2)) $(workbench-classes-zune-calltips_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_CXXIQUOTE) . $(workbench-classes-zune-calltips_CXXIQUOTE_END) $(strip $(workbench-classes-zune-calltips_CXXFLAGS) $(workbench-classes-zune-calltips_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-classes-zune-calltips_CXXCMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-calltips_DXXFLAGS) $(workbench-classes-zune-calltips_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-classes-zune-calltips_OBJDIR),) + $(foreach workbench-classes-zune-calltips_CXXFILE,$(workbench-classes-zune-calltips_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-classes-zune-calltips_CXXFILE))),$(workbench-classes-zune-calltips_CXXFILE)))) +else + $(foreach workbench-classes-zune-calltips_CXXFILE,$(workbench-classes-zune-calltips_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(basename $(workbench-classes-zune-calltips_CXXFILE)))),$(workbench-classes-zune-calltips_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-classes-zune-calltips_OBJC_NARCHFILES),) + +ifeq (,) +workbench-classes-zune-calltips_MOBJC_SRCWILDCARD := % +else +workbench-classes-zune-calltips_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-calltips_OBJDIR),) + workbench-classes-zune-calltips_MOBJC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-calltips_OBJC_NARCHFILES)) + workbench-classes-zune-calltips_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-calltips_OBJC_NARCHFILES)) + workbench-classes-zune-calltips_MOBJC_WILDCARD := % +else + workbench-classes-zune-calltips_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(workbench-classes-zune-calltips_OBJC_NARCHFILES))) + workbench-classes-zune-calltips_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(workbench-classes-zune-calltips_OBJC_NARCHFILES))) + workbench-classes-zune-calltips_MOBJC_WILDCARD := $(workbench-classes-zune-calltips_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-classes-zune-calltips_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-classes-zune-calltips_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-classes-zune-calltips_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-calltips_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-classes-zune-calltips_MOBJC_DIRS := $(foreach dir, $(workbench-classes-zune-calltips_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-calltips_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-classes-zune-calltips_MOBJC_DIRS),) + workbench-classes-zune-calltips_MOBJC_DIRS := $(shell echo $(workbench-classes-zune-calltips_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-classes-zune-calltips_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-classes-zune-calltips_CC := $(TARGET_CC) +else + workbench-classes-zune-calltips_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-classes-zune-calltips_MOBJC_CPPFLAGS := $(workbench-classes-zune-calltips_CPPFLAGS) +workbench-classes-zune-calltips_OBJCFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +workbench-classes-zune-calltips_OBJCFLAGS := $(workbench-classes-zune-calltips_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-classes-zune-calltips_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-classes-zune-calltips_OBJCFLAGS))) +ifeq ($(workbench-classes-zune-calltips_DFLAGS),) + workbench-classes-zune-calltips_OBJCDFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +else + workbench-classes-zune-calltips_OBJCDFLAGS := $(workbench-classes-zune-calltips_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-classes-zune-calltips_LINK ?= $(strip $(workbench-classes-zune-calltips_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-classes-zune-calltips_STRIP ?= $(TARGET_STRIP) + workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-classes-zune-calltips_CC) $(TARGET_SYSROOT)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_MOBJC_CPPFLAGS:=$(strip $(workbench-classes-zune-calltips_MOBJC_CPPFLAGS) $(workbench-classes-zune-calltips_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_OBJCFLAGS:=$(strip $(workbench-classes-zune-calltips_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_OBJCDFLAGS:=$(workbench-classes-zune-calltips_OBJCDFLAGS) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-classes-zune-calltips_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-classes-zune-calltips_STRIP ?= $(HOST_STRIP) + workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-classes-zune-calltips_MOBJC_CPPFLAGS) $(workbench-classes-zune-calltips_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_OBJCFLAGS)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_OBJCDFLAGS)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(HOST_IQUOTE) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-classes-zune-calltips_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-classes-zune-calltips_STRIP ?= $(ECHO) >/dev/null + workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-classes-zune-calltips_MOBJC_CPPFLAGS) $(workbench-classes-zune-calltips_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_OBJCFLAGS)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_OBJCDFLAGS)) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-classes-zune-calltips_MOBJC_TARGETS) $(workbench-classes-zune-calltips_MOBJC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-calltips_MOBJC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-calltips_MOBJC_CPPFLAGS) +$(workbench-classes-zune-calltips_MOBJC_TARGETS) : CFLAGS := $(workbench-classes-zune-calltips_OBJCFLAGS) +$(workbench-classes-zune-calltips_MOBJC_TARGETS) : $(workbench-classes-zune-calltips_MOBJC_WILDCARD).o : $(workbench-classes-zune-calltips_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-calltips_MOBJC_DTARGETS) : $(workbench-classes-zune-calltips_MOBJC_WILDCARD).d : $(workbench-classes-zune-calltips_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-calltips_OBJCDFLAGS) $(workbench-classes-zune-calltips_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-classes-zune-calltips_MC_SRCWILDCARD := % +else +workbench-classes-zune-calltips_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-calltips_OBJDIR),) +workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-calltips_CCFILES)) +workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-calltips_CCFILES)) +workbench-classes-zune-calltips_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(workbench-classes-zune-calltips_CCFILES)))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(workbench-classes-zune-calltips_CCFILES)))) +else +ifeq (,) + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(workbench-classes-zune-calltips_CCFILES))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(workbench-classes-zune-calltips_CCFILES))) +else + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(patsubst /%,%,$(workbench-classes-zune-calltips_CCFILES)))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(patsubst /%,%,$(workbench-classes-zune-calltips_CCFILES)))) +endif +endif +workbench-classes-zune-calltips_MC_TGTWILDCARD := $(workbench-classes-zune-calltips_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : | $(addsuffix .c,$(workbench-classes-zune-calltips_CCFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-calltips_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-calltips_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-calltips_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-calltips_MC_DIRS := $(foreach dir, $(workbench-classes-zune-calltips_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-calltips_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-calltips_MC_DIRS),) + workbench-classes-zune-calltips_MC_DIRS := $(shell echo $(workbench-classes-zune-calltips_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-classes-zune-calltips_MC_DIRS) +endif + +endif + +workbench-classes-zune-calltips_MC_CPPFLAGS := $(workbench-classes-zune-calltips_CPPFLAGS) +workbench-classes-zune-calltips_CFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +ifeq ($(workbench-classes-zune-calltips_DFLAGS),) + workbench-classes-zune-calltips_DFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +else + workbench-classes-zune-calltips_DFLAGS := $(workbench-classes-zune-calltips_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-classes-zune-calltips_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(TARGET_STRIP) +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(workbench-classes-zune-calltips_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(workbench-classes-zune-calltips_DFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-classes-zune-calltips_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(HOST_STRIP) +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_DFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(HOST_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-classes-zune-calltips_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(ECHO) >/dev/null +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_DFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-calltips_MC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-calltips_MC_CPPFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) : CFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) : $(workbench-classes-zune-calltips_MC_TGTWILDCARD).o : $(workbench-classes-zune-calltips_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-calltips_MC_DTARGETS) : $(workbench-classes-zune-calltips_MC_TGTWILDCARD).d : $(workbench-classes-zune-calltips_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-calltips_DFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-classes-zune-calltips_MC_SRCWILDCARD := % +else +workbench-classes-zune-calltips_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-calltips_OBJDIR),) +workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-calltips_TARGETCCFILES)) +workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-calltips_TARGETCCFILES)) +workbench-classes-zune-calltips_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(workbench-classes-zune-calltips_TARGETCCFILES)))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(workbench-classes-zune-calltips_TARGETCCFILES)))) +else +ifeq (,) + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(workbench-classes-zune-calltips_TARGETCCFILES))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(workbench-classes-zune-calltips_TARGETCCFILES))) +else + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(patsubst /%,%,$(workbench-classes-zune-calltips_TARGETCCFILES)))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(patsubst /%,%,$(workbench-classes-zune-calltips_TARGETCCFILES)))) +endif +endif +workbench-classes-zune-calltips_MC_TGTWILDCARD := $(workbench-classes-zune-calltips_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : | $(addsuffix .c,$(workbench-classes-zune-calltips_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-calltips_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-calltips_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-calltips_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-calltips_MC_DIRS := $(foreach dir, $(workbench-classes-zune-calltips_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-calltips_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-calltips_MC_DIRS),) + workbench-classes-zune-calltips_MC_DIRS := $(shell echo $(workbench-classes-zune-calltips_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-classes-zune-calltips_MC_DIRS) +endif + +endif + +workbench-classes-zune-calltips_MC_CPPFLAGS := $(workbench-classes-zune-calltips_CPPFLAGS) -D__AROS__ +workbench-classes-zune-calltips_CFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +ifeq ($(workbench-classes-zune-calltips_DFLAGS),) + workbench-classes-zune-calltips_DFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +else + workbench-classes-zune-calltips_DFLAGS := $(workbench-classes-zune-calltips_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-classes-zune-calltips_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(TARGET_STRIP) +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(workbench-classes-zune-calltips_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(workbench-classes-zune-calltips_DFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-classes-zune-calltips_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(HOST_STRIP) +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_DFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(HOST_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-classes-zune-calltips_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(ECHO) >/dev/null +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_DFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-calltips_MC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-calltips_MC_CPPFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) : CFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) : $(workbench-classes-zune-calltips_MC_TGTWILDCARD).o : $(workbench-classes-zune-calltips_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-calltips_MC_DTARGETS) : $(workbench-classes-zune-calltips_MC_TGTWILDCARD).d : $(workbench-classes-zune-calltips_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-calltips_DFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-classes-zune-calltips_MC_SRCWILDCARD := % +else +workbench-classes-zune-calltips_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-calltips_OBJDIR)/linklib,) +workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-calltips_NLIBARCHFILES)) +workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-calltips_NLIBARCHFILES)) +workbench-classes-zune-calltips_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-calltips_NLIBARCHFILES)))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-calltips_NLIBARCHFILES)))) +else +ifeq (,) + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(workbench-classes-zune-calltips_NLIBARCHFILES))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(workbench-classes-zune-calltips_NLIBARCHFILES))) +else + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-classes-zune-calltips_NLIBARCHFILES)))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-classes-zune-calltips_NLIBARCHFILES)))) +endif +endif +workbench-classes-zune-calltips_MC_TGTWILDCARD := $(workbench-classes-zune-calltips_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : | $(addsuffix .c,$(workbench-classes-zune-calltips_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-calltips_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-calltips_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-calltips_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-calltips_MC_DIRS := $(foreach dir, $(workbench-classes-zune-calltips_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-calltips_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-calltips_MC_DIRS),) + workbench-classes-zune-calltips_MC_DIRS := $(shell echo $(workbench-classes-zune-calltips_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-classes-zune-calltips_MC_DIRS) +endif + +endif + +workbench-classes-zune-calltips_MC_CPPFLAGS := $(workbench-classes-zune-calltips_LINKLIBCPPFLAGS) -D__AROS__ +workbench-classes-zune-calltips_CFLAGS := $(workbench-classes-zune-calltips_LINKLIBCFLAGS) +ifeq ($(workbench-classes-zune-calltips_LINKLIBDFLAGS),) + workbench-classes-zune-calltips_DFLAGS := $(workbench-classes-zune-calltips_LINKLIBCFLAGS) +else + workbench-classes-zune-calltips_DFLAGS := $(workbench-classes-zune-calltips_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-classes-zune-calltips_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(TARGET_STRIP) +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(workbench-classes-zune-calltips_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(workbench-classes-zune-calltips_DFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-classes-zune-calltips_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(HOST_STRIP) +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_DFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(HOST_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-classes-zune-calltips_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(ECHO) >/dev/null +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_DFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-calltips_MC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-calltips_MC_CPPFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) : CFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) : $(workbench-classes-zune-calltips_MC_TGTWILDCARD).o : $(workbench-classes-zune-calltips_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-calltips_MC_DTARGETS) : $(workbench-classes-zune-calltips_MC_TGTWILDCARD).d : $(workbench-classes-zune-calltips_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-calltips_DFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-classes-zune-calltips_OBJDIR)/linklib,) +workbench-classes-zune-calltips_MC_SRCWILDCARD := % +else +workbench-classes-zune-calltips_MC_SRCWILDCARD := $(workbench-classes-zune-calltips_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-classes-zune-calltips_OBJDIR)/linklib,) +workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-calltips_LINKLIBCCGENFILES)) +workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-calltips_LINKLIBCCGENFILES)) +workbench-classes-zune-calltips_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-calltips_LINKLIBCCGENFILES)))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-calltips_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-classes-zune-calltips_OBJDIR)/linklib,) + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(workbench-classes-zune-calltips_LINKLIBCCGENFILES))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(workbench-classes-zune-calltips_LINKLIBCCGENFILES))) +else + workbench-classes-zune-calltips_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(patsubst $(workbench-classes-zune-calltips_OBJDIR)/linklib/%,%,$(workbench-classes-zune-calltips_LINKLIBCCGENFILES)))) + workbench-classes-zune-calltips_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(patsubst $(workbench-classes-zune-calltips_OBJDIR)/linklib/%,%,$(workbench-classes-zune-calltips_LINKLIBCCGENFILES)))) +endif +endif +workbench-classes-zune-calltips_MC_TGTWILDCARD := $(workbench-classes-zune-calltips_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : | $(addsuffix .c,$(workbench-classes-zune-calltips_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-calltips_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-calltips_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-calltips_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-calltips_MC_DIRS := $(foreach dir, $(workbench-classes-zune-calltips_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-calltips_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-calltips_MC_DIRS),) + workbench-classes-zune-calltips_MC_DIRS := $(shell echo $(workbench-classes-zune-calltips_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-classes-zune-calltips_MC_DIRS) +endif + +endif + +workbench-classes-zune-calltips_MC_CPPFLAGS := $(workbench-classes-zune-calltips_LINKLIBCPPFLAGS) -D__AROS__ +workbench-classes-zune-calltips_CFLAGS := $(workbench-classes-zune-calltips_LINKLIBCFLAGS) +ifeq ($(workbench-classes-zune-calltips_LINKLIBDFLAGS),) + workbench-classes-zune-calltips_DFLAGS := $(workbench-classes-zune-calltips_LINKLIBCFLAGS) +else + workbench-classes-zune-calltips_DFLAGS := $(workbench-classes-zune-calltips_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-classes-zune-calltips_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(TARGET_STRIP) +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(workbench-classes-zune-calltips_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(workbench-classes-zune-calltips_DFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-classes-zune-calltips_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(HOST_STRIP) +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-calltips_DFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(HOST_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-classes-zune-calltips_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-classes-zune-calltips_STRIP ?= $(ECHO) >/dev/null +workbench-classes-zune-calltips_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS) $(workbench-classes-zune-calltips_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_CFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-calltips_DFLAGS)) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-classes-zune-calltips_MC_TARGETS) $(workbench-classes-zune-calltips_MC_DTARGETS) : workbench-classes-zune-calltips_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-calltips_MC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-calltips_MC_CPPFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) : CFLAGS := $(workbench-classes-zune-calltips_CFLAGS) +$(workbench-classes-zune-calltips_MC_TARGETS) : $(workbench-classes-zune-calltips_MC_TGTWILDCARD).o : $(workbench-classes-zune-calltips_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-calltips_IQUOTE) $(dir $<) $(workbench-classes-zune-calltips_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-calltips_IQUOTE) . $(workbench-classes-zune-calltips_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-calltips_MC_DTARGETS) : $(workbench-classes-zune-calltips_MC_TGTWILDCARD).d : $(workbench-classes-zune-calltips_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-calltips_DFLAGS) $(workbench-classes-zune-calltips_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-classes-zune-calltips_LINKLIBAFILES),) + +ifeq ($(workbench-classes-zune-calltips_OBJDIR)/linklib,) +workbench-classes-zune-calltips-MA_TARGETS := $(addsuffix .o,$(workbench-classes-zune-calltips_LINKLIBAFILES) $(workbench-classes-zune-calltips_RELLINKLIBAFILES)) +workbench-classes-zune-calltips-MA_WILDCARD := % +else +workbench-classes-zune-calltips-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-calltips_LINKLIBAFILES) $(workbench-classes-zune-calltips_RELLINKLIBAFILES)))) +workbench-classes-zune-calltips-MA_WILDCARD := $(workbench-classes-zune-calltips_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-classes-zune-calltips-MA_TARGETS) : | $(addsuffix .S,$(workbench-classes-zune-calltips_LINKLIBAFILES) $(workbench-classes-zune-calltips_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-calltips-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-calltips-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-calltips_LINKLIBAFILES) $(workbench-classes-zune-calltips_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-calltips-MA_DIRS := $(foreach dir, $(workbench-classes-zune-calltips-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-calltips-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-calltips-MA_DIRS),) + workbench-classes-zune-calltips-MA_DIRS := $(shell echo $(workbench-classes-zune-calltips-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-classes-zune-calltips-MA_DIRS) +endif + +endif + +workbench-classes-zune-calltips-MA_ASSEMBLER ?= $(workbench-classes-zune-calltips_ASSEMBLER) + +$(workbench-classes-zune-calltips-MA_TARGETS) : workbench-classes-zune-calltips-MA_CMD:= $(workbench-classes-zune-calltips-MA_ASSEMBLER) + +$(workbench-classes-zune-calltips-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-classes-zune-calltips-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-classes-zune-calltips-MA_TARGETS) : $(workbench-classes-zune-calltips-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-classes-zune-calltips-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-classes-zune-calltips-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-classes-zune-calltips-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-classes-zune-calltips_SUFFIX := mcc +else +workbench-classes-zune-calltips_SUFFIX := +endif + +ifeq (target,target) +workbench-classes-zune-calltips_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-classes-zune-calltips_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-classes-zune-calltips_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-classes-zune-calltips_SUFFIX),handler) +workbench-classes-zune-calltips_MODULE := $(AROSDIR)/$(workbench-classes-zune-calltips_MODDIR)/$(workbench-classes-zune-calltips_DEFNAME)-$(workbench-classes-zune-calltips_SUFFIX) +else +workbench-classes-zune-calltips_MODULE := $(AROSDIR)/$(workbench-classes-zune-calltips_MODDIR)/$(workbench-classes-zune-calltips_DEFNAME).$(workbench-classes-zune-calltips_SUFFIX) +endif +workbench-classes-zune-calltips_KOBJ := $(KOBJSDIR)/$(workbench-classes-zune-calltips_DEFNAME)_$(workbench-classes-zune-calltips_SUFFIX).o +else +workbench-classes-zune-calltips_MODULE := +workbench-classes-zune-calltips_KOBJ := +endif + +workbench-classes-zune-calltips-quick : workbench-classes-zune-calltips +workbench-classes-zune-calltips : $(workbench-classes-zune-calltips_MODULE) $(workbench-classes-zune-calltips_LINKLIB) $(workbench-classes-zune-calltips_RELLINKLIB) +ifeq (M,M) +workbench-classes-zune-calltips-kobj : $(workbench-classes-zune-calltips_KOBJ) $(workbench-classes-zune-calltips_LINKLIB) $(workbench-classes-zune-calltips_RELLINKLIB) +workbench-classes-zune-calltips-kobj-quick : $(workbench-classes-zune-calltips_KOBJ) $(workbench-classes-zune-calltips_LINKLIB) $(workbench-classes-zune-calltips_RELLINKLIB) +endif +ifeq (M,M) +workbench-classes-zune-calltips-linklib : $(workbench-classes-zune-calltips_LINKLIB) $(workbench-classes-zune-calltips_RELLINKLIB) +endif + +workbench-classes-zune-calltips_OBJS := $(addsuffix .o,$(workbench-classes-zune-calltips_STARTFILES)) $(workbench-classes-zune-calltips_ARCHOBJS) \ + $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(workbench-classes-zune-calltips_C_NARCHFILES:=.o) $(workbench-classes-zune-calltips_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (mcc,handler) +workbench-classes-zune-calltips_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (Calltips,con) + workbench-classes-zune-calltips_ERR := $(notdir $(workbench-classes-zune-calltips_MODULE)).err +else + workbench-classes-zune-calltips_ERR := Calltips.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-classes-zune-calltips_DEFNAME)_LDFLAGS) $(workbench-classes-zune-calltips_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-classes-zune-calltips_LIBS) $($(workbench-classes-zune-calltips_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-classes-zune-calltips_MODULE) : LIB_NAMES := $(workbench-classes-zune-calltips_LIBS) $($(workbench-classes-zune-calltips_DEFNAME)_LIBS) +$(workbench-classes-zune-calltips_MODULE) : OBJS := $(workbench-classes-zune-calltips_STARTOBJS) $(workbench-classes-zune-calltips_OBJS) $(USER_OBJS) +$(workbench-classes-zune-calltips_MODULE) : ENDTAG := $(workbench-classes-zune-calltips_ENDOBJS) +$(workbench-classes-zune-calltips_MODULE) : ERR := $(workbench-classes-zune-calltips_ERR) +$(workbench-classes-zune-calltips_MODULE) : OBJDIR := $(workbench-classes-zune-calltips_OBJDIR) +$(workbench-classes-zune-calltips_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-classes-zune-calltips_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-classes-zune-calltips_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-classes-zune-calltips_MODULE) : $(workbench-classes-zune-calltips_STARTOBJS) $(workbench-classes-zune-calltips_OBJS) $(USER_OBJS) $(workbench-classes-zune-calltips_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-classes-zune-calltips_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-classes-zune-calltips_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-classes-zune-calltips_LC_LINKLIBNAME := $(shell echo $(workbench-classes-zune-calltips_LINKLIBNAME) | tr A-Z a-z) +workbench-classes-zune-calltips_LC_MODNAME := $(shell echo Calltips | tr A-Z a-z) +ifneq ($(workbench-classes-zune-calltips_LINKLIB),) + +ifeq (target,target) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(HOST_AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(KERNEL_AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)$(workbench-classes-zune-calltips_LIBSUFFIX).a : $(workbench-classes-zune-calltips_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-classes-zune-calltips_AR) $@ $^ + $(Q)$(workbench-classes-zune-calltips_RANLIB) $@ +ifneq ($(workbench-classes-zune-calltips_LC_MODNAME),$(workbench-classes-zune-calltips_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-classes-zune-calltips_LIBDIR)/libCalltips$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(AR) +$(workbench-classes-zune-calltips_LIBDIR)/libCalltips$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-classes-zune-calltips_LIBDIR)/libCalltips$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(HOST_AR) +$(workbench-classes-zune-calltips_LIBDIR)/libCalltips$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-classes-zune-calltips_LIBDIR)/libCalltips$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(KERNEL_AR) +$(workbench-classes-zune-calltips_LIBDIR)/libCalltips$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-classes-zune-calltips_LIBDIR)/libCalltips$(workbench-classes-zune-calltips_LIBSUFFIX).a : $(workbench-classes-zune-calltips_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-classes-zune-calltips_AR) $@ $^ + $(Q)$(workbench-classes-zune-calltips_RANLIB) $@ +endif + + +ifneq ($(workbench-classes-zune-calltips_LINKLIB),) +$(workbench-classes-zune-calltips_LINKLIB) : | $(workbench-classes-zune-calltips_LIBDIR) +else +$(workbench-classes-zune-calltips_LINKLIB) :: $(workbench-classes-zune-calltips_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-calltips_LIBDIR) + +endif + +ifneq ($(workbench-classes-zune-calltips_RELLINKLIB),) + +ifeq (target,target) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(HOST_AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(KERNEL_AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_LINKLIBNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : $(workbench-classes-zune-calltips_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-classes-zune-calltips_AR) $@ $^ + $(Q)$(workbench-classes-zune-calltips_RANLIB) $@ +ifneq ($(workbench-classes-zune-calltips_LC_MODNAME),$(workbench-classes-zune-calltips_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_DEFNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_DEFNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_DEFNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(HOST_AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_DEFNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_DEFNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_AR:=$(KERNEL_AR) +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_DEFNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : workbench-classes-zune-calltips_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-classes-zune-calltips_LIBDIR)/lib$(workbench-classes-zune-calltips_DEFNAME)_rel$(workbench-classes-zune-calltips_LIBSUFFIX).a : $(workbench-classes-zune-calltips_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-classes-zune-calltips_AR) $@ $^ + $(Q)$(workbench-classes-zune-calltips_RANLIB) $@ +endif + + +ifneq ($(workbench-classes-zune-calltips_RELLINKLIB),) +$(workbench-classes-zune-calltips_RELLINKLIB) : | $(workbench-classes-zune-calltips_LIBDIR) +else +$(workbench-classes-zune-calltips_RELLINKLIB) :: $(workbench-classes-zune-calltips_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-calltips_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-classes-zune-calltips_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-classes-zune-calltips_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-classes-zune-calltips_SYMBOLS := $(workbench-classes-zune-calltips_KBASE) + +workbench-classes-zune-calltips_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-classes-zune-calltips_KOBJ_LIBS := $(filter-out $(workbench-classes-zune-calltips_KLIB),$(workbench-classes-zune-calltips_LIBS)) $(workbench-classes-zune-calltips_KAUTOLIB) +$(workbench-classes-zune-calltips_KOBJ) : LINKLIBS:=$(workbench-classes-zune-calltips_KOBJ_LIBS) $($(workbench-classes-zune-calltips_DEFNAME)_LIBS) +$(workbench-classes-zune-calltips_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-classes-zune-calltips_SYMBOLS)) +$(workbench-classes-zune-calltips_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-classes-zune-calltips_KOBJ) : $(workbench-classes-zune-calltips_OBJS) $(USER_OBJS) $(workbench-classes-zune-calltips_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-classes-zune-calltips_DEPS := $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/,$(notdir $(workbench-classes-zune-calltips_CCFILES:=.d) $(workbench-classes-zune-calltips_TARGETCCFILES:=.d) $(workbench-classes-zune-calltips_CXXFILES:=.d))) $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-calltips_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-classes-zune-calltips_DEPS),) + ifneq (workbench-classes-zune-calltips workbench-classes-zune-calltips-quick workbench-classes-zune-calltips-kobj workbench-classes-zune-calltips-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-classes-zune-calltips workbench-classes-zune-calltips-quick workbench-classes-zune-calltips-kobj workbench-classes-zune-calltips-kobj-quick),) + -include $(workbench-classes-zune-calltips_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-classes-zune-calltips_DEPS) + endif + endif +endif + +$(workbench-classes-zune-calltips_OBJS) $(workbench-classes-zune-calltips_DEPS) : | $(workbench-classes-zune-calltips_OBJDIR)/linklib + +ifneq ($(workbench-classes-zune-calltips_OBJS) $(workbench-classes-zune-calltips_DEPS) $(workbench-classes-zune-calltips_MODULE) $(workbench-classes-zune-calltips_KOBJ),) +$(workbench-classes-zune-calltips_OBJS) $(workbench-classes-zune-calltips_DEPS) $(workbench-classes-zune-calltips_MODULE) $(workbench-classes-zune-calltips_KOBJ) : | $(workbench-classes-zune-calltips_OBJDIR) $(AROSDIR)/$(workbench-classes-zune-calltips_MODDIR) $(KOBJSDIR) +else +$(workbench-classes-zune-calltips_OBJS) $(workbench-classes-zune-calltips_DEPS) $(workbench-classes-zune-calltips_MODULE) $(workbench-classes-zune-calltips_KOBJ) :: $(workbench-classes-zune-calltips_OBJDIR) $(AROSDIR)/$(workbench-classes-zune-calltips_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-calltips_OBJDIR) $(AROSDIR)/$(workbench-classes-zune-calltips_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-classes-zune-calltips workbench-classes-zune-calltips-includes workbench-classes-zune-calltips-quick workbench-classes-zune-calltips-kobj workbench-classes-zune-calltips-kobj-quick),) # Only for this target these deps are wanted + +workbench-classes-zune-calltips_DFILE_DEPS := $(workbench-classes-zune-calltips_LIBDEFSINC) $(workbench-classes-zune-calltips_DEFLIBDEFSINC) \ + $(addprefix $(workbench-classes-zune-calltips_INCDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) +$(workbench-classes-zune-calltips_DEPS) : $(workbench-classes-zune-calltips_DFILE_DEPS) +endif + +workbench-classes-zune-calltips_TOCLEAN := $(workbench-classes-zune-calltips_OBJS) $(workbench-classes-zune-calltips_DEPS) \ + $(workbench-classes-zune-calltips_MODULE) $(workbench-classes-zune-calltips_LINKLIB) $(workbench-classes-zune-calltips_KOBJ) \ + $(workbench-classes-zune-calltips_OBJDIR)/Makefile.Calltipsmcc \ + $(addprefix $(workbench-classes-zune-calltips_OBJDIR)/include/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-classes-zune-calltips_INCDIR)/,$($(workbench-classes-zune-calltips_DEFNAME)_INCLUDES)) \ + $(workbench-classes-zune-calltips_OBJDIR)/Calltips_geninc $(workbench-classes-zune-calltips_OBJDIR)/Calltips_incs \ + $(addsuffix .c,$(workbench-classes-zune-calltips_LINKLIBFILES)) $(workbench-classes-zune-calltips_LINKLIBOBJS) $(workbench-classes-zune-calltips_LIBDEFSINC) \ + $(workbench-classes-zune-calltips_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-classes-zune-calltips_STARTFILES) $(workbench-classes-zune-calltips_ENDFILES)) \ + $(workbench-classes-zune-calltips_ENDOBJS) +workbench-classes-zune-calltips-clean : FILES := $(workbench-classes-zune-calltips_TOCLEAN) +workbench-classes-zune-calltips-clean :: + $(Q)$(ECHO) "Cleaning up for module Calltips" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-classes-zune-calltips_ALLTARGETS) + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/graph/mmakefile b/workbench/classes/zune/graph/mmakefile new file mode 100644 index 00000000000..d4236372d9f --- /dev/null +++ b/workbench/classes/zune/graph/mmakefile @@ -0,0 +1,1728 @@ +# $Id$ +include $(SRCDIR)/config/aros.cfg + +USER_CFLAGS := $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := graph +INCLUDE_FILES := graph.h + +#MM- workbench-classes-zune : workbench-classes-zune-graph + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-classes-zune-graph +#MM workbench-classes-zune-graph-quick +#MM workbench-classes-zune-graph-makefile +#MM workbench-classes-zune-graph-clean + +# ABI targets: +#MM- includes-all : workbench-classes-zune-graph-includes +#MM- linklibs-Graph: workbench-classes-zune-graph-linklib +#MM- linklibs-Graph_rel : workbench-classes-zune-graph-linklib +#MM- includes-Graph: workbench-classes-zune-graph-includes +#MM- includes-Graph_rel : workbench-classes-zune-graph-includes +#MM- workbench-classes-zune-graph : workbench-classes-zune-graph-includes core-linklibs linklibs- +#MM workbench-classes-zune-graph-linklib : workbench-classes-zune-graph-includes includes- +#MM- workbench-classes-zune-graph-quick : workbench-classes-zune-graph-includes-quick +#MM workbench-classes-zune-graph-includes : workbench-classes-zune-graph-makefile workbench-classes-zune-graph-includes-dirs \ +#MM includes-generate-deps workbench-classes-zune-graph-fd +#MM workbench-classes-zune-graph-includes-quick +#MM workbench-classes-zune-graph-includes-dirs +#MM workbench-classes-zune-graph-fd + +# Library targets +#MM workbench-classes-zune-graph-kobj : core-linklibs linklibs- +#MM workbench-classes-zune-graph-kobj-quick : + +# Library with ABI targets: +#MM workbench-classes-zune-graph-kobj : workbench-classes-zune-graph-includes core-linklibs linklibs- +#MM workbench-classes-zune-graph-kobj-quick : workbench-classes-zune-graph-includes-quick + +# All MetaMake targets defined by this macro +workbench-classes-zune-graph_ALLTARGETS := workbench-classes-zune-graph workbench-classes-zune-graph-quick workbench-classes-zune-graph-clean + +ifeq (M,M) +workbench-classes-zune-graph_ALLTARGETS += workbench-classes-zune-graph-kobj workbench-classes-zune-graph-kobj-quick +endif + +ifeq (M,M) +workbench-classes-zune-graph_ALLTARGETS += workbench-classes-zune-graph-includes \ + workbench-classes-zune-graph-includes-quick workbench-classes-zune-graph-includes-dirs \ + workbench-classes-zune-graph-linklib workbench-classes-zune-graph-fd +endif + +.PHONY : $(workbench-classes-zune-graph_ALLTARGETS) workbench-classes-zune-graph-makefile + +ifeq (Graph,) +$(error using %build_module: modname may not be empty) +endif +ifeq (mcc,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-classes-zune-graph_DEFNAME := Graph_ +else + workbench-classes-zune-graph_DEFNAME := Graph +endif +workbench-classes-zune-graph_DEFLINKLIBNAME := $(workbench-classes-zune-graph_DEFNAME) +ifneq (,) + workbench-classes-zune-graph_LINKLIBNAME := +else + workbench-classes-zune-graph_LINKLIBNAME = $(workbench-classes-zune-graph_DEFLINKLIBNAME) +endif +workbench-classes-zune-graph_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-classes-zune-graph_DEFCPPFLAGS += -I +endif +workbench-classes-zune-graph_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-classes-zune-graph_DFLAGS := +else + workbench-classes-zune-graph_DFLAGS = $(workbench-classes-zune-graph_DEFDFLAGS) +endif +workbench-classes-zune-graph_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-classes-zune-graph_DXXFLAGS := +else + workbench-classes-zune-graph_DXXFLAGS = $(workbench-classes-zune-graph_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-classes-zune-graph_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-classes-zune-graph_DEFDFLAGS)) +workbench-classes-zune-graph_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-classes-zune-graph_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-classes-zune-graph_FUNCINSTR := yes +workbench-classes-zune-graph_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-classes-zune-graph_DEFDFLAGS)) +workbench-classes-zune-graph_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-classes-zune-graph_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-classes-zune-graph_OBJDIR := +else +workbench-classes-zune-graph_OBJDIR := $(OBJDIR)/$(workbench-classes-zune-graph_DEFNAME) +endif +ifneq (,) +workbench-classes-zune-graph_OBJDIR := $(workbench-classes-zune-graph_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-classes-zune-graph-makefile := $(workbench-classes-zune-graph_OBJDIR)/Makefile.$(workbench-classes-zune-graph_DEFNAME)mcc +workbench-classes-zune-graph-genmakefile : $(workbench-classes-zune-graph-makefile) + + +workbench-classes-zune-graph-genmakefile_OPTS := +ifneq (,) + workbench-classes-zune-graph-genmakefile_OPTS += -f + workbench-classes-zune-graph-genmakefile_MODNAME := Graph_ +else + workbench-classes-zune-graph-genmakefile_MODNAME := Graph +endif +workbench-classes-zune-graph-genmakefile_TARGET := Makefile.$(workbench-classes-zune-graph-genmakefile_MODNAME)mcc +workbench-classes-zune-graph-genmakefile_DEPS := $(GENMODULE) +ifneq (graph.conf,) + ifeq ($(dir graph.conf),./) + workbench-classes-zune-graph-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/graph.conf + workbench-classes-zune-graph-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/graph.conf + else + workbench-classes-zune-graph-genmakefile_OPTS += -c graph.conf + workbench-classes-zune-graph-genmakefile_DEPS += graph.conf + endif +else + workbench-classes-zune-graph-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/Graph.conf + workbench-classes-zune-graph-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/Graph.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-graph-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-graph-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-graph-genmakefile_OPTS += -o + workbench-classes-zune-graph-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-classes-zune-graph-genmakefile_OPTS += -s +endif +ifneq ($(workbench-classes-zune-graph_OBJDIR),) + workbench-classes-zune-graph-genmakefile_OPTS += -d $(workbench-classes-zune-graph_OBJDIR) + workbench-classes-zune-graph-genmakefile_TARGET := $(workbench-classes-zune-graph_OBJDIR)/$(workbench-classes-zune-graph-genmakefile_TARGET) +endif + +$(workbench-classes-zune-graph-genmakefile_TARGET) : OPTS := $(workbench-classes-zune-graph-genmakefile_OPTS) +$(workbench-classes-zune-graph-genmakefile_TARGET) : MODNAME := Graph +$(workbench-classes-zune-graph-genmakefile_TARGET) : MODTYPE := mcc +$(workbench-classes-zune-graph-genmakefile_TARGET) : $(workbench-classes-zune-graph-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-classes-zune-graph-makefile),) +$(workbench-classes-zune-graph-makefile) : | $(workbench-classes-zune-graph_OBJDIR) +else +$(workbench-classes-zune-graph-makefile) :: $(workbench-classes-zune-graph_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-graph_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-classes-zune-graph_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-classes-zune-graph-makefile) + +workbench-classes-zune-graph_DEFMODDIR := $($(workbench-classes-zune-graph_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-classes-zune-graph_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-classes-zune-graph_DEFMODDIR) +endif +ifneq (,) + workbench-classes-zune-graph_MODDIR := +else + workbench-classes-zune-graph_MODDIR := $(workbench-classes-zune-graph_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-classes-zune-graph_INCDIR := +else +workbench-classes-zune-graph_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-classes-zune-graph_LIBDEFSINC := $(workbench-classes-zune-graph_OBJDIR)/include/$(workbench-classes-zune-graph_DEFNAME)_libdefs.h +workbench-classes-zune-graph_DEFLIBDEFSINC := $(workbench-classes-zune-graph_OBJDIR)/include/$(workbench-classes-zune-graph_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-classes-zune-graph-includes-quick : workbench-classes-zune-graph-includes +workbench-classes-zune-graph-includes : $(addprefix $(GENINCDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-classes-zune-graph_INCDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) \ + $(workbench-classes-zune-graph_LIBDEFSINC) $(workbench-classes-zune-graph_DEFLIBDEFSINC) + +ifneq ($($(workbench-classes-zune-graph_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-classes-zune-graph-includes_MODNAME := Graph_ +else + workbench-classes-zune-graph-includes_MODNAME := Graph +endif + +ifneq ($($(workbench-classes-zune-graph-includes_MODNAME)_INCLUDES),) + +workbench-classes-zune-graph-includes_TARGETS := $($(workbench-classes-zune-graph-includes_MODNAME)_INCLUDES) + +workbench-classes-zune-graph-includes_DEPS := $(GENMODULE) +workbench-classes-zune-graph-includes_OPTS := + +ifneq (graph.conf,) + ifeq ($(dir graph.conf),./) + workbench-classes-zune-graph-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/graph.conf + workbench-classes-zune-graph-includes_DEPS += $(SRCDIR)/$(CURDIR)/graph.conf + else + workbench-classes-zune-graph-includes_OPTS += -c graph.conf + workbench-classes-zune-graph-includes_DEPS += graph.conf + endif +else + workbench-classes-zune-graph-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/Graph.conf + workbench-classes-zune-graph-includes_DEPS += $(SRCDIR)/$(CURDIR)/Graph.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-graph-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-graph-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-graph-includes_OPTS += -o + workbench-classes-zune-graph-includes_DEPS += + endif +endif +ifneq (,) + workbench-classes-zune-graph-includes_OPTS += -s +endif +ifneq ($(workbench-classes-zune-graph_OBJDIR)/include,) + workbench-classes-zune-graph-includes_OPTS += -d $(workbench-classes-zune-graph_OBJDIR)/include + workbench-classes-zune-graph-includes_TARGETS := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/include/,$(workbench-classes-zune-graph-includes_TARGETS)) + workbench-classes-zune-graph-includes_GENINCFLAG=$(workbench-classes-zune-graph_OBJDIR)/include/.Graph.mcc-includes +else + workbench-classes-zune-graph-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.Graph.mcc-includes +endif + +$(workbench-classes-zune-graph-includes_TARGETS) : $(workbench-classes-zune-graph-includes_DEPS) $(workbench-classes-zune-graph-includes_GENINCFLAG) + +$(workbench-classes-zune-graph-includes_GENINCFLAG) : OPTS := $(workbench-classes-zune-graph-includes_OPTS) +$(workbench-classes-zune-graph-includes_GENINCFLAG) : MODNAME := Graph +$(workbench-classes-zune-graph-includes_GENINCFLAG) : MODTYPE := mcc +$(workbench-classes-zune-graph-includes_GENINCFLAG) : $(workbench-classes-zune-graph-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-classes-zune-graph_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) : | $(workbench-classes-zune-graph_OBJDIR)/Graph_geninc + +$(workbench-classes-zune-graph_OBJDIR)/Graph_geninc : COPYSRCDIR := $(workbench-classes-zune-graph_OBJDIR)/include +$(workbench-classes-zune-graph_OBJDIR)/Graph_geninc : TGTDIR := $(GENINCDIR) +$(workbench-classes-zune-graph_OBJDIR)/Graph_geninc : FILES := $($(workbench-classes-zune-graph_DEFNAME)_INCLUDES) +$(workbench-classes-zune-graph_OBJDIR)/Graph_geninc : $(addprefix $(workbench-classes-zune-graph_OBJDIR)/include/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-classes-zune-graph_OBJDIR)/include + +$(addprefix $(workbench-classes-zune-graph_INCDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) : | $(workbench-classes-zune-graph_OBJDIR)/Graph_incs + +$(workbench-classes-zune-graph_OBJDIR)/Graph_incs : COPYSRCDIR := $(workbench-classes-zune-graph_OBJDIR)/include +$(workbench-classes-zune-graph_OBJDIR)/Graph_incs : TGTDIR := $(workbench-classes-zune-graph_INCDIR) +$(workbench-classes-zune-graph_OBJDIR)/Graph_incs : FILES := $($(workbench-classes-zune-graph_DEFNAME)_INCLUDES) +$(workbench-classes-zune-graph_OBJDIR)/Graph_incs : $(addprefix $(workbench-classes-zune-graph_OBJDIR)/include/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-classes-zune-graph_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)))) + +TMPGraph_INCDIRS := \ + $(workbench-classes-zune-graph_OBJDIR)/include $(addprefix $(workbench-classes-zune-graph_OBJDIR)/include/,$(workbench-classes-zune-graph_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-classes-zune-graph_INCDIRS)) \ + $(workbench-classes-zune-graph_INCDIR) $(addprefix $(workbench-classes-zune-graph_INCDIR)/,$(workbench-classes-zune-graph_INCDIRS)) + +ifneq (workbench-classes-zune-graph-includes-dirs,) +workbench-classes-zune-graph-includes-dirs : | $(TMPGraph_INCDIRS) +else +workbench-classes-zune-graph-includes-dirs :: $(TMPGraph_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPGraph_INCDIRS) + + +endif + +endif + + +workbench-classes-zune-graph-genlibdefs_OPTS := +ifneq (,) + workbench-classes-zune-graph-genlibdefs_OPTS += -f + workbench-classes-zune-graph-genlibdefs_MODNAME := Graph_ +else + workbench-classes-zune-graph-genlibdefs_MODNAME := Graph +endif +workbench-classes-zune-graph-genlibdefs_TARGET := $(workbench-classes-zune-graph-genlibdefs_MODNAME)_libdefs.h +workbench-classes-zune-graph-genlibdefs_DEPS := $(GENMODULE) +ifneq (graph.conf,) + ifeq ($(dir graph.conf),./) + workbench-classes-zune-graph-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/graph.conf + workbench-classes-zune-graph-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/graph.conf + else + workbench-classes-zune-graph-genlibdefs_OPTS += -c graph.conf + workbench-classes-zune-graph-genlibdefs_DEPS += graph.conf + endif +else + workbench-classes-zune-graph-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/Graph.conf + workbench-classes-zune-graph-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/Graph.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-graph-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-graph-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-graph-genlibdefs_OPTS += -o + workbench-classes-zune-graph-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-classes-zune-graph-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-classes-zune-graph_OBJDIR)/include,) + workbench-classes-zune-graph-genlibdefs_OPTS += -d $(workbench-classes-zune-graph_OBJDIR)/include + workbench-classes-zune-graph-genlibdefs_TARGET := $(workbench-classes-zune-graph_OBJDIR)/include/$(workbench-classes-zune-graph-genlibdefs_TARGET) +endif +ifneq (,) + workbench-classes-zune-graph-genlibdefs_OPTS += -v +endif + +$(workbench-classes-zune-graph-genlibdefs_TARGET) : OPTS := $(workbench-classes-zune-graph-genlibdefs_OPTS) +$(workbench-classes-zune-graph-genlibdefs_TARGET) : MODNAME := Graph +$(workbench-classes-zune-graph-genlibdefs_TARGET) : MODTYPE := mcc +$(workbench-classes-zune-graph-genlibdefs_TARGET) : $(workbench-classes-zune-graph-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-classes-zune-graph_DEFLIBDEFSINC) : FILENAME := $(workbench-classes-zune-graph_LIBDEFSINC) +$(workbench-classes-zune-graph_DEFLIBDEFSINC) : $(workbench-classes-zune-graph_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-classes-zune-graph_LIBDEFSINC) $(workbench-classes-zune-graph_DEFLIBDEFSINC) : | $(workbench-classes-zune-graph_OBJDIR)/include + +ifneq (workbench-classes-zune-graph-includes-dirs,) +workbench-classes-zune-graph-includes-dirs : | $(workbench-classes-zune-graph_OBJDIR)/include +else +workbench-classes-zune-graph-includes-dirs :: $(workbench-classes-zune-graph_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-classes-zune-graph_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-classes-zune-graph-genmodfiles_OPTS := +ifneq (,) + workbench-classes-zune-graph-genmodfiles_OPTS += -f + workbench-classes-zune-graph-genmodfiles_MODNAME := Graph_ +else + workbench-classes-zune-graph-genmodfiles_MODNAME := Graph +endif +workbench-classes-zune-graph-genmodfiles_GENTARGETS := $($(workbench-classes-zune-graph-genmodfiles_MODNAME)_STARTFILES) $($(workbench-classes-zune-graph-genmodfiles_MODNAME)_ENDFILES) +workbench-classes-zune-graph-genmodfiles_STUBTARGETS := $($(workbench-classes-zune-graph-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-classes-zune-graph-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-classes-zune-graph-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-classes-zune-graph-genmodfiles_GENTARGETS)) +workbench-classes-zune-graph-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-classes-zune-graph-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-classes-zune-graph-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-classes-zune-graph-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-classes-zune-graph-genmodfiles_DEPS := $(GENMODULE) +ifneq (graph.conf,) + ifeq ($(dir graph.conf),./) + workbench-classes-zune-graph-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/graph.conf + workbench-classes-zune-graph-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/graph.conf + else + workbench-classes-zune-graph-genmodfiles_OPTS += -c graph.conf + workbench-classes-zune-graph-genmodfiles_DEPS += graph.conf + endif +else + workbench-classes-zune-graph-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/Graph.conf + workbench-classes-zune-graph-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/Graph.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-classes-zune-graph-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-classes-zune-graph-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-classes-zune-graph-genmodfiles_OPTS += -o + workbench-classes-zune-graph-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-classes-zune-graph-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-classes-zune-graph_OBJDIR),) + workbench-classes-zune-graph-genmodfiles_OPTS += -d $(workbench-classes-zune-graph_OBJDIR) + workbench-classes-zune-graph-genmodfiles_TARGETDIR := $(shell echo $(workbench-classes-zune-graph_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-classes-zune-graph-genmodfiles_GENTARGETS := $(addprefix $(workbench-classes-zune-graph-genmodfiles_TARGETDIR)/,$(workbench-classes-zune-graph-genmodfiles_GENTARGETS)) + workbench-classes-zune-graph-genmodfiles_GENFILEFLAG=$(workbench-classes-zune-graph-genmodfiles_TARGETDIR)/.Graph.mcc-genfiles +else + workbench-classes-zune-graph-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.Graph.mcc-genfiles +endif +ifneq ($(workbench-classes-zune-graph_OBJDIR)/linklib,) + workbench-classes-zune-graph-genmodfiles_OPTS += -l $(workbench-classes-zune-graph_OBJDIR)/linklib + workbench-classes-zune-graph-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-classes-zune-graph_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-classes-zune-graph-genmodfiles_STUBTARGETS := $(addprefix $(workbench-classes-zune-graph-genmodfiles_STUBTARGETDIR)/,$(workbench-classes-zune-graph-genmodfiles_STUBTARGETS)) + workbench-classes-zune-graph-genmodfiles_TARGETDIRS += $(workbench-classes-zune-graph_OBJDIR)/linklib +else +ifneq ($(workbench-classes-zune-graph_OBJDIR),) + workbench-classes-zune-graph-genmodfiles_STUBTARGETS := $(addprefix $(workbench-classes-zune-graph-genmodfiles_TARGETDIR)/,$(workbench-classes-zune-graph-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-classes-zune-graph-genmodfiles_TARGETS := $(workbench-classes-zune-graph-genmodfiles_GENTARGETS) $(workbench-classes-zune-graph-genmodfiles_STUBTARGETS) +ifneq ($(workbench-classes-zune-graph-genmodfiles_TARGETDIRS),) +$(workbench-classes-zune-graph-genmodfiles_TARGETS) : | $(workbench-classes-zune-graph-genmodfiles_TARGETDIRS) +endif + +$(workbench-classes-zune-graph-genmodfiles_TARGETS) : $(workbench-classes-zune-graph-genmodfiles_DEPS) $(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG) + +$(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-classes-zune-graph-genmodfiles_OPTS) +$(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG) : MODNAME := Graph +$(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG) : MODTYPE := mcc +$(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG) : $(workbench-classes-zune-graph-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "graph.conf" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG) : $(workbench-classes-zune-graph_DEFLIBDEFSINC) $(workbench-classes-zune-graph-makefile) + + +ifneq ($(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG),) +$(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG) : | $(workbench-classes-zune-graph_OBJDIR)/linklib +else +$(workbench-classes-zune-graph-genmodfiles_GENFILEFLAG) :: $(workbench-classes-zune-graph_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-classes-zune-graph_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-classes-zune-graph_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-classes-zune-graph_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-classes-zune-graph-fd : $(workbench-classes-zune-graph_FDDIR)/Graph_lib.fd + + +TMP_TARGET := Graph_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (graph.conf,) + ifeq ($(dir graph.conf),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/graph.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/graph.conf + else + TMP_OPTS += -c graph.conf + TMP_DEPS += graph.conf + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/Graph.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/Graph.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-classes-zune-graph_FDDIR),) + TMP_OPTS += -d $(workbench-classes-zune-graph_FDDIR) + TMP_TARGET := $(workbench-classes-zune-graph_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := Graph +$(TMP_TARGET) : MODTYPE := mcc +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-classes-zune-graph_FDDIR)/Graph_lib.fd : | $(workbench-classes-zune-graph_FDDIR) + + +ifneq (workbench-classes-zune-graph-fd-setup,) +workbench-classes-zune-graph-fd-setup : | $(workbench-classes-zune-graph_FDDIR) +else +workbench-classes-zune-graph-fd-setup :: $(workbench-classes-zune-graph_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-graph_FDDIR) + +endif + +## Compilation +## +workbench-classes-zune-graph_FILES := $(basename $(call WILDCARD, *.c)) +workbench-classes-zune-graph_OBJCFILES := +workbench-classes-zune-graph_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-classes-zune-graph_LIBFILES := +workbench-classes-zune-graph_LIBS := + +workbench-classes-zune-graph_FDIRS := $(sort $(dir $(workbench-classes-zune-graph_FILES))) + +workbench-classes-zune-graph_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-classes-zune-graph_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-classes-zune-graph_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-classes-zune-graph_FILTERARCH = $(filter-out $(call workbench-classes-zune-graph_MATCHARCH,$(1),$(2)),$(2)) +workbench-classes-zune-graph_STARTFILES := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_STARTFILES)) +workbench-classes-zune-graph_ENDFILES := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_ENDFILES)) + +workbench-classes-zune-graph_ARCHOBJS := $(wildcard $(workbench-classes-zune-graph_OBJDIR)/arch/*.o) +workbench-classes-zune-graph_LIBARCHOBJS := $(wildcard $(workbench-classes-zune-graph_OBJDIR)/linklib/arch/*.o) +workbench-classes-zune-graph_ARCHFILES := $(basename $(notdir $(workbench-classes-zune-graph_ARCHOBJS))) +workbench-classes-zune-graph_LIBARCHFILES := $(basename $(notdir $(workbench-classes-zune-graph_LIBARCHOBJS))) +workbench-classes-zune-graph_C_NARCHFILES := $(call workbench-classes-zune-graph_FILTERARCH,$(workbench-classes-zune-graph_ARCHFILES),$(workbench-classes-zune-graph_FILES)) +workbench-classes-zune-graph_CXX_NARCHFILES := $(call workbench-classes-zune-graph_FILTERARCH,$(workbench-classes-zune-graph_ARCHFILES),$(workbench-classes-zune-graph_CXXFILES)) +workbench-classes-zune-graph_OBJC_NARCHFILES := $(call workbench-classes-zune-graph_FILTERARCH,$(workbench-classes-zune-graph_ARCHFILES),$(workbench-classes-zune-graph_OBJCFILES)) +workbench-classes-zune-graph_NLIBARCHFILES := $(call workbench-classes-zune-graph_FILTERARCH,$(workbench-classes-zune-graph_LIBARCHFILES),$(workbench-classes-zune-graph_LIBFILES)) +workbench-classes-zune-graph_ARCHNLIBFILES := $(call workbench-classes-zune-graph_FILTERARCH,$(workbench-classes-zune-graph_LIBFILES),$(workbench-classes-zune-graph_LIBARCHFILES)) + +workbench-classes-zune-graph_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-classes-zune-graph_OBJDIR)/include -include $(workbench-classes-zune-graph_DEFLIBDEFSINC)) +ifneq (,) +workbench-classes-zune-graph_CPPFLAGS += -I +endif +workbench-classes-zune-graph_LINKLIBCPPFLAGS := $(workbench-classes-zune-graph_CPPFLAGS) +workbench-classes-zune-graph_CPPFLAGS += $(strip $($(workbench-classes-zune-graph_DEFNAME)_CPPFLAGS)) +workbench-classes-zune-graph_LINKLIBCPPFLAGS += $(strip $($(workbench-classes-zune-graph_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-classes-zune-graph_CFLAGS := $(strip $(CFLAGS) $($(workbench-classes-zune-graph_DEFNAME)_CFLAGS)) +workbench-classes-zune-graph_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-classes-zune-graph_DEFNAME)_LINKLIBCFLAGS)) +workbench-classes-zune-graph_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-classes-zune-graph_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-classes-zune-graph_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-classes-zune-graph_CFLAGS := $(strip $(workbench-classes-zune-graph_LTOFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +workbench-classes-zune-graph_LINKLIBCFLAGS := $(strip $(workbench-classes-zune-graph_LTOFLAGS) $(workbench-classes-zune-graph_LINKLIBCFLAGS)) +workbench-classes-zune-graph_CXXFLAGS := $(strip $(workbench-classes-zune-graph_LTOFLAGS) $(workbench-classes-zune-graph_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-classes-zune-graph_SUBSTNULL := +workbench-classes-zune-graph_SUBSTSPACE := $(workbench-classes-zune-graph_SUBSTNULL) # +workbench-classes-zune-graph_SUBSTCOMMA := , +workbench-classes-zune-graph_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-classes-zune-graph_SUBSTSPACE),$(workbench-classes-zune-graph_SUBSTCOMMA),$(strip $($(workbench-classes-zune-graph_DEFNAME)_STARTFILES)))) +workbench-classes-zune-graph_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-classes-zune-graph_CFLAGS := $(strip $(workbench-classes-zune-graph_INSTRFUNCFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +workbench-classes-zune-graph_CXXFLAGS := $(strip $(workbench-classes-zune-graph_INSTRFUNCFLAGS) $(workbench-classes-zune-graph_CXXFLAGS)) +workbench-classes-zune-graph_LIBS += $(workbench-classes-zune-graph_INSTRFUNCLIBS) +endif +endif +workbench-classes-zune-graph_DFLAGS := $(strip $(workbench-classes-zune-graph_DFLAGS) $($(workbench-classes-zune-graph_DEFNAME)_DFLAGS)) +workbench-classes-zune-graph_LINKLIBDFLAGS := $(strip $(workbench-classes-zune-graph_DFLAGS) $($(workbench-classes-zune-graph_DEFNAME)_LINKLIBDFLAGS)) +workbench-classes-zune-graph_DXXFLAGS := $(strip $(workbench-classes-zune-graph_DXXFLAGS) $($(workbench-classes-zune-graph_DEFNAME)_DXXFLAGS)) + +ifeq (mcc,library) + workbench-classes-zune-graph_LIBSUFFIX := +else + workbench-classes-zune-graph_LIBSUFFIX := .mcc +endif + +ifeq (,) +workbench-classes-zune-graph_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-classes-zune-graph_LIBDIR := +endif + +ifeq (M,M) +workbench-classes-zune-graph_LINKLIBCFILES := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$($(workbench-classes-zune-graph_DEFNAME)_LINKLIBFILES)) +workbench-classes-zune-graph_LINKLIBAFILES := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$($(workbench-classes-zune-graph_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-classes-zune-graph_DEFNAME)_LINKLIBFILES) $($(workbench-classes-zune-graph_DEFNAME)_LINKLIBAFILES) $(workbench-classes-zune-graph_ARCHNLIBFILES)),) + workbench-classes-zune-graph_LINKLIB := +else + workbench-classes-zune-graph_LINKLIB := $(workbench-classes-zune-graph_LIBDIR)/libGraph$(workbench-classes-zune-graph_LIBSUFFIX).a + ifneq (Graph,$(workbench-classes-zune-graph_LINKLIBNAME)) + workbench-classes-zune-graph_LINKLIB += $(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)$(workbench-classes-zune-graph_LIBSUFFIX).a + endif +endif +workbench-classes-zune-graph_LINKLIBFILES := $(workbench-classes-zune-graph_LINKLIBCFILES) $(workbench-classes-zune-graph_LINKLIBAFILES) + +workbench-classes-zune-graph_RELLINKLIBCFILES := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$($(workbench-classes-zune-graph_DEFNAME)_RELLINKLIBFILES)) +workbench-classes-zune-graph_RELLINKLIBAFILES := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$($(workbench-classes-zune-graph_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-classes-zune-graph_DEFNAME)_RELLINKLIBFILES) $($(workbench-classes-zune-graph_DEFNAME)_RELLINKLIBAFILES) $(workbench-classes-zune-graph_ARCHNLIBFILES)),) + workbench-classes-zune-graph_RELLINKLIB := +else + workbench-classes-zune-graph_RELLINKLIB := $(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_DEFNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a + ifneq (Graph,$(workbench-classes-zune-graph_LINKLIBNAME)) + workbench-classes-zune-graph_RELLINKLIB += $(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a + endif +endif +workbench-classes-zune-graph_RELLINKLIBFILES := $(workbench-classes-zune-graph_RELLINKLIBCFILES) $(workbench-classes-zune-graph_RELLINKLIBAFILES) +endif + +workbench-classes-zune-graph_ENDOBJS := $(addsuffix .o,$(workbench-classes-zune-graph_ENDFILES)) +workbench-classes-zune-graph_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-graph_NLIBARCHFILES))) $(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/arch/,$(notdir $(workbench-classes-zune-graph_ARCHNLIBFILES))) $(workbench-classes-zune-graph_LINKLIBFILES)) \ + +workbench-classes-zune-graph_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-graph_NLIBARCHFILES))) $(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/arch/,$(notdir $(workbench-classes-zune-graph_ARCHNLIBFILES))) $(workbench-classes-zune-graph_RELLINKLIBFILES)) \ + +$(workbench-classes-zune-graph_LINKLIBFILES) $(workbench-classes-zune-graph_RELLINKLIBFILES) : | $(workbench-classes-zune-graph_OBJDIR)/linklib +$(workbench-classes-zune-graph_LINKLIBOBJS) $(workbench-classes-zune-graph_RELLINKLIBOBJS) : | $(workbench-classes-zune-graph_OBJDIR)/linklib + +workbench-classes-zune-graph_CCFILES := $(workbench-classes-zune-graph_C_NARCHFILES) +workbench-classes-zune-graph_TARGETCCFILES := $(strip $(workbench-classes-zune-graph_STARTFILES) $(workbench-classes-zune-graph_ENDFILES)) +workbench-classes-zune-graph_LINKLIBCCFILES := $(strip $(workbench-classes-zune-graph_NLIBARCHFILES) $(workbench-classes-zune-graph_LINKLIBCFILES) $(workbench-classes-zune-graph_RELLINKLIBCFILES)) +workbench-classes-zune-graph_LINKLIBCCGENFILES := $(strip $(workbench-classes-zune-graph_LINKLIBCFILES) $(workbench-classes-zune-graph_RELLINKLIBCFILES)) + + +workbench-classes-zune-graph_CXXABSBASENAMES := $(foreach workbench-classes-zune-graph_CXXBASE,$(workbench-classes-zune-graph_CXX_NARCHFILES),$(if $(filter /%,$(workbench-classes-zune-graph_CXXBASE)),$(workbench-classes-zune-graph_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-classes-zune-graph_CXXBASE)))) + +ifneq ($(workbench-classes-zune-graph_CXXABSBASENAMES),) + +workbench-classes-zune-graph_CXXBASENAMES := $(basename $(workbench-classes-zune-graph_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-classes-zune-graph_MCXX_FILES := $(strip $(foreach workbench-classes-zune-graph_CXXBASE,$(workbench-classes-zune-graph_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-classes-zune-graph_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-classes-zune-graph_EXT),$(workbench-classes-zune-graph_CXXBASE))))))) + +ifeq (,) +workbench-classes-zune-graph_MCXX_SRCWILDCARD := % +else +workbench-classes-zune-graph_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-graph_OBJDIR),) + workbench-classes-zune-graph_CXXTARGETS := $(notdir $(workbench-classes-zune-graph_CXXBASENAMES:=.o)) + workbench-classes-zune-graph_CXXDTARGETS := $(notdir $(workbench-classes-zune-graph_CXXBASENAMES:=.d)) + workbench-classes-zune-graph_MCXX_WILDCARD := % +else + workbench-classes-zune-graph_CXXTARGETS := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(workbench-classes-zune-graph_CXXBASENAMES:=.o))) + workbench-classes-zune-graph_CXXDTARGETS := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(workbench-classes-zune-graph_CXXBASENAMES:=.d))) + workbench-classes-zune-graph_MCXX_WILDCARD := $(workbench-classes-zune-graph_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-classes-zune-graph_CXXTARGETS) $(workbench-classes-zune-graph_CXXDTARGETS) : | $(workbench-classes-zune-graph_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-classes-zune-graph_MCXX_CPPFLAGS := $(workbench-classes-zune-graph_CPPFLAGS) +workbench-classes-zune-graph_CXXFLAGS := $(workbench-classes-zune-graph_CXXFLAGS) +ifeq ($(workbench-classes-zune-graph_DXXFLAGS),) + workbench-classes-zune-graph_DXXFLAGS := $(workbench-classes-zune-graph_CXXFLAGS) +else + workbench-classes-zune-graph_DXXFLAGS := $(workbench-classes-zune-graph_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-classes-zune-graph_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-classes-zune-graph_STRIP ?= $(HOST_STRIP) + workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-classes-zune-graph_CXXCMD:=$(HOST_CXX) + workbench-classes-zune-graph_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-classes-zune-graph_MCXX_CPPFLAGS) $(workbench-classes-zune-graph_MCXX_EXTRA_CPPFLAGS)) + workbench-classes-zune-graph_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-classes-zune-graph_CXXFLAGS)) + workbench-classes-zune-graph_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-classes-zune-graph_DXXFLAGS)) + workbench-classes-zune-graph_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-classes-zune-graph_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-classes-zune-graph_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-classes-zune-graph_STRIP ?= $(TARGET_STRIP) + workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-classes-zune-graph_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-classes-zune-graph_MCXX_CPPFLAGS := $(strip $(workbench-classes-zune-graph_MCXX_CPPFLAGS) $(workbench-classes-zune-graph_MCXX_EXTRA_CPPFLAGS)) + workbench-classes-zune-graph_CXXFLAGS := $(strip $(workbench-classes-zune-graph_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-classes-zune-graph_DXXFLAGS := $(workbench-classes-zune-graph_DXXFLAGS) + workbench-classes-zune-graph_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-classes-zune-graph_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-classes-zune-graph_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-classes-zune-graph_STRIP ?= $(ECHO) >/dev/null + workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-classes-zune-graph_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-classes-zune-graph_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-classes-zune-graph_MCXX_CPPFLAGS) $(workbench-classes-zune-graph_MCXX_EXTRA_CPPFLAGS)) + workbench-classes-zune-graph_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-classes-zune-graph_CXXFLAGS)) + workbench-classes-zune-graph_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-classes-zune-graph_DXXFLAGS)) + workbench-classes-zune-graph_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-classes-zune-graph_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-classes-zune-graph_CXXCMD) $(workbench-classes-zune-graph_CXXIQUOTE) $(dir $(2)) $(workbench-classes-zune-graph_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_CXXIQUOTE) . $(workbench-classes-zune-graph_CXXIQUOTE_END) $(strip $(workbench-classes-zune-graph_CXXFLAGS) $(workbench-classes-zune-graph_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-classes-zune-graph_CXXCMD) $(workbench-classes-zune-graph_CXXIQUOTE) $(dir $(2)) $(workbench-classes-zune-graph_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_CXXIQUOTE) . $(workbench-classes-zune-graph_CXXIQUOTE_END) $(strip $(workbench-classes-zune-graph_CXXFLAGS) $(workbench-classes-zune-graph_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-classes-zune-graph_CXXCMD) $(workbench-classes-zune-graph_CXXIQUOTE) $(dir $(2)) $(workbench-classes-zune-graph_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_CXXIQUOTE) . $(workbench-classes-zune-graph_CXXIQUOTE_END) $(strip $(workbench-classes-zune-graph_CXXFLAGS) $(workbench-classes-zune-graph_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-classes-zune-graph_CXXCMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-graph_DXXFLAGS) $(workbench-classes-zune-graph_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-classes-zune-graph_OBJDIR),) + $(foreach workbench-classes-zune-graph_CXXFILE,$(workbench-classes-zune-graph_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-classes-zune-graph_CXXFILE))),$(workbench-classes-zune-graph_CXXFILE)))) +else + $(foreach workbench-classes-zune-graph_CXXFILE,$(workbench-classes-zune-graph_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(basename $(workbench-classes-zune-graph_CXXFILE)))),$(workbench-classes-zune-graph_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-classes-zune-graph_OBJC_NARCHFILES),) + +ifeq (,) +workbench-classes-zune-graph_MOBJC_SRCWILDCARD := % +else +workbench-classes-zune-graph_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-graph_OBJDIR),) + workbench-classes-zune-graph_MOBJC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-graph_OBJC_NARCHFILES)) + workbench-classes-zune-graph_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-graph_OBJC_NARCHFILES)) + workbench-classes-zune-graph_MOBJC_WILDCARD := % +else + workbench-classes-zune-graph_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(workbench-classes-zune-graph_OBJC_NARCHFILES))) + workbench-classes-zune-graph_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(workbench-classes-zune-graph_OBJC_NARCHFILES))) + workbench-classes-zune-graph_MOBJC_WILDCARD := $(workbench-classes-zune-graph_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-classes-zune-graph_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-classes-zune-graph_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-classes-zune-graph_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-graph_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-classes-zune-graph_MOBJC_DIRS := $(foreach dir, $(workbench-classes-zune-graph_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-graph_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-classes-zune-graph_MOBJC_DIRS),) + workbench-classes-zune-graph_MOBJC_DIRS := $(shell echo $(workbench-classes-zune-graph_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-classes-zune-graph_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-classes-zune-graph_CC := $(TARGET_CC) +else + workbench-classes-zune-graph_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-classes-zune-graph_MOBJC_CPPFLAGS := $(workbench-classes-zune-graph_CPPFLAGS) +workbench-classes-zune-graph_OBJCFLAGS := $(workbench-classes-zune-graph_CFLAGS) +workbench-classes-zune-graph_OBJCFLAGS := $(workbench-classes-zune-graph_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-classes-zune-graph_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-classes-zune-graph_OBJCFLAGS))) +ifeq ($(workbench-classes-zune-graph_DFLAGS),) + workbench-classes-zune-graph_OBJCDFLAGS := $(workbench-classes-zune-graph_CFLAGS) +else + workbench-classes-zune-graph_OBJCDFLAGS := $(workbench-classes-zune-graph_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-classes-zune-graph_LINK ?= $(strip $(workbench-classes-zune-graph_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-classes-zune-graph_STRIP ?= $(TARGET_STRIP) + workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-classes-zune-graph_CC) $(TARGET_SYSROOT)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_MOBJC_CPPFLAGS:=$(strip $(workbench-classes-zune-graph_MOBJC_CPPFLAGS) $(workbench-classes-zune-graph_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_OBJCFLAGS:=$(strip $(workbench-classes-zune-graph_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_OBJCDFLAGS:=$(workbench-classes-zune-graph_OBJCDFLAGS) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-classes-zune-graph_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-classes-zune-graph_STRIP ?= $(HOST_STRIP) + workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-classes-zune-graph_MOBJC_CPPFLAGS) $(workbench-classes-zune-graph_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_OBJCFLAGS)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_OBJCDFLAGS)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(HOST_IQUOTE) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-classes-zune-graph_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-classes-zune-graph_STRIP ?= $(ECHO) >/dev/null + workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-classes-zune-graph_MOBJC_CPPFLAGS) $(workbench-classes-zune-graph_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_OBJCFLAGS)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_OBJCDFLAGS)) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-classes-zune-graph_MOBJC_TARGETS) $(workbench-classes-zune-graph_MOBJC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-graph_MOBJC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-graph_MOBJC_CPPFLAGS) +$(workbench-classes-zune-graph_MOBJC_TARGETS) : CFLAGS := $(workbench-classes-zune-graph_OBJCFLAGS) +$(workbench-classes-zune-graph_MOBJC_TARGETS) : $(workbench-classes-zune-graph_MOBJC_WILDCARD).o : $(workbench-classes-zune-graph_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-graph_MOBJC_DTARGETS) : $(workbench-classes-zune-graph_MOBJC_WILDCARD).d : $(workbench-classes-zune-graph_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-graph_OBJCDFLAGS) $(workbench-classes-zune-graph_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-classes-zune-graph_MC_SRCWILDCARD := % +else +workbench-classes-zune-graph_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-graph_OBJDIR),) +workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-graph_CCFILES)) +workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-graph_CCFILES)) +workbench-classes-zune-graph_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(workbench-classes-zune-graph_CCFILES)))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(workbench-classes-zune-graph_CCFILES)))) +else +ifeq (,) + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(workbench-classes-zune-graph_CCFILES))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(workbench-classes-zune-graph_CCFILES))) +else + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(patsubst /%,%,$(workbench-classes-zune-graph_CCFILES)))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(patsubst /%,%,$(workbench-classes-zune-graph_CCFILES)))) +endif +endif +workbench-classes-zune-graph_MC_TGTWILDCARD := $(workbench-classes-zune-graph_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : | $(addsuffix .c,$(workbench-classes-zune-graph_CCFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-graph_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-graph_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-graph_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-graph_MC_DIRS := $(foreach dir, $(workbench-classes-zune-graph_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-graph_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-graph_MC_DIRS),) + workbench-classes-zune-graph_MC_DIRS := $(shell echo $(workbench-classes-zune-graph_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-classes-zune-graph_MC_DIRS) +endif + +endif + +workbench-classes-zune-graph_MC_CPPFLAGS := $(workbench-classes-zune-graph_CPPFLAGS) +workbench-classes-zune-graph_CFLAGS := $(workbench-classes-zune-graph_CFLAGS) +ifeq ($(workbench-classes-zune-graph_DFLAGS),) + workbench-classes-zune-graph_DFLAGS := $(workbench-classes-zune-graph_CFLAGS) +else + workbench-classes-zune-graph_DFLAGS := $(workbench-classes-zune-graph_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-classes-zune-graph_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(TARGET_STRIP) +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(workbench-classes-zune-graph_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(workbench-classes-zune-graph_DFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-classes-zune-graph_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(HOST_STRIP) +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_DFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(HOST_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-classes-zune-graph_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(ECHO) >/dev/null +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_DFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-graph_MC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-graph_MC_CPPFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) : CFLAGS := $(workbench-classes-zune-graph_CFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) : $(workbench-classes-zune-graph_MC_TGTWILDCARD).o : $(workbench-classes-zune-graph_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-graph_MC_DTARGETS) : $(workbench-classes-zune-graph_MC_TGTWILDCARD).d : $(workbench-classes-zune-graph_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-graph_DFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-classes-zune-graph_MC_SRCWILDCARD := % +else +workbench-classes-zune-graph_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-graph_OBJDIR),) +workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-graph_TARGETCCFILES)) +workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-graph_TARGETCCFILES)) +workbench-classes-zune-graph_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(workbench-classes-zune-graph_TARGETCCFILES)))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(workbench-classes-zune-graph_TARGETCCFILES)))) +else +ifeq (,) + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(workbench-classes-zune-graph_TARGETCCFILES))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(workbench-classes-zune-graph_TARGETCCFILES))) +else + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(patsubst /%,%,$(workbench-classes-zune-graph_TARGETCCFILES)))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(patsubst /%,%,$(workbench-classes-zune-graph_TARGETCCFILES)))) +endif +endif +workbench-classes-zune-graph_MC_TGTWILDCARD := $(workbench-classes-zune-graph_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : | $(addsuffix .c,$(workbench-classes-zune-graph_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-graph_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-graph_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-graph_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-graph_MC_DIRS := $(foreach dir, $(workbench-classes-zune-graph_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-graph_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-graph_MC_DIRS),) + workbench-classes-zune-graph_MC_DIRS := $(shell echo $(workbench-classes-zune-graph_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-classes-zune-graph_MC_DIRS) +endif + +endif + +workbench-classes-zune-graph_MC_CPPFLAGS := $(workbench-classes-zune-graph_CPPFLAGS) -D__AROS__ +workbench-classes-zune-graph_CFLAGS := $(workbench-classes-zune-graph_CFLAGS) +ifeq ($(workbench-classes-zune-graph_DFLAGS),) + workbench-classes-zune-graph_DFLAGS := $(workbench-classes-zune-graph_CFLAGS) +else + workbench-classes-zune-graph_DFLAGS := $(workbench-classes-zune-graph_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-classes-zune-graph_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(TARGET_STRIP) +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(workbench-classes-zune-graph_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(workbench-classes-zune-graph_DFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-classes-zune-graph_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(HOST_STRIP) +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_DFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(HOST_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-classes-zune-graph_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(ECHO) >/dev/null +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_DFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-graph_MC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-graph_MC_CPPFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) : CFLAGS := $(workbench-classes-zune-graph_CFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) : $(workbench-classes-zune-graph_MC_TGTWILDCARD).o : $(workbench-classes-zune-graph_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-graph_MC_DTARGETS) : $(workbench-classes-zune-graph_MC_TGTWILDCARD).d : $(workbench-classes-zune-graph_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-graph_DFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-classes-zune-graph_MC_SRCWILDCARD := % +else +workbench-classes-zune-graph_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-classes-zune-graph_OBJDIR)/linklib,) +workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-graph_NLIBARCHFILES)) +workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-graph_NLIBARCHFILES)) +workbench-classes-zune-graph_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-graph_NLIBARCHFILES)))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-graph_NLIBARCHFILES)))) +else +ifeq (,) + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(workbench-classes-zune-graph_NLIBARCHFILES))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(workbench-classes-zune-graph_NLIBARCHFILES))) +else + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-classes-zune-graph_NLIBARCHFILES)))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-classes-zune-graph_NLIBARCHFILES)))) +endif +endif +workbench-classes-zune-graph_MC_TGTWILDCARD := $(workbench-classes-zune-graph_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : | $(addsuffix .c,$(workbench-classes-zune-graph_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-graph_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-graph_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-graph_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-graph_MC_DIRS := $(foreach dir, $(workbench-classes-zune-graph_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-graph_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-graph_MC_DIRS),) + workbench-classes-zune-graph_MC_DIRS := $(shell echo $(workbench-classes-zune-graph_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-classes-zune-graph_MC_DIRS) +endif + +endif + +workbench-classes-zune-graph_MC_CPPFLAGS := $(workbench-classes-zune-graph_LINKLIBCPPFLAGS) -D__AROS__ +workbench-classes-zune-graph_CFLAGS := $(workbench-classes-zune-graph_LINKLIBCFLAGS) +ifeq ($(workbench-classes-zune-graph_LINKLIBDFLAGS),) + workbench-classes-zune-graph_DFLAGS := $(workbench-classes-zune-graph_LINKLIBCFLAGS) +else + workbench-classes-zune-graph_DFLAGS := $(workbench-classes-zune-graph_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-classes-zune-graph_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(TARGET_STRIP) +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(workbench-classes-zune-graph_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(workbench-classes-zune-graph_DFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-classes-zune-graph_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(HOST_STRIP) +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_DFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(HOST_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-classes-zune-graph_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(ECHO) >/dev/null +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_DFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-graph_MC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-graph_MC_CPPFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) : CFLAGS := $(workbench-classes-zune-graph_CFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) : $(workbench-classes-zune-graph_MC_TGTWILDCARD).o : $(workbench-classes-zune-graph_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-graph_MC_DTARGETS) : $(workbench-classes-zune-graph_MC_TGTWILDCARD).d : $(workbench-classes-zune-graph_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-graph_DFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-classes-zune-graph_OBJDIR)/linklib,) +workbench-classes-zune-graph_MC_SRCWILDCARD := % +else +workbench-classes-zune-graph_MC_SRCWILDCARD := $(workbench-classes-zune-graph_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-classes-zune-graph_OBJDIR)/linklib,) +workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(workbench-classes-zune-graph_LINKLIBCCGENFILES)) +workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(workbench-classes-zune-graph_LINKLIBCCGENFILES)) +workbench-classes-zune-graph_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-graph_LINKLIBCCGENFILES)))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-graph_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-classes-zune-graph_OBJDIR)/linklib,) + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(workbench-classes-zune-graph_LINKLIBCCGENFILES))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(workbench-classes-zune-graph_LINKLIBCCGENFILES))) +else + workbench-classes-zune-graph_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(patsubst $(workbench-classes-zune-graph_OBJDIR)/linklib/%,%,$(workbench-classes-zune-graph_LINKLIBCCGENFILES)))) + workbench-classes-zune-graph_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(patsubst $(workbench-classes-zune-graph_OBJDIR)/linklib/%,%,$(workbench-classes-zune-graph_LINKLIBCCGENFILES)))) +endif +endif +workbench-classes-zune-graph_MC_TGTWILDCARD := $(workbench-classes-zune-graph_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : | $(addsuffix .c,$(workbench-classes-zune-graph_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-graph_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-graph_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-graph_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-graph_MC_DIRS := $(foreach dir, $(workbench-classes-zune-graph_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-graph_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-graph_MC_DIRS),) + workbench-classes-zune-graph_MC_DIRS := $(shell echo $(workbench-classes-zune-graph_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-classes-zune-graph_MC_DIRS) +endif + +endif + +workbench-classes-zune-graph_MC_CPPFLAGS := $(workbench-classes-zune-graph_LINKLIBCPPFLAGS) -D__AROS__ +workbench-classes-zune-graph_CFLAGS := $(workbench-classes-zune-graph_LINKLIBCFLAGS) +ifeq ($(workbench-classes-zune-graph_LINKLIBDFLAGS),) + workbench-classes-zune-graph_DFLAGS := $(workbench-classes-zune-graph_LINKLIBCFLAGS) +else + workbench-classes-zune-graph_DFLAGS := $(workbench-classes-zune-graph_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-classes-zune-graph_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(TARGET_STRIP) +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(workbench-classes-zune-graph_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(workbench-classes-zune-graph_DFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-classes-zune-graph_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(HOST_STRIP) +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-classes-zune-graph_DFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(HOST_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-classes-zune-graph_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-classes-zune-graph_STRIP ?= $(ECHO) >/dev/null +workbench-classes-zune-graph_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS) $(workbench-classes-zune-graph_MC_EXTRA_CPPFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_CFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-classes-zune-graph_DFLAGS)) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-classes-zune-graph_MC_TARGETS) $(workbench-classes-zune-graph_MC_DTARGETS) : workbench-classes-zune-graph_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-classes-zune-graph_MC_TARGETS) : CPPFLAGS := $(workbench-classes-zune-graph_MC_CPPFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) : CFLAGS := $(workbench-classes-zune-graph_CFLAGS) +$(workbench-classes-zune-graph_MC_TARGETS) : $(workbench-classes-zune-graph_MC_TGTWILDCARD).o : $(workbench-classes-zune-graph_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-classes-zune-graph_IQUOTE) $(dir $<) $(workbench-classes-zune-graph_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-classes-zune-graph_IQUOTE) . $(workbench-classes-zune-graph_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-classes-zune-graph_MC_DTARGETS) : $(workbench-classes-zune-graph_MC_TGTWILDCARD).d : $(workbench-classes-zune-graph_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-classes-zune-graph_DFLAGS) $(workbench-classes-zune-graph_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-classes-zune-graph_LINKLIBAFILES),) + +ifeq ($(workbench-classes-zune-graph_OBJDIR)/linklib,) +workbench-classes-zune-graph-MA_TARGETS := $(addsuffix .o,$(workbench-classes-zune-graph_LINKLIBAFILES) $(workbench-classes-zune-graph_RELLINKLIBAFILES)) +workbench-classes-zune-graph-MA_WILDCARD := % +else +workbench-classes-zune-graph-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-graph_LINKLIBAFILES) $(workbench-classes-zune-graph_RELLINKLIBAFILES)))) +workbench-classes-zune-graph-MA_WILDCARD := $(workbench-classes-zune-graph_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-classes-zune-graph-MA_TARGETS) : | $(addsuffix .S,$(workbench-classes-zune-graph_LINKLIBAFILES) $(workbench-classes-zune-graph_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-classes-zune-graph-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-classes-zune-graph-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-classes-zune-graph_LINKLIBAFILES) $(workbench-classes-zune-graph_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-classes-zune-graph-MA_DIRS := $(foreach dir, $(workbench-classes-zune-graph-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-classes-zune-graph-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-classes-zune-graph-MA_DIRS),) + workbench-classes-zune-graph-MA_DIRS := $(shell echo $(workbench-classes-zune-graph-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-classes-zune-graph-MA_DIRS) +endif + +endif + +workbench-classes-zune-graph-MA_ASSEMBLER ?= $(workbench-classes-zune-graph_ASSEMBLER) + +$(workbench-classes-zune-graph-MA_TARGETS) : workbench-classes-zune-graph-MA_CMD:= $(workbench-classes-zune-graph-MA_ASSEMBLER) + +$(workbench-classes-zune-graph-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-classes-zune-graph-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-classes-zune-graph-MA_TARGETS) : $(workbench-classes-zune-graph-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-classes-zune-graph-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-classes-zune-graph-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-classes-zune-graph-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-classes-zune-graph_SUFFIX := mcc +else +workbench-classes-zune-graph_SUFFIX := +endif + +ifeq (target,target) +workbench-classes-zune-graph_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-classes-zune-graph_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-classes-zune-graph_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-classes-zune-graph_SUFFIX),handler) +workbench-classes-zune-graph_MODULE := $(AROSDIR)/$(workbench-classes-zune-graph_MODDIR)/$(workbench-classes-zune-graph_DEFNAME)-$(workbench-classes-zune-graph_SUFFIX) +else +workbench-classes-zune-graph_MODULE := $(AROSDIR)/$(workbench-classes-zune-graph_MODDIR)/$(workbench-classes-zune-graph_DEFNAME).$(workbench-classes-zune-graph_SUFFIX) +endif +workbench-classes-zune-graph_KOBJ := $(KOBJSDIR)/$(workbench-classes-zune-graph_DEFNAME)_$(workbench-classes-zune-graph_SUFFIX).o +else +workbench-classes-zune-graph_MODULE := +workbench-classes-zune-graph_KOBJ := +endif + +workbench-classes-zune-graph-quick : workbench-classes-zune-graph +workbench-classes-zune-graph : $(workbench-classes-zune-graph_MODULE) $(workbench-classes-zune-graph_LINKLIB) $(workbench-classes-zune-graph_RELLINKLIB) +ifeq (M,M) +workbench-classes-zune-graph-kobj : $(workbench-classes-zune-graph_KOBJ) $(workbench-classes-zune-graph_LINKLIB) $(workbench-classes-zune-graph_RELLINKLIB) +workbench-classes-zune-graph-kobj-quick : $(workbench-classes-zune-graph_KOBJ) $(workbench-classes-zune-graph_LINKLIB) $(workbench-classes-zune-graph_RELLINKLIB) +endif +ifeq (M,M) +workbench-classes-zune-graph-linklib : $(workbench-classes-zune-graph_LINKLIB) $(workbench-classes-zune-graph_RELLINKLIB) +endif + +workbench-classes-zune-graph_OBJS := $(addsuffix .o,$(workbench-classes-zune-graph_STARTFILES)) $(workbench-classes-zune-graph_ARCHOBJS) \ + $(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(workbench-classes-zune-graph_C_NARCHFILES:=.o) $(workbench-classes-zune-graph_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (mcc,handler) +workbench-classes-zune-graph_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (Graph,con) + workbench-classes-zune-graph_ERR := $(notdir $(workbench-classes-zune-graph_MODULE)).err +else + workbench-classes-zune-graph_ERR := Graph.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-classes-zune-graph_DEFNAME)_LDFLAGS) $(workbench-classes-zune-graph_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-classes-zune-graph_LIBS) $($(workbench-classes-zune-graph_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-classes-zune-graph_MODULE) : LIB_NAMES := $(workbench-classes-zune-graph_LIBS) $($(workbench-classes-zune-graph_DEFNAME)_LIBS) +$(workbench-classes-zune-graph_MODULE) : OBJS := $(workbench-classes-zune-graph_STARTOBJS) $(workbench-classes-zune-graph_OBJS) $(USER_OBJS) +$(workbench-classes-zune-graph_MODULE) : ENDTAG := $(workbench-classes-zune-graph_ENDOBJS) +$(workbench-classes-zune-graph_MODULE) : ERR := $(workbench-classes-zune-graph_ERR) +$(workbench-classes-zune-graph_MODULE) : OBJDIR := $(workbench-classes-zune-graph_OBJDIR) +$(workbench-classes-zune-graph_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-classes-zune-graph_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-classes-zune-graph_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-classes-zune-graph_MODULE) : $(workbench-classes-zune-graph_STARTOBJS) $(workbench-classes-zune-graph_OBJS) $(USER_OBJS) $(workbench-classes-zune-graph_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-classes-zune-graph_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-classes-zune-graph_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-classes-zune-graph_LC_LINKLIBNAME := $(shell echo $(workbench-classes-zune-graph_LINKLIBNAME) | tr A-Z a-z) +workbench-classes-zune-graph_LC_MODNAME := $(shell echo Graph | tr A-Z a-z) +ifneq ($(workbench-classes-zune-graph_LINKLIB),) + +ifeq (target,target) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(HOST_AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(KERNEL_AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)$(workbench-classes-zune-graph_LIBSUFFIX).a : $(workbench-classes-zune-graph_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-classes-zune-graph_AR) $@ $^ + $(Q)$(workbench-classes-zune-graph_RANLIB) $@ +ifneq ($(workbench-classes-zune-graph_LC_MODNAME),$(workbench-classes-zune-graph_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-classes-zune-graph_LIBDIR)/libGraph$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(AR) +$(workbench-classes-zune-graph_LIBDIR)/libGraph$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-classes-zune-graph_LIBDIR)/libGraph$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(HOST_AR) +$(workbench-classes-zune-graph_LIBDIR)/libGraph$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-classes-zune-graph_LIBDIR)/libGraph$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(KERNEL_AR) +$(workbench-classes-zune-graph_LIBDIR)/libGraph$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-classes-zune-graph_LIBDIR)/libGraph$(workbench-classes-zune-graph_LIBSUFFIX).a : $(workbench-classes-zune-graph_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-classes-zune-graph_AR) $@ $^ + $(Q)$(workbench-classes-zune-graph_RANLIB) $@ +endif + + +ifneq ($(workbench-classes-zune-graph_LINKLIB),) +$(workbench-classes-zune-graph_LINKLIB) : | $(workbench-classes-zune-graph_LIBDIR) +else +$(workbench-classes-zune-graph_LINKLIB) :: $(workbench-classes-zune-graph_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-graph_LIBDIR) + +endif + +ifneq ($(workbench-classes-zune-graph_RELLINKLIB),) + +ifeq (target,target) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(HOST_AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(KERNEL_AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_LINKLIBNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : $(workbench-classes-zune-graph_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-classes-zune-graph_AR) $@ $^ + $(Q)$(workbench-classes-zune-graph_RANLIB) $@ +ifneq ($(workbench-classes-zune-graph_LC_MODNAME),$(workbench-classes-zune-graph_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_DEFNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_DEFNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_DEFNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(HOST_AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_DEFNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_DEFNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_AR:=$(KERNEL_AR) +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_DEFNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : workbench-classes-zune-graph_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-classes-zune-graph_LIBDIR)/lib$(workbench-classes-zune-graph_DEFNAME)_rel$(workbench-classes-zune-graph_LIBSUFFIX).a : $(workbench-classes-zune-graph_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-classes-zune-graph_AR) $@ $^ + $(Q)$(workbench-classes-zune-graph_RANLIB) $@ +endif + + +ifneq ($(workbench-classes-zune-graph_RELLINKLIB),) +$(workbench-classes-zune-graph_RELLINKLIB) : | $(workbench-classes-zune-graph_LIBDIR) +else +$(workbench-classes-zune-graph_RELLINKLIB) :: $(workbench-classes-zune-graph_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-graph_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-classes-zune-graph_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-classes-zune-graph_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-classes-zune-graph_SYMBOLS := $(workbench-classes-zune-graph_KBASE) + +workbench-classes-zune-graph_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-classes-zune-graph_KOBJ_LIBS := $(filter-out $(workbench-classes-zune-graph_KLIB),$(workbench-classes-zune-graph_LIBS)) $(workbench-classes-zune-graph_KAUTOLIB) +$(workbench-classes-zune-graph_KOBJ) : LINKLIBS:=$(workbench-classes-zune-graph_KOBJ_LIBS) $($(workbench-classes-zune-graph_DEFNAME)_LIBS) +$(workbench-classes-zune-graph_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-classes-zune-graph_SYMBOLS)) +$(workbench-classes-zune-graph_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-classes-zune-graph_KOBJ) : $(workbench-classes-zune-graph_OBJS) $(USER_OBJS) $(workbench-classes-zune-graph_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-classes-zune-graph_DEPS := $(addprefix $(workbench-classes-zune-graph_OBJDIR)/,$(notdir $(workbench-classes-zune-graph_CCFILES:=.d) $(workbench-classes-zune-graph_TARGETCCFILES:=.d) $(workbench-classes-zune-graph_CXXFILES:=.d))) $(addprefix $(workbench-classes-zune-graph_OBJDIR)/linklib/,$(notdir $(workbench-classes-zune-graph_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-classes-zune-graph_DEPS),) + ifneq (workbench-classes-zune-graph workbench-classes-zune-graph-quick workbench-classes-zune-graph-kobj workbench-classes-zune-graph-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-classes-zune-graph workbench-classes-zune-graph-quick workbench-classes-zune-graph-kobj workbench-classes-zune-graph-kobj-quick),) + -include $(workbench-classes-zune-graph_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-classes-zune-graph_DEPS) + endif + endif +endif + +$(workbench-classes-zune-graph_OBJS) $(workbench-classes-zune-graph_DEPS) : | $(workbench-classes-zune-graph_OBJDIR)/linklib + +ifneq ($(workbench-classes-zune-graph_OBJS) $(workbench-classes-zune-graph_DEPS) $(workbench-classes-zune-graph_MODULE) $(workbench-classes-zune-graph_KOBJ),) +$(workbench-classes-zune-graph_OBJS) $(workbench-classes-zune-graph_DEPS) $(workbench-classes-zune-graph_MODULE) $(workbench-classes-zune-graph_KOBJ) : | $(workbench-classes-zune-graph_OBJDIR) $(AROSDIR)/$(workbench-classes-zune-graph_MODDIR) $(KOBJSDIR) +else +$(workbench-classes-zune-graph_OBJS) $(workbench-classes-zune-graph_DEPS) $(workbench-classes-zune-graph_MODULE) $(workbench-classes-zune-graph_KOBJ) :: $(workbench-classes-zune-graph_OBJDIR) $(AROSDIR)/$(workbench-classes-zune-graph_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-classes-zune-graph_OBJDIR) $(AROSDIR)/$(workbench-classes-zune-graph_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-classes-zune-graph workbench-classes-zune-graph-includes workbench-classes-zune-graph-quick workbench-classes-zune-graph-kobj workbench-classes-zune-graph-kobj-quick),) # Only for this target these deps are wanted + +workbench-classes-zune-graph_DFILE_DEPS := $(workbench-classes-zune-graph_LIBDEFSINC) $(workbench-classes-zune-graph_DEFLIBDEFSINC) \ + $(addprefix $(workbench-classes-zune-graph_INCDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) +$(workbench-classes-zune-graph_DEPS) : $(workbench-classes-zune-graph_DFILE_DEPS) +endif + +workbench-classes-zune-graph_TOCLEAN := $(workbench-classes-zune-graph_OBJS) $(workbench-classes-zune-graph_DEPS) \ + $(workbench-classes-zune-graph_MODULE) $(workbench-classes-zune-graph_LINKLIB) $(workbench-classes-zune-graph_KOBJ) \ + $(workbench-classes-zune-graph_OBJDIR)/Makefile.Graphmcc \ + $(addprefix $(workbench-classes-zune-graph_OBJDIR)/include/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-classes-zune-graph_INCDIR)/,$($(workbench-classes-zune-graph_DEFNAME)_INCLUDES)) \ + $(workbench-classes-zune-graph_OBJDIR)/Graph_geninc $(workbench-classes-zune-graph_OBJDIR)/Graph_incs \ + $(addsuffix .c,$(workbench-classes-zune-graph_LINKLIBFILES)) $(workbench-classes-zune-graph_LINKLIBOBJS) $(workbench-classes-zune-graph_LIBDEFSINC) \ + $(workbench-classes-zune-graph_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-classes-zune-graph_STARTFILES) $(workbench-classes-zune-graph_ENDFILES)) \ + $(workbench-classes-zune-graph_ENDOBJS) +workbench-classes-zune-graph-clean : FILES := $(workbench-classes-zune-graph_TOCLEAN) +workbench-classes-zune-graph-clean :: + $(Q)$(ECHO) "Cleaning up for module Graph" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-classes-zune-graph_ALLTARGETS) + + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/zune,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/zune/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/zune/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/zune/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/zune,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/zune/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/zune/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/zune/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) +ifneq ($(DEPS),) + ifneq (,) + ifneq ($(findstring $(TARGET),),) + -include $(DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(DEPS) + endif + endif +endif diff --git a/workbench/classes/zune/nlist/demo/mmakefile b/workbench/classes/zune/nlist/demo/mmakefile new file mode 100644 index 00000000000..f6692fd379d --- /dev/null +++ b/workbench/classes/zune/nlist/demo/mmakefile @@ -0,0 +1,1895 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := NList-Demo \ + NList-Demo2 \ + NList-Demo3 + +EXEDIR := $(AROSDIR)/Demos/Zune/MCC_NList + +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/../include +USER_CFLAGS := -DNO_INLINE_STDARG -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) + + +#MM classes-zune-nlist-demo : includes linklibs \ +#MM classes-zune-nlist \ +#MM classes-zune-nlistview \ +#MM classes-zune-nfloattext + +#MM classes-zune-nlisttree-demo : includes linklibs \ +#MM classes-zune-nlist \ +#MM classes-zune-nlistview \ +#MM classes-zune-nfloattext \ +#MM classes-zune-nlisttree + +#MM classes-zune-nbitmap-demo : includes linklibs classes-zune-nbitmap-demo-cpy + + +.PHONY : classes-zune-nlist-demo + +classes-zune-nlist-demo_PROGNAME := NList-Demo +classes-zune-nlist-demo_OBJDIR := $(GENDIR)/$(CURDIR) +classes-zune-nlist-demo_TARGETDIR := $(EXEDIR) +classes-zune-nlist-demo_LINKER := +classes-zune-nlist-demo_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(classes-zune-nlist-demo_LINKER),) + classes-zune-nlist-demo_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + classes-zune-nlist-demo_FILES := $(FILES) + classes-zune-nlist-demo_OBJCFILES := + classes-zune-nlist-demo_ASMFILES := + classes-zune-nlist-demo_CXXFILES := +else + classes-zune-nlist-demo_FILES := $(classes-zune-nlist-demo_PROGNAME) + classes-zune-nlist-demo_OBJCFILES := + classes-zune-nlist-demo_ASMFILES := + classes-zune-nlist-demo_CXXFILES := +endif + +classes-zune-nlist-demo_ARCHOBJS := $(wildcard $(classes-zune-nlist-demo_OBJDIR)/arch/*.o) +classes-zune-nlist-demo_ARCHFILES := $(basename $(notdir $(classes-zune-nlist-demo_ARCHOBJS))) +classes-zune-nlist-demo_C_NARCHFILES := $(filter-out $(classes-zune-nlist-demo_ARCHFILES),$(classes-zune-nlist-demo_FILES)) +classes-zune-nlist-demo_CXX_NARCHFILES := $(filter-out $(classes-zune-nlist-demo_ARCHFILES),$(classes-zune-nlist-demo_CXXFILES)) +classes-zune-nlist-demo_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlist-demo_ARCHFILES),$(classes-zune-nlist-demo_OBJCFILES)) + +TMP_FILES := $(classes-zune-nlist-demo_C_NARCHFILES) $(classes-zune-nlist-demo_CXX_NARCHFILES) $(classes-zune-nlist-demo_ASMFILES) $(classes-zune-nlist-demo_OBJC_NARCHFILES) +classes-zune-nlist-demo_OBJS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(notdir $(TMP_FILES)))) +classes-zune-nlist-demo_DEPS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(notdir $(TMP_FILES)))) + +classes-zune-nlist-demo_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +classes-zune-nlist-demo_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlist-demo_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +classes-zune-nlist-demo_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlist-demo_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +classes-zune-nlist-demo_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlist-demo_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +classes-zune-nlist-demo_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlist-demo_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +classes-zune-nlist-demo_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlist-demo_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +classes-zune-nlist-demo_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlist-demo_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +classes-zune-nlist-demo_LDFLAGS := +endif + +classes-zune-nlist-demo_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +classes-zune-nlist-demo_COVERAGE := yes +classes-zune-nlist-demo_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +classes-zune-nlist-demo_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +classes-zune-nlist-demo_CFLAGS := $(strip $(classes-zune-nlist-demo_COVERAGEFLAGS) $(classes-zune-nlist-demo_CFLAGS)) +classes-zune-nlist-demo_CXXFLAGS := $(strip $(classes-zune-nlist-demo_COVERAGEFLAGS) $(classes-zune-nlist-demo_CXXFLAGS)) +classes-zune-nlist-demo_LIBS += $(classes-zune-nlist-demo_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlist-demo_FUNCINSTR := yes +classes-zune-nlist-demo_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +classes-zune-nlist-demo_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +classes-zune-nlist-demo_CFLAGS := $(strip $(classes-zune-nlist-demo_INSTRFUNCFLAGS) $(classes-zune-nlist-demo_CFLAGS)) +classes-zune-nlist-demo_CXXFLAGS := $(strip $(classes-zune-nlist-demo_INSTRFUNCFLAGS) $(classes-zune-nlist-demo_CXXFLAGS)) +classes-zune-nlist-demo_LIBS += $(classes-zune-nlist-demo_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +classes-zune-nlist-demo_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nlist-demo_CFLAGS)) +classes-zune-nlist-demo_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nlist-demo_CXXFLAGS)) +endif +endif +classes-zune-nlist-demo_AFLAGS := $(AFLAGS) +ifneq (,) + classes-zune-nlist-demo_DFLAGS := +else + classes-zune-nlist-demo_DFLAGS := $(classes-zune-nlist-demo_CFLAGS) +endif +ifneq (,) + classes-zune-nlist-demo_DXXFLAGS := +else + classes-zune-nlist-demo_DXXFLAGS := $(classes-zune-nlist-demo_CXXFLAGS) +endif +ifeq (target,target) +classes-zune-nlist-demo_LDFLAGS := $(classes-zune-nlist-demo_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +classes-zune-nlist-demo_LDFLAGS := $(classes-zune-nlist-demo_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlist-demo_LDFLAGS := $(classes-zune-nlist-demo_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +classes-zune-nlist-demo_LDFLAGS += -L +endif + +#MM +classes-zune-nlist-demo-quick : classes-zune-nlist-demo + +#MM classes-zune-nlist-demo : includes-generate-deps core-linklibs +classes-zune-nlist-demo : $(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) + +ifneq ($(filter $(TARGET),classes-zune-nlist-demo classes-zune-nlist-demo-quick classes-zune-nlist-demo-gz-quick),) + +classes-zune-nlist-demo_CXXABSBASENAMES := $(foreach classes-zune-nlist-demo_CXXBASE,$(classes-zune-nlist-demo_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlist-demo_CXXBASE)),$(classes-zune-nlist-demo_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlist-demo_CXXBASE)))) + +ifneq ($(classes-zune-nlist-demo_CXXABSBASENAMES),) + +classes-zune-nlist-demo_CXXBASENAMES := $(basename $(classes-zune-nlist-demo_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlist-demo_MCXX_FILES := $(strip $(foreach classes-zune-nlist-demo_CXXBASE,$(classes-zune-nlist-demo_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlist-demo_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlist-demo_EXT),$(classes-zune-nlist-demo_CXXBASE))))))) + +ifeq (,) +classes-zune-nlist-demo_MCXX_SRCWILDCARD := % +else +classes-zune-nlist-demo_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlist-demo_OBJDIR),) + classes-zune-nlist-demo_CXXTARGETS := $(notdir $(classes-zune-nlist-demo_CXXBASENAMES:=.o)) + classes-zune-nlist-demo_CXXDTARGETS := $(notdir $(classes-zune-nlist-demo_CXXBASENAMES:=.d)) + classes-zune-nlist-demo_MCXX_WILDCARD := % +else + classes-zune-nlist-demo_CXXTARGETS := $(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(notdir $(classes-zune-nlist-demo_CXXBASENAMES:=.o))) + classes-zune-nlist-demo_CXXDTARGETS := $(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(notdir $(classes-zune-nlist-demo_CXXBASENAMES:=.d))) + classes-zune-nlist-demo_MCXX_WILDCARD := $(classes-zune-nlist-demo_OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlist-demo_CXXTARGETS) $(classes-zune-nlist-demo_CXXDTARGETS) : | $(classes-zune-nlist-demo_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlist-demo_MCXX_CPPFLAGS := $(classes-zune-nlist-demo_CPPFLAGS) +classes-zune-nlist-demo_CXXFLAGS := $(classes-zune-nlist-demo_CXXFLAGS) +ifeq ($(classes-zune-nlist-demo_DXXFLAGS),) + classes-zune-nlist-demo_DXXFLAGS := $(classes-zune-nlist-demo_CXXFLAGS) +else + classes-zune-nlist-demo_DXXFLAGS := $(classes-zune-nlist-demo_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlist-demo_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlist-demo_STRIP ?= $(HOST_STRIP) + classes-zune-nlist-demo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlist-demo_CXXCMD:=$(HOST_CXX) + classes-zune-nlist-demo_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlist-demo_MCXX_CPPFLAGS) $(classes-zune-nlist-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-demo_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlist-demo_CXXFLAGS)) + classes-zune-nlist-demo_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlist-demo_DXXFLAGS)) + classes-zune-nlist-demo_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlist-demo_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlist-demo_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlist-demo_STRIP ?= $(TARGET_STRIP) + classes-zune-nlist-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlist-demo_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlist-demo_MCXX_CPPFLAGS := $(strip $(classes-zune-nlist-demo_MCXX_CPPFLAGS) $(classes-zune-nlist-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-demo_CXXFLAGS := $(strip $(classes-zune-nlist-demo_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlist-demo_DXXFLAGS := $(classes-zune-nlist-demo_DXXFLAGS) + classes-zune-nlist-demo_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlist-demo_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlist-demo_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlist-demo_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlist-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlist-demo_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlist-demo_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlist-demo_MCXX_CPPFLAGS) $(classes-zune-nlist-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-demo_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlist-demo_CXXFLAGS)) + classes-zune-nlist-demo_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlist-demo_DXXFLAGS)) + classes-zune-nlist-demo_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlist-demo_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlist-demo_CXXCMD) $(classes-zune-nlist-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_CXXIQUOTE) . $(classes-zune-nlist-demo_CXXIQUOTE_END) $(strip $(classes-zune-nlist-demo_CXXFLAGS) $(classes-zune-nlist-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlist-demo_CXXCMD) $(classes-zune-nlist-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_CXXIQUOTE) . $(classes-zune-nlist-demo_CXXIQUOTE_END) $(strip $(classes-zune-nlist-demo_CXXFLAGS) $(classes-zune-nlist-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlist-demo_CXXCMD) $(classes-zune-nlist-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_CXXIQUOTE) . $(classes-zune-nlist-demo_CXXIQUOTE_END) $(strip $(classes-zune-nlist-demo_CXXFLAGS) $(classes-zune-nlist-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlist-demo_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-demo_DXXFLAGS) $(classes-zune-nlist-demo_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(classes-zune-nlist-demo_OBJDIR),) + $(foreach classes-zune-nlist-demo_CXXFILE,$(classes-zune-nlist-demo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlist-demo_CXXFILE))),$(classes-zune-nlist-demo_CXXFILE)))) +else + $(foreach classes-zune-nlist-demo_CXXFILE,$(classes-zune-nlist-demo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(notdir $(basename $(classes-zune-nlist-demo_CXXFILE)))),$(classes-zune-nlist-demo_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlist-demo_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlist-demo_MOBJC_SRCWILDCARD := % +else +classes-zune-nlist-demo_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlist-demo_OBJDIR),) + classes-zune-nlist-demo_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlist-demo_OBJC_NARCHFILES)) + classes-zune-nlist-demo_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlist-demo_OBJC_NARCHFILES)) + classes-zune-nlist-demo_MOBJC_WILDCARD := % +else + classes-zune-nlist-demo_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(classes-zune-nlist-demo_OBJC_NARCHFILES))) + classes-zune-nlist-demo_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(classes-zune-nlist-demo_OBJC_NARCHFILES))) + classes-zune-nlist-demo_MOBJC_WILDCARD := $(classes-zune-nlist-demo_OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlist-demo_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlist-demo_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlist-demo_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlist-demo_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlist-demo_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlist-demo_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlist-demo_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlist-demo_MOBJC_DIRS),) + classes-zune-nlist-demo_MOBJC_DIRS := $(shell echo $(classes-zune-nlist-demo_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlist-demo_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlist-demo_CC := $(TARGET_CC) +else + classes-zune-nlist-demo_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlist-demo_MOBJC_CPPFLAGS := $(classes-zune-nlist-demo_CPPFLAGS) +classes-zune-nlist-demo_OBJCFLAGS := $(classes-zune-nlist-demo_CFLAGS) +classes-zune-nlist-demo_OBJCFLAGS := $(classes-zune-nlist-demo_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlist-demo_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlist-demo_OBJCFLAGS))) +ifeq ($(classes-zune-nlist-demo_DFLAGS),) + classes-zune-nlist-demo_OBJCDFLAGS := $(classes-zune-nlist-demo_CFLAGS) +else + classes-zune-nlist-demo_OBJCDFLAGS := $(classes-zune-nlist-demo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlist-demo_LINK ?= $(strip $(classes-zune-nlist-demo_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlist-demo_STRIP ?= $(TARGET_STRIP) + classes-zune-nlist-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlist-demo_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlist-demo_MOBJC_CPPFLAGS) $(classes-zune-nlist-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_OBJCFLAGS:=$(strip $(classes-zune-nlist-demo_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_OBJCDFLAGS:=$(classes-zune-nlist-demo_OBJCDFLAGS) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlist-demo_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlist-demo_STRIP ?= $(HOST_STRIP) + classes-zune-nlist-demo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlist-demo_MOBJC_CPPFLAGS) $(classes-zune-nlist-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-demo_OBJCFLAGS)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-demo_OBJCDFLAGS)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlist-demo_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlist-demo_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlist-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlist-demo_MOBJC_CPPFLAGS) $(classes-zune-nlist-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-demo_OBJCFLAGS)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-demo_OBJCDFLAGS)) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlist-demo_MOBJC_TARGETS) $(classes-zune-nlist-demo_MOBJC_DTARGETS) : classes-zune-nlist-demo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlist-demo_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlist-demo_MOBJC_CPPFLAGS) +$(classes-zune-nlist-demo_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlist-demo_OBJCFLAGS) +$(classes-zune-nlist-demo_MOBJC_TARGETS) : $(classes-zune-nlist-demo_MOBJC_WILDCARD).o : $(classes-zune-nlist-demo_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlist-demo_IQUOTE) $(dir $<) $(classes-zune-nlist-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_IQUOTE) . $(classes-zune-nlist-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlist-demo_IQUOTE) $(dir $<) $(classes-zune-nlist-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_IQUOTE) . $(classes-zune-nlist-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlist-demo_IQUOTE) $(dir $<) $(classes-zune-nlist-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_IQUOTE) . $(classes-zune-nlist-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlist-demo_MOBJC_DTARGETS) : $(classes-zune-nlist-demo_MOBJC_WILDCARD).d : $(classes-zune-nlist-demo_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-demo_OBJCDFLAGS) $(classes-zune-nlist-demo_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlist-demo_MC_SRCWILDCARD := % +else +classes-zune-nlist-demo_MC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlist-demo_OBJDIR),) +classes-zune-nlist-demo_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlist-demo_C_NARCHFILES)) +classes-zune-nlist-demo_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlist-demo_C_NARCHFILES)) +classes-zune-nlist-demo_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlist-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(notdir $(classes-zune-nlist-demo_C_NARCHFILES)))) + classes-zune-nlist-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(notdir $(classes-zune-nlist-demo_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlist-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(classes-zune-nlist-demo_C_NARCHFILES))) + classes-zune-nlist-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(classes-zune-nlist-demo_C_NARCHFILES))) +else + classes-zune-nlist-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlist-demo_C_NARCHFILES)))) + classes-zune-nlist-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlist-demo_C_NARCHFILES)))) +endif +endif +classes-zune-nlist-demo_MC_TGTWILDCARD := $(classes-zune-nlist-demo_OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlist-demo_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlist-demo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlist-demo_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlist-demo_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlist-demo_MC_DIRS := $(foreach dir, $(classes-zune-nlist-demo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlist-demo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlist-demo_MC_DIRS),) + classes-zune-nlist-demo_MC_DIRS := $(shell echo $(classes-zune-nlist-demo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlist-demo_MC_DIRS) +endif + +endif + +classes-zune-nlist-demo_MC_CPPFLAGS := $(classes-zune-nlist-demo_CPPFLAGS) +classes-zune-nlist-demo_CFLAGS := $(classes-zune-nlist-demo_CFLAGS) +ifeq ($(classes-zune-nlist-demo_DFLAGS),) + classes-zune-nlist-demo_DFLAGS := $(classes-zune-nlist-demo_CFLAGS) +else + classes-zune-nlist-demo_DFLAGS := $(classes-zune-nlist-demo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlist-demo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlist-demo_STRIP ?= $(TARGET_STRIP) +classes-zune-nlist-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_MC_CPPFLAGS:=$(strip $(classes-zune-nlist-demo_MC_CPPFLAGS) $(classes-zune-nlist-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_CFLAGS:=$(strip $(classes-zune-nlist-demo_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_DFLAGS:=$(classes-zune-nlist-demo_DFLAGS) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlist-demo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlist-demo_STRIP ?= $(HOST_STRIP) +classes-zune-nlist-demo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlist-demo_MC_CPPFLAGS) $(classes-zune-nlist-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-demo_CFLAGS)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-demo_DFLAGS)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlist-demo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlist-demo_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlist-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlist-demo_MC_CPPFLAGS) $(classes-zune-nlist-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-demo_CFLAGS)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-demo_DFLAGS)) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlist-demo_MC_TARGETS) $(classes-zune-nlist-demo_MC_DTARGETS) : classes-zune-nlist-demo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlist-demo_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlist-demo_MC_CPPFLAGS) +$(classes-zune-nlist-demo_MC_TARGETS) : CFLAGS := $(classes-zune-nlist-demo_CFLAGS) +$(classes-zune-nlist-demo_MC_TARGETS) : $(classes-zune-nlist-demo_MC_TGTWILDCARD).o : $(classes-zune-nlist-demo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlist-demo_IQUOTE) $(dir $<) $(classes-zune-nlist-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_IQUOTE) . $(classes-zune-nlist-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlist-demo_IQUOTE) $(dir $<) $(classes-zune-nlist-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_IQUOTE) . $(classes-zune-nlist-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlist-demo_IQUOTE) $(dir $<) $(classes-zune-nlist-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-demo_IQUOTE) . $(classes-zune-nlist-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlist-demo_MC_DTARGETS) : $(classes-zune-nlist-demo_MC_TGTWILDCARD).d : $(classes-zune-nlist-demo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-demo_DFLAGS) $(classes-zune-nlist-demo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(classes-zune-nlist-demo_OBJDIR),) +classes-zune-nlist-demo-MA_TARGETS := $(addsuffix .o,$(classes-zune-nlist-demo_ASMFILES)) +classes-zune-nlist-demo-MA_WILDCARD := % +else +classes-zune-nlist-demo-MA_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-demo_OBJDIR)/,$(notdir $(classes-zune-nlist-demo_ASMFILES)))) +classes-zune-nlist-demo-MA_WILDCARD := $(classes-zune-nlist-demo_OBJDIR)/% + +# Be sure that all .s files are generated +$(classes-zune-nlist-demo-MA_TARGETS) : | $(addsuffix .s,$(classes-zune-nlist-demo_ASMFILES)) + +# Be sure that all .c files are found +classes-zune-nlist-demo-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlist-demo-MA_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlist-demo_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlist-demo-MA_DIRS := $(foreach dir, $(classes-zune-nlist-demo-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlist-demo-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlist-demo-MA_DIRS),) + classes-zune-nlist-demo-MA_DIRS := $(shell echo $(classes-zune-nlist-demo-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(classes-zune-nlist-demo-MA_DIRS) +endif + +endif + +classes-zune-nlist-demo-MA_ASSEMBLER ?= $(classes-zune-nlist-demo_ASSEMBLER) + +$(classes-zune-nlist-demo-MA_TARGETS) : classes-zune-nlist-demo-MA_CMD:= $(classes-zune-nlist-demo-MA_ASSEMBLER) + +$(classes-zune-nlist-demo-MA_TARGETS) : CPPFLAGS := $(classes-zune-nlist-demo_CPPFLAGS) +$(classes-zune-nlist-demo-MA_TARGETS) : AFLAGS := $(classes-zune-nlist-demo_AFLAGS) +$(classes-zune-nlist-demo-MA_TARGETS) : $(classes-zune-nlist-demo-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(classes-zune-nlist-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(classes-zune-nlist-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(classes-zune-nlist-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +classes-zune-nlist-demo-link_EXTRA_LDFLAGS := +classes-zune-nlist-demo-link_EXTRA_LIBS := +ifeq (no,yes) + classes-zune-nlist-demo-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + classes-zune-nlist-demo-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + classes-zune-nlist-demo-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +classes-zune-nlist-demo-link_DIRS := $(subst -L ,-L,$(strip $(classes-zune-nlist-demo_LDFLAGS))) +# Filter out only the libdirs and remove -L +classes-zune-nlist-demo-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(classes-zune-nlist-demo-link_DIRS))) +# Add trailing / +classes-zune-nlist-demo-link_DIRS := $(subst //,/,$(addsuffix /,$(classes-zune-nlist-demo-link_DIRS))) +# Add normal linklib path +classes-zune-nlist-demo-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +classes-zune-nlist-demo-link_LIBS := $(addprefix lib,$(addsuffix .a,$(classes-zune-nlist-demo_LIBS) $(classes-zune-nlist-demo-link_EXTRA_LIBS))) +ifeq (yes,yes) + classes-zune-nlist-demo-link_LIBS += startup.o +endif +ifeq (no,yes) + classes-zune-nlist-demo-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +classes-zune-nlist-demo-link_DEPLIBS := $(foreach lib,$(classes-zune-nlist-demo-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(classes-zune-nlist-demo-link_DIRS)))) \ +) + +$(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) : OBJDIR := $(classes-zune-nlist-demo_OBJDIR) +$(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) : OBJS := $(classes-zune-nlist-demo_OBJS) $(classes-zune-nlist-demo_ARCHOBJS) $(USER_OBJS) +$(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) : LDFLAGS := $(strip $(classes-zune-nlist-demo_LDFLAGS) $(classes-zune-nlist-demo-link_EXTRA_LDFLAGS)) +$(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) : LIBS := $(addprefix -l,$(classes-zune-nlist-demo_LIBS) $(classes-zune-nlist-demo-link_EXTRA_LIBS) ) +$(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) : $(classes-zune-nlist-demo_OBJS) $(classes-zune-nlist-demo_ARCHOBJS) $(USER_OBJS) $(classes-zune-nlist-demo-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(classes-zune-nlist-demo_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(classes-zune-nlist-demo_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(classes-zune-nlist-demo_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nlist-demo_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(classes-zune-nlist-demo_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(classes-zune-nlist-demo_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nlist-demo_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(classes-zune-nlist-demo_DEPS),) + ifneq (classes-zune-nlist-demo classes-zune-nlist-demo-quick,) + ifneq ($(findstring $(TARGET),classes-zune-nlist-demo classes-zune-nlist-demo-quick),) + -include $(classes-zune-nlist-demo_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlist-demo_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlist-demo_OBJS) $(classes-zune-nlist-demo_DEPS) $(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME),) +$(classes-zune-nlist-demo_OBJS) $(classes-zune-nlist-demo_DEPS) $(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) : | $(classes-zune-nlist-demo_OBJDIR) $(classes-zune-nlist-demo_TARGETDIR) +else +$(classes-zune-nlist-demo_OBJS) $(classes-zune-nlist-demo_DEPS) $(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) :: $(classes-zune-nlist-demo_OBJDIR) $(classes-zune-nlist-demo_TARGETDIR) +endif + +GLOB_MKDIRS += $(classes-zune-nlist-demo_OBJDIR) $(classes-zune-nlist-demo_TARGETDIR) + + +classes-zune-nlist-demo-clean : FILES := $(classes-zune-nlist-demo_OBJS) $(classes-zune-nlist-demo_TARGETDIR)/$(classes-zune-nlist-demo_PROGNAME) $(classes-zune-nlist-demo_DEPS) +#MM +classes-zune-nlist-demo-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget classes-zune-nlist-demo" + $(Q)$(RM) $(FILES) + + + +.PHONY : classes-zune-nlisttree-demo + +classes-zune-nlisttree-demo_PROGNAME := NListtree-Demo +classes-zune-nlisttree-demo_OBJDIR := $(GENDIR)/$(CURDIR) +classes-zune-nlisttree-demo_TARGETDIR := $(EXEDIR) +classes-zune-nlisttree-demo_LINKER := +classes-zune-nlisttree-demo_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(classes-zune-nlisttree-demo_LINKER),) + classes-zune-nlisttree-demo_LINKER := target +endif + +ifneq ("$(strip NListtree-Demo )","") + classes-zune-nlisttree-demo_FILES := NListtree-Demo + classes-zune-nlisttree-demo_OBJCFILES := + classes-zune-nlisttree-demo_ASMFILES := + classes-zune-nlisttree-demo_CXXFILES := +else + classes-zune-nlisttree-demo_FILES := $(classes-zune-nlisttree-demo_PROGNAME) + classes-zune-nlisttree-demo_OBJCFILES := + classes-zune-nlisttree-demo_ASMFILES := + classes-zune-nlisttree-demo_CXXFILES := +endif + +classes-zune-nlisttree-demo_ARCHOBJS := $(wildcard $(classes-zune-nlisttree-demo_OBJDIR)/arch/*.o) +classes-zune-nlisttree-demo_ARCHFILES := $(basename $(notdir $(classes-zune-nlisttree-demo_ARCHOBJS))) +classes-zune-nlisttree-demo_C_NARCHFILES := $(filter-out $(classes-zune-nlisttree-demo_ARCHFILES),$(classes-zune-nlisttree-demo_FILES)) +classes-zune-nlisttree-demo_CXX_NARCHFILES := $(filter-out $(classes-zune-nlisttree-demo_ARCHFILES),$(classes-zune-nlisttree-demo_CXXFILES)) +classes-zune-nlisttree-demo_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlisttree-demo_ARCHFILES),$(classes-zune-nlisttree-demo_OBJCFILES)) + +TMP_FILES := $(classes-zune-nlisttree-demo_C_NARCHFILES) $(classes-zune-nlisttree-demo_CXX_NARCHFILES) $(classes-zune-nlisttree-demo_ASMFILES) $(classes-zune-nlisttree-demo_OBJC_NARCHFILES) +classes-zune-nlisttree-demo_OBJS := $(addsuffix .o,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(notdir $(TMP_FILES)))) +classes-zune-nlisttree-demo_DEPS := $(addsuffix .d,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(notdir $(TMP_FILES)))) + +classes-zune-nlisttree-demo_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +classes-zune-nlisttree-demo_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlisttree-demo_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +classes-zune-nlisttree-demo_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlisttree-demo_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +classes-zune-nlisttree-demo_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlisttree-demo_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +classes-zune-nlisttree-demo_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlisttree-demo_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +classes-zune-nlisttree-demo_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlisttree-demo_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +classes-zune-nlisttree-demo_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlisttree-demo_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +classes-zune-nlisttree-demo_LDFLAGS := +endif + +classes-zune-nlisttree-demo_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +classes-zune-nlisttree-demo_COVERAGE := yes +classes-zune-nlisttree-demo_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +classes-zune-nlisttree-demo_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +classes-zune-nlisttree-demo_CFLAGS := $(strip $(classes-zune-nlisttree-demo_COVERAGEFLAGS) $(classes-zune-nlisttree-demo_CFLAGS)) +classes-zune-nlisttree-demo_CXXFLAGS := $(strip $(classes-zune-nlisttree-demo_COVERAGEFLAGS) $(classes-zune-nlisttree-demo_CXXFLAGS)) +classes-zune-nlisttree-demo_LIBS += $(classes-zune-nlisttree-demo_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlisttree-demo_FUNCINSTR := yes +classes-zune-nlisttree-demo_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +classes-zune-nlisttree-demo_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +classes-zune-nlisttree-demo_CFLAGS := $(strip $(classes-zune-nlisttree-demo_INSTRFUNCFLAGS) $(classes-zune-nlisttree-demo_CFLAGS)) +classes-zune-nlisttree-demo_CXXFLAGS := $(strip $(classes-zune-nlisttree-demo_INSTRFUNCFLAGS) $(classes-zune-nlisttree-demo_CXXFLAGS)) +classes-zune-nlisttree-demo_LIBS += $(classes-zune-nlisttree-demo_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +classes-zune-nlisttree-demo_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nlisttree-demo_CFLAGS)) +classes-zune-nlisttree-demo_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nlisttree-demo_CXXFLAGS)) +endif +endif +classes-zune-nlisttree-demo_AFLAGS := $(AFLAGS) +ifneq (,) + classes-zune-nlisttree-demo_DFLAGS := +else + classes-zune-nlisttree-demo_DFLAGS := $(classes-zune-nlisttree-demo_CFLAGS) +endif +ifneq (,) + classes-zune-nlisttree-demo_DXXFLAGS := +else + classes-zune-nlisttree-demo_DXXFLAGS := $(classes-zune-nlisttree-demo_CXXFLAGS) +endif +ifeq (target,target) +classes-zune-nlisttree-demo_LDFLAGS := $(classes-zune-nlisttree-demo_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +classes-zune-nlisttree-demo_LDFLAGS := $(classes-zune-nlisttree-demo_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlisttree-demo_LDFLAGS := $(classes-zune-nlisttree-demo_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +classes-zune-nlisttree-demo_LDFLAGS += -L +endif + +#MM +classes-zune-nlisttree-demo-quick : classes-zune-nlisttree-demo + +#MM classes-zune-nlisttree-demo : includes-generate-deps core-linklibs +classes-zune-nlisttree-demo : $(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) + +ifneq ($(filter $(TARGET),classes-zune-nlisttree-demo classes-zune-nlisttree-demo-quick classes-zune-nlisttree-demo-gz-quick),) + +classes-zune-nlisttree-demo_CXXABSBASENAMES := $(foreach classes-zune-nlisttree-demo_CXXBASE,$(classes-zune-nlisttree-demo_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlisttree-demo_CXXBASE)),$(classes-zune-nlisttree-demo_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlisttree-demo_CXXBASE)))) + +ifneq ($(classes-zune-nlisttree-demo_CXXABSBASENAMES),) + +classes-zune-nlisttree-demo_CXXBASENAMES := $(basename $(classes-zune-nlisttree-demo_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlisttree-demo_MCXX_FILES := $(strip $(foreach classes-zune-nlisttree-demo_CXXBASE,$(classes-zune-nlisttree-demo_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlisttree-demo_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlisttree-demo_EXT),$(classes-zune-nlisttree-demo_CXXBASE))))))) + +ifeq (,) +classes-zune-nlisttree-demo_MCXX_SRCWILDCARD := % +else +classes-zune-nlisttree-demo_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlisttree-demo_OBJDIR),) + classes-zune-nlisttree-demo_CXXTARGETS := $(notdir $(classes-zune-nlisttree-demo_CXXBASENAMES:=.o)) + classes-zune-nlisttree-demo_CXXDTARGETS := $(notdir $(classes-zune-nlisttree-demo_CXXBASENAMES:=.d)) + classes-zune-nlisttree-demo_MCXX_WILDCARD := % +else + classes-zune-nlisttree-demo_CXXTARGETS := $(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(notdir $(classes-zune-nlisttree-demo_CXXBASENAMES:=.o))) + classes-zune-nlisttree-demo_CXXDTARGETS := $(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(notdir $(classes-zune-nlisttree-demo_CXXBASENAMES:=.d))) + classes-zune-nlisttree-demo_MCXX_WILDCARD := $(classes-zune-nlisttree-demo_OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlisttree-demo_CXXTARGETS) $(classes-zune-nlisttree-demo_CXXDTARGETS) : | $(classes-zune-nlisttree-demo_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlisttree-demo_MCXX_CPPFLAGS := $(classes-zune-nlisttree-demo_CPPFLAGS) +classes-zune-nlisttree-demo_CXXFLAGS := $(classes-zune-nlisttree-demo_CXXFLAGS) +ifeq ($(classes-zune-nlisttree-demo_DXXFLAGS),) + classes-zune-nlisttree-demo_DXXFLAGS := $(classes-zune-nlisttree-demo_CXXFLAGS) +else + classes-zune-nlisttree-demo_DXXFLAGS := $(classes-zune-nlisttree-demo_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlisttree-demo_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlisttree-demo_STRIP ?= $(HOST_STRIP) + classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlisttree-demo_CXXCMD:=$(HOST_CXX) + classes-zune-nlisttree-demo_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlisttree-demo_MCXX_CPPFLAGS) $(classes-zune-nlisttree-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-demo_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlisttree-demo_CXXFLAGS)) + classes-zune-nlisttree-demo_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlisttree-demo_DXXFLAGS)) + classes-zune-nlisttree-demo_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlisttree-demo_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlisttree-demo_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlisttree-demo_STRIP ?= $(TARGET_STRIP) + classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlisttree-demo_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlisttree-demo_MCXX_CPPFLAGS := $(strip $(classes-zune-nlisttree-demo_MCXX_CPPFLAGS) $(classes-zune-nlisttree-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-demo_CXXFLAGS := $(strip $(classes-zune-nlisttree-demo_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlisttree-demo_DXXFLAGS := $(classes-zune-nlisttree-demo_DXXFLAGS) + classes-zune-nlisttree-demo_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlisttree-demo_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlisttree-demo_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlisttree-demo_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlisttree-demo_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlisttree-demo_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlisttree-demo_MCXX_CPPFLAGS) $(classes-zune-nlisttree-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-demo_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlisttree-demo_CXXFLAGS)) + classes-zune-nlisttree-demo_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlisttree-demo_DXXFLAGS)) + classes-zune-nlisttree-demo_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlisttree-demo_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlisttree-demo_CXXCMD) $(classes-zune-nlisttree-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_CXXIQUOTE) . $(classes-zune-nlisttree-demo_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-demo_CXXFLAGS) $(classes-zune-nlisttree-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlisttree-demo_CXXCMD) $(classes-zune-nlisttree-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_CXXIQUOTE) . $(classes-zune-nlisttree-demo_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-demo_CXXFLAGS) $(classes-zune-nlisttree-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlisttree-demo_CXXCMD) $(classes-zune-nlisttree-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_CXXIQUOTE) . $(classes-zune-nlisttree-demo_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-demo_CXXFLAGS) $(classes-zune-nlisttree-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlisttree-demo_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-demo_DXXFLAGS) $(classes-zune-nlisttree-demo_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(classes-zune-nlisttree-demo_OBJDIR),) + $(foreach classes-zune-nlisttree-demo_CXXFILE,$(classes-zune-nlisttree-demo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlisttree-demo_CXXFILE))),$(classes-zune-nlisttree-demo_CXXFILE)))) +else + $(foreach classes-zune-nlisttree-demo_CXXFILE,$(classes-zune-nlisttree-demo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(notdir $(basename $(classes-zune-nlisttree-demo_CXXFILE)))),$(classes-zune-nlisttree-demo_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlisttree-demo_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlisttree-demo_MOBJC_SRCWILDCARD := % +else +classes-zune-nlisttree-demo_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlisttree-demo_OBJDIR),) + classes-zune-nlisttree-demo_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlisttree-demo_OBJC_NARCHFILES)) + classes-zune-nlisttree-demo_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlisttree-demo_OBJC_NARCHFILES)) + classes-zune-nlisttree-demo_MOBJC_WILDCARD := % +else + classes-zune-nlisttree-demo_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(classes-zune-nlisttree-demo_OBJC_NARCHFILES))) + classes-zune-nlisttree-demo_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(classes-zune-nlisttree-demo_OBJC_NARCHFILES))) + classes-zune-nlisttree-demo_MOBJC_WILDCARD := $(classes-zune-nlisttree-demo_OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlisttree-demo_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlisttree-demo_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlisttree-demo_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlisttree-demo_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlisttree-demo_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlisttree-demo_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlisttree-demo_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlisttree-demo_MOBJC_DIRS),) + classes-zune-nlisttree-demo_MOBJC_DIRS := $(shell echo $(classes-zune-nlisttree-demo_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlisttree-demo_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlisttree-demo_CC := $(TARGET_CC) +else + classes-zune-nlisttree-demo_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlisttree-demo_MOBJC_CPPFLAGS := $(classes-zune-nlisttree-demo_CPPFLAGS) +classes-zune-nlisttree-demo_OBJCFLAGS := $(classes-zune-nlisttree-demo_CFLAGS) +classes-zune-nlisttree-demo_OBJCFLAGS := $(classes-zune-nlisttree-demo_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlisttree-demo_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlisttree-demo_OBJCFLAGS))) +ifeq ($(classes-zune-nlisttree-demo_DFLAGS),) + classes-zune-nlisttree-demo_OBJCDFLAGS := $(classes-zune-nlisttree-demo_CFLAGS) +else + classes-zune-nlisttree-demo_OBJCDFLAGS := $(classes-zune-nlisttree-demo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlisttree-demo_LINK ?= $(strip $(classes-zune-nlisttree-demo_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlisttree-demo_STRIP ?= $(TARGET_STRIP) + classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlisttree-demo_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlisttree-demo_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_OBJCFLAGS:=$(strip $(classes-zune-nlisttree-demo_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_OBJCDFLAGS:=$(classes-zune-nlisttree-demo_OBJCDFLAGS) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlisttree-demo_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlisttree-demo_STRIP ?= $(HOST_STRIP) + classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-demo_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-demo_OBJCFLAGS)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-demo_OBJCDFLAGS)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlisttree-demo_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlisttree-demo_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-demo_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-demo_OBJCFLAGS)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-demo_OBJCDFLAGS)) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlisttree-demo_MOBJC_TARGETS) $(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlisttree-demo_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlisttree-demo_MOBJC_CPPFLAGS) +$(classes-zune-nlisttree-demo_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlisttree-demo_OBJCFLAGS) +$(classes-zune-nlisttree-demo_MOBJC_TARGETS) : $(classes-zune-nlisttree-demo_MOBJC_WILDCARD).o : $(classes-zune-nlisttree-demo_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlisttree-demo_IQUOTE) $(dir $<) $(classes-zune-nlisttree-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_IQUOTE) . $(classes-zune-nlisttree-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlisttree-demo_IQUOTE) $(dir $<) $(classes-zune-nlisttree-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_IQUOTE) . $(classes-zune-nlisttree-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlisttree-demo_IQUOTE) $(dir $<) $(classes-zune-nlisttree-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_IQUOTE) . $(classes-zune-nlisttree-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlisttree-demo_MOBJC_DTARGETS) : $(classes-zune-nlisttree-demo_MOBJC_WILDCARD).d : $(classes-zune-nlisttree-demo_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-demo_OBJCDFLAGS) $(classes-zune-nlisttree-demo_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlisttree-demo_MC_SRCWILDCARD := % +else +classes-zune-nlisttree-demo_MC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlisttree-demo_OBJDIR),) +classes-zune-nlisttree-demo_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlisttree-demo_C_NARCHFILES)) +classes-zune-nlisttree-demo_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlisttree-demo_C_NARCHFILES)) +classes-zune-nlisttree-demo_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlisttree-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(notdir $(classes-zune-nlisttree-demo_C_NARCHFILES)))) + classes-zune-nlisttree-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(notdir $(classes-zune-nlisttree-demo_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlisttree-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(classes-zune-nlisttree-demo_C_NARCHFILES))) + classes-zune-nlisttree-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(classes-zune-nlisttree-demo_C_NARCHFILES))) +else + classes-zune-nlisttree-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlisttree-demo_C_NARCHFILES)))) + classes-zune-nlisttree-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlisttree-demo_C_NARCHFILES)))) +endif +endif +classes-zune-nlisttree-demo_MC_TGTWILDCARD := $(classes-zune-nlisttree-demo_OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlisttree-demo_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlisttree-demo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlisttree-demo_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlisttree-demo_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlisttree-demo_MC_DIRS := $(foreach dir, $(classes-zune-nlisttree-demo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlisttree-demo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlisttree-demo_MC_DIRS),) + classes-zune-nlisttree-demo_MC_DIRS := $(shell echo $(classes-zune-nlisttree-demo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlisttree-demo_MC_DIRS) +endif + +endif + +classes-zune-nlisttree-demo_MC_CPPFLAGS := $(classes-zune-nlisttree-demo_CPPFLAGS) +classes-zune-nlisttree-demo_CFLAGS := $(classes-zune-nlisttree-demo_CFLAGS) +ifeq ($(classes-zune-nlisttree-demo_DFLAGS),) + classes-zune-nlisttree-demo_DFLAGS := $(classes-zune-nlisttree-demo_CFLAGS) +else + classes-zune-nlisttree-demo_DFLAGS := $(classes-zune-nlisttree-demo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlisttree-demo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlisttree-demo_STRIP ?= $(TARGET_STRIP) +classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_MC_CPPFLAGS:=$(strip $(classes-zune-nlisttree-demo_MC_CPPFLAGS) $(classes-zune-nlisttree-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_CFLAGS:=$(strip $(classes-zune-nlisttree-demo_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_DFLAGS:=$(classes-zune-nlisttree-demo_DFLAGS) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlisttree-demo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlisttree-demo_STRIP ?= $(HOST_STRIP) +classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlisttree-demo_MC_CPPFLAGS) $(classes-zune-nlisttree-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-demo_CFLAGS)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-demo_DFLAGS)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlisttree-demo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlisttree-demo_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlisttree-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlisttree-demo_MC_CPPFLAGS) $(classes-zune-nlisttree-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-demo_CFLAGS)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-demo_DFLAGS)) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlisttree-demo_MC_TARGETS) $(classes-zune-nlisttree-demo_MC_DTARGETS) : classes-zune-nlisttree-demo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlisttree-demo_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlisttree-demo_MC_CPPFLAGS) +$(classes-zune-nlisttree-demo_MC_TARGETS) : CFLAGS := $(classes-zune-nlisttree-demo_CFLAGS) +$(classes-zune-nlisttree-demo_MC_TARGETS) : $(classes-zune-nlisttree-demo_MC_TGTWILDCARD).o : $(classes-zune-nlisttree-demo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlisttree-demo_IQUOTE) $(dir $<) $(classes-zune-nlisttree-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_IQUOTE) . $(classes-zune-nlisttree-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlisttree-demo_IQUOTE) $(dir $<) $(classes-zune-nlisttree-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_IQUOTE) . $(classes-zune-nlisttree-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlisttree-demo_IQUOTE) $(dir $<) $(classes-zune-nlisttree-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-demo_IQUOTE) . $(classes-zune-nlisttree-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlisttree-demo_MC_DTARGETS) : $(classes-zune-nlisttree-demo_MC_TGTWILDCARD).d : $(classes-zune-nlisttree-demo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-demo_DFLAGS) $(classes-zune-nlisttree-demo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(classes-zune-nlisttree-demo_OBJDIR),) +classes-zune-nlisttree-demo-MA_TARGETS := $(addsuffix .o,$(classes-zune-nlisttree-demo_ASMFILES)) +classes-zune-nlisttree-demo-MA_WILDCARD := % +else +classes-zune-nlisttree-demo-MA_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlisttree-demo_OBJDIR)/,$(notdir $(classes-zune-nlisttree-demo_ASMFILES)))) +classes-zune-nlisttree-demo-MA_WILDCARD := $(classes-zune-nlisttree-demo_OBJDIR)/% + +# Be sure that all .s files are generated +$(classes-zune-nlisttree-demo-MA_TARGETS) : | $(addsuffix .s,$(classes-zune-nlisttree-demo_ASMFILES)) + +# Be sure that all .c files are found +classes-zune-nlisttree-demo-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlisttree-demo-MA_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlisttree-demo_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlisttree-demo-MA_DIRS := $(foreach dir, $(classes-zune-nlisttree-demo-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlisttree-demo-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlisttree-demo-MA_DIRS),) + classes-zune-nlisttree-demo-MA_DIRS := $(shell echo $(classes-zune-nlisttree-demo-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(classes-zune-nlisttree-demo-MA_DIRS) +endif + +endif + +classes-zune-nlisttree-demo-MA_ASSEMBLER ?= $(classes-zune-nlisttree-demo_ASSEMBLER) + +$(classes-zune-nlisttree-demo-MA_TARGETS) : classes-zune-nlisttree-demo-MA_CMD:= $(classes-zune-nlisttree-demo-MA_ASSEMBLER) + +$(classes-zune-nlisttree-demo-MA_TARGETS) : CPPFLAGS := $(classes-zune-nlisttree-demo_CPPFLAGS) +$(classes-zune-nlisttree-demo-MA_TARGETS) : AFLAGS := $(classes-zune-nlisttree-demo_AFLAGS) +$(classes-zune-nlisttree-demo-MA_TARGETS) : $(classes-zune-nlisttree-demo-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(classes-zune-nlisttree-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(classes-zune-nlisttree-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(classes-zune-nlisttree-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +classes-zune-nlisttree-demo-link_EXTRA_LDFLAGS := +classes-zune-nlisttree-demo-link_EXTRA_LIBS := +ifeq (no,yes) + classes-zune-nlisttree-demo-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + classes-zune-nlisttree-demo-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + classes-zune-nlisttree-demo-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +classes-zune-nlisttree-demo-link_DIRS := $(subst -L ,-L,$(strip $(classes-zune-nlisttree-demo_LDFLAGS))) +# Filter out only the libdirs and remove -L +classes-zune-nlisttree-demo-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(classes-zune-nlisttree-demo-link_DIRS))) +# Add trailing / +classes-zune-nlisttree-demo-link_DIRS := $(subst //,/,$(addsuffix /,$(classes-zune-nlisttree-demo-link_DIRS))) +# Add normal linklib path +classes-zune-nlisttree-demo-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +classes-zune-nlisttree-demo-link_LIBS := $(addprefix lib,$(addsuffix .a,$(classes-zune-nlisttree-demo_LIBS) $(classes-zune-nlisttree-demo-link_EXTRA_LIBS))) +ifeq (yes,yes) + classes-zune-nlisttree-demo-link_LIBS += startup.o +endif +ifeq (no,yes) + classes-zune-nlisttree-demo-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +classes-zune-nlisttree-demo-link_DEPLIBS := $(foreach lib,$(classes-zune-nlisttree-demo-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(classes-zune-nlisttree-demo-link_DIRS)))) \ +) + +$(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) : OBJDIR := $(classes-zune-nlisttree-demo_OBJDIR) +$(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) : OBJS := $(classes-zune-nlisttree-demo_OBJS) $(classes-zune-nlisttree-demo_ARCHOBJS) $(USER_OBJS) +$(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) : LDFLAGS := $(strip $(classes-zune-nlisttree-demo_LDFLAGS) $(classes-zune-nlisttree-demo-link_EXTRA_LDFLAGS)) +$(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) : LIBS := $(addprefix -l,$(classes-zune-nlisttree-demo_LIBS) $(classes-zune-nlisttree-demo-link_EXTRA_LIBS) ) +$(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) : $(classes-zune-nlisttree-demo_OBJS) $(classes-zune-nlisttree-demo_ARCHOBJS) $(USER_OBJS) $(classes-zune-nlisttree-demo-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(classes-zune-nlisttree-demo_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(classes-zune-nlisttree-demo_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(classes-zune-nlisttree-demo_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nlisttree-demo_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(classes-zune-nlisttree-demo_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(classes-zune-nlisttree-demo_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nlisttree-demo_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(classes-zune-nlisttree-demo_DEPS),) + ifneq (classes-zune-nlisttree-demo classes-zune-nlisttree-demo-quick,) + ifneq ($(findstring $(TARGET),classes-zune-nlisttree-demo classes-zune-nlisttree-demo-quick),) + -include $(classes-zune-nlisttree-demo_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlisttree-demo_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlisttree-demo_OBJS) $(classes-zune-nlisttree-demo_DEPS) $(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME),) +$(classes-zune-nlisttree-demo_OBJS) $(classes-zune-nlisttree-demo_DEPS) $(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) : | $(classes-zune-nlisttree-demo_OBJDIR) $(classes-zune-nlisttree-demo_TARGETDIR) +else +$(classes-zune-nlisttree-demo_OBJS) $(classes-zune-nlisttree-demo_DEPS) $(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) :: $(classes-zune-nlisttree-demo_OBJDIR) $(classes-zune-nlisttree-demo_TARGETDIR) +endif + +GLOB_MKDIRS += $(classes-zune-nlisttree-demo_OBJDIR) $(classes-zune-nlisttree-demo_TARGETDIR) + + +classes-zune-nlisttree-demo-clean : FILES := $(classes-zune-nlisttree-demo_OBJS) $(classes-zune-nlisttree-demo_TARGETDIR)/$(classes-zune-nlisttree-demo_PROGNAME) $(classes-zune-nlisttree-demo_DEPS) +#MM +classes-zune-nlisttree-demo-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget classes-zune-nlisttree-demo" + $(Q)$(RM) $(FILES) + + + +.PHONY : classes-zune-nbitmap-demo + +classes-zune-nbitmap-demo_PROGNAME := NBitmap-Demo +classes-zune-nbitmap-demo_OBJDIR := $(GENDIR)/$(CURDIR) +classes-zune-nbitmap-demo_TARGETDIR := $(EXEDIR) +classes-zune-nbitmap-demo_LINKER := +classes-zune-nbitmap-demo_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(classes-zune-nbitmap-demo_LINKER),) + classes-zune-nbitmap-demo_LINKER := target +endif + +ifneq ("$(strip NBitmap-Demo )","") + classes-zune-nbitmap-demo_FILES := NBitmap-Demo + classes-zune-nbitmap-demo_OBJCFILES := + classes-zune-nbitmap-demo_ASMFILES := + classes-zune-nbitmap-demo_CXXFILES := +else + classes-zune-nbitmap-demo_FILES := $(classes-zune-nbitmap-demo_PROGNAME) + classes-zune-nbitmap-demo_OBJCFILES := + classes-zune-nbitmap-demo_ASMFILES := + classes-zune-nbitmap-demo_CXXFILES := +endif + +classes-zune-nbitmap-demo_ARCHOBJS := $(wildcard $(classes-zune-nbitmap-demo_OBJDIR)/arch/*.o) +classes-zune-nbitmap-demo_ARCHFILES := $(basename $(notdir $(classes-zune-nbitmap-demo_ARCHOBJS))) +classes-zune-nbitmap-demo_C_NARCHFILES := $(filter-out $(classes-zune-nbitmap-demo_ARCHFILES),$(classes-zune-nbitmap-demo_FILES)) +classes-zune-nbitmap-demo_CXX_NARCHFILES := $(filter-out $(classes-zune-nbitmap-demo_ARCHFILES),$(classes-zune-nbitmap-demo_CXXFILES)) +classes-zune-nbitmap-demo_OBJC_NARCHFILES := $(filter-out $(classes-zune-nbitmap-demo_ARCHFILES),$(classes-zune-nbitmap-demo_OBJCFILES)) + +TMP_FILES := $(classes-zune-nbitmap-demo_C_NARCHFILES) $(classes-zune-nbitmap-demo_CXX_NARCHFILES) $(classes-zune-nbitmap-demo_ASMFILES) $(classes-zune-nbitmap-demo_OBJC_NARCHFILES) +classes-zune-nbitmap-demo_OBJS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(notdir $(TMP_FILES)))) +classes-zune-nbitmap-demo_DEPS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(notdir $(TMP_FILES)))) + +classes-zune-nbitmap-demo_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +classes-zune-nbitmap-demo_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbitmap-demo_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +classes-zune-nbitmap-demo_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbitmap-demo_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +classes-zune-nbitmap-demo_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbitmap-demo_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +classes-zune-nbitmap-demo_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbitmap-demo_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +classes-zune-nbitmap-demo_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbitmap-demo_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +classes-zune-nbitmap-demo_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbitmap-demo_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +classes-zune-nbitmap-demo_LDFLAGS := +endif + +classes-zune-nbitmap-demo_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +classes-zune-nbitmap-demo_COVERAGE := yes +classes-zune-nbitmap-demo_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +classes-zune-nbitmap-demo_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +classes-zune-nbitmap-demo_CFLAGS := $(strip $(classes-zune-nbitmap-demo_COVERAGEFLAGS) $(classes-zune-nbitmap-demo_CFLAGS)) +classes-zune-nbitmap-demo_CXXFLAGS := $(strip $(classes-zune-nbitmap-demo_COVERAGEFLAGS) $(classes-zune-nbitmap-demo_CXXFLAGS)) +classes-zune-nbitmap-demo_LIBS += $(classes-zune-nbitmap-demo_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nbitmap-demo_FUNCINSTR := yes +classes-zune-nbitmap-demo_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +classes-zune-nbitmap-demo_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +classes-zune-nbitmap-demo_CFLAGS := $(strip $(classes-zune-nbitmap-demo_INSTRFUNCFLAGS) $(classes-zune-nbitmap-demo_CFLAGS)) +classes-zune-nbitmap-demo_CXXFLAGS := $(strip $(classes-zune-nbitmap-demo_INSTRFUNCFLAGS) $(classes-zune-nbitmap-demo_CXXFLAGS)) +classes-zune-nbitmap-demo_LIBS += $(classes-zune-nbitmap-demo_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +classes-zune-nbitmap-demo_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nbitmap-demo_CFLAGS)) +classes-zune-nbitmap-demo_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nbitmap-demo_CXXFLAGS)) +endif +endif +classes-zune-nbitmap-demo_AFLAGS := $(AFLAGS) +ifneq (,) + classes-zune-nbitmap-demo_DFLAGS := +else + classes-zune-nbitmap-demo_DFLAGS := $(classes-zune-nbitmap-demo_CFLAGS) +endif +ifneq (,) + classes-zune-nbitmap-demo_DXXFLAGS := +else + classes-zune-nbitmap-demo_DXXFLAGS := $(classes-zune-nbitmap-demo_CXXFLAGS) +endif +ifeq (target,target) +classes-zune-nbitmap-demo_LDFLAGS := $(classes-zune-nbitmap-demo_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +classes-zune-nbitmap-demo_LDFLAGS := $(classes-zune-nbitmap-demo_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbitmap-demo_LDFLAGS := $(classes-zune-nbitmap-demo_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +classes-zune-nbitmap-demo_LDFLAGS += -L +endif + +#MM +classes-zune-nbitmap-demo-quick : classes-zune-nbitmap-demo + +#MM classes-zune-nbitmap-demo : includes-generate-deps core-linklibs +classes-zune-nbitmap-demo : $(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) + +ifneq ($(filter $(TARGET),classes-zune-nbitmap-demo classes-zune-nbitmap-demo-quick classes-zune-nbitmap-demo-gz-quick),) + +classes-zune-nbitmap-demo_CXXABSBASENAMES := $(foreach classes-zune-nbitmap-demo_CXXBASE,$(classes-zune-nbitmap-demo_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nbitmap-demo_CXXBASE)),$(classes-zune-nbitmap-demo_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nbitmap-demo_CXXBASE)))) + +ifneq ($(classes-zune-nbitmap-demo_CXXABSBASENAMES),) + +classes-zune-nbitmap-demo_CXXBASENAMES := $(basename $(classes-zune-nbitmap-demo_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nbitmap-demo_MCXX_FILES := $(strip $(foreach classes-zune-nbitmap-demo_CXXBASE,$(classes-zune-nbitmap-demo_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nbitmap-demo_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nbitmap-demo_EXT),$(classes-zune-nbitmap-demo_CXXBASE))))))) + +ifeq (,) +classes-zune-nbitmap-demo_MCXX_SRCWILDCARD := % +else +classes-zune-nbitmap-demo_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbitmap-demo_OBJDIR),) + classes-zune-nbitmap-demo_CXXTARGETS := $(notdir $(classes-zune-nbitmap-demo_CXXBASENAMES:=.o)) + classes-zune-nbitmap-demo_CXXDTARGETS := $(notdir $(classes-zune-nbitmap-demo_CXXBASENAMES:=.d)) + classes-zune-nbitmap-demo_MCXX_WILDCARD := % +else + classes-zune-nbitmap-demo_CXXTARGETS := $(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(notdir $(classes-zune-nbitmap-demo_CXXBASENAMES:=.o))) + classes-zune-nbitmap-demo_CXXDTARGETS := $(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(notdir $(classes-zune-nbitmap-demo_CXXBASENAMES:=.d))) + classes-zune-nbitmap-demo_MCXX_WILDCARD := $(classes-zune-nbitmap-demo_OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nbitmap-demo_CXXTARGETS) $(classes-zune-nbitmap-demo_CXXDTARGETS) : | $(classes-zune-nbitmap-demo_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nbitmap-demo_MCXX_CPPFLAGS := $(classes-zune-nbitmap-demo_CPPFLAGS) +classes-zune-nbitmap-demo_CXXFLAGS := $(classes-zune-nbitmap-demo_CXXFLAGS) +ifeq ($(classes-zune-nbitmap-demo_DXXFLAGS),) + classes-zune-nbitmap-demo_DXXFLAGS := $(classes-zune-nbitmap-demo_CXXFLAGS) +else + classes-zune-nbitmap-demo_DXXFLAGS := $(classes-zune-nbitmap-demo_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nbitmap-demo_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nbitmap-demo_STRIP ?= $(HOST_STRIP) + classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nbitmap-demo_CXXCMD:=$(HOST_CXX) + classes-zune-nbitmap-demo_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nbitmap-demo_MCXX_CPPFLAGS) $(classes-zune-nbitmap-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-demo_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbitmap-demo_CXXFLAGS)) + classes-zune-nbitmap-demo_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbitmap-demo_DXXFLAGS)) + classes-zune-nbitmap-demo_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nbitmap-demo_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nbitmap-demo_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbitmap-demo_STRIP ?= $(TARGET_STRIP) + classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nbitmap-demo_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nbitmap-demo_MCXX_CPPFLAGS := $(strip $(classes-zune-nbitmap-demo_MCXX_CPPFLAGS) $(classes-zune-nbitmap-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-demo_CXXFLAGS := $(strip $(classes-zune-nbitmap-demo_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nbitmap-demo_DXXFLAGS := $(classes-zune-nbitmap-demo_DXXFLAGS) + classes-zune-nbitmap-demo_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nbitmap-demo_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nbitmap-demo_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbitmap-demo_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nbitmap-demo_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nbitmap-demo_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nbitmap-demo_MCXX_CPPFLAGS) $(classes-zune-nbitmap-demo_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-demo_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbitmap-demo_CXXFLAGS)) + classes-zune-nbitmap-demo_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbitmap-demo_DXXFLAGS)) + classes-zune-nbitmap-demo_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nbitmap-demo_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nbitmap-demo_CXXCMD) $(classes-zune-nbitmap-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_CXXIQUOTE) . $(classes-zune-nbitmap-demo_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-demo_CXXFLAGS) $(classes-zune-nbitmap-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nbitmap-demo_CXXCMD) $(classes-zune-nbitmap-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_CXXIQUOTE) . $(classes-zune-nbitmap-demo_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-demo_CXXFLAGS) $(classes-zune-nbitmap-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nbitmap-demo_CXXCMD) $(classes-zune-nbitmap-demo_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-demo_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_CXXIQUOTE) . $(classes-zune-nbitmap-demo_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-demo_CXXFLAGS) $(classes-zune-nbitmap-demo_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nbitmap-demo_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-demo_DXXFLAGS) $(classes-zune-nbitmap-demo_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(classes-zune-nbitmap-demo_OBJDIR),) + $(foreach classes-zune-nbitmap-demo_CXXFILE,$(classes-zune-nbitmap-demo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nbitmap-demo_CXXFILE))),$(classes-zune-nbitmap-demo_CXXFILE)))) +else + $(foreach classes-zune-nbitmap-demo_CXXFILE,$(classes-zune-nbitmap-demo_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(notdir $(basename $(classes-zune-nbitmap-demo_CXXFILE)))),$(classes-zune-nbitmap-demo_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nbitmap-demo_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nbitmap-demo_MOBJC_SRCWILDCARD := % +else +classes-zune-nbitmap-demo_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbitmap-demo_OBJDIR),) + classes-zune-nbitmap-demo_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nbitmap-demo_OBJC_NARCHFILES)) + classes-zune-nbitmap-demo_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nbitmap-demo_OBJC_NARCHFILES)) + classes-zune-nbitmap-demo_MOBJC_WILDCARD := % +else + classes-zune-nbitmap-demo_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(classes-zune-nbitmap-demo_OBJC_NARCHFILES))) + classes-zune-nbitmap-demo_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(classes-zune-nbitmap-demo_OBJC_NARCHFILES))) + classes-zune-nbitmap-demo_MOBJC_WILDCARD := $(classes-zune-nbitmap-demo_OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nbitmap-demo_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nbitmap-demo_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nbitmap-demo_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbitmap-demo_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nbitmap-demo_MOBJC_DIRS := $(foreach dir, $(classes-zune-nbitmap-demo_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbitmap-demo_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nbitmap-demo_MOBJC_DIRS),) + classes-zune-nbitmap-demo_MOBJC_DIRS := $(shell echo $(classes-zune-nbitmap-demo_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nbitmap-demo_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nbitmap-demo_CC := $(TARGET_CC) +else + classes-zune-nbitmap-demo_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nbitmap-demo_MOBJC_CPPFLAGS := $(classes-zune-nbitmap-demo_CPPFLAGS) +classes-zune-nbitmap-demo_OBJCFLAGS := $(classes-zune-nbitmap-demo_CFLAGS) +classes-zune-nbitmap-demo_OBJCFLAGS := $(classes-zune-nbitmap-demo_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nbitmap-demo_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nbitmap-demo_OBJCFLAGS))) +ifeq ($(classes-zune-nbitmap-demo_DFLAGS),) + classes-zune-nbitmap-demo_OBJCDFLAGS := $(classes-zune-nbitmap-demo_CFLAGS) +else + classes-zune-nbitmap-demo_OBJCDFLAGS := $(classes-zune-nbitmap-demo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nbitmap-demo_LINK ?= $(strip $(classes-zune-nbitmap-demo_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbitmap-demo_STRIP ?= $(TARGET_STRIP) + classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nbitmap-demo_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nbitmap-demo_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_OBJCFLAGS:=$(strip $(classes-zune-nbitmap-demo_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_OBJCDFLAGS:=$(classes-zune-nbitmap-demo_OBJCDFLAGS) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nbitmap-demo_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nbitmap-demo_STRIP ?= $(HOST_STRIP) + classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-demo_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-demo_OBJCFLAGS)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-demo_OBJCDFLAGS)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nbitmap-demo_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbitmap-demo_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-demo_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-demo_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-demo_OBJCFLAGS)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-demo_OBJCDFLAGS)) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nbitmap-demo_MOBJC_TARGETS) $(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbitmap-demo_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nbitmap-demo_MOBJC_CPPFLAGS) +$(classes-zune-nbitmap-demo_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nbitmap-demo_OBJCFLAGS) +$(classes-zune-nbitmap-demo_MOBJC_TARGETS) : $(classes-zune-nbitmap-demo_MOBJC_WILDCARD).o : $(classes-zune-nbitmap-demo_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbitmap-demo_IQUOTE) $(dir $<) $(classes-zune-nbitmap-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_IQUOTE) . $(classes-zune-nbitmap-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbitmap-demo_IQUOTE) $(dir $<) $(classes-zune-nbitmap-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_IQUOTE) . $(classes-zune-nbitmap-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbitmap-demo_IQUOTE) $(dir $<) $(classes-zune-nbitmap-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_IQUOTE) . $(classes-zune-nbitmap-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbitmap-demo_MOBJC_DTARGETS) : $(classes-zune-nbitmap-demo_MOBJC_WILDCARD).d : $(classes-zune-nbitmap-demo_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-demo_OBJCDFLAGS) $(classes-zune-nbitmap-demo_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nbitmap-demo_MC_SRCWILDCARD := % +else +classes-zune-nbitmap-demo_MC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbitmap-demo_OBJDIR),) +classes-zune-nbitmap-demo_MC_TARGETS := $(addsuffix .o,$(classes-zune-nbitmap-demo_C_NARCHFILES)) +classes-zune-nbitmap-demo_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nbitmap-demo_C_NARCHFILES)) +classes-zune-nbitmap-demo_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nbitmap-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(notdir $(classes-zune-nbitmap-demo_C_NARCHFILES)))) + classes-zune-nbitmap-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(notdir $(classes-zune-nbitmap-demo_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nbitmap-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(classes-zune-nbitmap-demo_C_NARCHFILES))) + classes-zune-nbitmap-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(classes-zune-nbitmap-demo_C_NARCHFILES))) +else + classes-zune-nbitmap-demo_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbitmap-demo_C_NARCHFILES)))) + classes-zune-nbitmap-demo_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbitmap-demo_C_NARCHFILES)))) +endif +endif +classes-zune-nbitmap-demo_MC_TGTWILDCARD := $(classes-zune-nbitmap-demo_OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nbitmap-demo_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nbitmap-demo_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nbitmap-demo_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbitmap-demo_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nbitmap-demo_MC_DIRS := $(foreach dir, $(classes-zune-nbitmap-demo_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbitmap-demo_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nbitmap-demo_MC_DIRS),) + classes-zune-nbitmap-demo_MC_DIRS := $(shell echo $(classes-zune-nbitmap-demo_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nbitmap-demo_MC_DIRS) +endif + +endif + +classes-zune-nbitmap-demo_MC_CPPFLAGS := $(classes-zune-nbitmap-demo_CPPFLAGS) +classes-zune-nbitmap-demo_CFLAGS := $(classes-zune-nbitmap-demo_CFLAGS) +ifeq ($(classes-zune-nbitmap-demo_DFLAGS),) + classes-zune-nbitmap-demo_DFLAGS := $(classes-zune-nbitmap-demo_CFLAGS) +else + classes-zune-nbitmap-demo_DFLAGS := $(classes-zune-nbitmap-demo_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nbitmap-demo_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nbitmap-demo_STRIP ?= $(TARGET_STRIP) +classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_MC_CPPFLAGS:=$(strip $(classes-zune-nbitmap-demo_MC_CPPFLAGS) $(classes-zune-nbitmap-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_CFLAGS:=$(strip $(classes-zune-nbitmap-demo_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_DFLAGS:=$(classes-zune-nbitmap-demo_DFLAGS) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nbitmap-demo_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nbitmap-demo_STRIP ?= $(HOST_STRIP) +classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nbitmap-demo_MC_CPPFLAGS) $(classes-zune-nbitmap-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-demo_CFLAGS)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-demo_DFLAGS)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nbitmap-demo_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nbitmap-demo_STRIP ?= $(ECHO) >/dev/null +classes-zune-nbitmap-demo_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nbitmap-demo_MC_CPPFLAGS) $(classes-zune-nbitmap-demo_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-demo_CFLAGS)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-demo_DFLAGS)) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nbitmap-demo_MC_TARGETS) $(classes-zune-nbitmap-demo_MC_DTARGETS) : classes-zune-nbitmap-demo_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbitmap-demo_MC_TARGETS) : CPPFLAGS := $(classes-zune-nbitmap-demo_MC_CPPFLAGS) +$(classes-zune-nbitmap-demo_MC_TARGETS) : CFLAGS := $(classes-zune-nbitmap-demo_CFLAGS) +$(classes-zune-nbitmap-demo_MC_TARGETS) : $(classes-zune-nbitmap-demo_MC_TGTWILDCARD).o : $(classes-zune-nbitmap-demo_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbitmap-demo_IQUOTE) $(dir $<) $(classes-zune-nbitmap-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_IQUOTE) . $(classes-zune-nbitmap-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbitmap-demo_IQUOTE) $(dir $<) $(classes-zune-nbitmap-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_IQUOTE) . $(classes-zune-nbitmap-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbitmap-demo_IQUOTE) $(dir $<) $(classes-zune-nbitmap-demo_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-demo_IQUOTE) . $(classes-zune-nbitmap-demo_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbitmap-demo_MC_DTARGETS) : $(classes-zune-nbitmap-demo_MC_TGTWILDCARD).d : $(classes-zune-nbitmap-demo_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-demo_DFLAGS) $(classes-zune-nbitmap-demo_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(classes-zune-nbitmap-demo_OBJDIR),) +classes-zune-nbitmap-demo-MA_TARGETS := $(addsuffix .o,$(classes-zune-nbitmap-demo_ASMFILES)) +classes-zune-nbitmap-demo-MA_WILDCARD := % +else +classes-zune-nbitmap-demo-MA_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-demo_OBJDIR)/,$(notdir $(classes-zune-nbitmap-demo_ASMFILES)))) +classes-zune-nbitmap-demo-MA_WILDCARD := $(classes-zune-nbitmap-demo_OBJDIR)/% + +# Be sure that all .s files are generated +$(classes-zune-nbitmap-demo-MA_TARGETS) : | $(addsuffix .s,$(classes-zune-nbitmap-demo_ASMFILES)) + +# Be sure that all .c files are found +classes-zune-nbitmap-demo-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nbitmap-demo-MA_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbitmap-demo_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nbitmap-demo-MA_DIRS := $(foreach dir, $(classes-zune-nbitmap-demo-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbitmap-demo-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nbitmap-demo-MA_DIRS),) + classes-zune-nbitmap-demo-MA_DIRS := $(shell echo $(classes-zune-nbitmap-demo-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(classes-zune-nbitmap-demo-MA_DIRS) +endif + +endif + +classes-zune-nbitmap-demo-MA_ASSEMBLER ?= $(classes-zune-nbitmap-demo_ASSEMBLER) + +$(classes-zune-nbitmap-demo-MA_TARGETS) : classes-zune-nbitmap-demo-MA_CMD:= $(classes-zune-nbitmap-demo-MA_ASSEMBLER) + +$(classes-zune-nbitmap-demo-MA_TARGETS) : CPPFLAGS := $(classes-zune-nbitmap-demo_CPPFLAGS) +$(classes-zune-nbitmap-demo-MA_TARGETS) : AFLAGS := $(classes-zune-nbitmap-demo_AFLAGS) +$(classes-zune-nbitmap-demo-MA_TARGETS) : $(classes-zune-nbitmap-demo-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(classes-zune-nbitmap-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(classes-zune-nbitmap-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(classes-zune-nbitmap-demo-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +classes-zune-nbitmap-demo-link_EXTRA_LDFLAGS := +classes-zune-nbitmap-demo-link_EXTRA_LIBS := +ifeq (no,yes) + classes-zune-nbitmap-demo-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + classes-zune-nbitmap-demo-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + classes-zune-nbitmap-demo-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +classes-zune-nbitmap-demo-link_DIRS := $(subst -L ,-L,$(strip $(classes-zune-nbitmap-demo_LDFLAGS))) +# Filter out only the libdirs and remove -L +classes-zune-nbitmap-demo-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(classes-zune-nbitmap-demo-link_DIRS))) +# Add trailing / +classes-zune-nbitmap-demo-link_DIRS := $(subst //,/,$(addsuffix /,$(classes-zune-nbitmap-demo-link_DIRS))) +# Add normal linklib path +classes-zune-nbitmap-demo-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +classes-zune-nbitmap-demo-link_LIBS := $(addprefix lib,$(addsuffix .a,$(classes-zune-nbitmap-demo_LIBS) $(classes-zune-nbitmap-demo-link_EXTRA_LIBS))) +ifeq (yes,yes) + classes-zune-nbitmap-demo-link_LIBS += startup.o +endif +ifeq (no,yes) + classes-zune-nbitmap-demo-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +classes-zune-nbitmap-demo-link_DEPLIBS := $(foreach lib,$(classes-zune-nbitmap-demo-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(classes-zune-nbitmap-demo-link_DIRS)))) \ +) + +$(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) : OBJDIR := $(classes-zune-nbitmap-demo_OBJDIR) +$(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) : OBJS := $(classes-zune-nbitmap-demo_OBJS) $(classes-zune-nbitmap-demo_ARCHOBJS) $(USER_OBJS) +$(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) : LDFLAGS := $(strip $(classes-zune-nbitmap-demo_LDFLAGS) $(classes-zune-nbitmap-demo-link_EXTRA_LDFLAGS)) +$(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) : LIBS := $(addprefix -l,$(classes-zune-nbitmap-demo_LIBS) $(classes-zune-nbitmap-demo-link_EXTRA_LIBS) ) +$(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) : $(classes-zune-nbitmap-demo_OBJS) $(classes-zune-nbitmap-demo_ARCHOBJS) $(USER_OBJS) $(classes-zune-nbitmap-demo-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(classes-zune-nbitmap-demo_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(classes-zune-nbitmap-demo_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(classes-zune-nbitmap-demo_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nbitmap-demo_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(classes-zune-nbitmap-demo_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(classes-zune-nbitmap-demo_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nbitmap-demo_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(classes-zune-nbitmap-demo_DEPS),) + ifneq (classes-zune-nbitmap-demo classes-zune-nbitmap-demo-quick,) + ifneq ($(findstring $(TARGET),classes-zune-nbitmap-demo classes-zune-nbitmap-demo-quick),) + -include $(classes-zune-nbitmap-demo_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nbitmap-demo_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nbitmap-demo_OBJS) $(classes-zune-nbitmap-demo_DEPS) $(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME),) +$(classes-zune-nbitmap-demo_OBJS) $(classes-zune-nbitmap-demo_DEPS) $(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) : | $(classes-zune-nbitmap-demo_OBJDIR) $(classes-zune-nbitmap-demo_TARGETDIR) +else +$(classes-zune-nbitmap-demo_OBJS) $(classes-zune-nbitmap-demo_DEPS) $(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) :: $(classes-zune-nbitmap-demo_OBJDIR) $(classes-zune-nbitmap-demo_TARGETDIR) +endif + +GLOB_MKDIRS += $(classes-zune-nbitmap-demo_OBJDIR) $(classes-zune-nbitmap-demo_TARGETDIR) + + +classes-zune-nbitmap-demo-clean : FILES := $(classes-zune-nbitmap-demo_OBJS) $(classes-zune-nbitmap-demo_TARGETDIR)/$(classes-zune-nbitmap-demo_PROGNAME) $(classes-zune-nbitmap-demo_DEPS) +#MM +classes-zune-nbitmap-demo-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget classes-zune-nbitmap-demo" + $(Q)$(RM) $(FILES) + + + +classes-zune-nbitmap-demo-cpy_SRC := $(shell echo ../nbitmap_mcc | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(EXEDIR) +else +setup :: $(EXEDIR) +endif + +GLOB_MKDIRS += $(EXEDIR) + + +.PHONY : classes-zune-nbitmap-demo-cpy + +#MM +classes-zune-nbitmap-demo-cpy : | $(EXEDIR) + $(foreach file, icon.png, $(shell $(CP) $(addprefix $(if $(filter /%,$(classes-zune-nbitmap-demo-cpy_SRC)),$(classes-zune-nbitmap-demo-cpy_SRC),$(SRCDIR)/$(CURDIR)/$(classes-zune-nbitmap-demo-cpy_SRC))/, $(file)) $(addprefix $(EXEDIR)/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/nlist/nbalance_mcc/mmakefile b/workbench/classes/zune/nlist/nbalance_mcc/mmakefile new file mode 100644 index 00000000000..9c348ab7a2d --- /dev/null +++ b/workbench/classes/zune/nlist/nbalance_mcc/mmakefile @@ -0,0 +1,1249 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM classes-zune-nbalance-class : includes linklibs +#MM classes-zune-nbalance-test : includes linklibs + +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/../include +USER_CPPFLAGS := -DNO_INLINE_STDARG -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := Dispatcher \ + NBalance \ + Pointer \ + Debug + + + +# Define metamake targets and their dependencies +#MM classes-zune-nbalance-class : core-linklibs includes-generate-deps +#MM classes-zune-nbalance-class-kobj : core-linklibs includes-generate-deps +#MM classes-zune-nbalance-class-kobj-quick +#MM classes-zune-nbalance-class-quick +#MM classes-zune-nbalance-class-clean + +classes-zune-nbalance-class_ALLTARGETS := classes-zune-nbalance-class classes-zune-nbalance-class-clean classes-zune-nbalance-class-quick classes-zune-nbalance-class-kobj + +.PHONY : $(classes-zune-nbalance-class_ALLTARGETS) + +ifeq (NBalance,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (mcc,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +classes-zune-nbalance-class_DEFLINKLIBNAME := NBalance +classes-zune-nbalance-class_CFLAGS := $(CFLAGS) +classes-zune-nbalance-class_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +classes-zune-nbalance-class_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(classes-zune-nbalance-class_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nbalance-class_FUNCINSTR := yes +classes-zune-nbalance-class_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(classes-zune-nbalance-class_CFLAGS)) +endif +endif +ifneq (,) + classes-zune-nbalance-class_DFLAGS := +else + classes-zune-nbalance-class_DFLAGS := $(classes-zune-nbalance-class_CFLAGS) +endif +classes-zune-nbalance-class_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +classes-zune-nbalance-class_MODDIR := +ifeq ($(classes-zune-nbalance-class_MODDIR),) + ifeq (mcc,library) + classes-zune-nbalance-class_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (mcc,gadget) + classes-zune-nbalance-class_MODDIR := $(AROS_GADGETS) + endif + ifeq (mcc,datatype) + classes-zune-nbalance-class_MODDIR := $(AROS_DATATYPES) + endif + ifeq (mcc,handler) + classes-zune-nbalance-class_MODDIR := $(AROS_FS) + endif + ifeq (mcc,device) + classes-zune-nbalance-class_MODDIR := $(AROS_DEVS) + endif + ifeq (mcc,resource) + classes-zune-nbalance-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,hook) + classes-zune-nbalance-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,mui) + classes-zune-nbalance-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcc) + classes-zune-nbalance-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcp) + classes-zune-nbalance-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,usbclass) + classes-zune-nbalance-class_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (mcc,hidd) + classes-zune-nbalance-class_MODDIR := $(AROS_DRIVERS) + endif + ifeq (mcc,printer) + classes-zune-nbalance-class_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(classes-zune-nbalance-class_MODDIR),) + $(error Don't know where to put the file for modtype mcc. Specify moduledir=) +endif + +classes-zune-nbalance-class_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +classes-zune-nbalance-class_ARCHFILES := $(basename $(notdir $(classes-zune-nbalance-class_ARCHOBJS))) +classes-zune-nbalance-class_C_NARCHFILES := $(filter-out $(classes-zune-nbalance-class_ARCHFILES),library $(FILES)) +classes-zune-nbalance-class_CXX_NARCHFILES := $(filter-out $(classes-zune-nbalance-class_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +classes-zune-nbalance-class_OBJC_NARCHFILES := $(filter-out $(classes-zune-nbalance-class_ARCHFILES),) + + +classes-zune-nbalance-class_CXXABSBASENAMES := $(foreach classes-zune-nbalance-class_CXXBASE,$(classes-zune-nbalance-class_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nbalance-class_CXXBASE)),$(classes-zune-nbalance-class_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nbalance-class_CXXBASE)))) + +ifneq ($(classes-zune-nbalance-class_CXXABSBASENAMES),) + +classes-zune-nbalance-class_CXXBASENAMES := $(basename $(classes-zune-nbalance-class_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nbalance-class_MCXX_FILES := $(strip $(foreach classes-zune-nbalance-class_CXXBASE,$(classes-zune-nbalance-class_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nbalance-class_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nbalance-class_EXT),$(classes-zune-nbalance-class_CXXBASE))))))) + +ifeq (,) +classes-zune-nbalance-class_MCXX_SRCWILDCARD := % +else +classes-zune-nbalance-class_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nbalance-class_CXXTARGETS := $(notdir $(classes-zune-nbalance-class_CXXBASENAMES:=.o)) + classes-zune-nbalance-class_CXXDTARGETS := $(notdir $(classes-zune-nbalance-class_CXXBASENAMES:=.d)) + classes-zune-nbalance-class_MCXX_WILDCARD := % +else + classes-zune-nbalance-class_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nbalance-class_CXXBASENAMES:=.o))) + classes-zune-nbalance-class_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nbalance-class_CXXBASENAMES:=.d))) + classes-zune-nbalance-class_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nbalance-class_CXXTARGETS) $(classes-zune-nbalance-class_CXXDTARGETS) : | $(classes-zune-nbalance-class_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nbalance-class_MCXX_CPPFLAGS := $(CPPFLAGS) +classes-zune-nbalance-class_CXXFLAGS := $(classes-zune-nbalance-class_CXXFLAGS) +ifeq ($(classes-zune-nbalance-class_DXXFLAGS),) + classes-zune-nbalance-class_DXXFLAGS := $(classes-zune-nbalance-class_CXXFLAGS) +else + classes-zune-nbalance-class_DXXFLAGS := $(classes-zune-nbalance-class_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nbalance-class_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nbalance-class_STRIP ?= $(HOST_STRIP) + classes-zune-nbalance-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nbalance-class_CXXCMD:=$(HOST_CXX) + classes-zune-nbalance-class_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nbalance-class_MCXX_CPPFLAGS) $(classes-zune-nbalance-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbalance-class_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbalance-class_CXXFLAGS)) + classes-zune-nbalance-class_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbalance-class_DXXFLAGS)) + classes-zune-nbalance-class_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nbalance-class_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nbalance-class_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbalance-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nbalance-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nbalance-class_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nbalance-class_MCXX_CPPFLAGS := $(strip $(classes-zune-nbalance-class_MCXX_CPPFLAGS) $(classes-zune-nbalance-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbalance-class_CXXFLAGS := $(strip $(classes-zune-nbalance-class_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nbalance-class_DXXFLAGS := $(classes-zune-nbalance-class_DXXFLAGS) + classes-zune-nbalance-class_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nbalance-class_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nbalance-class_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbalance-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbalance-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nbalance-class_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nbalance-class_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nbalance-class_MCXX_CPPFLAGS) $(classes-zune-nbalance-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbalance-class_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbalance-class_CXXFLAGS)) + classes-zune-nbalance-class_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbalance-class_DXXFLAGS)) + classes-zune-nbalance-class_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nbalance-class_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nbalance-class_CXXCMD) $(classes-zune-nbalance-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbalance-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_CXXIQUOTE) . $(classes-zune-nbalance-class_CXXIQUOTE_END) $(strip $(classes-zune-nbalance-class_CXXFLAGS) $(classes-zune-nbalance-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nbalance-class_CXXCMD) $(classes-zune-nbalance-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbalance-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_CXXIQUOTE) . $(classes-zune-nbalance-class_CXXIQUOTE_END) $(strip $(classes-zune-nbalance-class_CXXFLAGS) $(classes-zune-nbalance-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nbalance-class_CXXCMD) $(classes-zune-nbalance-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbalance-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_CXXIQUOTE) . $(classes-zune-nbalance-class_CXXIQUOTE_END) $(strip $(classes-zune-nbalance-class_CXXFLAGS) $(classes-zune-nbalance-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nbalance-class_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nbalance-class_DXXFLAGS) $(classes-zune-nbalance-class_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach classes-zune-nbalance-class_CXXFILE,$(classes-zune-nbalance-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nbalance-class_CXXFILE))),$(classes-zune-nbalance-class_CXXFILE)))) +else + $(foreach classes-zune-nbalance-class_CXXFILE,$(classes-zune-nbalance-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(classes-zune-nbalance-class_CXXFILE)))),$(classes-zune-nbalance-class_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nbalance-class_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nbalance-class_MOBJC_SRCWILDCARD := % +else +classes-zune-nbalance-class_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nbalance-class_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nbalance-class_OBJC_NARCHFILES)) + classes-zune-nbalance-class_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nbalance-class_OBJC_NARCHFILES)) + classes-zune-nbalance-class_MOBJC_WILDCARD := % +else + classes-zune-nbalance-class_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nbalance-class_OBJC_NARCHFILES))) + classes-zune-nbalance-class_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nbalance-class_OBJC_NARCHFILES))) + classes-zune-nbalance-class_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nbalance-class_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nbalance-class_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nbalance-class_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbalance-class_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nbalance-class_MOBJC_DIRS := $(foreach dir, $(classes-zune-nbalance-class_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbalance-class_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nbalance-class_MOBJC_DIRS),) + classes-zune-nbalance-class_MOBJC_DIRS := $(shell echo $(classes-zune-nbalance-class_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nbalance-class_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nbalance-class_CC := $(TARGET_CC) +else + classes-zune-nbalance-class_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nbalance-class_MOBJC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nbalance-class_OBJCFLAGS := $(classes-zune-nbalance-class_CFLAGS) +classes-zune-nbalance-class_OBJCFLAGS := $(classes-zune-nbalance-class_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nbalance-class_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nbalance-class_OBJCFLAGS))) +ifeq ($(classes-zune-nbalance-class_DFLAGS),) + classes-zune-nbalance-class_OBJCDFLAGS := $(classes-zune-nbalance-class_CFLAGS) +else + classes-zune-nbalance-class_OBJCDFLAGS := $(classes-zune-nbalance-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nbalance-class_LINK ?= $(strip $(classes-zune-nbalance-class_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbalance-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nbalance-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nbalance-class_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nbalance-class_MOBJC_CPPFLAGS) $(classes-zune-nbalance-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_OBJCFLAGS:=$(strip $(classes-zune-nbalance-class_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_OBJCDFLAGS:=$(classes-zune-nbalance-class_OBJCDFLAGS) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nbalance-class_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nbalance-class_STRIP ?= $(HOST_STRIP) + classes-zune-nbalance-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nbalance-class_MOBJC_CPPFLAGS) $(classes-zune-nbalance-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbalance-class_OBJCFLAGS)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbalance-class_OBJCDFLAGS)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nbalance-class_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbalance-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbalance-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nbalance-class_MOBJC_CPPFLAGS) $(classes-zune-nbalance-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbalance-class_OBJCFLAGS)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbalance-class_OBJCDFLAGS)) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nbalance-class_MOBJC_TARGETS) $(classes-zune-nbalance-class_MOBJC_DTARGETS) : classes-zune-nbalance-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbalance-class_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nbalance-class_MOBJC_CPPFLAGS) +$(classes-zune-nbalance-class_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nbalance-class_OBJCFLAGS) +$(classes-zune-nbalance-class_MOBJC_TARGETS) : $(classes-zune-nbalance-class_MOBJC_WILDCARD).o : $(classes-zune-nbalance-class_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbalance-class_IQUOTE) $(dir $<) $(classes-zune-nbalance-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_IQUOTE) . $(classes-zune-nbalance-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbalance-class_IQUOTE) $(dir $<) $(classes-zune-nbalance-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_IQUOTE) . $(classes-zune-nbalance-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbalance-class_IQUOTE) $(dir $<) $(classes-zune-nbalance-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_IQUOTE) . $(classes-zune-nbalance-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbalance-class_MOBJC_DTARGETS) : $(classes-zune-nbalance-class_MOBJC_WILDCARD).d : $(classes-zune-nbalance-class_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbalance-class_OBJCDFLAGS) $(classes-zune-nbalance-class_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nbalance-class_MC_SRCWILDCARD := % +else +classes-zune-nbalance-class_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +classes-zune-nbalance-class_MC_TARGETS := $(addsuffix .o,$(classes-zune-nbalance-class_C_NARCHFILES)) +classes-zune-nbalance-class_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nbalance-class_C_NARCHFILES)) +classes-zune-nbalance-class_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nbalance-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nbalance-class_C_NARCHFILES)))) + classes-zune-nbalance-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nbalance-class_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nbalance-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nbalance-class_C_NARCHFILES))) + classes-zune-nbalance-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nbalance-class_C_NARCHFILES))) +else + classes-zune-nbalance-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbalance-class_C_NARCHFILES)))) + classes-zune-nbalance-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbalance-class_C_NARCHFILES)))) +endif +endif +classes-zune-nbalance-class_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nbalance-class_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nbalance-class_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nbalance-class_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbalance-class_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nbalance-class_MC_DIRS := $(foreach dir, $(classes-zune-nbalance-class_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbalance-class_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nbalance-class_MC_DIRS),) + classes-zune-nbalance-class_MC_DIRS := $(shell echo $(classes-zune-nbalance-class_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nbalance-class_MC_DIRS) +endif + +endif + +classes-zune-nbalance-class_MC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nbalance-class_CFLAGS := $(classes-zune-nbalance-class_CFLAGS) +ifeq ($(classes-zune-nbalance-class_DFLAGS),) + classes-zune-nbalance-class_DFLAGS := $(classes-zune-nbalance-class_CFLAGS) +else + classes-zune-nbalance-class_DFLAGS := $(classes-zune-nbalance-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nbalance-class_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nbalance-class_STRIP ?= $(TARGET_STRIP) +classes-zune-nbalance-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_MC_CPPFLAGS:=$(strip $(classes-zune-nbalance-class_MC_CPPFLAGS) $(classes-zune-nbalance-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_CFLAGS:=$(strip $(classes-zune-nbalance-class_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_DFLAGS:=$(classes-zune-nbalance-class_DFLAGS) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nbalance-class_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nbalance-class_STRIP ?= $(HOST_STRIP) +classes-zune-nbalance-class_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nbalance-class_MC_CPPFLAGS) $(classes-zune-nbalance-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbalance-class_CFLAGS)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbalance-class_DFLAGS)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nbalance-class_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nbalance-class_STRIP ?= $(ECHO) >/dev/null +classes-zune-nbalance-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nbalance-class_MC_CPPFLAGS) $(classes-zune-nbalance-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbalance-class_CFLAGS)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbalance-class_DFLAGS)) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nbalance-class_MC_TARGETS) $(classes-zune-nbalance-class_MC_DTARGETS) : classes-zune-nbalance-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbalance-class_MC_TARGETS) : CPPFLAGS := $(classes-zune-nbalance-class_MC_CPPFLAGS) +$(classes-zune-nbalance-class_MC_TARGETS) : CFLAGS := $(classes-zune-nbalance-class_CFLAGS) +$(classes-zune-nbalance-class_MC_TARGETS) : $(classes-zune-nbalance-class_MC_TGTWILDCARD).o : $(classes-zune-nbalance-class_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbalance-class_IQUOTE) $(dir $<) $(classes-zune-nbalance-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_IQUOTE) . $(classes-zune-nbalance-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbalance-class_IQUOTE) $(dir $<) $(classes-zune-nbalance-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_IQUOTE) . $(classes-zune-nbalance-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbalance-class_IQUOTE) $(dir $<) $(classes-zune-nbalance-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-class_IQUOTE) . $(classes-zune-nbalance-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbalance-class_MC_DTARGETS) : $(classes-zune-nbalance-class_MC_TGTWILDCARD).d : $(classes-zune-nbalance-class_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbalance-class_DFLAGS) $(classes-zune-nbalance-class_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (mcc,handler) +classes-zune-nbalance-class_MODULE := $(classes-zune-nbalance-class_MODDIR)/NBalance-mcc +else +ifeq (mcc,printer) +classes-zune-nbalance-class_MODULE := $(classes-zune-nbalance-class_MODDIR)/NBalance +else +classes-zune-nbalance-class_MODULE := $(classes-zune-nbalance-class_MODDIR)/NBalance.mcc +endif +endif +classes-zune-nbalance-class_KOBJ := $(KOBJSDIR)/NBalance_mcc.o + +classes-zune-nbalance-class-quick : classes-zune-nbalance-class +classes-zune-nbalance-class-kobj-quick : $(classes-zune-nbalance-class_KOBJ) +classes-zune-nbalance-class : $(classes-zune-nbalance-class_MODULE) +classes-zune-nbalance-class-kobj : $(classes-zune-nbalance-class_KOBJ) + +# The module is linked from all the compiled .o files +classes-zune-nbalance-class_OBJS := $(classes-zune-nbalance-class_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(classes-zune-nbalance-class_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (NBalance,con) + classes-zune-nbalance-class_ERR := $(notdir $(classes-zune-nbalance-class_MODULE)).err +else + classes-zune-nbalance-class_ERR := NBalance.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(NBalance_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(NBalance_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(classes-zune-nbalance-class_MODULE) : LIB_NAMES := $(NBalance_LIBS) +$(classes-zune-nbalance-class_MODULE) : OBJS := $(classes-zune-nbalance-class_OBJS) +$(classes-zune-nbalance-class_MODULE) : ENDTAG := +$(classes-zune-nbalance-class_MODULE) : ERR := $(classes-zune-nbalance-class_ERR) +$(classes-zune-nbalance-class_MODULE) : OBJDIR := $(OBJDIR) +$(classes-zune-nbalance-class_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(classes-zune-nbalance-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(classes-zune-nbalance-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(classes-zune-nbalance-class_MODULE) : $(classes-zune-nbalance-class_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +classes-zune-nbalance-class_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +classes-zune-nbalance-class_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +classes-zune-nbalance-class_SYMBOLS := $(classes-zune-nbalance-class_KBASE) + +classes-zune-nbalance-class_KLIB := hiddstubs amiga arossupport autoinit libinit +classes-zune-nbalance-class_KOBJ_LIBS := $(filter-out $(classes-zune-nbalance-class_KLIB),) $(classes-zune-nbalance-class_KAUTOLIB) +$(classes-zune-nbalance-class_KOBJ) : LINKLIBS:=$(classes-zune-nbalance-class_KOBJ_LIBS) +$(classes-zune-nbalance-class_KOBJ) : FILTBASES:=$(addprefix -L ,$(classes-zune-nbalance-class_SYMBOLS)) +$(classes-zune-nbalance-class_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(classes-zune-nbalance-class_KOBJ) : $(classes-zune-nbalance-class_OBJS) $(classes-zune-nbalance-class_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +classes-zune-nbalance-class_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,library $(FILES))) +ifneq ($(classes-zune-nbalance-class_DEPS),) + ifneq (classes-zune-nbalance-class classes-zune-nbalance-class-quick classes-zune-nbalance-class-kobj,) + ifneq ($(findstring $(TARGET),classes-zune-nbalance-class classes-zune-nbalance-class-quick classes-zune-nbalance-class-kobj),) + -include $(classes-zune-nbalance-class_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nbalance-class_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nbalance-class_OBJS) $(classes-zune-nbalance-class_DEPS) $(classes-zune-nbalance-class_MODULE) $(classes-zune-nbalance-class_KOBJ),) +$(classes-zune-nbalance-class_OBJS) $(classes-zune-nbalance-class_DEPS) $(classes-zune-nbalance-class_MODULE) $(classes-zune-nbalance-class_KOBJ) : | $(OBJDIR) $(classes-zune-nbalance-class_MODDIR) $(KOBJSDIR) +else +$(classes-zune-nbalance-class_OBJS) $(classes-zune-nbalance-class_DEPS) $(classes-zune-nbalance-class_MODULE) $(classes-zune-nbalance-class_KOBJ) :: $(OBJDIR) $(classes-zune-nbalance-class_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(classes-zune-nbalance-class_MODDIR) $(KOBJSDIR) + + +classes-zune-nbalance-class-clean : FILES := $(classes-zune-nbalance-class_OBJS) $(classes-zune-nbalance-class_MODULE) $(classes-zune-nbalance-class_KOBJ) $(classes-zune-nbalance-class_DEPS) +classes-zune-nbalance-class-clean :: + $(Q)$(ECHO) "Cleaning up for module NBalance" + $(Q)$(RM) $(FILES) + + + +.PHONY : classes-zune-nbalance-test + +classes-zune-nbalance-test_PROGNAME := NBalance-Test +classes-zune-nbalance-test_OBJDIR := $(GENDIR)/$(CURDIR) +classes-zune-nbalance-test_TARGETDIR := $(AROS_TESTS)/NList +classes-zune-nbalance-test_LINKER := +classes-zune-nbalance-test_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(classes-zune-nbalance-test_LINKER),) + classes-zune-nbalance-test_LINKER := target +endif + +ifneq ("$(strip NBalance-Test $(FILES) )","") + classes-zune-nbalance-test_FILES := NBalance-Test $(FILES) + classes-zune-nbalance-test_OBJCFILES := + classes-zune-nbalance-test_ASMFILES := + classes-zune-nbalance-test_CXXFILES := +else + classes-zune-nbalance-test_FILES := $(classes-zune-nbalance-test_PROGNAME) + classes-zune-nbalance-test_OBJCFILES := + classes-zune-nbalance-test_ASMFILES := + classes-zune-nbalance-test_CXXFILES := +endif + +classes-zune-nbalance-test_ARCHOBJS := $(wildcard $(classes-zune-nbalance-test_OBJDIR)/arch/*.o) +classes-zune-nbalance-test_ARCHFILES := $(basename $(notdir $(classes-zune-nbalance-test_ARCHOBJS))) +classes-zune-nbalance-test_C_NARCHFILES := $(filter-out $(classes-zune-nbalance-test_ARCHFILES),$(classes-zune-nbalance-test_FILES)) +classes-zune-nbalance-test_CXX_NARCHFILES := $(filter-out $(classes-zune-nbalance-test_ARCHFILES),$(classes-zune-nbalance-test_CXXFILES)) +classes-zune-nbalance-test_OBJC_NARCHFILES := $(filter-out $(classes-zune-nbalance-test_ARCHFILES),$(classes-zune-nbalance-test_OBJCFILES)) + +TMP_FILES := $(classes-zune-nbalance-test_C_NARCHFILES) $(classes-zune-nbalance-test_CXX_NARCHFILES) $(classes-zune-nbalance-test_ASMFILES) $(classes-zune-nbalance-test_OBJC_NARCHFILES) +classes-zune-nbalance-test_OBJS := $(addsuffix .o,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(notdir $(TMP_FILES)))) +classes-zune-nbalance-test_DEPS := $(addsuffix .d,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(notdir $(TMP_FILES)))) + +classes-zune-nbalance-test_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +classes-zune-nbalance-test_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbalance-test_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +classes-zune-nbalance-test_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbalance-test_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +classes-zune-nbalance-test_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbalance-test_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +classes-zune-nbalance-test_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbalance-test_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +classes-zune-nbalance-test_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbalance-test_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +classes-zune-nbalance-test_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbalance-test_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +classes-zune-nbalance-test_LDFLAGS := +endif + +classes-zune-nbalance-test_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +classes-zune-nbalance-test_COVERAGE := yes +classes-zune-nbalance-test_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +classes-zune-nbalance-test_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +classes-zune-nbalance-test_CFLAGS := $(strip $(classes-zune-nbalance-test_COVERAGEFLAGS) $(classes-zune-nbalance-test_CFLAGS)) +classes-zune-nbalance-test_CXXFLAGS := $(strip $(classes-zune-nbalance-test_COVERAGEFLAGS) $(classes-zune-nbalance-test_CXXFLAGS)) +classes-zune-nbalance-test_LIBS += $(classes-zune-nbalance-test_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nbalance-test_FUNCINSTR := yes +classes-zune-nbalance-test_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +classes-zune-nbalance-test_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +classes-zune-nbalance-test_CFLAGS := $(strip $(classes-zune-nbalance-test_INSTRFUNCFLAGS) $(classes-zune-nbalance-test_CFLAGS)) +classes-zune-nbalance-test_CXXFLAGS := $(strip $(classes-zune-nbalance-test_INSTRFUNCFLAGS) $(classes-zune-nbalance-test_CXXFLAGS)) +classes-zune-nbalance-test_LIBS += $(classes-zune-nbalance-test_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +classes-zune-nbalance-test_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nbalance-test_CFLAGS)) +classes-zune-nbalance-test_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nbalance-test_CXXFLAGS)) +endif +endif +classes-zune-nbalance-test_AFLAGS := $(AFLAGS) +ifneq (,) + classes-zune-nbalance-test_DFLAGS := +else + classes-zune-nbalance-test_DFLAGS := $(classes-zune-nbalance-test_CFLAGS) +endif +ifneq (,) + classes-zune-nbalance-test_DXXFLAGS := +else + classes-zune-nbalance-test_DXXFLAGS := $(classes-zune-nbalance-test_CXXFLAGS) +endif +ifeq (target,target) +classes-zune-nbalance-test_LDFLAGS := $(classes-zune-nbalance-test_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +classes-zune-nbalance-test_LDFLAGS := $(classes-zune-nbalance-test_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbalance-test_LDFLAGS := $(classes-zune-nbalance-test_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +classes-zune-nbalance-test_LDFLAGS += -L +endif + +#MM +classes-zune-nbalance-test-quick : classes-zune-nbalance-test + +#MM classes-zune-nbalance-test : includes-generate-deps core-linklibs +classes-zune-nbalance-test : $(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) + +ifneq ($(filter $(TARGET),classes-zune-nbalance-test classes-zune-nbalance-test-quick classes-zune-nbalance-test-gz-quick),) + +classes-zune-nbalance-test_CXXABSBASENAMES := $(foreach classes-zune-nbalance-test_CXXBASE,$(classes-zune-nbalance-test_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nbalance-test_CXXBASE)),$(classes-zune-nbalance-test_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nbalance-test_CXXBASE)))) + +ifneq ($(classes-zune-nbalance-test_CXXABSBASENAMES),) + +classes-zune-nbalance-test_CXXBASENAMES := $(basename $(classes-zune-nbalance-test_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nbalance-test_MCXX_FILES := $(strip $(foreach classes-zune-nbalance-test_CXXBASE,$(classes-zune-nbalance-test_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nbalance-test_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nbalance-test_EXT),$(classes-zune-nbalance-test_CXXBASE))))))) + +ifeq (,) +classes-zune-nbalance-test_MCXX_SRCWILDCARD := % +else +classes-zune-nbalance-test_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbalance-test_OBJDIR),) + classes-zune-nbalance-test_CXXTARGETS := $(notdir $(classes-zune-nbalance-test_CXXBASENAMES:=.o)) + classes-zune-nbalance-test_CXXDTARGETS := $(notdir $(classes-zune-nbalance-test_CXXBASENAMES:=.d)) + classes-zune-nbalance-test_MCXX_WILDCARD := % +else + classes-zune-nbalance-test_CXXTARGETS := $(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(notdir $(classes-zune-nbalance-test_CXXBASENAMES:=.o))) + classes-zune-nbalance-test_CXXDTARGETS := $(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(notdir $(classes-zune-nbalance-test_CXXBASENAMES:=.d))) + classes-zune-nbalance-test_MCXX_WILDCARD := $(classes-zune-nbalance-test_OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nbalance-test_CXXTARGETS) $(classes-zune-nbalance-test_CXXDTARGETS) : | $(classes-zune-nbalance-test_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nbalance-test_MCXX_CPPFLAGS := $(classes-zune-nbalance-test_CPPFLAGS) +classes-zune-nbalance-test_CXXFLAGS := $(classes-zune-nbalance-test_CXXFLAGS) +ifeq ($(classes-zune-nbalance-test_DXXFLAGS),) + classes-zune-nbalance-test_DXXFLAGS := $(classes-zune-nbalance-test_CXXFLAGS) +else + classes-zune-nbalance-test_DXXFLAGS := $(classes-zune-nbalance-test_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nbalance-test_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nbalance-test_STRIP ?= $(HOST_STRIP) + classes-zune-nbalance-test_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nbalance-test_CXXCMD:=$(HOST_CXX) + classes-zune-nbalance-test_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nbalance-test_MCXX_CPPFLAGS) $(classes-zune-nbalance-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbalance-test_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbalance-test_CXXFLAGS)) + classes-zune-nbalance-test_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbalance-test_DXXFLAGS)) + classes-zune-nbalance-test_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nbalance-test_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nbalance-test_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbalance-test_STRIP ?= $(TARGET_STRIP) + classes-zune-nbalance-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nbalance-test_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nbalance-test_MCXX_CPPFLAGS := $(strip $(classes-zune-nbalance-test_MCXX_CPPFLAGS) $(classes-zune-nbalance-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbalance-test_CXXFLAGS := $(strip $(classes-zune-nbalance-test_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nbalance-test_DXXFLAGS := $(classes-zune-nbalance-test_DXXFLAGS) + classes-zune-nbalance-test_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nbalance-test_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nbalance-test_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbalance-test_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbalance-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nbalance-test_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nbalance-test_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nbalance-test_MCXX_CPPFLAGS) $(classes-zune-nbalance-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbalance-test_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbalance-test_CXXFLAGS)) + classes-zune-nbalance-test_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbalance-test_DXXFLAGS)) + classes-zune-nbalance-test_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nbalance-test_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nbalance-test_CXXCMD) $(classes-zune-nbalance-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbalance-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_CXXIQUOTE) . $(classes-zune-nbalance-test_CXXIQUOTE_END) $(strip $(classes-zune-nbalance-test_CXXFLAGS) $(classes-zune-nbalance-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nbalance-test_CXXCMD) $(classes-zune-nbalance-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbalance-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_CXXIQUOTE) . $(classes-zune-nbalance-test_CXXIQUOTE_END) $(strip $(classes-zune-nbalance-test_CXXFLAGS) $(classes-zune-nbalance-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nbalance-test_CXXCMD) $(classes-zune-nbalance-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbalance-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_CXXIQUOTE) . $(classes-zune-nbalance-test_CXXIQUOTE_END) $(strip $(classes-zune-nbalance-test_CXXFLAGS) $(classes-zune-nbalance-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nbalance-test_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nbalance-test_DXXFLAGS) $(classes-zune-nbalance-test_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(classes-zune-nbalance-test_OBJDIR),) + $(foreach classes-zune-nbalance-test_CXXFILE,$(classes-zune-nbalance-test_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nbalance-test_CXXFILE))),$(classes-zune-nbalance-test_CXXFILE)))) +else + $(foreach classes-zune-nbalance-test_CXXFILE,$(classes-zune-nbalance-test_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(notdir $(basename $(classes-zune-nbalance-test_CXXFILE)))),$(classes-zune-nbalance-test_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nbalance-test_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nbalance-test_MOBJC_SRCWILDCARD := % +else +classes-zune-nbalance-test_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbalance-test_OBJDIR),) + classes-zune-nbalance-test_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nbalance-test_OBJC_NARCHFILES)) + classes-zune-nbalance-test_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nbalance-test_OBJC_NARCHFILES)) + classes-zune-nbalance-test_MOBJC_WILDCARD := % +else + classes-zune-nbalance-test_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(classes-zune-nbalance-test_OBJC_NARCHFILES))) + classes-zune-nbalance-test_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(classes-zune-nbalance-test_OBJC_NARCHFILES))) + classes-zune-nbalance-test_MOBJC_WILDCARD := $(classes-zune-nbalance-test_OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nbalance-test_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nbalance-test_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nbalance-test_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbalance-test_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nbalance-test_MOBJC_DIRS := $(foreach dir, $(classes-zune-nbalance-test_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbalance-test_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nbalance-test_MOBJC_DIRS),) + classes-zune-nbalance-test_MOBJC_DIRS := $(shell echo $(classes-zune-nbalance-test_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nbalance-test_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nbalance-test_CC := $(TARGET_CC) +else + classes-zune-nbalance-test_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nbalance-test_MOBJC_CPPFLAGS := $(classes-zune-nbalance-test_CPPFLAGS) +classes-zune-nbalance-test_OBJCFLAGS := $(classes-zune-nbalance-test_CFLAGS) +classes-zune-nbalance-test_OBJCFLAGS := $(classes-zune-nbalance-test_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nbalance-test_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nbalance-test_OBJCFLAGS))) +ifeq ($(classes-zune-nbalance-test_DFLAGS),) + classes-zune-nbalance-test_OBJCDFLAGS := $(classes-zune-nbalance-test_CFLAGS) +else + classes-zune-nbalance-test_OBJCDFLAGS := $(classes-zune-nbalance-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nbalance-test_LINK ?= $(strip $(classes-zune-nbalance-test_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbalance-test_STRIP ?= $(TARGET_STRIP) + classes-zune-nbalance-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nbalance-test_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nbalance-test_MOBJC_CPPFLAGS) $(classes-zune-nbalance-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_OBJCFLAGS:=$(strip $(classes-zune-nbalance-test_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_OBJCDFLAGS:=$(classes-zune-nbalance-test_OBJCDFLAGS) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nbalance-test_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nbalance-test_STRIP ?= $(HOST_STRIP) + classes-zune-nbalance-test_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nbalance-test_MOBJC_CPPFLAGS) $(classes-zune-nbalance-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbalance-test_OBJCFLAGS)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbalance-test_OBJCDFLAGS)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nbalance-test_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbalance-test_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbalance-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nbalance-test_MOBJC_CPPFLAGS) $(classes-zune-nbalance-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbalance-test_OBJCFLAGS)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbalance-test_OBJCDFLAGS)) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nbalance-test_MOBJC_TARGETS) $(classes-zune-nbalance-test_MOBJC_DTARGETS) : classes-zune-nbalance-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbalance-test_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nbalance-test_MOBJC_CPPFLAGS) +$(classes-zune-nbalance-test_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nbalance-test_OBJCFLAGS) +$(classes-zune-nbalance-test_MOBJC_TARGETS) : $(classes-zune-nbalance-test_MOBJC_WILDCARD).o : $(classes-zune-nbalance-test_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbalance-test_IQUOTE) $(dir $<) $(classes-zune-nbalance-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_IQUOTE) . $(classes-zune-nbalance-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbalance-test_IQUOTE) $(dir $<) $(classes-zune-nbalance-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_IQUOTE) . $(classes-zune-nbalance-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbalance-test_IQUOTE) $(dir $<) $(classes-zune-nbalance-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_IQUOTE) . $(classes-zune-nbalance-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbalance-test_MOBJC_DTARGETS) : $(classes-zune-nbalance-test_MOBJC_WILDCARD).d : $(classes-zune-nbalance-test_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbalance-test_OBJCDFLAGS) $(classes-zune-nbalance-test_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nbalance-test_MC_SRCWILDCARD := % +else +classes-zune-nbalance-test_MC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbalance-test_OBJDIR),) +classes-zune-nbalance-test_MC_TARGETS := $(addsuffix .o,$(classes-zune-nbalance-test_C_NARCHFILES)) +classes-zune-nbalance-test_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nbalance-test_C_NARCHFILES)) +classes-zune-nbalance-test_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nbalance-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(notdir $(classes-zune-nbalance-test_C_NARCHFILES)))) + classes-zune-nbalance-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(notdir $(classes-zune-nbalance-test_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nbalance-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(classes-zune-nbalance-test_C_NARCHFILES))) + classes-zune-nbalance-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(classes-zune-nbalance-test_C_NARCHFILES))) +else + classes-zune-nbalance-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbalance-test_C_NARCHFILES)))) + classes-zune-nbalance-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbalance-test_C_NARCHFILES)))) +endif +endif +classes-zune-nbalance-test_MC_TGTWILDCARD := $(classes-zune-nbalance-test_OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nbalance-test_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nbalance-test_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nbalance-test_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbalance-test_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nbalance-test_MC_DIRS := $(foreach dir, $(classes-zune-nbalance-test_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbalance-test_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nbalance-test_MC_DIRS),) + classes-zune-nbalance-test_MC_DIRS := $(shell echo $(classes-zune-nbalance-test_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nbalance-test_MC_DIRS) +endif + +endif + +classes-zune-nbalance-test_MC_CPPFLAGS := $(classes-zune-nbalance-test_CPPFLAGS) +classes-zune-nbalance-test_CFLAGS := $(classes-zune-nbalance-test_CFLAGS) +ifeq ($(classes-zune-nbalance-test_DFLAGS),) + classes-zune-nbalance-test_DFLAGS := $(classes-zune-nbalance-test_CFLAGS) +else + classes-zune-nbalance-test_DFLAGS := $(classes-zune-nbalance-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nbalance-test_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nbalance-test_STRIP ?= $(TARGET_STRIP) +classes-zune-nbalance-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_MC_CPPFLAGS:=$(strip $(classes-zune-nbalance-test_MC_CPPFLAGS) $(classes-zune-nbalance-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_CFLAGS:=$(strip $(classes-zune-nbalance-test_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_DFLAGS:=$(classes-zune-nbalance-test_DFLAGS) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nbalance-test_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nbalance-test_STRIP ?= $(HOST_STRIP) +classes-zune-nbalance-test_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nbalance-test_MC_CPPFLAGS) $(classes-zune-nbalance-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbalance-test_CFLAGS)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbalance-test_DFLAGS)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nbalance-test_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nbalance-test_STRIP ?= $(ECHO) >/dev/null +classes-zune-nbalance-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nbalance-test_MC_CPPFLAGS) $(classes-zune-nbalance-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbalance-test_CFLAGS)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbalance-test_DFLAGS)) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nbalance-test_MC_TARGETS) $(classes-zune-nbalance-test_MC_DTARGETS) : classes-zune-nbalance-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbalance-test_MC_TARGETS) : CPPFLAGS := $(classes-zune-nbalance-test_MC_CPPFLAGS) +$(classes-zune-nbalance-test_MC_TARGETS) : CFLAGS := $(classes-zune-nbalance-test_CFLAGS) +$(classes-zune-nbalance-test_MC_TARGETS) : $(classes-zune-nbalance-test_MC_TGTWILDCARD).o : $(classes-zune-nbalance-test_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbalance-test_IQUOTE) $(dir $<) $(classes-zune-nbalance-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_IQUOTE) . $(classes-zune-nbalance-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbalance-test_IQUOTE) $(dir $<) $(classes-zune-nbalance-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_IQUOTE) . $(classes-zune-nbalance-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbalance-test_IQUOTE) $(dir $<) $(classes-zune-nbalance-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbalance-test_IQUOTE) . $(classes-zune-nbalance-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbalance-test_MC_DTARGETS) : $(classes-zune-nbalance-test_MC_TGTWILDCARD).d : $(classes-zune-nbalance-test_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbalance-test_DFLAGS) $(classes-zune-nbalance-test_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(classes-zune-nbalance-test_OBJDIR),) +classes-zune-nbalance-test-MA_TARGETS := $(addsuffix .o,$(classes-zune-nbalance-test_ASMFILES)) +classes-zune-nbalance-test-MA_WILDCARD := % +else +classes-zune-nbalance-test-MA_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbalance-test_OBJDIR)/,$(notdir $(classes-zune-nbalance-test_ASMFILES)))) +classes-zune-nbalance-test-MA_WILDCARD := $(classes-zune-nbalance-test_OBJDIR)/% + +# Be sure that all .s files are generated +$(classes-zune-nbalance-test-MA_TARGETS) : | $(addsuffix .s,$(classes-zune-nbalance-test_ASMFILES)) + +# Be sure that all .c files are found +classes-zune-nbalance-test-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nbalance-test-MA_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbalance-test_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nbalance-test-MA_DIRS := $(foreach dir, $(classes-zune-nbalance-test-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbalance-test-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nbalance-test-MA_DIRS),) + classes-zune-nbalance-test-MA_DIRS := $(shell echo $(classes-zune-nbalance-test-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(classes-zune-nbalance-test-MA_DIRS) +endif + +endif + +classes-zune-nbalance-test-MA_ASSEMBLER ?= $(classes-zune-nbalance-test_ASSEMBLER) + +$(classes-zune-nbalance-test-MA_TARGETS) : classes-zune-nbalance-test-MA_CMD:= $(classes-zune-nbalance-test-MA_ASSEMBLER) + +$(classes-zune-nbalance-test-MA_TARGETS) : CPPFLAGS := $(classes-zune-nbalance-test_CPPFLAGS) +$(classes-zune-nbalance-test-MA_TARGETS) : AFLAGS := $(classes-zune-nbalance-test_AFLAGS) +$(classes-zune-nbalance-test-MA_TARGETS) : $(classes-zune-nbalance-test-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(classes-zune-nbalance-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(classes-zune-nbalance-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(classes-zune-nbalance-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +classes-zune-nbalance-test-link_EXTRA_LDFLAGS := +classes-zune-nbalance-test-link_EXTRA_LIBS := +ifeq (no,yes) + classes-zune-nbalance-test-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + classes-zune-nbalance-test-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + classes-zune-nbalance-test-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +classes-zune-nbalance-test-link_DIRS := $(subst -L ,-L,$(strip $(classes-zune-nbalance-test_LDFLAGS))) +# Filter out only the libdirs and remove -L +classes-zune-nbalance-test-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(classes-zune-nbalance-test-link_DIRS))) +# Add trailing / +classes-zune-nbalance-test-link_DIRS := $(subst //,/,$(addsuffix /,$(classes-zune-nbalance-test-link_DIRS))) +# Add normal linklib path +classes-zune-nbalance-test-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +classes-zune-nbalance-test-link_LIBS := $(addprefix lib,$(addsuffix .a,$(classes-zune-nbalance-test_LIBS) $(classes-zune-nbalance-test-link_EXTRA_LIBS))) +ifeq (yes,yes) + classes-zune-nbalance-test-link_LIBS += startup.o +endif +ifeq (no,yes) + classes-zune-nbalance-test-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +classes-zune-nbalance-test-link_DEPLIBS := $(foreach lib,$(classes-zune-nbalance-test-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(classes-zune-nbalance-test-link_DIRS)))) \ +) + +$(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) : OBJDIR := $(classes-zune-nbalance-test_OBJDIR) +$(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) : OBJS := $(classes-zune-nbalance-test_OBJS) $(classes-zune-nbalance-test_ARCHOBJS) $(USER_OBJS) +$(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) : LDFLAGS := $(strip $(classes-zune-nbalance-test_LDFLAGS) $(classes-zune-nbalance-test-link_EXTRA_LDFLAGS)) +$(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) : LIBS := $(addprefix -l,$(classes-zune-nbalance-test_LIBS) $(classes-zune-nbalance-test-link_EXTRA_LIBS) ) +$(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) : $(classes-zune-nbalance-test_OBJS) $(classes-zune-nbalance-test_ARCHOBJS) $(USER_OBJS) $(classes-zune-nbalance-test-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(classes-zune-nbalance-test_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(classes-zune-nbalance-test_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(classes-zune-nbalance-test_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nbalance-test_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(classes-zune-nbalance-test_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(classes-zune-nbalance-test_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nbalance-test_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(classes-zune-nbalance-test_DEPS),) + ifneq (classes-zune-nbalance-test classes-zune-nbalance-test-quick,) + ifneq ($(findstring $(TARGET),classes-zune-nbalance-test classes-zune-nbalance-test-quick),) + -include $(classes-zune-nbalance-test_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nbalance-test_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nbalance-test_OBJS) $(classes-zune-nbalance-test_DEPS) $(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME),) +$(classes-zune-nbalance-test_OBJS) $(classes-zune-nbalance-test_DEPS) $(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) : | $(classes-zune-nbalance-test_OBJDIR) $(classes-zune-nbalance-test_TARGETDIR) +else +$(classes-zune-nbalance-test_OBJS) $(classes-zune-nbalance-test_DEPS) $(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) :: $(classes-zune-nbalance-test_OBJDIR) $(classes-zune-nbalance-test_TARGETDIR) +endif + +GLOB_MKDIRS += $(classes-zune-nbalance-test_OBJDIR) $(classes-zune-nbalance-test_TARGETDIR) + + +classes-zune-nbalance-test-clean : FILES := $(classes-zune-nbalance-test_OBJS) $(classes-zune-nbalance-test_TARGETDIR)/$(classes-zune-nbalance-test_PROGNAME) $(classes-zune-nbalance-test_DEPS) +#MM +classes-zune-nbalance-test-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget classes-zune-nbalance-test" + $(Q)$(RM) $(FILES) + + + +#MM includes-copy + +INCLUDE_FILES := ../include/mui/NBalance_mcc.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (../include/mui,) +TMP_DIR := ../include/mui +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ../include/mui,$(GENINCDIR)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := ../include/mui/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/../include/mui/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (../include/mui,) +BD_INCL_FILES2 := $(subst ../include/mui,$(AROS_INCLUDES)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/nlist/nbitmap_mcc/mmakefile b/workbench/classes/zune/nlist/nbitmap_mcc/mmakefile new file mode 100644 index 00000000000..656e6a9cbef --- /dev/null +++ b/workbench/classes/zune/nlist/nbitmap_mcc/mmakefile @@ -0,0 +1,1264 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM classes-zune-nbitmap-class : includes linklibs +#MM classes-zune-nbitmap-test : includes linklibs classes-zune-nbitmap-test-cpy + +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/../include +USER_CPPFLAGS := -DNO_INLINE_STDARG -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := dispatcher Chunky2Bitmap DitherImage NBitmap Debug + + +# Define metamake targets and their dependencies +#MM classes-zune-nbitmap-class : core-linklibs includes-generate-deps +#MM classes-zune-nbitmap-class-kobj : core-linklibs includes-generate-deps +#MM classes-zune-nbitmap-class-kobj-quick +#MM classes-zune-nbitmap-class-quick +#MM classes-zune-nbitmap-class-clean + +classes-zune-nbitmap-class_ALLTARGETS := classes-zune-nbitmap-class classes-zune-nbitmap-class-clean classes-zune-nbitmap-class-quick classes-zune-nbitmap-class-kobj + +.PHONY : $(classes-zune-nbitmap-class_ALLTARGETS) + +ifeq (NBitmap,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (mcc,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +classes-zune-nbitmap-class_DEFLINKLIBNAME := NBitmap +classes-zune-nbitmap-class_CFLAGS := $(CFLAGS) +classes-zune-nbitmap-class_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +classes-zune-nbitmap-class_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(classes-zune-nbitmap-class_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nbitmap-class_FUNCINSTR := yes +classes-zune-nbitmap-class_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(classes-zune-nbitmap-class_CFLAGS)) +endif +endif +ifneq (,) + classes-zune-nbitmap-class_DFLAGS := +else + classes-zune-nbitmap-class_DFLAGS := $(classes-zune-nbitmap-class_CFLAGS) +endif +classes-zune-nbitmap-class_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +classes-zune-nbitmap-class_MODDIR := +ifeq ($(classes-zune-nbitmap-class_MODDIR),) + ifeq (mcc,library) + classes-zune-nbitmap-class_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (mcc,gadget) + classes-zune-nbitmap-class_MODDIR := $(AROS_GADGETS) + endif + ifeq (mcc,datatype) + classes-zune-nbitmap-class_MODDIR := $(AROS_DATATYPES) + endif + ifeq (mcc,handler) + classes-zune-nbitmap-class_MODDIR := $(AROS_FS) + endif + ifeq (mcc,device) + classes-zune-nbitmap-class_MODDIR := $(AROS_DEVS) + endif + ifeq (mcc,resource) + classes-zune-nbitmap-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,hook) + classes-zune-nbitmap-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,mui) + classes-zune-nbitmap-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcc) + classes-zune-nbitmap-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcp) + classes-zune-nbitmap-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,usbclass) + classes-zune-nbitmap-class_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (mcc,hidd) + classes-zune-nbitmap-class_MODDIR := $(AROS_DRIVERS) + endif + ifeq (mcc,printer) + classes-zune-nbitmap-class_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(classes-zune-nbitmap-class_MODDIR),) + $(error Don't know where to put the file for modtype mcc. Specify moduledir=) +endif + +classes-zune-nbitmap-class_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +classes-zune-nbitmap-class_ARCHFILES := $(basename $(notdir $(classes-zune-nbitmap-class_ARCHOBJS))) +classes-zune-nbitmap-class_C_NARCHFILES := $(filter-out $(classes-zune-nbitmap-class_ARCHFILES),library $(FILES)) +classes-zune-nbitmap-class_CXX_NARCHFILES := $(filter-out $(classes-zune-nbitmap-class_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +classes-zune-nbitmap-class_OBJC_NARCHFILES := $(filter-out $(classes-zune-nbitmap-class_ARCHFILES),) + + +classes-zune-nbitmap-class_CXXABSBASENAMES := $(foreach classes-zune-nbitmap-class_CXXBASE,$(classes-zune-nbitmap-class_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nbitmap-class_CXXBASE)),$(classes-zune-nbitmap-class_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nbitmap-class_CXXBASE)))) + +ifneq ($(classes-zune-nbitmap-class_CXXABSBASENAMES),) + +classes-zune-nbitmap-class_CXXBASENAMES := $(basename $(classes-zune-nbitmap-class_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nbitmap-class_MCXX_FILES := $(strip $(foreach classes-zune-nbitmap-class_CXXBASE,$(classes-zune-nbitmap-class_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nbitmap-class_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nbitmap-class_EXT),$(classes-zune-nbitmap-class_CXXBASE))))))) + +ifeq (,) +classes-zune-nbitmap-class_MCXX_SRCWILDCARD := % +else +classes-zune-nbitmap-class_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nbitmap-class_CXXTARGETS := $(notdir $(classes-zune-nbitmap-class_CXXBASENAMES:=.o)) + classes-zune-nbitmap-class_CXXDTARGETS := $(notdir $(classes-zune-nbitmap-class_CXXBASENAMES:=.d)) + classes-zune-nbitmap-class_MCXX_WILDCARD := % +else + classes-zune-nbitmap-class_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nbitmap-class_CXXBASENAMES:=.o))) + classes-zune-nbitmap-class_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nbitmap-class_CXXBASENAMES:=.d))) + classes-zune-nbitmap-class_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nbitmap-class_CXXTARGETS) $(classes-zune-nbitmap-class_CXXDTARGETS) : | $(classes-zune-nbitmap-class_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nbitmap-class_MCXX_CPPFLAGS := $(CPPFLAGS) +classes-zune-nbitmap-class_CXXFLAGS := $(classes-zune-nbitmap-class_CXXFLAGS) +ifeq ($(classes-zune-nbitmap-class_DXXFLAGS),) + classes-zune-nbitmap-class_DXXFLAGS := $(classes-zune-nbitmap-class_CXXFLAGS) +else + classes-zune-nbitmap-class_DXXFLAGS := $(classes-zune-nbitmap-class_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nbitmap-class_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nbitmap-class_STRIP ?= $(HOST_STRIP) + classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nbitmap-class_CXXCMD:=$(HOST_CXX) + classes-zune-nbitmap-class_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nbitmap-class_MCXX_CPPFLAGS) $(classes-zune-nbitmap-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-class_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbitmap-class_CXXFLAGS)) + classes-zune-nbitmap-class_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbitmap-class_DXXFLAGS)) + classes-zune-nbitmap-class_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nbitmap-class_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nbitmap-class_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbitmap-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nbitmap-class_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nbitmap-class_MCXX_CPPFLAGS := $(strip $(classes-zune-nbitmap-class_MCXX_CPPFLAGS) $(classes-zune-nbitmap-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-class_CXXFLAGS := $(strip $(classes-zune-nbitmap-class_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nbitmap-class_DXXFLAGS := $(classes-zune-nbitmap-class_DXXFLAGS) + classes-zune-nbitmap-class_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nbitmap-class_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nbitmap-class_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbitmap-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nbitmap-class_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nbitmap-class_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nbitmap-class_MCXX_CPPFLAGS) $(classes-zune-nbitmap-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-class_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbitmap-class_CXXFLAGS)) + classes-zune-nbitmap-class_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbitmap-class_DXXFLAGS)) + classes-zune-nbitmap-class_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nbitmap-class_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nbitmap-class_CXXCMD) $(classes-zune-nbitmap-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_CXXIQUOTE) . $(classes-zune-nbitmap-class_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-class_CXXFLAGS) $(classes-zune-nbitmap-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nbitmap-class_CXXCMD) $(classes-zune-nbitmap-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_CXXIQUOTE) . $(classes-zune-nbitmap-class_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-class_CXXFLAGS) $(classes-zune-nbitmap-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nbitmap-class_CXXCMD) $(classes-zune-nbitmap-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_CXXIQUOTE) . $(classes-zune-nbitmap-class_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-class_CXXFLAGS) $(classes-zune-nbitmap-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nbitmap-class_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-class_DXXFLAGS) $(classes-zune-nbitmap-class_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach classes-zune-nbitmap-class_CXXFILE,$(classes-zune-nbitmap-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nbitmap-class_CXXFILE))),$(classes-zune-nbitmap-class_CXXFILE)))) +else + $(foreach classes-zune-nbitmap-class_CXXFILE,$(classes-zune-nbitmap-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(classes-zune-nbitmap-class_CXXFILE)))),$(classes-zune-nbitmap-class_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nbitmap-class_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nbitmap-class_MOBJC_SRCWILDCARD := % +else +classes-zune-nbitmap-class_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nbitmap-class_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nbitmap-class_OBJC_NARCHFILES)) + classes-zune-nbitmap-class_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nbitmap-class_OBJC_NARCHFILES)) + classes-zune-nbitmap-class_MOBJC_WILDCARD := % +else + classes-zune-nbitmap-class_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nbitmap-class_OBJC_NARCHFILES))) + classes-zune-nbitmap-class_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nbitmap-class_OBJC_NARCHFILES))) + classes-zune-nbitmap-class_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nbitmap-class_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nbitmap-class_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nbitmap-class_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbitmap-class_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nbitmap-class_MOBJC_DIRS := $(foreach dir, $(classes-zune-nbitmap-class_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbitmap-class_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nbitmap-class_MOBJC_DIRS),) + classes-zune-nbitmap-class_MOBJC_DIRS := $(shell echo $(classes-zune-nbitmap-class_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nbitmap-class_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nbitmap-class_CC := $(TARGET_CC) +else + classes-zune-nbitmap-class_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nbitmap-class_MOBJC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nbitmap-class_OBJCFLAGS := $(classes-zune-nbitmap-class_CFLAGS) +classes-zune-nbitmap-class_OBJCFLAGS := $(classes-zune-nbitmap-class_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nbitmap-class_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nbitmap-class_OBJCFLAGS))) +ifeq ($(classes-zune-nbitmap-class_DFLAGS),) + classes-zune-nbitmap-class_OBJCDFLAGS := $(classes-zune-nbitmap-class_CFLAGS) +else + classes-zune-nbitmap-class_OBJCDFLAGS := $(classes-zune-nbitmap-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nbitmap-class_LINK ?= $(strip $(classes-zune-nbitmap-class_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbitmap-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nbitmap-class_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nbitmap-class_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_OBJCFLAGS:=$(strip $(classes-zune-nbitmap-class_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_OBJCDFLAGS:=$(classes-zune-nbitmap-class_OBJCDFLAGS) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nbitmap-class_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nbitmap-class_STRIP ?= $(HOST_STRIP) + classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-class_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-class_OBJCFLAGS)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-class_OBJCDFLAGS)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nbitmap-class_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbitmap-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-class_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-class_OBJCFLAGS)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-class_OBJCDFLAGS)) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nbitmap-class_MOBJC_TARGETS) $(classes-zune-nbitmap-class_MOBJC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbitmap-class_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nbitmap-class_MOBJC_CPPFLAGS) +$(classes-zune-nbitmap-class_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nbitmap-class_OBJCFLAGS) +$(classes-zune-nbitmap-class_MOBJC_TARGETS) : $(classes-zune-nbitmap-class_MOBJC_WILDCARD).o : $(classes-zune-nbitmap-class_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbitmap-class_IQUOTE) $(dir $<) $(classes-zune-nbitmap-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_IQUOTE) . $(classes-zune-nbitmap-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbitmap-class_IQUOTE) $(dir $<) $(classes-zune-nbitmap-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_IQUOTE) . $(classes-zune-nbitmap-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbitmap-class_IQUOTE) $(dir $<) $(classes-zune-nbitmap-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_IQUOTE) . $(classes-zune-nbitmap-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbitmap-class_MOBJC_DTARGETS) : $(classes-zune-nbitmap-class_MOBJC_WILDCARD).d : $(classes-zune-nbitmap-class_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-class_OBJCDFLAGS) $(classes-zune-nbitmap-class_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nbitmap-class_MC_SRCWILDCARD := % +else +classes-zune-nbitmap-class_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +classes-zune-nbitmap-class_MC_TARGETS := $(addsuffix .o,$(classes-zune-nbitmap-class_C_NARCHFILES)) +classes-zune-nbitmap-class_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nbitmap-class_C_NARCHFILES)) +classes-zune-nbitmap-class_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nbitmap-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nbitmap-class_C_NARCHFILES)))) + classes-zune-nbitmap-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nbitmap-class_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nbitmap-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nbitmap-class_C_NARCHFILES))) + classes-zune-nbitmap-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nbitmap-class_C_NARCHFILES))) +else + classes-zune-nbitmap-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbitmap-class_C_NARCHFILES)))) + classes-zune-nbitmap-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbitmap-class_C_NARCHFILES)))) +endif +endif +classes-zune-nbitmap-class_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nbitmap-class_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nbitmap-class_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nbitmap-class_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbitmap-class_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nbitmap-class_MC_DIRS := $(foreach dir, $(classes-zune-nbitmap-class_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbitmap-class_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nbitmap-class_MC_DIRS),) + classes-zune-nbitmap-class_MC_DIRS := $(shell echo $(classes-zune-nbitmap-class_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nbitmap-class_MC_DIRS) +endif + +endif + +classes-zune-nbitmap-class_MC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nbitmap-class_CFLAGS := $(classes-zune-nbitmap-class_CFLAGS) +ifeq ($(classes-zune-nbitmap-class_DFLAGS),) + classes-zune-nbitmap-class_DFLAGS := $(classes-zune-nbitmap-class_CFLAGS) +else + classes-zune-nbitmap-class_DFLAGS := $(classes-zune-nbitmap-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nbitmap-class_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nbitmap-class_STRIP ?= $(TARGET_STRIP) +classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_MC_CPPFLAGS:=$(strip $(classes-zune-nbitmap-class_MC_CPPFLAGS) $(classes-zune-nbitmap-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_CFLAGS:=$(strip $(classes-zune-nbitmap-class_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_DFLAGS:=$(classes-zune-nbitmap-class_DFLAGS) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nbitmap-class_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nbitmap-class_STRIP ?= $(HOST_STRIP) +classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nbitmap-class_MC_CPPFLAGS) $(classes-zune-nbitmap-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-class_CFLAGS)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-class_DFLAGS)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nbitmap-class_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nbitmap-class_STRIP ?= $(ECHO) >/dev/null +classes-zune-nbitmap-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nbitmap-class_MC_CPPFLAGS) $(classes-zune-nbitmap-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-class_CFLAGS)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-class_DFLAGS)) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nbitmap-class_MC_TARGETS) $(classes-zune-nbitmap-class_MC_DTARGETS) : classes-zune-nbitmap-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbitmap-class_MC_TARGETS) : CPPFLAGS := $(classes-zune-nbitmap-class_MC_CPPFLAGS) +$(classes-zune-nbitmap-class_MC_TARGETS) : CFLAGS := $(classes-zune-nbitmap-class_CFLAGS) +$(classes-zune-nbitmap-class_MC_TARGETS) : $(classes-zune-nbitmap-class_MC_TGTWILDCARD).o : $(classes-zune-nbitmap-class_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbitmap-class_IQUOTE) $(dir $<) $(classes-zune-nbitmap-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_IQUOTE) . $(classes-zune-nbitmap-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbitmap-class_IQUOTE) $(dir $<) $(classes-zune-nbitmap-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_IQUOTE) . $(classes-zune-nbitmap-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbitmap-class_IQUOTE) $(dir $<) $(classes-zune-nbitmap-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-class_IQUOTE) . $(classes-zune-nbitmap-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbitmap-class_MC_DTARGETS) : $(classes-zune-nbitmap-class_MC_TGTWILDCARD).d : $(classes-zune-nbitmap-class_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-class_DFLAGS) $(classes-zune-nbitmap-class_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (mcc,handler) +classes-zune-nbitmap-class_MODULE := $(classes-zune-nbitmap-class_MODDIR)/NBitmap-mcc +else +ifeq (mcc,printer) +classes-zune-nbitmap-class_MODULE := $(classes-zune-nbitmap-class_MODDIR)/NBitmap +else +classes-zune-nbitmap-class_MODULE := $(classes-zune-nbitmap-class_MODDIR)/NBitmap.mcc +endif +endif +classes-zune-nbitmap-class_KOBJ := $(KOBJSDIR)/NBitmap_mcc.o + +classes-zune-nbitmap-class-quick : classes-zune-nbitmap-class +classes-zune-nbitmap-class-kobj-quick : $(classes-zune-nbitmap-class_KOBJ) +classes-zune-nbitmap-class : $(classes-zune-nbitmap-class_MODULE) +classes-zune-nbitmap-class-kobj : $(classes-zune-nbitmap-class_KOBJ) + +# The module is linked from all the compiled .o files +classes-zune-nbitmap-class_OBJS := $(classes-zune-nbitmap-class_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(classes-zune-nbitmap-class_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (NBitmap,con) + classes-zune-nbitmap-class_ERR := $(notdir $(classes-zune-nbitmap-class_MODULE)).err +else + classes-zune-nbitmap-class_ERR := NBitmap.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(NBitmap_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(NBitmap_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(classes-zune-nbitmap-class_MODULE) : LIB_NAMES := $(NBitmap_LIBS) +$(classes-zune-nbitmap-class_MODULE) : OBJS := $(classes-zune-nbitmap-class_OBJS) +$(classes-zune-nbitmap-class_MODULE) : ENDTAG := +$(classes-zune-nbitmap-class_MODULE) : ERR := $(classes-zune-nbitmap-class_ERR) +$(classes-zune-nbitmap-class_MODULE) : OBJDIR := $(OBJDIR) +$(classes-zune-nbitmap-class_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(classes-zune-nbitmap-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(classes-zune-nbitmap-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(classes-zune-nbitmap-class_MODULE) : $(classes-zune-nbitmap-class_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +classes-zune-nbitmap-class_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +classes-zune-nbitmap-class_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +classes-zune-nbitmap-class_SYMBOLS := $(classes-zune-nbitmap-class_KBASE) + +classes-zune-nbitmap-class_KLIB := hiddstubs amiga arossupport autoinit libinit +classes-zune-nbitmap-class_KOBJ_LIBS := $(filter-out $(classes-zune-nbitmap-class_KLIB),) $(classes-zune-nbitmap-class_KAUTOLIB) +$(classes-zune-nbitmap-class_KOBJ) : LINKLIBS:=$(classes-zune-nbitmap-class_KOBJ_LIBS) +$(classes-zune-nbitmap-class_KOBJ) : FILTBASES:=$(addprefix -L ,$(classes-zune-nbitmap-class_SYMBOLS)) +$(classes-zune-nbitmap-class_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(classes-zune-nbitmap-class_KOBJ) : $(classes-zune-nbitmap-class_OBJS) $(classes-zune-nbitmap-class_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +classes-zune-nbitmap-class_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,library $(FILES))) +ifneq ($(classes-zune-nbitmap-class_DEPS),) + ifneq (classes-zune-nbitmap-class classes-zune-nbitmap-class-quick classes-zune-nbitmap-class-kobj,) + ifneq ($(findstring $(TARGET),classes-zune-nbitmap-class classes-zune-nbitmap-class-quick classes-zune-nbitmap-class-kobj),) + -include $(classes-zune-nbitmap-class_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nbitmap-class_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nbitmap-class_OBJS) $(classes-zune-nbitmap-class_DEPS) $(classes-zune-nbitmap-class_MODULE) $(classes-zune-nbitmap-class_KOBJ),) +$(classes-zune-nbitmap-class_OBJS) $(classes-zune-nbitmap-class_DEPS) $(classes-zune-nbitmap-class_MODULE) $(classes-zune-nbitmap-class_KOBJ) : | $(OBJDIR) $(classes-zune-nbitmap-class_MODDIR) $(KOBJSDIR) +else +$(classes-zune-nbitmap-class_OBJS) $(classes-zune-nbitmap-class_DEPS) $(classes-zune-nbitmap-class_MODULE) $(classes-zune-nbitmap-class_KOBJ) :: $(OBJDIR) $(classes-zune-nbitmap-class_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(classes-zune-nbitmap-class_MODDIR) $(KOBJSDIR) + + +classes-zune-nbitmap-class-clean : FILES := $(classes-zune-nbitmap-class_OBJS) $(classes-zune-nbitmap-class_MODULE) $(classes-zune-nbitmap-class_KOBJ) $(classes-zune-nbitmap-class_DEPS) +classes-zune-nbitmap-class-clean :: + $(Q)$(ECHO) "Cleaning up for module NBitmap" + $(Q)$(RM) $(FILES) + + + +.PHONY : classes-zune-nbitmap-test + +classes-zune-nbitmap-test_PROGNAME := NBitmap-Test +classes-zune-nbitmap-test_OBJDIR := $(GENDIR)/$(CURDIR) +classes-zune-nbitmap-test_TARGETDIR := $(AROS_TESTS)/NList +classes-zune-nbitmap-test_LINKER := +classes-zune-nbitmap-test_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(classes-zune-nbitmap-test_LINKER),) + classes-zune-nbitmap-test_LINKER := target +endif + +ifneq ("$(strip NBitmap-Test $(FILES) )","") + classes-zune-nbitmap-test_FILES := NBitmap-Test $(FILES) + classes-zune-nbitmap-test_OBJCFILES := + classes-zune-nbitmap-test_ASMFILES := + classes-zune-nbitmap-test_CXXFILES := +else + classes-zune-nbitmap-test_FILES := $(classes-zune-nbitmap-test_PROGNAME) + classes-zune-nbitmap-test_OBJCFILES := + classes-zune-nbitmap-test_ASMFILES := + classes-zune-nbitmap-test_CXXFILES := +endif + +classes-zune-nbitmap-test_ARCHOBJS := $(wildcard $(classes-zune-nbitmap-test_OBJDIR)/arch/*.o) +classes-zune-nbitmap-test_ARCHFILES := $(basename $(notdir $(classes-zune-nbitmap-test_ARCHOBJS))) +classes-zune-nbitmap-test_C_NARCHFILES := $(filter-out $(classes-zune-nbitmap-test_ARCHFILES),$(classes-zune-nbitmap-test_FILES)) +classes-zune-nbitmap-test_CXX_NARCHFILES := $(filter-out $(classes-zune-nbitmap-test_ARCHFILES),$(classes-zune-nbitmap-test_CXXFILES)) +classes-zune-nbitmap-test_OBJC_NARCHFILES := $(filter-out $(classes-zune-nbitmap-test_ARCHFILES),$(classes-zune-nbitmap-test_OBJCFILES)) + +TMP_FILES := $(classes-zune-nbitmap-test_C_NARCHFILES) $(classes-zune-nbitmap-test_CXX_NARCHFILES) $(classes-zune-nbitmap-test_ASMFILES) $(classes-zune-nbitmap-test_OBJC_NARCHFILES) +classes-zune-nbitmap-test_OBJS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(notdir $(TMP_FILES)))) +classes-zune-nbitmap-test_DEPS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(notdir $(TMP_FILES)))) + +classes-zune-nbitmap-test_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +classes-zune-nbitmap-test_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbitmap-test_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +classes-zune-nbitmap-test_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbitmap-test_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +classes-zune-nbitmap-test_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbitmap-test_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +classes-zune-nbitmap-test_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbitmap-test_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +classes-zune-nbitmap-test_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nbitmap-test_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +classes-zune-nbitmap-test_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbitmap-test_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +classes-zune-nbitmap-test_LDFLAGS := +endif + +classes-zune-nbitmap-test_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +classes-zune-nbitmap-test_COVERAGE := yes +classes-zune-nbitmap-test_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +classes-zune-nbitmap-test_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +classes-zune-nbitmap-test_CFLAGS := $(strip $(classes-zune-nbitmap-test_COVERAGEFLAGS) $(classes-zune-nbitmap-test_CFLAGS)) +classes-zune-nbitmap-test_CXXFLAGS := $(strip $(classes-zune-nbitmap-test_COVERAGEFLAGS) $(classes-zune-nbitmap-test_CXXFLAGS)) +classes-zune-nbitmap-test_LIBS += $(classes-zune-nbitmap-test_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nbitmap-test_FUNCINSTR := yes +classes-zune-nbitmap-test_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +classes-zune-nbitmap-test_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +classes-zune-nbitmap-test_CFLAGS := $(strip $(classes-zune-nbitmap-test_INSTRFUNCFLAGS) $(classes-zune-nbitmap-test_CFLAGS)) +classes-zune-nbitmap-test_CXXFLAGS := $(strip $(classes-zune-nbitmap-test_INSTRFUNCFLAGS) $(classes-zune-nbitmap-test_CXXFLAGS)) +classes-zune-nbitmap-test_LIBS += $(classes-zune-nbitmap-test_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +classes-zune-nbitmap-test_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nbitmap-test_CFLAGS)) +classes-zune-nbitmap-test_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nbitmap-test_CXXFLAGS)) +endif +endif +classes-zune-nbitmap-test_AFLAGS := $(AFLAGS) +ifneq (,) + classes-zune-nbitmap-test_DFLAGS := +else + classes-zune-nbitmap-test_DFLAGS := $(classes-zune-nbitmap-test_CFLAGS) +endif +ifneq (,) + classes-zune-nbitmap-test_DXXFLAGS := +else + classes-zune-nbitmap-test_DXXFLAGS := $(classes-zune-nbitmap-test_CXXFLAGS) +endif +ifeq (target,target) +classes-zune-nbitmap-test_LDFLAGS := $(classes-zune-nbitmap-test_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +classes-zune-nbitmap-test_LDFLAGS := $(classes-zune-nbitmap-test_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +classes-zune-nbitmap-test_LDFLAGS := $(classes-zune-nbitmap-test_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +classes-zune-nbitmap-test_LDFLAGS += -L +endif + +#MM +classes-zune-nbitmap-test-quick : classes-zune-nbitmap-test + +#MM classes-zune-nbitmap-test : includes-generate-deps core-linklibs +classes-zune-nbitmap-test : $(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) + +ifneq ($(filter $(TARGET),classes-zune-nbitmap-test classes-zune-nbitmap-test-quick classes-zune-nbitmap-test-gz-quick),) + +classes-zune-nbitmap-test_CXXABSBASENAMES := $(foreach classes-zune-nbitmap-test_CXXBASE,$(classes-zune-nbitmap-test_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nbitmap-test_CXXBASE)),$(classes-zune-nbitmap-test_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nbitmap-test_CXXBASE)))) + +ifneq ($(classes-zune-nbitmap-test_CXXABSBASENAMES),) + +classes-zune-nbitmap-test_CXXBASENAMES := $(basename $(classes-zune-nbitmap-test_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nbitmap-test_MCXX_FILES := $(strip $(foreach classes-zune-nbitmap-test_CXXBASE,$(classes-zune-nbitmap-test_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nbitmap-test_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nbitmap-test_EXT),$(classes-zune-nbitmap-test_CXXBASE))))))) + +ifeq (,) +classes-zune-nbitmap-test_MCXX_SRCWILDCARD := % +else +classes-zune-nbitmap-test_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbitmap-test_OBJDIR),) + classes-zune-nbitmap-test_CXXTARGETS := $(notdir $(classes-zune-nbitmap-test_CXXBASENAMES:=.o)) + classes-zune-nbitmap-test_CXXDTARGETS := $(notdir $(classes-zune-nbitmap-test_CXXBASENAMES:=.d)) + classes-zune-nbitmap-test_MCXX_WILDCARD := % +else + classes-zune-nbitmap-test_CXXTARGETS := $(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(notdir $(classes-zune-nbitmap-test_CXXBASENAMES:=.o))) + classes-zune-nbitmap-test_CXXDTARGETS := $(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(notdir $(classes-zune-nbitmap-test_CXXBASENAMES:=.d))) + classes-zune-nbitmap-test_MCXX_WILDCARD := $(classes-zune-nbitmap-test_OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nbitmap-test_CXXTARGETS) $(classes-zune-nbitmap-test_CXXDTARGETS) : | $(classes-zune-nbitmap-test_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nbitmap-test_MCXX_CPPFLAGS := $(classes-zune-nbitmap-test_CPPFLAGS) +classes-zune-nbitmap-test_CXXFLAGS := $(classes-zune-nbitmap-test_CXXFLAGS) +ifeq ($(classes-zune-nbitmap-test_DXXFLAGS),) + classes-zune-nbitmap-test_DXXFLAGS := $(classes-zune-nbitmap-test_CXXFLAGS) +else + classes-zune-nbitmap-test_DXXFLAGS := $(classes-zune-nbitmap-test_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nbitmap-test_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nbitmap-test_STRIP ?= $(HOST_STRIP) + classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nbitmap-test_CXXCMD:=$(HOST_CXX) + classes-zune-nbitmap-test_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nbitmap-test_MCXX_CPPFLAGS) $(classes-zune-nbitmap-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-test_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbitmap-test_CXXFLAGS)) + classes-zune-nbitmap-test_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nbitmap-test_DXXFLAGS)) + classes-zune-nbitmap-test_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nbitmap-test_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nbitmap-test_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbitmap-test_STRIP ?= $(TARGET_STRIP) + classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nbitmap-test_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nbitmap-test_MCXX_CPPFLAGS := $(strip $(classes-zune-nbitmap-test_MCXX_CPPFLAGS) $(classes-zune-nbitmap-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-test_CXXFLAGS := $(strip $(classes-zune-nbitmap-test_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nbitmap-test_DXXFLAGS := $(classes-zune-nbitmap-test_DXXFLAGS) + classes-zune-nbitmap-test_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nbitmap-test_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nbitmap-test_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbitmap-test_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nbitmap-test_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nbitmap-test_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nbitmap-test_MCXX_CPPFLAGS) $(classes-zune-nbitmap-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nbitmap-test_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbitmap-test_CXXFLAGS)) + classes-zune-nbitmap-test_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nbitmap-test_DXXFLAGS)) + classes-zune-nbitmap-test_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nbitmap-test_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nbitmap-test_CXXCMD) $(classes-zune-nbitmap-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_CXXIQUOTE) . $(classes-zune-nbitmap-test_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-test_CXXFLAGS) $(classes-zune-nbitmap-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nbitmap-test_CXXCMD) $(classes-zune-nbitmap-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_CXXIQUOTE) . $(classes-zune-nbitmap-test_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-test_CXXFLAGS) $(classes-zune-nbitmap-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nbitmap-test_CXXCMD) $(classes-zune-nbitmap-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nbitmap-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_CXXIQUOTE) . $(classes-zune-nbitmap-test_CXXIQUOTE_END) $(strip $(classes-zune-nbitmap-test_CXXFLAGS) $(classes-zune-nbitmap-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nbitmap-test_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-test_DXXFLAGS) $(classes-zune-nbitmap-test_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(classes-zune-nbitmap-test_OBJDIR),) + $(foreach classes-zune-nbitmap-test_CXXFILE,$(classes-zune-nbitmap-test_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nbitmap-test_CXXFILE))),$(classes-zune-nbitmap-test_CXXFILE)))) +else + $(foreach classes-zune-nbitmap-test_CXXFILE,$(classes-zune-nbitmap-test_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(notdir $(basename $(classes-zune-nbitmap-test_CXXFILE)))),$(classes-zune-nbitmap-test_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nbitmap-test_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nbitmap-test_MOBJC_SRCWILDCARD := % +else +classes-zune-nbitmap-test_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbitmap-test_OBJDIR),) + classes-zune-nbitmap-test_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nbitmap-test_OBJC_NARCHFILES)) + classes-zune-nbitmap-test_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nbitmap-test_OBJC_NARCHFILES)) + classes-zune-nbitmap-test_MOBJC_WILDCARD := % +else + classes-zune-nbitmap-test_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(classes-zune-nbitmap-test_OBJC_NARCHFILES))) + classes-zune-nbitmap-test_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(classes-zune-nbitmap-test_OBJC_NARCHFILES))) + classes-zune-nbitmap-test_MOBJC_WILDCARD := $(classes-zune-nbitmap-test_OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nbitmap-test_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nbitmap-test_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nbitmap-test_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbitmap-test_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nbitmap-test_MOBJC_DIRS := $(foreach dir, $(classes-zune-nbitmap-test_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbitmap-test_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nbitmap-test_MOBJC_DIRS),) + classes-zune-nbitmap-test_MOBJC_DIRS := $(shell echo $(classes-zune-nbitmap-test_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nbitmap-test_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nbitmap-test_CC := $(TARGET_CC) +else + classes-zune-nbitmap-test_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nbitmap-test_MOBJC_CPPFLAGS := $(classes-zune-nbitmap-test_CPPFLAGS) +classes-zune-nbitmap-test_OBJCFLAGS := $(classes-zune-nbitmap-test_CFLAGS) +classes-zune-nbitmap-test_OBJCFLAGS := $(classes-zune-nbitmap-test_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nbitmap-test_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nbitmap-test_OBJCFLAGS))) +ifeq ($(classes-zune-nbitmap-test_DFLAGS),) + classes-zune-nbitmap-test_OBJCDFLAGS := $(classes-zune-nbitmap-test_CFLAGS) +else + classes-zune-nbitmap-test_OBJCDFLAGS := $(classes-zune-nbitmap-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nbitmap-test_LINK ?= $(strip $(classes-zune-nbitmap-test_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nbitmap-test_STRIP ?= $(TARGET_STRIP) + classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nbitmap-test_CC) $(TARGET_SYSROOT)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nbitmap-test_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_OBJCFLAGS:=$(strip $(classes-zune-nbitmap-test_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_OBJCDFLAGS:=$(classes-zune-nbitmap-test_OBJCDFLAGS) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nbitmap-test_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nbitmap-test_STRIP ?= $(HOST_STRIP) + classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-test_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-test_OBJCFLAGS)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-test_OBJCDFLAGS)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nbitmap-test_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nbitmap-test_STRIP ?= $(ECHO) >/dev/null + classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-test_MOBJC_CPPFLAGS) $(classes-zune-nbitmap-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-test_OBJCFLAGS)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-test_OBJCDFLAGS)) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nbitmap-test_MOBJC_TARGETS) $(classes-zune-nbitmap-test_MOBJC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbitmap-test_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nbitmap-test_MOBJC_CPPFLAGS) +$(classes-zune-nbitmap-test_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nbitmap-test_OBJCFLAGS) +$(classes-zune-nbitmap-test_MOBJC_TARGETS) : $(classes-zune-nbitmap-test_MOBJC_WILDCARD).o : $(classes-zune-nbitmap-test_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbitmap-test_IQUOTE) $(dir $<) $(classes-zune-nbitmap-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_IQUOTE) . $(classes-zune-nbitmap-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbitmap-test_IQUOTE) $(dir $<) $(classes-zune-nbitmap-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_IQUOTE) . $(classes-zune-nbitmap-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbitmap-test_IQUOTE) $(dir $<) $(classes-zune-nbitmap-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_IQUOTE) . $(classes-zune-nbitmap-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbitmap-test_MOBJC_DTARGETS) : $(classes-zune-nbitmap-test_MOBJC_WILDCARD).d : $(classes-zune-nbitmap-test_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-test_OBJCDFLAGS) $(classes-zune-nbitmap-test_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nbitmap-test_MC_SRCWILDCARD := % +else +classes-zune-nbitmap-test_MC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nbitmap-test_OBJDIR),) +classes-zune-nbitmap-test_MC_TARGETS := $(addsuffix .o,$(classes-zune-nbitmap-test_C_NARCHFILES)) +classes-zune-nbitmap-test_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nbitmap-test_C_NARCHFILES)) +classes-zune-nbitmap-test_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nbitmap-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(notdir $(classes-zune-nbitmap-test_C_NARCHFILES)))) + classes-zune-nbitmap-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(notdir $(classes-zune-nbitmap-test_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nbitmap-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(classes-zune-nbitmap-test_C_NARCHFILES))) + classes-zune-nbitmap-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(classes-zune-nbitmap-test_C_NARCHFILES))) +else + classes-zune-nbitmap-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbitmap-test_C_NARCHFILES)))) + classes-zune-nbitmap-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nbitmap-test_C_NARCHFILES)))) +endif +endif +classes-zune-nbitmap-test_MC_TGTWILDCARD := $(classes-zune-nbitmap-test_OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nbitmap-test_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nbitmap-test_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nbitmap-test_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbitmap-test_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nbitmap-test_MC_DIRS := $(foreach dir, $(classes-zune-nbitmap-test_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbitmap-test_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nbitmap-test_MC_DIRS),) + classes-zune-nbitmap-test_MC_DIRS := $(shell echo $(classes-zune-nbitmap-test_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nbitmap-test_MC_DIRS) +endif + +endif + +classes-zune-nbitmap-test_MC_CPPFLAGS := $(classes-zune-nbitmap-test_CPPFLAGS) +classes-zune-nbitmap-test_CFLAGS := $(classes-zune-nbitmap-test_CFLAGS) +ifeq ($(classes-zune-nbitmap-test_DFLAGS),) + classes-zune-nbitmap-test_DFLAGS := $(classes-zune-nbitmap-test_CFLAGS) +else + classes-zune-nbitmap-test_DFLAGS := $(classes-zune-nbitmap-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nbitmap-test_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nbitmap-test_STRIP ?= $(TARGET_STRIP) +classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_MC_CPPFLAGS:=$(strip $(classes-zune-nbitmap-test_MC_CPPFLAGS) $(classes-zune-nbitmap-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_CFLAGS:=$(strip $(classes-zune-nbitmap-test_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_DFLAGS:=$(classes-zune-nbitmap-test_DFLAGS) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nbitmap-test_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nbitmap-test_STRIP ?= $(HOST_STRIP) +classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nbitmap-test_MC_CPPFLAGS) $(classes-zune-nbitmap-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-test_CFLAGS)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nbitmap-test_DFLAGS)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nbitmap-test_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nbitmap-test_STRIP ?= $(ECHO) >/dev/null +classes-zune-nbitmap-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nbitmap-test_MC_CPPFLAGS) $(classes-zune-nbitmap-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-test_CFLAGS)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nbitmap-test_DFLAGS)) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nbitmap-test_MC_TARGETS) $(classes-zune-nbitmap-test_MC_DTARGETS) : classes-zune-nbitmap-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nbitmap-test_MC_TARGETS) : CPPFLAGS := $(classes-zune-nbitmap-test_MC_CPPFLAGS) +$(classes-zune-nbitmap-test_MC_TARGETS) : CFLAGS := $(classes-zune-nbitmap-test_CFLAGS) +$(classes-zune-nbitmap-test_MC_TARGETS) : $(classes-zune-nbitmap-test_MC_TGTWILDCARD).o : $(classes-zune-nbitmap-test_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nbitmap-test_IQUOTE) $(dir $<) $(classes-zune-nbitmap-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_IQUOTE) . $(classes-zune-nbitmap-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nbitmap-test_IQUOTE) $(dir $<) $(classes-zune-nbitmap-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_IQUOTE) . $(classes-zune-nbitmap-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nbitmap-test_IQUOTE) $(dir $<) $(classes-zune-nbitmap-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nbitmap-test_IQUOTE) . $(classes-zune-nbitmap-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nbitmap-test_MC_DTARGETS) : $(classes-zune-nbitmap-test_MC_TGTWILDCARD).d : $(classes-zune-nbitmap-test_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nbitmap-test_DFLAGS) $(classes-zune-nbitmap-test_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(classes-zune-nbitmap-test_OBJDIR),) +classes-zune-nbitmap-test-MA_TARGETS := $(addsuffix .o,$(classes-zune-nbitmap-test_ASMFILES)) +classes-zune-nbitmap-test-MA_WILDCARD := % +else +classes-zune-nbitmap-test-MA_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nbitmap-test_OBJDIR)/,$(notdir $(classes-zune-nbitmap-test_ASMFILES)))) +classes-zune-nbitmap-test-MA_WILDCARD := $(classes-zune-nbitmap-test_OBJDIR)/% + +# Be sure that all .s files are generated +$(classes-zune-nbitmap-test-MA_TARGETS) : | $(addsuffix .s,$(classes-zune-nbitmap-test_ASMFILES)) + +# Be sure that all .c files are found +classes-zune-nbitmap-test-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nbitmap-test-MA_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nbitmap-test_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nbitmap-test-MA_DIRS := $(foreach dir, $(classes-zune-nbitmap-test-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nbitmap-test-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nbitmap-test-MA_DIRS),) + classes-zune-nbitmap-test-MA_DIRS := $(shell echo $(classes-zune-nbitmap-test-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(classes-zune-nbitmap-test-MA_DIRS) +endif + +endif + +classes-zune-nbitmap-test-MA_ASSEMBLER ?= $(classes-zune-nbitmap-test_ASSEMBLER) + +$(classes-zune-nbitmap-test-MA_TARGETS) : classes-zune-nbitmap-test-MA_CMD:= $(classes-zune-nbitmap-test-MA_ASSEMBLER) + +$(classes-zune-nbitmap-test-MA_TARGETS) : CPPFLAGS := $(classes-zune-nbitmap-test_CPPFLAGS) +$(classes-zune-nbitmap-test-MA_TARGETS) : AFLAGS := $(classes-zune-nbitmap-test_AFLAGS) +$(classes-zune-nbitmap-test-MA_TARGETS) : $(classes-zune-nbitmap-test-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(classes-zune-nbitmap-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(classes-zune-nbitmap-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(classes-zune-nbitmap-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +classes-zune-nbitmap-test-link_EXTRA_LDFLAGS := +classes-zune-nbitmap-test-link_EXTRA_LIBS := +ifeq (no,yes) + classes-zune-nbitmap-test-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + classes-zune-nbitmap-test-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + classes-zune-nbitmap-test-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +classes-zune-nbitmap-test-link_DIRS := $(subst -L ,-L,$(strip $(classes-zune-nbitmap-test_LDFLAGS))) +# Filter out only the libdirs and remove -L +classes-zune-nbitmap-test-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(classes-zune-nbitmap-test-link_DIRS))) +# Add trailing / +classes-zune-nbitmap-test-link_DIRS := $(subst //,/,$(addsuffix /,$(classes-zune-nbitmap-test-link_DIRS))) +# Add normal linklib path +classes-zune-nbitmap-test-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +classes-zune-nbitmap-test-link_LIBS := $(addprefix lib,$(addsuffix .a,$(classes-zune-nbitmap-test_LIBS) $(classes-zune-nbitmap-test-link_EXTRA_LIBS))) +ifeq (yes,yes) + classes-zune-nbitmap-test-link_LIBS += startup.o +endif +ifeq (no,yes) + classes-zune-nbitmap-test-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +classes-zune-nbitmap-test-link_DEPLIBS := $(foreach lib,$(classes-zune-nbitmap-test-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(classes-zune-nbitmap-test-link_DIRS)))) \ +) + +$(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) : OBJDIR := $(classes-zune-nbitmap-test_OBJDIR) +$(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) : OBJS := $(classes-zune-nbitmap-test_OBJS) $(classes-zune-nbitmap-test_ARCHOBJS) $(USER_OBJS) +$(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) : LDFLAGS := $(strip $(classes-zune-nbitmap-test_LDFLAGS) $(classes-zune-nbitmap-test-link_EXTRA_LDFLAGS)) +$(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) : LIBS := $(addprefix -l,$(classes-zune-nbitmap-test_LIBS) $(classes-zune-nbitmap-test-link_EXTRA_LIBS) ) +$(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) : $(classes-zune-nbitmap-test_OBJS) $(classes-zune-nbitmap-test_ARCHOBJS) $(USER_OBJS) $(classes-zune-nbitmap-test-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(classes-zune-nbitmap-test_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(classes-zune-nbitmap-test_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(classes-zune-nbitmap-test_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nbitmap-test_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(classes-zune-nbitmap-test_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(classes-zune-nbitmap-test_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nbitmap-test_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(classes-zune-nbitmap-test_DEPS),) + ifneq (classes-zune-nbitmap-test classes-zune-nbitmap-test-quick,) + ifneq ($(findstring $(TARGET),classes-zune-nbitmap-test classes-zune-nbitmap-test-quick),) + -include $(classes-zune-nbitmap-test_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nbitmap-test_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nbitmap-test_OBJS) $(classes-zune-nbitmap-test_DEPS) $(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME),) +$(classes-zune-nbitmap-test_OBJS) $(classes-zune-nbitmap-test_DEPS) $(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) : | $(classes-zune-nbitmap-test_OBJDIR) $(classes-zune-nbitmap-test_TARGETDIR) +else +$(classes-zune-nbitmap-test_OBJS) $(classes-zune-nbitmap-test_DEPS) $(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) :: $(classes-zune-nbitmap-test_OBJDIR) $(classes-zune-nbitmap-test_TARGETDIR) +endif + +GLOB_MKDIRS += $(classes-zune-nbitmap-test_OBJDIR) $(classes-zune-nbitmap-test_TARGETDIR) + + +classes-zune-nbitmap-test-clean : FILES := $(classes-zune-nbitmap-test_OBJS) $(classes-zune-nbitmap-test_TARGETDIR)/$(classes-zune-nbitmap-test_PROGNAME) $(classes-zune-nbitmap-test_DEPS) +#MM +classes-zune-nbitmap-test-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget classes-zune-nbitmap-test" + $(Q)$(RM) $(FILES) + + + +INCLUDE_FILES := ../include/mui/NBitmap_mcc.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (../include/mui,) +TMP_DIR := ../include/mui +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ../include/mui,$(GENINCDIR)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := ../include/mui/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/../include/mui/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (../include/mui,) +BD_INCL_FILES2 := $(subst ../include/mui,$(AROS_INCLUDES)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + + + +classes-zune-nbitmap-test-cpy_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROS_TESTS)/NList +else +setup :: $(AROS_TESTS)/NList +endif + +GLOB_MKDIRS += $(AROS_TESTS)/NList + + +.PHONY : classes-zune-nbitmap-test-cpy + +#MM +classes-zune-nbitmap-test-cpy : | $(AROS_TESTS)/NList + $(foreach file, icon.png, $(shell $(CP) $(addprefix $(if $(filter /%,$(classes-zune-nbitmap-test-cpy_SRC)),$(classes-zune-nbitmap-test-cpy_SRC),$(SRCDIR)/$(CURDIR)/$(classes-zune-nbitmap-test-cpy_SRC))/, $(file)) $(addprefix $(AROS_TESTS)/NList/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/nlist/nfloattext_mcc/mmakefile b/workbench/classes/zune/nlist/nfloattext_mcc/mmakefile new file mode 100644 index 00000000000..41938222fbe --- /dev/null +++ b/workbench/classes/zune/nlist/nfloattext_mcc/mmakefile @@ -0,0 +1,630 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM classes-zune-nfloattext-class : setup includes linklibs classes-zune-nlist + +USER_INCLUDES = -idirafter $(SRCDIR)/$(CURDIR)/../include +USER_CPPFLAGS := -DNO_INLINE_STDARG -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := NFloattext Debug + + +# Define metamake targets and their dependencies +#MM classes-zune-nfloattext-class : core-linklibs includes-generate-deps +#MM classes-zune-nfloattext-class-kobj : core-linklibs includes-generate-deps +#MM classes-zune-nfloattext-class-kobj-quick +#MM classes-zune-nfloattext-class-quick +#MM classes-zune-nfloattext-class-clean + +classes-zune-nfloattext-class_ALLTARGETS := classes-zune-nfloattext-class classes-zune-nfloattext-class-clean classes-zune-nfloattext-class-quick classes-zune-nfloattext-class-kobj + +.PHONY : $(classes-zune-nfloattext-class_ALLTARGETS) + +ifeq (NFloattext,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (mcc,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +classes-zune-nfloattext-class_DEFLINKLIBNAME := NFloattext +classes-zune-nfloattext-class_CFLAGS := $(CFLAGS) +classes-zune-nfloattext-class_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +classes-zune-nfloattext-class_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(classes-zune-nfloattext-class_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nfloattext-class_FUNCINSTR := yes +classes-zune-nfloattext-class_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(classes-zune-nfloattext-class_CFLAGS)) +endif +endif +ifneq (,) + classes-zune-nfloattext-class_DFLAGS := +else + classes-zune-nfloattext-class_DFLAGS := $(classes-zune-nfloattext-class_CFLAGS) +endif +classes-zune-nfloattext-class_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +classes-zune-nfloattext-class_MODDIR := +ifeq ($(classes-zune-nfloattext-class_MODDIR),) + ifeq (mcc,library) + classes-zune-nfloattext-class_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (mcc,gadget) + classes-zune-nfloattext-class_MODDIR := $(AROS_GADGETS) + endif + ifeq (mcc,datatype) + classes-zune-nfloattext-class_MODDIR := $(AROS_DATATYPES) + endif + ifeq (mcc,handler) + classes-zune-nfloattext-class_MODDIR := $(AROS_FS) + endif + ifeq (mcc,device) + classes-zune-nfloattext-class_MODDIR := $(AROS_DEVS) + endif + ifeq (mcc,resource) + classes-zune-nfloattext-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,hook) + classes-zune-nfloattext-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,mui) + classes-zune-nfloattext-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcc) + classes-zune-nfloattext-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcp) + classes-zune-nfloattext-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,usbclass) + classes-zune-nfloattext-class_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (mcc,hidd) + classes-zune-nfloattext-class_MODDIR := $(AROS_DRIVERS) + endif + ifeq (mcc,printer) + classes-zune-nfloattext-class_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(classes-zune-nfloattext-class_MODDIR),) + $(error Don't know where to put the file for modtype mcc. Specify moduledir=) +endif + +classes-zune-nfloattext-class_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +classes-zune-nfloattext-class_ARCHFILES := $(basename $(notdir $(classes-zune-nfloattext-class_ARCHOBJS))) +classes-zune-nfloattext-class_C_NARCHFILES := $(filter-out $(classes-zune-nfloattext-class_ARCHFILES),library $(FILES)) +classes-zune-nfloattext-class_CXX_NARCHFILES := $(filter-out $(classes-zune-nfloattext-class_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +classes-zune-nfloattext-class_OBJC_NARCHFILES := $(filter-out $(classes-zune-nfloattext-class_ARCHFILES),) + + +classes-zune-nfloattext-class_CXXABSBASENAMES := $(foreach classes-zune-nfloattext-class_CXXBASE,$(classes-zune-nfloattext-class_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nfloattext-class_CXXBASE)),$(classes-zune-nfloattext-class_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nfloattext-class_CXXBASE)))) + +ifneq ($(classes-zune-nfloattext-class_CXXABSBASENAMES),) + +classes-zune-nfloattext-class_CXXBASENAMES := $(basename $(classes-zune-nfloattext-class_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nfloattext-class_MCXX_FILES := $(strip $(foreach classes-zune-nfloattext-class_CXXBASE,$(classes-zune-nfloattext-class_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nfloattext-class_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nfloattext-class_EXT),$(classes-zune-nfloattext-class_CXXBASE))))))) + +ifeq (,) +classes-zune-nfloattext-class_MCXX_SRCWILDCARD := % +else +classes-zune-nfloattext-class_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nfloattext-class_CXXTARGETS := $(notdir $(classes-zune-nfloattext-class_CXXBASENAMES:=.o)) + classes-zune-nfloattext-class_CXXDTARGETS := $(notdir $(classes-zune-nfloattext-class_CXXBASENAMES:=.d)) + classes-zune-nfloattext-class_MCXX_WILDCARD := % +else + classes-zune-nfloattext-class_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nfloattext-class_CXXBASENAMES:=.o))) + classes-zune-nfloattext-class_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nfloattext-class_CXXBASENAMES:=.d))) + classes-zune-nfloattext-class_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nfloattext-class_CXXTARGETS) $(classes-zune-nfloattext-class_CXXDTARGETS) : | $(classes-zune-nfloattext-class_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nfloattext-class_MCXX_CPPFLAGS := $(CPPFLAGS) +classes-zune-nfloattext-class_CXXFLAGS := $(classes-zune-nfloattext-class_CXXFLAGS) +ifeq ($(classes-zune-nfloattext-class_DXXFLAGS),) + classes-zune-nfloattext-class_DXXFLAGS := $(classes-zune-nfloattext-class_CXXFLAGS) +else + classes-zune-nfloattext-class_DXXFLAGS := $(classes-zune-nfloattext-class_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nfloattext-class_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nfloattext-class_STRIP ?= $(HOST_STRIP) + classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nfloattext-class_CXXCMD:=$(HOST_CXX) + classes-zune-nfloattext-class_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nfloattext-class_MCXX_CPPFLAGS) $(classes-zune-nfloattext-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nfloattext-class_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nfloattext-class_CXXFLAGS)) + classes-zune-nfloattext-class_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nfloattext-class_DXXFLAGS)) + classes-zune-nfloattext-class_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nfloattext-class_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nfloattext-class_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nfloattext-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nfloattext-class_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nfloattext-class_MCXX_CPPFLAGS := $(strip $(classes-zune-nfloattext-class_MCXX_CPPFLAGS) $(classes-zune-nfloattext-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nfloattext-class_CXXFLAGS := $(strip $(classes-zune-nfloattext-class_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nfloattext-class_DXXFLAGS := $(classes-zune-nfloattext-class_DXXFLAGS) + classes-zune-nfloattext-class_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nfloattext-class_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nfloattext-class_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nfloattext-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nfloattext-class_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nfloattext-class_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nfloattext-class_MCXX_CPPFLAGS) $(classes-zune-nfloattext-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nfloattext-class_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nfloattext-class_CXXFLAGS)) + classes-zune-nfloattext-class_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nfloattext-class_DXXFLAGS)) + classes-zune-nfloattext-class_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nfloattext-class_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nfloattext-class_CXXCMD) $(classes-zune-nfloattext-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nfloattext-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_CXXIQUOTE) . $(classes-zune-nfloattext-class_CXXIQUOTE_END) $(strip $(classes-zune-nfloattext-class_CXXFLAGS) $(classes-zune-nfloattext-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nfloattext-class_CXXCMD) $(classes-zune-nfloattext-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nfloattext-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_CXXIQUOTE) . $(classes-zune-nfloattext-class_CXXIQUOTE_END) $(strip $(classes-zune-nfloattext-class_CXXFLAGS) $(classes-zune-nfloattext-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nfloattext-class_CXXCMD) $(classes-zune-nfloattext-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nfloattext-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_CXXIQUOTE) . $(classes-zune-nfloattext-class_CXXIQUOTE_END) $(strip $(classes-zune-nfloattext-class_CXXFLAGS) $(classes-zune-nfloattext-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nfloattext-class_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nfloattext-class_DXXFLAGS) $(classes-zune-nfloattext-class_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach classes-zune-nfloattext-class_CXXFILE,$(classes-zune-nfloattext-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nfloattext-class_CXXFILE))),$(classes-zune-nfloattext-class_CXXFILE)))) +else + $(foreach classes-zune-nfloattext-class_CXXFILE,$(classes-zune-nfloattext-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(classes-zune-nfloattext-class_CXXFILE)))),$(classes-zune-nfloattext-class_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nfloattext-class_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nfloattext-class_MOBJC_SRCWILDCARD := % +else +classes-zune-nfloattext-class_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nfloattext-class_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nfloattext-class_OBJC_NARCHFILES)) + classes-zune-nfloattext-class_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nfloattext-class_OBJC_NARCHFILES)) + classes-zune-nfloattext-class_MOBJC_WILDCARD := % +else + classes-zune-nfloattext-class_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nfloattext-class_OBJC_NARCHFILES))) + classes-zune-nfloattext-class_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nfloattext-class_OBJC_NARCHFILES))) + classes-zune-nfloattext-class_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nfloattext-class_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nfloattext-class_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nfloattext-class_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nfloattext-class_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nfloattext-class_MOBJC_DIRS := $(foreach dir, $(classes-zune-nfloattext-class_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nfloattext-class_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nfloattext-class_MOBJC_DIRS),) + classes-zune-nfloattext-class_MOBJC_DIRS := $(shell echo $(classes-zune-nfloattext-class_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nfloattext-class_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nfloattext-class_CC := $(TARGET_CC) +else + classes-zune-nfloattext-class_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nfloattext-class_MOBJC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nfloattext-class_OBJCFLAGS := $(classes-zune-nfloattext-class_CFLAGS) +classes-zune-nfloattext-class_OBJCFLAGS := $(classes-zune-nfloattext-class_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nfloattext-class_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nfloattext-class_OBJCFLAGS))) +ifeq ($(classes-zune-nfloattext-class_DFLAGS),) + classes-zune-nfloattext-class_OBJCDFLAGS := $(classes-zune-nfloattext-class_CFLAGS) +else + classes-zune-nfloattext-class_OBJCDFLAGS := $(classes-zune-nfloattext-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nfloattext-class_LINK ?= $(strip $(classes-zune-nfloattext-class_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nfloattext-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nfloattext-class_CC) $(TARGET_SYSROOT)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nfloattext-class_MOBJC_CPPFLAGS) $(classes-zune-nfloattext-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_OBJCFLAGS:=$(strip $(classes-zune-nfloattext-class_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_OBJCDFLAGS:=$(classes-zune-nfloattext-class_OBJCDFLAGS) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nfloattext-class_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nfloattext-class_STRIP ?= $(HOST_STRIP) + classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nfloattext-class_MOBJC_CPPFLAGS) $(classes-zune-nfloattext-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nfloattext-class_OBJCFLAGS)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nfloattext-class_OBJCDFLAGS)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nfloattext-class_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nfloattext-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nfloattext-class_MOBJC_CPPFLAGS) $(classes-zune-nfloattext-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nfloattext-class_OBJCFLAGS)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nfloattext-class_OBJCDFLAGS)) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nfloattext-class_MOBJC_TARGETS) $(classes-zune-nfloattext-class_MOBJC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nfloattext-class_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nfloattext-class_MOBJC_CPPFLAGS) +$(classes-zune-nfloattext-class_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nfloattext-class_OBJCFLAGS) +$(classes-zune-nfloattext-class_MOBJC_TARGETS) : $(classes-zune-nfloattext-class_MOBJC_WILDCARD).o : $(classes-zune-nfloattext-class_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nfloattext-class_IQUOTE) $(dir $<) $(classes-zune-nfloattext-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_IQUOTE) . $(classes-zune-nfloattext-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nfloattext-class_IQUOTE) $(dir $<) $(classes-zune-nfloattext-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_IQUOTE) . $(classes-zune-nfloattext-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nfloattext-class_IQUOTE) $(dir $<) $(classes-zune-nfloattext-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_IQUOTE) . $(classes-zune-nfloattext-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nfloattext-class_MOBJC_DTARGETS) : $(classes-zune-nfloattext-class_MOBJC_WILDCARD).d : $(classes-zune-nfloattext-class_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nfloattext-class_OBJCDFLAGS) $(classes-zune-nfloattext-class_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nfloattext-class_MC_SRCWILDCARD := % +else +classes-zune-nfloattext-class_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +classes-zune-nfloattext-class_MC_TARGETS := $(addsuffix .o,$(classes-zune-nfloattext-class_C_NARCHFILES)) +classes-zune-nfloattext-class_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nfloattext-class_C_NARCHFILES)) +classes-zune-nfloattext-class_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nfloattext-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nfloattext-class_C_NARCHFILES)))) + classes-zune-nfloattext-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nfloattext-class_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nfloattext-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nfloattext-class_C_NARCHFILES))) + classes-zune-nfloattext-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nfloattext-class_C_NARCHFILES))) +else + classes-zune-nfloattext-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nfloattext-class_C_NARCHFILES)))) + classes-zune-nfloattext-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nfloattext-class_C_NARCHFILES)))) +endif +endif +classes-zune-nfloattext-class_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nfloattext-class_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nfloattext-class_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nfloattext-class_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nfloattext-class_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nfloattext-class_MC_DIRS := $(foreach dir, $(classes-zune-nfloattext-class_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nfloattext-class_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nfloattext-class_MC_DIRS),) + classes-zune-nfloattext-class_MC_DIRS := $(shell echo $(classes-zune-nfloattext-class_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nfloattext-class_MC_DIRS) +endif + +endif + +classes-zune-nfloattext-class_MC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nfloattext-class_CFLAGS := $(classes-zune-nfloattext-class_CFLAGS) +ifeq ($(classes-zune-nfloattext-class_DFLAGS),) + classes-zune-nfloattext-class_DFLAGS := $(classes-zune-nfloattext-class_CFLAGS) +else + classes-zune-nfloattext-class_DFLAGS := $(classes-zune-nfloattext-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nfloattext-class_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nfloattext-class_STRIP ?= $(TARGET_STRIP) +classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_MC_CPPFLAGS:=$(strip $(classes-zune-nfloattext-class_MC_CPPFLAGS) $(classes-zune-nfloattext-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_CFLAGS:=$(strip $(classes-zune-nfloattext-class_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_DFLAGS:=$(classes-zune-nfloattext-class_DFLAGS) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nfloattext-class_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nfloattext-class_STRIP ?= $(HOST_STRIP) +classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nfloattext-class_MC_CPPFLAGS) $(classes-zune-nfloattext-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nfloattext-class_CFLAGS)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nfloattext-class_DFLAGS)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nfloattext-class_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nfloattext-class_STRIP ?= $(ECHO) >/dev/null +classes-zune-nfloattext-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nfloattext-class_MC_CPPFLAGS) $(classes-zune-nfloattext-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nfloattext-class_CFLAGS)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nfloattext-class_DFLAGS)) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nfloattext-class_MC_TARGETS) $(classes-zune-nfloattext-class_MC_DTARGETS) : classes-zune-nfloattext-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nfloattext-class_MC_TARGETS) : CPPFLAGS := $(classes-zune-nfloattext-class_MC_CPPFLAGS) +$(classes-zune-nfloattext-class_MC_TARGETS) : CFLAGS := $(classes-zune-nfloattext-class_CFLAGS) +$(classes-zune-nfloattext-class_MC_TARGETS) : $(classes-zune-nfloattext-class_MC_TGTWILDCARD).o : $(classes-zune-nfloattext-class_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nfloattext-class_IQUOTE) $(dir $<) $(classes-zune-nfloattext-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_IQUOTE) . $(classes-zune-nfloattext-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nfloattext-class_IQUOTE) $(dir $<) $(classes-zune-nfloattext-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_IQUOTE) . $(classes-zune-nfloattext-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nfloattext-class_IQUOTE) $(dir $<) $(classes-zune-nfloattext-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nfloattext-class_IQUOTE) . $(classes-zune-nfloattext-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nfloattext-class_MC_DTARGETS) : $(classes-zune-nfloattext-class_MC_TGTWILDCARD).d : $(classes-zune-nfloattext-class_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nfloattext-class_DFLAGS) $(classes-zune-nfloattext-class_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (mcc,handler) +classes-zune-nfloattext-class_MODULE := $(classes-zune-nfloattext-class_MODDIR)/NFloattext-mcc +else +ifeq (mcc,printer) +classes-zune-nfloattext-class_MODULE := $(classes-zune-nfloattext-class_MODDIR)/NFloattext +else +classes-zune-nfloattext-class_MODULE := $(classes-zune-nfloattext-class_MODDIR)/NFloattext.mcc +endif +endif +classes-zune-nfloattext-class_KOBJ := $(KOBJSDIR)/NFloattext_mcc.o + +classes-zune-nfloattext-class-quick : classes-zune-nfloattext-class +classes-zune-nfloattext-class-kobj-quick : $(classes-zune-nfloattext-class_KOBJ) +classes-zune-nfloattext-class : $(classes-zune-nfloattext-class_MODULE) +classes-zune-nfloattext-class-kobj : $(classes-zune-nfloattext-class_KOBJ) + +# The module is linked from all the compiled .o files +classes-zune-nfloattext-class_OBJS := $(classes-zune-nfloattext-class_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(classes-zune-nfloattext-class_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (NFloattext,con) + classes-zune-nfloattext-class_ERR := $(notdir $(classes-zune-nfloattext-class_MODULE)).err +else + classes-zune-nfloattext-class_ERR := NFloattext.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(NFloattext_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(NFloattext_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(classes-zune-nfloattext-class_MODULE) : LIB_NAMES := $(NFloattext_LIBS) +$(classes-zune-nfloattext-class_MODULE) : OBJS := $(classes-zune-nfloattext-class_OBJS) +$(classes-zune-nfloattext-class_MODULE) : ENDTAG := +$(classes-zune-nfloattext-class_MODULE) : ERR := $(classes-zune-nfloattext-class_ERR) +$(classes-zune-nfloattext-class_MODULE) : OBJDIR := $(OBJDIR) +$(classes-zune-nfloattext-class_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(classes-zune-nfloattext-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(classes-zune-nfloattext-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(classes-zune-nfloattext-class_MODULE) : $(classes-zune-nfloattext-class_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +classes-zune-nfloattext-class_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +classes-zune-nfloattext-class_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +classes-zune-nfloattext-class_SYMBOLS := $(classes-zune-nfloattext-class_KBASE) + +classes-zune-nfloattext-class_KLIB := hiddstubs amiga arossupport autoinit libinit +classes-zune-nfloattext-class_KOBJ_LIBS := $(filter-out $(classes-zune-nfloattext-class_KLIB),) $(classes-zune-nfloattext-class_KAUTOLIB) +$(classes-zune-nfloattext-class_KOBJ) : LINKLIBS:=$(classes-zune-nfloattext-class_KOBJ_LIBS) +$(classes-zune-nfloattext-class_KOBJ) : FILTBASES:=$(addprefix -L ,$(classes-zune-nfloattext-class_SYMBOLS)) +$(classes-zune-nfloattext-class_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(classes-zune-nfloattext-class_KOBJ) : $(classes-zune-nfloattext-class_OBJS) $(classes-zune-nfloattext-class_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +classes-zune-nfloattext-class_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,library $(FILES))) +ifneq ($(classes-zune-nfloattext-class_DEPS),) + ifneq (classes-zune-nfloattext-class classes-zune-nfloattext-class-quick classes-zune-nfloattext-class-kobj,) + ifneq ($(findstring $(TARGET),classes-zune-nfloattext-class classes-zune-nfloattext-class-quick classes-zune-nfloattext-class-kobj),) + -include $(classes-zune-nfloattext-class_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nfloattext-class_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nfloattext-class_OBJS) $(classes-zune-nfloattext-class_DEPS) $(classes-zune-nfloattext-class_MODULE) $(classes-zune-nfloattext-class_KOBJ),) +$(classes-zune-nfloattext-class_OBJS) $(classes-zune-nfloattext-class_DEPS) $(classes-zune-nfloattext-class_MODULE) $(classes-zune-nfloattext-class_KOBJ) : | $(OBJDIR) $(classes-zune-nfloattext-class_MODDIR) $(KOBJSDIR) +else +$(classes-zune-nfloattext-class_OBJS) $(classes-zune-nfloattext-class_DEPS) $(classes-zune-nfloattext-class_MODULE) $(classes-zune-nfloattext-class_KOBJ) :: $(OBJDIR) $(classes-zune-nfloattext-class_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(classes-zune-nfloattext-class_MODDIR) $(KOBJSDIR) + + +classes-zune-nfloattext-class-clean : FILES := $(classes-zune-nfloattext-class_OBJS) $(classes-zune-nfloattext-class_MODULE) $(classes-zune-nfloattext-class_KOBJ) $(classes-zune-nfloattext-class_DEPS) +classes-zune-nfloattext-class-clean :: + $(Q)$(ECHO) "Cleaning up for module NFloattext" + $(Q)$(RM) $(FILES) + + +#MM includes-copy + +INCLUDE_FILES := ../include/mui/NFloattext_mcc.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (../include/mui,) +TMP_DIR := ../include/mui +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ../include/mui,$(GENINCDIR)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := ../include/mui/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/../include/mui/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (../include/mui,) +BD_INCL_FILES2 := $(subst ../include/mui,$(AROS_INCLUDES)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/nlist/nlist_mcc/mmakefile b/workbench/classes/zune/nlist/nlist_mcc/mmakefile new file mode 100644 index 00000000000..3201b99fd42 --- /dev/null +++ b/workbench/classes/zune/nlist/nlist_mcc/mmakefile @@ -0,0 +1,1268 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM classes-zune-nlist-class : includes linklibs + +#MM classes-zune-nlist-test : includes linklibs + +FILES := \ + NList_mcc \ + NList_mcc0 \ + NList_mcc1 \ + NList_mcc2 \ + NList_mcc3 \ + NList_mcc4 \ + NList_mcc5 \ + NList_mcc6 \ + move \ + NList_func \ + NList_func2 \ + NList_func3 \ + NList_func4 \ + NList_grp \ + NList_img \ + NList_img2 \ + ClipboardServer \ + Pointer \ + Debug + +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/../include -I$(SRCDIR)/$(CURDIR)/../nlistviews_mcp \ + -idirafter $(SRCDIR)/$(CURDIR)/../include/mui + +USER_CPPFLAGS := -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + + +# Define metamake targets and their dependencies +#MM classes-zune-nlist-class : core-linklibs includes-generate-deps +#MM classes-zune-nlist-class-kobj : core-linklibs includes-generate-deps +#MM classes-zune-nlist-class-kobj-quick +#MM classes-zune-nlist-class-quick +#MM classes-zune-nlist-class-clean + +classes-zune-nlist-class_ALLTARGETS := classes-zune-nlist-class classes-zune-nlist-class-clean classes-zune-nlist-class-quick classes-zune-nlist-class-kobj + +.PHONY : $(classes-zune-nlist-class_ALLTARGETS) + +ifeq (NList,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (mcc,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +classes-zune-nlist-class_DEFLINKLIBNAME := NList +classes-zune-nlist-class_CFLAGS := $(CFLAGS) +classes-zune-nlist-class_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +classes-zune-nlist-class_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(classes-zune-nlist-class_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlist-class_FUNCINSTR := yes +classes-zune-nlist-class_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(classes-zune-nlist-class_CFLAGS)) +endif +endif +ifneq (,) + classes-zune-nlist-class_DFLAGS := +else + classes-zune-nlist-class_DFLAGS := $(classes-zune-nlist-class_CFLAGS) +endif +classes-zune-nlist-class_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +classes-zune-nlist-class_MODDIR := +ifeq ($(classes-zune-nlist-class_MODDIR),) + ifeq (mcc,library) + classes-zune-nlist-class_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (mcc,gadget) + classes-zune-nlist-class_MODDIR := $(AROS_GADGETS) + endif + ifeq (mcc,datatype) + classes-zune-nlist-class_MODDIR := $(AROS_DATATYPES) + endif + ifeq (mcc,handler) + classes-zune-nlist-class_MODDIR := $(AROS_FS) + endif + ifeq (mcc,device) + classes-zune-nlist-class_MODDIR := $(AROS_DEVS) + endif + ifeq (mcc,resource) + classes-zune-nlist-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,hook) + classes-zune-nlist-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,mui) + classes-zune-nlist-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcc) + classes-zune-nlist-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcp) + classes-zune-nlist-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,usbclass) + classes-zune-nlist-class_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (mcc,hidd) + classes-zune-nlist-class_MODDIR := $(AROS_DRIVERS) + endif + ifeq (mcc,printer) + classes-zune-nlist-class_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(classes-zune-nlist-class_MODDIR),) + $(error Don't know where to put the file for modtype mcc. Specify moduledir=) +endif + +classes-zune-nlist-class_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +classes-zune-nlist-class_ARCHFILES := $(basename $(notdir $(classes-zune-nlist-class_ARCHOBJS))) +classes-zune-nlist-class_C_NARCHFILES := $(filter-out $(classes-zune-nlist-class_ARCHFILES),library $(FILES)) +classes-zune-nlist-class_CXX_NARCHFILES := $(filter-out $(classes-zune-nlist-class_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +classes-zune-nlist-class_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlist-class_ARCHFILES),) + + +classes-zune-nlist-class_CXXABSBASENAMES := $(foreach classes-zune-nlist-class_CXXBASE,$(classes-zune-nlist-class_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlist-class_CXXBASE)),$(classes-zune-nlist-class_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlist-class_CXXBASE)))) + +ifneq ($(classes-zune-nlist-class_CXXABSBASENAMES),) + +classes-zune-nlist-class_CXXBASENAMES := $(basename $(classes-zune-nlist-class_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlist-class_MCXX_FILES := $(strip $(foreach classes-zune-nlist-class_CXXBASE,$(classes-zune-nlist-class_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlist-class_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlist-class_EXT),$(classes-zune-nlist-class_CXXBASE))))))) + +ifeq (,) +classes-zune-nlist-class_MCXX_SRCWILDCARD := % +else +classes-zune-nlist-class_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlist-class_CXXTARGETS := $(notdir $(classes-zune-nlist-class_CXXBASENAMES:=.o)) + classes-zune-nlist-class_CXXDTARGETS := $(notdir $(classes-zune-nlist-class_CXXBASENAMES:=.d)) + classes-zune-nlist-class_MCXX_WILDCARD := % +else + classes-zune-nlist-class_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlist-class_CXXBASENAMES:=.o))) + classes-zune-nlist-class_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlist-class_CXXBASENAMES:=.d))) + classes-zune-nlist-class_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlist-class_CXXTARGETS) $(classes-zune-nlist-class_CXXDTARGETS) : | $(classes-zune-nlist-class_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlist-class_MCXX_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlist-class_CXXFLAGS := $(classes-zune-nlist-class_CXXFLAGS) +ifeq ($(classes-zune-nlist-class_DXXFLAGS),) + classes-zune-nlist-class_DXXFLAGS := $(classes-zune-nlist-class_CXXFLAGS) +else + classes-zune-nlist-class_DXXFLAGS := $(classes-zune-nlist-class_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlist-class_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlist-class_STRIP ?= $(HOST_STRIP) + classes-zune-nlist-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlist-class_CXXCMD:=$(HOST_CXX) + classes-zune-nlist-class_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlist-class_MCXX_CPPFLAGS) $(classes-zune-nlist-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-class_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlist-class_CXXFLAGS)) + classes-zune-nlist-class_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlist-class_DXXFLAGS)) + classes-zune-nlist-class_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlist-class_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlist-class_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlist-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nlist-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlist-class_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlist-class_MCXX_CPPFLAGS := $(strip $(classes-zune-nlist-class_MCXX_CPPFLAGS) $(classes-zune-nlist-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-class_CXXFLAGS := $(strip $(classes-zune-nlist-class_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlist-class_DXXFLAGS := $(classes-zune-nlist-class_DXXFLAGS) + classes-zune-nlist-class_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlist-class_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlist-class_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlist-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlist-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlist-class_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlist-class_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlist-class_MCXX_CPPFLAGS) $(classes-zune-nlist-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-class_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlist-class_CXXFLAGS)) + classes-zune-nlist-class_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlist-class_DXXFLAGS)) + classes-zune-nlist-class_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlist-class_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlist-class_CXXCMD) $(classes-zune-nlist-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_CXXIQUOTE) . $(classes-zune-nlist-class_CXXIQUOTE_END) $(strip $(classes-zune-nlist-class_CXXFLAGS) $(classes-zune-nlist-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlist-class_CXXCMD) $(classes-zune-nlist-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_CXXIQUOTE) . $(classes-zune-nlist-class_CXXIQUOTE_END) $(strip $(classes-zune-nlist-class_CXXFLAGS) $(classes-zune-nlist-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlist-class_CXXCMD) $(classes-zune-nlist-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_CXXIQUOTE) . $(classes-zune-nlist-class_CXXIQUOTE_END) $(strip $(classes-zune-nlist-class_CXXFLAGS) $(classes-zune-nlist-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlist-class_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-class_DXXFLAGS) $(classes-zune-nlist-class_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach classes-zune-nlist-class_CXXFILE,$(classes-zune-nlist-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlist-class_CXXFILE))),$(classes-zune-nlist-class_CXXFILE)))) +else + $(foreach classes-zune-nlist-class_CXXFILE,$(classes-zune-nlist-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(classes-zune-nlist-class_CXXFILE)))),$(classes-zune-nlist-class_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlist-class_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlist-class_MOBJC_SRCWILDCARD := % +else +classes-zune-nlist-class_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlist-class_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlist-class_OBJC_NARCHFILES)) + classes-zune-nlist-class_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlist-class_OBJC_NARCHFILES)) + classes-zune-nlist-class_MOBJC_WILDCARD := % +else + classes-zune-nlist-class_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlist-class_OBJC_NARCHFILES))) + classes-zune-nlist-class_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlist-class_OBJC_NARCHFILES))) + classes-zune-nlist-class_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlist-class_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlist-class_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlist-class_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlist-class_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlist-class_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlist-class_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlist-class_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlist-class_MOBJC_DIRS),) + classes-zune-nlist-class_MOBJC_DIRS := $(shell echo $(classes-zune-nlist-class_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlist-class_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlist-class_CC := $(TARGET_CC) +else + classes-zune-nlist-class_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlist-class_MOBJC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlist-class_OBJCFLAGS := $(classes-zune-nlist-class_CFLAGS) +classes-zune-nlist-class_OBJCFLAGS := $(classes-zune-nlist-class_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlist-class_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlist-class_OBJCFLAGS))) +ifeq ($(classes-zune-nlist-class_DFLAGS),) + classes-zune-nlist-class_OBJCDFLAGS := $(classes-zune-nlist-class_CFLAGS) +else + classes-zune-nlist-class_OBJCDFLAGS := $(classes-zune-nlist-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlist-class_LINK ?= $(strip $(classes-zune-nlist-class_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlist-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nlist-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlist-class_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlist-class_MOBJC_CPPFLAGS) $(classes-zune-nlist-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_OBJCFLAGS:=$(strip $(classes-zune-nlist-class_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_OBJCDFLAGS:=$(classes-zune-nlist-class_OBJCDFLAGS) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlist-class_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlist-class_STRIP ?= $(HOST_STRIP) + classes-zune-nlist-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlist-class_MOBJC_CPPFLAGS) $(classes-zune-nlist-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-class_OBJCFLAGS)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-class_OBJCDFLAGS)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlist-class_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlist-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlist-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlist-class_MOBJC_CPPFLAGS) $(classes-zune-nlist-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-class_OBJCFLAGS)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-class_OBJCDFLAGS)) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlist-class_MOBJC_TARGETS) $(classes-zune-nlist-class_MOBJC_DTARGETS) : classes-zune-nlist-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlist-class_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlist-class_MOBJC_CPPFLAGS) +$(classes-zune-nlist-class_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlist-class_OBJCFLAGS) +$(classes-zune-nlist-class_MOBJC_TARGETS) : $(classes-zune-nlist-class_MOBJC_WILDCARD).o : $(classes-zune-nlist-class_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlist-class_IQUOTE) $(dir $<) $(classes-zune-nlist-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_IQUOTE) . $(classes-zune-nlist-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlist-class_IQUOTE) $(dir $<) $(classes-zune-nlist-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_IQUOTE) . $(classes-zune-nlist-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlist-class_IQUOTE) $(dir $<) $(classes-zune-nlist-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_IQUOTE) . $(classes-zune-nlist-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlist-class_MOBJC_DTARGETS) : $(classes-zune-nlist-class_MOBJC_WILDCARD).d : $(classes-zune-nlist-class_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-class_OBJCDFLAGS) $(classes-zune-nlist-class_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlist-class_MC_SRCWILDCARD := % +else +classes-zune-nlist-class_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +classes-zune-nlist-class_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlist-class_C_NARCHFILES)) +classes-zune-nlist-class_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlist-class_C_NARCHFILES)) +classes-zune-nlist-class_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlist-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlist-class_C_NARCHFILES)))) + classes-zune-nlist-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlist-class_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlist-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlist-class_C_NARCHFILES))) + classes-zune-nlist-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlist-class_C_NARCHFILES))) +else + classes-zune-nlist-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlist-class_C_NARCHFILES)))) + classes-zune-nlist-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlist-class_C_NARCHFILES)))) +endif +endif +classes-zune-nlist-class_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlist-class_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlist-class_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlist-class_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlist-class_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlist-class_MC_DIRS := $(foreach dir, $(classes-zune-nlist-class_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlist-class_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlist-class_MC_DIRS),) + classes-zune-nlist-class_MC_DIRS := $(shell echo $(classes-zune-nlist-class_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlist-class_MC_DIRS) +endif + +endif + +classes-zune-nlist-class_MC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlist-class_CFLAGS := $(classes-zune-nlist-class_CFLAGS) +ifeq ($(classes-zune-nlist-class_DFLAGS),) + classes-zune-nlist-class_DFLAGS := $(classes-zune-nlist-class_CFLAGS) +else + classes-zune-nlist-class_DFLAGS := $(classes-zune-nlist-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlist-class_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlist-class_STRIP ?= $(TARGET_STRIP) +classes-zune-nlist-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_MC_CPPFLAGS:=$(strip $(classes-zune-nlist-class_MC_CPPFLAGS) $(classes-zune-nlist-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_CFLAGS:=$(strip $(classes-zune-nlist-class_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_DFLAGS:=$(classes-zune-nlist-class_DFLAGS) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlist-class_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlist-class_STRIP ?= $(HOST_STRIP) +classes-zune-nlist-class_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlist-class_MC_CPPFLAGS) $(classes-zune-nlist-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-class_CFLAGS)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-class_DFLAGS)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlist-class_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlist-class_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlist-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlist-class_MC_CPPFLAGS) $(classes-zune-nlist-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-class_CFLAGS)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-class_DFLAGS)) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlist-class_MC_TARGETS) $(classes-zune-nlist-class_MC_DTARGETS) : classes-zune-nlist-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlist-class_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlist-class_MC_CPPFLAGS) +$(classes-zune-nlist-class_MC_TARGETS) : CFLAGS := $(classes-zune-nlist-class_CFLAGS) +$(classes-zune-nlist-class_MC_TARGETS) : $(classes-zune-nlist-class_MC_TGTWILDCARD).o : $(classes-zune-nlist-class_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlist-class_IQUOTE) $(dir $<) $(classes-zune-nlist-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_IQUOTE) . $(classes-zune-nlist-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlist-class_IQUOTE) $(dir $<) $(classes-zune-nlist-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_IQUOTE) . $(classes-zune-nlist-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlist-class_IQUOTE) $(dir $<) $(classes-zune-nlist-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-class_IQUOTE) . $(classes-zune-nlist-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlist-class_MC_DTARGETS) : $(classes-zune-nlist-class_MC_TGTWILDCARD).d : $(classes-zune-nlist-class_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-class_DFLAGS) $(classes-zune-nlist-class_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (mcc,handler) +classes-zune-nlist-class_MODULE := $(classes-zune-nlist-class_MODDIR)/NList-mcc +else +ifeq (mcc,printer) +classes-zune-nlist-class_MODULE := $(classes-zune-nlist-class_MODDIR)/NList +else +classes-zune-nlist-class_MODULE := $(classes-zune-nlist-class_MODDIR)/NList.mcc +endif +endif +classes-zune-nlist-class_KOBJ := $(KOBJSDIR)/NList_mcc.o + +classes-zune-nlist-class-quick : classes-zune-nlist-class +classes-zune-nlist-class-kobj-quick : $(classes-zune-nlist-class_KOBJ) +classes-zune-nlist-class : $(classes-zune-nlist-class_MODULE) +classes-zune-nlist-class-kobj : $(classes-zune-nlist-class_KOBJ) + +# The module is linked from all the compiled .o files +classes-zune-nlist-class_OBJS := $(classes-zune-nlist-class_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(classes-zune-nlist-class_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (NList,con) + classes-zune-nlist-class_ERR := $(notdir $(classes-zune-nlist-class_MODULE)).err +else + classes-zune-nlist-class_ERR := NList.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(NList_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(NList_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(classes-zune-nlist-class_MODULE) : LIB_NAMES := $(NList_LIBS) +$(classes-zune-nlist-class_MODULE) : OBJS := $(classes-zune-nlist-class_OBJS) +$(classes-zune-nlist-class_MODULE) : ENDTAG := +$(classes-zune-nlist-class_MODULE) : ERR := $(classes-zune-nlist-class_ERR) +$(classes-zune-nlist-class_MODULE) : OBJDIR := $(OBJDIR) +$(classes-zune-nlist-class_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(classes-zune-nlist-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(classes-zune-nlist-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(classes-zune-nlist-class_MODULE) : $(classes-zune-nlist-class_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +classes-zune-nlist-class_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +classes-zune-nlist-class_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +classes-zune-nlist-class_SYMBOLS := $(classes-zune-nlist-class_KBASE) + +classes-zune-nlist-class_KLIB := hiddstubs amiga arossupport autoinit libinit +classes-zune-nlist-class_KOBJ_LIBS := $(filter-out $(classes-zune-nlist-class_KLIB),) $(classes-zune-nlist-class_KAUTOLIB) +$(classes-zune-nlist-class_KOBJ) : LINKLIBS:=$(classes-zune-nlist-class_KOBJ_LIBS) +$(classes-zune-nlist-class_KOBJ) : FILTBASES:=$(addprefix -L ,$(classes-zune-nlist-class_SYMBOLS)) +$(classes-zune-nlist-class_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(classes-zune-nlist-class_KOBJ) : $(classes-zune-nlist-class_OBJS) $(classes-zune-nlist-class_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +classes-zune-nlist-class_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,library $(FILES))) +ifneq ($(classes-zune-nlist-class_DEPS),) + ifneq (classes-zune-nlist-class classes-zune-nlist-class-quick classes-zune-nlist-class-kobj,) + ifneq ($(findstring $(TARGET),classes-zune-nlist-class classes-zune-nlist-class-quick classes-zune-nlist-class-kobj),) + -include $(classes-zune-nlist-class_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlist-class_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlist-class_OBJS) $(classes-zune-nlist-class_DEPS) $(classes-zune-nlist-class_MODULE) $(classes-zune-nlist-class_KOBJ),) +$(classes-zune-nlist-class_OBJS) $(classes-zune-nlist-class_DEPS) $(classes-zune-nlist-class_MODULE) $(classes-zune-nlist-class_KOBJ) : | $(OBJDIR) $(classes-zune-nlist-class_MODDIR) $(KOBJSDIR) +else +$(classes-zune-nlist-class_OBJS) $(classes-zune-nlist-class_DEPS) $(classes-zune-nlist-class_MODULE) $(classes-zune-nlist-class_KOBJ) :: $(OBJDIR) $(classes-zune-nlist-class_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(classes-zune-nlist-class_MODDIR) $(KOBJSDIR) + + +classes-zune-nlist-class-clean : FILES := $(classes-zune-nlist-class_OBJS) $(classes-zune-nlist-class_MODULE) $(classes-zune-nlist-class_KOBJ) $(classes-zune-nlist-class_DEPS) +classes-zune-nlist-class-clean :: + $(Q)$(ECHO) "Cleaning up for module NList" + $(Q)$(RM) $(FILES) + + + + +.PHONY : classes-zune-nlist-test + +classes-zune-nlist-test_PROGNAME := NList-Test +classes-zune-nlist-test_OBJDIR := $(GENDIR)/$(CURDIR) +classes-zune-nlist-test_TARGETDIR := $(AROS_TESTS)/NList +classes-zune-nlist-test_LINKER := +classes-zune-nlist-test_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(classes-zune-nlist-test_LINKER),) + classes-zune-nlist-test_LINKER := target +endif + +ifneq ("$(strip NList-Test $(FILES) )","") + classes-zune-nlist-test_FILES := NList-Test $(FILES) + classes-zune-nlist-test_OBJCFILES := + classes-zune-nlist-test_ASMFILES := + classes-zune-nlist-test_CXXFILES := +else + classes-zune-nlist-test_FILES := $(classes-zune-nlist-test_PROGNAME) + classes-zune-nlist-test_OBJCFILES := + classes-zune-nlist-test_ASMFILES := + classes-zune-nlist-test_CXXFILES := +endif + +classes-zune-nlist-test_ARCHOBJS := $(wildcard $(classes-zune-nlist-test_OBJDIR)/arch/*.o) +classes-zune-nlist-test_ARCHFILES := $(basename $(notdir $(classes-zune-nlist-test_ARCHOBJS))) +classes-zune-nlist-test_C_NARCHFILES := $(filter-out $(classes-zune-nlist-test_ARCHFILES),$(classes-zune-nlist-test_FILES)) +classes-zune-nlist-test_CXX_NARCHFILES := $(filter-out $(classes-zune-nlist-test_ARCHFILES),$(classes-zune-nlist-test_CXXFILES)) +classes-zune-nlist-test_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlist-test_ARCHFILES),$(classes-zune-nlist-test_OBJCFILES)) + +TMP_FILES := $(classes-zune-nlist-test_C_NARCHFILES) $(classes-zune-nlist-test_CXX_NARCHFILES) $(classes-zune-nlist-test_ASMFILES) $(classes-zune-nlist-test_OBJC_NARCHFILES) +classes-zune-nlist-test_OBJS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(notdir $(TMP_FILES)))) +classes-zune-nlist-test_DEPS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(notdir $(TMP_FILES)))) + +classes-zune-nlist-test_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +classes-zune-nlist-test_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlist-test_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +classes-zune-nlist-test_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlist-test_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +classes-zune-nlist-test_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlist-test_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +classes-zune-nlist-test_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlist-test_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +classes-zune-nlist-test_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlist-test_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +classes-zune-nlist-test_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlist-test_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +classes-zune-nlist-test_LDFLAGS := +endif + +classes-zune-nlist-test_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +classes-zune-nlist-test_COVERAGE := yes +classes-zune-nlist-test_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +classes-zune-nlist-test_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +classes-zune-nlist-test_CFLAGS := $(strip $(classes-zune-nlist-test_COVERAGEFLAGS) $(classes-zune-nlist-test_CFLAGS)) +classes-zune-nlist-test_CXXFLAGS := $(strip $(classes-zune-nlist-test_COVERAGEFLAGS) $(classes-zune-nlist-test_CXXFLAGS)) +classes-zune-nlist-test_LIBS += $(classes-zune-nlist-test_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlist-test_FUNCINSTR := yes +classes-zune-nlist-test_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +classes-zune-nlist-test_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +classes-zune-nlist-test_CFLAGS := $(strip $(classes-zune-nlist-test_INSTRFUNCFLAGS) $(classes-zune-nlist-test_CFLAGS)) +classes-zune-nlist-test_CXXFLAGS := $(strip $(classes-zune-nlist-test_INSTRFUNCFLAGS) $(classes-zune-nlist-test_CXXFLAGS)) +classes-zune-nlist-test_LIBS += $(classes-zune-nlist-test_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +classes-zune-nlist-test_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nlist-test_CFLAGS)) +classes-zune-nlist-test_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nlist-test_CXXFLAGS)) +endif +endif +classes-zune-nlist-test_AFLAGS := $(AFLAGS) +ifneq (,) + classes-zune-nlist-test_DFLAGS := +else + classes-zune-nlist-test_DFLAGS := $(classes-zune-nlist-test_CFLAGS) +endif +ifneq (,) + classes-zune-nlist-test_DXXFLAGS := +else + classes-zune-nlist-test_DXXFLAGS := $(classes-zune-nlist-test_CXXFLAGS) +endif +ifeq (target,target) +classes-zune-nlist-test_LDFLAGS := $(classes-zune-nlist-test_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +classes-zune-nlist-test_LDFLAGS := $(classes-zune-nlist-test_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlist-test_LDFLAGS := $(classes-zune-nlist-test_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +classes-zune-nlist-test_LDFLAGS += -L +endif + +#MM +classes-zune-nlist-test-quick : classes-zune-nlist-test + +#MM classes-zune-nlist-test : includes-generate-deps core-linklibs +classes-zune-nlist-test : $(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) + +ifneq ($(filter $(TARGET),classes-zune-nlist-test classes-zune-nlist-test-quick classes-zune-nlist-test-gz-quick),) + +classes-zune-nlist-test_CXXABSBASENAMES := $(foreach classes-zune-nlist-test_CXXBASE,$(classes-zune-nlist-test_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlist-test_CXXBASE)),$(classes-zune-nlist-test_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlist-test_CXXBASE)))) + +ifneq ($(classes-zune-nlist-test_CXXABSBASENAMES),) + +classes-zune-nlist-test_CXXBASENAMES := $(basename $(classes-zune-nlist-test_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlist-test_MCXX_FILES := $(strip $(foreach classes-zune-nlist-test_CXXBASE,$(classes-zune-nlist-test_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlist-test_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlist-test_EXT),$(classes-zune-nlist-test_CXXBASE))))))) + +ifeq (,) +classes-zune-nlist-test_MCXX_SRCWILDCARD := % +else +classes-zune-nlist-test_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlist-test_OBJDIR),) + classes-zune-nlist-test_CXXTARGETS := $(notdir $(classes-zune-nlist-test_CXXBASENAMES:=.o)) + classes-zune-nlist-test_CXXDTARGETS := $(notdir $(classes-zune-nlist-test_CXXBASENAMES:=.d)) + classes-zune-nlist-test_MCXX_WILDCARD := % +else + classes-zune-nlist-test_CXXTARGETS := $(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(notdir $(classes-zune-nlist-test_CXXBASENAMES:=.o))) + classes-zune-nlist-test_CXXDTARGETS := $(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(notdir $(classes-zune-nlist-test_CXXBASENAMES:=.d))) + classes-zune-nlist-test_MCXX_WILDCARD := $(classes-zune-nlist-test_OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlist-test_CXXTARGETS) $(classes-zune-nlist-test_CXXDTARGETS) : | $(classes-zune-nlist-test_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlist-test_MCXX_CPPFLAGS := $(classes-zune-nlist-test_CPPFLAGS) +classes-zune-nlist-test_CXXFLAGS := $(classes-zune-nlist-test_CXXFLAGS) +ifeq ($(classes-zune-nlist-test_DXXFLAGS),) + classes-zune-nlist-test_DXXFLAGS := $(classes-zune-nlist-test_CXXFLAGS) +else + classes-zune-nlist-test_DXXFLAGS := $(classes-zune-nlist-test_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlist-test_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlist-test_STRIP ?= $(HOST_STRIP) + classes-zune-nlist-test_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlist-test_CXXCMD:=$(HOST_CXX) + classes-zune-nlist-test_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlist-test_MCXX_CPPFLAGS) $(classes-zune-nlist-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-test_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlist-test_CXXFLAGS)) + classes-zune-nlist-test_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlist-test_DXXFLAGS)) + classes-zune-nlist-test_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlist-test_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlist-test_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlist-test_STRIP ?= $(TARGET_STRIP) + classes-zune-nlist-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlist-test_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlist-test_MCXX_CPPFLAGS := $(strip $(classes-zune-nlist-test_MCXX_CPPFLAGS) $(classes-zune-nlist-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-test_CXXFLAGS := $(strip $(classes-zune-nlist-test_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlist-test_DXXFLAGS := $(classes-zune-nlist-test_DXXFLAGS) + classes-zune-nlist-test_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlist-test_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlist-test_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlist-test_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlist-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlist-test_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlist-test_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlist-test_MCXX_CPPFLAGS) $(classes-zune-nlist-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlist-test_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlist-test_CXXFLAGS)) + classes-zune-nlist-test_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlist-test_DXXFLAGS)) + classes-zune-nlist-test_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlist-test_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlist-test_CXXCMD) $(classes-zune-nlist-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_CXXIQUOTE) . $(classes-zune-nlist-test_CXXIQUOTE_END) $(strip $(classes-zune-nlist-test_CXXFLAGS) $(classes-zune-nlist-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlist-test_CXXCMD) $(classes-zune-nlist-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_CXXIQUOTE) . $(classes-zune-nlist-test_CXXIQUOTE_END) $(strip $(classes-zune-nlist-test_CXXFLAGS) $(classes-zune-nlist-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlist-test_CXXCMD) $(classes-zune-nlist-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlist-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_CXXIQUOTE) . $(classes-zune-nlist-test_CXXIQUOTE_END) $(strip $(classes-zune-nlist-test_CXXFLAGS) $(classes-zune-nlist-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlist-test_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-test_DXXFLAGS) $(classes-zune-nlist-test_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(classes-zune-nlist-test_OBJDIR),) + $(foreach classes-zune-nlist-test_CXXFILE,$(classes-zune-nlist-test_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlist-test_CXXFILE))),$(classes-zune-nlist-test_CXXFILE)))) +else + $(foreach classes-zune-nlist-test_CXXFILE,$(classes-zune-nlist-test_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(notdir $(basename $(classes-zune-nlist-test_CXXFILE)))),$(classes-zune-nlist-test_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlist-test_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlist-test_MOBJC_SRCWILDCARD := % +else +classes-zune-nlist-test_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlist-test_OBJDIR),) + classes-zune-nlist-test_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlist-test_OBJC_NARCHFILES)) + classes-zune-nlist-test_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlist-test_OBJC_NARCHFILES)) + classes-zune-nlist-test_MOBJC_WILDCARD := % +else + classes-zune-nlist-test_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(classes-zune-nlist-test_OBJC_NARCHFILES))) + classes-zune-nlist-test_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(classes-zune-nlist-test_OBJC_NARCHFILES))) + classes-zune-nlist-test_MOBJC_WILDCARD := $(classes-zune-nlist-test_OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlist-test_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlist-test_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlist-test_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlist-test_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlist-test_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlist-test_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlist-test_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlist-test_MOBJC_DIRS),) + classes-zune-nlist-test_MOBJC_DIRS := $(shell echo $(classes-zune-nlist-test_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlist-test_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlist-test_CC := $(TARGET_CC) +else + classes-zune-nlist-test_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlist-test_MOBJC_CPPFLAGS := $(classes-zune-nlist-test_CPPFLAGS) +classes-zune-nlist-test_OBJCFLAGS := $(classes-zune-nlist-test_CFLAGS) +classes-zune-nlist-test_OBJCFLAGS := $(classes-zune-nlist-test_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlist-test_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlist-test_OBJCFLAGS))) +ifeq ($(classes-zune-nlist-test_DFLAGS),) + classes-zune-nlist-test_OBJCDFLAGS := $(classes-zune-nlist-test_CFLAGS) +else + classes-zune-nlist-test_OBJCDFLAGS := $(classes-zune-nlist-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlist-test_LINK ?= $(strip $(classes-zune-nlist-test_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlist-test_STRIP ?= $(TARGET_STRIP) + classes-zune-nlist-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlist-test_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlist-test_MOBJC_CPPFLAGS) $(classes-zune-nlist-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_OBJCFLAGS:=$(strip $(classes-zune-nlist-test_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_OBJCDFLAGS:=$(classes-zune-nlist-test_OBJCDFLAGS) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlist-test_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlist-test_STRIP ?= $(HOST_STRIP) + classes-zune-nlist-test_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlist-test_MOBJC_CPPFLAGS) $(classes-zune-nlist-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-test_OBJCFLAGS)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-test_OBJCDFLAGS)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlist-test_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlist-test_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlist-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlist-test_MOBJC_CPPFLAGS) $(classes-zune-nlist-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-test_OBJCFLAGS)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-test_OBJCDFLAGS)) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlist-test_MOBJC_TARGETS) $(classes-zune-nlist-test_MOBJC_DTARGETS) : classes-zune-nlist-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlist-test_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlist-test_MOBJC_CPPFLAGS) +$(classes-zune-nlist-test_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlist-test_OBJCFLAGS) +$(classes-zune-nlist-test_MOBJC_TARGETS) : $(classes-zune-nlist-test_MOBJC_WILDCARD).o : $(classes-zune-nlist-test_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlist-test_IQUOTE) $(dir $<) $(classes-zune-nlist-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_IQUOTE) . $(classes-zune-nlist-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlist-test_IQUOTE) $(dir $<) $(classes-zune-nlist-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_IQUOTE) . $(classes-zune-nlist-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlist-test_IQUOTE) $(dir $<) $(classes-zune-nlist-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_IQUOTE) . $(classes-zune-nlist-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlist-test_MOBJC_DTARGETS) : $(classes-zune-nlist-test_MOBJC_WILDCARD).d : $(classes-zune-nlist-test_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-test_OBJCDFLAGS) $(classes-zune-nlist-test_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlist-test_MC_SRCWILDCARD := % +else +classes-zune-nlist-test_MC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlist-test_OBJDIR),) +classes-zune-nlist-test_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlist-test_C_NARCHFILES)) +classes-zune-nlist-test_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlist-test_C_NARCHFILES)) +classes-zune-nlist-test_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlist-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(notdir $(classes-zune-nlist-test_C_NARCHFILES)))) + classes-zune-nlist-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(notdir $(classes-zune-nlist-test_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlist-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(classes-zune-nlist-test_C_NARCHFILES))) + classes-zune-nlist-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(classes-zune-nlist-test_C_NARCHFILES))) +else + classes-zune-nlist-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlist-test_C_NARCHFILES)))) + classes-zune-nlist-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlist-test_C_NARCHFILES)))) +endif +endif +classes-zune-nlist-test_MC_TGTWILDCARD := $(classes-zune-nlist-test_OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlist-test_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlist-test_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlist-test_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlist-test_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlist-test_MC_DIRS := $(foreach dir, $(classes-zune-nlist-test_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlist-test_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlist-test_MC_DIRS),) + classes-zune-nlist-test_MC_DIRS := $(shell echo $(classes-zune-nlist-test_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlist-test_MC_DIRS) +endif + +endif + +classes-zune-nlist-test_MC_CPPFLAGS := $(classes-zune-nlist-test_CPPFLAGS) +classes-zune-nlist-test_CFLAGS := $(classes-zune-nlist-test_CFLAGS) +ifeq ($(classes-zune-nlist-test_DFLAGS),) + classes-zune-nlist-test_DFLAGS := $(classes-zune-nlist-test_CFLAGS) +else + classes-zune-nlist-test_DFLAGS := $(classes-zune-nlist-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlist-test_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlist-test_STRIP ?= $(TARGET_STRIP) +classes-zune-nlist-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_MC_CPPFLAGS:=$(strip $(classes-zune-nlist-test_MC_CPPFLAGS) $(classes-zune-nlist-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_CFLAGS:=$(strip $(classes-zune-nlist-test_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_DFLAGS:=$(classes-zune-nlist-test_DFLAGS) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlist-test_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlist-test_STRIP ?= $(HOST_STRIP) +classes-zune-nlist-test_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlist-test_MC_CPPFLAGS) $(classes-zune-nlist-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-test_CFLAGS)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlist-test_DFLAGS)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlist-test_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlist-test_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlist-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlist-test_MC_CPPFLAGS) $(classes-zune-nlist-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-test_CFLAGS)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlist-test_DFLAGS)) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlist-test_MC_TARGETS) $(classes-zune-nlist-test_MC_DTARGETS) : classes-zune-nlist-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlist-test_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlist-test_MC_CPPFLAGS) +$(classes-zune-nlist-test_MC_TARGETS) : CFLAGS := $(classes-zune-nlist-test_CFLAGS) +$(classes-zune-nlist-test_MC_TARGETS) : $(classes-zune-nlist-test_MC_TGTWILDCARD).o : $(classes-zune-nlist-test_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlist-test_IQUOTE) $(dir $<) $(classes-zune-nlist-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_IQUOTE) . $(classes-zune-nlist-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlist-test_IQUOTE) $(dir $<) $(classes-zune-nlist-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_IQUOTE) . $(classes-zune-nlist-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlist-test_IQUOTE) $(dir $<) $(classes-zune-nlist-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlist-test_IQUOTE) . $(classes-zune-nlist-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlist-test_MC_DTARGETS) : $(classes-zune-nlist-test_MC_TGTWILDCARD).d : $(classes-zune-nlist-test_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlist-test_DFLAGS) $(classes-zune-nlist-test_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(classes-zune-nlist-test_OBJDIR),) +classes-zune-nlist-test-MA_TARGETS := $(addsuffix .o,$(classes-zune-nlist-test_ASMFILES)) +classes-zune-nlist-test-MA_WILDCARD := % +else +classes-zune-nlist-test-MA_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlist-test_OBJDIR)/,$(notdir $(classes-zune-nlist-test_ASMFILES)))) +classes-zune-nlist-test-MA_WILDCARD := $(classes-zune-nlist-test_OBJDIR)/% + +# Be sure that all .s files are generated +$(classes-zune-nlist-test-MA_TARGETS) : | $(addsuffix .s,$(classes-zune-nlist-test_ASMFILES)) + +# Be sure that all .c files are found +classes-zune-nlist-test-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlist-test-MA_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlist-test_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlist-test-MA_DIRS := $(foreach dir, $(classes-zune-nlist-test-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlist-test-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlist-test-MA_DIRS),) + classes-zune-nlist-test-MA_DIRS := $(shell echo $(classes-zune-nlist-test-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(classes-zune-nlist-test-MA_DIRS) +endif + +endif + +classes-zune-nlist-test-MA_ASSEMBLER ?= $(classes-zune-nlist-test_ASSEMBLER) + +$(classes-zune-nlist-test-MA_TARGETS) : classes-zune-nlist-test-MA_CMD:= $(classes-zune-nlist-test-MA_ASSEMBLER) + +$(classes-zune-nlist-test-MA_TARGETS) : CPPFLAGS := $(classes-zune-nlist-test_CPPFLAGS) +$(classes-zune-nlist-test-MA_TARGETS) : AFLAGS := $(classes-zune-nlist-test_AFLAGS) +$(classes-zune-nlist-test-MA_TARGETS) : $(classes-zune-nlist-test-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(classes-zune-nlist-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(classes-zune-nlist-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(classes-zune-nlist-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +classes-zune-nlist-test-link_EXTRA_LDFLAGS := +classes-zune-nlist-test-link_EXTRA_LIBS := +ifeq (no,yes) + classes-zune-nlist-test-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + classes-zune-nlist-test-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + classes-zune-nlist-test-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +classes-zune-nlist-test-link_DIRS := $(subst -L ,-L,$(strip $(classes-zune-nlist-test_LDFLAGS))) +# Filter out only the libdirs and remove -L +classes-zune-nlist-test-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(classes-zune-nlist-test-link_DIRS))) +# Add trailing / +classes-zune-nlist-test-link_DIRS := $(subst //,/,$(addsuffix /,$(classes-zune-nlist-test-link_DIRS))) +# Add normal linklib path +classes-zune-nlist-test-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +classes-zune-nlist-test-link_LIBS := $(addprefix lib,$(addsuffix .a,$(classes-zune-nlist-test_LIBS) $(classes-zune-nlist-test-link_EXTRA_LIBS))) +ifeq (yes,yes) + classes-zune-nlist-test-link_LIBS += startup.o +endif +ifeq (no,yes) + classes-zune-nlist-test-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +classes-zune-nlist-test-link_DEPLIBS := $(foreach lib,$(classes-zune-nlist-test-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(classes-zune-nlist-test-link_DIRS)))) \ +) + +$(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) : OBJDIR := $(classes-zune-nlist-test_OBJDIR) +$(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) : OBJS := $(classes-zune-nlist-test_OBJS) $(classes-zune-nlist-test_ARCHOBJS) $(USER_OBJS) +$(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) : LDFLAGS := $(strip $(classes-zune-nlist-test_LDFLAGS) $(classes-zune-nlist-test-link_EXTRA_LDFLAGS)) +$(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) : LIBS := $(addprefix -l,$(classes-zune-nlist-test_LIBS) $(classes-zune-nlist-test-link_EXTRA_LIBS) ) +$(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) : $(classes-zune-nlist-test_OBJS) $(classes-zune-nlist-test_ARCHOBJS) $(USER_OBJS) $(classes-zune-nlist-test-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(classes-zune-nlist-test_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(classes-zune-nlist-test_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(classes-zune-nlist-test_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nlist-test_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(classes-zune-nlist-test_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(classes-zune-nlist-test_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nlist-test_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(classes-zune-nlist-test_DEPS),) + ifneq (classes-zune-nlist-test classes-zune-nlist-test-quick,) + ifneq ($(findstring $(TARGET),classes-zune-nlist-test classes-zune-nlist-test-quick),) + -include $(classes-zune-nlist-test_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlist-test_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlist-test_OBJS) $(classes-zune-nlist-test_DEPS) $(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME),) +$(classes-zune-nlist-test_OBJS) $(classes-zune-nlist-test_DEPS) $(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) : | $(classes-zune-nlist-test_OBJDIR) $(classes-zune-nlist-test_TARGETDIR) +else +$(classes-zune-nlist-test_OBJS) $(classes-zune-nlist-test_DEPS) $(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) :: $(classes-zune-nlist-test_OBJDIR) $(classes-zune-nlist-test_TARGETDIR) +endif + +GLOB_MKDIRS += $(classes-zune-nlist-test_OBJDIR) $(classes-zune-nlist-test_TARGETDIR) + + +classes-zune-nlist-test-clean : FILES := $(classes-zune-nlist-test_OBJS) $(classes-zune-nlist-test_TARGETDIR)/$(classes-zune-nlist-test_PROGNAME) $(classes-zune-nlist-test_DEPS) +#MM +classes-zune-nlist-test-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget classes-zune-nlist-test" + $(Q)$(RM) $(FILES) + + + +#MM includes-copy + +INCLUDE_FILES := ../include/mui/NList_mcc.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (../include/mui,) +TMP_DIR := ../include/mui +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ../include/mui,$(GENINCDIR)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := ../include/mui/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/../include/mui/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (../include/mui,) +BD_INCL_FILES2 := $(subst ../include/mui,$(AROS_INCLUDES)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/nlist/nlisttree_mcc/mmakefile b/workbench/classes/zune/nlist/nlisttree_mcc/mmakefile new file mode 100644 index 00000000000..95e53c48eac --- /dev/null +++ b/workbench/classes/zune/nlist/nlisttree_mcc/mmakefile @@ -0,0 +1,634 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM classes-zune-nlisttree-class : includes linklibs + +USER_INCLUDES = -idirafter $(SRCDIR)/$(CURDIR)/../include +USER_CPPFLAGS := -DNO_INLINE_STDARG -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := library \ + ClipboardServer \ + NListtree \ + QuickSort \ + Debug + + +# Define metamake targets and their dependencies +#MM classes-zune-nlisttree-class : core-linklibs includes-generate-deps +#MM classes-zune-nlisttree-class-kobj : core-linklibs includes-generate-deps +#MM classes-zune-nlisttree-class-kobj-quick +#MM classes-zune-nlisttree-class-quick +#MM classes-zune-nlisttree-class-clean + +classes-zune-nlisttree-class_ALLTARGETS := classes-zune-nlisttree-class classes-zune-nlisttree-class-clean classes-zune-nlisttree-class-quick classes-zune-nlisttree-class-kobj + +.PHONY : $(classes-zune-nlisttree-class_ALLTARGETS) + +ifeq (NListtree,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (mcc,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +classes-zune-nlisttree-class_DEFLINKLIBNAME := NListtree +classes-zune-nlisttree-class_CFLAGS := $(CFLAGS) +classes-zune-nlisttree-class_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +classes-zune-nlisttree-class_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(classes-zune-nlisttree-class_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlisttree-class_FUNCINSTR := yes +classes-zune-nlisttree-class_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(classes-zune-nlisttree-class_CFLAGS)) +endif +endif +ifneq (,) + classes-zune-nlisttree-class_DFLAGS := +else + classes-zune-nlisttree-class_DFLAGS := $(classes-zune-nlisttree-class_CFLAGS) +endif +classes-zune-nlisttree-class_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +classes-zune-nlisttree-class_MODDIR := +ifeq ($(classes-zune-nlisttree-class_MODDIR),) + ifeq (mcc,library) + classes-zune-nlisttree-class_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (mcc,gadget) + classes-zune-nlisttree-class_MODDIR := $(AROS_GADGETS) + endif + ifeq (mcc,datatype) + classes-zune-nlisttree-class_MODDIR := $(AROS_DATATYPES) + endif + ifeq (mcc,handler) + classes-zune-nlisttree-class_MODDIR := $(AROS_FS) + endif + ifeq (mcc,device) + classes-zune-nlisttree-class_MODDIR := $(AROS_DEVS) + endif + ifeq (mcc,resource) + classes-zune-nlisttree-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,hook) + classes-zune-nlisttree-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,mui) + classes-zune-nlisttree-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcc) + classes-zune-nlisttree-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcp) + classes-zune-nlisttree-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,usbclass) + classes-zune-nlisttree-class_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (mcc,hidd) + classes-zune-nlisttree-class_MODDIR := $(AROS_DRIVERS) + endif + ifeq (mcc,printer) + classes-zune-nlisttree-class_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(classes-zune-nlisttree-class_MODDIR),) + $(error Don't know where to put the file for modtype mcc. Specify moduledir=) +endif + +classes-zune-nlisttree-class_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +classes-zune-nlisttree-class_ARCHFILES := $(basename $(notdir $(classes-zune-nlisttree-class_ARCHOBJS))) +classes-zune-nlisttree-class_C_NARCHFILES := $(filter-out $(classes-zune-nlisttree-class_ARCHFILES),$(FILES)) +classes-zune-nlisttree-class_CXX_NARCHFILES := $(filter-out $(classes-zune-nlisttree-class_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +classes-zune-nlisttree-class_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlisttree-class_ARCHFILES),) + + +classes-zune-nlisttree-class_CXXABSBASENAMES := $(foreach classes-zune-nlisttree-class_CXXBASE,$(classes-zune-nlisttree-class_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlisttree-class_CXXBASE)),$(classes-zune-nlisttree-class_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlisttree-class_CXXBASE)))) + +ifneq ($(classes-zune-nlisttree-class_CXXABSBASENAMES),) + +classes-zune-nlisttree-class_CXXBASENAMES := $(basename $(classes-zune-nlisttree-class_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlisttree-class_MCXX_FILES := $(strip $(foreach classes-zune-nlisttree-class_CXXBASE,$(classes-zune-nlisttree-class_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlisttree-class_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlisttree-class_EXT),$(classes-zune-nlisttree-class_CXXBASE))))))) + +ifeq (,) +classes-zune-nlisttree-class_MCXX_SRCWILDCARD := % +else +classes-zune-nlisttree-class_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlisttree-class_CXXTARGETS := $(notdir $(classes-zune-nlisttree-class_CXXBASENAMES:=.o)) + classes-zune-nlisttree-class_CXXDTARGETS := $(notdir $(classes-zune-nlisttree-class_CXXBASENAMES:=.d)) + classes-zune-nlisttree-class_MCXX_WILDCARD := % +else + classes-zune-nlisttree-class_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlisttree-class_CXXBASENAMES:=.o))) + classes-zune-nlisttree-class_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlisttree-class_CXXBASENAMES:=.d))) + classes-zune-nlisttree-class_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlisttree-class_CXXTARGETS) $(classes-zune-nlisttree-class_CXXDTARGETS) : | $(classes-zune-nlisttree-class_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlisttree-class_MCXX_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlisttree-class_CXXFLAGS := $(classes-zune-nlisttree-class_CXXFLAGS) +ifeq ($(classes-zune-nlisttree-class_DXXFLAGS),) + classes-zune-nlisttree-class_DXXFLAGS := $(classes-zune-nlisttree-class_CXXFLAGS) +else + classes-zune-nlisttree-class_DXXFLAGS := $(classes-zune-nlisttree-class_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlisttree-class_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlisttree-class_STRIP ?= $(HOST_STRIP) + classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlisttree-class_CXXCMD:=$(HOST_CXX) + classes-zune-nlisttree-class_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlisttree-class_MCXX_CPPFLAGS) $(classes-zune-nlisttree-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-class_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlisttree-class_CXXFLAGS)) + classes-zune-nlisttree-class_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlisttree-class_DXXFLAGS)) + classes-zune-nlisttree-class_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlisttree-class_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlisttree-class_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlisttree-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlisttree-class_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlisttree-class_MCXX_CPPFLAGS := $(strip $(classes-zune-nlisttree-class_MCXX_CPPFLAGS) $(classes-zune-nlisttree-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-class_CXXFLAGS := $(strip $(classes-zune-nlisttree-class_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlisttree-class_DXXFLAGS := $(classes-zune-nlisttree-class_DXXFLAGS) + classes-zune-nlisttree-class_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlisttree-class_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlisttree-class_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlisttree-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlisttree-class_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlisttree-class_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlisttree-class_MCXX_CPPFLAGS) $(classes-zune-nlisttree-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-class_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlisttree-class_CXXFLAGS)) + classes-zune-nlisttree-class_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlisttree-class_DXXFLAGS)) + classes-zune-nlisttree-class_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlisttree-class_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlisttree-class_CXXCMD) $(classes-zune-nlisttree-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_CXXIQUOTE) . $(classes-zune-nlisttree-class_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-class_CXXFLAGS) $(classes-zune-nlisttree-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlisttree-class_CXXCMD) $(classes-zune-nlisttree-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_CXXIQUOTE) . $(classes-zune-nlisttree-class_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-class_CXXFLAGS) $(classes-zune-nlisttree-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlisttree-class_CXXCMD) $(classes-zune-nlisttree-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_CXXIQUOTE) . $(classes-zune-nlisttree-class_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-class_CXXFLAGS) $(classes-zune-nlisttree-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlisttree-class_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-class_DXXFLAGS) $(classes-zune-nlisttree-class_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach classes-zune-nlisttree-class_CXXFILE,$(classes-zune-nlisttree-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlisttree-class_CXXFILE))),$(classes-zune-nlisttree-class_CXXFILE)))) +else + $(foreach classes-zune-nlisttree-class_CXXFILE,$(classes-zune-nlisttree-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(classes-zune-nlisttree-class_CXXFILE)))),$(classes-zune-nlisttree-class_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlisttree-class_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlisttree-class_MOBJC_SRCWILDCARD := % +else +classes-zune-nlisttree-class_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlisttree-class_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlisttree-class_OBJC_NARCHFILES)) + classes-zune-nlisttree-class_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlisttree-class_OBJC_NARCHFILES)) + classes-zune-nlisttree-class_MOBJC_WILDCARD := % +else + classes-zune-nlisttree-class_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlisttree-class_OBJC_NARCHFILES))) + classes-zune-nlisttree-class_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlisttree-class_OBJC_NARCHFILES))) + classes-zune-nlisttree-class_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlisttree-class_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlisttree-class_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlisttree-class_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlisttree-class_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlisttree-class_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlisttree-class_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlisttree-class_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlisttree-class_MOBJC_DIRS),) + classes-zune-nlisttree-class_MOBJC_DIRS := $(shell echo $(classes-zune-nlisttree-class_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlisttree-class_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlisttree-class_CC := $(TARGET_CC) +else + classes-zune-nlisttree-class_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlisttree-class_MOBJC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlisttree-class_OBJCFLAGS := $(classes-zune-nlisttree-class_CFLAGS) +classes-zune-nlisttree-class_OBJCFLAGS := $(classes-zune-nlisttree-class_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlisttree-class_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlisttree-class_OBJCFLAGS))) +ifeq ($(classes-zune-nlisttree-class_DFLAGS),) + classes-zune-nlisttree-class_OBJCDFLAGS := $(classes-zune-nlisttree-class_CFLAGS) +else + classes-zune-nlisttree-class_OBJCDFLAGS := $(classes-zune-nlisttree-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlisttree-class_LINK ?= $(strip $(classes-zune-nlisttree-class_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlisttree-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlisttree-class_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlisttree-class_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_OBJCFLAGS:=$(strip $(classes-zune-nlisttree-class_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_OBJCDFLAGS:=$(classes-zune-nlisttree-class_OBJCDFLAGS) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlisttree-class_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlisttree-class_STRIP ?= $(HOST_STRIP) + classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-class_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-class_OBJCFLAGS)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-class_OBJCDFLAGS)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlisttree-class_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlisttree-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-class_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-class_OBJCFLAGS)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-class_OBJCDFLAGS)) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlisttree-class_MOBJC_TARGETS) $(classes-zune-nlisttree-class_MOBJC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlisttree-class_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlisttree-class_MOBJC_CPPFLAGS) +$(classes-zune-nlisttree-class_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlisttree-class_OBJCFLAGS) +$(classes-zune-nlisttree-class_MOBJC_TARGETS) : $(classes-zune-nlisttree-class_MOBJC_WILDCARD).o : $(classes-zune-nlisttree-class_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlisttree-class_IQUOTE) $(dir $<) $(classes-zune-nlisttree-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_IQUOTE) . $(classes-zune-nlisttree-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlisttree-class_IQUOTE) $(dir $<) $(classes-zune-nlisttree-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_IQUOTE) . $(classes-zune-nlisttree-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlisttree-class_IQUOTE) $(dir $<) $(classes-zune-nlisttree-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_IQUOTE) . $(classes-zune-nlisttree-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlisttree-class_MOBJC_DTARGETS) : $(classes-zune-nlisttree-class_MOBJC_WILDCARD).d : $(classes-zune-nlisttree-class_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-class_OBJCDFLAGS) $(classes-zune-nlisttree-class_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlisttree-class_MC_SRCWILDCARD := % +else +classes-zune-nlisttree-class_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +classes-zune-nlisttree-class_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlisttree-class_C_NARCHFILES)) +classes-zune-nlisttree-class_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlisttree-class_C_NARCHFILES)) +classes-zune-nlisttree-class_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlisttree-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlisttree-class_C_NARCHFILES)))) + classes-zune-nlisttree-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlisttree-class_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlisttree-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlisttree-class_C_NARCHFILES))) + classes-zune-nlisttree-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlisttree-class_C_NARCHFILES))) +else + classes-zune-nlisttree-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlisttree-class_C_NARCHFILES)))) + classes-zune-nlisttree-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlisttree-class_C_NARCHFILES)))) +endif +endif +classes-zune-nlisttree-class_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlisttree-class_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlisttree-class_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlisttree-class_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlisttree-class_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlisttree-class_MC_DIRS := $(foreach dir, $(classes-zune-nlisttree-class_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlisttree-class_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlisttree-class_MC_DIRS),) + classes-zune-nlisttree-class_MC_DIRS := $(shell echo $(classes-zune-nlisttree-class_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlisttree-class_MC_DIRS) +endif + +endif + +classes-zune-nlisttree-class_MC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlisttree-class_CFLAGS := $(classes-zune-nlisttree-class_CFLAGS) +ifeq ($(classes-zune-nlisttree-class_DFLAGS),) + classes-zune-nlisttree-class_DFLAGS := $(classes-zune-nlisttree-class_CFLAGS) +else + classes-zune-nlisttree-class_DFLAGS := $(classes-zune-nlisttree-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlisttree-class_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlisttree-class_STRIP ?= $(TARGET_STRIP) +classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_MC_CPPFLAGS:=$(strip $(classes-zune-nlisttree-class_MC_CPPFLAGS) $(classes-zune-nlisttree-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_CFLAGS:=$(strip $(classes-zune-nlisttree-class_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_DFLAGS:=$(classes-zune-nlisttree-class_DFLAGS) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlisttree-class_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlisttree-class_STRIP ?= $(HOST_STRIP) +classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlisttree-class_MC_CPPFLAGS) $(classes-zune-nlisttree-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-class_CFLAGS)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-class_DFLAGS)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlisttree-class_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlisttree-class_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlisttree-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlisttree-class_MC_CPPFLAGS) $(classes-zune-nlisttree-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-class_CFLAGS)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-class_DFLAGS)) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlisttree-class_MC_TARGETS) $(classes-zune-nlisttree-class_MC_DTARGETS) : classes-zune-nlisttree-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlisttree-class_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlisttree-class_MC_CPPFLAGS) +$(classes-zune-nlisttree-class_MC_TARGETS) : CFLAGS := $(classes-zune-nlisttree-class_CFLAGS) +$(classes-zune-nlisttree-class_MC_TARGETS) : $(classes-zune-nlisttree-class_MC_TGTWILDCARD).o : $(classes-zune-nlisttree-class_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlisttree-class_IQUOTE) $(dir $<) $(classes-zune-nlisttree-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_IQUOTE) . $(classes-zune-nlisttree-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlisttree-class_IQUOTE) $(dir $<) $(classes-zune-nlisttree-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_IQUOTE) . $(classes-zune-nlisttree-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlisttree-class_IQUOTE) $(dir $<) $(classes-zune-nlisttree-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-class_IQUOTE) . $(classes-zune-nlisttree-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlisttree-class_MC_DTARGETS) : $(classes-zune-nlisttree-class_MC_TGTWILDCARD).d : $(classes-zune-nlisttree-class_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-class_DFLAGS) $(classes-zune-nlisttree-class_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (mcc,handler) +classes-zune-nlisttree-class_MODULE := $(classes-zune-nlisttree-class_MODDIR)/NListtree-mcc +else +ifeq (mcc,printer) +classes-zune-nlisttree-class_MODULE := $(classes-zune-nlisttree-class_MODDIR)/NListtree +else +classes-zune-nlisttree-class_MODULE := $(classes-zune-nlisttree-class_MODDIR)/NListtree.mcc +endif +endif +classes-zune-nlisttree-class_KOBJ := $(KOBJSDIR)/NListtree_mcc.o + +classes-zune-nlisttree-class-quick : classes-zune-nlisttree-class +classes-zune-nlisttree-class-kobj-quick : $(classes-zune-nlisttree-class_KOBJ) +classes-zune-nlisttree-class : $(classes-zune-nlisttree-class_MODULE) +classes-zune-nlisttree-class-kobj : $(classes-zune-nlisttree-class_KOBJ) + +# The module is linked from all the compiled .o files +classes-zune-nlisttree-class_OBJS := $(classes-zune-nlisttree-class_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(classes-zune-nlisttree-class_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (NListtree,con) + classes-zune-nlisttree-class_ERR := $(notdir $(classes-zune-nlisttree-class_MODULE)).err +else + classes-zune-nlisttree-class_ERR := NListtree.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(NListtree_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(NListtree_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(classes-zune-nlisttree-class_MODULE) : LIB_NAMES := $(NListtree_LIBS) +$(classes-zune-nlisttree-class_MODULE) : OBJS := $(classes-zune-nlisttree-class_OBJS) +$(classes-zune-nlisttree-class_MODULE) : ENDTAG := +$(classes-zune-nlisttree-class_MODULE) : ERR := $(classes-zune-nlisttree-class_ERR) +$(classes-zune-nlisttree-class_MODULE) : OBJDIR := $(OBJDIR) +$(classes-zune-nlisttree-class_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(classes-zune-nlisttree-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(classes-zune-nlisttree-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(classes-zune-nlisttree-class_MODULE) : $(classes-zune-nlisttree-class_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +classes-zune-nlisttree-class_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +classes-zune-nlisttree-class_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +classes-zune-nlisttree-class_SYMBOLS := $(classes-zune-nlisttree-class_KBASE) + +classes-zune-nlisttree-class_KLIB := hiddstubs amiga arossupport autoinit libinit +classes-zune-nlisttree-class_KOBJ_LIBS := $(filter-out $(classes-zune-nlisttree-class_KLIB),) $(classes-zune-nlisttree-class_KAUTOLIB) +$(classes-zune-nlisttree-class_KOBJ) : LINKLIBS:=$(classes-zune-nlisttree-class_KOBJ_LIBS) +$(classes-zune-nlisttree-class_KOBJ) : FILTBASES:=$(addprefix -L ,$(classes-zune-nlisttree-class_SYMBOLS)) +$(classes-zune-nlisttree-class_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(classes-zune-nlisttree-class_KOBJ) : $(classes-zune-nlisttree-class_OBJS) $(classes-zune-nlisttree-class_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +classes-zune-nlisttree-class_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,$(FILES))) +ifneq ($(classes-zune-nlisttree-class_DEPS),) + ifneq (classes-zune-nlisttree-class classes-zune-nlisttree-class-quick classes-zune-nlisttree-class-kobj,) + ifneq ($(findstring $(TARGET),classes-zune-nlisttree-class classes-zune-nlisttree-class-quick classes-zune-nlisttree-class-kobj),) + -include $(classes-zune-nlisttree-class_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlisttree-class_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlisttree-class_OBJS) $(classes-zune-nlisttree-class_DEPS) $(classes-zune-nlisttree-class_MODULE) $(classes-zune-nlisttree-class_KOBJ),) +$(classes-zune-nlisttree-class_OBJS) $(classes-zune-nlisttree-class_DEPS) $(classes-zune-nlisttree-class_MODULE) $(classes-zune-nlisttree-class_KOBJ) : | $(OBJDIR) $(classes-zune-nlisttree-class_MODDIR) $(KOBJSDIR) +else +$(classes-zune-nlisttree-class_OBJS) $(classes-zune-nlisttree-class_DEPS) $(classes-zune-nlisttree-class_MODULE) $(classes-zune-nlisttree-class_KOBJ) :: $(OBJDIR) $(classes-zune-nlisttree-class_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(classes-zune-nlisttree-class_MODDIR) $(KOBJSDIR) + + +classes-zune-nlisttree-class-clean : FILES := $(classes-zune-nlisttree-class_OBJS) $(classes-zune-nlisttree-class_MODULE) $(classes-zune-nlisttree-class_KOBJ) $(classes-zune-nlisttree-class_DEPS) +classes-zune-nlisttree-class-clean :: + $(Q)$(ECHO) "Cleaning up for module NListtree" + $(Q)$(RM) $(FILES) + + +#MM includes-copy + +INCLUDE_FILES := ../include/mui/NListtree_mcc.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (../include/mui,) +TMP_DIR := ../include/mui +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ../include/mui,$(GENINCDIR)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := ../include/mui/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/../include/mui/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (../include/mui,) +BD_INCL_FILES2 := $(subst ../include/mui,$(AROS_INCLUDES)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/nlist/nlisttree_mcp/mmakefile b/workbench/classes/zune/nlist/nlisttree_mcp/mmakefile new file mode 100644 index 00000000000..8e7d5920666 --- /dev/null +++ b/workbench/classes/zune/nlist/nlisttree_mcp/mmakefile @@ -0,0 +1,589 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM classes-zune-nlisttree-mcp : includes linklibs classes-zune-nlisttree-mcp-catalogs + +USER_INCLUDES = -idirafter $(SRCDIR)/$(CURDIR)/../include +USER_CPPFLAGS := -DNO_INLINE_STDARG -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := library NListtree icon locale + + +# Define metamake targets and their dependencies +#MM classes-zune-nlisttree-mcp : core-linklibs includes-generate-deps +#MM classes-zune-nlisttree-mcp-kobj : core-linklibs includes-generate-deps +#MM classes-zune-nlisttree-mcp-kobj-quick +#MM classes-zune-nlisttree-mcp-quick +#MM classes-zune-nlisttree-mcp-clean + +classes-zune-nlisttree-mcp_ALLTARGETS := classes-zune-nlisttree-mcp classes-zune-nlisttree-mcp-clean classes-zune-nlisttree-mcp-quick classes-zune-nlisttree-mcp-kobj + +.PHONY : $(classes-zune-nlisttree-mcp_ALLTARGETS) + +ifeq (NListtree,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (mcp,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +classes-zune-nlisttree-mcp_DEFLINKLIBNAME := NListtree +classes-zune-nlisttree-mcp_CFLAGS := $(CFLAGS) +classes-zune-nlisttree-mcp_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +classes-zune-nlisttree-mcp_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(classes-zune-nlisttree-mcp_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlisttree-mcp_FUNCINSTR := yes +classes-zune-nlisttree-mcp_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(classes-zune-nlisttree-mcp_CFLAGS)) +endif +endif +ifneq (,) + classes-zune-nlisttree-mcp_DFLAGS := +else + classes-zune-nlisttree-mcp_DFLAGS := $(classes-zune-nlisttree-mcp_CFLAGS) +endif +classes-zune-nlisttree-mcp_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +classes-zune-nlisttree-mcp_MODDIR := +ifeq ($(classes-zune-nlisttree-mcp_MODDIR),) + ifeq (mcp,library) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (mcp,gadget) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_GADGETS) + endif + ifeq (mcp,datatype) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_DATATYPES) + endif + ifeq (mcp,handler) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_FS) + endif + ifeq (mcp,device) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_DEVS) + endif + ifeq (mcp,resource) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcp,hook) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcp,mui) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcp,mcc) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcp,mcp) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcp,usbclass) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (mcp,hidd) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_DRIVERS) + endif + ifeq (mcp,printer) + classes-zune-nlisttree-mcp_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(classes-zune-nlisttree-mcp_MODDIR),) + $(error Don't know where to put the file for modtype mcp. Specify moduledir=) +endif + +classes-zune-nlisttree-mcp_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +classes-zune-nlisttree-mcp_ARCHFILES := $(basename $(notdir $(classes-zune-nlisttree-mcp_ARCHOBJS))) +classes-zune-nlisttree-mcp_C_NARCHFILES := $(filter-out $(classes-zune-nlisttree-mcp_ARCHFILES),$(FILES)) +classes-zune-nlisttree-mcp_CXX_NARCHFILES := $(filter-out $(classes-zune-nlisttree-mcp_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +classes-zune-nlisttree-mcp_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlisttree-mcp_ARCHFILES),) + + +classes-zune-nlisttree-mcp_CXXABSBASENAMES := $(foreach classes-zune-nlisttree-mcp_CXXBASE,$(classes-zune-nlisttree-mcp_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlisttree-mcp_CXXBASE)),$(classes-zune-nlisttree-mcp_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlisttree-mcp_CXXBASE)))) + +ifneq ($(classes-zune-nlisttree-mcp_CXXABSBASENAMES),) + +classes-zune-nlisttree-mcp_CXXBASENAMES := $(basename $(classes-zune-nlisttree-mcp_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlisttree-mcp_MCXX_FILES := $(strip $(foreach classes-zune-nlisttree-mcp_CXXBASE,$(classes-zune-nlisttree-mcp_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlisttree-mcp_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlisttree-mcp_EXT),$(classes-zune-nlisttree-mcp_CXXBASE))))))) + +ifeq (,) +classes-zune-nlisttree-mcp_MCXX_SRCWILDCARD := % +else +classes-zune-nlisttree-mcp_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlisttree-mcp_CXXTARGETS := $(notdir $(classes-zune-nlisttree-mcp_CXXBASENAMES:=.o)) + classes-zune-nlisttree-mcp_CXXDTARGETS := $(notdir $(classes-zune-nlisttree-mcp_CXXBASENAMES:=.d)) + classes-zune-nlisttree-mcp_MCXX_WILDCARD := % +else + classes-zune-nlisttree-mcp_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlisttree-mcp_CXXBASENAMES:=.o))) + classes-zune-nlisttree-mcp_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlisttree-mcp_CXXBASENAMES:=.d))) + classes-zune-nlisttree-mcp_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlisttree-mcp_CXXTARGETS) $(classes-zune-nlisttree-mcp_CXXDTARGETS) : | $(classes-zune-nlisttree-mcp_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlisttree-mcp_MCXX_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlisttree-mcp_CXXFLAGS := $(classes-zune-nlisttree-mcp_CXXFLAGS) +ifeq ($(classes-zune-nlisttree-mcp_DXXFLAGS),) + classes-zune-nlisttree-mcp_DXXFLAGS := $(classes-zune-nlisttree-mcp_CXXFLAGS) +else + classes-zune-nlisttree-mcp_DXXFLAGS := $(classes-zune-nlisttree-mcp_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlisttree-mcp_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlisttree-mcp_STRIP ?= $(HOST_STRIP) + classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlisttree-mcp_CXXCMD:=$(HOST_CXX) + classes-zune-nlisttree-mcp_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlisttree-mcp_MCXX_CPPFLAGS) $(classes-zune-nlisttree-mcp_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-mcp_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlisttree-mcp_CXXFLAGS)) + classes-zune-nlisttree-mcp_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlisttree-mcp_DXXFLAGS)) + classes-zune-nlisttree-mcp_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlisttree-mcp_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlisttree-mcp_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlisttree-mcp_STRIP ?= $(TARGET_STRIP) + classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlisttree-mcp_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlisttree-mcp_MCXX_CPPFLAGS := $(strip $(classes-zune-nlisttree-mcp_MCXX_CPPFLAGS) $(classes-zune-nlisttree-mcp_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-mcp_CXXFLAGS := $(strip $(classes-zune-nlisttree-mcp_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlisttree-mcp_DXXFLAGS := $(classes-zune-nlisttree-mcp_DXXFLAGS) + classes-zune-nlisttree-mcp_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlisttree-mcp_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlisttree-mcp_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlisttree-mcp_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlisttree-mcp_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlisttree-mcp_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlisttree-mcp_MCXX_CPPFLAGS) $(classes-zune-nlisttree-mcp_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlisttree-mcp_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlisttree-mcp_CXXFLAGS)) + classes-zune-nlisttree-mcp_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlisttree-mcp_DXXFLAGS)) + classes-zune-nlisttree-mcp_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlisttree-mcp_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlisttree-mcp_CXXCMD) $(classes-zune-nlisttree-mcp_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-mcp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_CXXIQUOTE) . $(classes-zune-nlisttree-mcp_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-mcp_CXXFLAGS) $(classes-zune-nlisttree-mcp_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlisttree-mcp_CXXCMD) $(classes-zune-nlisttree-mcp_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-mcp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_CXXIQUOTE) . $(classes-zune-nlisttree-mcp_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-mcp_CXXFLAGS) $(classes-zune-nlisttree-mcp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlisttree-mcp_CXXCMD) $(classes-zune-nlisttree-mcp_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlisttree-mcp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_CXXIQUOTE) . $(classes-zune-nlisttree-mcp_CXXIQUOTE_END) $(strip $(classes-zune-nlisttree-mcp_CXXFLAGS) $(classes-zune-nlisttree-mcp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlisttree-mcp_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-mcp_DXXFLAGS) $(classes-zune-nlisttree-mcp_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach classes-zune-nlisttree-mcp_CXXFILE,$(classes-zune-nlisttree-mcp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlisttree-mcp_CXXFILE))),$(classes-zune-nlisttree-mcp_CXXFILE)))) +else + $(foreach classes-zune-nlisttree-mcp_CXXFILE,$(classes-zune-nlisttree-mcp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(classes-zune-nlisttree-mcp_CXXFILE)))),$(classes-zune-nlisttree-mcp_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlisttree-mcp_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlisttree-mcp_MOBJC_SRCWILDCARD := % +else +classes-zune-nlisttree-mcp_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlisttree-mcp_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlisttree-mcp_OBJC_NARCHFILES)) + classes-zune-nlisttree-mcp_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlisttree-mcp_OBJC_NARCHFILES)) + classes-zune-nlisttree-mcp_MOBJC_WILDCARD := % +else + classes-zune-nlisttree-mcp_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlisttree-mcp_OBJC_NARCHFILES))) + classes-zune-nlisttree-mcp_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlisttree-mcp_OBJC_NARCHFILES))) + classes-zune-nlisttree-mcp_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlisttree-mcp_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlisttree-mcp_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlisttree-mcp_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlisttree-mcp_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlisttree-mcp_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlisttree-mcp_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlisttree-mcp_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlisttree-mcp_MOBJC_DIRS),) + classes-zune-nlisttree-mcp_MOBJC_DIRS := $(shell echo $(classes-zune-nlisttree-mcp_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlisttree-mcp_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlisttree-mcp_CC := $(TARGET_CC) +else + classes-zune-nlisttree-mcp_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlisttree-mcp_OBJCFLAGS := $(classes-zune-nlisttree-mcp_CFLAGS) +classes-zune-nlisttree-mcp_OBJCFLAGS := $(classes-zune-nlisttree-mcp_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlisttree-mcp_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlisttree-mcp_OBJCFLAGS))) +ifeq ($(classes-zune-nlisttree-mcp_DFLAGS),) + classes-zune-nlisttree-mcp_OBJCDFLAGS := $(classes-zune-nlisttree-mcp_CFLAGS) +else + classes-zune-nlisttree-mcp_OBJCDFLAGS := $(classes-zune-nlisttree-mcp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlisttree-mcp_LINK ?= $(strip $(classes-zune-nlisttree-mcp_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlisttree-mcp_STRIP ?= $(TARGET_STRIP) + classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlisttree-mcp_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_OBJCFLAGS:=$(strip $(classes-zune-nlisttree-mcp_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_OBJCDFLAGS:=$(classes-zune-nlisttree-mcp_OBJCDFLAGS) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlisttree-mcp_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlisttree-mcp_STRIP ?= $(HOST_STRIP) + classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-mcp_OBJCFLAGS)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-mcp_OBJCDFLAGS)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlisttree-mcp_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlisttree-mcp_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-mcp_OBJCFLAGS)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-mcp_OBJCDFLAGS)) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlisttree-mcp_MOBJC_TARGETS) $(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlisttree-mcp_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS) +$(classes-zune-nlisttree-mcp_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlisttree-mcp_OBJCFLAGS) +$(classes-zune-nlisttree-mcp_MOBJC_TARGETS) : $(classes-zune-nlisttree-mcp_MOBJC_WILDCARD).o : $(classes-zune-nlisttree-mcp_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlisttree-mcp_IQUOTE) $(dir $<) $(classes-zune-nlisttree-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_IQUOTE) . $(classes-zune-nlisttree-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlisttree-mcp_IQUOTE) $(dir $<) $(classes-zune-nlisttree-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_IQUOTE) . $(classes-zune-nlisttree-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlisttree-mcp_IQUOTE) $(dir $<) $(classes-zune-nlisttree-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_IQUOTE) . $(classes-zune-nlisttree-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlisttree-mcp_MOBJC_DTARGETS) : $(classes-zune-nlisttree-mcp_MOBJC_WILDCARD).d : $(classes-zune-nlisttree-mcp_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-mcp_OBJCDFLAGS) $(classes-zune-nlisttree-mcp_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlisttree-mcp_MC_SRCWILDCARD := % +else +classes-zune-nlisttree-mcp_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +classes-zune-nlisttree-mcp_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlisttree-mcp_C_NARCHFILES)) +classes-zune-nlisttree-mcp_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlisttree-mcp_C_NARCHFILES)) +classes-zune-nlisttree-mcp_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlisttree-mcp_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlisttree-mcp_C_NARCHFILES)))) + classes-zune-nlisttree-mcp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlisttree-mcp_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlisttree-mcp_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlisttree-mcp_C_NARCHFILES))) + classes-zune-nlisttree-mcp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlisttree-mcp_C_NARCHFILES))) +else + classes-zune-nlisttree-mcp_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlisttree-mcp_C_NARCHFILES)))) + classes-zune-nlisttree-mcp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlisttree-mcp_C_NARCHFILES)))) +endif +endif +classes-zune-nlisttree-mcp_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlisttree-mcp_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlisttree-mcp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlisttree-mcp_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlisttree-mcp_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlisttree-mcp_MC_DIRS := $(foreach dir, $(classes-zune-nlisttree-mcp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlisttree-mcp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlisttree-mcp_MC_DIRS),) + classes-zune-nlisttree-mcp_MC_DIRS := $(shell echo $(classes-zune-nlisttree-mcp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlisttree-mcp_MC_DIRS) +endif + +endif + +classes-zune-nlisttree-mcp_MC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlisttree-mcp_CFLAGS := $(classes-zune-nlisttree-mcp_CFLAGS) +ifeq ($(classes-zune-nlisttree-mcp_DFLAGS),) + classes-zune-nlisttree-mcp_DFLAGS := $(classes-zune-nlisttree-mcp_CFLAGS) +else + classes-zune-nlisttree-mcp_DFLAGS := $(classes-zune-nlisttree-mcp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlisttree-mcp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlisttree-mcp_STRIP ?= $(TARGET_STRIP) +classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_MC_CPPFLAGS:=$(strip $(classes-zune-nlisttree-mcp_MC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_CFLAGS:=$(strip $(classes-zune-nlisttree-mcp_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_DFLAGS:=$(classes-zune-nlisttree-mcp_DFLAGS) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlisttree-mcp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlisttree-mcp_STRIP ?= $(HOST_STRIP) +classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-mcp_CFLAGS)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlisttree-mcp_DFLAGS)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlisttree-mcp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlisttree-mcp_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlisttree-mcp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MC_CPPFLAGS) $(classes-zune-nlisttree-mcp_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-mcp_CFLAGS)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlisttree-mcp_DFLAGS)) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlisttree-mcp_MC_TARGETS) $(classes-zune-nlisttree-mcp_MC_DTARGETS) : classes-zune-nlisttree-mcp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlisttree-mcp_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlisttree-mcp_MC_CPPFLAGS) +$(classes-zune-nlisttree-mcp_MC_TARGETS) : CFLAGS := $(classes-zune-nlisttree-mcp_CFLAGS) +$(classes-zune-nlisttree-mcp_MC_TARGETS) : $(classes-zune-nlisttree-mcp_MC_TGTWILDCARD).o : $(classes-zune-nlisttree-mcp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlisttree-mcp_IQUOTE) $(dir $<) $(classes-zune-nlisttree-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_IQUOTE) . $(classes-zune-nlisttree-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlisttree-mcp_IQUOTE) $(dir $<) $(classes-zune-nlisttree-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_IQUOTE) . $(classes-zune-nlisttree-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlisttree-mcp_IQUOTE) $(dir $<) $(classes-zune-nlisttree-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlisttree-mcp_IQUOTE) . $(classes-zune-nlisttree-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlisttree-mcp_MC_DTARGETS) : $(classes-zune-nlisttree-mcp_MC_TGTWILDCARD).d : $(classes-zune-nlisttree-mcp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlisttree-mcp_DFLAGS) $(classes-zune-nlisttree-mcp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (mcp,handler) +classes-zune-nlisttree-mcp_MODULE := $(classes-zune-nlisttree-mcp_MODDIR)/NListtree-mcp +else +ifeq (mcp,printer) +classes-zune-nlisttree-mcp_MODULE := $(classes-zune-nlisttree-mcp_MODDIR)/NListtree +else +classes-zune-nlisttree-mcp_MODULE := $(classes-zune-nlisttree-mcp_MODDIR)/NListtree.mcp +endif +endif +classes-zune-nlisttree-mcp_KOBJ := $(KOBJSDIR)/NListtree_mcp.o + +classes-zune-nlisttree-mcp-quick : classes-zune-nlisttree-mcp +classes-zune-nlisttree-mcp-kobj-quick : $(classes-zune-nlisttree-mcp_KOBJ) +classes-zune-nlisttree-mcp : $(classes-zune-nlisttree-mcp_MODULE) +classes-zune-nlisttree-mcp-kobj : $(classes-zune-nlisttree-mcp_KOBJ) + +# The module is linked from all the compiled .o files +classes-zune-nlisttree-mcp_OBJS := $(classes-zune-nlisttree-mcp_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(classes-zune-nlisttree-mcp_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (NListtree,con) + classes-zune-nlisttree-mcp_ERR := $(notdir $(classes-zune-nlisttree-mcp_MODULE)).err +else + classes-zune-nlisttree-mcp_ERR := NListtree.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(NListtree_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(NListtree_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(classes-zune-nlisttree-mcp_MODULE) : LIB_NAMES := $(NListtree_LIBS) +$(classes-zune-nlisttree-mcp_MODULE) : OBJS := $(classes-zune-nlisttree-mcp_OBJS) +$(classes-zune-nlisttree-mcp_MODULE) : ENDTAG := +$(classes-zune-nlisttree-mcp_MODULE) : ERR := $(classes-zune-nlisttree-mcp_ERR) +$(classes-zune-nlisttree-mcp_MODULE) : OBJDIR := $(OBJDIR) +$(classes-zune-nlisttree-mcp_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(classes-zune-nlisttree-mcp_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(classes-zune-nlisttree-mcp_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(classes-zune-nlisttree-mcp_MODULE) : $(classes-zune-nlisttree-mcp_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +classes-zune-nlisttree-mcp_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +classes-zune-nlisttree-mcp_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +classes-zune-nlisttree-mcp_SYMBOLS := $(classes-zune-nlisttree-mcp_KBASE) + +classes-zune-nlisttree-mcp_KLIB := hiddstubs amiga arossupport autoinit libinit +classes-zune-nlisttree-mcp_KOBJ_LIBS := $(filter-out $(classes-zune-nlisttree-mcp_KLIB),) $(classes-zune-nlisttree-mcp_KAUTOLIB) +$(classes-zune-nlisttree-mcp_KOBJ) : LINKLIBS:=$(classes-zune-nlisttree-mcp_KOBJ_LIBS) +$(classes-zune-nlisttree-mcp_KOBJ) : FILTBASES:=$(addprefix -L ,$(classes-zune-nlisttree-mcp_SYMBOLS)) +$(classes-zune-nlisttree-mcp_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(classes-zune-nlisttree-mcp_KOBJ) : $(classes-zune-nlisttree-mcp_OBJS) $(classes-zune-nlisttree-mcp_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +classes-zune-nlisttree-mcp_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,$(FILES))) +ifneq ($(classes-zune-nlisttree-mcp_DEPS),) + ifneq (classes-zune-nlisttree-mcp classes-zune-nlisttree-mcp-quick classes-zune-nlisttree-mcp-kobj,) + ifneq ($(findstring $(TARGET),classes-zune-nlisttree-mcp classes-zune-nlisttree-mcp-quick classes-zune-nlisttree-mcp-kobj),) + -include $(classes-zune-nlisttree-mcp_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlisttree-mcp_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlisttree-mcp_OBJS) $(classes-zune-nlisttree-mcp_DEPS) $(classes-zune-nlisttree-mcp_MODULE) $(classes-zune-nlisttree-mcp_KOBJ),) +$(classes-zune-nlisttree-mcp_OBJS) $(classes-zune-nlisttree-mcp_DEPS) $(classes-zune-nlisttree-mcp_MODULE) $(classes-zune-nlisttree-mcp_KOBJ) : | $(OBJDIR) $(classes-zune-nlisttree-mcp_MODDIR) $(KOBJSDIR) +else +$(classes-zune-nlisttree-mcp_OBJS) $(classes-zune-nlisttree-mcp_DEPS) $(classes-zune-nlisttree-mcp_MODULE) $(classes-zune-nlisttree-mcp_KOBJ) :: $(OBJDIR) $(classes-zune-nlisttree-mcp_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(classes-zune-nlisttree-mcp_MODDIR) $(KOBJSDIR) + + +classes-zune-nlisttree-mcp-clean : FILES := $(classes-zune-nlisttree-mcp_OBJS) $(classes-zune-nlisttree-mcp_MODULE) $(classes-zune-nlisttree-mcp_KOBJ) $(classes-zune-nlisttree-mcp_DEPS) +classes-zune-nlisttree-mcp-clean :: + $(Q)$(ECHO) "Cleaning up for module NListtree" + $(Q)$(RM) $(FILES) + +TARGETDIR := $(AROS_CATALOGS) +LANGUAGES := $(basename $(notdir $(call WILDCARD,$(SRCDIR)/$(CURDIR)/locale/*.po))) +CATALOGS := $(addprefix $(TARGETDIR)/,$(addsuffix /NListtree_mcp.catalog,$(LANGUAGES))) + + +#MM +classes-zune-nlisttree-mcp-catalogs : locale.h locale.c $(CATALOGS) + +locale.h: locale.c +locale.c: $(SRCDIR)/$(CURDIR)/locale/NListtree_mcp.pot $(SRCDIR)/$(CURDIR)/C_h.sd $(SRCDIR)/$(CURDIR)/C_c.sd + $(FLEXCAT) $(SRCDIR)/$(CURDIR)/locale/NListtree_mcp.pot locale.h=$(SRCDIR)/$(CURDIR)/C_h.sd locale.c=$(SRCDIR)/$(CURDIR)/C_c.sd + +$(TARGETDIR)/%/NListtree_mcp.catalog : $(SRCDIR)/$(CURDIR)/locale/%.po + $(ECHO) "Building catalog $@" + $(MKDIR) $(dir $@) + $(FLEXCAT) POFILE $< CATALOG $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/nlist/nlistview_mcc/mmakefile b/workbench/classes/zune/nlist/nlistview_mcc/mmakefile new file mode 100644 index 00000000000..d6221d89e77 --- /dev/null +++ b/workbench/classes/zune/nlist/nlistview_mcc/mmakefile @@ -0,0 +1,632 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM classes-zune-nlistview-class : includes linklibs + +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/../include -idirafter $(SRCDIR)/$(CURDIR)/../include/mui -I$(SRCDIR)/$(CURDIR)/../nlistviews_mcp +USER_CPPFLAGS := -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := library \ + NListview \ + Debug + + +# Define metamake targets and their dependencies +#MM classes-zune-nlistview-class : core-linklibs includes-generate-deps +#MM classes-zune-nlistview-class-kobj : core-linklibs includes-generate-deps +#MM classes-zune-nlistview-class-kobj-quick +#MM classes-zune-nlistview-class-quick +#MM classes-zune-nlistview-class-clean + +classes-zune-nlistview-class_ALLTARGETS := classes-zune-nlistview-class classes-zune-nlistview-class-clean classes-zune-nlistview-class-quick classes-zune-nlistview-class-kobj + +.PHONY : $(classes-zune-nlistview-class_ALLTARGETS) + +ifeq (NListview,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (mcc,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +classes-zune-nlistview-class_DEFLINKLIBNAME := NListview +classes-zune-nlistview-class_CFLAGS := $(CFLAGS) +classes-zune-nlistview-class_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +classes-zune-nlistview-class_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(classes-zune-nlistview-class_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlistview-class_FUNCINSTR := yes +classes-zune-nlistview-class_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(classes-zune-nlistview-class_CFLAGS)) +endif +endif +ifneq (,) + classes-zune-nlistview-class_DFLAGS := +else + classes-zune-nlistview-class_DFLAGS := $(classes-zune-nlistview-class_CFLAGS) +endif +classes-zune-nlistview-class_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +classes-zune-nlistview-class_MODDIR := +ifeq ($(classes-zune-nlistview-class_MODDIR),) + ifeq (mcc,library) + classes-zune-nlistview-class_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (mcc,gadget) + classes-zune-nlistview-class_MODDIR := $(AROS_GADGETS) + endif + ifeq (mcc,datatype) + classes-zune-nlistview-class_MODDIR := $(AROS_DATATYPES) + endif + ifeq (mcc,handler) + classes-zune-nlistview-class_MODDIR := $(AROS_FS) + endif + ifeq (mcc,device) + classes-zune-nlistview-class_MODDIR := $(AROS_DEVS) + endif + ifeq (mcc,resource) + classes-zune-nlistview-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,hook) + classes-zune-nlistview-class_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcc,mui) + classes-zune-nlistview-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcc) + classes-zune-nlistview-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,mcp) + classes-zune-nlistview-class_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcc,usbclass) + classes-zune-nlistview-class_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (mcc,hidd) + classes-zune-nlistview-class_MODDIR := $(AROS_DRIVERS) + endif + ifeq (mcc,printer) + classes-zune-nlistview-class_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(classes-zune-nlistview-class_MODDIR),) + $(error Don't know where to put the file for modtype mcc. Specify moduledir=) +endif + +classes-zune-nlistview-class_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +classes-zune-nlistview-class_ARCHFILES := $(basename $(notdir $(classes-zune-nlistview-class_ARCHOBJS))) +classes-zune-nlistview-class_C_NARCHFILES := $(filter-out $(classes-zune-nlistview-class_ARCHFILES),$(FILES)) +classes-zune-nlistview-class_CXX_NARCHFILES := $(filter-out $(classes-zune-nlistview-class_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +classes-zune-nlistview-class_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlistview-class_ARCHFILES),) + + +classes-zune-nlistview-class_CXXABSBASENAMES := $(foreach classes-zune-nlistview-class_CXXBASE,$(classes-zune-nlistview-class_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlistview-class_CXXBASE)),$(classes-zune-nlistview-class_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlistview-class_CXXBASE)))) + +ifneq ($(classes-zune-nlistview-class_CXXABSBASENAMES),) + +classes-zune-nlistview-class_CXXBASENAMES := $(basename $(classes-zune-nlistview-class_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlistview-class_MCXX_FILES := $(strip $(foreach classes-zune-nlistview-class_CXXBASE,$(classes-zune-nlistview-class_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlistview-class_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlistview-class_EXT),$(classes-zune-nlistview-class_CXXBASE))))))) + +ifeq (,) +classes-zune-nlistview-class_MCXX_SRCWILDCARD := % +else +classes-zune-nlistview-class_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlistview-class_CXXTARGETS := $(notdir $(classes-zune-nlistview-class_CXXBASENAMES:=.o)) + classes-zune-nlistview-class_CXXDTARGETS := $(notdir $(classes-zune-nlistview-class_CXXBASENAMES:=.d)) + classes-zune-nlistview-class_MCXX_WILDCARD := % +else + classes-zune-nlistview-class_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlistview-class_CXXBASENAMES:=.o))) + classes-zune-nlistview-class_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlistview-class_CXXBASENAMES:=.d))) + classes-zune-nlistview-class_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlistview-class_CXXTARGETS) $(classes-zune-nlistview-class_CXXDTARGETS) : | $(classes-zune-nlistview-class_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlistview-class_MCXX_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlistview-class_CXXFLAGS := $(classes-zune-nlistview-class_CXXFLAGS) +ifeq ($(classes-zune-nlistview-class_DXXFLAGS),) + classes-zune-nlistview-class_DXXFLAGS := $(classes-zune-nlistview-class_CXXFLAGS) +else + classes-zune-nlistview-class_DXXFLAGS := $(classes-zune-nlistview-class_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlistview-class_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlistview-class_STRIP ?= $(HOST_STRIP) + classes-zune-nlistview-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlistview-class_CXXCMD:=$(HOST_CXX) + classes-zune-nlistview-class_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlistview-class_MCXX_CPPFLAGS) $(classes-zune-nlistview-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistview-class_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlistview-class_CXXFLAGS)) + classes-zune-nlistview-class_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlistview-class_DXXFLAGS)) + classes-zune-nlistview-class_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlistview-class_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlistview-class_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlistview-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nlistview-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlistview-class_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlistview-class_MCXX_CPPFLAGS := $(strip $(classes-zune-nlistview-class_MCXX_CPPFLAGS) $(classes-zune-nlistview-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistview-class_CXXFLAGS := $(strip $(classes-zune-nlistview-class_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlistview-class_DXXFLAGS := $(classes-zune-nlistview-class_DXXFLAGS) + classes-zune-nlistview-class_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlistview-class_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlistview-class_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlistview-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlistview-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlistview-class_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlistview-class_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlistview-class_MCXX_CPPFLAGS) $(classes-zune-nlistview-class_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistview-class_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlistview-class_CXXFLAGS)) + classes-zune-nlistview-class_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlistview-class_DXXFLAGS)) + classes-zune-nlistview-class_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlistview-class_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlistview-class_CXXCMD) $(classes-zune-nlistview-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistview-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_CXXIQUOTE) . $(classes-zune-nlistview-class_CXXIQUOTE_END) $(strip $(classes-zune-nlistview-class_CXXFLAGS) $(classes-zune-nlistview-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlistview-class_CXXCMD) $(classes-zune-nlistview-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistview-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_CXXIQUOTE) . $(classes-zune-nlistview-class_CXXIQUOTE_END) $(strip $(classes-zune-nlistview-class_CXXFLAGS) $(classes-zune-nlistview-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlistview-class_CXXCMD) $(classes-zune-nlistview-class_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistview-class_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_CXXIQUOTE) . $(classes-zune-nlistview-class_CXXIQUOTE_END) $(strip $(classes-zune-nlistview-class_CXXFLAGS) $(classes-zune-nlistview-class_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlistview-class_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlistview-class_DXXFLAGS) $(classes-zune-nlistview-class_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach classes-zune-nlistview-class_CXXFILE,$(classes-zune-nlistview-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlistview-class_CXXFILE))),$(classes-zune-nlistview-class_CXXFILE)))) +else + $(foreach classes-zune-nlistview-class_CXXFILE,$(classes-zune-nlistview-class_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(classes-zune-nlistview-class_CXXFILE)))),$(classes-zune-nlistview-class_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlistview-class_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlistview-class_MOBJC_SRCWILDCARD := % +else +classes-zune-nlistview-class_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlistview-class_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlistview-class_OBJC_NARCHFILES)) + classes-zune-nlistview-class_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlistview-class_OBJC_NARCHFILES)) + classes-zune-nlistview-class_MOBJC_WILDCARD := % +else + classes-zune-nlistview-class_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlistview-class_OBJC_NARCHFILES))) + classes-zune-nlistview-class_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlistview-class_OBJC_NARCHFILES))) + classes-zune-nlistview-class_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlistview-class_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlistview-class_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlistview-class_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlistview-class_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlistview-class_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlistview-class_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlistview-class_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlistview-class_MOBJC_DIRS),) + classes-zune-nlistview-class_MOBJC_DIRS := $(shell echo $(classes-zune-nlistview-class_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlistview-class_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlistview-class_CC := $(TARGET_CC) +else + classes-zune-nlistview-class_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlistview-class_MOBJC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlistview-class_OBJCFLAGS := $(classes-zune-nlistview-class_CFLAGS) +classes-zune-nlistview-class_OBJCFLAGS := $(classes-zune-nlistview-class_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlistview-class_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlistview-class_OBJCFLAGS))) +ifeq ($(classes-zune-nlistview-class_DFLAGS),) + classes-zune-nlistview-class_OBJCDFLAGS := $(classes-zune-nlistview-class_CFLAGS) +else + classes-zune-nlistview-class_OBJCDFLAGS := $(classes-zune-nlistview-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlistview-class_LINK ?= $(strip $(classes-zune-nlistview-class_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlistview-class_STRIP ?= $(TARGET_STRIP) + classes-zune-nlistview-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlistview-class_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlistview-class_MOBJC_CPPFLAGS) $(classes-zune-nlistview-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_OBJCFLAGS:=$(strip $(classes-zune-nlistview-class_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_OBJCDFLAGS:=$(classes-zune-nlistview-class_OBJCDFLAGS) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlistview-class_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlistview-class_STRIP ?= $(HOST_STRIP) + classes-zune-nlistview-class_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlistview-class_MOBJC_CPPFLAGS) $(classes-zune-nlistview-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistview-class_OBJCFLAGS)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistview-class_OBJCDFLAGS)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlistview-class_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlistview-class_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlistview-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlistview-class_MOBJC_CPPFLAGS) $(classes-zune-nlistview-class_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistview-class_OBJCFLAGS)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistview-class_OBJCDFLAGS)) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlistview-class_MOBJC_TARGETS) $(classes-zune-nlistview-class_MOBJC_DTARGETS) : classes-zune-nlistview-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlistview-class_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlistview-class_MOBJC_CPPFLAGS) +$(classes-zune-nlistview-class_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlistview-class_OBJCFLAGS) +$(classes-zune-nlistview-class_MOBJC_TARGETS) : $(classes-zune-nlistview-class_MOBJC_WILDCARD).o : $(classes-zune-nlistview-class_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlistview-class_IQUOTE) $(dir $<) $(classes-zune-nlistview-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_IQUOTE) . $(classes-zune-nlistview-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlistview-class_IQUOTE) $(dir $<) $(classes-zune-nlistview-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_IQUOTE) . $(classes-zune-nlistview-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlistview-class_IQUOTE) $(dir $<) $(classes-zune-nlistview-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_IQUOTE) . $(classes-zune-nlistview-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlistview-class_MOBJC_DTARGETS) : $(classes-zune-nlistview-class_MOBJC_WILDCARD).d : $(classes-zune-nlistview-class_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlistview-class_OBJCDFLAGS) $(classes-zune-nlistview-class_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlistview-class_MC_SRCWILDCARD := % +else +classes-zune-nlistview-class_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +classes-zune-nlistview-class_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlistview-class_C_NARCHFILES)) +classes-zune-nlistview-class_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlistview-class_C_NARCHFILES)) +classes-zune-nlistview-class_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlistview-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlistview-class_C_NARCHFILES)))) + classes-zune-nlistview-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlistview-class_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlistview-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlistview-class_C_NARCHFILES))) + classes-zune-nlistview-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlistview-class_C_NARCHFILES))) +else + classes-zune-nlistview-class_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlistview-class_C_NARCHFILES)))) + classes-zune-nlistview-class_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlistview-class_C_NARCHFILES)))) +endif +endif +classes-zune-nlistview-class_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlistview-class_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlistview-class_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlistview-class_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlistview-class_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlistview-class_MC_DIRS := $(foreach dir, $(classes-zune-nlistview-class_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlistview-class_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlistview-class_MC_DIRS),) + classes-zune-nlistview-class_MC_DIRS := $(shell echo $(classes-zune-nlistview-class_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlistview-class_MC_DIRS) +endif + +endif + +classes-zune-nlistview-class_MC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlistview-class_CFLAGS := $(classes-zune-nlistview-class_CFLAGS) +ifeq ($(classes-zune-nlistview-class_DFLAGS),) + classes-zune-nlistview-class_DFLAGS := $(classes-zune-nlistview-class_CFLAGS) +else + classes-zune-nlistview-class_DFLAGS := $(classes-zune-nlistview-class_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlistview-class_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlistview-class_STRIP ?= $(TARGET_STRIP) +classes-zune-nlistview-class_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_MC_CPPFLAGS:=$(strip $(classes-zune-nlistview-class_MC_CPPFLAGS) $(classes-zune-nlistview-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_CFLAGS:=$(strip $(classes-zune-nlistview-class_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_DFLAGS:=$(classes-zune-nlistview-class_DFLAGS) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlistview-class_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlistview-class_STRIP ?= $(HOST_STRIP) +classes-zune-nlistview-class_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlistview-class_MC_CPPFLAGS) $(classes-zune-nlistview-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistview-class_CFLAGS)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistview-class_DFLAGS)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlistview-class_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlistview-class_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlistview-class_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlistview-class_MC_CPPFLAGS) $(classes-zune-nlistview-class_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistview-class_CFLAGS)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistview-class_DFLAGS)) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlistview-class_MC_TARGETS) $(classes-zune-nlistview-class_MC_DTARGETS) : classes-zune-nlistview-class_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlistview-class_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlistview-class_MC_CPPFLAGS) +$(classes-zune-nlistview-class_MC_TARGETS) : CFLAGS := $(classes-zune-nlistview-class_CFLAGS) +$(classes-zune-nlistview-class_MC_TARGETS) : $(classes-zune-nlistview-class_MC_TGTWILDCARD).o : $(classes-zune-nlistview-class_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlistview-class_IQUOTE) $(dir $<) $(classes-zune-nlistview-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_IQUOTE) . $(classes-zune-nlistview-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlistview-class_IQUOTE) $(dir $<) $(classes-zune-nlistview-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_IQUOTE) . $(classes-zune-nlistview-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlistview-class_IQUOTE) $(dir $<) $(classes-zune-nlistview-class_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistview-class_IQUOTE) . $(classes-zune-nlistview-class_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlistview-class_MC_DTARGETS) : $(classes-zune-nlistview-class_MC_TGTWILDCARD).d : $(classes-zune-nlistview-class_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlistview-class_DFLAGS) $(classes-zune-nlistview-class_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (mcc,handler) +classes-zune-nlistview-class_MODULE := $(classes-zune-nlistview-class_MODDIR)/NListview-mcc +else +ifeq (mcc,printer) +classes-zune-nlistview-class_MODULE := $(classes-zune-nlistview-class_MODDIR)/NListview +else +classes-zune-nlistview-class_MODULE := $(classes-zune-nlistview-class_MODDIR)/NListview.mcc +endif +endif +classes-zune-nlistview-class_KOBJ := $(KOBJSDIR)/NListview_mcc.o + +classes-zune-nlistview-class-quick : classes-zune-nlistview-class +classes-zune-nlistview-class-kobj-quick : $(classes-zune-nlistview-class_KOBJ) +classes-zune-nlistview-class : $(classes-zune-nlistview-class_MODULE) +classes-zune-nlistview-class-kobj : $(classes-zune-nlistview-class_KOBJ) + +# The module is linked from all the compiled .o files +classes-zune-nlistview-class_OBJS := $(classes-zune-nlistview-class_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(classes-zune-nlistview-class_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (NListview,con) + classes-zune-nlistview-class_ERR := $(notdir $(classes-zune-nlistview-class_MODULE)).err +else + classes-zune-nlistview-class_ERR := NListview.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(NListview_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(NListview_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(classes-zune-nlistview-class_MODULE) : LIB_NAMES := $(NListview_LIBS) +$(classes-zune-nlistview-class_MODULE) : OBJS := $(classes-zune-nlistview-class_OBJS) +$(classes-zune-nlistview-class_MODULE) : ENDTAG := +$(classes-zune-nlistview-class_MODULE) : ERR := $(classes-zune-nlistview-class_ERR) +$(classes-zune-nlistview-class_MODULE) : OBJDIR := $(OBJDIR) +$(classes-zune-nlistview-class_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(classes-zune-nlistview-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(classes-zune-nlistview-class_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(classes-zune-nlistview-class_MODULE) : $(classes-zune-nlistview-class_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +classes-zune-nlistview-class_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +classes-zune-nlistview-class_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +classes-zune-nlistview-class_SYMBOLS := $(classes-zune-nlistview-class_KBASE) + +classes-zune-nlistview-class_KLIB := hiddstubs amiga arossupport autoinit libinit +classes-zune-nlistview-class_KOBJ_LIBS := $(filter-out $(classes-zune-nlistview-class_KLIB),) $(classes-zune-nlistview-class_KAUTOLIB) +$(classes-zune-nlistview-class_KOBJ) : LINKLIBS:=$(classes-zune-nlistview-class_KOBJ_LIBS) +$(classes-zune-nlistview-class_KOBJ) : FILTBASES:=$(addprefix -L ,$(classes-zune-nlistview-class_SYMBOLS)) +$(classes-zune-nlistview-class_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(classes-zune-nlistview-class_KOBJ) : $(classes-zune-nlistview-class_OBJS) $(classes-zune-nlistview-class_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +classes-zune-nlistview-class_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,$(FILES))) +ifneq ($(classes-zune-nlistview-class_DEPS),) + ifneq (classes-zune-nlistview-class classes-zune-nlistview-class-quick classes-zune-nlistview-class-kobj,) + ifneq ($(findstring $(TARGET),classes-zune-nlistview-class classes-zune-nlistview-class-quick classes-zune-nlistview-class-kobj),) + -include $(classes-zune-nlistview-class_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlistview-class_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlistview-class_OBJS) $(classes-zune-nlistview-class_DEPS) $(classes-zune-nlistview-class_MODULE) $(classes-zune-nlistview-class_KOBJ),) +$(classes-zune-nlistview-class_OBJS) $(classes-zune-nlistview-class_DEPS) $(classes-zune-nlistview-class_MODULE) $(classes-zune-nlistview-class_KOBJ) : | $(OBJDIR) $(classes-zune-nlistview-class_MODDIR) $(KOBJSDIR) +else +$(classes-zune-nlistview-class_OBJS) $(classes-zune-nlistview-class_DEPS) $(classes-zune-nlistview-class_MODULE) $(classes-zune-nlistview-class_KOBJ) :: $(OBJDIR) $(classes-zune-nlistview-class_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(classes-zune-nlistview-class_MODDIR) $(KOBJSDIR) + + +classes-zune-nlistview-class-clean : FILES := $(classes-zune-nlistview-class_OBJS) $(classes-zune-nlistview-class_MODULE) $(classes-zune-nlistview-class_KOBJ) $(classes-zune-nlistview-class_DEPS) +classes-zune-nlistview-class-clean :: + $(Q)$(ECHO) "Cleaning up for module NListview" + $(Q)$(RM) $(FILES) + + +#MM includes-copy + +INCLUDE_FILES := ../include/mui/NListview_mcc.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (../include/mui,) +TMP_DIR := ../include/mui +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ../include/mui,$(GENINCDIR)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := ../include/mui/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/../include/mui/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (../include/mui,) +BD_INCL_FILES2 := $(subst ../include/mui,$(AROS_INCLUDES)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/classes/zune/nlist/nlistviews_mcp/mmakefile b/workbench/classes/zune/nlist/nlistviews_mcp/mmakefile new file mode 100644 index 00000000000..99eca27848e --- /dev/null +++ b/workbench/classes/zune/nlist/nlistviews_mcp/mmakefile @@ -0,0 +1,1262 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM classes-zune-nlistviews-mcp : includes linklibs classes-zune-nlistviews-mcp-catalogs +#MM classes-zune-nlistviews-mcp-test : includes linklibs + +USER_INCLUDES := -idirafter $(SRCDIR)/$(CURDIR)/../include -I$(SRCDIR)/$(CURDIR)/../nlistview_mcc +USER_CPPFLAGS := -DNO_INLINE_STDARG -DAROS_ABI_V1 +USER_CFLAGS += $(PARANOIA_CFLAGS) +USER_LDFLAGS := -static + +FILES := locale NListviews icon Debug + + +# Define metamake targets and their dependencies +#MM classes-zune-nlistviews-mcp : core-linklibs includes-generate-deps +#MM classes-zune-nlistviews-mcp-kobj : core-linklibs includes-generate-deps +#MM classes-zune-nlistviews-mcp-kobj-quick +#MM classes-zune-nlistviews-mcp-quick +#MM classes-zune-nlistviews-mcp-clean + +classes-zune-nlistviews-mcp_ALLTARGETS := classes-zune-nlistviews-mcp classes-zune-nlistviews-mcp-clean classes-zune-nlistviews-mcp-quick classes-zune-nlistviews-mcp-kobj + +.PHONY : $(classes-zune-nlistviews-mcp_ALLTARGETS) + +ifeq (NListviews,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (mcp,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +classes-zune-nlistviews-mcp_DEFLINKLIBNAME := NListviews +classes-zune-nlistviews-mcp_CFLAGS := $(CFLAGS) +classes-zune-nlistviews-mcp_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +classes-zune-nlistviews-mcp_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(classes-zune-nlistviews-mcp_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlistviews-mcp_FUNCINSTR := yes +classes-zune-nlistviews-mcp_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(classes-zune-nlistviews-mcp_CFLAGS)) +endif +endif +ifneq (,) + classes-zune-nlistviews-mcp_DFLAGS := +else + classes-zune-nlistviews-mcp_DFLAGS := $(classes-zune-nlistviews-mcp_CFLAGS) +endif +classes-zune-nlistviews-mcp_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +classes-zune-nlistviews-mcp_MODDIR := +ifeq ($(classes-zune-nlistviews-mcp_MODDIR),) + ifeq (mcp,library) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (mcp,gadget) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_GADGETS) + endif + ifeq (mcp,datatype) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_DATATYPES) + endif + ifeq (mcp,handler) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_FS) + endif + ifeq (mcp,device) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_DEVS) + endif + ifeq (mcp,resource) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcp,hook) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_RESOURCES) + endif + ifeq (mcp,mui) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcp,mcc) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcp,mcp) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (mcp,usbclass) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (mcp,hidd) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_DRIVERS) + endif + ifeq (mcp,printer) + classes-zune-nlistviews-mcp_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(classes-zune-nlistviews-mcp_MODDIR),) + $(error Don't know where to put the file for modtype mcp. Specify moduledir=) +endif + +classes-zune-nlistviews-mcp_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +classes-zune-nlistviews-mcp_ARCHFILES := $(basename $(notdir $(classes-zune-nlistviews-mcp_ARCHOBJS))) +classes-zune-nlistviews-mcp_C_NARCHFILES := $(filter-out $(classes-zune-nlistviews-mcp_ARCHFILES),library $(FILES)) +classes-zune-nlistviews-mcp_CXX_NARCHFILES := $(filter-out $(classes-zune-nlistviews-mcp_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +classes-zune-nlistviews-mcp_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlistviews-mcp_ARCHFILES),) + + +classes-zune-nlistviews-mcp_CXXABSBASENAMES := $(foreach classes-zune-nlistviews-mcp_CXXBASE,$(classes-zune-nlistviews-mcp_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlistviews-mcp_CXXBASE)),$(classes-zune-nlistviews-mcp_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlistviews-mcp_CXXBASE)))) + +ifneq ($(classes-zune-nlistviews-mcp_CXXABSBASENAMES),) + +classes-zune-nlistviews-mcp_CXXBASENAMES := $(basename $(classes-zune-nlistviews-mcp_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlistviews-mcp_MCXX_FILES := $(strip $(foreach classes-zune-nlistviews-mcp_CXXBASE,$(classes-zune-nlistviews-mcp_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlistviews-mcp_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlistviews-mcp_EXT),$(classes-zune-nlistviews-mcp_CXXBASE))))))) + +ifeq (,) +classes-zune-nlistviews-mcp_MCXX_SRCWILDCARD := % +else +classes-zune-nlistviews-mcp_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlistviews-mcp_CXXTARGETS := $(notdir $(classes-zune-nlistviews-mcp_CXXBASENAMES:=.o)) + classes-zune-nlistviews-mcp_CXXDTARGETS := $(notdir $(classes-zune-nlistviews-mcp_CXXBASENAMES:=.d)) + classes-zune-nlistviews-mcp_MCXX_WILDCARD := % +else + classes-zune-nlistviews-mcp_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp_CXXBASENAMES:=.o))) + classes-zune-nlistviews-mcp_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp_CXXBASENAMES:=.d))) + classes-zune-nlistviews-mcp_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlistviews-mcp_CXXTARGETS) $(classes-zune-nlistviews-mcp_CXXDTARGETS) : | $(classes-zune-nlistviews-mcp_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlistviews-mcp_MCXX_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlistviews-mcp_CXXFLAGS := $(classes-zune-nlistviews-mcp_CXXFLAGS) +ifeq ($(classes-zune-nlistviews-mcp_DXXFLAGS),) + classes-zune-nlistviews-mcp_DXXFLAGS := $(classes-zune-nlistviews-mcp_CXXFLAGS) +else + classes-zune-nlistviews-mcp_DXXFLAGS := $(classes-zune-nlistviews-mcp_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlistviews-mcp_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlistviews-mcp_STRIP ?= $(HOST_STRIP) + classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlistviews-mcp_CXXCMD:=$(HOST_CXX) + classes-zune-nlistviews-mcp_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistviews-mcp_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlistviews-mcp_CXXFLAGS)) + classes-zune-nlistviews-mcp_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlistviews-mcp_DXXFLAGS)) + classes-zune-nlistviews-mcp_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlistviews-mcp_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlistviews-mcp_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlistviews-mcp_STRIP ?= $(TARGET_STRIP) + classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlistviews-mcp_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlistviews-mcp_MCXX_CPPFLAGS := $(strip $(classes-zune-nlistviews-mcp_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistviews-mcp_CXXFLAGS := $(strip $(classes-zune-nlistviews-mcp_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlistviews-mcp_DXXFLAGS := $(classes-zune-nlistviews-mcp_DXXFLAGS) + classes-zune-nlistviews-mcp_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlistviews-mcp_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlistviews-mcp_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlistviews-mcp_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlistviews-mcp_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlistviews-mcp_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistviews-mcp_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlistviews-mcp_CXXFLAGS)) + classes-zune-nlistviews-mcp_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlistviews-mcp_DXXFLAGS)) + classes-zune-nlistviews-mcp_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlistviews-mcp_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlistviews-mcp_CXXCMD) $(classes-zune-nlistviews-mcp_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistviews-mcp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_CXXIQUOTE) . $(classes-zune-nlistviews-mcp_CXXIQUOTE_END) $(strip $(classes-zune-nlistviews-mcp_CXXFLAGS) $(classes-zune-nlistviews-mcp_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlistviews-mcp_CXXCMD) $(classes-zune-nlistviews-mcp_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistviews-mcp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_CXXIQUOTE) . $(classes-zune-nlistviews-mcp_CXXIQUOTE_END) $(strip $(classes-zune-nlistviews-mcp_CXXFLAGS) $(classes-zune-nlistviews-mcp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlistviews-mcp_CXXCMD) $(classes-zune-nlistviews-mcp_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistviews-mcp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_CXXIQUOTE) . $(classes-zune-nlistviews-mcp_CXXIQUOTE_END) $(strip $(classes-zune-nlistviews-mcp_CXXFLAGS) $(classes-zune-nlistviews-mcp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlistviews-mcp_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlistviews-mcp_DXXFLAGS) $(classes-zune-nlistviews-mcp_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach classes-zune-nlistviews-mcp_CXXFILE,$(classes-zune-nlistviews-mcp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlistviews-mcp_CXXFILE))),$(classes-zune-nlistviews-mcp_CXXFILE)))) +else + $(foreach classes-zune-nlistviews-mcp_CXXFILE,$(classes-zune-nlistviews-mcp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(classes-zune-nlistviews-mcp_CXXFILE)))),$(classes-zune-nlistviews-mcp_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlistviews-mcp_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlistviews-mcp_MOBJC_SRCWILDCARD := % +else +classes-zune-nlistviews-mcp_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + classes-zune-nlistviews-mcp_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlistviews-mcp_OBJC_NARCHFILES)) + classes-zune-nlistviews-mcp_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlistviews-mcp_OBJC_NARCHFILES)) + classes-zune-nlistviews-mcp_MOBJC_WILDCARD := % +else + classes-zune-nlistviews-mcp_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlistviews-mcp_OBJC_NARCHFILES))) + classes-zune-nlistviews-mcp_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlistviews-mcp_OBJC_NARCHFILES))) + classes-zune-nlistviews-mcp_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlistviews-mcp_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlistviews-mcp_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlistviews-mcp_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlistviews-mcp_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlistviews-mcp_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlistviews-mcp_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlistviews-mcp_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlistviews-mcp_MOBJC_DIRS),) + classes-zune-nlistviews-mcp_MOBJC_DIRS := $(shell echo $(classes-zune-nlistviews-mcp_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlistviews-mcp_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlistviews-mcp_CC := $(TARGET_CC) +else + classes-zune-nlistviews-mcp_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlistviews-mcp_OBJCFLAGS := $(classes-zune-nlistviews-mcp_CFLAGS) +classes-zune-nlistviews-mcp_OBJCFLAGS := $(classes-zune-nlistviews-mcp_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlistviews-mcp_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlistviews-mcp_OBJCFLAGS))) +ifeq ($(classes-zune-nlistviews-mcp_DFLAGS),) + classes-zune-nlistviews-mcp_OBJCDFLAGS := $(classes-zune-nlistviews-mcp_CFLAGS) +else + classes-zune-nlistviews-mcp_OBJCDFLAGS := $(classes-zune-nlistviews-mcp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlistviews-mcp_LINK ?= $(strip $(classes-zune-nlistviews-mcp_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlistviews-mcp_STRIP ?= $(TARGET_STRIP) + classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlistviews-mcp_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_OBJCFLAGS:=$(strip $(classes-zune-nlistviews-mcp_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_OBJCDFLAGS:=$(classes-zune-nlistviews-mcp_OBJCDFLAGS) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlistviews-mcp_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlistviews-mcp_STRIP ?= $(HOST_STRIP) + classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistviews-mcp_OBJCFLAGS)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistviews-mcp_OBJCDFLAGS)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlistviews-mcp_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlistviews-mcp_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistviews-mcp_OBJCFLAGS)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistviews-mcp_OBJCDFLAGS)) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlistviews-mcp_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlistviews-mcp_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS) +$(classes-zune-nlistviews-mcp_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlistviews-mcp_OBJCFLAGS) +$(classes-zune-nlistviews-mcp_MOBJC_TARGETS) : $(classes-zune-nlistviews-mcp_MOBJC_WILDCARD).o : $(classes-zune-nlistviews-mcp_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlistviews-mcp_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_IQUOTE) . $(classes-zune-nlistviews-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlistviews-mcp_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_IQUOTE) . $(classes-zune-nlistviews-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlistviews-mcp_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_IQUOTE) . $(classes-zune-nlistviews-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlistviews-mcp_MOBJC_DTARGETS) : $(classes-zune-nlistviews-mcp_MOBJC_WILDCARD).d : $(classes-zune-nlistviews-mcp_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlistviews-mcp_OBJCDFLAGS) $(classes-zune-nlistviews-mcp_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlistviews-mcp_MC_SRCWILDCARD := % +else +classes-zune-nlistviews-mcp_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +classes-zune-nlistviews-mcp_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlistviews-mcp_C_NARCHFILES)) +classes-zune-nlistviews-mcp_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlistviews-mcp_C_NARCHFILES)) +classes-zune-nlistviews-mcp_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlistviews-mcp_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp_C_NARCHFILES)))) + classes-zune-nlistviews-mcp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlistviews-mcp_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(classes-zune-nlistviews-mcp_C_NARCHFILES))) + classes-zune-nlistviews-mcp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(classes-zune-nlistviews-mcp_C_NARCHFILES))) +else + classes-zune-nlistviews-mcp_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlistviews-mcp_C_NARCHFILES)))) + classes-zune-nlistviews-mcp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlistviews-mcp_C_NARCHFILES)))) +endif +endif +classes-zune-nlistviews-mcp_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlistviews-mcp_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlistviews-mcp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlistviews-mcp_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlistviews-mcp_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlistviews-mcp_MC_DIRS := $(foreach dir, $(classes-zune-nlistviews-mcp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlistviews-mcp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlistviews-mcp_MC_DIRS),) + classes-zune-nlistviews-mcp_MC_DIRS := $(shell echo $(classes-zune-nlistviews-mcp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlistviews-mcp_MC_DIRS) +endif + +endif + +classes-zune-nlistviews-mcp_MC_CPPFLAGS := $(CPPFLAGS) +classes-zune-nlistviews-mcp_CFLAGS := $(classes-zune-nlistviews-mcp_CFLAGS) +ifeq ($(classes-zune-nlistviews-mcp_DFLAGS),) + classes-zune-nlistviews-mcp_DFLAGS := $(classes-zune-nlistviews-mcp_CFLAGS) +else + classes-zune-nlistviews-mcp_DFLAGS := $(classes-zune-nlistviews-mcp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlistviews-mcp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlistviews-mcp_STRIP ?= $(TARGET_STRIP) +classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_MC_CPPFLAGS:=$(strip $(classes-zune-nlistviews-mcp_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_CFLAGS:=$(strip $(classes-zune-nlistviews-mcp_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_DFLAGS:=$(classes-zune-nlistviews-mcp_DFLAGS) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlistviews-mcp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlistviews-mcp_STRIP ?= $(HOST_STRIP) +classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistviews-mcp_CFLAGS)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistviews-mcp_DFLAGS)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlistviews-mcp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlistviews-mcp_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlistviews-mcp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistviews-mcp_CFLAGS)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistviews-mcp_DFLAGS)) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlistviews-mcp_MC_TARGETS) $(classes-zune-nlistviews-mcp_MC_DTARGETS) : classes-zune-nlistviews-mcp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlistviews-mcp_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlistviews-mcp_MC_CPPFLAGS) +$(classes-zune-nlistviews-mcp_MC_TARGETS) : CFLAGS := $(classes-zune-nlistviews-mcp_CFLAGS) +$(classes-zune-nlistviews-mcp_MC_TARGETS) : $(classes-zune-nlistviews-mcp_MC_TGTWILDCARD).o : $(classes-zune-nlistviews-mcp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlistviews-mcp_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_IQUOTE) . $(classes-zune-nlistviews-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlistviews-mcp_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_IQUOTE) . $(classes-zune-nlistviews-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlistviews-mcp_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp_IQUOTE) . $(classes-zune-nlistviews-mcp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlistviews-mcp_MC_DTARGETS) : $(classes-zune-nlistviews-mcp_MC_TGTWILDCARD).d : $(classes-zune-nlistviews-mcp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlistviews-mcp_DFLAGS) $(classes-zune-nlistviews-mcp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (mcp,handler) +classes-zune-nlistviews-mcp_MODULE := $(classes-zune-nlistviews-mcp_MODDIR)/NListviews-mcp +else +ifeq (mcp,printer) +classes-zune-nlistviews-mcp_MODULE := $(classes-zune-nlistviews-mcp_MODDIR)/NListviews +else +classes-zune-nlistviews-mcp_MODULE := $(classes-zune-nlistviews-mcp_MODDIR)/NListviews.mcp +endif +endif +classes-zune-nlistviews-mcp_KOBJ := $(KOBJSDIR)/NListviews_mcp.o + +classes-zune-nlistviews-mcp-quick : classes-zune-nlistviews-mcp +classes-zune-nlistviews-mcp-kobj-quick : $(classes-zune-nlistviews-mcp_KOBJ) +classes-zune-nlistviews-mcp : $(classes-zune-nlistviews-mcp_MODULE) +classes-zune-nlistviews-mcp-kobj : $(classes-zune-nlistviews-mcp_KOBJ) + +# The module is linked from all the compiled .o files +classes-zune-nlistviews-mcp_OBJS := $(classes-zune-nlistviews-mcp_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(classes-zune-nlistviews-mcp_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (NListviews,con) + classes-zune-nlistviews-mcp_ERR := $(notdir $(classes-zune-nlistviews-mcp_MODULE)).err +else + classes-zune-nlistviews-mcp_ERR := NListviews.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(NListviews_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(NListviews_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(classes-zune-nlistviews-mcp_MODULE) : LIB_NAMES := $(NListviews_LIBS) +$(classes-zune-nlistviews-mcp_MODULE) : OBJS := $(classes-zune-nlistviews-mcp_OBJS) +$(classes-zune-nlistviews-mcp_MODULE) : ENDTAG := +$(classes-zune-nlistviews-mcp_MODULE) : ERR := $(classes-zune-nlistviews-mcp_ERR) +$(classes-zune-nlistviews-mcp_MODULE) : OBJDIR := $(OBJDIR) +$(classes-zune-nlistviews-mcp_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(classes-zune-nlistviews-mcp_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(classes-zune-nlistviews-mcp_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(classes-zune-nlistviews-mcp_MODULE) : $(classes-zune-nlistviews-mcp_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +classes-zune-nlistviews-mcp_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +classes-zune-nlistviews-mcp_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +classes-zune-nlistviews-mcp_SYMBOLS := $(classes-zune-nlistviews-mcp_KBASE) + +classes-zune-nlistviews-mcp_KLIB := hiddstubs amiga arossupport autoinit libinit +classes-zune-nlistviews-mcp_KOBJ_LIBS := $(filter-out $(classes-zune-nlistviews-mcp_KLIB),) $(classes-zune-nlistviews-mcp_KAUTOLIB) +$(classes-zune-nlistviews-mcp_KOBJ) : LINKLIBS:=$(classes-zune-nlistviews-mcp_KOBJ_LIBS) +$(classes-zune-nlistviews-mcp_KOBJ) : FILTBASES:=$(addprefix -L ,$(classes-zune-nlistviews-mcp_SYMBOLS)) +$(classes-zune-nlistviews-mcp_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(classes-zune-nlistviews-mcp_KOBJ) : $(classes-zune-nlistviews-mcp_OBJS) $(classes-zune-nlistviews-mcp_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +classes-zune-nlistviews-mcp_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,library $(FILES))) +ifneq ($(classes-zune-nlistviews-mcp_DEPS),) + ifneq (classes-zune-nlistviews-mcp classes-zune-nlistviews-mcp-quick classes-zune-nlistviews-mcp-kobj,) + ifneq ($(findstring $(TARGET),classes-zune-nlistviews-mcp classes-zune-nlistviews-mcp-quick classes-zune-nlistviews-mcp-kobj),) + -include $(classes-zune-nlistviews-mcp_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlistviews-mcp_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlistviews-mcp_OBJS) $(classes-zune-nlistviews-mcp_DEPS) $(classes-zune-nlistviews-mcp_MODULE) $(classes-zune-nlistviews-mcp_KOBJ),) +$(classes-zune-nlistviews-mcp_OBJS) $(classes-zune-nlistviews-mcp_DEPS) $(classes-zune-nlistviews-mcp_MODULE) $(classes-zune-nlistviews-mcp_KOBJ) : | $(OBJDIR) $(classes-zune-nlistviews-mcp_MODDIR) $(KOBJSDIR) +else +$(classes-zune-nlistviews-mcp_OBJS) $(classes-zune-nlistviews-mcp_DEPS) $(classes-zune-nlistviews-mcp_MODULE) $(classes-zune-nlistviews-mcp_KOBJ) :: $(OBJDIR) $(classes-zune-nlistviews-mcp_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(classes-zune-nlistviews-mcp_MODDIR) $(KOBJSDIR) + + +classes-zune-nlistviews-mcp-clean : FILES := $(classes-zune-nlistviews-mcp_OBJS) $(classes-zune-nlistviews-mcp_MODULE) $(classes-zune-nlistviews-mcp_KOBJ) $(classes-zune-nlistviews-mcp_DEPS) +classes-zune-nlistviews-mcp-clean :: + $(Q)$(ECHO) "Cleaning up for module NListviews" + $(Q)$(RM) $(FILES) + + + +.PHONY : classes-zune-nlistviews-mcp-test + +classes-zune-nlistviews-mcp-test_PROGNAME := NListviews-Prefs +classes-zune-nlistviews-mcp-test_OBJDIR := $(GENDIR)/$(CURDIR) +classes-zune-nlistviews-mcp-test_TARGETDIR := $(AROS_TESTS)/NList +classes-zune-nlistviews-mcp-test_LINKER := +classes-zune-nlistviews-mcp-test_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(classes-zune-nlistviews-mcp-test_LINKER),) + classes-zune-nlistviews-mcp-test_LINKER := target +endif + +ifneq ("$(strip NListviews-Prefs $(FILES) )","") + classes-zune-nlistviews-mcp-test_FILES := NListviews-Prefs $(FILES) + classes-zune-nlistviews-mcp-test_OBJCFILES := + classes-zune-nlistviews-mcp-test_ASMFILES := + classes-zune-nlistviews-mcp-test_CXXFILES := +else + classes-zune-nlistviews-mcp-test_FILES := $(classes-zune-nlistviews-mcp-test_PROGNAME) + classes-zune-nlistviews-mcp-test_OBJCFILES := + classes-zune-nlistviews-mcp-test_ASMFILES := + classes-zune-nlistviews-mcp-test_CXXFILES := +endif + +classes-zune-nlistviews-mcp-test_ARCHOBJS := $(wildcard $(classes-zune-nlistviews-mcp-test_OBJDIR)/arch/*.o) +classes-zune-nlistviews-mcp-test_ARCHFILES := $(basename $(notdir $(classes-zune-nlistviews-mcp-test_ARCHOBJS))) +classes-zune-nlistviews-mcp-test_C_NARCHFILES := $(filter-out $(classes-zune-nlistviews-mcp-test_ARCHFILES),$(classes-zune-nlistviews-mcp-test_FILES)) +classes-zune-nlistviews-mcp-test_CXX_NARCHFILES := $(filter-out $(classes-zune-nlistviews-mcp-test_ARCHFILES),$(classes-zune-nlistviews-mcp-test_CXXFILES)) +classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES := $(filter-out $(classes-zune-nlistviews-mcp-test_ARCHFILES),$(classes-zune-nlistviews-mcp-test_OBJCFILES)) + +TMP_FILES := $(classes-zune-nlistviews-mcp-test_C_NARCHFILES) $(classes-zune-nlistviews-mcp-test_CXX_NARCHFILES) $(classes-zune-nlistviews-mcp-test_ASMFILES) $(classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES) +classes-zune-nlistviews-mcp-test_OBJS := $(addsuffix .o,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(notdir $(TMP_FILES)))) +classes-zune-nlistviews-mcp-test_DEPS := $(addsuffix .d,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(notdir $(TMP_FILES)))) + +classes-zune-nlistviews-mcp-test_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +classes-zune-nlistviews-mcp-test_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlistviews-mcp-test_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +classes-zune-nlistviews-mcp-test_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlistviews-mcp-test_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +classes-zune-nlistviews-mcp-test_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlistviews-mcp-test_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +classes-zune-nlistviews-mcp-test_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlistviews-mcp-test_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +classes-zune-nlistviews-mcp-test_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +classes-zune-nlistviews-mcp-test_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +classes-zune-nlistviews-mcp-test_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlistviews-mcp-test_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +classes-zune-nlistviews-mcp-test_LDFLAGS := +endif + +classes-zune-nlistviews-mcp-test_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +classes-zune-nlistviews-mcp-test_COVERAGE := yes +classes-zune-nlistviews-mcp-test_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +classes-zune-nlistviews-mcp-test_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +classes-zune-nlistviews-mcp-test_CFLAGS := $(strip $(classes-zune-nlistviews-mcp-test_COVERAGEFLAGS) $(classes-zune-nlistviews-mcp-test_CFLAGS)) +classes-zune-nlistviews-mcp-test_CXXFLAGS := $(strip $(classes-zune-nlistviews-mcp-test_COVERAGEFLAGS) $(classes-zune-nlistviews-mcp-test_CXXFLAGS)) +classes-zune-nlistviews-mcp-test_LIBS += $(classes-zune-nlistviews-mcp-test_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +classes-zune-nlistviews-mcp-test_FUNCINSTR := yes +classes-zune-nlistviews-mcp-test_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +classes-zune-nlistviews-mcp-test_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +classes-zune-nlistviews-mcp-test_CFLAGS := $(strip $(classes-zune-nlistviews-mcp-test_INSTRFUNCFLAGS) $(classes-zune-nlistviews-mcp-test_CFLAGS)) +classes-zune-nlistviews-mcp-test_CXXFLAGS := $(strip $(classes-zune-nlistviews-mcp-test_INSTRFUNCFLAGS) $(classes-zune-nlistviews-mcp-test_CXXFLAGS)) +classes-zune-nlistviews-mcp-test_LIBS += $(classes-zune-nlistviews-mcp-test_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +classes-zune-nlistviews-mcp-test_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nlistviews-mcp-test_CFLAGS)) +classes-zune-nlistviews-mcp-test_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(classes-zune-nlistviews-mcp-test_CXXFLAGS)) +endif +endif +classes-zune-nlistviews-mcp-test_AFLAGS := $(AFLAGS) +ifneq (,) + classes-zune-nlistviews-mcp-test_DFLAGS := +else + classes-zune-nlistviews-mcp-test_DFLAGS := $(classes-zune-nlistviews-mcp-test_CFLAGS) +endif +ifneq (,) + classes-zune-nlistviews-mcp-test_DXXFLAGS := +else + classes-zune-nlistviews-mcp-test_DXXFLAGS := $(classes-zune-nlistviews-mcp-test_CXXFLAGS) +endif +ifeq (target,target) +classes-zune-nlistviews-mcp-test_LDFLAGS := $(classes-zune-nlistviews-mcp-test_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +classes-zune-nlistviews-mcp-test_LDFLAGS := $(classes-zune-nlistviews-mcp-test_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +classes-zune-nlistviews-mcp-test_LDFLAGS := $(classes-zune-nlistviews-mcp-test_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +classes-zune-nlistviews-mcp-test_LDFLAGS += -L +endif + +#MM +classes-zune-nlistviews-mcp-test-quick : classes-zune-nlistviews-mcp-test + +#MM classes-zune-nlistviews-mcp-test : includes-generate-deps core-linklibs +classes-zune-nlistviews-mcp-test : $(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) + +ifneq ($(filter $(TARGET),classes-zune-nlistviews-mcp-test classes-zune-nlistviews-mcp-test-quick classes-zune-nlistviews-mcp-test-gz-quick),) + +classes-zune-nlistviews-mcp-test_CXXABSBASENAMES := $(foreach classes-zune-nlistviews-mcp-test_CXXBASE,$(classes-zune-nlistviews-mcp-test_CXX_NARCHFILES),$(if $(filter /%,$(classes-zune-nlistviews-mcp-test_CXXBASE)),$(classes-zune-nlistviews-mcp-test_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(classes-zune-nlistviews-mcp-test_CXXBASE)))) + +ifneq ($(classes-zune-nlistviews-mcp-test_CXXABSBASENAMES),) + +classes-zune-nlistviews-mcp-test_CXXBASENAMES := $(basename $(classes-zune-nlistviews-mcp-test_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +classes-zune-nlistviews-mcp-test_MCXX_FILES := $(strip $(foreach classes-zune-nlistviews-mcp-test_CXXBASE,$(classes-zune-nlistviews-mcp-test_CXXABSBASENAMES), $(firstword $(wildcard $(foreach classes-zune-nlistviews-mcp-test_EXT, $(AROS_CXXEXTS),$(addsuffix .$(classes-zune-nlistviews-mcp-test_EXT),$(classes-zune-nlistviews-mcp-test_CXXBASE))))))) + +ifeq (,) +classes-zune-nlistviews-mcp-test_MCXX_SRCWILDCARD := % +else +classes-zune-nlistviews-mcp-test_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlistviews-mcp-test_OBJDIR),) + classes-zune-nlistviews-mcp-test_CXXTARGETS := $(notdir $(classes-zune-nlistviews-mcp-test_CXXBASENAMES:=.o)) + classes-zune-nlistviews-mcp-test_CXXDTARGETS := $(notdir $(classes-zune-nlistviews-mcp-test_CXXBASENAMES:=.d)) + classes-zune-nlistviews-mcp-test_MCXX_WILDCARD := % +else + classes-zune-nlistviews-mcp-test_CXXTARGETS := $(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp-test_CXXBASENAMES:=.o))) + classes-zune-nlistviews-mcp-test_CXXDTARGETS := $(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp-test_CXXBASENAMES:=.d))) + classes-zune-nlistviews-mcp-test_MCXX_WILDCARD := $(classes-zune-nlistviews-mcp-test_OBJDIR)/% + + # Be sure that all source files are generated + $(classes-zune-nlistviews-mcp-test_CXXTARGETS) $(classes-zune-nlistviews-mcp-test_CXXDTARGETS) : | $(classes-zune-nlistviews-mcp-test_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS := $(classes-zune-nlistviews-mcp-test_CPPFLAGS) +classes-zune-nlistviews-mcp-test_CXXFLAGS := $(classes-zune-nlistviews-mcp-test_CXXFLAGS) +ifeq ($(classes-zune-nlistviews-mcp-test_DXXFLAGS),) + classes-zune-nlistviews-mcp-test_DXXFLAGS := $(classes-zune-nlistviews-mcp-test_CXXFLAGS) +else + classes-zune-nlistviews-mcp-test_DXXFLAGS := $(classes-zune-nlistviews-mcp-test_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + classes-zune-nlistviews-mcp-test_STRIP ?= $(HOST_STRIP) + classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + classes-zune-nlistviews-mcp-test_CXXCMD:=$(HOST_CXX) + classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistviews-mcp-test_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlistviews-mcp-test_CXXFLAGS)) + classes-zune-nlistviews-mcp-test_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(classes-zune-nlistviews-mcp-test_DXXFLAGS)) + classes-zune-nlistviews-mcp-test_CXXIQUOTE:=$(HOST_IQUOTE) + classes-zune-nlistviews-mcp-test_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlistviews-mcp-test_STRIP ?= $(TARGET_STRIP) + classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + classes-zune-nlistviews-mcp-test_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS := $(strip $(classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistviews-mcp-test_CXXFLAGS := $(strip $(classes-zune-nlistviews-mcp-test_CXXFLAGS) $(SAFETY_CFLAGS)) + classes-zune-nlistviews-mcp-test_DXXFLAGS := $(classes-zune-nlistviews-mcp-test_DXXFLAGS) + classes-zune-nlistviews-mcp-test_CXXIQUOTE:=$(CFLAGS_IQUOTE) + classes-zune-nlistviews-mcp-test_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlistviews-mcp-test_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + classes-zune-nlistviews-mcp-test_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + classes-zune-nlistviews-mcp-test_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_EXTRA_CPPFLAGS)) + classes-zune-nlistviews-mcp-test_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlistviews-mcp-test_CXXFLAGS)) + classes-zune-nlistviews-mcp-test_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(classes-zune-nlistviews-mcp-test_DXXFLAGS)) + classes-zune-nlistviews-mcp-test_CXXIQUOTE:=$(KERNEL_IQUOTE) + classes-zune-nlistviews-mcp-test_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(classes-zune-nlistviews-mcp-test_CXXCMD) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) . $(classes-zune-nlistviews-mcp-test_CXXIQUOTE_END) $(strip $(classes-zune-nlistviews-mcp-test_CXXFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(classes-zune-nlistviews-mcp-test_CXXCMD) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) . $(classes-zune-nlistviews-mcp-test_CXXIQUOTE_END) $(strip $(classes-zune-nlistviews-mcp-test_CXXFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(classes-zune-nlistviews-mcp-test_CXXCMD) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) $(dir $(2)) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_CXXIQUOTE) . $(classes-zune-nlistviews-mcp-test_CXXIQUOTE_END) $(strip $(classes-zune-nlistviews-mcp-test_CXXFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(classes-zune-nlistviews-mcp-test_CXXCMD)" $(MKDEPEND) $(strip $(classes-zune-nlistviews-mcp-test_DXXFLAGS) $(classes-zune-nlistviews-mcp-test_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(classes-zune-nlistviews-mcp-test_OBJDIR),) + $(foreach classes-zune-nlistviews-mcp-test_CXXFILE,$(classes-zune-nlistviews-mcp-test_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(classes-zune-nlistviews-mcp-test_CXXFILE))),$(classes-zune-nlistviews-mcp-test_CXXFILE)))) +else + $(foreach classes-zune-nlistviews-mcp-test_CXXFILE,$(classes-zune-nlistviews-mcp-test_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(notdir $(basename $(classes-zune-nlistviews-mcp-test_CXXFILE)))),$(classes-zune-nlistviews-mcp-test_CXXFILE)))) +endif + +endif + + +ifneq ($(classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES),) + +ifeq (,) +classes-zune-nlistviews-mcp-test_MOBJC_SRCWILDCARD := % +else +classes-zune-nlistviews-mcp-test_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlistviews-mcp-test_OBJDIR),) + classes-zune-nlistviews-mcp-test_MOBJC_TARGETS := $(addsuffix .o,$(classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES)) + classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS := $(addsuffix .d,$(classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES)) + classes-zune-nlistviews-mcp-test_MOBJC_WILDCARD := % +else + classes-zune-nlistviews-mcp-test_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES))) + classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES))) + classes-zune-nlistviews-mcp-test_MOBJC_WILDCARD := $(classes-zune-nlistviews-mcp-test_OBJDIR)/% + + # Be sure that all .m files are generated + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : | $(addsuffix .m,$(classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + classes-zune-nlistviews-mcp-test_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + classes-zune-nlistviews-mcp-test_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlistviews-mcp-test_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + classes-zune-nlistviews-mcp-test_MOBJC_DIRS := $(foreach dir, $(classes-zune-nlistviews-mcp-test_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlistviews-mcp-test_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(classes-zune-nlistviews-mcp-test_MOBJC_DIRS),) + classes-zune-nlistviews-mcp-test_MOBJC_DIRS := $(shell echo $(classes-zune-nlistviews-mcp-test_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(classes-zune-nlistviews-mcp-test_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + classes-zune-nlistviews-mcp-test_CC := $(TARGET_CC) +else + classes-zune-nlistviews-mcp-test_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS := $(classes-zune-nlistviews-mcp-test_CPPFLAGS) +classes-zune-nlistviews-mcp-test_OBJCFLAGS := $(classes-zune-nlistviews-mcp-test_CFLAGS) +classes-zune-nlistviews-mcp-test_OBJCFLAGS := $(classes-zune-nlistviews-mcp-test_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +classes-zune-nlistviews-mcp-test_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(classes-zune-nlistviews-mcp-test_OBJCFLAGS))) +ifeq ($(classes-zune-nlistviews-mcp-test_DFLAGS),) + classes-zune-nlistviews-mcp-test_OBJCDFLAGS := $(classes-zune-nlistviews-mcp-test_CFLAGS) +else + classes-zune-nlistviews-mcp-test_OBJCDFLAGS := $(classes-zune-nlistviews-mcp-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(classes-zune-nlistviews-mcp-test_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + classes-zune-nlistviews-mcp-test_STRIP ?= $(TARGET_STRIP) + classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : CMD:=$(strip $(classes-zune-nlistviews-mcp-test_CC) $(TARGET_SYSROOT)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS:=$(strip $(classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_OBJCFLAGS:=$(strip $(classes-zune-nlistviews-mcp-test_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_OBJCDFLAGS:=$(classes-zune-nlistviews-mcp-test_OBJCDFLAGS) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE:=$(CFLAGS_IQUOTE) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + classes-zune-nlistviews-mcp-test_STRIP ?= $(HOST_STRIP) + classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistviews-mcp-test_OBJCFLAGS)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistviews-mcp-test_OBJCDFLAGS)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE:=$(HOST_IQUOTE) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + classes-zune-nlistviews-mcp-test_STRIP ?= $(ECHO) >/dev/null + classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MOBJC_EXTRA_CPPFLAGS)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistviews-mcp-test_OBJCFLAGS)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistviews-mcp-test_OBJCDFLAGS)) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE:=$(KERNEL_IQUOTE) + $(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) $(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) : CPPFLAGS := $(classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS) +$(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) : CFLAGS := $(classes-zune-nlistviews-mcp-test_OBJCFLAGS) +$(classes-zune-nlistviews-mcp-test_MOBJC_TARGETS) : $(classes-zune-nlistviews-mcp-test_MOBJC_WILDCARD).o : $(classes-zune-nlistviews-mcp-test_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_IQUOTE) . $(classes-zune-nlistviews-mcp-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_IQUOTE) . $(classes-zune-nlistviews-mcp-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_IQUOTE) . $(classes-zune-nlistviews-mcp-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlistviews-mcp-test_MOBJC_DTARGETS) : $(classes-zune-nlistviews-mcp-test_MOBJC_WILDCARD).d : $(classes-zune-nlistviews-mcp-test_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlistviews-mcp-test_OBJCDFLAGS) $(classes-zune-nlistviews-mcp-test_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +classes-zune-nlistviews-mcp-test_MC_SRCWILDCARD := % +else +classes-zune-nlistviews-mcp-test_MC_SRCWILDCARD := /% +endif + +ifeq ($(classes-zune-nlistviews-mcp-test_OBJDIR),) +classes-zune-nlistviews-mcp-test_MC_TARGETS := $(addsuffix .o,$(classes-zune-nlistviews-mcp-test_C_NARCHFILES)) +classes-zune-nlistviews-mcp-test_MC_DTARGETS := $(addsuffix .d,$(classes-zune-nlistviews-mcp-test_C_NARCHFILES)) +classes-zune-nlistviews-mcp-test_MC_TGTWILDCARD := % +else +ifeq (no,no) + classes-zune-nlistviews-mcp-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp-test_C_NARCHFILES)))) + classes-zune-nlistviews-mcp-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp-test_C_NARCHFILES)))) +else +ifeq (,) + classes-zune-nlistviews-mcp-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(classes-zune-nlistviews-mcp-test_C_NARCHFILES))) + classes-zune-nlistviews-mcp-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(classes-zune-nlistviews-mcp-test_C_NARCHFILES))) +else + classes-zune-nlistviews-mcp-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlistviews-mcp-test_C_NARCHFILES)))) + classes-zune-nlistviews-mcp-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(patsubst /%,%,$(classes-zune-nlistviews-mcp-test_C_NARCHFILES)))) +endif +endif +classes-zune-nlistviews-mcp-test_MC_TGTWILDCARD := $(classes-zune-nlistviews-mcp-test_OBJDIR)/% + +# Be sure that all .c files are generated +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : | $(addsuffix .c,$(classes-zune-nlistviews-mcp-test_C_NARCHFILES)) + +# Be sure that all .c files are found +classes-zune-nlistviews-mcp-test_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlistviews-mcp-test_MC_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlistviews-mcp-test_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlistviews-mcp-test_MC_DIRS := $(foreach dir, $(classes-zune-nlistviews-mcp-test_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlistviews-mcp-test_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlistviews-mcp-test_MC_DIRS),) + classes-zune-nlistviews-mcp-test_MC_DIRS := $(shell echo $(classes-zune-nlistviews-mcp-test_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(classes-zune-nlistviews-mcp-test_MC_DIRS) +endif + +endif + +classes-zune-nlistviews-mcp-test_MC_CPPFLAGS := $(classes-zune-nlistviews-mcp-test_CPPFLAGS) +classes-zune-nlistviews-mcp-test_CFLAGS := $(classes-zune-nlistviews-mcp-test_CFLAGS) +ifeq ($(classes-zune-nlistviews-mcp-test_DFLAGS),) + classes-zune-nlistviews-mcp-test_DFLAGS := $(classes-zune-nlistviews-mcp-test_CFLAGS) +else + classes-zune-nlistviews-mcp-test_DFLAGS := $(classes-zune-nlistviews-mcp-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +classes-zune-nlistviews-mcp-test_STRIP ?= $(TARGET_STRIP) +classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_MC_CPPFLAGS:=$(strip $(classes-zune-nlistviews-mcp-test_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_CFLAGS:=$(strip $(classes-zune-nlistviews-mcp-test_CFLAGS) $(SAFETY_CFLAGS)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_DFLAGS:=$(classes-zune-nlistviews-mcp-test_DFLAGS) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE:=$(CFLAGS_IQUOTE) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +classes-zune-nlistviews-mcp-test_STRIP ?= $(HOST_STRIP) +classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : CMD:=$(HOST_CC) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_CFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistviews-mcp-test_CFLAGS)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_DFLAGS:=$(strip $(HOST_CFLAGS) $(classes-zune-nlistviews-mcp-test_DFLAGS)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE:=$(HOST_IQUOTE) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +classes-zune-nlistviews-mcp-test_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +classes-zune-nlistviews-mcp-test_STRIP ?= $(ECHO) >/dev/null +classes-zune-nlistviews-mcp-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MC_CPPFLAGS) $(classes-zune-nlistviews-mcp-test_MC_EXTRA_CPPFLAGS)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistviews-mcp-test_CFLAGS)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(classes-zune-nlistviews-mcp-test_DFLAGS)) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE:=$(KERNEL_IQUOTE) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) $(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : classes-zune-nlistviews-mcp-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) : CPPFLAGS := $(classes-zune-nlistviews-mcp-test_MC_CPPFLAGS) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) : CFLAGS := $(classes-zune-nlistviews-mcp-test_CFLAGS) +$(classes-zune-nlistviews-mcp-test_MC_TARGETS) : $(classes-zune-nlistviews-mcp-test_MC_TGTWILDCARD).o : $(classes-zune-nlistviews-mcp-test_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_IQUOTE) . $(classes-zune-nlistviews-mcp-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_IQUOTE) . $(classes-zune-nlistviews-mcp-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(dir $<) $(classes-zune-nlistviews-mcp-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(classes-zune-nlistviews-mcp-test_IQUOTE) . $(classes-zune-nlistviews-mcp-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(classes-zune-nlistviews-mcp-test_MC_DTARGETS) : $(classes-zune-nlistviews-mcp-test_MC_TGTWILDCARD).d : $(classes-zune-nlistviews-mcp-test_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(classes-zune-nlistviews-mcp-test_DFLAGS) $(classes-zune-nlistviews-mcp-test_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(classes-zune-nlistviews-mcp-test_OBJDIR),) +classes-zune-nlistviews-mcp-test-MA_TARGETS := $(addsuffix .o,$(classes-zune-nlistviews-mcp-test_ASMFILES)) +classes-zune-nlistviews-mcp-test-MA_WILDCARD := % +else +classes-zune-nlistviews-mcp-test-MA_TARGETS := $(addsuffix .o,$(addprefix $(classes-zune-nlistviews-mcp-test_OBJDIR)/,$(notdir $(classes-zune-nlistviews-mcp-test_ASMFILES)))) +classes-zune-nlistviews-mcp-test-MA_WILDCARD := $(classes-zune-nlistviews-mcp-test_OBJDIR)/% + +# Be sure that all .s files are generated +$(classes-zune-nlistviews-mcp-test-MA_TARGETS) : | $(addsuffix .s,$(classes-zune-nlistviews-mcp-test_ASMFILES)) + +# Be sure that all .c files are found +classes-zune-nlistviews-mcp-test-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +classes-zune-nlistviews-mcp-test-MA_BASEDIRS := $(shell echo $(sort $(dir $(classes-zune-nlistviews-mcp-test_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +classes-zune-nlistviews-mcp-test-MA_DIRS := $(foreach dir, $(classes-zune-nlistviews-mcp-test-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(classes-zune-nlistviews-mcp-test-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(classes-zune-nlistviews-mcp-test-MA_DIRS),) + classes-zune-nlistviews-mcp-test-MA_DIRS := $(shell echo $(classes-zune-nlistviews-mcp-test-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(classes-zune-nlistviews-mcp-test-MA_DIRS) +endif + +endif + +classes-zune-nlistviews-mcp-test-MA_ASSEMBLER ?= $(classes-zune-nlistviews-mcp-test_ASSEMBLER) + +$(classes-zune-nlistviews-mcp-test-MA_TARGETS) : classes-zune-nlistviews-mcp-test-MA_CMD:= $(classes-zune-nlistviews-mcp-test-MA_ASSEMBLER) + +$(classes-zune-nlistviews-mcp-test-MA_TARGETS) : CPPFLAGS := $(classes-zune-nlistviews-mcp-test_CPPFLAGS) +$(classes-zune-nlistviews-mcp-test-MA_TARGETS) : AFLAGS := $(classes-zune-nlistviews-mcp-test_AFLAGS) +$(classes-zune-nlistviews-mcp-test-MA_TARGETS) : $(classes-zune-nlistviews-mcp-test-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(classes-zune-nlistviews-mcp-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(classes-zune-nlistviews-mcp-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(classes-zune-nlistviews-mcp-test-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +classes-zune-nlistviews-mcp-test-link_EXTRA_LDFLAGS := +classes-zune-nlistviews-mcp-test-link_EXTRA_LIBS := +ifeq (no,yes) + classes-zune-nlistviews-mcp-test-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + classes-zune-nlistviews-mcp-test-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + classes-zune-nlistviews-mcp-test-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +classes-zune-nlistviews-mcp-test-link_DIRS := $(subst -L ,-L,$(strip $(classes-zune-nlistviews-mcp-test_LDFLAGS))) +# Filter out only the libdirs and remove -L +classes-zune-nlistviews-mcp-test-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(classes-zune-nlistviews-mcp-test-link_DIRS))) +# Add trailing / +classes-zune-nlistviews-mcp-test-link_DIRS := $(subst //,/,$(addsuffix /,$(classes-zune-nlistviews-mcp-test-link_DIRS))) +# Add normal linklib path +classes-zune-nlistviews-mcp-test-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +classes-zune-nlistviews-mcp-test-link_LIBS := $(addprefix lib,$(addsuffix .a,$(classes-zune-nlistviews-mcp-test_LIBS) $(classes-zune-nlistviews-mcp-test-link_EXTRA_LIBS))) +ifeq (yes,yes) + classes-zune-nlistviews-mcp-test-link_LIBS += startup.o +endif +ifeq (no,yes) + classes-zune-nlistviews-mcp-test-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +classes-zune-nlistviews-mcp-test-link_DEPLIBS := $(foreach lib,$(classes-zune-nlistviews-mcp-test-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(classes-zune-nlistviews-mcp-test-link_DIRS)))) \ +) + +$(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) : OBJDIR := $(classes-zune-nlistviews-mcp-test_OBJDIR) +$(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) : OBJS := $(classes-zune-nlistviews-mcp-test_OBJS) $(classes-zune-nlistviews-mcp-test_ARCHOBJS) $(USER_OBJS) +$(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) : LDFLAGS := $(strip $(classes-zune-nlistviews-mcp-test_LDFLAGS) $(classes-zune-nlistviews-mcp-test-link_EXTRA_LDFLAGS)) +$(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) : LIBS := $(addprefix -l,$(classes-zune-nlistviews-mcp-test_LIBS) $(classes-zune-nlistviews-mcp-test-link_EXTRA_LIBS) ) +$(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) : $(classes-zune-nlistviews-mcp-test_OBJS) $(classes-zune-nlistviews-mcp-test_ARCHOBJS) $(USER_OBJS) $(classes-zune-nlistviews-mcp-test-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(classes-zune-nlistviews-mcp-test_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(classes-zune-nlistviews-mcp-test_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(classes-zune-nlistviews-mcp-test_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nlistviews-mcp-test_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(classes-zune-nlistviews-mcp-test_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(classes-zune-nlistviews-mcp-test_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(classes-zune-nlistviews-mcp-test_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(classes-zune-nlistviews-mcp-test_DEPS),) + ifneq (classes-zune-nlistviews-mcp-test classes-zune-nlistviews-mcp-test-quick,) + ifneq ($(findstring $(TARGET),classes-zune-nlistviews-mcp-test classes-zune-nlistviews-mcp-test-quick),) + -include $(classes-zune-nlistviews-mcp-test_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(classes-zune-nlistviews-mcp-test_DEPS) + endif + endif +endif + + +ifneq ($(classes-zune-nlistviews-mcp-test_OBJS) $(classes-zune-nlistviews-mcp-test_DEPS) $(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME),) +$(classes-zune-nlistviews-mcp-test_OBJS) $(classes-zune-nlistviews-mcp-test_DEPS) $(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) : | $(classes-zune-nlistviews-mcp-test_OBJDIR) $(classes-zune-nlistviews-mcp-test_TARGETDIR) +else +$(classes-zune-nlistviews-mcp-test_OBJS) $(classes-zune-nlistviews-mcp-test_DEPS) $(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) :: $(classes-zune-nlistviews-mcp-test_OBJDIR) $(classes-zune-nlistviews-mcp-test_TARGETDIR) +endif + +GLOB_MKDIRS += $(classes-zune-nlistviews-mcp-test_OBJDIR) $(classes-zune-nlistviews-mcp-test_TARGETDIR) + + +classes-zune-nlistviews-mcp-test-clean : FILES := $(classes-zune-nlistviews-mcp-test_OBJS) $(classes-zune-nlistviews-mcp-test_TARGETDIR)/$(classes-zune-nlistviews-mcp-test_PROGNAME) $(classes-zune-nlistviews-mcp-test_DEPS) +#MM +classes-zune-nlistviews-mcp-test-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget classes-zune-nlistviews-mcp-test" + $(Q)$(RM) $(FILES) + + + +#MM includes-copy + +INCLUDE_FILES := NListviews_mcp.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/mui/,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/mui,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/mui/,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/mui/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + + +TARGETDIR := $(AROS_CATALOGS) +LANGUAGES := $(basename $(notdir $(call WILDCARD,$(SRCDIR)/$(CURDIR)/locale/*.po))) +CATALOGS := $(addprefix $(TARGETDIR)/,$(addsuffix /NListviews_mcp.catalog,$(LANGUAGES))) + +#MM +classes-zune-nlistviews-mcp-catalogs : locale.h locale.c $(CATALOGS) + +locale.h: locale.c +locale.c: $(SRCDIR)/$(CURDIR)/locale/NListviews_mcp.pot $(SRCDIR)/$(CURDIR)/C_h.sd $(SRCDIR)/$(CURDIR)/C_c.sd + $(FLEXCAT) $(SRCDIR)/$(CURDIR)/locale/NListviews_mcp.pot locale.h=$(SRCDIR)/$(CURDIR)/C_h.sd locale.c=$(SRCDIR)/$(CURDIR)/C_c.sd + +$(TARGETDIR)/%/NListviews_mcp.catalog: $(SRCDIR)/$(CURDIR)/locale/%.po + $(ECHO) "Building catalog $@" + $(MKDIR) $(dir $@) + $(FLEXCAT) POFILE $< CATALOG $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/AHI/Drivers/Alsa/alsa-bridge/mmakefile b/workbench/devs/AHI/Drivers/Alsa/alsa-bridge/mmakefile new file mode 100644 index 00000000000..35c3642304f --- /dev/null +++ b/workbench/devs/AHI/Drivers/Alsa/alsa-bridge/mmakefile @@ -0,0 +1,533 @@ +# Copyright © 2015, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- AHI-alsa-bridge-linux : AHI-linklibs-alsa-bridge + +USER_CFLAGS = -isystem $(GENINCDIR) $(KERNEL_INCLUDES) + +ALSA_BRIDGE_FILES = \ + alsa \ + alsa_hostlib + + +# assign and generate the local variables used in this macro +AHI-linklibs-alsa-bridge_LIBNAME := alsa-bridge +AHI-linklibs-alsa-bridge_LINKLIB := $(AROS_LIB)/libalsa-bridge.a + +AHI-linklibs-alsa-bridge_FILES ?= $(ALSA_BRIDGE_FILES) +AHI-linklibs-alsa-bridge_ASMFILES := +AHI-linklibs-alsa-bridge_OBJCFILES := +AHI-linklibs-alsa-bridge_CXXFILES := + +AHI-linklibs-alsa-bridge_OBJDIR ?= $(GENDIR)/$(CURDIR) +AHI-linklibs-alsa-bridge_ARCHOBJS := $(wildcard $(AHI-linklibs-alsa-bridge_OBJDIR)/arch/*.o) +ifeq (no,no) + AHI-linklibs-alsa-bridge_ARCHFILES := $(basename $(notdir $(AHI-linklibs-alsa-bridge_ARCHOBJS))) +else + AHI-linklibs-alsa-bridge_ARCHFILES := $(basename $(patsubst $(AHI-linklibs-alsa-bridge_OBJDIR)/%,%,$(AHI-linklibs-alsa-bridge_ARCHOBJS))) +endif +AHI-linklibs-alsa-bridge_C_NARCHFILES := $(filter-out $(AHI-linklibs-alsa-bridge_ARCHFILES),$(AHI-linklibs-alsa-bridge_FILES)) +AHI-linklibs-alsa-bridge_C_FILES ?= $(AHI-linklibs-alsa-bridge_C_NARCHFILES) +AHI-linklibs-alsa-bridge_CXX_NARCHFILES := $(filter-out $(AHI-linklibs-alsa-bridge_ARCHFILES),$(AHI-linklibs-alsa-bridge_CXXFILES)) +AHI-linklibs-alsa-bridge_CXX_FILES ?= $(AHI-linklibs-alsa-bridge_CXX_NARCHFILES) +AHI-linklibs-alsa-bridge_OBJC_NARCHFILES := $(filter-out $(AHI-linklibs-alsa-bridge_ARCHFILES),$(AHI-linklibs-alsa-bridge_OBJCFILES)) +AHI-linklibs-alsa-bridge_OBJC_FILES ?= $(AHI-linklibs-alsa-bridge_OBJC_NARCHFILES) + +ifeq (no,no) + AHI-linklibs-alsa-bridge_OBJ_FILES ?= $(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(notdir $(AHI-linklibs-alsa-bridge_C_NARCHFILES:=.o) $(AHI-linklibs-alsa-bridge_CXX_NARCHFILES:=.o) $(AHI-linklibs-alsa-bridge_ASMFILES:=.o) $(AHI-linklibs-alsa-bridge_OBJC_NARCHFILES:=.o))) +else + AHI-linklibs-alsa-bridge_OBJ_FILES ?= $(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(AHI-linklibs-alsa-bridge_C_NARCHFILES:=.o) $(AHI-linklibs-alsa-bridge_CXX_NARCHFILES:=.o) $(AHI-linklibs-alsa-bridge_ASMFILES:=.o) $(AHI-linklibs-alsa-bridge_OBJC_NARCHFILES:=.o)) +endif +AHI-linklibs-alsa-bridge_OBJS ?= $(AHI-linklibs-alsa-bridge_ARCHOBJS) $(AHI-linklibs-alsa-bridge_OBJ_FILES) +AHI-linklibs-alsa-bridge_DEPS := $(patsubst %.o,%.d,$(AHI-linklibs-alsa-bridge_OBJS)) + +AHI-linklibs-alsa-bridge_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + AHI-linklibs-alsa-bridge_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +AHI-linklibs-alsa-bridge_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +AHI-linklibs-alsa-bridge_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +AHI-linklibs-alsa-bridge_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +AHI-linklibs-alsa-bridge_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +AHI-linklibs-alsa-bridge_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +AHI-linklibs-alsa-bridge_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +AHI-linklibs-alsa-bridge_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +AHI-linklibs-alsa-bridge_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + AHI-linklibs-alsa-bridge_CFLAGS := $(strip $(LTO_CFLAGS) $(AHI-linklibs-alsa-bridge_CFLAGS)) + AHI-linklibs-alsa-bridge_CXXFLAGS := $(strip $(LTO_CFLAGS) $(AHI-linklibs-alsa-bridge_CXXFLAGS)) +endif +endif +AHI-linklibs-alsa-bridge_AFLAGS := $(AFLAGS) +AHI-linklibs-alsa-bridge_DFLAGS := +ifneq (,) + AHI-linklibs-alsa-bridge_DFLAGS := +else + AHI-linklibs-alsa-bridge_DFLAGS := $(AHI-linklibs-alsa-bridge_CFLAGS) +endif +AHI-linklibs-alsa-bridge_DXXFLAGS := +ifneq (,) + AHI-linklibs-alsa-bridge_DXXFLAGS := +else + AHI-linklibs-alsa-bridge_DXXFLAGS := $(AHI-linklibs-alsa-bridge_CXXFLAGS) +endif + +.PHONY : AHI-linklibs-alsa-bridge AHI-linklibs-alsa-bridge-clean AHI-linklibs-alsa-bridge-quick + +#MM +AHI-linklibs-alsa-bridge-quick : AHI-linklibs-alsa-bridge + +#MM AHI-linklibs-alsa-bridge : includes-generate-deps +AHI-linklibs-alsa-bridge : $(AHI-linklibs-alsa-bridge_LINKLIB) + +ifneq ($(filter $(TARGET),AHI-linklibs-alsa-bridge AHI-linklibs-alsa-bridge-quick),) + + +AHI-linklibs-alsa-bridge_CXXABSBASENAMES := $(foreach AHI-linklibs-alsa-bridge_CXXBASE,$(AHI-linklibs-alsa-bridge_CXX_FILES),$(if $(filter /%,$(AHI-linklibs-alsa-bridge_CXXBASE)),$(AHI-linklibs-alsa-bridge_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(AHI-linklibs-alsa-bridge_CXXBASE)))) + +ifneq ($(AHI-linklibs-alsa-bridge_CXXABSBASENAMES),) + +AHI-linklibs-alsa-bridge_CXXBASENAMES := $(basename $(AHI-linklibs-alsa-bridge_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +AHI-linklibs-alsa-bridge_MCXX_FILES := $(strip $(foreach AHI-linklibs-alsa-bridge_CXXBASE,$(AHI-linklibs-alsa-bridge_CXXABSBASENAMES), $(firstword $(wildcard $(foreach AHI-linklibs-alsa-bridge_EXT, $(AROS_CXXEXTS),$(addsuffix .$(AHI-linklibs-alsa-bridge_EXT),$(AHI-linklibs-alsa-bridge_CXXBASE))))))) + +ifeq (,) +AHI-linklibs-alsa-bridge_MCXX_SRCWILDCARD := % +else +AHI-linklibs-alsa-bridge_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(AHI-linklibs-alsa-bridge_OBJDIR),) + AHI-linklibs-alsa-bridge_CXXTARGETS := $(notdir $(AHI-linklibs-alsa-bridge_CXXBASENAMES:=.o)) + AHI-linklibs-alsa-bridge_CXXDTARGETS := $(notdir $(AHI-linklibs-alsa-bridge_CXXBASENAMES:=.d)) + AHI-linklibs-alsa-bridge_MCXX_WILDCARD := % +else + AHI-linklibs-alsa-bridge_CXXTARGETS := $(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(notdir $(AHI-linklibs-alsa-bridge_CXXBASENAMES:=.o))) + AHI-linklibs-alsa-bridge_CXXDTARGETS := $(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(notdir $(AHI-linklibs-alsa-bridge_CXXBASENAMES:=.d))) + AHI-linklibs-alsa-bridge_MCXX_WILDCARD := $(AHI-linklibs-alsa-bridge_OBJDIR)/% + + # Be sure that all source files are generated + $(AHI-linklibs-alsa-bridge_CXXTARGETS) $(AHI-linklibs-alsa-bridge_CXXDTARGETS) : | $(AHI-linklibs-alsa-bridge_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS := $(AHI-linklibs-alsa-bridge_CPPFLAGS) +AHI-linklibs-alsa-bridge_CXXFLAGS := $(AHI-linklibs-alsa-bridge_CXXFLAGS) +ifeq ($(AHI-linklibs-alsa-bridge_DXXFLAGS),) + AHI-linklibs-alsa-bridge_DXXFLAGS := $(AHI-linklibs-alsa-bridge_CXXFLAGS) +else + AHI-linklibs-alsa-bridge_DXXFLAGS := $(AHI-linklibs-alsa-bridge_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + AHI-linklibs-alsa-bridge_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + AHI-linklibs-alsa-bridge_STRIP ?= $(HOST_STRIP) + AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + AHI-linklibs-alsa-bridge_CXXCMD:=$(HOST_CXX) + AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_EXTRA_CPPFLAGS)) + AHI-linklibs-alsa-bridge_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(AHI-linklibs-alsa-bridge_CXXFLAGS)) + AHI-linklibs-alsa-bridge_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(AHI-linklibs-alsa-bridge_DXXFLAGS)) + AHI-linklibs-alsa-bridge_CXXIQUOTE:=$(HOST_IQUOTE) + AHI-linklibs-alsa-bridge_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + AHI-linklibs-alsa-bridge_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + AHI-linklibs-alsa-bridge_STRIP ?= $(TARGET_STRIP) + AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + AHI-linklibs-alsa-bridge_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS := $(strip $(AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_EXTRA_CPPFLAGS)) + AHI-linklibs-alsa-bridge_CXXFLAGS := $(strip $(AHI-linklibs-alsa-bridge_CXXFLAGS) $(SAFETY_CFLAGS)) + AHI-linklibs-alsa-bridge_DXXFLAGS := $(AHI-linklibs-alsa-bridge_DXXFLAGS) + AHI-linklibs-alsa-bridge_CXXIQUOTE:=$(CFLAGS_IQUOTE) + AHI-linklibs-alsa-bridge_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + AHI-linklibs-alsa-bridge_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + AHI-linklibs-alsa-bridge_STRIP ?= $(ECHO) >/dev/null + AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + AHI-linklibs-alsa-bridge_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + AHI-linklibs-alsa-bridge_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_EXTRA_CPPFLAGS)) + AHI-linklibs-alsa-bridge_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(AHI-linklibs-alsa-bridge_CXXFLAGS)) + AHI-linklibs-alsa-bridge_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(AHI-linklibs-alsa-bridge_DXXFLAGS)) + AHI-linklibs-alsa-bridge_CXXIQUOTE:=$(KERNEL_IQUOTE) + AHI-linklibs-alsa-bridge_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(AHI-linklibs-alsa-bridge_CXXCMD) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) $(dir $(2)) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) . $(AHI-linklibs-alsa-bridge_CXXIQUOTE_END) $(strip $(AHI-linklibs-alsa-bridge_CXXFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(AHI-linklibs-alsa-bridge_CXXCMD) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) $(dir $(2)) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) . $(AHI-linklibs-alsa-bridge_CXXIQUOTE_END) $(strip $(AHI-linklibs-alsa-bridge_CXXFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(AHI-linklibs-alsa-bridge_CXXCMD) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) $(dir $(2)) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_CXXIQUOTE) . $(AHI-linklibs-alsa-bridge_CXXIQUOTE_END) $(strip $(AHI-linklibs-alsa-bridge_CXXFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(AHI-linklibs-alsa-bridge_CXXCMD)" $(MKDEPEND) $(strip $(AHI-linklibs-alsa-bridge_DXXFLAGS) $(AHI-linklibs-alsa-bridge_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(AHI-linklibs-alsa-bridge_OBJDIR),) + $(foreach AHI-linklibs-alsa-bridge_CXXFILE,$(AHI-linklibs-alsa-bridge_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(AHI-linklibs-alsa-bridge_CXXFILE))),$(AHI-linklibs-alsa-bridge_CXXFILE)))) +else + $(foreach AHI-linklibs-alsa-bridge_CXXFILE,$(AHI-linklibs-alsa-bridge_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(notdir $(basename $(AHI-linklibs-alsa-bridge_CXXFILE)))),$(AHI-linklibs-alsa-bridge_CXXFILE)))) +endif + +endif + + +ifneq ($(AHI-linklibs-alsa-bridge_OBJC_FILES),) + +ifeq (,) +AHI-linklibs-alsa-bridge_MOBJC_SRCWILDCARD := % +else +AHI-linklibs-alsa-bridge_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(AHI-linklibs-alsa-bridge_OBJDIR),) + AHI-linklibs-alsa-bridge_MOBJC_TARGETS := $(addsuffix .o,$(AHI-linklibs-alsa-bridge_OBJC_FILES)) + AHI-linklibs-alsa-bridge_MOBJC_DTARGETS := $(addsuffix .d,$(AHI-linklibs-alsa-bridge_OBJC_FILES)) + AHI-linklibs-alsa-bridge_MOBJC_WILDCARD := % +else + AHI-linklibs-alsa-bridge_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(AHI-linklibs-alsa-bridge_OBJC_FILES))) + AHI-linklibs-alsa-bridge_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(AHI-linklibs-alsa-bridge_OBJC_FILES))) + AHI-linklibs-alsa-bridge_MOBJC_WILDCARD := $(AHI-linklibs-alsa-bridge_OBJDIR)/% + + # Be sure that all .m files are generated + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : | $(addsuffix .m,$(AHI-linklibs-alsa-bridge_OBJC_FILES)) + + # Be sure that all .m files are found + AHI-linklibs-alsa-bridge_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + AHI-linklibs-alsa-bridge_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(AHI-linklibs-alsa-bridge_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + AHI-linklibs-alsa-bridge_MOBJC_DIRS := $(foreach dir, $(AHI-linklibs-alsa-bridge_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(AHI-linklibs-alsa-bridge_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(AHI-linklibs-alsa-bridge_MOBJC_DIRS),) + AHI-linklibs-alsa-bridge_MOBJC_DIRS := $(shell echo $(AHI-linklibs-alsa-bridge_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(AHI-linklibs-alsa-bridge_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + AHI-linklibs-alsa-bridge_CC := $(TARGET_CC) +else + AHI-linklibs-alsa-bridge_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS := $(AHI-linklibs-alsa-bridge_CPPFLAGS) +AHI-linklibs-alsa-bridge_OBJCFLAGS := $(AHI-linklibs-alsa-bridge_CFLAGS) +AHI-linklibs-alsa-bridge_OBJCFLAGS := $(AHI-linklibs-alsa-bridge_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +AHI-linklibs-alsa-bridge_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(AHI-linklibs-alsa-bridge_OBJCFLAGS))) +ifeq ($(AHI-linklibs-alsa-bridge_DFLAGS),) + AHI-linklibs-alsa-bridge_OBJCDFLAGS := $(AHI-linklibs-alsa-bridge_CFLAGS) +else + AHI-linklibs-alsa-bridge_OBJCDFLAGS := $(AHI-linklibs-alsa-bridge_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + AHI-linklibs-alsa-bridge_LINK ?= $(strip $(AHI-linklibs-alsa-bridge_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + AHI-linklibs-alsa-bridge_STRIP ?= $(TARGET_STRIP) + AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : CMD:=$(strip $(AHI-linklibs-alsa-bridge_CC) $(TARGET_SYSROOT)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS:=$(strip $(AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MOBJC_EXTRA_CPPFLAGS)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_OBJCFLAGS:=$(strip $(AHI-linklibs-alsa-bridge_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_OBJCDFLAGS:=$(AHI-linklibs-alsa-bridge_OBJCDFLAGS) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE:=$(CFLAGS_IQUOTE) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + AHI-linklibs-alsa-bridge_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + AHI-linklibs-alsa-bridge_STRIP ?= $(HOST_STRIP) + AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MOBJC_EXTRA_CPPFLAGS)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(AHI-linklibs-alsa-bridge_OBJCFLAGS)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(AHI-linklibs-alsa-bridge_OBJCDFLAGS)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE:=$(HOST_IQUOTE) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + AHI-linklibs-alsa-bridge_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + AHI-linklibs-alsa-bridge_STRIP ?= $(ECHO) >/dev/null + AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MOBJC_EXTRA_CPPFLAGS)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(AHI-linklibs-alsa-bridge_OBJCFLAGS)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(AHI-linklibs-alsa-bridge_OBJCDFLAGS)) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE:=$(KERNEL_IQUOTE) + $(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) $(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) : CPPFLAGS := $(AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS) +$(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) : CFLAGS := $(AHI-linklibs-alsa-bridge_OBJCFLAGS) +$(AHI-linklibs-alsa-bridge_MOBJC_TARGETS) : $(AHI-linklibs-alsa-bridge_MOBJC_WILDCARD).o : $(AHI-linklibs-alsa-bridge_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(AHI-linklibs-alsa-bridge_IQUOTE) $(dir $<) $(AHI-linklibs-alsa-bridge_IQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_IQUOTE) . $(AHI-linklibs-alsa-bridge_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(AHI-linklibs-alsa-bridge_IQUOTE) $(dir $<) $(AHI-linklibs-alsa-bridge_IQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_IQUOTE) . $(AHI-linklibs-alsa-bridge_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(AHI-linklibs-alsa-bridge_IQUOTE) $(dir $<) $(AHI-linklibs-alsa-bridge_IQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_IQUOTE) . $(AHI-linklibs-alsa-bridge_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(AHI-linklibs-alsa-bridge_MOBJC_DTARGETS) : $(AHI-linklibs-alsa-bridge_MOBJC_WILDCARD).d : $(AHI-linklibs-alsa-bridge_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(AHI-linklibs-alsa-bridge_OBJCDFLAGS) $(AHI-linklibs-alsa-bridge_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +AHI-linklibs-alsa-bridge_MC_SRCWILDCARD := % +else +AHI-linklibs-alsa-bridge_MC_SRCWILDCARD := /% +endif + +ifeq ($(AHI-linklibs-alsa-bridge_OBJDIR),) +AHI-linklibs-alsa-bridge_MC_TARGETS := $(addsuffix .o,$(AHI-linklibs-alsa-bridge_C_FILES)) +AHI-linklibs-alsa-bridge_MC_DTARGETS := $(addsuffix .d,$(AHI-linklibs-alsa-bridge_C_FILES)) +AHI-linklibs-alsa-bridge_MC_TGTWILDCARD := % +else +ifeq (no,no) + AHI-linklibs-alsa-bridge_MC_TARGETS := $(addsuffix .o,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(notdir $(AHI-linklibs-alsa-bridge_C_FILES)))) + AHI-linklibs-alsa-bridge_MC_DTARGETS := $(addsuffix .d,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(notdir $(AHI-linklibs-alsa-bridge_C_FILES)))) +else +ifeq (,) + AHI-linklibs-alsa-bridge_MC_TARGETS := $(addsuffix .o,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(AHI-linklibs-alsa-bridge_C_FILES))) + AHI-linklibs-alsa-bridge_MC_DTARGETS := $(addsuffix .d,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(AHI-linklibs-alsa-bridge_C_FILES))) +else + AHI-linklibs-alsa-bridge_MC_TARGETS := $(addsuffix .o,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(patsubst /%,%,$(AHI-linklibs-alsa-bridge_C_FILES)))) + AHI-linklibs-alsa-bridge_MC_DTARGETS := $(addsuffix .d,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(patsubst /%,%,$(AHI-linklibs-alsa-bridge_C_FILES)))) +endif +endif +AHI-linklibs-alsa-bridge_MC_TGTWILDCARD := $(AHI-linklibs-alsa-bridge_OBJDIR)/% + +# Be sure that all .c files are generated +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : | $(addsuffix .c,$(AHI-linklibs-alsa-bridge_C_FILES)) + +# Be sure that all .c files are found +AHI-linklibs-alsa-bridge_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +AHI-linklibs-alsa-bridge_MC_BASEDIRS := $(shell echo $(sort $(dir $(AHI-linklibs-alsa-bridge_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +AHI-linklibs-alsa-bridge_MC_DIRS := $(foreach dir, $(AHI-linklibs-alsa-bridge_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(AHI-linklibs-alsa-bridge_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(AHI-linklibs-alsa-bridge_MC_DIRS),) + AHI-linklibs-alsa-bridge_MC_DIRS := $(shell echo $(AHI-linklibs-alsa-bridge_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(AHI-linklibs-alsa-bridge_MC_DIRS) +endif + +endif + +AHI-linklibs-alsa-bridge_MC_CPPFLAGS := $(AHI-linklibs-alsa-bridge_CPPFLAGS) +AHI-linklibs-alsa-bridge_CFLAGS := $(AHI-linklibs-alsa-bridge_CFLAGS) +ifeq ($(AHI-linklibs-alsa-bridge_DFLAGS),) + AHI-linklibs-alsa-bridge_DFLAGS := $(AHI-linklibs-alsa-bridge_CFLAGS) +else + AHI-linklibs-alsa-bridge_DFLAGS := $(AHI-linklibs-alsa-bridge_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +AHI-linklibs-alsa-bridge_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +AHI-linklibs-alsa-bridge_STRIP ?= $(TARGET_STRIP) +AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_MC_CPPFLAGS:=$(strip $(AHI-linklibs-alsa-bridge_MC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MC_EXTRA_CPPFLAGS)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_CFLAGS:=$(strip $(AHI-linklibs-alsa-bridge_CFLAGS) $(SAFETY_CFLAGS)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_DFLAGS:=$(AHI-linklibs-alsa-bridge_DFLAGS) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE:=$(CFLAGS_IQUOTE) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +AHI-linklibs-alsa-bridge_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +AHI-linklibs-alsa-bridge_STRIP ?= $(HOST_STRIP) +AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : CMD:=$(HOST_CC) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MC_EXTRA_CPPFLAGS)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_CFLAGS:=$(strip $(HOST_CFLAGS) $(AHI-linklibs-alsa-bridge_CFLAGS)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_DFLAGS:=$(strip $(HOST_CFLAGS) $(AHI-linklibs-alsa-bridge_DFLAGS)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE:=$(HOST_IQUOTE) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +AHI-linklibs-alsa-bridge_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +AHI-linklibs-alsa-bridge_STRIP ?= $(ECHO) >/dev/null +AHI-linklibs-alsa-bridge_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MC_CPPFLAGS) $(AHI-linklibs-alsa-bridge_MC_EXTRA_CPPFLAGS)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(AHI-linklibs-alsa-bridge_CFLAGS)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(AHI-linklibs-alsa-bridge_DFLAGS)) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE:=$(KERNEL_IQUOTE) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) $(AHI-linklibs-alsa-bridge_MC_DTARGETS) : AHI-linklibs-alsa-bridge_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(AHI-linklibs-alsa-bridge_MC_TARGETS) : CPPFLAGS := $(AHI-linklibs-alsa-bridge_MC_CPPFLAGS) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) : CFLAGS := $(AHI-linklibs-alsa-bridge_CFLAGS) +$(AHI-linklibs-alsa-bridge_MC_TARGETS) : $(AHI-linklibs-alsa-bridge_MC_TGTWILDCARD).o : $(AHI-linklibs-alsa-bridge_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(AHI-linklibs-alsa-bridge_IQUOTE) $(dir $<) $(AHI-linklibs-alsa-bridge_IQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_IQUOTE) . $(AHI-linklibs-alsa-bridge_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(AHI-linklibs-alsa-bridge_IQUOTE) $(dir $<) $(AHI-linklibs-alsa-bridge_IQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_IQUOTE) . $(AHI-linklibs-alsa-bridge_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(AHI-linklibs-alsa-bridge_IQUOTE) $(dir $<) $(AHI-linklibs-alsa-bridge_IQUOTE) $(SRCDIR)/$(CURDIR) $(AHI-linklibs-alsa-bridge_IQUOTE) . $(AHI-linklibs-alsa-bridge_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(AHI-linklibs-alsa-bridge_MC_DTARGETS) : $(AHI-linklibs-alsa-bridge_MC_TGTWILDCARD).d : $(AHI-linklibs-alsa-bridge_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(AHI-linklibs-alsa-bridge_DFLAGS) $(AHI-linklibs-alsa-bridge_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(AHI-linklibs-alsa-bridge_OBJDIR),) +AHI-linklibs-alsa-bridge-MA_TARGETS := $(addsuffix .o,$(AHI-linklibs-alsa-bridge_ASMFILES)) +AHI-linklibs-alsa-bridge-MA_WILDCARD := % +else +AHI-linklibs-alsa-bridge-MA_TARGETS := $(addsuffix .o,$(addprefix $(AHI-linklibs-alsa-bridge_OBJDIR)/,$(notdir $(AHI-linklibs-alsa-bridge_ASMFILES)))) +AHI-linklibs-alsa-bridge-MA_WILDCARD := $(AHI-linklibs-alsa-bridge_OBJDIR)/% + +# Be sure that all .s files are generated +$(AHI-linklibs-alsa-bridge-MA_TARGETS) : | $(addsuffix .s,$(AHI-linklibs-alsa-bridge_ASMFILES)) + +# Be sure that all .c files are found +AHI-linklibs-alsa-bridge-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +AHI-linklibs-alsa-bridge-MA_BASEDIRS := $(shell echo $(sort $(dir $(AHI-linklibs-alsa-bridge_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +AHI-linklibs-alsa-bridge-MA_DIRS := $(foreach dir, $(AHI-linklibs-alsa-bridge-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(AHI-linklibs-alsa-bridge-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(AHI-linklibs-alsa-bridge-MA_DIRS),) + AHI-linklibs-alsa-bridge-MA_DIRS := $(shell echo $(AHI-linklibs-alsa-bridge-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(AHI-linklibs-alsa-bridge-MA_DIRS) +endif + +endif + +AHI-linklibs-alsa-bridge-MA_ASSEMBLER ?= $(AHI-linklibs-alsa-bridge_ASSEMBLER) + +$(AHI-linklibs-alsa-bridge-MA_TARGETS) : AHI-linklibs-alsa-bridge-MA_CMD:= $(AHI-linklibs-alsa-bridge-MA_ASSEMBLER) + +$(AHI-linklibs-alsa-bridge-MA_TARGETS) : CPPFLAGS := $(AHI-linklibs-alsa-bridge_CPPFLAGS) +$(AHI-linklibs-alsa-bridge-MA_TARGETS) : AFLAGS := $(AHI-linklibs-alsa-bridge_AFLAGS) +$(AHI-linklibs-alsa-bridge-MA_TARGETS) : $(AHI-linklibs-alsa-bridge-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(AHI-linklibs-alsa-bridge-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(AHI-linklibs-alsa-bridge-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(AHI-linklibs-alsa-bridge-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libalsa-bridge.a : AHI-linklibs-alsa-bridge_AR:=$(AR) +$(AROS_LIB)/libalsa-bridge.a : AHI-linklibs-alsa-bridge_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libalsa-bridge.a : AHI-linklibs-alsa-bridge_AR:=$(HOST_AR) +$(AROS_LIB)/libalsa-bridge.a : AHI-linklibs-alsa-bridge_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libalsa-bridge.a : AHI-linklibs-alsa-bridge_AR:=$(KERNEL_AR) +$(AROS_LIB)/libalsa-bridge.a : AHI-linklibs-alsa-bridge_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libalsa-bridge.a : $(AHI-linklibs-alsa-bridge_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(AHI-linklibs-alsa-bridge_AR) $@ $^ + $(Q)$(AHI-linklibs-alsa-bridge_RANLIB) $@ +endif + +ifneq ($(AHI-linklibs-alsa-bridge_DEPS),) + ifneq (AHI-linklibs-alsa-bridge AHI-linklibs-alsa-bridge-quick,) + ifneq ($(findstring $(TARGET),AHI-linklibs-alsa-bridge AHI-linklibs-alsa-bridge-quick),) + -include $(AHI-linklibs-alsa-bridge_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(AHI-linklibs-alsa-bridge_DEPS) + endif + endif +endif + + + +ifneq ($(AHI-linklibs-alsa-bridge_OBJS) $(AHI-linklibs-alsa-bridge_DEPS) $(AHI-linklibs-alsa-bridge_LINKLIB),) +$(AHI-linklibs-alsa-bridge_OBJS) $(AHI-linklibs-alsa-bridge_DEPS) $(AHI-linklibs-alsa-bridge_LINKLIB) : | $(AHI-linklibs-alsa-bridge_OBJDIR) $(AROS_LIB) +else +$(AHI-linklibs-alsa-bridge_OBJS) $(AHI-linklibs-alsa-bridge_DEPS) $(AHI-linklibs-alsa-bridge_LINKLIB) :: $(AHI-linklibs-alsa-bridge_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(AHI-linklibs-alsa-bridge_OBJDIR) $(AROS_LIB) + + +AHI-linklibs-alsa-bridge-clean : FILES := $(AHI-linklibs-alsa-bridge_OBJS) $(AHI-linklibs-alsa-bridge_LINKLIB) $(AHI-linklibs-alsa-bridge_DEPS) +#MM +AHI-linklibs-alsa-bridge-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget AHI-linklibs-alsa-bridge" + $(Q)$(RM) $(FILES) + + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/cmd/mmakefile b/workbench/devs/diskimage/cmd/mmakefile new file mode 100644 index 00000000000..39dc80aec9a --- /dev/null +++ b/workbench/devs/diskimage/cmd/mmakefile @@ -0,0 +1,1246 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-devs-diskimage-mountdiskimage : includes linklibs workbench-devs-diskimage-support + +#MM workbench-devs-diskimage-mounthdf : includes linklibs workbench-devs-diskimage-support + +USER_CPPFLAGS := -DABIV1 -DMIN_OS_VERSION=39 +USER_INCLUDES := -I$(AROS_INCLUDES)/SDI \ + -I$(SRCDIR)/$(CURDIR)/../include + + +.PHONY : workbench-devs-diskimage-mountdiskimage + +workbench-devs-diskimage-mountdiskimage_PROGNAME := MountDiskImage +workbench-devs-diskimage-mountdiskimage_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-mountdiskimage_TARGETDIR := $(AROS_C) +workbench-devs-diskimage-mountdiskimage_LINKER := +workbench-devs-diskimage-mountdiskimage_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-mountdiskimage_LINKER),) + workbench-devs-diskimage-mountdiskimage_LINKER := target +endif + +ifneq ("$(strip mountdiskimage )","") + workbench-devs-diskimage-mountdiskimage_FILES := mountdiskimage + workbench-devs-diskimage-mountdiskimage_OBJCFILES := + workbench-devs-diskimage-mountdiskimage_ASMFILES := + workbench-devs-diskimage-mountdiskimage_CXXFILES := +else + workbench-devs-diskimage-mountdiskimage_FILES := $(workbench-devs-diskimage-mountdiskimage_PROGNAME) + workbench-devs-diskimage-mountdiskimage_OBJCFILES := + workbench-devs-diskimage-mountdiskimage_ASMFILES := + workbench-devs-diskimage-mountdiskimage_CXXFILES := +endif + +workbench-devs-diskimage-mountdiskimage_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/arch/*.o) +workbench-devs-diskimage-mountdiskimage_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-mountdiskimage_ARCHOBJS))) +workbench-devs-diskimage-mountdiskimage_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mountdiskimage_ARCHFILES),$(workbench-devs-diskimage-mountdiskimage_FILES)) +workbench-devs-diskimage-mountdiskimage_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mountdiskimage_ARCHFILES),$(workbench-devs-diskimage-mountdiskimage_CXXFILES)) +workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mountdiskimage_ARCHFILES),$(workbench-devs-diskimage-mountdiskimage_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES) $(workbench-devs-diskimage-mountdiskimage_CXX_NARCHFILES) $(workbench-devs-diskimage-mountdiskimage_ASMFILES) $(workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES) +workbench-devs-diskimage-mountdiskimage_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-mountdiskimage_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-mountdiskimage_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-mountdiskimage_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mountdiskimage_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mountdiskimage_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mountdiskimage_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-mountdiskimage_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-mountdiskimage_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mountdiskimage_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mountdiskimage_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mountdiskimage_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-mountdiskimage_LDFLAGS := +endif + +workbench-devs-diskimage-mountdiskimage_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-mountdiskimage_COVERAGE := yes +workbench-devs-diskimage-mountdiskimage_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-mountdiskimage_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-mountdiskimage_CFLAGS := $(strip $(workbench-devs-diskimage-mountdiskimage_COVERAGEFLAGS) $(workbench-devs-diskimage-mountdiskimage_CFLAGS)) +workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(strip $(workbench-devs-diskimage-mountdiskimage_COVERAGEFLAGS) $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS)) +workbench-devs-diskimage-mountdiskimage_LIBS += $(workbench-devs-diskimage-mountdiskimage_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-mountdiskimage_FUNCINSTR := yes +workbench-devs-diskimage-mountdiskimage_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-mountdiskimage_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-mountdiskimage_CFLAGS := $(strip $(workbench-devs-diskimage-mountdiskimage_INSTRFUNCFLAGS) $(workbench-devs-diskimage-mountdiskimage_CFLAGS)) +workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(strip $(workbench-devs-diskimage-mountdiskimage_INSTRFUNCFLAGS) $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS)) +workbench-devs-diskimage-mountdiskimage_LIBS += $(workbench-devs-diskimage-mountdiskimage_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-mountdiskimage_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_CFLAGS)) +workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-mountdiskimage_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-mountdiskimage_DFLAGS := +else + workbench-devs-diskimage-mountdiskimage_DFLAGS := $(workbench-devs-diskimage-mountdiskimage_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-mountdiskimage_DXXFLAGS := +else + workbench-devs-diskimage-mountdiskimage_DXXFLAGS := $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-mountdiskimage_LDFLAGS := $(workbench-devs-diskimage-mountdiskimage_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mountdiskimage_LDFLAGS := $(workbench-devs-diskimage-mountdiskimage_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mountdiskimage_LDFLAGS := $(workbench-devs-diskimage-mountdiskimage_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-mountdiskimage_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-mountdiskimage-quick : workbench-devs-diskimage-mountdiskimage + +#MM workbench-devs-diskimage-mountdiskimage : includes-generate-deps core-linklibs +workbench-devs-diskimage-mountdiskimage : $(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-mountdiskimage workbench-devs-diskimage-mountdiskimage-quick workbench-devs-diskimage-mountdiskimage-gz-quick),) + +workbench-devs-diskimage-mountdiskimage_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-mountdiskimage_CXXBASE,$(workbench-devs-diskimage-mountdiskimage_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-mountdiskimage_CXXBASE)),$(workbench-devs-diskimage-mountdiskimage_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-mountdiskimage_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-mountdiskimage_CXXABSBASENAMES),) + +workbench-devs-diskimage-mountdiskimage_CXXBASENAMES := $(basename $(workbench-devs-diskimage-mountdiskimage_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-mountdiskimage_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-mountdiskimage_CXXBASE,$(workbench-devs-diskimage-mountdiskimage_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-mountdiskimage_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-mountdiskimage_EXT),$(workbench-devs-diskimage-mountdiskimage_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-mountdiskimage_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-mountdiskimage_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mountdiskimage_OBJDIR),) + workbench-devs-diskimage-mountdiskimage_CXXTARGETS := $(notdir $(workbench-devs-diskimage-mountdiskimage_CXXBASENAMES:=.o)) + workbench-devs-diskimage-mountdiskimage_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-mountdiskimage_CXXBASENAMES:=.d)) + workbench-devs-diskimage-mountdiskimage_MCXX_WILDCARD := % +else + workbench-devs-diskimage-mountdiskimage_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mountdiskimage_CXXBASENAMES:=.o))) + workbench-devs-diskimage-mountdiskimage_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mountdiskimage_CXXBASENAMES:=.d))) + workbench-devs-diskimage-mountdiskimage_MCXX_WILDCARD := $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-mountdiskimage_CXXTARGETS) $(workbench-devs-diskimage-mountdiskimage_CXXDTARGETS) : | $(workbench-devs-diskimage-mountdiskimage_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS := $(workbench-devs-diskimage-mountdiskimage_CPPFLAGS) +workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-mountdiskimage_DXXFLAGS),) + workbench-devs-diskimage-mountdiskimage_DXXFLAGS := $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS) +else + workbench-devs-diskimage-mountdiskimage_DXXFLAGS := $(workbench-devs-diskimage-mountdiskimage_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-mountdiskimage_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-mountdiskimage_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS)) + workbench-devs-diskimage-mountdiskimage_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-mountdiskimage_DXXFLAGS)) + workbench-devs-diskimage-mountdiskimage_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-mountdiskimage_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-mountdiskimage_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-mountdiskimage_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(strip $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-mountdiskimage_DXXFLAGS := $(workbench-devs-diskimage-mountdiskimage_DXXFLAGS) + workbench-devs-diskimage-mountdiskimage_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-mountdiskimage_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-mountdiskimage_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-mountdiskimage_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mountdiskimage_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS)) + workbench-devs-diskimage-mountdiskimage_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-mountdiskimage_DXXFLAGS)) + workbench-devs-diskimage-mountdiskimage_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-mountdiskimage_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-mountdiskimage_CXXCMD) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) . $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-mountdiskimage_CXXCMD) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) . $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-mountdiskimage_CXXCMD) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE) . $(workbench-devs-diskimage-mountdiskimage_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mountdiskimage_CXXFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-mountdiskimage_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mountdiskimage_DXXFLAGS) $(workbench-devs-diskimage-mountdiskimage_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-mountdiskimage_OBJDIR),) + $(foreach workbench-devs-diskimage-mountdiskimage_CXXFILE,$(workbench-devs-diskimage-mountdiskimage_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-mountdiskimage_CXXFILE))),$(workbench-devs-diskimage-mountdiskimage_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-mountdiskimage_CXXFILE,$(workbench-devs-diskimage-mountdiskimage_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-mountdiskimage_CXXFILE)))),$(workbench-devs-diskimage-mountdiskimage_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-mountdiskimage_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-mountdiskimage_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mountdiskimage_OBJDIR),) + workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES)) + workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES)) + workbench-devs-diskimage-mountdiskimage_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES))) + workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES))) + workbench-devs-diskimage-mountdiskimage_MOBJC_WILDCARD := $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-mountdiskimage_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-mountdiskimage_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mountdiskimage_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-mountdiskimage_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-mountdiskimage_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mountdiskimage_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-mountdiskimage_MOBJC_DIRS),) + workbench-devs-diskimage-mountdiskimage_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-mountdiskimage_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-mountdiskimage_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-mountdiskimage_CC := $(TARGET_CC) +else + workbench-devs-diskimage-mountdiskimage_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-mountdiskimage_CPPFLAGS) +workbench-devs-diskimage-mountdiskimage_OBJCFLAGS := $(workbench-devs-diskimage-mountdiskimage_CFLAGS) +workbench-devs-diskimage-mountdiskimage_OBJCFLAGS := $(workbench-devs-diskimage-mountdiskimage_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-mountdiskimage_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-mountdiskimage_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-mountdiskimage_DFLAGS),) + workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS := $(workbench-devs-diskimage-mountdiskimage_CFLAGS) +else + workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS := $(workbench-devs-diskimage-mountdiskimage_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(workbench-devs-diskimage-mountdiskimage_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-mountdiskimage_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-mountdiskimage_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-mountdiskimage_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS:=$(workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-mountdiskimage_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_OBJCFLAGS)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-mountdiskimage_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_OBJCFLAGS)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS)) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-mountdiskimage_OBJCFLAGS) +$(workbench-devs-diskimage-mountdiskimage_MOBJC_TARGETS) : $(workbench-devs-diskimage-mountdiskimage_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-mountdiskimage_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) . $(workbench-devs-diskimage-mountdiskimage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) . $(workbench-devs-diskimage-mountdiskimage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) . $(workbench-devs-diskimage-mountdiskimage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-mountdiskimage_MOBJC_DTARGETS) : $(workbench-devs-diskimage-mountdiskimage_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-mountdiskimage_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mountdiskimage_OBJCDFLAGS) $(workbench-devs-diskimage-mountdiskimage_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-mountdiskimage_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-mountdiskimage_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mountdiskimage_OBJDIR),) +workbench-devs-diskimage-mountdiskimage_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES)) +workbench-devs-diskimage-mountdiskimage_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES)) +workbench-devs-diskimage-mountdiskimage_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-mountdiskimage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES)))) + workbench-devs-diskimage-mountdiskimage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-mountdiskimage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES))) + workbench-devs-diskimage-mountdiskimage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES))) +else + workbench-devs-diskimage-mountdiskimage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES)))) + workbench-devs-diskimage-mountdiskimage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-mountdiskimage_MC_TGTWILDCARD := $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-mountdiskimage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-mountdiskimage_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mountdiskimage_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-mountdiskimage_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-mountdiskimage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mountdiskimage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-mountdiskimage_MC_DIRS),) + workbench-devs-diskimage-mountdiskimage_MC_DIRS := $(shell echo $(workbench-devs-diskimage-mountdiskimage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-mountdiskimage_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS := $(workbench-devs-diskimage-mountdiskimage_CPPFLAGS) +workbench-devs-diskimage-mountdiskimage_CFLAGS := $(workbench-devs-diskimage-mountdiskimage_CFLAGS) +ifeq ($(workbench-devs-diskimage-mountdiskimage_DFLAGS),) + workbench-devs-diskimage-mountdiskimage_DFLAGS := $(workbench-devs-diskimage-mountdiskimage_CFLAGS) +else + workbench-devs-diskimage-mountdiskimage_DFLAGS := $(workbench-devs-diskimage-mountdiskimage_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-mountdiskimage_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_CFLAGS:=$(strip $(workbench-devs-diskimage-mountdiskimage_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_DFLAGS:=$(workbench-devs-diskimage-mountdiskimage_DFLAGS) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-mountdiskimage_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_CFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_DFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mountdiskimage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-mountdiskimage_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-mountdiskimage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS) $(workbench-devs-diskimage-mountdiskimage_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_CFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mountdiskimage_DFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) $(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : workbench-devs-diskimage-mountdiskimage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-mountdiskimage_CFLAGS) +$(workbench-devs-diskimage-mountdiskimage_MC_TARGETS) : $(workbench-devs-diskimage-mountdiskimage_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-mountdiskimage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) . $(workbench-devs-diskimage-mountdiskimage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) . $(workbench-devs-diskimage-mountdiskimage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mountdiskimage_IQUOTE) . $(workbench-devs-diskimage-mountdiskimage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-mountdiskimage_MC_DTARGETS) : $(workbench-devs-diskimage-mountdiskimage_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-mountdiskimage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mountdiskimage_DFLAGS) $(workbench-devs-diskimage-mountdiskimage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-mountdiskimage_OBJDIR),) +workbench-devs-diskimage-mountdiskimage-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mountdiskimage_ASMFILES)) +workbench-devs-diskimage-mountdiskimage-MA_WILDCARD := % +else +workbench-devs-diskimage-mountdiskimage-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mountdiskimage_ASMFILES)))) +workbench-devs-diskimage-mountdiskimage-MA_WILDCARD := $(workbench-devs-diskimage-mountdiskimage_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-mountdiskimage-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-mountdiskimage_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-mountdiskimage-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-mountdiskimage-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mountdiskimage_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-mountdiskimage-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-mountdiskimage-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mountdiskimage-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-mountdiskimage-MA_DIRS),) + workbench-devs-diskimage-mountdiskimage-MA_DIRS := $(shell echo $(workbench-devs-diskimage-mountdiskimage-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-mountdiskimage-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-mountdiskimage-MA_ASSEMBLER ?= $(workbench-devs-diskimage-mountdiskimage_ASSEMBLER) + +$(workbench-devs-diskimage-mountdiskimage-MA_TARGETS) : workbench-devs-diskimage-mountdiskimage-MA_CMD:= $(workbench-devs-diskimage-mountdiskimage-MA_ASSEMBLER) + +$(workbench-devs-diskimage-mountdiskimage-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mountdiskimage_CPPFLAGS) +$(workbench-devs-diskimage-mountdiskimage-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-mountdiskimage_AFLAGS) +$(workbench-devs-diskimage-mountdiskimage-MA_TARGETS) : $(workbench-devs-diskimage-mountdiskimage-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-mountdiskimage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-mountdiskimage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-mountdiskimage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-mountdiskimage-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-mountdiskimage-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-mountdiskimage-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-devs-diskimage-mountdiskimage-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-mountdiskimage-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-mountdiskimage-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-mountdiskimage_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-mountdiskimage-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-mountdiskimage-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-mountdiskimage-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-mountdiskimage-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-mountdiskimage-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-mountdiskimage-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-mountdiskimage_LIBS) $(workbench-devs-diskimage-mountdiskimage-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-devs-diskimage-mountdiskimage-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-mountdiskimage-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-mountdiskimage-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-mountdiskimage-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-mountdiskimage-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-mountdiskimage_OBJDIR) +$(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) : OBJS := $(workbench-devs-diskimage-mountdiskimage_OBJS) $(workbench-devs-diskimage-mountdiskimage_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-mountdiskimage_LDFLAGS) $(workbench-devs-diskimage-mountdiskimage-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-mountdiskimage_LIBS) $(workbench-devs-diskimage-mountdiskimage-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) : $(workbench-devs-diskimage-mountdiskimage_OBJS) $(workbench-devs-diskimage-mountdiskimage_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-mountdiskimage-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-mountdiskimage_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-mountdiskimage_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-mountdiskimage_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-mountdiskimage_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-mountdiskimage_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-mountdiskimage_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-mountdiskimage_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-mountdiskimage_DEPS),) + ifneq (workbench-devs-diskimage-mountdiskimage workbench-devs-diskimage-mountdiskimage-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-mountdiskimage workbench-devs-diskimage-mountdiskimage-quick),) + -include $(workbench-devs-diskimage-mountdiskimage_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-mountdiskimage_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-mountdiskimage_OBJS) $(workbench-devs-diskimage-mountdiskimage_DEPS) $(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME),) +$(workbench-devs-diskimage-mountdiskimage_OBJS) $(workbench-devs-diskimage-mountdiskimage_DEPS) $(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) : | $(workbench-devs-diskimage-mountdiskimage_OBJDIR) $(workbench-devs-diskimage-mountdiskimage_TARGETDIR) +else +$(workbench-devs-diskimage-mountdiskimage_OBJS) $(workbench-devs-diskimage-mountdiskimage_DEPS) $(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) :: $(workbench-devs-diskimage-mountdiskimage_OBJDIR) $(workbench-devs-diskimage-mountdiskimage_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-mountdiskimage_OBJDIR) $(workbench-devs-diskimage-mountdiskimage_TARGETDIR) + + +workbench-devs-diskimage-mountdiskimage-clean : FILES := $(workbench-devs-diskimage-mountdiskimage_OBJS) $(workbench-devs-diskimage-mountdiskimage_TARGETDIR)/$(workbench-devs-diskimage-mountdiskimage_PROGNAME) $(workbench-devs-diskimage-mountdiskimage_DEPS) +#MM +workbench-devs-diskimage-mountdiskimage-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-mountdiskimage" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-mounthdf + +workbench-devs-diskimage-mounthdf_PROGNAME := MountHDF +workbench-devs-diskimage-mounthdf_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-mounthdf_TARGETDIR := $(AROS_C) +workbench-devs-diskimage-mounthdf_LINKER := +workbench-devs-diskimage-mounthdf_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-mounthdf_LINKER),) + workbench-devs-diskimage-mounthdf_LINKER := target +endif + +ifneq ("$(strip mounthdf )","") + workbench-devs-diskimage-mounthdf_FILES := mounthdf + workbench-devs-diskimage-mounthdf_OBJCFILES := + workbench-devs-diskimage-mounthdf_ASMFILES := + workbench-devs-diskimage-mounthdf_CXXFILES := +else + workbench-devs-diskimage-mounthdf_FILES := $(workbench-devs-diskimage-mounthdf_PROGNAME) + workbench-devs-diskimage-mounthdf_OBJCFILES := + workbench-devs-diskimage-mounthdf_ASMFILES := + workbench-devs-diskimage-mounthdf_CXXFILES := +endif + +workbench-devs-diskimage-mounthdf_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-mounthdf_OBJDIR)/arch/*.o) +workbench-devs-diskimage-mounthdf_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-mounthdf_ARCHOBJS))) +workbench-devs-diskimage-mounthdf_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mounthdf_ARCHFILES),$(workbench-devs-diskimage-mounthdf_FILES)) +workbench-devs-diskimage-mounthdf_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mounthdf_ARCHFILES),$(workbench-devs-diskimage-mounthdf_CXXFILES)) +workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mounthdf_ARCHFILES),$(workbench-devs-diskimage-mounthdf_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-mounthdf_C_NARCHFILES) $(workbench-devs-diskimage-mounthdf_CXX_NARCHFILES) $(workbench-devs-diskimage-mounthdf_ASMFILES) $(workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES) +workbench-devs-diskimage-mounthdf_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-mounthdf_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-mounthdf_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-mounthdf_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mounthdf_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mounthdf_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mounthdf_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-mounthdf_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mounthdf_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mounthdf_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mounthdf_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-mounthdf_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mounthdf_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mounthdf_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mounthdf_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-mounthdf_LDFLAGS := +endif + +workbench-devs-diskimage-mounthdf_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-mounthdf_COVERAGE := yes +workbench-devs-diskimage-mounthdf_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-mounthdf_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-mounthdf_CFLAGS := $(strip $(workbench-devs-diskimage-mounthdf_COVERAGEFLAGS) $(workbench-devs-diskimage-mounthdf_CFLAGS)) +workbench-devs-diskimage-mounthdf_CXXFLAGS := $(strip $(workbench-devs-diskimage-mounthdf_COVERAGEFLAGS) $(workbench-devs-diskimage-mounthdf_CXXFLAGS)) +workbench-devs-diskimage-mounthdf_LIBS += $(workbench-devs-diskimage-mounthdf_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-mounthdf_FUNCINSTR := yes +workbench-devs-diskimage-mounthdf_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-mounthdf_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-mounthdf_CFLAGS := $(strip $(workbench-devs-diskimage-mounthdf_INSTRFUNCFLAGS) $(workbench-devs-diskimage-mounthdf_CFLAGS)) +workbench-devs-diskimage-mounthdf_CXXFLAGS := $(strip $(workbench-devs-diskimage-mounthdf_INSTRFUNCFLAGS) $(workbench-devs-diskimage-mounthdf_CXXFLAGS)) +workbench-devs-diskimage-mounthdf_LIBS += $(workbench-devs-diskimage-mounthdf_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-mounthdf_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-mounthdf_CFLAGS)) +workbench-devs-diskimage-mounthdf_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-mounthdf_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-mounthdf_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-mounthdf_DFLAGS := +else + workbench-devs-diskimage-mounthdf_DFLAGS := $(workbench-devs-diskimage-mounthdf_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-mounthdf_DXXFLAGS := +else + workbench-devs-diskimage-mounthdf_DXXFLAGS := $(workbench-devs-diskimage-mounthdf_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-mounthdf_LDFLAGS := $(workbench-devs-diskimage-mounthdf_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mounthdf_LDFLAGS := $(workbench-devs-diskimage-mounthdf_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mounthdf_LDFLAGS := $(workbench-devs-diskimage-mounthdf_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-mounthdf_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-mounthdf-quick : workbench-devs-diskimage-mounthdf + +#MM workbench-devs-diskimage-mounthdf : includes-generate-deps core-linklibs +workbench-devs-diskimage-mounthdf : $(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-mounthdf workbench-devs-diskimage-mounthdf-quick workbench-devs-diskimage-mounthdf-gz-quick),) + +workbench-devs-diskimage-mounthdf_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-mounthdf_CXXBASE,$(workbench-devs-diskimage-mounthdf_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-mounthdf_CXXBASE)),$(workbench-devs-diskimage-mounthdf_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-mounthdf_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-mounthdf_CXXABSBASENAMES),) + +workbench-devs-diskimage-mounthdf_CXXBASENAMES := $(basename $(workbench-devs-diskimage-mounthdf_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-mounthdf_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-mounthdf_CXXBASE,$(workbench-devs-diskimage-mounthdf_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-mounthdf_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-mounthdf_EXT),$(workbench-devs-diskimage-mounthdf_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-mounthdf_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-mounthdf_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mounthdf_OBJDIR),) + workbench-devs-diskimage-mounthdf_CXXTARGETS := $(notdir $(workbench-devs-diskimage-mounthdf_CXXBASENAMES:=.o)) + workbench-devs-diskimage-mounthdf_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-mounthdf_CXXBASENAMES:=.d)) + workbench-devs-diskimage-mounthdf_MCXX_WILDCARD := % +else + workbench-devs-diskimage-mounthdf_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mounthdf_CXXBASENAMES:=.o))) + workbench-devs-diskimage-mounthdf_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mounthdf_CXXBASENAMES:=.d))) + workbench-devs-diskimage-mounthdf_MCXX_WILDCARD := $(workbench-devs-diskimage-mounthdf_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-mounthdf_CXXTARGETS) $(workbench-devs-diskimage-mounthdf_CXXDTARGETS) : | $(workbench-devs-diskimage-mounthdf_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS := $(workbench-devs-diskimage-mounthdf_CPPFLAGS) +workbench-devs-diskimage-mounthdf_CXXFLAGS := $(workbench-devs-diskimage-mounthdf_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-mounthdf_DXXFLAGS),) + workbench-devs-diskimage-mounthdf_DXXFLAGS := $(workbench-devs-diskimage-mounthdf_CXXFLAGS) +else + workbench-devs-diskimage-mounthdf_DXXFLAGS := $(workbench-devs-diskimage-mounthdf_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-mounthdf_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-mounthdf_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mounthdf_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-mounthdf_CXXFLAGS)) + workbench-devs-diskimage-mounthdf_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-mounthdf_DXXFLAGS)) + workbench-devs-diskimage-mounthdf_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-mounthdf_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-mounthdf_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-mounthdf_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mounthdf_CXXFLAGS := $(strip $(workbench-devs-diskimage-mounthdf_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-mounthdf_DXXFLAGS := $(workbench-devs-diskimage-mounthdf_DXXFLAGS) + workbench-devs-diskimage-mounthdf_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-mounthdf_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-mounthdf_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-mounthdf_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-mounthdf_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mounthdf_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-mounthdf_CXXFLAGS)) + workbench-devs-diskimage-mounthdf_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-mounthdf_DXXFLAGS)) + workbench-devs-diskimage-mounthdf_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-mounthdf_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-mounthdf_CXXCMD) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) . $(workbench-devs-diskimage-mounthdf_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mounthdf_CXXFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-mounthdf_CXXCMD) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) . $(workbench-devs-diskimage-mounthdf_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mounthdf_CXXFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-mounthdf_CXXCMD) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_CXXIQUOTE) . $(workbench-devs-diskimage-mounthdf_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mounthdf_CXXFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-mounthdf_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mounthdf_DXXFLAGS) $(workbench-devs-diskimage-mounthdf_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-mounthdf_OBJDIR),) + $(foreach workbench-devs-diskimage-mounthdf_CXXFILE,$(workbench-devs-diskimage-mounthdf_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-mounthdf_CXXFILE))),$(workbench-devs-diskimage-mounthdf_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-mounthdf_CXXFILE,$(workbench-devs-diskimage-mounthdf_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-mounthdf_CXXFILE)))),$(workbench-devs-diskimage-mounthdf_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-mounthdf_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-mounthdf_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mounthdf_OBJDIR),) + workbench-devs-diskimage-mounthdf_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES)) + workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES)) + workbench-devs-diskimage-mounthdf_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-mounthdf_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES))) + workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES))) + workbench-devs-diskimage-mounthdf_MOBJC_WILDCARD := $(workbench-devs-diskimage-mounthdf_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-mounthdf_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-mounthdf_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mounthdf_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-mounthdf_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-mounthdf_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mounthdf_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-mounthdf_MOBJC_DIRS),) + workbench-devs-diskimage-mounthdf_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-mounthdf_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-mounthdf_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-mounthdf_CC := $(TARGET_CC) +else + workbench-devs-diskimage-mounthdf_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-mounthdf_CPPFLAGS) +workbench-devs-diskimage-mounthdf_OBJCFLAGS := $(workbench-devs-diskimage-mounthdf_CFLAGS) +workbench-devs-diskimage-mounthdf_OBJCFLAGS := $(workbench-devs-diskimage-mounthdf_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-mounthdf_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-mounthdf_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-mounthdf_DFLAGS),) + workbench-devs-diskimage-mounthdf_OBJCDFLAGS := $(workbench-devs-diskimage-mounthdf_CFLAGS) +else + workbench-devs-diskimage-mounthdf_OBJCDFLAGS := $(workbench-devs-diskimage-mounthdf_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(workbench-devs-diskimage-mounthdf_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-mounthdf_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-mounthdf_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-mounthdf_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_OBJCDFLAGS:=$(workbench-devs-diskimage-mounthdf_OBJCDFLAGS) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-mounthdf_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mounthdf_OBJCFLAGS)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mounthdf_OBJCDFLAGS)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-mounthdf_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mounthdf_OBJCFLAGS)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mounthdf_OBJCDFLAGS)) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) $(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-mounthdf_OBJCFLAGS) +$(workbench-devs-diskimage-mounthdf_MOBJC_TARGETS) : $(workbench-devs-diskimage-mounthdf_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-mounthdf_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_IQUOTE) . $(workbench-devs-diskimage-mounthdf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_IQUOTE) . $(workbench-devs-diskimage-mounthdf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_IQUOTE) . $(workbench-devs-diskimage-mounthdf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-mounthdf_MOBJC_DTARGETS) : $(workbench-devs-diskimage-mounthdf_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-mounthdf_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mounthdf_OBJCDFLAGS) $(workbench-devs-diskimage-mounthdf_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-mounthdf_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-mounthdf_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mounthdf_OBJDIR),) +workbench-devs-diskimage-mounthdf_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mounthdf_C_NARCHFILES)) +workbench-devs-diskimage-mounthdf_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-mounthdf_C_NARCHFILES)) +workbench-devs-diskimage-mounthdf_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-mounthdf_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mounthdf_C_NARCHFILES)))) + workbench-devs-diskimage-mounthdf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mounthdf_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-mounthdf_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(workbench-devs-diskimage-mounthdf_C_NARCHFILES))) + workbench-devs-diskimage-mounthdf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(workbench-devs-diskimage-mounthdf_C_NARCHFILES))) +else + workbench-devs-diskimage-mounthdf_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-mounthdf_C_NARCHFILES)))) + workbench-devs-diskimage-mounthdf_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-mounthdf_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-mounthdf_MC_TGTWILDCARD := $(workbench-devs-diskimage-mounthdf_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-mounthdf_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-mounthdf_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-mounthdf_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mounthdf_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-mounthdf_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-mounthdf_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mounthdf_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-mounthdf_MC_DIRS),) + workbench-devs-diskimage-mounthdf_MC_DIRS := $(shell echo $(workbench-devs-diskimage-mounthdf_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-mounthdf_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-mounthdf_MC_CPPFLAGS := $(workbench-devs-diskimage-mounthdf_CPPFLAGS) +workbench-devs-diskimage-mounthdf_CFLAGS := $(workbench-devs-diskimage-mounthdf_CFLAGS) +ifeq ($(workbench-devs-diskimage-mounthdf_DFLAGS),) + workbench-devs-diskimage-mounthdf_DFLAGS := $(workbench-devs-diskimage-mounthdf_CFLAGS) +else + workbench-devs-diskimage-mounthdf_DFLAGS := $(workbench-devs-diskimage-mounthdf_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-mounthdf_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-mounthdf_MC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_CFLAGS:=$(strip $(workbench-devs-diskimage-mounthdf_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_DFLAGS:=$(workbench-devs-diskimage-mounthdf_DFLAGS) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-mounthdf_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mounthdf_CFLAGS)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mounthdf_DFLAGS)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mounthdf_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-mounthdf_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-mounthdf_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MC_CPPFLAGS) $(workbench-devs-diskimage-mounthdf_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mounthdf_CFLAGS)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mounthdf_DFLAGS)) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) $(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : workbench-devs-diskimage-mounthdf_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mounthdf_MC_CPPFLAGS) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-mounthdf_CFLAGS) +$(workbench-devs-diskimage-mounthdf_MC_TARGETS) : $(workbench-devs-diskimage-mounthdf_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-mounthdf_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_IQUOTE) . $(workbench-devs-diskimage-mounthdf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_IQUOTE) . $(workbench-devs-diskimage-mounthdf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mounthdf_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mounthdf_IQUOTE) . $(workbench-devs-diskimage-mounthdf_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-mounthdf_MC_DTARGETS) : $(workbench-devs-diskimage-mounthdf_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-mounthdf_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mounthdf_DFLAGS) $(workbench-devs-diskimage-mounthdf_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-mounthdf_OBJDIR),) +workbench-devs-diskimage-mounthdf-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mounthdf_ASMFILES)) +workbench-devs-diskimage-mounthdf-MA_WILDCARD := % +else +workbench-devs-diskimage-mounthdf-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mounthdf_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mounthdf_ASMFILES)))) +workbench-devs-diskimage-mounthdf-MA_WILDCARD := $(workbench-devs-diskimage-mounthdf_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-mounthdf-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-mounthdf_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-mounthdf-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-mounthdf-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mounthdf_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-mounthdf-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-mounthdf-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mounthdf-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-mounthdf-MA_DIRS),) + workbench-devs-diskimage-mounthdf-MA_DIRS := $(shell echo $(workbench-devs-diskimage-mounthdf-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-mounthdf-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-mounthdf-MA_ASSEMBLER ?= $(workbench-devs-diskimage-mounthdf_ASSEMBLER) + +$(workbench-devs-diskimage-mounthdf-MA_TARGETS) : workbench-devs-diskimage-mounthdf-MA_CMD:= $(workbench-devs-diskimage-mounthdf-MA_ASSEMBLER) + +$(workbench-devs-diskimage-mounthdf-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mounthdf_CPPFLAGS) +$(workbench-devs-diskimage-mounthdf-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-mounthdf_AFLAGS) +$(workbench-devs-diskimage-mounthdf-MA_TARGETS) : $(workbench-devs-diskimage-mounthdf-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-mounthdf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-mounthdf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-mounthdf-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-mounthdf-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-mounthdf-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-mounthdf-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-devs-diskimage-mounthdf-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-mounthdf-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-mounthdf-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-mounthdf_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-mounthdf-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-mounthdf-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-mounthdf-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-mounthdf-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-mounthdf-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-mounthdf-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-mounthdf_LIBS) $(workbench-devs-diskimage-mounthdf-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-devs-diskimage-mounthdf-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-mounthdf-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-mounthdf-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-mounthdf-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-mounthdf-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-mounthdf_OBJDIR) +$(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) : OBJS := $(workbench-devs-diskimage-mounthdf_OBJS) $(workbench-devs-diskimage-mounthdf_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-mounthdf_LDFLAGS) $(workbench-devs-diskimage-mounthdf-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-mounthdf_LIBS) $(workbench-devs-diskimage-mounthdf-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) : $(workbench-devs-diskimage-mounthdf_OBJS) $(workbench-devs-diskimage-mounthdf_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-mounthdf-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-mounthdf_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-mounthdf_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-mounthdf_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-mounthdf_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-mounthdf_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-mounthdf_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-mounthdf_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-mounthdf_DEPS),) + ifneq (workbench-devs-diskimage-mounthdf workbench-devs-diskimage-mounthdf-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-mounthdf workbench-devs-diskimage-mounthdf-quick),) + -include $(workbench-devs-diskimage-mounthdf_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-mounthdf_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-mounthdf_OBJS) $(workbench-devs-diskimage-mounthdf_DEPS) $(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME),) +$(workbench-devs-diskimage-mounthdf_OBJS) $(workbench-devs-diskimage-mounthdf_DEPS) $(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) : | $(workbench-devs-diskimage-mounthdf_OBJDIR) $(workbench-devs-diskimage-mounthdf_TARGETDIR) +else +$(workbench-devs-diskimage-mounthdf_OBJS) $(workbench-devs-diskimage-mounthdf_DEPS) $(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) :: $(workbench-devs-diskimage-mounthdf_OBJDIR) $(workbench-devs-diskimage-mounthdf_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-mounthdf_OBJDIR) $(workbench-devs-diskimage-mounthdf_TARGETDIR) + + +workbench-devs-diskimage-mounthdf-clean : FILES := $(workbench-devs-diskimage-mounthdf_OBJS) $(workbench-devs-diskimage-mounthdf_TARGETDIR)/$(workbench-devs-diskimage-mounthdf_PROGNAME) $(workbench-devs-diskimage-mounthdf_DEPS) +#MM +workbench-devs-diskimage-mounthdf-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-mounthdf" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/device/catalogs/mmakefile b/workbench/devs/diskimage/device/catalogs/mmakefile new file mode 100644 index 00000000000..8d3874eb566 --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/mmakefile @@ -0,0 +1,73 @@ +# Copyright © 2003, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + + +ifeq (,) +workbench-devs-diskimage-device-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-devs-diskimage-device-catalogs_DESC := +endif + +workbench-devs-diskimage-device-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq (,) +workbench-devs-diskimage-device-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-devs-diskimage-device-catalogs_LNGS := +endif + +workbench-devs-diskimage-device-catalogs_OBJS := $(addsuffix /System/Devs/diskimagedevice.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-devs-diskimage-device-catalogs_LNGS))) +workbench-devs-diskimage-device-catalogs_DIRS := $(addsuffix /System/Devs, $(addprefix $(AROS_CATALOGS)/, $(workbench-devs-diskimage-device-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-devs-diskimage-device-catalogs-quick : workbench-devs-diskimage-device-catalogs + +#MM +workbench-devs-diskimage-device-catalogs : $(workbench-devs-diskimage-device-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-devs-diskimage-device-catalogs_OBJS),) +$(workbench-devs-diskimage-device-catalogs_OBJS) : | $(workbench-devs-diskimage-device-catalogs_DIRS) +else +$(workbench-devs-diskimage-device-catalogs_OBJS) :: $(workbench-devs-diskimage-device-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-device-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Devs/diskimagedevice.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-devs-diskimage-device-catalogs_DESC).cd + $(Q)$(ECHO) "Creating diskimagedevice catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-devs-diskimage-device-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Devs/diskimagedevice.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-devs-diskimage-device-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Devs/diskimagedevice.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-devs-diskimage-device-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Devs/diskimagedevice.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-devs-diskimage-device-catalogs_DESC := $(workbench-devs-diskimage-device-catalogs_DESC) +../strings.h : workbench-devs-diskimage-device-catalogs_SRC := $(workbench-devs-diskimage-device-catalogs_SRC) +../strings.h : $(workbench-devs-diskimage-device-catalogs_DESC).cd $(workbench-devs-diskimage-device-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating diskimagedevice catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-devs-diskimage-device-catalogs_DESC).cd $@=$(workbench-devs-diskimage-device-catalogs_SRC).sd +endif + +workbench-devs-diskimage-device-catalogs-clean : FILES := $(workbench-devs-diskimage-device-catalogs_OBJS) ../strings.h +#MM +workbench-devs-diskimage-device-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-device-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-devs-diskimage-device-catalogs workbench-devs-diskimage-device-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/device/mmakefile b/workbench/devs/diskimage/device/mmakefile new file mode 100644 index 00000000000..3e09869520a --- /dev/null +++ b/workbench/devs/diskimage/device/mmakefile @@ -0,0 +1,1667 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-devs-diskimage-device : includes linklibs workbench-devs-diskimage-support \ +#MM workbench-devs-diskimage-prefs workbench-devs-diskimage-device-catalogs workbench-libs-expat + +CFILES := init_aros io unit scsicmd locale plugins tempfile progress password \ + main_vectors plugin_vectors ../plugins/generic ../plugins/adf ../plugins/d64 ../plugins/iso + +USER_CPPFLAGS := -DABIV1 -DMIN_OS_VERSION=39 -DDEVICE -D__DOS_STDLIBBASE__ -D__INTUITION_STDLIBBASE__ -D__UTILITY_STDLIBBASE__ +USER_INCLUDES := -I$(AROS_INCLUDES)/SDI \ + -I$(SRCDIR)/$(CURDIR)/include \ + -I$(SRCDIR)/$(CURDIR)/../include + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-devs-diskimage-device +#MM workbench-devs-diskimage-device-quick +#MM workbench-devs-diskimage-device-makefile +#MM workbench-devs-diskimage-device-clean + +# ABI targets: +#MM- includes-all : workbench-devs-diskimage-device-includes +#MM- linklibs-diskimage: workbench-devs-diskimage-device-linklib +#MM- linklibs-diskimage_rel : workbench-devs-diskimage-device-linklib +#MM- includes-diskimage: workbench-devs-diskimage-device-includes +#MM- includes-diskimage_rel : workbench-devs-diskimage-device-includes +#MM- workbench-devs-diskimage-device : workbench-devs-diskimage-device-includes core-linklibs linklibs-diskimagesupport linklibs-diskimageprefs +#MM workbench-devs-diskimage-device-linklib : workbench-devs-diskimage-device-includes includes-diskimagesupport includes-diskimageprefs +#MM- workbench-devs-diskimage-device-quick : workbench-devs-diskimage-device-includes-quick +#MM workbench-devs-diskimage-device-includes : workbench-devs-diskimage-device-makefile workbench-devs-diskimage-device-includes-dirs \ +#MM includes-generate-deps workbench-devs-diskimage-device-fd +#MM workbench-devs-diskimage-device-includes-quick +#MM workbench-devs-diskimage-device-includes-dirs +#MM workbench-devs-diskimage-device-fd + +# Library targets +#MM workbench-devs-diskimage-device-kobj : core-linklibs linklibs-diskimagesupport linklibs-diskimageprefs +#MM workbench-devs-diskimage-device-kobj-quick : + +# Library with ABI targets: +#MM workbench-devs-diskimage-device-kobj : workbench-devs-diskimage-device-includes core-linklibs linklibs-diskimagesupport linklibs-diskimageprefs +#MM workbench-devs-diskimage-device-kobj-quick : workbench-devs-diskimage-device-includes-quick + +# All MetaMake targets defined by this macro +workbench-devs-diskimage-device_ALLTARGETS := workbench-devs-diskimage-device workbench-devs-diskimage-device-quick workbench-devs-diskimage-device-clean + +ifeq (M,M) +workbench-devs-diskimage-device_ALLTARGETS += workbench-devs-diskimage-device-kobj workbench-devs-diskimage-device-kobj-quick +endif + +ifeq (M,M) +workbench-devs-diskimage-device_ALLTARGETS += workbench-devs-diskimage-device-includes \ + workbench-devs-diskimage-device-includes-quick workbench-devs-diskimage-device-includes-dirs \ + workbench-devs-diskimage-device-linklib workbench-devs-diskimage-device-fd +endif + +.PHONY : $(workbench-devs-diskimage-device_ALLTARGETS) workbench-devs-diskimage-device-makefile + +ifeq (diskimage,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-devs-diskimage-device_DEFNAME := diskimage_ +else + workbench-devs-diskimage-device_DEFNAME := diskimage +endif +workbench-devs-diskimage-device_DEFLINKLIBNAME := $(workbench-devs-diskimage-device_DEFNAME) +ifneq (,) + workbench-devs-diskimage-device_LINKLIBNAME := +else + workbench-devs-diskimage-device_LINKLIBNAME = $(workbench-devs-diskimage-device_DEFLINKLIBNAME) +endif +workbench-devs-diskimage-device_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-devs-diskimage-device_DEFCPPFLAGS += -I +endif +workbench-devs-diskimage-device_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-devs-diskimage-device_DFLAGS := +else + workbench-devs-diskimage-device_DFLAGS = $(workbench-devs-diskimage-device_DEFDFLAGS) +endif +workbench-devs-diskimage-device_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-devs-diskimage-device_DXXFLAGS := +else + workbench-devs-diskimage-device_DXXFLAGS = $(workbench-devs-diskimage-device_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-device_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-devs-diskimage-device_DEFDFLAGS)) +workbench-devs-diskimage-device_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-devs-diskimage-device_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-device_FUNCINSTR := yes +workbench-devs-diskimage-device_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-devs-diskimage-device_DEFDFLAGS)) +workbench-devs-diskimage-device_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-devs-diskimage-device_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-devs-diskimage-device_OBJDIR := +else +workbench-devs-diskimage-device_OBJDIR := $(OBJDIR)/$(workbench-devs-diskimage-device_DEFNAME) +endif +ifneq (,) +workbench-devs-diskimage-device_OBJDIR := $(workbench-devs-diskimage-device_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-devs-diskimage-device-makefile := $(workbench-devs-diskimage-device_OBJDIR)/Makefile.$(workbench-devs-diskimage-device_DEFNAME)device +workbench-devs-diskimage-device-genmakefile : $(workbench-devs-diskimage-device-makefile) + + +workbench-devs-diskimage-device-genmakefile_OPTS := +ifneq (,) + workbench-devs-diskimage-device-genmakefile_OPTS += -f + workbench-devs-diskimage-device-genmakefile_MODNAME := diskimage_ +else + workbench-devs-diskimage-device-genmakefile_MODNAME := diskimage +endif +workbench-devs-diskimage-device-genmakefile_TARGET := Makefile.$(workbench-devs-diskimage-device-genmakefile_MODNAME)device +workbench-devs-diskimage-device-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-diskimage-device-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-diskimage-device-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-diskimage-device-genmakefile_OPTS += -c + workbench-devs-diskimage-device-genmakefile_DEPS += + endif +else + workbench-devs-diskimage-device-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/diskimage.conf + workbench-devs-diskimage-device-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/diskimage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-diskimage-device-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-diskimage-device-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-diskimage-device-genmakefile_OPTS += -o + workbench-devs-diskimage-device-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-devs-diskimage-device-genmakefile_OPTS += -s +endif +ifneq ($(workbench-devs-diskimage-device_OBJDIR),) + workbench-devs-diskimage-device-genmakefile_OPTS += -d $(workbench-devs-diskimage-device_OBJDIR) + workbench-devs-diskimage-device-genmakefile_TARGET := $(workbench-devs-diskimage-device_OBJDIR)/$(workbench-devs-diskimage-device-genmakefile_TARGET) +endif + +$(workbench-devs-diskimage-device-genmakefile_TARGET) : OPTS := $(workbench-devs-diskimage-device-genmakefile_OPTS) +$(workbench-devs-diskimage-device-genmakefile_TARGET) : MODNAME := diskimage +$(workbench-devs-diskimage-device-genmakefile_TARGET) : MODTYPE := device +$(workbench-devs-diskimage-device-genmakefile_TARGET) : $(workbench-devs-diskimage-device-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-devs-diskimage-device-makefile),) +$(workbench-devs-diskimage-device-makefile) : | $(workbench-devs-diskimage-device_OBJDIR) +else +$(workbench-devs-diskimage-device-makefile) :: $(workbench-devs-diskimage-device_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-device_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-devs-diskimage-device_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-devs-diskimage-device-makefile) + +workbench-devs-diskimage-device_DEFMODDIR := $($(workbench-devs-diskimage-device_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-devs-diskimage-device_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-devs-diskimage-device_DEFMODDIR) +endif +ifneq (,) + workbench-devs-diskimage-device_MODDIR := +else + workbench-devs-diskimage-device_MODDIR := $(workbench-devs-diskimage-device_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-devs-diskimage-device_INCDIR := +else +workbench-devs-diskimage-device_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-devs-diskimage-device_LIBDEFSINC := $(workbench-devs-diskimage-device_OBJDIR)/include/$(workbench-devs-diskimage-device_DEFNAME)_libdefs.h +workbench-devs-diskimage-device_DEFLIBDEFSINC := $(workbench-devs-diskimage-device_OBJDIR)/include/$(workbench-devs-diskimage-device_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-devs-diskimage-device-includes-quick : workbench-devs-diskimage-device-includes +workbench-devs-diskimage-device-includes : $(addprefix $(GENINCDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-devs-diskimage-device_INCDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) \ + $(workbench-devs-diskimage-device_LIBDEFSINC) $(workbench-devs-diskimage-device_DEFLIBDEFSINC) + +ifneq ($($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-devs-diskimage-device-includes_MODNAME := diskimage_ +else + workbench-devs-diskimage-device-includes_MODNAME := diskimage +endif + +ifneq ($($(workbench-devs-diskimage-device-includes_MODNAME)_INCLUDES),) + +workbench-devs-diskimage-device-includes_TARGETS := $($(workbench-devs-diskimage-device-includes_MODNAME)_INCLUDES) + +workbench-devs-diskimage-device-includes_DEPS := $(GENMODULE) +workbench-devs-diskimage-device-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-diskimage-device-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-diskimage-device-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-diskimage-device-includes_OPTS += -c + workbench-devs-diskimage-device-includes_DEPS += + endif +else + workbench-devs-diskimage-device-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/diskimage.conf + workbench-devs-diskimage-device-includes_DEPS += $(SRCDIR)/$(CURDIR)/diskimage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-diskimage-device-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-diskimage-device-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-diskimage-device-includes_OPTS += -o + workbench-devs-diskimage-device-includes_DEPS += + endif +endif +ifneq (,) + workbench-devs-diskimage-device-includes_OPTS += -s +endif +ifneq ($(workbench-devs-diskimage-device_OBJDIR)/include,) + workbench-devs-diskimage-device-includes_OPTS += -d $(workbench-devs-diskimage-device_OBJDIR)/include + workbench-devs-diskimage-device-includes_TARGETS := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/include/,$(workbench-devs-diskimage-device-includes_TARGETS)) + workbench-devs-diskimage-device-includes_GENINCFLAG=$(workbench-devs-diskimage-device_OBJDIR)/include/.diskimage.device-includes +else + workbench-devs-diskimage-device-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.diskimage.device-includes +endif + +$(workbench-devs-diskimage-device-includes_TARGETS) : $(workbench-devs-diskimage-device-includes_DEPS) $(workbench-devs-diskimage-device-includes_GENINCFLAG) + +$(workbench-devs-diskimage-device-includes_GENINCFLAG) : OPTS := $(workbench-devs-diskimage-device-includes_OPTS) +$(workbench-devs-diskimage-device-includes_GENINCFLAG) : MODNAME := diskimage +$(workbench-devs-diskimage-device-includes_GENINCFLAG) : MODTYPE := device +$(workbench-devs-diskimage-device-includes_GENINCFLAG) : $(workbench-devs-diskimage-device-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-devs-diskimage-device_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) : | $(workbench-devs-diskimage-device_OBJDIR)/diskimage_geninc + +$(workbench-devs-diskimage-device_OBJDIR)/diskimage_geninc : COPYSRCDIR := $(workbench-devs-diskimage-device_OBJDIR)/include +$(workbench-devs-diskimage-device_OBJDIR)/diskimage_geninc : TGTDIR := $(GENINCDIR) +$(workbench-devs-diskimage-device_OBJDIR)/diskimage_geninc : FILES := $($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES) +$(workbench-devs-diskimage-device_OBJDIR)/diskimage_geninc : $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/include/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-devs-diskimage-device_OBJDIR)/include + +$(addprefix $(workbench-devs-diskimage-device_INCDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) : | $(workbench-devs-diskimage-device_OBJDIR)/diskimage_incs + +$(workbench-devs-diskimage-device_OBJDIR)/diskimage_incs : COPYSRCDIR := $(workbench-devs-diskimage-device_OBJDIR)/include +$(workbench-devs-diskimage-device_OBJDIR)/diskimage_incs : TGTDIR := $(workbench-devs-diskimage-device_INCDIR) +$(workbench-devs-diskimage-device_OBJDIR)/diskimage_incs : FILES := $($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES) +$(workbench-devs-diskimage-device_OBJDIR)/diskimage_incs : $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/include/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-devs-diskimage-device_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)))) + +TMPdiskimage_INCDIRS := \ + $(workbench-devs-diskimage-device_OBJDIR)/include $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/include/,$(workbench-devs-diskimage-device_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-devs-diskimage-device_INCDIRS)) \ + $(workbench-devs-diskimage-device_INCDIR) $(addprefix $(workbench-devs-diskimage-device_INCDIR)/,$(workbench-devs-diskimage-device_INCDIRS)) + +ifneq (workbench-devs-diskimage-device-includes-dirs,) +workbench-devs-diskimage-device-includes-dirs : | $(TMPdiskimage_INCDIRS) +else +workbench-devs-diskimage-device-includes-dirs :: $(TMPdiskimage_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPdiskimage_INCDIRS) + + +endif + +endif + + +workbench-devs-diskimage-device-genlibdefs_OPTS := +ifneq (,) + workbench-devs-diskimage-device-genlibdefs_OPTS += -f + workbench-devs-diskimage-device-genlibdefs_MODNAME := diskimage_ +else + workbench-devs-diskimage-device-genlibdefs_MODNAME := diskimage +endif +workbench-devs-diskimage-device-genlibdefs_TARGET := $(workbench-devs-diskimage-device-genlibdefs_MODNAME)_libdefs.h +workbench-devs-diskimage-device-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-diskimage-device-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-diskimage-device-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-diskimage-device-genlibdefs_OPTS += -c + workbench-devs-diskimage-device-genlibdefs_DEPS += + endif +else + workbench-devs-diskimage-device-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/diskimage.conf + workbench-devs-diskimage-device-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/diskimage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-diskimage-device-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-diskimage-device-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-diskimage-device-genlibdefs_OPTS += -o + workbench-devs-diskimage-device-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-devs-diskimage-device-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-devs-diskimage-device_OBJDIR)/include,) + workbench-devs-diskimage-device-genlibdefs_OPTS += -d $(workbench-devs-diskimage-device_OBJDIR)/include + workbench-devs-diskimage-device-genlibdefs_TARGET := $(workbench-devs-diskimage-device_OBJDIR)/include/$(workbench-devs-diskimage-device-genlibdefs_TARGET) +endif +ifneq (,) + workbench-devs-diskimage-device-genlibdefs_OPTS += -v +endif + +$(workbench-devs-diskimage-device-genlibdefs_TARGET) : OPTS := $(workbench-devs-diskimage-device-genlibdefs_OPTS) +$(workbench-devs-diskimage-device-genlibdefs_TARGET) : MODNAME := diskimage +$(workbench-devs-diskimage-device-genlibdefs_TARGET) : MODTYPE := device +$(workbench-devs-diskimage-device-genlibdefs_TARGET) : $(workbench-devs-diskimage-device-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-devs-diskimage-device_DEFLIBDEFSINC) : FILENAME := $(workbench-devs-diskimage-device_LIBDEFSINC) +$(workbench-devs-diskimage-device_DEFLIBDEFSINC) : $(workbench-devs-diskimage-device_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-devs-diskimage-device_LIBDEFSINC) $(workbench-devs-diskimage-device_DEFLIBDEFSINC) : | $(workbench-devs-diskimage-device_OBJDIR)/include + +ifneq (workbench-devs-diskimage-device-includes-dirs,) +workbench-devs-diskimage-device-includes-dirs : | $(workbench-devs-diskimage-device_OBJDIR)/include +else +workbench-devs-diskimage-device-includes-dirs :: $(workbench-devs-diskimage-device_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-device_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-devs-diskimage-device-genmodfiles_OPTS := +ifneq (,) + workbench-devs-diskimage-device-genmodfiles_OPTS += -f + workbench-devs-diskimage-device-genmodfiles_MODNAME := diskimage_ +else + workbench-devs-diskimage-device-genmodfiles_MODNAME := diskimage +endif +workbench-devs-diskimage-device-genmodfiles_GENTARGETS := $($(workbench-devs-diskimage-device-genmodfiles_MODNAME)_STARTFILES) $($(workbench-devs-diskimage-device-genmodfiles_MODNAME)_ENDFILES) +workbench-devs-diskimage-device-genmodfiles_STUBTARGETS := $($(workbench-devs-diskimage-device-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-devs-diskimage-device-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-devs-diskimage-device-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-devs-diskimage-device-genmodfiles_GENTARGETS)) +workbench-devs-diskimage-device-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-devs-diskimage-device-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-devs-diskimage-device-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-devs-diskimage-device-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-devs-diskimage-device-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-diskimage-device-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-diskimage-device-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-diskimage-device-genmodfiles_OPTS += -c + workbench-devs-diskimage-device-genmodfiles_DEPS += + endif +else + workbench-devs-diskimage-device-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/diskimage.conf + workbench-devs-diskimage-device-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/diskimage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-diskimage-device-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-diskimage-device-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-diskimage-device-genmodfiles_OPTS += -o + workbench-devs-diskimage-device-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-devs-diskimage-device-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-devs-diskimage-device_OBJDIR),) + workbench-devs-diskimage-device-genmodfiles_OPTS += -d $(workbench-devs-diskimage-device_OBJDIR) + workbench-devs-diskimage-device-genmodfiles_TARGETDIR := $(shell echo $(workbench-devs-diskimage-device_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-device-genmodfiles_GENTARGETS := $(addprefix $(workbench-devs-diskimage-device-genmodfiles_TARGETDIR)/,$(workbench-devs-diskimage-device-genmodfiles_GENTARGETS)) + workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG=$(workbench-devs-diskimage-device-genmodfiles_TARGETDIR)/.diskimage.device-genfiles +else + workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.diskimage.device-genfiles +endif +ifneq ($(workbench-devs-diskimage-device_OBJDIR)/linklib,) + workbench-devs-diskimage-device-genmodfiles_OPTS += -l $(workbench-devs-diskimage-device_OBJDIR)/linklib + workbench-devs-diskimage-device-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-devs-diskimage-device_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-device-genmodfiles_STUBTARGETS := $(addprefix $(workbench-devs-diskimage-device-genmodfiles_STUBTARGETDIR)/,$(workbench-devs-diskimage-device-genmodfiles_STUBTARGETS)) + workbench-devs-diskimage-device-genmodfiles_TARGETDIRS += $(workbench-devs-diskimage-device_OBJDIR)/linklib +else +ifneq ($(workbench-devs-diskimage-device_OBJDIR),) + workbench-devs-diskimage-device-genmodfiles_STUBTARGETS := $(addprefix $(workbench-devs-diskimage-device-genmodfiles_TARGETDIR)/,$(workbench-devs-diskimage-device-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-devs-diskimage-device-genmodfiles_TARGETS := $(workbench-devs-diskimage-device-genmodfiles_GENTARGETS) $(workbench-devs-diskimage-device-genmodfiles_STUBTARGETS) +ifneq ($(workbench-devs-diskimage-device-genmodfiles_TARGETDIRS),) +$(workbench-devs-diskimage-device-genmodfiles_TARGETS) : | $(workbench-devs-diskimage-device-genmodfiles_TARGETDIRS) +endif + +$(workbench-devs-diskimage-device-genmodfiles_TARGETS) : $(workbench-devs-diskimage-device-genmodfiles_DEPS) $(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG) + +$(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-devs-diskimage-device-genmodfiles_OPTS) +$(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG) : MODNAME := diskimage +$(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG) : $(workbench-devs-diskimage-device-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG) : $(workbench-devs-diskimage-device_DEFLIBDEFSINC) $(workbench-devs-diskimage-device-makefile) + + +ifneq ($(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG),) +$(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG) : | $(workbench-devs-diskimage-device_OBJDIR)/linklib +else +$(workbench-devs-diskimage-device-genmodfiles_GENFILEFLAG) :: $(workbench-devs-diskimage-device_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-device_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-devs-diskimage-device_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-devs-diskimage-device_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-devs-diskimage-device-fd : $(workbench-devs-diskimage-device_FDDIR)/diskimage_lib.fd + + +TMP_TARGET := diskimage_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/diskimage.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/diskimage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-devs-diskimage-device_FDDIR),) + TMP_OPTS += -d $(workbench-devs-diskimage-device_FDDIR) + TMP_TARGET := $(workbench-devs-diskimage-device_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := diskimage +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-devs-diskimage-device_FDDIR)/diskimage_lib.fd : | $(workbench-devs-diskimage-device_FDDIR) + + +ifneq (workbench-devs-diskimage-device-fd-setup,) +workbench-devs-diskimage-device-fd-setup : | $(workbench-devs-diskimage-device_FDDIR) +else +workbench-devs-diskimage-device-fd-setup :: $(workbench-devs-diskimage-device_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-device_FDDIR) + +endif + +## Compilation +## +workbench-devs-diskimage-device_FILES := $(CFILES) +workbench-devs-diskimage-device_OBJCFILES := +workbench-devs-diskimage-device_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-devs-diskimage-device_LIBFILES := +workbench-devs-diskimage-device_LIBS := diskimagesupport diskimageprefs + +workbench-devs-diskimage-device_FDIRS := $(sort $(dir $(workbench-devs-diskimage-device_FILES))) + +workbench-devs-diskimage-device_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-devs-diskimage-device_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-devs-diskimage-device_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-devs-diskimage-device_FILTERARCH = $(filter-out $(call workbench-devs-diskimage-device_MATCHARCH,$(1),$(2)),$(2)) +workbench-devs-diskimage-device_STARTFILES := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_STARTFILES)) +workbench-devs-diskimage-device_ENDFILES := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_ENDFILES)) + +workbench-devs-diskimage-device_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-device_OBJDIR)/arch/*.o) +workbench-devs-diskimage-device_LIBARCHOBJS := $(wildcard $(workbench-devs-diskimage-device_OBJDIR)/linklib/arch/*.o) +workbench-devs-diskimage-device_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-device_ARCHOBJS))) +workbench-devs-diskimage-device_LIBARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-device_LIBARCHOBJS))) +workbench-devs-diskimage-device_C_NARCHFILES := $(call workbench-devs-diskimage-device_FILTERARCH,$(workbench-devs-diskimage-device_ARCHFILES),$(workbench-devs-diskimage-device_FILES)) +workbench-devs-diskimage-device_CXX_NARCHFILES := $(call workbench-devs-diskimage-device_FILTERARCH,$(workbench-devs-diskimage-device_ARCHFILES),$(workbench-devs-diskimage-device_CXXFILES)) +workbench-devs-diskimage-device_OBJC_NARCHFILES := $(call workbench-devs-diskimage-device_FILTERARCH,$(workbench-devs-diskimage-device_ARCHFILES),$(workbench-devs-diskimage-device_OBJCFILES)) +workbench-devs-diskimage-device_NLIBARCHFILES := $(call workbench-devs-diskimage-device_FILTERARCH,$(workbench-devs-diskimage-device_LIBARCHFILES),$(workbench-devs-diskimage-device_LIBFILES)) +workbench-devs-diskimage-device_ARCHNLIBFILES := $(call workbench-devs-diskimage-device_FILTERARCH,$(workbench-devs-diskimage-device_LIBFILES),$(workbench-devs-diskimage-device_LIBARCHFILES)) + +workbench-devs-diskimage-device_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-devs-diskimage-device_OBJDIR)/include -include $(workbench-devs-diskimage-device_DEFLIBDEFSINC)) +ifneq (,) +workbench-devs-diskimage-device_CPPFLAGS += -I +endif +workbench-devs-diskimage-device_LINKLIBCPPFLAGS := $(workbench-devs-diskimage-device_CPPFLAGS) +workbench-devs-diskimage-device_CPPFLAGS += $(strip $($(workbench-devs-diskimage-device_DEFNAME)_CPPFLAGS)) +workbench-devs-diskimage-device_LINKLIBCPPFLAGS += $(strip $($(workbench-devs-diskimage-device_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-devs-diskimage-device_CFLAGS := $(strip $(CFLAGS) $($(workbench-devs-diskimage-device_DEFNAME)_CFLAGS)) +workbench-devs-diskimage-device_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-devs-diskimage-device_DEFNAME)_LINKLIBCFLAGS)) +workbench-devs-diskimage-device_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-devs-diskimage-device_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-device_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-devs-diskimage-device_CFLAGS := $(strip $(workbench-devs-diskimage-device_LTOFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +workbench-devs-diskimage-device_LINKLIBCFLAGS := $(strip $(workbench-devs-diskimage-device_LTOFLAGS) $(workbench-devs-diskimage-device_LINKLIBCFLAGS)) +workbench-devs-diskimage-device_CXXFLAGS := $(strip $(workbench-devs-diskimage-device_LTOFLAGS) $(workbench-devs-diskimage-device_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-device_SUBSTNULL := +workbench-devs-diskimage-device_SUBSTSPACE := $(workbench-devs-diskimage-device_SUBSTNULL) # +workbench-devs-diskimage-device_SUBSTCOMMA := , +workbench-devs-diskimage-device_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-devs-diskimage-device_SUBSTSPACE),$(workbench-devs-diskimage-device_SUBSTCOMMA),$(strip $($(workbench-devs-diskimage-device_DEFNAME)_STARTFILES)))) +workbench-devs-diskimage-device_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-device_CFLAGS := $(strip $(workbench-devs-diskimage-device_INSTRFUNCFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +workbench-devs-diskimage-device_CXXFLAGS := $(strip $(workbench-devs-diskimage-device_INSTRFUNCFLAGS) $(workbench-devs-diskimage-device_CXXFLAGS)) +workbench-devs-diskimage-device_LIBS += $(workbench-devs-diskimage-device_INSTRFUNCLIBS) +endif +endif +workbench-devs-diskimage-device_DFLAGS := $(strip $(workbench-devs-diskimage-device_DFLAGS) $($(workbench-devs-diskimage-device_DEFNAME)_DFLAGS)) +workbench-devs-diskimage-device_LINKLIBDFLAGS := $(strip $(workbench-devs-diskimage-device_DFLAGS) $($(workbench-devs-diskimage-device_DEFNAME)_LINKLIBDFLAGS)) +workbench-devs-diskimage-device_DXXFLAGS := $(strip $(workbench-devs-diskimage-device_DXXFLAGS) $($(workbench-devs-diskimage-device_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + workbench-devs-diskimage-device_LIBSUFFIX := +else + workbench-devs-diskimage-device_LIBSUFFIX := .device +endif + +ifeq (,) +workbench-devs-diskimage-device_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-devs-diskimage-device_LIBDIR := +endif + +ifeq (M,M) +workbench-devs-diskimage-device_LINKLIBCFILES := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$($(workbench-devs-diskimage-device_DEFNAME)_LINKLIBFILES)) +workbench-devs-diskimage-device_LINKLIBAFILES := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$($(workbench-devs-diskimage-device_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-devs-diskimage-device_DEFNAME)_LINKLIBFILES) $($(workbench-devs-diskimage-device_DEFNAME)_LINKLIBAFILES) $(workbench-devs-diskimage-device_ARCHNLIBFILES)),) + workbench-devs-diskimage-device_LINKLIB := +else + workbench-devs-diskimage-device_LINKLIB := $(workbench-devs-diskimage-device_LIBDIR)/libdiskimage$(workbench-devs-diskimage-device_LIBSUFFIX).a + ifneq (diskimage,$(workbench-devs-diskimage-device_LINKLIBNAME)) + workbench-devs-diskimage-device_LINKLIB += $(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)$(workbench-devs-diskimage-device_LIBSUFFIX).a + endif +endif +workbench-devs-diskimage-device_LINKLIBFILES := $(workbench-devs-diskimage-device_LINKLIBCFILES) $(workbench-devs-diskimage-device_LINKLIBAFILES) + +workbench-devs-diskimage-device_RELLINKLIBCFILES := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$($(workbench-devs-diskimage-device_DEFNAME)_RELLINKLIBFILES)) +workbench-devs-diskimage-device_RELLINKLIBAFILES := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$($(workbench-devs-diskimage-device_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-devs-diskimage-device_DEFNAME)_RELLINKLIBFILES) $($(workbench-devs-diskimage-device_DEFNAME)_RELLINKLIBAFILES) $(workbench-devs-diskimage-device_ARCHNLIBFILES)),) + workbench-devs-diskimage-device_RELLINKLIB := +else + workbench-devs-diskimage-device_RELLINKLIB := $(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_DEFNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a + ifneq (diskimage,$(workbench-devs-diskimage-device_LINKLIBNAME)) + workbench-devs-diskimage-device_RELLINKLIB += $(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a + endif +endif +workbench-devs-diskimage-device_RELLINKLIBFILES := $(workbench-devs-diskimage-device_RELLINKLIBCFILES) $(workbench-devs-diskimage-device_RELLINKLIBAFILES) +endif + +workbench-devs-diskimage-device_ENDOBJS := $(addsuffix .o,$(workbench-devs-diskimage-device_ENDFILES)) +workbench-devs-diskimage-device_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(notdir $(workbench-devs-diskimage-device_NLIBARCHFILES))) $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/arch/,$(notdir $(workbench-devs-diskimage-device_ARCHNLIBFILES))) $(workbench-devs-diskimage-device_LINKLIBFILES)) \ + +workbench-devs-diskimage-device_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(notdir $(workbench-devs-diskimage-device_NLIBARCHFILES))) $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/arch/,$(notdir $(workbench-devs-diskimage-device_ARCHNLIBFILES))) $(workbench-devs-diskimage-device_RELLINKLIBFILES)) \ + +$(workbench-devs-diskimage-device_LINKLIBFILES) $(workbench-devs-diskimage-device_RELLINKLIBFILES) : | $(workbench-devs-diskimage-device_OBJDIR)/linklib +$(workbench-devs-diskimage-device_LINKLIBOBJS) $(workbench-devs-diskimage-device_RELLINKLIBOBJS) : | $(workbench-devs-diskimage-device_OBJDIR)/linklib + +workbench-devs-diskimage-device_CCFILES := $(workbench-devs-diskimage-device_C_NARCHFILES) +workbench-devs-diskimage-device_TARGETCCFILES := $(strip $(workbench-devs-diskimage-device_STARTFILES) $(workbench-devs-diskimage-device_ENDFILES)) +workbench-devs-diskimage-device_LINKLIBCCFILES := $(strip $(workbench-devs-diskimage-device_NLIBARCHFILES) $(workbench-devs-diskimage-device_LINKLIBCFILES) $(workbench-devs-diskimage-device_RELLINKLIBCFILES)) +workbench-devs-diskimage-device_LINKLIBCCGENFILES := $(strip $(workbench-devs-diskimage-device_LINKLIBCFILES) $(workbench-devs-diskimage-device_RELLINKLIBCFILES)) + + +workbench-devs-diskimage-device_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-device_CXXBASE,$(workbench-devs-diskimage-device_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-device_CXXBASE)),$(workbench-devs-diskimage-device_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-device_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-device_CXXABSBASENAMES),) + +workbench-devs-diskimage-device_CXXBASENAMES := $(basename $(workbench-devs-diskimage-device_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-device_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-device_CXXBASE,$(workbench-devs-diskimage-device_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-device_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-device_EXT),$(workbench-devs-diskimage-device_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-device_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-device_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-device_OBJDIR),) + workbench-devs-diskimage-device_CXXTARGETS := $(notdir $(workbench-devs-diskimage-device_CXXBASENAMES:=.o)) + workbench-devs-diskimage-device_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-device_CXXBASENAMES:=.d)) + workbench-devs-diskimage-device_MCXX_WILDCARD := % +else + workbench-devs-diskimage-device_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(workbench-devs-diskimage-device_CXXBASENAMES:=.o))) + workbench-devs-diskimage-device_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(workbench-devs-diskimage-device_CXXBASENAMES:=.d))) + workbench-devs-diskimage-device_MCXX_WILDCARD := $(workbench-devs-diskimage-device_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-device_CXXTARGETS) $(workbench-devs-diskimage-device_CXXDTARGETS) : | $(workbench-devs-diskimage-device_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-device_MCXX_CPPFLAGS := $(workbench-devs-diskimage-device_CPPFLAGS) +workbench-devs-diskimage-device_CXXFLAGS := $(workbench-devs-diskimage-device_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-device_DXXFLAGS),) + workbench-devs-diskimage-device_DXXFLAGS := $(workbench-devs-diskimage-device_CXXFLAGS) +else + workbench-devs-diskimage-device_DXXFLAGS := $(workbench-devs-diskimage-device_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-device_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-device_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-device_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-device_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-device_MCXX_CPPFLAGS) $(workbench-devs-diskimage-device_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-device_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-device_CXXFLAGS)) + workbench-devs-diskimage-device_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-device_DXXFLAGS)) + workbench-devs-diskimage-device_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-device_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-device_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-device_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-device_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-device_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-device_MCXX_CPPFLAGS) $(workbench-devs-diskimage-device_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-device_CXXFLAGS := $(strip $(workbench-devs-diskimage-device_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-device_DXXFLAGS := $(workbench-devs-diskimage-device_DXXFLAGS) + workbench-devs-diskimage-device_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-device_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-device_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-device_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-device_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-device_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-device_MCXX_CPPFLAGS) $(workbench-devs-diskimage-device_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-device_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-device_CXXFLAGS)) + workbench-devs-diskimage-device_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-device_DXXFLAGS)) + workbench-devs-diskimage-device_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-device_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-device_CXXCMD) $(workbench-devs-diskimage-device_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-device_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_CXXIQUOTE) . $(workbench-devs-diskimage-device_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-device_CXXFLAGS) $(workbench-devs-diskimage-device_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-device_CXXCMD) $(workbench-devs-diskimage-device_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-device_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_CXXIQUOTE) . $(workbench-devs-diskimage-device_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-device_CXXFLAGS) $(workbench-devs-diskimage-device_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-device_CXXCMD) $(workbench-devs-diskimage-device_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-device_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_CXXIQUOTE) . $(workbench-devs-diskimage-device_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-device_CXXFLAGS) $(workbench-devs-diskimage-device_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-device_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-device_DXXFLAGS) $(workbench-devs-diskimage-device_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-device_OBJDIR),) + $(foreach workbench-devs-diskimage-device_CXXFILE,$(workbench-devs-diskimage-device_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-device_CXXFILE))),$(workbench-devs-diskimage-device_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-device_CXXFILE,$(workbench-devs-diskimage-device_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-device_CXXFILE)))),$(workbench-devs-diskimage-device_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-device_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-device_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-device_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-device_OBJDIR),) + workbench-devs-diskimage-device_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-device_OBJC_NARCHFILES)) + workbench-devs-diskimage-device_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-device_OBJC_NARCHFILES)) + workbench-devs-diskimage-device_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-device_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(workbench-devs-diskimage-device_OBJC_NARCHFILES))) + workbench-devs-diskimage-device_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(workbench-devs-diskimage-device_OBJC_NARCHFILES))) + workbench-devs-diskimage-device_MOBJC_WILDCARD := $(workbench-devs-diskimage-device_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-device_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-device_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-device_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-device_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-device_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-device_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-device_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-device_MOBJC_DIRS),) + workbench-devs-diskimage-device_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-device_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-device_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-device_CC := $(TARGET_CC) +else + workbench-devs-diskimage-device_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-device_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-device_CPPFLAGS) +workbench-devs-diskimage-device_OBJCFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +workbench-devs-diskimage-device_OBJCFLAGS := $(workbench-devs-diskimage-device_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-device_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-device_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-device_DFLAGS),) + workbench-devs-diskimage-device_OBJCDFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +else + workbench-devs-diskimage-device_OBJCDFLAGS := $(workbench-devs-diskimage-device_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-device_LINK ?= $(strip $(workbench-devs-diskimage-device_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-device_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-device_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-device_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-device_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-device_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_OBJCDFLAGS:=$(workbench-devs-diskimage-device_OBJCDFLAGS) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-device_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-device_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-device_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-device_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_OBJCFLAGS)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_OBJCDFLAGS)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-device_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-device_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-device_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-device_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_OBJCFLAGS)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_OBJCDFLAGS)) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-device_MOBJC_TARGETS) $(workbench-devs-diskimage-device_MOBJC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-device_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-device_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-device_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-device_OBJCFLAGS) +$(workbench-devs-diskimage-device_MOBJC_TARGETS) : $(workbench-devs-diskimage-device_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-device_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-device_MOBJC_DTARGETS) : $(workbench-devs-diskimage-device_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-device_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-device_OBJCDFLAGS) $(workbench-devs-diskimage-device_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-device_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-device_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-device_OBJDIR),) +workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-device_CCFILES)) +workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-device_CCFILES)) +workbench-devs-diskimage-device_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(workbench-devs-diskimage-device_CCFILES)))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(workbench-devs-diskimage-device_CCFILES)))) +else +ifeq (,) + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(workbench-devs-diskimage-device_CCFILES))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(workbench-devs-diskimage-device_CCFILES))) +else + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-device_CCFILES)))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-device_CCFILES)))) +endif +endif +workbench-devs-diskimage-device_MC_TGTWILDCARD := $(workbench-devs-diskimage-device_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-device_CCFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-device_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-device_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-device_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-device_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-device_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-device_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-device_MC_DIRS),) + workbench-devs-diskimage-device_MC_DIRS := $(shell echo $(workbench-devs-diskimage-device_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-device_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-device_MC_CPPFLAGS := $(workbench-devs-diskimage-device_CPPFLAGS) +workbench-devs-diskimage-device_CFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +ifeq ($(workbench-devs-diskimage-device_DFLAGS),) + workbench-devs-diskimage-device_DFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +else + workbench-devs-diskimage-device_DFLAGS := $(workbench-devs-diskimage-device_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-device_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(workbench-devs-diskimage-device_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(workbench-devs-diskimage-device_DFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-device_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_DFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-device_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_DFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-device_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-device_MC_CPPFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) : $(workbench-devs-diskimage-device_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-device_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-device_MC_DTARGETS) : $(workbench-devs-diskimage-device_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-device_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-device_DFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-devs-diskimage-device_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-device_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-device_OBJDIR),) +workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-device_TARGETCCFILES)) +workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-device_TARGETCCFILES)) +workbench-devs-diskimage-device_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(workbench-devs-diskimage-device_TARGETCCFILES)))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(workbench-devs-diskimage-device_TARGETCCFILES)))) +else +ifeq (,) + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(workbench-devs-diskimage-device_TARGETCCFILES))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(workbench-devs-diskimage-device_TARGETCCFILES))) +else + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-device_TARGETCCFILES)))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-device_TARGETCCFILES)))) +endif +endif +workbench-devs-diskimage-device_MC_TGTWILDCARD := $(workbench-devs-diskimage-device_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-device_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-device_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-device_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-device_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-device_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-device_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-device_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-device_MC_DIRS),) + workbench-devs-diskimage-device_MC_DIRS := $(shell echo $(workbench-devs-diskimage-device_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-device_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-device_MC_CPPFLAGS := $(workbench-devs-diskimage-device_CPPFLAGS) -D__AROS__ +workbench-devs-diskimage-device_CFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +ifeq ($(workbench-devs-diskimage-device_DFLAGS),) + workbench-devs-diskimage-device_DFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +else + workbench-devs-diskimage-device_DFLAGS := $(workbench-devs-diskimage-device_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-device_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(workbench-devs-diskimage-device_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(workbench-devs-diskimage-device_DFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-device_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_DFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-device_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_DFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-device_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-device_MC_CPPFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) : $(workbench-devs-diskimage-device_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-device_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-device_MC_DTARGETS) : $(workbench-devs-diskimage-device_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-device_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-device_DFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-devs-diskimage-device_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-device_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-device_OBJDIR)/linklib,) +workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-device_NLIBARCHFILES)) +workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-device_NLIBARCHFILES)) +workbench-devs-diskimage-device_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(notdir $(workbench-devs-diskimage-device_NLIBARCHFILES)))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(notdir $(workbench-devs-diskimage-device_NLIBARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(workbench-devs-diskimage-device_NLIBARCHFILES))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(workbench-devs-diskimage-device_NLIBARCHFILES))) +else + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-devs-diskimage-device_NLIBARCHFILES)))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-devs-diskimage-device_NLIBARCHFILES)))) +endif +endif +workbench-devs-diskimage-device_MC_TGTWILDCARD := $(workbench-devs-diskimage-device_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-device_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-device_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-device_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-device_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-device_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-device_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-device_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-device_MC_DIRS),) + workbench-devs-diskimage-device_MC_DIRS := $(shell echo $(workbench-devs-diskimage-device_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-device_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-device_MC_CPPFLAGS := $(workbench-devs-diskimage-device_LINKLIBCPPFLAGS) -D__AROS__ +workbench-devs-diskimage-device_CFLAGS := $(workbench-devs-diskimage-device_LINKLIBCFLAGS) +ifeq ($(workbench-devs-diskimage-device_LINKLIBDFLAGS),) + workbench-devs-diskimage-device_DFLAGS := $(workbench-devs-diskimage-device_LINKLIBCFLAGS) +else + workbench-devs-diskimage-device_DFLAGS := $(workbench-devs-diskimage-device_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-device_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(workbench-devs-diskimage-device_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(workbench-devs-diskimage-device_DFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-device_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_DFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-device_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_DFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-device_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-device_MC_CPPFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) : $(workbench-devs-diskimage-device_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-device_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-device_MC_DTARGETS) : $(workbench-devs-diskimage-device_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-device_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-device_DFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-device_OBJDIR)/linklib,) +workbench-devs-diskimage-device_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-device_MC_SRCWILDCARD := $(workbench-devs-diskimage-device_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-devs-diskimage-device_OBJDIR)/linklib,) +workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-device_LINKLIBCCGENFILES)) +workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-device_LINKLIBCCGENFILES)) +workbench-devs-diskimage-device_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(notdir $(workbench-devs-diskimage-device_LINKLIBCCGENFILES)))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(notdir $(workbench-devs-diskimage-device_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-devs-diskimage-device_OBJDIR)/linklib,) + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(workbench-devs-diskimage-device_LINKLIBCCGENFILES))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(workbench-devs-diskimage-device_LINKLIBCCGENFILES))) +else + workbench-devs-diskimage-device_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(patsubst $(workbench-devs-diskimage-device_OBJDIR)/linklib/%,%,$(workbench-devs-diskimage-device_LINKLIBCCGENFILES)))) + workbench-devs-diskimage-device_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(patsubst $(workbench-devs-diskimage-device_OBJDIR)/linklib/%,%,$(workbench-devs-diskimage-device_LINKLIBCCGENFILES)))) +endif +endif +workbench-devs-diskimage-device_MC_TGTWILDCARD := $(workbench-devs-diskimage-device_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-device_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-device_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-device_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-device_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-device_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-device_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-device_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-device_MC_DIRS),) + workbench-devs-diskimage-device_MC_DIRS := $(shell echo $(workbench-devs-diskimage-device_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-device_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-device_MC_CPPFLAGS := $(workbench-devs-diskimage-device_LINKLIBCPPFLAGS) -D__AROS__ +workbench-devs-diskimage-device_CFLAGS := $(workbench-devs-diskimage-device_LINKLIBCFLAGS) +ifeq ($(workbench-devs-diskimage-device_LINKLIBDFLAGS),) + workbench-devs-diskimage-device_DFLAGS := $(workbench-devs-diskimage-device_LINKLIBCFLAGS) +else + workbench-devs-diskimage-device_DFLAGS := $(workbench-devs-diskimage-device_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-device_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(workbench-devs-diskimage-device_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(workbench-devs-diskimage-device_DFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-device_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-device_DFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-device_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-device_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-device_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS) $(workbench-devs-diskimage-device_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_CFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-device_DFLAGS)) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-device_MC_TARGETS) $(workbench-devs-diskimage-device_MC_DTARGETS) : workbench-devs-diskimage-device_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-device_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-device_MC_CPPFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-device_CFLAGS) +$(workbench-devs-diskimage-device_MC_TARGETS) : $(workbench-devs-diskimage-device_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-device_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-device_IQUOTE) $(dir $<) $(workbench-devs-diskimage-device_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-device_IQUOTE) . $(workbench-devs-diskimage-device_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-device_MC_DTARGETS) : $(workbench-devs-diskimage-device_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-device_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-device_DFLAGS) $(workbench-devs-diskimage-device_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-devs-diskimage-device_LINKLIBAFILES),) + +ifeq ($(workbench-devs-diskimage-device_OBJDIR)/linklib,) +workbench-devs-diskimage-device-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-device_LINKLIBAFILES) $(workbench-devs-diskimage-device_RELLINKLIBAFILES)) +workbench-devs-diskimage-device-MA_WILDCARD := % +else +workbench-devs-diskimage-device-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(notdir $(workbench-devs-diskimage-device_LINKLIBAFILES) $(workbench-devs-diskimage-device_RELLINKLIBAFILES)))) +workbench-devs-diskimage-device-MA_WILDCARD := $(workbench-devs-diskimage-device_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-device-MA_TARGETS) : | $(addsuffix .S,$(workbench-devs-diskimage-device_LINKLIBAFILES) $(workbench-devs-diskimage-device_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-device-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-device-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-device_LINKLIBAFILES) $(workbench-devs-diskimage-device_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-device-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-device-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-device-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-device-MA_DIRS),) + workbench-devs-diskimage-device-MA_DIRS := $(shell echo $(workbench-devs-diskimage-device-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-devs-diskimage-device-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-device-MA_ASSEMBLER ?= $(workbench-devs-diskimage-device_ASSEMBLER) + +$(workbench-devs-diskimage-device-MA_TARGETS) : workbench-devs-diskimage-device-MA_CMD:= $(workbench-devs-diskimage-device-MA_ASSEMBLER) + +$(workbench-devs-diskimage-device-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-devs-diskimage-device-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-devs-diskimage-device-MA_TARGETS) : $(workbench-devs-diskimage-device-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-device-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-device-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-device-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-devs-diskimage-device_SUFFIX := device +else +workbench-devs-diskimage-device_SUFFIX := +endif + +ifeq (target,target) +workbench-devs-diskimage-device_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-device_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-device_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-devs-diskimage-device_SUFFIX),handler) +workbench-devs-diskimage-device_MODULE := $(AROSDIR)/$(workbench-devs-diskimage-device_MODDIR)/$(workbench-devs-diskimage-device_DEFNAME)-$(workbench-devs-diskimage-device_SUFFIX) +else +workbench-devs-diskimage-device_MODULE := $(AROSDIR)/$(workbench-devs-diskimage-device_MODDIR)/$(workbench-devs-diskimage-device_DEFNAME).$(workbench-devs-diskimage-device_SUFFIX) +endif +workbench-devs-diskimage-device_KOBJ := $(KOBJSDIR)/$(workbench-devs-diskimage-device_DEFNAME)_$(workbench-devs-diskimage-device_SUFFIX).o +else +workbench-devs-diskimage-device_MODULE := +workbench-devs-diskimage-device_KOBJ := +endif + +workbench-devs-diskimage-device-quick : workbench-devs-diskimage-device +workbench-devs-diskimage-device : $(workbench-devs-diskimage-device_MODULE) $(workbench-devs-diskimage-device_LINKLIB) $(workbench-devs-diskimage-device_RELLINKLIB) +ifeq (M,M) +workbench-devs-diskimage-device-kobj : $(workbench-devs-diskimage-device_KOBJ) $(workbench-devs-diskimage-device_LINKLIB) $(workbench-devs-diskimage-device_RELLINKLIB) +workbench-devs-diskimage-device-kobj-quick : $(workbench-devs-diskimage-device_KOBJ) $(workbench-devs-diskimage-device_LINKLIB) $(workbench-devs-diskimage-device_RELLINKLIB) +endif +ifeq (M,M) +workbench-devs-diskimage-device-linklib : $(workbench-devs-diskimage-device_LINKLIB) $(workbench-devs-diskimage-device_RELLINKLIB) +endif + +workbench-devs-diskimage-device_OBJS := $(addsuffix .o,$(workbench-devs-diskimage-device_STARTFILES)) $(workbench-devs-diskimage-device_ARCHOBJS) \ + $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(workbench-devs-diskimage-device_C_NARCHFILES:=.o) $(workbench-devs-diskimage-device_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +workbench-devs-diskimage-device_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (diskimage,con) + workbench-devs-diskimage-device_ERR := $(notdir $(workbench-devs-diskimage-device_MODULE)).err +else + workbench-devs-diskimage-device_ERR := diskimage.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-devs-diskimage-device_DEFNAME)_LDFLAGS) $(workbench-devs-diskimage-device_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-device_LIBS) $($(workbench-devs-diskimage-device_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-devs-diskimage-device_MODULE) : LIB_NAMES := $(workbench-devs-diskimage-device_LIBS) $($(workbench-devs-diskimage-device_DEFNAME)_LIBS) +$(workbench-devs-diskimage-device_MODULE) : OBJS := $(workbench-devs-diskimage-device_STARTOBJS) $(workbench-devs-diskimage-device_OBJS) $(USER_OBJS) +$(workbench-devs-diskimage-device_MODULE) : ENDTAG := $(workbench-devs-diskimage-device_ENDOBJS) +$(workbench-devs-diskimage-device_MODULE) : ERR := $(workbench-devs-diskimage-device_ERR) +$(workbench-devs-diskimage-device_MODULE) : OBJDIR := $(workbench-devs-diskimage-device_OBJDIR) +$(workbench-devs-diskimage-device_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-devs-diskimage-device_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-devs-diskimage-device_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-devs-diskimage-device_MODULE) : $(workbench-devs-diskimage-device_STARTOBJS) $(workbench-devs-diskimage-device_OBJS) $(USER_OBJS) $(workbench-devs-diskimage-device_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-devs-diskimage-device_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-devs-diskimage-device_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-devs-diskimage-device_LC_LINKLIBNAME := $(shell echo $(workbench-devs-diskimage-device_LINKLIBNAME) | tr A-Z a-z) +workbench-devs-diskimage-device_LC_MODNAME := $(shell echo diskimage | tr A-Z a-z) +ifneq ($(workbench-devs-diskimage-device_LINKLIB),) + +ifeq (target,target) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(HOST_AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(KERNEL_AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)$(workbench-devs-diskimage-device_LIBSUFFIX).a : $(workbench-devs-diskimage-device_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-diskimage-device_AR) $@ $^ + $(Q)$(workbench-devs-diskimage-device_RANLIB) $@ +ifneq ($(workbench-devs-diskimage-device_LC_MODNAME),$(workbench-devs-diskimage-device_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-devs-diskimage-device_LIBDIR)/libdiskimage$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(AR) +$(workbench-devs-diskimage-device_LIBDIR)/libdiskimage$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-diskimage-device_LIBDIR)/libdiskimage$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(HOST_AR) +$(workbench-devs-diskimage-device_LIBDIR)/libdiskimage$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-diskimage-device_LIBDIR)/libdiskimage$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(KERNEL_AR) +$(workbench-devs-diskimage-device_LIBDIR)/libdiskimage$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-diskimage-device_LIBDIR)/libdiskimage$(workbench-devs-diskimage-device_LIBSUFFIX).a : $(workbench-devs-diskimage-device_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-diskimage-device_AR) $@ $^ + $(Q)$(workbench-devs-diskimage-device_RANLIB) $@ +endif + + +ifneq ($(workbench-devs-diskimage-device_LINKLIB),) +$(workbench-devs-diskimage-device_LINKLIB) : | $(workbench-devs-diskimage-device_LIBDIR) +else +$(workbench-devs-diskimage-device_LINKLIB) :: $(workbench-devs-diskimage-device_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-device_LIBDIR) + +endif + +ifneq ($(workbench-devs-diskimage-device_RELLINKLIB),) + +ifeq (target,target) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(HOST_AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(KERNEL_AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_LINKLIBNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : $(workbench-devs-diskimage-device_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-diskimage-device_AR) $@ $^ + $(Q)$(workbench-devs-diskimage-device_RANLIB) $@ +ifneq ($(workbench-devs-diskimage-device_LC_MODNAME),$(workbench-devs-diskimage-device_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_DEFNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_DEFNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_DEFNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(HOST_AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_DEFNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_DEFNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_AR:=$(KERNEL_AR) +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_DEFNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : workbench-devs-diskimage-device_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-diskimage-device_LIBDIR)/lib$(workbench-devs-diskimage-device_DEFNAME)_rel$(workbench-devs-diskimage-device_LIBSUFFIX).a : $(workbench-devs-diskimage-device_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-diskimage-device_AR) $@ $^ + $(Q)$(workbench-devs-diskimage-device_RANLIB) $@ +endif + + +ifneq ($(workbench-devs-diskimage-device_RELLINKLIB),) +$(workbench-devs-diskimage-device_RELLINKLIB) : | $(workbench-devs-diskimage-device_LIBDIR) +else +$(workbench-devs-diskimage-device_RELLINKLIB) :: $(workbench-devs-diskimage-device_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-device_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-devs-diskimage-device_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-devs-diskimage-device_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-devs-diskimage-device_SYMBOLS := $(workbench-devs-diskimage-device_KBASE) + +workbench-devs-diskimage-device_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-devs-diskimage-device_KOBJ_LIBS := $(filter-out $(workbench-devs-diskimage-device_KLIB),$(workbench-devs-diskimage-device_LIBS)) $(workbench-devs-diskimage-device_KAUTOLIB) +$(workbench-devs-diskimage-device_KOBJ) : LINKLIBS:=$(workbench-devs-diskimage-device_KOBJ_LIBS) $($(workbench-devs-diskimage-device_DEFNAME)_LIBS) +$(workbench-devs-diskimage-device_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-devs-diskimage-device_SYMBOLS)) +$(workbench-devs-diskimage-device_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-devs-diskimage-device_KOBJ) : $(workbench-devs-diskimage-device_OBJS) $(USER_OBJS) $(workbench-devs-diskimage-device_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-devs-diskimage-device_DEPS := $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/,$(notdir $(workbench-devs-diskimage-device_CCFILES:=.d) $(workbench-devs-diskimage-device_TARGETCCFILES:=.d) $(workbench-devs-diskimage-device_CXXFILES:=.d))) $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/linklib/,$(notdir $(workbench-devs-diskimage-device_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-devs-diskimage-device_DEPS),) + ifneq (workbench-devs-diskimage-device workbench-devs-diskimage-device-quick workbench-devs-diskimage-device-kobj workbench-devs-diskimage-device-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-device workbench-devs-diskimage-device-quick workbench-devs-diskimage-device-kobj workbench-devs-diskimage-device-kobj-quick),) + -include $(workbench-devs-diskimage-device_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-device_DEPS) + endif + endif +endif + +$(workbench-devs-diskimage-device_OBJS) $(workbench-devs-diskimage-device_DEPS) : | $(workbench-devs-diskimage-device_OBJDIR)/linklib + +ifneq ($(workbench-devs-diskimage-device_OBJS) $(workbench-devs-diskimage-device_DEPS) $(workbench-devs-diskimage-device_MODULE) $(workbench-devs-diskimage-device_KOBJ),) +$(workbench-devs-diskimage-device_OBJS) $(workbench-devs-diskimage-device_DEPS) $(workbench-devs-diskimage-device_MODULE) $(workbench-devs-diskimage-device_KOBJ) : | $(workbench-devs-diskimage-device_OBJDIR) $(AROSDIR)/$(workbench-devs-diskimage-device_MODDIR) $(KOBJSDIR) +else +$(workbench-devs-diskimage-device_OBJS) $(workbench-devs-diskimage-device_DEPS) $(workbench-devs-diskimage-device_MODULE) $(workbench-devs-diskimage-device_KOBJ) :: $(workbench-devs-diskimage-device_OBJDIR) $(AROSDIR)/$(workbench-devs-diskimage-device_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-device_OBJDIR) $(AROSDIR)/$(workbench-devs-diskimage-device_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-devs-diskimage-device workbench-devs-diskimage-device-includes workbench-devs-diskimage-device-quick workbench-devs-diskimage-device-kobj workbench-devs-diskimage-device-kobj-quick),) # Only for this target these deps are wanted + +workbench-devs-diskimage-device_DFILE_DEPS := $(workbench-devs-diskimage-device_LIBDEFSINC) $(workbench-devs-diskimage-device_DEFLIBDEFSINC) \ + $(addprefix $(workbench-devs-diskimage-device_INCDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) +$(workbench-devs-diskimage-device_DEPS) : $(workbench-devs-diskimage-device_DFILE_DEPS) +endif + +workbench-devs-diskimage-device_TOCLEAN := $(workbench-devs-diskimage-device_OBJS) $(workbench-devs-diskimage-device_DEPS) \ + $(workbench-devs-diskimage-device_MODULE) $(workbench-devs-diskimage-device_LINKLIB) $(workbench-devs-diskimage-device_KOBJ) \ + $(workbench-devs-diskimage-device_OBJDIR)/Makefile.diskimagedevice \ + $(addprefix $(workbench-devs-diskimage-device_OBJDIR)/include/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-devs-diskimage-device_INCDIR)/,$($(workbench-devs-diskimage-device_DEFNAME)_INCLUDES)) \ + $(workbench-devs-diskimage-device_OBJDIR)/diskimage_geninc $(workbench-devs-diskimage-device_OBJDIR)/diskimage_incs \ + $(addsuffix .c,$(workbench-devs-diskimage-device_LINKLIBFILES)) $(workbench-devs-diskimage-device_LINKLIBOBJS) $(workbench-devs-diskimage-device_LIBDEFSINC) \ + $(workbench-devs-diskimage-device_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-devs-diskimage-device_STARTFILES) $(workbench-devs-diskimage-device_ENDFILES)) \ + $(workbench-devs-diskimage-device_ENDOBJS) +workbench-devs-diskimage-device-clean : FILES := $(workbench-devs-diskimage-device_TOCLEAN) +workbench-devs-diskimage-device-clean :: + $(Q)$(ECHO) "Cleaning up for module diskimage" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-devs-diskimage-device_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/include/mmakefile b/workbench/devs/diskimage/include/mmakefile new file mode 100644 index 00000000000..4ecf292dcbc --- /dev/null +++ b/workbench/devs/diskimage/include/mmakefile @@ -0,0 +1,37 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-devs-diskimage : includes-copy + +#MM- includes-copy : workbench-devs-diskimage-includes-devices + +FILES2 := diskimage.h + +workbench-devs-diskimage-includes-devices_SRC := $(shell echo devices | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROS_INCLUDES)/devices +else +setup :: $(AROS_INCLUDES)/devices +endif + +GLOB_MKDIRS += $(AROS_INCLUDES)/devices + + +.PHONY : workbench-devs-diskimage-includes-devices + +#MM +workbench-devs-diskimage-includes-devices : | $(AROS_INCLUDES)/devices + $(foreach file, $(FILES2), $(shell $(CP) $(addprefix $(if $(filter /%,$(workbench-devs-diskimage-includes-devices_SRC)),$(workbench-devs-diskimage-includes-devices_SRC),$(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-includes-devices_SRC))/, $(file)) $(addprefix $(AROS_INCLUDES)/devices/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/plugins/mmakefile b/workbench/devs/diskimage/plugins/mmakefile new file mode 100644 index 00000000000..b75e066b043 --- /dev/null +++ b/workbench/devs/diskimage/plugins/mmakefile @@ -0,0 +1,9293 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +USER_CPPFLAGS := -DABIV1 -DMIN_OS_VERSION=39 $(BASE_CFLAGS) -DCATCOMP_NUMBERS -D__NOLIBBASE__ -DUSE_FLAC -DUSE_MPG123 -DUSE_VORBIS -DUSE_WAVPACK +USER_INCLUDES := -I$(AROS_INCLUDES)/SDI \ + -I$(SRCDIR)/$(CURDIR)/../include -I$(SRCDIR)/$(CURDIR)/../dms +USER_LDFLAGS := -static + +TARGETDIR := $(AROS_DEVS)/DiskImage + +#MM- workbench-devs-diskimage-plugins : \ +#MM workbench-devs-diskimage-ccd \ +#MM workbench-devs-diskimage-ciso \ +#MM workbench-devs-diskimage-cpc \ +##MM workbench-devs-diskimage-daa \ +#MM workbench-devs-diskimage-dax \ +#MM workbench-devs-diskimage-dmg \ +#MM workbench-devs-diskimage-dms \ +##MM workbench-devs-diskimage-gi \ +#MM workbench-devs-diskimage-mds \ +#MM workbench-devs-diskimage-nrg \ +#MM workbench-devs-diskimage-uif + +# CUE needs things from contrib +##MM workbench-devs-diskimage-cue +# FID has GPL license, so we don't build it by default +##MM workbench-devs-diskimage-fdi + +#MM- workbench-devs-diskimage-plugins-quick : \ +#MM workbench-devs-diskimage-ccd-quick \ +#MM workbench-devs-diskimage-ciso-quick \ +#MM workbench-devs-diskimage-cpc-quick \ +##MM workbench-devs-diskimage-daa-quick \ +#MM workbench-devs-diskimage-dax-quick \ +#MM workbench-devs-diskimage-dmg-quick \ +#MM workbench-devs-diskimage-dms-quick \ +##MM workbench-devs-diskimage-gi-quick \ +#MM workbench-devs-diskimage-mds-quick \ +#MM workbench-devs-diskimage-nrg-quick \ +#MM workbench-devs-diskimage-uif-quick +##MM workbench-devs-diskimage-cue-quick +##MM workbench-devs-diskimage-fdi-quick + +#MM workbench-devs-diskimage-ccd : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-cpc : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-cue : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-dms : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-fdi : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-gi : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-mds : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-nrg : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-xad : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support +#MM workbench-devs-diskimage-xpk : includes linklibs workbench-devs-diskimage-device workbench-devs-diskimage-support + +#MM- workbench-devs-diskimage-plugins-clean : \ +#MM workbench-devs-diskimage-ccd-clean \ +#MM workbench-devs-diskimage-cpc-clean \ +#MM workbench-devs-diskimage-cue-clean \ +##MM workbench-devs-diskimage-daa-clean \ +#MM workbench-devs-diskimage-dax-clean \ +#MM workbench-devs-diskimage-dmg-clean \ +#MM workbench-devs-diskimage-dms-clean \ +#MM workbench-devs-diskimage-fdi-clean \ +#MM workbench-devs-diskimage-gi-clean \ +#MM workbench-devs-diskimage-mds-clean \ +#MM workbench-devs-diskimage-nrg-clean \ +#MM workbench-devs-diskimage-uif-clean \ +#MM workbench-devs-diskimage-xad-clean \ +#MM workbench-devs-diskimage-xpk-clean + + +.PHONY : workbench-devs-diskimage-ccd + +workbench-devs-diskimage-ccd_PROGNAME := CCD +workbench-devs-diskimage-ccd_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-ccd_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-ccd_LINKER := +workbench-devs-diskimage-ccd_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-ccd_LINKER),) + workbench-devs-diskimage-ccd_LINKER := target +endif + +ifneq ("$(strip stub_aros ccd )","") + workbench-devs-diskimage-ccd_FILES := stub_aros ccd + workbench-devs-diskimage-ccd_OBJCFILES := + workbench-devs-diskimage-ccd_ASMFILES := + workbench-devs-diskimage-ccd_CXXFILES := +else + workbench-devs-diskimage-ccd_FILES := $(workbench-devs-diskimage-ccd_PROGNAME) + workbench-devs-diskimage-ccd_OBJCFILES := + workbench-devs-diskimage-ccd_ASMFILES := + workbench-devs-diskimage-ccd_CXXFILES := +endif + +workbench-devs-diskimage-ccd_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-ccd_OBJDIR)/arch/*.o) +workbench-devs-diskimage-ccd_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-ccd_ARCHOBJS))) +workbench-devs-diskimage-ccd_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-ccd_ARCHFILES),$(workbench-devs-diskimage-ccd_FILES)) +workbench-devs-diskimage-ccd_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-ccd_ARCHFILES),$(workbench-devs-diskimage-ccd_CXXFILES)) +workbench-devs-diskimage-ccd_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-ccd_ARCHFILES),$(workbench-devs-diskimage-ccd_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-ccd_C_NARCHFILES) $(workbench-devs-diskimage-ccd_CXX_NARCHFILES) $(workbench-devs-diskimage-ccd_ASMFILES) $(workbench-devs-diskimage-ccd_OBJC_NARCHFILES) +workbench-devs-diskimage-ccd_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-ccd_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-ccd_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-ccd_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-ccd_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-ccd_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ccd_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-ccd_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-ccd_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-ccd_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ccd_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-ccd_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-ccd_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-ccd_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ccd_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-ccd_LDFLAGS := +endif + +workbench-devs-diskimage-ccd_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-ccd_COVERAGE := yes +workbench-devs-diskimage-ccd_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-ccd_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-ccd_CFLAGS := $(strip $(workbench-devs-diskimage-ccd_COVERAGEFLAGS) $(workbench-devs-diskimage-ccd_CFLAGS)) +workbench-devs-diskimage-ccd_CXXFLAGS := $(strip $(workbench-devs-diskimage-ccd_COVERAGEFLAGS) $(workbench-devs-diskimage-ccd_CXXFLAGS)) +workbench-devs-diskimage-ccd_LIBS += $(workbench-devs-diskimage-ccd_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-ccd_FUNCINSTR := yes +workbench-devs-diskimage-ccd_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-ccd_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-ccd_CFLAGS := $(strip $(workbench-devs-diskimage-ccd_INSTRFUNCFLAGS) $(workbench-devs-diskimage-ccd_CFLAGS)) +workbench-devs-diskimage-ccd_CXXFLAGS := $(strip $(workbench-devs-diskimage-ccd_INSTRFUNCFLAGS) $(workbench-devs-diskimage-ccd_CXXFLAGS)) +workbench-devs-diskimage-ccd_LIBS += $(workbench-devs-diskimage-ccd_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-ccd_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-ccd_CFLAGS)) +workbench-devs-diskimage-ccd_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-ccd_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-ccd_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-ccd_DFLAGS := +else + workbench-devs-diskimage-ccd_DFLAGS := $(workbench-devs-diskimage-ccd_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-ccd_DXXFLAGS := +else + workbench-devs-diskimage-ccd_DXXFLAGS := $(workbench-devs-diskimage-ccd_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-ccd_LDFLAGS := $(workbench-devs-diskimage-ccd_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-ccd_LDFLAGS := $(workbench-devs-diskimage-ccd_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ccd_LDFLAGS := $(workbench-devs-diskimage-ccd_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-ccd_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-ccd-quick : workbench-devs-diskimage-ccd + +#MM workbench-devs-diskimage-ccd : includes-generate-deps core-linklibs +workbench-devs-diskimage-ccd : $(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-ccd workbench-devs-diskimage-ccd-quick workbench-devs-diskimage-ccd-gz-quick),) + +workbench-devs-diskimage-ccd_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-ccd_CXXBASE,$(workbench-devs-diskimage-ccd_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-ccd_CXXBASE)),$(workbench-devs-diskimage-ccd_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-ccd_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-ccd_CXXABSBASENAMES),) + +workbench-devs-diskimage-ccd_CXXBASENAMES := $(basename $(workbench-devs-diskimage-ccd_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-ccd_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-ccd_CXXBASE,$(workbench-devs-diskimage-ccd_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-ccd_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-ccd_EXT),$(workbench-devs-diskimage-ccd_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-ccd_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-ccd_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-ccd_OBJDIR),) + workbench-devs-diskimage-ccd_CXXTARGETS := $(notdir $(workbench-devs-diskimage-ccd_CXXBASENAMES:=.o)) + workbench-devs-diskimage-ccd_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-ccd_CXXBASENAMES:=.d)) + workbench-devs-diskimage-ccd_MCXX_WILDCARD := % +else + workbench-devs-diskimage-ccd_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ccd_CXXBASENAMES:=.o))) + workbench-devs-diskimage-ccd_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ccd_CXXBASENAMES:=.d))) + workbench-devs-diskimage-ccd_MCXX_WILDCARD := $(workbench-devs-diskimage-ccd_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-ccd_CXXTARGETS) $(workbench-devs-diskimage-ccd_CXXDTARGETS) : | $(workbench-devs-diskimage-ccd_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-ccd_MCXX_CPPFLAGS := $(workbench-devs-diskimage-ccd_CPPFLAGS) +workbench-devs-diskimage-ccd_CXXFLAGS := $(workbench-devs-diskimage-ccd_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-ccd_DXXFLAGS),) + workbench-devs-diskimage-ccd_DXXFLAGS := $(workbench-devs-diskimage-ccd_CXXFLAGS) +else + workbench-devs-diskimage-ccd_DXXFLAGS := $(workbench-devs-diskimage-ccd_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-ccd_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-ccd_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-ccd_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-ccd_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ccd_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ccd_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-ccd_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-ccd_CXXFLAGS)) + workbench-devs-diskimage-ccd_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-ccd_DXXFLAGS)) + workbench-devs-diskimage-ccd_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-ccd_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-ccd_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-ccd_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-ccd_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-ccd_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-ccd_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ccd_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-ccd_CXXFLAGS := $(strip $(workbench-devs-diskimage-ccd_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-ccd_DXXFLAGS := $(workbench-devs-diskimage-ccd_DXXFLAGS) + workbench-devs-diskimage-ccd_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-ccd_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-ccd_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-ccd_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-ccd_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-ccd_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ccd_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ccd_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-ccd_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-ccd_CXXFLAGS)) + workbench-devs-diskimage-ccd_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-ccd_DXXFLAGS)) + workbench-devs-diskimage-ccd_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-ccd_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-ccd_CXXCMD) $(workbench-devs-diskimage-ccd_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-ccd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_CXXIQUOTE) . $(workbench-devs-diskimage-ccd_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-ccd_CXXFLAGS) $(workbench-devs-diskimage-ccd_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-ccd_CXXCMD) $(workbench-devs-diskimage-ccd_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-ccd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_CXXIQUOTE) . $(workbench-devs-diskimage-ccd_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-ccd_CXXFLAGS) $(workbench-devs-diskimage-ccd_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-ccd_CXXCMD) $(workbench-devs-diskimage-ccd_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-ccd_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_CXXIQUOTE) . $(workbench-devs-diskimage-ccd_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-ccd_CXXFLAGS) $(workbench-devs-diskimage-ccd_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-ccd_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-ccd_DXXFLAGS) $(workbench-devs-diskimage-ccd_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-ccd_OBJDIR),) + $(foreach workbench-devs-diskimage-ccd_CXXFILE,$(workbench-devs-diskimage-ccd_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-ccd_CXXFILE))),$(workbench-devs-diskimage-ccd_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-ccd_CXXFILE,$(workbench-devs-diskimage-ccd_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-ccd_CXXFILE)))),$(workbench-devs-diskimage-ccd_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-ccd_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-ccd_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-ccd_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-ccd_OBJDIR),) + workbench-devs-diskimage-ccd_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-ccd_OBJC_NARCHFILES)) + workbench-devs-diskimage-ccd_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-ccd_OBJC_NARCHFILES)) + workbench-devs-diskimage-ccd_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-ccd_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(workbench-devs-diskimage-ccd_OBJC_NARCHFILES))) + workbench-devs-diskimage-ccd_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(workbench-devs-diskimage-ccd_OBJC_NARCHFILES))) + workbench-devs-diskimage-ccd_MOBJC_WILDCARD := $(workbench-devs-diskimage-ccd_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-ccd_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-ccd_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-ccd_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-ccd_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-ccd_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-ccd_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-ccd_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-ccd_MOBJC_DIRS),) + workbench-devs-diskimage-ccd_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-ccd_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-ccd_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-ccd_CC := $(TARGET_CC) +else + workbench-devs-diskimage-ccd_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-ccd_CPPFLAGS) +workbench-devs-diskimage-ccd_OBJCFLAGS := $(workbench-devs-diskimage-ccd_CFLAGS) +workbench-devs-diskimage-ccd_OBJCFLAGS := $(workbench-devs-diskimage-ccd_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-ccd_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-ccd_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-ccd_DFLAGS),) + workbench-devs-diskimage-ccd_OBJCDFLAGS := $(workbench-devs-diskimage-ccd_CFLAGS) +else + workbench-devs-diskimage-ccd_OBJCDFLAGS := $(workbench-devs-diskimage-ccd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-ccd_LINK ?= $(strip $(workbench-devs-diskimage-ccd_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-ccd_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-ccd_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-ccd_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_OBJCDFLAGS:=$(workbench-devs-diskimage-ccd_OBJCDFLAGS) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-ccd_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-ccd_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-ccd_OBJCFLAGS)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-ccd_OBJCDFLAGS)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-ccd_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-ccd_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-ccd_OBJCFLAGS)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-ccd_OBJCDFLAGS)) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-ccd_MOBJC_TARGETS) $(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-ccd_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-ccd_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-ccd_OBJCFLAGS) +$(workbench-devs-diskimage-ccd_MOBJC_TARGETS) : $(workbench-devs-diskimage-ccd_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-ccd_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-ccd_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ccd_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_IQUOTE) . $(workbench-devs-diskimage-ccd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-ccd_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ccd_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_IQUOTE) . $(workbench-devs-diskimage-ccd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-ccd_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ccd_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_IQUOTE) . $(workbench-devs-diskimage-ccd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-ccd_MOBJC_DTARGETS) : $(workbench-devs-diskimage-ccd_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-ccd_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-ccd_OBJCDFLAGS) $(workbench-devs-diskimage-ccd_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-ccd_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-ccd_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-ccd_OBJDIR),) +workbench-devs-diskimage-ccd_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-ccd_C_NARCHFILES)) +workbench-devs-diskimage-ccd_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-ccd_C_NARCHFILES)) +workbench-devs-diskimage-ccd_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-ccd_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ccd_C_NARCHFILES)))) + workbench-devs-diskimage-ccd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ccd_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-ccd_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(workbench-devs-diskimage-ccd_C_NARCHFILES))) + workbench-devs-diskimage-ccd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(workbench-devs-diskimage-ccd_C_NARCHFILES))) +else + workbench-devs-diskimage-ccd_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-ccd_C_NARCHFILES)))) + workbench-devs-diskimage-ccd_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-ccd_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-ccd_MC_TGTWILDCARD := $(workbench-devs-diskimage-ccd_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-ccd_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-ccd_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-ccd_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-ccd_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-ccd_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-ccd_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-ccd_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-ccd_MC_DIRS),) + workbench-devs-diskimage-ccd_MC_DIRS := $(shell echo $(workbench-devs-diskimage-ccd_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-ccd_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-ccd_MC_CPPFLAGS := $(workbench-devs-diskimage-ccd_CPPFLAGS) +workbench-devs-diskimage-ccd_CFLAGS := $(workbench-devs-diskimage-ccd_CFLAGS) +ifeq ($(workbench-devs-diskimage-ccd_DFLAGS),) + workbench-devs-diskimage-ccd_DFLAGS := $(workbench-devs-diskimage-ccd_CFLAGS) +else + workbench-devs-diskimage-ccd_DFLAGS := $(workbench-devs-diskimage-ccd_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-ccd_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-ccd_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-ccd_MC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_CFLAGS:=$(strip $(workbench-devs-diskimage-ccd_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_DFLAGS:=$(workbench-devs-diskimage-ccd_DFLAGS) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-ccd_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-ccd_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-ccd_CFLAGS)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-ccd_DFLAGS)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ccd_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-ccd_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-ccd_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MC_CPPFLAGS) $(workbench-devs-diskimage-ccd_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-ccd_CFLAGS)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-ccd_DFLAGS)) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-ccd_MC_TARGETS) $(workbench-devs-diskimage-ccd_MC_DTARGETS) : workbench-devs-diskimage-ccd_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-ccd_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-ccd_MC_CPPFLAGS) +$(workbench-devs-diskimage-ccd_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-ccd_CFLAGS) +$(workbench-devs-diskimage-ccd_MC_TARGETS) : $(workbench-devs-diskimage-ccd_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-ccd_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-ccd_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ccd_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_IQUOTE) . $(workbench-devs-diskimage-ccd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-ccd_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ccd_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_IQUOTE) . $(workbench-devs-diskimage-ccd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-ccd_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ccd_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ccd_IQUOTE) . $(workbench-devs-diskimage-ccd_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-ccd_MC_DTARGETS) : $(workbench-devs-diskimage-ccd_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-ccd_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-ccd_DFLAGS) $(workbench-devs-diskimage-ccd_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-ccd_OBJDIR),) +workbench-devs-diskimage-ccd-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-ccd_ASMFILES)) +workbench-devs-diskimage-ccd-MA_WILDCARD := % +else +workbench-devs-diskimage-ccd-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ccd_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ccd_ASMFILES)))) +workbench-devs-diskimage-ccd-MA_WILDCARD := $(workbench-devs-diskimage-ccd_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-ccd-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-ccd_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-ccd-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-ccd-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-ccd_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-ccd-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-ccd-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-ccd-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-ccd-MA_DIRS),) + workbench-devs-diskimage-ccd-MA_DIRS := $(shell echo $(workbench-devs-diskimage-ccd-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-ccd-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-ccd-MA_ASSEMBLER ?= $(workbench-devs-diskimage-ccd_ASSEMBLER) + +$(workbench-devs-diskimage-ccd-MA_TARGETS) : workbench-devs-diskimage-ccd-MA_CMD:= $(workbench-devs-diskimage-ccd-MA_ASSEMBLER) + +$(workbench-devs-diskimage-ccd-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-ccd_CPPFLAGS) +$(workbench-devs-diskimage-ccd-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-ccd_AFLAGS) +$(workbench-devs-diskimage-ccd-MA_TARGETS) : $(workbench-devs-diskimage-ccd-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-ccd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-ccd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-ccd-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-ccd-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-ccd-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-ccd-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-ccd-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-ccd-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-ccd-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-ccd_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-ccd-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-ccd-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-ccd-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-ccd-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-ccd-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-ccd-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-ccd_LIBS) $(workbench-devs-diskimage-ccd-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-ccd-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-ccd-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-ccd-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-ccd-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-ccd-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-ccd_OBJDIR) +$(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) : OBJS := $(workbench-devs-diskimage-ccd_OBJS) $(workbench-devs-diskimage-ccd_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-ccd_LDFLAGS) $(workbench-devs-diskimage-ccd-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-ccd_LIBS) $(workbench-devs-diskimage-ccd-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) : $(workbench-devs-diskimage-ccd_OBJS) $(workbench-devs-diskimage-ccd_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-ccd-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-ccd_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-ccd_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-ccd_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-ccd_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-ccd_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-ccd_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-ccd_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-ccd_DEPS),) + ifneq (workbench-devs-diskimage-ccd workbench-devs-diskimage-ccd-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-ccd workbench-devs-diskimage-ccd-quick),) + -include $(workbench-devs-diskimage-ccd_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-ccd_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-ccd_OBJS) $(workbench-devs-diskimage-ccd_DEPS) $(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME),) +$(workbench-devs-diskimage-ccd_OBJS) $(workbench-devs-diskimage-ccd_DEPS) $(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) : | $(workbench-devs-diskimage-ccd_OBJDIR) $(workbench-devs-diskimage-ccd_TARGETDIR) +else +$(workbench-devs-diskimage-ccd_OBJS) $(workbench-devs-diskimage-ccd_DEPS) $(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) :: $(workbench-devs-diskimage-ccd_OBJDIR) $(workbench-devs-diskimage-ccd_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-ccd_OBJDIR) $(workbench-devs-diskimage-ccd_TARGETDIR) + + +workbench-devs-diskimage-ccd-clean : FILES := $(workbench-devs-diskimage-ccd_OBJS) $(workbench-devs-diskimage-ccd_TARGETDIR)/$(workbench-devs-diskimage-ccd_PROGNAME) $(workbench-devs-diskimage-ccd_DEPS) +#MM +workbench-devs-diskimage-ccd-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-ccd" + $(Q)$(RM) $(FILES) + + +#MM workbench-devs-diskimage-ciso : workbench-libs-z-linklib + + +.PHONY : workbench-devs-diskimage-ciso + +workbench-devs-diskimage-ciso_PROGNAME := CISO +workbench-devs-diskimage-ciso_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-ciso_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-ciso_LINKER := +workbench-devs-diskimage-ciso_LIBS := diskimagesupport z +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-ciso_LINKER),) + workbench-devs-diskimage-ciso_LINKER := target +endif + +ifneq ("$(strip stub_aros ciso )","") + workbench-devs-diskimage-ciso_FILES := stub_aros ciso + workbench-devs-diskimage-ciso_OBJCFILES := + workbench-devs-diskimage-ciso_ASMFILES := + workbench-devs-diskimage-ciso_CXXFILES := +else + workbench-devs-diskimage-ciso_FILES := $(workbench-devs-diskimage-ciso_PROGNAME) + workbench-devs-diskimage-ciso_OBJCFILES := + workbench-devs-diskimage-ciso_ASMFILES := + workbench-devs-diskimage-ciso_CXXFILES := +endif + +workbench-devs-diskimage-ciso_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-ciso_OBJDIR)/arch/*.o) +workbench-devs-diskimage-ciso_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-ciso_ARCHOBJS))) +workbench-devs-diskimage-ciso_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-ciso_ARCHFILES),$(workbench-devs-diskimage-ciso_FILES)) +workbench-devs-diskimage-ciso_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-ciso_ARCHFILES),$(workbench-devs-diskimage-ciso_CXXFILES)) +workbench-devs-diskimage-ciso_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-ciso_ARCHFILES),$(workbench-devs-diskimage-ciso_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-ciso_C_NARCHFILES) $(workbench-devs-diskimage-ciso_CXX_NARCHFILES) $(workbench-devs-diskimage-ciso_ASMFILES) $(workbench-devs-diskimage-ciso_OBJC_NARCHFILES) +workbench-devs-diskimage-ciso_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-ciso_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-ciso_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-ciso_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-ciso_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-ciso_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ciso_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-ciso_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-ciso_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-ciso_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ciso_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-ciso_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-ciso_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-ciso_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ciso_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-ciso_LDFLAGS := +endif + +workbench-devs-diskimage-ciso_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-ciso_COVERAGE := yes +workbench-devs-diskimage-ciso_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-ciso_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-ciso_CFLAGS := $(strip $(workbench-devs-diskimage-ciso_COVERAGEFLAGS) $(workbench-devs-diskimage-ciso_CFLAGS)) +workbench-devs-diskimage-ciso_CXXFLAGS := $(strip $(workbench-devs-diskimage-ciso_COVERAGEFLAGS) $(workbench-devs-diskimage-ciso_CXXFLAGS)) +workbench-devs-diskimage-ciso_LIBS += $(workbench-devs-diskimage-ciso_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-ciso_FUNCINSTR := yes +workbench-devs-diskimage-ciso_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-ciso_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-ciso_CFLAGS := $(strip $(workbench-devs-diskimage-ciso_INSTRFUNCFLAGS) $(workbench-devs-diskimage-ciso_CFLAGS)) +workbench-devs-diskimage-ciso_CXXFLAGS := $(strip $(workbench-devs-diskimage-ciso_INSTRFUNCFLAGS) $(workbench-devs-diskimage-ciso_CXXFLAGS)) +workbench-devs-diskimage-ciso_LIBS += $(workbench-devs-diskimage-ciso_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-ciso_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-ciso_CFLAGS)) +workbench-devs-diskimage-ciso_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-ciso_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-ciso_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-ciso_DFLAGS := +else + workbench-devs-diskimage-ciso_DFLAGS := $(workbench-devs-diskimage-ciso_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-ciso_DXXFLAGS := +else + workbench-devs-diskimage-ciso_DXXFLAGS := $(workbench-devs-diskimage-ciso_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-ciso_LDFLAGS := $(workbench-devs-diskimage-ciso_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-ciso_LDFLAGS := $(workbench-devs-diskimage-ciso_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ciso_LDFLAGS := $(workbench-devs-diskimage-ciso_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-ciso_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-ciso-quick : workbench-devs-diskimage-ciso + +#MM workbench-devs-diskimage-ciso : includes-generate-deps core-linklibs +workbench-devs-diskimage-ciso : $(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-ciso workbench-devs-diskimage-ciso-quick workbench-devs-diskimage-ciso-gz-quick),) + +workbench-devs-diskimage-ciso_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-ciso_CXXBASE,$(workbench-devs-diskimage-ciso_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-ciso_CXXBASE)),$(workbench-devs-diskimage-ciso_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-ciso_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-ciso_CXXABSBASENAMES),) + +workbench-devs-diskimage-ciso_CXXBASENAMES := $(basename $(workbench-devs-diskimage-ciso_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-ciso_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-ciso_CXXBASE,$(workbench-devs-diskimage-ciso_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-ciso_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-ciso_EXT),$(workbench-devs-diskimage-ciso_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-ciso_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-ciso_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-ciso_OBJDIR),) + workbench-devs-diskimage-ciso_CXXTARGETS := $(notdir $(workbench-devs-diskimage-ciso_CXXBASENAMES:=.o)) + workbench-devs-diskimage-ciso_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-ciso_CXXBASENAMES:=.d)) + workbench-devs-diskimage-ciso_MCXX_WILDCARD := % +else + workbench-devs-diskimage-ciso_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ciso_CXXBASENAMES:=.o))) + workbench-devs-diskimage-ciso_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ciso_CXXBASENAMES:=.d))) + workbench-devs-diskimage-ciso_MCXX_WILDCARD := $(workbench-devs-diskimage-ciso_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-ciso_CXXTARGETS) $(workbench-devs-diskimage-ciso_CXXDTARGETS) : | $(workbench-devs-diskimage-ciso_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-ciso_MCXX_CPPFLAGS := $(workbench-devs-diskimage-ciso_CPPFLAGS) +workbench-devs-diskimage-ciso_CXXFLAGS := $(workbench-devs-diskimage-ciso_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-ciso_DXXFLAGS),) + workbench-devs-diskimage-ciso_DXXFLAGS := $(workbench-devs-diskimage-ciso_CXXFLAGS) +else + workbench-devs-diskimage-ciso_DXXFLAGS := $(workbench-devs-diskimage-ciso_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-ciso_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-ciso_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-ciso_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-ciso_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ciso_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ciso_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-ciso_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-ciso_CXXFLAGS)) + workbench-devs-diskimage-ciso_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-ciso_DXXFLAGS)) + workbench-devs-diskimage-ciso_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-ciso_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-ciso_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-ciso_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-ciso_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-ciso_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-ciso_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ciso_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-ciso_CXXFLAGS := $(strip $(workbench-devs-diskimage-ciso_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-ciso_DXXFLAGS := $(workbench-devs-diskimage-ciso_DXXFLAGS) + workbench-devs-diskimage-ciso_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-ciso_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-ciso_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-ciso_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-ciso_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-ciso_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ciso_MCXX_CPPFLAGS) $(workbench-devs-diskimage-ciso_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-ciso_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-ciso_CXXFLAGS)) + workbench-devs-diskimage-ciso_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-ciso_DXXFLAGS)) + workbench-devs-diskimage-ciso_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-ciso_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-ciso_CXXCMD) $(workbench-devs-diskimage-ciso_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-ciso_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_CXXIQUOTE) . $(workbench-devs-diskimage-ciso_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-ciso_CXXFLAGS) $(workbench-devs-diskimage-ciso_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-ciso_CXXCMD) $(workbench-devs-diskimage-ciso_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-ciso_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_CXXIQUOTE) . $(workbench-devs-diskimage-ciso_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-ciso_CXXFLAGS) $(workbench-devs-diskimage-ciso_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-ciso_CXXCMD) $(workbench-devs-diskimage-ciso_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-ciso_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_CXXIQUOTE) . $(workbench-devs-diskimage-ciso_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-ciso_CXXFLAGS) $(workbench-devs-diskimage-ciso_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-ciso_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-ciso_DXXFLAGS) $(workbench-devs-diskimage-ciso_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-ciso_OBJDIR),) + $(foreach workbench-devs-diskimage-ciso_CXXFILE,$(workbench-devs-diskimage-ciso_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-ciso_CXXFILE))),$(workbench-devs-diskimage-ciso_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-ciso_CXXFILE,$(workbench-devs-diskimage-ciso_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-ciso_CXXFILE)))),$(workbench-devs-diskimage-ciso_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-ciso_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-ciso_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-ciso_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-ciso_OBJDIR),) + workbench-devs-diskimage-ciso_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-ciso_OBJC_NARCHFILES)) + workbench-devs-diskimage-ciso_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-ciso_OBJC_NARCHFILES)) + workbench-devs-diskimage-ciso_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-ciso_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(workbench-devs-diskimage-ciso_OBJC_NARCHFILES))) + workbench-devs-diskimage-ciso_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(workbench-devs-diskimage-ciso_OBJC_NARCHFILES))) + workbench-devs-diskimage-ciso_MOBJC_WILDCARD := $(workbench-devs-diskimage-ciso_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-ciso_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-ciso_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-ciso_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-ciso_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-ciso_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-ciso_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-ciso_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-ciso_MOBJC_DIRS),) + workbench-devs-diskimage-ciso_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-ciso_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-ciso_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-ciso_CC := $(TARGET_CC) +else + workbench-devs-diskimage-ciso_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-ciso_CPPFLAGS) +workbench-devs-diskimage-ciso_OBJCFLAGS := $(workbench-devs-diskimage-ciso_CFLAGS) +workbench-devs-diskimage-ciso_OBJCFLAGS := $(workbench-devs-diskimage-ciso_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-ciso_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-ciso_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-ciso_DFLAGS),) + workbench-devs-diskimage-ciso_OBJCDFLAGS := $(workbench-devs-diskimage-ciso_CFLAGS) +else + workbench-devs-diskimage-ciso_OBJCDFLAGS := $(workbench-devs-diskimage-ciso_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-ciso_LINK ?= $(strip $(workbench-devs-diskimage-ciso_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-ciso_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-ciso_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-ciso_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_OBJCDFLAGS:=$(workbench-devs-diskimage-ciso_OBJCDFLAGS) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-ciso_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-ciso_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-ciso_OBJCFLAGS)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-ciso_OBJCDFLAGS)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-ciso_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-ciso_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-ciso_OBJCFLAGS)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-ciso_OBJCDFLAGS)) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-ciso_MOBJC_TARGETS) $(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-ciso_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-ciso_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-ciso_OBJCFLAGS) +$(workbench-devs-diskimage-ciso_MOBJC_TARGETS) : $(workbench-devs-diskimage-ciso_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-ciso_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-ciso_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ciso_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_IQUOTE) . $(workbench-devs-diskimage-ciso_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-ciso_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ciso_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_IQUOTE) . $(workbench-devs-diskimage-ciso_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-ciso_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ciso_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_IQUOTE) . $(workbench-devs-diskimage-ciso_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-ciso_MOBJC_DTARGETS) : $(workbench-devs-diskimage-ciso_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-ciso_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-ciso_OBJCDFLAGS) $(workbench-devs-diskimage-ciso_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-ciso_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-ciso_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-ciso_OBJDIR),) +workbench-devs-diskimage-ciso_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-ciso_C_NARCHFILES)) +workbench-devs-diskimage-ciso_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-ciso_C_NARCHFILES)) +workbench-devs-diskimage-ciso_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-ciso_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ciso_C_NARCHFILES)))) + workbench-devs-diskimage-ciso_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ciso_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-ciso_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(workbench-devs-diskimage-ciso_C_NARCHFILES))) + workbench-devs-diskimage-ciso_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(workbench-devs-diskimage-ciso_C_NARCHFILES))) +else + workbench-devs-diskimage-ciso_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-ciso_C_NARCHFILES)))) + workbench-devs-diskimage-ciso_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-ciso_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-ciso_MC_TGTWILDCARD := $(workbench-devs-diskimage-ciso_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-ciso_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-ciso_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-ciso_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-ciso_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-ciso_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-ciso_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-ciso_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-ciso_MC_DIRS),) + workbench-devs-diskimage-ciso_MC_DIRS := $(shell echo $(workbench-devs-diskimage-ciso_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-ciso_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-ciso_MC_CPPFLAGS := $(workbench-devs-diskimage-ciso_CPPFLAGS) +workbench-devs-diskimage-ciso_CFLAGS := $(workbench-devs-diskimage-ciso_CFLAGS) +ifeq ($(workbench-devs-diskimage-ciso_DFLAGS),) + workbench-devs-diskimage-ciso_DFLAGS := $(workbench-devs-diskimage-ciso_CFLAGS) +else + workbench-devs-diskimage-ciso_DFLAGS := $(workbench-devs-diskimage-ciso_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-ciso_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-ciso_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-ciso_MC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_CFLAGS:=$(strip $(workbench-devs-diskimage-ciso_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_DFLAGS:=$(workbench-devs-diskimage-ciso_DFLAGS) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-ciso_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-ciso_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-ciso_CFLAGS)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-ciso_DFLAGS)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-ciso_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-ciso_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-ciso_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MC_CPPFLAGS) $(workbench-devs-diskimage-ciso_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-ciso_CFLAGS)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-ciso_DFLAGS)) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-ciso_MC_TARGETS) $(workbench-devs-diskimage-ciso_MC_DTARGETS) : workbench-devs-diskimage-ciso_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-ciso_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-ciso_MC_CPPFLAGS) +$(workbench-devs-diskimage-ciso_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-ciso_CFLAGS) +$(workbench-devs-diskimage-ciso_MC_TARGETS) : $(workbench-devs-diskimage-ciso_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-ciso_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-ciso_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ciso_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_IQUOTE) . $(workbench-devs-diskimage-ciso_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-ciso_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ciso_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_IQUOTE) . $(workbench-devs-diskimage-ciso_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-ciso_IQUOTE) $(dir $<) $(workbench-devs-diskimage-ciso_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-ciso_IQUOTE) . $(workbench-devs-diskimage-ciso_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-ciso_MC_DTARGETS) : $(workbench-devs-diskimage-ciso_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-ciso_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-ciso_DFLAGS) $(workbench-devs-diskimage-ciso_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-ciso_OBJDIR),) +workbench-devs-diskimage-ciso-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-ciso_ASMFILES)) +workbench-devs-diskimage-ciso-MA_WILDCARD := % +else +workbench-devs-diskimage-ciso-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-ciso_OBJDIR)/,$(notdir $(workbench-devs-diskimage-ciso_ASMFILES)))) +workbench-devs-diskimage-ciso-MA_WILDCARD := $(workbench-devs-diskimage-ciso_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-ciso-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-ciso_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-ciso-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-ciso-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-ciso_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-ciso-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-ciso-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-ciso-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-ciso-MA_DIRS),) + workbench-devs-diskimage-ciso-MA_DIRS := $(shell echo $(workbench-devs-diskimage-ciso-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-ciso-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-ciso-MA_ASSEMBLER ?= $(workbench-devs-diskimage-ciso_ASSEMBLER) + +$(workbench-devs-diskimage-ciso-MA_TARGETS) : workbench-devs-diskimage-ciso-MA_CMD:= $(workbench-devs-diskimage-ciso-MA_ASSEMBLER) + +$(workbench-devs-diskimage-ciso-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-ciso_CPPFLAGS) +$(workbench-devs-diskimage-ciso-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-ciso_AFLAGS) +$(workbench-devs-diskimage-ciso-MA_TARGETS) : $(workbench-devs-diskimage-ciso-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-ciso-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-ciso-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-ciso-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-ciso-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-ciso-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-ciso-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-ciso-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-ciso-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-ciso-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-ciso_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-ciso-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-ciso-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-ciso-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-ciso-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-ciso-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-ciso-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-ciso_LIBS) $(workbench-devs-diskimage-ciso-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-ciso-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-ciso-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-ciso-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-ciso-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-ciso-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-ciso_OBJDIR) +$(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) : OBJS := $(workbench-devs-diskimage-ciso_OBJS) $(workbench-devs-diskimage-ciso_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-ciso_LDFLAGS) $(workbench-devs-diskimage-ciso-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-ciso_LIBS) $(workbench-devs-diskimage-ciso-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) : $(workbench-devs-diskimage-ciso_OBJS) $(workbench-devs-diskimage-ciso_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-ciso-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-ciso_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-ciso_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-ciso_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-ciso_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-ciso_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-ciso_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-ciso_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-ciso_DEPS),) + ifneq (workbench-devs-diskimage-ciso workbench-devs-diskimage-ciso-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-ciso workbench-devs-diskimage-ciso-quick),) + -include $(workbench-devs-diskimage-ciso_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-ciso_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-ciso_OBJS) $(workbench-devs-diskimage-ciso_DEPS) $(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME),) +$(workbench-devs-diskimage-ciso_OBJS) $(workbench-devs-diskimage-ciso_DEPS) $(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) : | $(workbench-devs-diskimage-ciso_OBJDIR) $(workbench-devs-diskimage-ciso_TARGETDIR) +else +$(workbench-devs-diskimage-ciso_OBJS) $(workbench-devs-diskimage-ciso_DEPS) $(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) :: $(workbench-devs-diskimage-ciso_OBJDIR) $(workbench-devs-diskimage-ciso_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-ciso_OBJDIR) $(workbench-devs-diskimage-ciso_TARGETDIR) + + +workbench-devs-diskimage-ciso-clean : FILES := $(workbench-devs-diskimage-ciso_OBJS) $(workbench-devs-diskimage-ciso_TARGETDIR)/$(workbench-devs-diskimage-ciso_PROGNAME) $(workbench-devs-diskimage-ciso_DEPS) +#MM +workbench-devs-diskimage-ciso-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-ciso" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-cpc + +workbench-devs-diskimage-cpc_PROGNAME := CPC +workbench-devs-diskimage-cpc_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-cpc_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-cpc_LINKER := +workbench-devs-diskimage-cpc_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-cpc_LINKER),) + workbench-devs-diskimage-cpc_LINKER := target +endif + +ifneq ("$(strip stub_aros cpc )","") + workbench-devs-diskimage-cpc_FILES := stub_aros cpc + workbench-devs-diskimage-cpc_OBJCFILES := + workbench-devs-diskimage-cpc_ASMFILES := + workbench-devs-diskimage-cpc_CXXFILES := +else + workbench-devs-diskimage-cpc_FILES := $(workbench-devs-diskimage-cpc_PROGNAME) + workbench-devs-diskimage-cpc_OBJCFILES := + workbench-devs-diskimage-cpc_ASMFILES := + workbench-devs-diskimage-cpc_CXXFILES := +endif + +workbench-devs-diskimage-cpc_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-cpc_OBJDIR)/arch/*.o) +workbench-devs-diskimage-cpc_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-cpc_ARCHOBJS))) +workbench-devs-diskimage-cpc_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-cpc_ARCHFILES),$(workbench-devs-diskimage-cpc_FILES)) +workbench-devs-diskimage-cpc_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-cpc_ARCHFILES),$(workbench-devs-diskimage-cpc_CXXFILES)) +workbench-devs-diskimage-cpc_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-cpc_ARCHFILES),$(workbench-devs-diskimage-cpc_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-cpc_C_NARCHFILES) $(workbench-devs-diskimage-cpc_CXX_NARCHFILES) $(workbench-devs-diskimage-cpc_ASMFILES) $(workbench-devs-diskimage-cpc_OBJC_NARCHFILES) +workbench-devs-diskimage-cpc_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-cpc_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-cpc_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-cpc_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-cpc_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-cpc_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cpc_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-cpc_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-cpc_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-cpc_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cpc_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-cpc_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-cpc_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-cpc_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cpc_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-cpc_LDFLAGS := +endif + +workbench-devs-diskimage-cpc_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-cpc_COVERAGE := yes +workbench-devs-diskimage-cpc_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-cpc_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-cpc_CFLAGS := $(strip $(workbench-devs-diskimage-cpc_COVERAGEFLAGS) $(workbench-devs-diskimage-cpc_CFLAGS)) +workbench-devs-diskimage-cpc_CXXFLAGS := $(strip $(workbench-devs-diskimage-cpc_COVERAGEFLAGS) $(workbench-devs-diskimage-cpc_CXXFLAGS)) +workbench-devs-diskimage-cpc_LIBS += $(workbench-devs-diskimage-cpc_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-cpc_FUNCINSTR := yes +workbench-devs-diskimage-cpc_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-cpc_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-cpc_CFLAGS := $(strip $(workbench-devs-diskimage-cpc_INSTRFUNCFLAGS) $(workbench-devs-diskimage-cpc_CFLAGS)) +workbench-devs-diskimage-cpc_CXXFLAGS := $(strip $(workbench-devs-diskimage-cpc_INSTRFUNCFLAGS) $(workbench-devs-diskimage-cpc_CXXFLAGS)) +workbench-devs-diskimage-cpc_LIBS += $(workbench-devs-diskimage-cpc_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-cpc_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-cpc_CFLAGS)) +workbench-devs-diskimage-cpc_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-cpc_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-cpc_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-cpc_DFLAGS := +else + workbench-devs-diskimage-cpc_DFLAGS := $(workbench-devs-diskimage-cpc_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-cpc_DXXFLAGS := +else + workbench-devs-diskimage-cpc_DXXFLAGS := $(workbench-devs-diskimage-cpc_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-cpc_LDFLAGS := $(workbench-devs-diskimage-cpc_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-cpc_LDFLAGS := $(workbench-devs-diskimage-cpc_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cpc_LDFLAGS := $(workbench-devs-diskimage-cpc_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-cpc_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-cpc-quick : workbench-devs-diskimage-cpc + +#MM workbench-devs-diskimage-cpc : includes-generate-deps core-linklibs +workbench-devs-diskimage-cpc : $(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-cpc workbench-devs-diskimage-cpc-quick workbench-devs-diskimage-cpc-gz-quick),) + +workbench-devs-diskimage-cpc_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-cpc_CXXBASE,$(workbench-devs-diskimage-cpc_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-cpc_CXXBASE)),$(workbench-devs-diskimage-cpc_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-cpc_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-cpc_CXXABSBASENAMES),) + +workbench-devs-diskimage-cpc_CXXBASENAMES := $(basename $(workbench-devs-diskimage-cpc_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-cpc_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-cpc_CXXBASE,$(workbench-devs-diskimage-cpc_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-cpc_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-cpc_EXT),$(workbench-devs-diskimage-cpc_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-cpc_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-cpc_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-cpc_OBJDIR),) + workbench-devs-diskimage-cpc_CXXTARGETS := $(notdir $(workbench-devs-diskimage-cpc_CXXBASENAMES:=.o)) + workbench-devs-diskimage-cpc_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-cpc_CXXBASENAMES:=.d)) + workbench-devs-diskimage-cpc_MCXX_WILDCARD := % +else + workbench-devs-diskimage-cpc_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cpc_CXXBASENAMES:=.o))) + workbench-devs-diskimage-cpc_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cpc_CXXBASENAMES:=.d))) + workbench-devs-diskimage-cpc_MCXX_WILDCARD := $(workbench-devs-diskimage-cpc_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-cpc_CXXTARGETS) $(workbench-devs-diskimage-cpc_CXXDTARGETS) : | $(workbench-devs-diskimage-cpc_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-cpc_MCXX_CPPFLAGS := $(workbench-devs-diskimage-cpc_CPPFLAGS) +workbench-devs-diskimage-cpc_CXXFLAGS := $(workbench-devs-diskimage-cpc_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-cpc_DXXFLAGS),) + workbench-devs-diskimage-cpc_DXXFLAGS := $(workbench-devs-diskimage-cpc_CXXFLAGS) +else + workbench-devs-diskimage-cpc_DXXFLAGS := $(workbench-devs-diskimage-cpc_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-cpc_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-cpc_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-cpc_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-cpc_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cpc_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cpc_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-cpc_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-cpc_CXXFLAGS)) + workbench-devs-diskimage-cpc_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-cpc_DXXFLAGS)) + workbench-devs-diskimage-cpc_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-cpc_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-cpc_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-cpc_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-cpc_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-cpc_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-cpc_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cpc_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-cpc_CXXFLAGS := $(strip $(workbench-devs-diskimage-cpc_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-cpc_DXXFLAGS := $(workbench-devs-diskimage-cpc_DXXFLAGS) + workbench-devs-diskimage-cpc_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-cpc_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-cpc_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-cpc_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-cpc_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-cpc_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cpc_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cpc_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-cpc_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-cpc_CXXFLAGS)) + workbench-devs-diskimage-cpc_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-cpc_DXXFLAGS)) + workbench-devs-diskimage-cpc_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-cpc_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-cpc_CXXCMD) $(workbench-devs-diskimage-cpc_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-cpc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_CXXIQUOTE) . $(workbench-devs-diskimage-cpc_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-cpc_CXXFLAGS) $(workbench-devs-diskimage-cpc_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-cpc_CXXCMD) $(workbench-devs-diskimage-cpc_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-cpc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_CXXIQUOTE) . $(workbench-devs-diskimage-cpc_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-cpc_CXXFLAGS) $(workbench-devs-diskimage-cpc_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-cpc_CXXCMD) $(workbench-devs-diskimage-cpc_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-cpc_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_CXXIQUOTE) . $(workbench-devs-diskimage-cpc_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-cpc_CXXFLAGS) $(workbench-devs-diskimage-cpc_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-cpc_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-cpc_DXXFLAGS) $(workbench-devs-diskimage-cpc_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-cpc_OBJDIR),) + $(foreach workbench-devs-diskimage-cpc_CXXFILE,$(workbench-devs-diskimage-cpc_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-cpc_CXXFILE))),$(workbench-devs-diskimage-cpc_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-cpc_CXXFILE,$(workbench-devs-diskimage-cpc_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-cpc_CXXFILE)))),$(workbench-devs-diskimage-cpc_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-cpc_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-cpc_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-cpc_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-cpc_OBJDIR),) + workbench-devs-diskimage-cpc_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-cpc_OBJC_NARCHFILES)) + workbench-devs-diskimage-cpc_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-cpc_OBJC_NARCHFILES)) + workbench-devs-diskimage-cpc_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-cpc_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(workbench-devs-diskimage-cpc_OBJC_NARCHFILES))) + workbench-devs-diskimage-cpc_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(workbench-devs-diskimage-cpc_OBJC_NARCHFILES))) + workbench-devs-diskimage-cpc_MOBJC_WILDCARD := $(workbench-devs-diskimage-cpc_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-cpc_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-cpc_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-cpc_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-cpc_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-cpc_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-cpc_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-cpc_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-cpc_MOBJC_DIRS),) + workbench-devs-diskimage-cpc_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-cpc_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-cpc_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-cpc_CC := $(TARGET_CC) +else + workbench-devs-diskimage-cpc_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-cpc_CPPFLAGS) +workbench-devs-diskimage-cpc_OBJCFLAGS := $(workbench-devs-diskimage-cpc_CFLAGS) +workbench-devs-diskimage-cpc_OBJCFLAGS := $(workbench-devs-diskimage-cpc_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-cpc_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-cpc_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-cpc_DFLAGS),) + workbench-devs-diskimage-cpc_OBJCDFLAGS := $(workbench-devs-diskimage-cpc_CFLAGS) +else + workbench-devs-diskimage-cpc_OBJCDFLAGS := $(workbench-devs-diskimage-cpc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-cpc_LINK ?= $(strip $(workbench-devs-diskimage-cpc_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-cpc_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-cpc_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-cpc_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_OBJCDFLAGS:=$(workbench-devs-diskimage-cpc_OBJCDFLAGS) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-cpc_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-cpc_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-cpc_OBJCFLAGS)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-cpc_OBJCDFLAGS)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-cpc_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-cpc_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-cpc_OBJCFLAGS)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-cpc_OBJCDFLAGS)) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-cpc_MOBJC_TARGETS) $(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-cpc_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-cpc_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-cpc_OBJCFLAGS) +$(workbench-devs-diskimage-cpc_MOBJC_TARGETS) : $(workbench-devs-diskimage-cpc_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-cpc_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-cpc_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cpc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_IQUOTE) . $(workbench-devs-diskimage-cpc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-cpc_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cpc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_IQUOTE) . $(workbench-devs-diskimage-cpc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-cpc_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cpc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_IQUOTE) . $(workbench-devs-diskimage-cpc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-cpc_MOBJC_DTARGETS) : $(workbench-devs-diskimage-cpc_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-cpc_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-cpc_OBJCDFLAGS) $(workbench-devs-diskimage-cpc_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-cpc_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-cpc_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-cpc_OBJDIR),) +workbench-devs-diskimage-cpc_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-cpc_C_NARCHFILES)) +workbench-devs-diskimage-cpc_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-cpc_C_NARCHFILES)) +workbench-devs-diskimage-cpc_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-cpc_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cpc_C_NARCHFILES)))) + workbench-devs-diskimage-cpc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cpc_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-cpc_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(workbench-devs-diskimage-cpc_C_NARCHFILES))) + workbench-devs-diskimage-cpc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(workbench-devs-diskimage-cpc_C_NARCHFILES))) +else + workbench-devs-diskimage-cpc_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-cpc_C_NARCHFILES)))) + workbench-devs-diskimage-cpc_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-cpc_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-cpc_MC_TGTWILDCARD := $(workbench-devs-diskimage-cpc_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-cpc_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-cpc_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-cpc_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-cpc_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-cpc_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-cpc_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-cpc_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-cpc_MC_DIRS),) + workbench-devs-diskimage-cpc_MC_DIRS := $(shell echo $(workbench-devs-diskimage-cpc_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-cpc_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-cpc_MC_CPPFLAGS := $(workbench-devs-diskimage-cpc_CPPFLAGS) +workbench-devs-diskimage-cpc_CFLAGS := $(workbench-devs-diskimage-cpc_CFLAGS) +ifeq ($(workbench-devs-diskimage-cpc_DFLAGS),) + workbench-devs-diskimage-cpc_DFLAGS := $(workbench-devs-diskimage-cpc_CFLAGS) +else + workbench-devs-diskimage-cpc_DFLAGS := $(workbench-devs-diskimage-cpc_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-cpc_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-cpc_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-cpc_MC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_CFLAGS:=$(strip $(workbench-devs-diskimage-cpc_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_DFLAGS:=$(workbench-devs-diskimage-cpc_DFLAGS) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-cpc_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-cpc_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-cpc_CFLAGS)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-cpc_DFLAGS)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cpc_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-cpc_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-cpc_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MC_CPPFLAGS) $(workbench-devs-diskimage-cpc_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-cpc_CFLAGS)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-cpc_DFLAGS)) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-cpc_MC_TARGETS) $(workbench-devs-diskimage-cpc_MC_DTARGETS) : workbench-devs-diskimage-cpc_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-cpc_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-cpc_MC_CPPFLAGS) +$(workbench-devs-diskimage-cpc_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-cpc_CFLAGS) +$(workbench-devs-diskimage-cpc_MC_TARGETS) : $(workbench-devs-diskimage-cpc_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-cpc_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-cpc_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cpc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_IQUOTE) . $(workbench-devs-diskimage-cpc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-cpc_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cpc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_IQUOTE) . $(workbench-devs-diskimage-cpc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-cpc_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cpc_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cpc_IQUOTE) . $(workbench-devs-diskimage-cpc_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-cpc_MC_DTARGETS) : $(workbench-devs-diskimage-cpc_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-cpc_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-cpc_DFLAGS) $(workbench-devs-diskimage-cpc_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-cpc_OBJDIR),) +workbench-devs-diskimage-cpc-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-cpc_ASMFILES)) +workbench-devs-diskimage-cpc-MA_WILDCARD := % +else +workbench-devs-diskimage-cpc-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cpc_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cpc_ASMFILES)))) +workbench-devs-diskimage-cpc-MA_WILDCARD := $(workbench-devs-diskimage-cpc_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-cpc-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-cpc_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-cpc-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-cpc-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-cpc_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-cpc-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-cpc-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-cpc-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-cpc-MA_DIRS),) + workbench-devs-diskimage-cpc-MA_DIRS := $(shell echo $(workbench-devs-diskimage-cpc-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-cpc-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-cpc-MA_ASSEMBLER ?= $(workbench-devs-diskimage-cpc_ASSEMBLER) + +$(workbench-devs-diskimage-cpc-MA_TARGETS) : workbench-devs-diskimage-cpc-MA_CMD:= $(workbench-devs-diskimage-cpc-MA_ASSEMBLER) + +$(workbench-devs-diskimage-cpc-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-cpc_CPPFLAGS) +$(workbench-devs-diskimage-cpc-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-cpc_AFLAGS) +$(workbench-devs-diskimage-cpc-MA_TARGETS) : $(workbench-devs-diskimage-cpc-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-cpc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-cpc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-cpc-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-cpc-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-cpc-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-cpc-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-cpc-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-cpc-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-cpc-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-cpc_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-cpc-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-cpc-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-cpc-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-cpc-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-cpc-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-cpc-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-cpc_LIBS) $(workbench-devs-diskimage-cpc-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-cpc-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-cpc-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-cpc-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-cpc-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-cpc-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-cpc_OBJDIR) +$(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) : OBJS := $(workbench-devs-diskimage-cpc_OBJS) $(workbench-devs-diskimage-cpc_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-cpc_LDFLAGS) $(workbench-devs-diskimage-cpc-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-cpc_LIBS) $(workbench-devs-diskimage-cpc-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) : $(workbench-devs-diskimage-cpc_OBJS) $(workbench-devs-diskimage-cpc_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-cpc-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-cpc_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-cpc_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-cpc_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-cpc_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-cpc_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-cpc_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-cpc_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-cpc_DEPS),) + ifneq (workbench-devs-diskimage-cpc workbench-devs-diskimage-cpc-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-cpc workbench-devs-diskimage-cpc-quick),) + -include $(workbench-devs-diskimage-cpc_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-cpc_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-cpc_OBJS) $(workbench-devs-diskimage-cpc_DEPS) $(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME),) +$(workbench-devs-diskimage-cpc_OBJS) $(workbench-devs-diskimage-cpc_DEPS) $(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) : | $(workbench-devs-diskimage-cpc_OBJDIR) $(workbench-devs-diskimage-cpc_TARGETDIR) +else +$(workbench-devs-diskimage-cpc_OBJS) $(workbench-devs-diskimage-cpc_DEPS) $(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) :: $(workbench-devs-diskimage-cpc_OBJDIR) $(workbench-devs-diskimage-cpc_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-cpc_OBJDIR) $(workbench-devs-diskimage-cpc_TARGETDIR) + + +workbench-devs-diskimage-cpc-clean : FILES := $(workbench-devs-diskimage-cpc_OBJS) $(workbench-devs-diskimage-cpc_TARGETDIR)/$(workbench-devs-diskimage-cpc_PROGNAME) $(workbench-devs-diskimage-cpc_DEPS) +#MM +workbench-devs-diskimage-cpc-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-cpc" + $(Q)$(RM) $(FILES) + + +CFILES := cue/cue cue/flac cue/wavpack audio/aiff audio/flac \ + audio/mp3_mpg123 audio/vorbis audio/wave audio/wavpack cue/malloc \ + cue/fdio cue/string cue/stdio cue/select + + +.PHONY : workbench-devs-diskimage-cue + +workbench-devs-diskimage-cue_PROGNAME := CUE +workbench-devs-diskimage-cue_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-cue_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-cue_LINKER := +workbench-devs-diskimage-cue_LIBS := mpg123 FLAC wavpack vorbisfile vorbis ogg diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-cue_LINKER),) + workbench-devs-diskimage-cue_LINKER := target +endif + +ifneq ("$(strip stub_aros $(CFILES) )","") + workbench-devs-diskimage-cue_FILES := stub_aros $(CFILES) + workbench-devs-diskimage-cue_OBJCFILES := + workbench-devs-diskimage-cue_ASMFILES := + workbench-devs-diskimage-cue_CXXFILES := +else + workbench-devs-diskimage-cue_FILES := $(workbench-devs-diskimage-cue_PROGNAME) + workbench-devs-diskimage-cue_OBJCFILES := + workbench-devs-diskimage-cue_ASMFILES := + workbench-devs-diskimage-cue_CXXFILES := +endif + +workbench-devs-diskimage-cue_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-cue_OBJDIR)/arch/*.o) +workbench-devs-diskimage-cue_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-cue_ARCHOBJS))) +workbench-devs-diskimage-cue_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-cue_ARCHFILES),$(workbench-devs-diskimage-cue_FILES)) +workbench-devs-diskimage-cue_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-cue_ARCHFILES),$(workbench-devs-diskimage-cue_CXXFILES)) +workbench-devs-diskimage-cue_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-cue_ARCHFILES),$(workbench-devs-diskimage-cue_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-cue_C_NARCHFILES) $(workbench-devs-diskimage-cue_CXX_NARCHFILES) $(workbench-devs-diskimage-cue_ASMFILES) $(workbench-devs-diskimage-cue_OBJC_NARCHFILES) +workbench-devs-diskimage-cue_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-cue_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-cue_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-cue_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-cue_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-cue_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cue_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-cue_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-cue_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-cue_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cue_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-cue_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-cue_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-cue_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cue_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-cue_LDFLAGS := +endif + +workbench-devs-diskimage-cue_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-cue_COVERAGE := yes +workbench-devs-diskimage-cue_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-cue_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-cue_CFLAGS := $(strip $(workbench-devs-diskimage-cue_COVERAGEFLAGS) $(workbench-devs-diskimage-cue_CFLAGS)) +workbench-devs-diskimage-cue_CXXFLAGS := $(strip $(workbench-devs-diskimage-cue_COVERAGEFLAGS) $(workbench-devs-diskimage-cue_CXXFLAGS)) +workbench-devs-diskimage-cue_LIBS += $(workbench-devs-diskimage-cue_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-cue_FUNCINSTR := yes +workbench-devs-diskimage-cue_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-cue_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-cue_CFLAGS := $(strip $(workbench-devs-diskimage-cue_INSTRFUNCFLAGS) $(workbench-devs-diskimage-cue_CFLAGS)) +workbench-devs-diskimage-cue_CXXFLAGS := $(strip $(workbench-devs-diskimage-cue_INSTRFUNCFLAGS) $(workbench-devs-diskimage-cue_CXXFLAGS)) +workbench-devs-diskimage-cue_LIBS += $(workbench-devs-diskimage-cue_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-cue_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-cue_CFLAGS)) +workbench-devs-diskimage-cue_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-cue_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-cue_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-cue_DFLAGS := +else + workbench-devs-diskimage-cue_DFLAGS := $(workbench-devs-diskimage-cue_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-cue_DXXFLAGS := +else + workbench-devs-diskimage-cue_DXXFLAGS := $(workbench-devs-diskimage-cue_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-cue_LDFLAGS := $(workbench-devs-diskimage-cue_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-cue_LDFLAGS := $(workbench-devs-diskimage-cue_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cue_LDFLAGS := $(workbench-devs-diskimage-cue_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-cue_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-cue-quick : workbench-devs-diskimage-cue + +#MM workbench-devs-diskimage-cue : includes-generate-deps core-linklibs +workbench-devs-diskimage-cue : $(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-cue workbench-devs-diskimage-cue-quick workbench-devs-diskimage-cue-gz-quick),) + +workbench-devs-diskimage-cue_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-cue_CXXBASE,$(workbench-devs-diskimage-cue_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-cue_CXXBASE)),$(workbench-devs-diskimage-cue_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-cue_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-cue_CXXABSBASENAMES),) + +workbench-devs-diskimage-cue_CXXBASENAMES := $(basename $(workbench-devs-diskimage-cue_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-cue_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-cue_CXXBASE,$(workbench-devs-diskimage-cue_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-cue_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-cue_EXT),$(workbench-devs-diskimage-cue_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-cue_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-cue_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-cue_OBJDIR),) + workbench-devs-diskimage-cue_CXXTARGETS := $(notdir $(workbench-devs-diskimage-cue_CXXBASENAMES:=.o)) + workbench-devs-diskimage-cue_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-cue_CXXBASENAMES:=.d)) + workbench-devs-diskimage-cue_MCXX_WILDCARD := % +else + workbench-devs-diskimage-cue_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cue_CXXBASENAMES:=.o))) + workbench-devs-diskimage-cue_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cue_CXXBASENAMES:=.d))) + workbench-devs-diskimage-cue_MCXX_WILDCARD := $(workbench-devs-diskimage-cue_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-cue_CXXTARGETS) $(workbench-devs-diskimage-cue_CXXDTARGETS) : | $(workbench-devs-diskimage-cue_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-cue_MCXX_CPPFLAGS := $(workbench-devs-diskimage-cue_CPPFLAGS) +workbench-devs-diskimage-cue_CXXFLAGS := $(workbench-devs-diskimage-cue_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-cue_DXXFLAGS),) + workbench-devs-diskimage-cue_DXXFLAGS := $(workbench-devs-diskimage-cue_CXXFLAGS) +else + workbench-devs-diskimage-cue_DXXFLAGS := $(workbench-devs-diskimage-cue_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-cue_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-cue_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-cue_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-cue_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cue_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cue_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-cue_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-cue_CXXFLAGS)) + workbench-devs-diskimage-cue_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-cue_DXXFLAGS)) + workbench-devs-diskimage-cue_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-cue_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-cue_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-cue_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-cue_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-cue_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-cue_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cue_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-cue_CXXFLAGS := $(strip $(workbench-devs-diskimage-cue_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-cue_DXXFLAGS := $(workbench-devs-diskimage-cue_DXXFLAGS) + workbench-devs-diskimage-cue_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-cue_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-cue_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-cue_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-cue_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-cue_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cue_MCXX_CPPFLAGS) $(workbench-devs-diskimage-cue_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-cue_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-cue_CXXFLAGS)) + workbench-devs-diskimage-cue_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-cue_DXXFLAGS)) + workbench-devs-diskimage-cue_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-cue_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-cue_CXXCMD) $(workbench-devs-diskimage-cue_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-cue_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_CXXIQUOTE) . $(workbench-devs-diskimage-cue_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-cue_CXXFLAGS) $(workbench-devs-diskimage-cue_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-cue_CXXCMD) $(workbench-devs-diskimage-cue_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-cue_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_CXXIQUOTE) . $(workbench-devs-diskimage-cue_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-cue_CXXFLAGS) $(workbench-devs-diskimage-cue_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-cue_CXXCMD) $(workbench-devs-diskimage-cue_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-cue_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_CXXIQUOTE) . $(workbench-devs-diskimage-cue_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-cue_CXXFLAGS) $(workbench-devs-diskimage-cue_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-cue_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-cue_DXXFLAGS) $(workbench-devs-diskimage-cue_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-cue_OBJDIR),) + $(foreach workbench-devs-diskimage-cue_CXXFILE,$(workbench-devs-diskimage-cue_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-cue_CXXFILE))),$(workbench-devs-diskimage-cue_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-cue_CXXFILE,$(workbench-devs-diskimage-cue_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-cue_CXXFILE)))),$(workbench-devs-diskimage-cue_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-cue_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-cue_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-cue_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-cue_OBJDIR),) + workbench-devs-diskimage-cue_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-cue_OBJC_NARCHFILES)) + workbench-devs-diskimage-cue_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-cue_OBJC_NARCHFILES)) + workbench-devs-diskimage-cue_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-cue_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(workbench-devs-diskimage-cue_OBJC_NARCHFILES))) + workbench-devs-diskimage-cue_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(workbench-devs-diskimage-cue_OBJC_NARCHFILES))) + workbench-devs-diskimage-cue_MOBJC_WILDCARD := $(workbench-devs-diskimage-cue_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-cue_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-cue_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-cue_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-cue_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-cue_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-cue_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-cue_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-cue_MOBJC_DIRS),) + workbench-devs-diskimage-cue_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-cue_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-cue_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-cue_CC := $(TARGET_CC) +else + workbench-devs-diskimage-cue_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-cue_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-cue_CPPFLAGS) +workbench-devs-diskimage-cue_OBJCFLAGS := $(workbench-devs-diskimage-cue_CFLAGS) +workbench-devs-diskimage-cue_OBJCFLAGS := $(workbench-devs-diskimage-cue_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-cue_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-cue_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-cue_DFLAGS),) + workbench-devs-diskimage-cue_OBJCDFLAGS := $(workbench-devs-diskimage-cue_CFLAGS) +else + workbench-devs-diskimage-cue_OBJCDFLAGS := $(workbench-devs-diskimage-cue_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-cue_LINK ?= $(strip $(workbench-devs-diskimage-cue_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-cue_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-cue_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-cue_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cue_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-cue_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_OBJCDFLAGS:=$(workbench-devs-diskimage-cue_OBJCDFLAGS) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-cue_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-cue_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cue_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cue_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-cue_OBJCFLAGS)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-cue_OBJCDFLAGS)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-cue_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-cue_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cue_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-cue_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-cue_OBJCFLAGS)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-cue_OBJCDFLAGS)) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-cue_MOBJC_TARGETS) $(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-cue_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-cue_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-cue_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-cue_OBJCFLAGS) +$(workbench-devs-diskimage-cue_MOBJC_TARGETS) : $(workbench-devs-diskimage-cue_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-cue_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-cue_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cue_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_IQUOTE) . $(workbench-devs-diskimage-cue_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-cue_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cue_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_IQUOTE) . $(workbench-devs-diskimage-cue_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-cue_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cue_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_IQUOTE) . $(workbench-devs-diskimage-cue_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-cue_MOBJC_DTARGETS) : $(workbench-devs-diskimage-cue_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-cue_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-cue_OBJCDFLAGS) $(workbench-devs-diskimage-cue_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-cue_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-cue_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-cue_OBJDIR),) +workbench-devs-diskimage-cue_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-cue_C_NARCHFILES)) +workbench-devs-diskimage-cue_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-cue_C_NARCHFILES)) +workbench-devs-diskimage-cue_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-cue_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cue_C_NARCHFILES)))) + workbench-devs-diskimage-cue_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cue_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-cue_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(workbench-devs-diskimage-cue_C_NARCHFILES))) + workbench-devs-diskimage-cue_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(workbench-devs-diskimage-cue_C_NARCHFILES))) +else + workbench-devs-diskimage-cue_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-cue_C_NARCHFILES)))) + workbench-devs-diskimage-cue_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-cue_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-cue_MC_TGTWILDCARD := $(workbench-devs-diskimage-cue_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-cue_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-cue_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-cue_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-cue_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-cue_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-cue_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-cue_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-cue_MC_DIRS),) + workbench-devs-diskimage-cue_MC_DIRS := $(shell echo $(workbench-devs-diskimage-cue_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-cue_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-cue_MC_CPPFLAGS := $(workbench-devs-diskimage-cue_CPPFLAGS) +workbench-devs-diskimage-cue_CFLAGS := $(workbench-devs-diskimage-cue_CFLAGS) +ifeq ($(workbench-devs-diskimage-cue_DFLAGS),) + workbench-devs-diskimage-cue_DFLAGS := $(workbench-devs-diskimage-cue_CFLAGS) +else + workbench-devs-diskimage-cue_DFLAGS := $(workbench-devs-diskimage-cue_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-cue_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-cue_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-cue_MC_CPPFLAGS) $(workbench-devs-diskimage-cue_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_CFLAGS:=$(strip $(workbench-devs-diskimage-cue_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_DFLAGS:=$(workbench-devs-diskimage-cue_DFLAGS) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-cue_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-cue_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-cue_MC_CPPFLAGS) $(workbench-devs-diskimage-cue_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-cue_CFLAGS)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-cue_DFLAGS)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-cue_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-cue_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-cue_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-cue_MC_CPPFLAGS) $(workbench-devs-diskimage-cue_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-cue_CFLAGS)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-cue_DFLAGS)) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-cue_MC_TARGETS) $(workbench-devs-diskimage-cue_MC_DTARGETS) : workbench-devs-diskimage-cue_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-cue_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-cue_MC_CPPFLAGS) +$(workbench-devs-diskimage-cue_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-cue_CFLAGS) +$(workbench-devs-diskimage-cue_MC_TARGETS) : $(workbench-devs-diskimage-cue_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-cue_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-cue_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cue_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_IQUOTE) . $(workbench-devs-diskimage-cue_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-cue_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cue_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_IQUOTE) . $(workbench-devs-diskimage-cue_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-cue_IQUOTE) $(dir $<) $(workbench-devs-diskimage-cue_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-cue_IQUOTE) . $(workbench-devs-diskimage-cue_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-cue_MC_DTARGETS) : $(workbench-devs-diskimage-cue_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-cue_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-cue_DFLAGS) $(workbench-devs-diskimage-cue_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-cue_OBJDIR),) +workbench-devs-diskimage-cue-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-cue_ASMFILES)) +workbench-devs-diskimage-cue-MA_WILDCARD := % +else +workbench-devs-diskimage-cue-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-cue_OBJDIR)/,$(notdir $(workbench-devs-diskimage-cue_ASMFILES)))) +workbench-devs-diskimage-cue-MA_WILDCARD := $(workbench-devs-diskimage-cue_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-cue-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-cue_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-cue-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-cue-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-cue_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-cue-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-cue-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-cue-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-cue-MA_DIRS),) + workbench-devs-diskimage-cue-MA_DIRS := $(shell echo $(workbench-devs-diskimage-cue-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-cue-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-cue-MA_ASSEMBLER ?= $(workbench-devs-diskimage-cue_ASSEMBLER) + +$(workbench-devs-diskimage-cue-MA_TARGETS) : workbench-devs-diskimage-cue-MA_CMD:= $(workbench-devs-diskimage-cue-MA_ASSEMBLER) + +$(workbench-devs-diskimage-cue-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-cue_CPPFLAGS) +$(workbench-devs-diskimage-cue-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-cue_AFLAGS) +$(workbench-devs-diskimage-cue-MA_TARGETS) : $(workbench-devs-diskimage-cue-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-cue-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-cue-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-cue-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-cue-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-cue-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-cue-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-cue-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-cue-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-cue-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-cue_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-cue-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-cue-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-cue-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-cue-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-cue-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-cue-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-cue_LIBS) $(workbench-devs-diskimage-cue-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-cue-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-cue-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-cue-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-cue-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-cue-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-cue_OBJDIR) +$(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) : OBJS := $(workbench-devs-diskimage-cue_OBJS) $(workbench-devs-diskimage-cue_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-cue_LDFLAGS) $(workbench-devs-diskimage-cue-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-cue_LIBS) $(workbench-devs-diskimage-cue-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) : $(workbench-devs-diskimage-cue_OBJS) $(workbench-devs-diskimage-cue_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-cue-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-cue_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-cue_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-cue_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-cue_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-cue_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-cue_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-cue_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-cue_DEPS),) + ifneq (workbench-devs-diskimage-cue workbench-devs-diskimage-cue-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-cue workbench-devs-diskimage-cue-quick),) + -include $(workbench-devs-diskimage-cue_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-cue_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-cue_OBJS) $(workbench-devs-diskimage-cue_DEPS) $(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME),) +$(workbench-devs-diskimage-cue_OBJS) $(workbench-devs-diskimage-cue_DEPS) $(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) : | $(workbench-devs-diskimage-cue_OBJDIR) $(workbench-devs-diskimage-cue_TARGETDIR) +else +$(workbench-devs-diskimage-cue_OBJS) $(workbench-devs-diskimage-cue_DEPS) $(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) :: $(workbench-devs-diskimage-cue_OBJDIR) $(workbench-devs-diskimage-cue_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-cue_OBJDIR) $(workbench-devs-diskimage-cue_TARGETDIR) + + +workbench-devs-diskimage-cue-clean : FILES := $(workbench-devs-diskimage-cue_OBJS) $(workbench-devs-diskimage-cue_TARGETDIR)/$(workbench-devs-diskimage-cue_PROGNAME) $(workbench-devs-diskimage-cue_DEPS) +#MM +workbench-devs-diskimage-cue-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-cue" + $(Q)$(RM) $(FILES) + + +#MM workbench-devs-diskimage-daa : workbench-libs-z-linklib + + +.PHONY : workbench-devs-diskimage-daa + +workbench-devs-diskimage-daa_PROGNAME := DAA +workbench-devs-diskimage-daa_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-daa_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-daa_LINKER := +workbench-devs-diskimage-daa_LIBS := diskimagesupport z +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-daa_LINKER),) + workbench-devs-diskimage-daa_LINKER := target +endif + +ifneq ("$(strip stub_aros daa )","") + workbench-devs-diskimage-daa_FILES := stub_aros daa + workbench-devs-diskimage-daa_OBJCFILES := + workbench-devs-diskimage-daa_ASMFILES := + workbench-devs-diskimage-daa_CXXFILES := +else + workbench-devs-diskimage-daa_FILES := $(workbench-devs-diskimage-daa_PROGNAME) + workbench-devs-diskimage-daa_OBJCFILES := + workbench-devs-diskimage-daa_ASMFILES := + workbench-devs-diskimage-daa_CXXFILES := +endif + +workbench-devs-diskimage-daa_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-daa_OBJDIR)/arch/*.o) +workbench-devs-diskimage-daa_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-daa_ARCHOBJS))) +workbench-devs-diskimage-daa_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-daa_ARCHFILES),$(workbench-devs-diskimage-daa_FILES)) +workbench-devs-diskimage-daa_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-daa_ARCHFILES),$(workbench-devs-diskimage-daa_CXXFILES)) +workbench-devs-diskimage-daa_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-daa_ARCHFILES),$(workbench-devs-diskimage-daa_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-daa_C_NARCHFILES) $(workbench-devs-diskimage-daa_CXX_NARCHFILES) $(workbench-devs-diskimage-daa_ASMFILES) $(workbench-devs-diskimage-daa_OBJC_NARCHFILES) +workbench-devs-diskimage-daa_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-daa_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-daa_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-daa_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-daa_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-daa_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-daa_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-daa_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-daa_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-daa_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-daa_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-daa_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-daa_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-daa_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-daa_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-daa_LDFLAGS := +endif + +workbench-devs-diskimage-daa_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-daa_COVERAGE := yes +workbench-devs-diskimage-daa_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-daa_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-daa_CFLAGS := $(strip $(workbench-devs-diskimage-daa_COVERAGEFLAGS) $(workbench-devs-diskimage-daa_CFLAGS)) +workbench-devs-diskimage-daa_CXXFLAGS := $(strip $(workbench-devs-diskimage-daa_COVERAGEFLAGS) $(workbench-devs-diskimage-daa_CXXFLAGS)) +workbench-devs-diskimage-daa_LIBS += $(workbench-devs-diskimage-daa_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-daa_FUNCINSTR := yes +workbench-devs-diskimage-daa_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-daa_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-daa_CFLAGS := $(strip $(workbench-devs-diskimage-daa_INSTRFUNCFLAGS) $(workbench-devs-diskimage-daa_CFLAGS)) +workbench-devs-diskimage-daa_CXXFLAGS := $(strip $(workbench-devs-diskimage-daa_INSTRFUNCFLAGS) $(workbench-devs-diskimage-daa_CXXFLAGS)) +workbench-devs-diskimage-daa_LIBS += $(workbench-devs-diskimage-daa_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-daa_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-daa_CFLAGS)) +workbench-devs-diskimage-daa_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-daa_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-daa_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-daa_DFLAGS := +else + workbench-devs-diskimage-daa_DFLAGS := $(workbench-devs-diskimage-daa_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-daa_DXXFLAGS := +else + workbench-devs-diskimage-daa_DXXFLAGS := $(workbench-devs-diskimage-daa_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-daa_LDFLAGS := $(workbench-devs-diskimage-daa_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-daa_LDFLAGS := $(workbench-devs-diskimage-daa_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-daa_LDFLAGS := $(workbench-devs-diskimage-daa_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-daa_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-daa-quick : workbench-devs-diskimage-daa + +#MM workbench-devs-diskimage-daa : includes-generate-deps core-linklibs +workbench-devs-diskimage-daa : $(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-daa workbench-devs-diskimage-daa-quick workbench-devs-diskimage-daa-gz-quick),) + +workbench-devs-diskimage-daa_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-daa_CXXBASE,$(workbench-devs-diskimage-daa_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-daa_CXXBASE)),$(workbench-devs-diskimage-daa_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-daa_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-daa_CXXABSBASENAMES),) + +workbench-devs-diskimage-daa_CXXBASENAMES := $(basename $(workbench-devs-diskimage-daa_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-daa_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-daa_CXXBASE,$(workbench-devs-diskimage-daa_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-daa_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-daa_EXT),$(workbench-devs-diskimage-daa_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-daa_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-daa_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-daa_OBJDIR),) + workbench-devs-diskimage-daa_CXXTARGETS := $(notdir $(workbench-devs-diskimage-daa_CXXBASENAMES:=.o)) + workbench-devs-diskimage-daa_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-daa_CXXBASENAMES:=.d)) + workbench-devs-diskimage-daa_MCXX_WILDCARD := % +else + workbench-devs-diskimage-daa_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(notdir $(workbench-devs-diskimage-daa_CXXBASENAMES:=.o))) + workbench-devs-diskimage-daa_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(notdir $(workbench-devs-diskimage-daa_CXXBASENAMES:=.d))) + workbench-devs-diskimage-daa_MCXX_WILDCARD := $(workbench-devs-diskimage-daa_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-daa_CXXTARGETS) $(workbench-devs-diskimage-daa_CXXDTARGETS) : | $(workbench-devs-diskimage-daa_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-daa_MCXX_CPPFLAGS := $(workbench-devs-diskimage-daa_CPPFLAGS) +workbench-devs-diskimage-daa_CXXFLAGS := $(workbench-devs-diskimage-daa_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-daa_DXXFLAGS),) + workbench-devs-diskimage-daa_DXXFLAGS := $(workbench-devs-diskimage-daa_CXXFLAGS) +else + workbench-devs-diskimage-daa_DXXFLAGS := $(workbench-devs-diskimage-daa_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-daa_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-daa_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-daa_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-daa_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-daa_MCXX_CPPFLAGS) $(workbench-devs-diskimage-daa_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-daa_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-daa_CXXFLAGS)) + workbench-devs-diskimage-daa_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-daa_DXXFLAGS)) + workbench-devs-diskimage-daa_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-daa_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-daa_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-daa_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-daa_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-daa_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-daa_MCXX_CPPFLAGS) $(workbench-devs-diskimage-daa_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-daa_CXXFLAGS := $(strip $(workbench-devs-diskimage-daa_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-daa_DXXFLAGS := $(workbench-devs-diskimage-daa_DXXFLAGS) + workbench-devs-diskimage-daa_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-daa_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-daa_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-daa_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-daa_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-daa_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-daa_MCXX_CPPFLAGS) $(workbench-devs-diskimage-daa_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-daa_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-daa_CXXFLAGS)) + workbench-devs-diskimage-daa_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-daa_DXXFLAGS)) + workbench-devs-diskimage-daa_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-daa_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-daa_CXXCMD) $(workbench-devs-diskimage-daa_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-daa_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_CXXIQUOTE) . $(workbench-devs-diskimage-daa_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-daa_CXXFLAGS) $(workbench-devs-diskimage-daa_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-daa_CXXCMD) $(workbench-devs-diskimage-daa_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-daa_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_CXXIQUOTE) . $(workbench-devs-diskimage-daa_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-daa_CXXFLAGS) $(workbench-devs-diskimage-daa_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-daa_CXXCMD) $(workbench-devs-diskimage-daa_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-daa_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_CXXIQUOTE) . $(workbench-devs-diskimage-daa_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-daa_CXXFLAGS) $(workbench-devs-diskimage-daa_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-daa_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-daa_DXXFLAGS) $(workbench-devs-diskimage-daa_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-daa_OBJDIR),) + $(foreach workbench-devs-diskimage-daa_CXXFILE,$(workbench-devs-diskimage-daa_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-daa_CXXFILE))),$(workbench-devs-diskimage-daa_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-daa_CXXFILE,$(workbench-devs-diskimage-daa_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-daa_CXXFILE)))),$(workbench-devs-diskimage-daa_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-daa_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-daa_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-daa_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-daa_OBJDIR),) + workbench-devs-diskimage-daa_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-daa_OBJC_NARCHFILES)) + workbench-devs-diskimage-daa_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-daa_OBJC_NARCHFILES)) + workbench-devs-diskimage-daa_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-daa_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(workbench-devs-diskimage-daa_OBJC_NARCHFILES))) + workbench-devs-diskimage-daa_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(workbench-devs-diskimage-daa_OBJC_NARCHFILES))) + workbench-devs-diskimage-daa_MOBJC_WILDCARD := $(workbench-devs-diskimage-daa_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-daa_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-daa_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-daa_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-daa_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-daa_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-daa_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-daa_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-daa_MOBJC_DIRS),) + workbench-devs-diskimage-daa_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-daa_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-daa_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-daa_CC := $(TARGET_CC) +else + workbench-devs-diskimage-daa_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-daa_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-daa_CPPFLAGS) +workbench-devs-diskimage-daa_OBJCFLAGS := $(workbench-devs-diskimage-daa_CFLAGS) +workbench-devs-diskimage-daa_OBJCFLAGS := $(workbench-devs-diskimage-daa_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-daa_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-daa_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-daa_DFLAGS),) + workbench-devs-diskimage-daa_OBJCDFLAGS := $(workbench-devs-diskimage-daa_CFLAGS) +else + workbench-devs-diskimage-daa_OBJCDFLAGS := $(workbench-devs-diskimage-daa_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-daa_LINK ?= $(strip $(workbench-devs-diskimage-daa_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-daa_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-daa_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-daa_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-daa_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-daa_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_OBJCDFLAGS:=$(workbench-devs-diskimage-daa_OBJCDFLAGS) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-daa_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-daa_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-daa_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-daa_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-daa_OBJCFLAGS)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-daa_OBJCDFLAGS)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-daa_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-daa_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-daa_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-daa_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-daa_OBJCFLAGS)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-daa_OBJCDFLAGS)) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-daa_MOBJC_TARGETS) $(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-daa_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-daa_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-daa_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-daa_OBJCFLAGS) +$(workbench-devs-diskimage-daa_MOBJC_TARGETS) : $(workbench-devs-diskimage-daa_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-daa_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-daa_IQUOTE) $(dir $<) $(workbench-devs-diskimage-daa_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_IQUOTE) . $(workbench-devs-diskimage-daa_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-daa_IQUOTE) $(dir $<) $(workbench-devs-diskimage-daa_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_IQUOTE) . $(workbench-devs-diskimage-daa_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-daa_IQUOTE) $(dir $<) $(workbench-devs-diskimage-daa_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_IQUOTE) . $(workbench-devs-diskimage-daa_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-daa_MOBJC_DTARGETS) : $(workbench-devs-diskimage-daa_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-daa_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-daa_OBJCDFLAGS) $(workbench-devs-diskimage-daa_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-daa_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-daa_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-daa_OBJDIR),) +workbench-devs-diskimage-daa_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-daa_C_NARCHFILES)) +workbench-devs-diskimage-daa_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-daa_C_NARCHFILES)) +workbench-devs-diskimage-daa_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-daa_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(notdir $(workbench-devs-diskimage-daa_C_NARCHFILES)))) + workbench-devs-diskimage-daa_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(notdir $(workbench-devs-diskimage-daa_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-daa_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(workbench-devs-diskimage-daa_C_NARCHFILES))) + workbench-devs-diskimage-daa_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(workbench-devs-diskimage-daa_C_NARCHFILES))) +else + workbench-devs-diskimage-daa_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-daa_C_NARCHFILES)))) + workbench-devs-diskimage-daa_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-daa_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-daa_MC_TGTWILDCARD := $(workbench-devs-diskimage-daa_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-daa_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-daa_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-daa_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-daa_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-daa_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-daa_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-daa_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-daa_MC_DIRS),) + workbench-devs-diskimage-daa_MC_DIRS := $(shell echo $(workbench-devs-diskimage-daa_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-daa_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-daa_MC_CPPFLAGS := $(workbench-devs-diskimage-daa_CPPFLAGS) +workbench-devs-diskimage-daa_CFLAGS := $(workbench-devs-diskimage-daa_CFLAGS) +ifeq ($(workbench-devs-diskimage-daa_DFLAGS),) + workbench-devs-diskimage-daa_DFLAGS := $(workbench-devs-diskimage-daa_CFLAGS) +else + workbench-devs-diskimage-daa_DFLAGS := $(workbench-devs-diskimage-daa_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-daa_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-daa_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-daa_MC_CPPFLAGS) $(workbench-devs-diskimage-daa_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_CFLAGS:=$(strip $(workbench-devs-diskimage-daa_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_DFLAGS:=$(workbench-devs-diskimage-daa_DFLAGS) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-daa_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-daa_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-daa_MC_CPPFLAGS) $(workbench-devs-diskimage-daa_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-daa_CFLAGS)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-daa_DFLAGS)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-daa_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-daa_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-daa_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-daa_MC_CPPFLAGS) $(workbench-devs-diskimage-daa_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-daa_CFLAGS)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-daa_DFLAGS)) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-daa_MC_TARGETS) $(workbench-devs-diskimage-daa_MC_DTARGETS) : workbench-devs-diskimage-daa_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-daa_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-daa_MC_CPPFLAGS) +$(workbench-devs-diskimage-daa_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-daa_CFLAGS) +$(workbench-devs-diskimage-daa_MC_TARGETS) : $(workbench-devs-diskimage-daa_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-daa_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-daa_IQUOTE) $(dir $<) $(workbench-devs-diskimage-daa_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_IQUOTE) . $(workbench-devs-diskimage-daa_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-daa_IQUOTE) $(dir $<) $(workbench-devs-diskimage-daa_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_IQUOTE) . $(workbench-devs-diskimage-daa_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-daa_IQUOTE) $(dir $<) $(workbench-devs-diskimage-daa_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-daa_IQUOTE) . $(workbench-devs-diskimage-daa_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-daa_MC_DTARGETS) : $(workbench-devs-diskimage-daa_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-daa_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-daa_DFLAGS) $(workbench-devs-diskimage-daa_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-daa_OBJDIR),) +workbench-devs-diskimage-daa-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-daa_ASMFILES)) +workbench-devs-diskimage-daa-MA_WILDCARD := % +else +workbench-devs-diskimage-daa-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-daa_OBJDIR)/,$(notdir $(workbench-devs-diskimage-daa_ASMFILES)))) +workbench-devs-diskimage-daa-MA_WILDCARD := $(workbench-devs-diskimage-daa_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-daa-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-daa_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-daa-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-daa-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-daa_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-daa-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-daa-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-daa-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-daa-MA_DIRS),) + workbench-devs-diskimage-daa-MA_DIRS := $(shell echo $(workbench-devs-diskimage-daa-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-daa-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-daa-MA_ASSEMBLER ?= $(workbench-devs-diskimage-daa_ASSEMBLER) + +$(workbench-devs-diskimage-daa-MA_TARGETS) : workbench-devs-diskimage-daa-MA_CMD:= $(workbench-devs-diskimage-daa-MA_ASSEMBLER) + +$(workbench-devs-diskimage-daa-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-daa_CPPFLAGS) +$(workbench-devs-diskimage-daa-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-daa_AFLAGS) +$(workbench-devs-diskimage-daa-MA_TARGETS) : $(workbench-devs-diskimage-daa-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-daa-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-daa-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-daa-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-daa-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-daa-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-daa-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-daa-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-daa-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-daa-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-daa_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-daa-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-daa-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-daa-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-daa-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-daa-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-daa-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-daa_LIBS) $(workbench-devs-diskimage-daa-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-daa-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-daa-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-daa-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-daa-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-daa-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-daa_OBJDIR) +$(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) : OBJS := $(workbench-devs-diskimage-daa_OBJS) $(workbench-devs-diskimage-daa_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-daa_LDFLAGS) $(workbench-devs-diskimage-daa-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-daa_LIBS) $(workbench-devs-diskimage-daa-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) : $(workbench-devs-diskimage-daa_OBJS) $(workbench-devs-diskimage-daa_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-daa-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-daa_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-daa_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-daa_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-daa_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-daa_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-daa_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-daa_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-daa_DEPS),) + ifneq (workbench-devs-diskimage-daa workbench-devs-diskimage-daa-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-daa workbench-devs-diskimage-daa-quick),) + -include $(workbench-devs-diskimage-daa_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-daa_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-daa_OBJS) $(workbench-devs-diskimage-daa_DEPS) $(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME),) +$(workbench-devs-diskimage-daa_OBJS) $(workbench-devs-diskimage-daa_DEPS) $(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) : | $(workbench-devs-diskimage-daa_OBJDIR) $(workbench-devs-diskimage-daa_TARGETDIR) +else +$(workbench-devs-diskimage-daa_OBJS) $(workbench-devs-diskimage-daa_DEPS) $(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) :: $(workbench-devs-diskimage-daa_OBJDIR) $(workbench-devs-diskimage-daa_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-daa_OBJDIR) $(workbench-devs-diskimage-daa_TARGETDIR) + + +workbench-devs-diskimage-daa-clean : FILES := $(workbench-devs-diskimage-daa_OBJS) $(workbench-devs-diskimage-daa_TARGETDIR)/$(workbench-devs-diskimage-daa_PROGNAME) $(workbench-devs-diskimage-daa_DEPS) +#MM +workbench-devs-diskimage-daa-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-daa" + $(Q)$(RM) $(FILES) + + +#MM workbench-devs-diskimage-dax : workbench-libs-z-linklib + + +.PHONY : workbench-devs-diskimage-dax + +workbench-devs-diskimage-dax_PROGNAME := DAX +workbench-devs-diskimage-dax_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-dax_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-dax_LINKER := +workbench-devs-diskimage-dax_LIBS := diskimagesupport z +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-dax_LINKER),) + workbench-devs-diskimage-dax_LINKER := target +endif + +ifneq ("$(strip stub_aros dax )","") + workbench-devs-diskimage-dax_FILES := stub_aros dax + workbench-devs-diskimage-dax_OBJCFILES := + workbench-devs-diskimage-dax_ASMFILES := + workbench-devs-diskimage-dax_CXXFILES := +else + workbench-devs-diskimage-dax_FILES := $(workbench-devs-diskimage-dax_PROGNAME) + workbench-devs-diskimage-dax_OBJCFILES := + workbench-devs-diskimage-dax_ASMFILES := + workbench-devs-diskimage-dax_CXXFILES := +endif + +workbench-devs-diskimage-dax_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-dax_OBJDIR)/arch/*.o) +workbench-devs-diskimage-dax_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-dax_ARCHOBJS))) +workbench-devs-diskimage-dax_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dax_ARCHFILES),$(workbench-devs-diskimage-dax_FILES)) +workbench-devs-diskimage-dax_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dax_ARCHFILES),$(workbench-devs-diskimage-dax_CXXFILES)) +workbench-devs-diskimage-dax_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dax_ARCHFILES),$(workbench-devs-diskimage-dax_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-dax_C_NARCHFILES) $(workbench-devs-diskimage-dax_CXX_NARCHFILES) $(workbench-devs-diskimage-dax_ASMFILES) $(workbench-devs-diskimage-dax_OBJC_NARCHFILES) +workbench-devs-diskimage-dax_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-dax_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-dax_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-dax_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dax_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dax_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dax_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-dax_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dax_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dax_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dax_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-dax_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dax_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dax_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dax_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-dax_LDFLAGS := +endif + +workbench-devs-diskimage-dax_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-dax_COVERAGE := yes +workbench-devs-diskimage-dax_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-dax_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-dax_CFLAGS := $(strip $(workbench-devs-diskimage-dax_COVERAGEFLAGS) $(workbench-devs-diskimage-dax_CFLAGS)) +workbench-devs-diskimage-dax_CXXFLAGS := $(strip $(workbench-devs-diskimage-dax_COVERAGEFLAGS) $(workbench-devs-diskimage-dax_CXXFLAGS)) +workbench-devs-diskimage-dax_LIBS += $(workbench-devs-diskimage-dax_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-dax_FUNCINSTR := yes +workbench-devs-diskimage-dax_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-dax_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-dax_CFLAGS := $(strip $(workbench-devs-diskimage-dax_INSTRFUNCFLAGS) $(workbench-devs-diskimage-dax_CFLAGS)) +workbench-devs-diskimage-dax_CXXFLAGS := $(strip $(workbench-devs-diskimage-dax_INSTRFUNCFLAGS) $(workbench-devs-diskimage-dax_CXXFLAGS)) +workbench-devs-diskimage-dax_LIBS += $(workbench-devs-diskimage-dax_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-dax_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-dax_CFLAGS)) +workbench-devs-diskimage-dax_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-dax_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-dax_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-dax_DFLAGS := +else + workbench-devs-diskimage-dax_DFLAGS := $(workbench-devs-diskimage-dax_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-dax_DXXFLAGS := +else + workbench-devs-diskimage-dax_DXXFLAGS := $(workbench-devs-diskimage-dax_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-dax_LDFLAGS := $(workbench-devs-diskimage-dax_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dax_LDFLAGS := $(workbench-devs-diskimage-dax_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dax_LDFLAGS := $(workbench-devs-diskimage-dax_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-dax_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-dax-quick : workbench-devs-diskimage-dax + +#MM workbench-devs-diskimage-dax : includes-generate-deps core-linklibs +workbench-devs-diskimage-dax : $(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-dax workbench-devs-diskimage-dax-quick workbench-devs-diskimage-dax-gz-quick),) + +workbench-devs-diskimage-dax_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-dax_CXXBASE,$(workbench-devs-diskimage-dax_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-dax_CXXBASE)),$(workbench-devs-diskimage-dax_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-dax_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-dax_CXXABSBASENAMES),) + +workbench-devs-diskimage-dax_CXXBASENAMES := $(basename $(workbench-devs-diskimage-dax_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-dax_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-dax_CXXBASE,$(workbench-devs-diskimage-dax_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-dax_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-dax_EXT),$(workbench-devs-diskimage-dax_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-dax_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-dax_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dax_OBJDIR),) + workbench-devs-diskimage-dax_CXXTARGETS := $(notdir $(workbench-devs-diskimage-dax_CXXBASENAMES:=.o)) + workbench-devs-diskimage-dax_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-dax_CXXBASENAMES:=.d)) + workbench-devs-diskimage-dax_MCXX_WILDCARD := % +else + workbench-devs-diskimage-dax_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dax_CXXBASENAMES:=.o))) + workbench-devs-diskimage-dax_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dax_CXXBASENAMES:=.d))) + workbench-devs-diskimage-dax_MCXX_WILDCARD := $(workbench-devs-diskimage-dax_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-dax_CXXTARGETS) $(workbench-devs-diskimage-dax_CXXDTARGETS) : | $(workbench-devs-diskimage-dax_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-dax_MCXX_CPPFLAGS := $(workbench-devs-diskimage-dax_CPPFLAGS) +workbench-devs-diskimage-dax_CXXFLAGS := $(workbench-devs-diskimage-dax_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-dax_DXXFLAGS),) + workbench-devs-diskimage-dax_DXXFLAGS := $(workbench-devs-diskimage-dax_CXXFLAGS) +else + workbench-devs-diskimage-dax_DXXFLAGS := $(workbench-devs-diskimage-dax_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-dax_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-dax_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-dax_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-dax_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dax_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dax_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dax_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-dax_CXXFLAGS)) + workbench-devs-diskimage-dax_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-dax_DXXFLAGS)) + workbench-devs-diskimage-dax_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-dax_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-dax_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-dax_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-dax_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-dax_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-dax_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dax_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dax_CXXFLAGS := $(strip $(workbench-devs-diskimage-dax_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-dax_DXXFLAGS := $(workbench-devs-diskimage-dax_DXXFLAGS) + workbench-devs-diskimage-dax_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-dax_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-dax_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-dax_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-dax_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-dax_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dax_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dax_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dax_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-dax_CXXFLAGS)) + workbench-devs-diskimage-dax_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-dax_DXXFLAGS)) + workbench-devs-diskimage-dax_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-dax_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-dax_CXXCMD) $(workbench-devs-diskimage-dax_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dax_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_CXXIQUOTE) . $(workbench-devs-diskimage-dax_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dax_CXXFLAGS) $(workbench-devs-diskimage-dax_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-dax_CXXCMD) $(workbench-devs-diskimage-dax_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dax_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_CXXIQUOTE) . $(workbench-devs-diskimage-dax_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dax_CXXFLAGS) $(workbench-devs-diskimage-dax_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-dax_CXXCMD) $(workbench-devs-diskimage-dax_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dax_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_CXXIQUOTE) . $(workbench-devs-diskimage-dax_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dax_CXXFLAGS) $(workbench-devs-diskimage-dax_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-dax_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dax_DXXFLAGS) $(workbench-devs-diskimage-dax_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-dax_OBJDIR),) + $(foreach workbench-devs-diskimage-dax_CXXFILE,$(workbench-devs-diskimage-dax_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-dax_CXXFILE))),$(workbench-devs-diskimage-dax_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-dax_CXXFILE,$(workbench-devs-diskimage-dax_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-dax_CXXFILE)))),$(workbench-devs-diskimage-dax_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-dax_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-dax_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-dax_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dax_OBJDIR),) + workbench-devs-diskimage-dax_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dax_OBJC_NARCHFILES)) + workbench-devs-diskimage-dax_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-dax_OBJC_NARCHFILES)) + workbench-devs-diskimage-dax_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-dax_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(workbench-devs-diskimage-dax_OBJC_NARCHFILES))) + workbench-devs-diskimage-dax_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(workbench-devs-diskimage-dax_OBJC_NARCHFILES))) + workbench-devs-diskimage-dax_MOBJC_WILDCARD := $(workbench-devs-diskimage-dax_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-dax_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-dax_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-dax_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dax_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-dax_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-dax_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dax_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-dax_MOBJC_DIRS),) + workbench-devs-diskimage-dax_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-dax_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-dax_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-dax_CC := $(TARGET_CC) +else + workbench-devs-diskimage-dax_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-dax_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-dax_CPPFLAGS) +workbench-devs-diskimage-dax_OBJCFLAGS := $(workbench-devs-diskimage-dax_CFLAGS) +workbench-devs-diskimage-dax_OBJCFLAGS := $(workbench-devs-diskimage-dax_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-dax_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-dax_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-dax_DFLAGS),) + workbench-devs-diskimage-dax_OBJCDFLAGS := $(workbench-devs-diskimage-dax_CFLAGS) +else + workbench-devs-diskimage-dax_OBJCDFLAGS := $(workbench-devs-diskimage-dax_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-dax_LINK ?= $(strip $(workbench-devs-diskimage-dax_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-dax_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-dax_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-dax_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dax_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-dax_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_OBJCDFLAGS:=$(workbench-devs-diskimage-dax_OBJCDFLAGS) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-dax_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-dax_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dax_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dax_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dax_OBJCFLAGS)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dax_OBJCDFLAGS)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-dax_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-dax_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dax_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dax_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dax_OBJCFLAGS)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dax_OBJCDFLAGS)) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-dax_MOBJC_TARGETS) $(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-dax_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dax_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-dax_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-dax_OBJCFLAGS) +$(workbench-devs-diskimage-dax_MOBJC_TARGETS) : $(workbench-devs-diskimage-dax_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-dax_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-dax_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dax_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_IQUOTE) . $(workbench-devs-diskimage-dax_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-dax_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dax_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_IQUOTE) . $(workbench-devs-diskimage-dax_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-dax_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dax_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_IQUOTE) . $(workbench-devs-diskimage-dax_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-dax_MOBJC_DTARGETS) : $(workbench-devs-diskimage-dax_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-dax_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dax_OBJCDFLAGS) $(workbench-devs-diskimage-dax_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-dax_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-dax_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dax_OBJDIR),) +workbench-devs-diskimage-dax_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dax_C_NARCHFILES)) +workbench-devs-diskimage-dax_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-dax_C_NARCHFILES)) +workbench-devs-diskimage-dax_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-dax_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dax_C_NARCHFILES)))) + workbench-devs-diskimage-dax_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dax_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-dax_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(workbench-devs-diskimage-dax_C_NARCHFILES))) + workbench-devs-diskimage-dax_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(workbench-devs-diskimage-dax_C_NARCHFILES))) +else + workbench-devs-diskimage-dax_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-dax_C_NARCHFILES)))) + workbench-devs-diskimage-dax_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-dax_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-dax_MC_TGTWILDCARD := $(workbench-devs-diskimage-dax_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-dax_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-dax_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-dax_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dax_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-dax_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-dax_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dax_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-dax_MC_DIRS),) + workbench-devs-diskimage-dax_MC_DIRS := $(shell echo $(workbench-devs-diskimage-dax_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-dax_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-dax_MC_CPPFLAGS := $(workbench-devs-diskimage-dax_CPPFLAGS) +workbench-devs-diskimage-dax_CFLAGS := $(workbench-devs-diskimage-dax_CFLAGS) +ifeq ($(workbench-devs-diskimage-dax_DFLAGS),) + workbench-devs-diskimage-dax_DFLAGS := $(workbench-devs-diskimage-dax_CFLAGS) +else + workbench-devs-diskimage-dax_DFLAGS := $(workbench-devs-diskimage-dax_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-dax_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-dax_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-dax_MC_CPPFLAGS) $(workbench-devs-diskimage-dax_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_CFLAGS:=$(strip $(workbench-devs-diskimage-dax_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_DFLAGS:=$(workbench-devs-diskimage-dax_DFLAGS) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-dax_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-dax_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-dax_MC_CPPFLAGS) $(workbench-devs-diskimage-dax_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dax_CFLAGS)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dax_DFLAGS)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dax_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-dax_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-dax_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-dax_MC_CPPFLAGS) $(workbench-devs-diskimage-dax_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dax_CFLAGS)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dax_DFLAGS)) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-dax_MC_TARGETS) $(workbench-devs-diskimage-dax_MC_DTARGETS) : workbench-devs-diskimage-dax_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-dax_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dax_MC_CPPFLAGS) +$(workbench-devs-diskimage-dax_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-dax_CFLAGS) +$(workbench-devs-diskimage-dax_MC_TARGETS) : $(workbench-devs-diskimage-dax_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-dax_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-dax_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dax_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_IQUOTE) . $(workbench-devs-diskimage-dax_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-dax_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dax_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_IQUOTE) . $(workbench-devs-diskimage-dax_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-dax_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dax_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dax_IQUOTE) . $(workbench-devs-diskimage-dax_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-dax_MC_DTARGETS) : $(workbench-devs-diskimage-dax_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-dax_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dax_DFLAGS) $(workbench-devs-diskimage-dax_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-dax_OBJDIR),) +workbench-devs-diskimage-dax-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dax_ASMFILES)) +workbench-devs-diskimage-dax-MA_WILDCARD := % +else +workbench-devs-diskimage-dax-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dax_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dax_ASMFILES)))) +workbench-devs-diskimage-dax-MA_WILDCARD := $(workbench-devs-diskimage-dax_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-dax-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-dax_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-dax-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-dax-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dax_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-dax-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-dax-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dax-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-dax-MA_DIRS),) + workbench-devs-diskimage-dax-MA_DIRS := $(shell echo $(workbench-devs-diskimage-dax-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-dax-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-dax-MA_ASSEMBLER ?= $(workbench-devs-diskimage-dax_ASSEMBLER) + +$(workbench-devs-diskimage-dax-MA_TARGETS) : workbench-devs-diskimage-dax-MA_CMD:= $(workbench-devs-diskimage-dax-MA_ASSEMBLER) + +$(workbench-devs-diskimage-dax-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dax_CPPFLAGS) +$(workbench-devs-diskimage-dax-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-dax_AFLAGS) +$(workbench-devs-diskimage-dax-MA_TARGETS) : $(workbench-devs-diskimage-dax-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-dax-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-dax-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-dax-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-dax-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-dax-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-dax-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-dax-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-dax-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-dax-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-dax_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-dax-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-dax-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-dax-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-dax-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-dax-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-dax-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-dax_LIBS) $(workbench-devs-diskimage-dax-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-dax-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-dax-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-dax-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-dax-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-dax-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-dax_OBJDIR) +$(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) : OBJS := $(workbench-devs-diskimage-dax_OBJS) $(workbench-devs-diskimage-dax_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-dax_LDFLAGS) $(workbench-devs-diskimage-dax-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-dax_LIBS) $(workbench-devs-diskimage-dax-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) : $(workbench-devs-diskimage-dax_OBJS) $(workbench-devs-diskimage-dax_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-dax-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-dax_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-dax_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-dax_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-dax_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-dax_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-dax_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-dax_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-dax_DEPS),) + ifneq (workbench-devs-diskimage-dax workbench-devs-diskimage-dax-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-dax workbench-devs-diskimage-dax-quick),) + -include $(workbench-devs-diskimage-dax_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-dax_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-dax_OBJS) $(workbench-devs-diskimage-dax_DEPS) $(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME),) +$(workbench-devs-diskimage-dax_OBJS) $(workbench-devs-diskimage-dax_DEPS) $(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) : | $(workbench-devs-diskimage-dax_OBJDIR) $(workbench-devs-diskimage-dax_TARGETDIR) +else +$(workbench-devs-diskimage-dax_OBJS) $(workbench-devs-diskimage-dax_DEPS) $(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) :: $(workbench-devs-diskimage-dax_OBJDIR) $(workbench-devs-diskimage-dax_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-dax_OBJDIR) $(workbench-devs-diskimage-dax_TARGETDIR) + + +workbench-devs-diskimage-dax-clean : FILES := $(workbench-devs-diskimage-dax_OBJS) $(workbench-devs-diskimage-dax_TARGETDIR)/$(workbench-devs-diskimage-dax_PROGNAME) $(workbench-devs-diskimage-dax_DEPS) +#MM +workbench-devs-diskimage-dax-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-dax" + $(Q)$(RM) $(FILES) + + +#MM workbench-devs-diskimage-dmg : workbench-libs-z-linklib + +CFILES := dmg/dmg dmg/base64 dmg/adc + + +.PHONY : workbench-devs-diskimage-dmg + +workbench-devs-diskimage-dmg_PROGNAME := DMG +workbench-devs-diskimage-dmg_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-dmg_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-dmg_LINKER := +workbench-devs-diskimage-dmg_LIBS := diskimagesupport z bz2 expat +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-dmg_LINKER),) + workbench-devs-diskimage-dmg_LINKER := target +endif + +ifneq ("$(strip stub_aros $(CFILES) )","") + workbench-devs-diskimage-dmg_FILES := stub_aros $(CFILES) + workbench-devs-diskimage-dmg_OBJCFILES := + workbench-devs-diskimage-dmg_ASMFILES := + workbench-devs-diskimage-dmg_CXXFILES := +else + workbench-devs-diskimage-dmg_FILES := $(workbench-devs-diskimage-dmg_PROGNAME) + workbench-devs-diskimage-dmg_OBJCFILES := + workbench-devs-diskimage-dmg_ASMFILES := + workbench-devs-diskimage-dmg_CXXFILES := +endif + +workbench-devs-diskimage-dmg_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-dmg_OBJDIR)/arch/*.o) +workbench-devs-diskimage-dmg_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-dmg_ARCHOBJS))) +workbench-devs-diskimage-dmg_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dmg_ARCHFILES),$(workbench-devs-diskimage-dmg_FILES)) +workbench-devs-diskimage-dmg_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dmg_ARCHFILES),$(workbench-devs-diskimage-dmg_CXXFILES)) +workbench-devs-diskimage-dmg_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dmg_ARCHFILES),$(workbench-devs-diskimage-dmg_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-dmg_C_NARCHFILES) $(workbench-devs-diskimage-dmg_CXX_NARCHFILES) $(workbench-devs-diskimage-dmg_ASMFILES) $(workbench-devs-diskimage-dmg_OBJC_NARCHFILES) +workbench-devs-diskimage-dmg_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-dmg_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-dmg_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-dmg_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dmg_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dmg_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dmg_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-dmg_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dmg_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dmg_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dmg_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-dmg_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dmg_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dmg_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dmg_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-dmg_LDFLAGS := +endif + +workbench-devs-diskimage-dmg_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-dmg_COVERAGE := yes +workbench-devs-diskimage-dmg_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-dmg_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-dmg_CFLAGS := $(strip $(workbench-devs-diskimage-dmg_COVERAGEFLAGS) $(workbench-devs-diskimage-dmg_CFLAGS)) +workbench-devs-diskimage-dmg_CXXFLAGS := $(strip $(workbench-devs-diskimage-dmg_COVERAGEFLAGS) $(workbench-devs-diskimage-dmg_CXXFLAGS)) +workbench-devs-diskimage-dmg_LIBS += $(workbench-devs-diskimage-dmg_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-dmg_FUNCINSTR := yes +workbench-devs-diskimage-dmg_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-dmg_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-dmg_CFLAGS := $(strip $(workbench-devs-diskimage-dmg_INSTRFUNCFLAGS) $(workbench-devs-diskimage-dmg_CFLAGS)) +workbench-devs-diskimage-dmg_CXXFLAGS := $(strip $(workbench-devs-diskimage-dmg_INSTRFUNCFLAGS) $(workbench-devs-diskimage-dmg_CXXFLAGS)) +workbench-devs-diskimage-dmg_LIBS += $(workbench-devs-diskimage-dmg_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-dmg_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-dmg_CFLAGS)) +workbench-devs-diskimage-dmg_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-dmg_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-dmg_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-dmg_DFLAGS := +else + workbench-devs-diskimage-dmg_DFLAGS := $(workbench-devs-diskimage-dmg_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-dmg_DXXFLAGS := +else + workbench-devs-diskimage-dmg_DXXFLAGS := $(workbench-devs-diskimage-dmg_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-dmg_LDFLAGS := $(workbench-devs-diskimage-dmg_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dmg_LDFLAGS := $(workbench-devs-diskimage-dmg_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dmg_LDFLAGS := $(workbench-devs-diskimage-dmg_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-dmg_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-dmg-quick : workbench-devs-diskimage-dmg + +#MM workbench-devs-diskimage-dmg : includes-generate-deps core-linklibs +workbench-devs-diskimage-dmg : $(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-dmg workbench-devs-diskimage-dmg-quick workbench-devs-diskimage-dmg-gz-quick),) + +workbench-devs-diskimage-dmg_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-dmg_CXXBASE,$(workbench-devs-diskimage-dmg_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-dmg_CXXBASE)),$(workbench-devs-diskimage-dmg_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-dmg_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-dmg_CXXABSBASENAMES),) + +workbench-devs-diskimage-dmg_CXXBASENAMES := $(basename $(workbench-devs-diskimage-dmg_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-dmg_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-dmg_CXXBASE,$(workbench-devs-diskimage-dmg_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-dmg_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-dmg_EXT),$(workbench-devs-diskimage-dmg_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-dmg_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-dmg_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dmg_OBJDIR),) + workbench-devs-diskimage-dmg_CXXTARGETS := $(notdir $(workbench-devs-diskimage-dmg_CXXBASENAMES:=.o)) + workbench-devs-diskimage-dmg_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-dmg_CXXBASENAMES:=.d)) + workbench-devs-diskimage-dmg_MCXX_WILDCARD := % +else + workbench-devs-diskimage-dmg_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dmg_CXXBASENAMES:=.o))) + workbench-devs-diskimage-dmg_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dmg_CXXBASENAMES:=.d))) + workbench-devs-diskimage-dmg_MCXX_WILDCARD := $(workbench-devs-diskimage-dmg_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-dmg_CXXTARGETS) $(workbench-devs-diskimage-dmg_CXXDTARGETS) : | $(workbench-devs-diskimage-dmg_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-dmg_MCXX_CPPFLAGS := $(workbench-devs-diskimage-dmg_CPPFLAGS) +workbench-devs-diskimage-dmg_CXXFLAGS := $(workbench-devs-diskimage-dmg_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-dmg_DXXFLAGS),) + workbench-devs-diskimage-dmg_DXXFLAGS := $(workbench-devs-diskimage-dmg_CXXFLAGS) +else + workbench-devs-diskimage-dmg_DXXFLAGS := $(workbench-devs-diskimage-dmg_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-dmg_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-dmg_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-dmg_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-dmg_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dmg_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dmg_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dmg_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-dmg_CXXFLAGS)) + workbench-devs-diskimage-dmg_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-dmg_DXXFLAGS)) + workbench-devs-diskimage-dmg_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-dmg_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-dmg_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-dmg_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-dmg_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-dmg_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-dmg_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dmg_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dmg_CXXFLAGS := $(strip $(workbench-devs-diskimage-dmg_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-dmg_DXXFLAGS := $(workbench-devs-diskimage-dmg_DXXFLAGS) + workbench-devs-diskimage-dmg_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-dmg_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-dmg_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-dmg_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-dmg_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-dmg_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dmg_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dmg_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dmg_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-dmg_CXXFLAGS)) + workbench-devs-diskimage-dmg_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-dmg_DXXFLAGS)) + workbench-devs-diskimage-dmg_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-dmg_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-dmg_CXXCMD) $(workbench-devs-diskimage-dmg_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dmg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_CXXIQUOTE) . $(workbench-devs-diskimage-dmg_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dmg_CXXFLAGS) $(workbench-devs-diskimage-dmg_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-dmg_CXXCMD) $(workbench-devs-diskimage-dmg_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dmg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_CXXIQUOTE) . $(workbench-devs-diskimage-dmg_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dmg_CXXFLAGS) $(workbench-devs-diskimage-dmg_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-dmg_CXXCMD) $(workbench-devs-diskimage-dmg_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dmg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_CXXIQUOTE) . $(workbench-devs-diskimage-dmg_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dmg_CXXFLAGS) $(workbench-devs-diskimage-dmg_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-dmg_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dmg_DXXFLAGS) $(workbench-devs-diskimage-dmg_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-dmg_OBJDIR),) + $(foreach workbench-devs-diskimage-dmg_CXXFILE,$(workbench-devs-diskimage-dmg_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-dmg_CXXFILE))),$(workbench-devs-diskimage-dmg_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-dmg_CXXFILE,$(workbench-devs-diskimage-dmg_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-dmg_CXXFILE)))),$(workbench-devs-diskimage-dmg_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-dmg_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-dmg_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-dmg_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dmg_OBJDIR),) + workbench-devs-diskimage-dmg_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dmg_OBJC_NARCHFILES)) + workbench-devs-diskimage-dmg_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-dmg_OBJC_NARCHFILES)) + workbench-devs-diskimage-dmg_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-dmg_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(workbench-devs-diskimage-dmg_OBJC_NARCHFILES))) + workbench-devs-diskimage-dmg_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(workbench-devs-diskimage-dmg_OBJC_NARCHFILES))) + workbench-devs-diskimage-dmg_MOBJC_WILDCARD := $(workbench-devs-diskimage-dmg_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-dmg_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-dmg_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-dmg_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dmg_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-dmg_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-dmg_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dmg_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-dmg_MOBJC_DIRS),) + workbench-devs-diskimage-dmg_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-dmg_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-dmg_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-dmg_CC := $(TARGET_CC) +else + workbench-devs-diskimage-dmg_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-dmg_CPPFLAGS) +workbench-devs-diskimage-dmg_OBJCFLAGS := $(workbench-devs-diskimage-dmg_CFLAGS) +workbench-devs-diskimage-dmg_OBJCFLAGS := $(workbench-devs-diskimage-dmg_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-dmg_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-dmg_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-dmg_DFLAGS),) + workbench-devs-diskimage-dmg_OBJCDFLAGS := $(workbench-devs-diskimage-dmg_CFLAGS) +else + workbench-devs-diskimage-dmg_OBJCDFLAGS := $(workbench-devs-diskimage-dmg_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-dmg_LINK ?= $(strip $(workbench-devs-diskimage-dmg_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-dmg_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-dmg_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-dmg_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_OBJCDFLAGS:=$(workbench-devs-diskimage-dmg_OBJCDFLAGS) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-dmg_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-dmg_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dmg_OBJCFLAGS)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dmg_OBJCDFLAGS)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-dmg_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-dmg_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dmg_OBJCFLAGS)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dmg_OBJCDFLAGS)) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-dmg_MOBJC_TARGETS) $(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-dmg_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-dmg_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-dmg_OBJCFLAGS) +$(workbench-devs-diskimage-dmg_MOBJC_TARGETS) : $(workbench-devs-diskimage-dmg_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-dmg_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-dmg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dmg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_IQUOTE) . $(workbench-devs-diskimage-dmg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-dmg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dmg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_IQUOTE) . $(workbench-devs-diskimage-dmg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-dmg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dmg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_IQUOTE) . $(workbench-devs-diskimage-dmg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-dmg_MOBJC_DTARGETS) : $(workbench-devs-diskimage-dmg_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-dmg_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dmg_OBJCDFLAGS) $(workbench-devs-diskimage-dmg_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-dmg_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-dmg_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dmg_OBJDIR),) +workbench-devs-diskimage-dmg_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dmg_C_NARCHFILES)) +workbench-devs-diskimage-dmg_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-dmg_C_NARCHFILES)) +workbench-devs-diskimage-dmg_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-dmg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dmg_C_NARCHFILES)))) + workbench-devs-diskimage-dmg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dmg_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-dmg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(workbench-devs-diskimage-dmg_C_NARCHFILES))) + workbench-devs-diskimage-dmg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(workbench-devs-diskimage-dmg_C_NARCHFILES))) +else + workbench-devs-diskimage-dmg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-dmg_C_NARCHFILES)))) + workbench-devs-diskimage-dmg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-dmg_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-dmg_MC_TGTWILDCARD := $(workbench-devs-diskimage-dmg_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-dmg_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-dmg_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-dmg_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dmg_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-dmg_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-dmg_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dmg_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-dmg_MC_DIRS),) + workbench-devs-diskimage-dmg_MC_DIRS := $(shell echo $(workbench-devs-diskimage-dmg_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-dmg_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-dmg_MC_CPPFLAGS := $(workbench-devs-diskimage-dmg_CPPFLAGS) +workbench-devs-diskimage-dmg_CFLAGS := $(workbench-devs-diskimage-dmg_CFLAGS) +ifeq ($(workbench-devs-diskimage-dmg_DFLAGS),) + workbench-devs-diskimage-dmg_DFLAGS := $(workbench-devs-diskimage-dmg_CFLAGS) +else + workbench-devs-diskimage-dmg_DFLAGS := $(workbench-devs-diskimage-dmg_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-dmg_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-dmg_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-dmg_MC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_CFLAGS:=$(strip $(workbench-devs-diskimage-dmg_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_DFLAGS:=$(workbench-devs-diskimage-dmg_DFLAGS) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-dmg_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-dmg_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dmg_CFLAGS)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dmg_DFLAGS)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dmg_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-dmg_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-dmg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MC_CPPFLAGS) $(workbench-devs-diskimage-dmg_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dmg_CFLAGS)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dmg_DFLAGS)) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-dmg_MC_TARGETS) $(workbench-devs-diskimage-dmg_MC_DTARGETS) : workbench-devs-diskimage-dmg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-dmg_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dmg_MC_CPPFLAGS) +$(workbench-devs-diskimage-dmg_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-dmg_CFLAGS) +$(workbench-devs-diskimage-dmg_MC_TARGETS) : $(workbench-devs-diskimage-dmg_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-dmg_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-dmg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dmg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_IQUOTE) . $(workbench-devs-diskimage-dmg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-dmg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dmg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_IQUOTE) . $(workbench-devs-diskimage-dmg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-dmg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dmg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dmg_IQUOTE) . $(workbench-devs-diskimage-dmg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-dmg_MC_DTARGETS) : $(workbench-devs-diskimage-dmg_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-dmg_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dmg_DFLAGS) $(workbench-devs-diskimage-dmg_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-dmg_OBJDIR),) +workbench-devs-diskimage-dmg-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dmg_ASMFILES)) +workbench-devs-diskimage-dmg-MA_WILDCARD := % +else +workbench-devs-diskimage-dmg-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dmg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dmg_ASMFILES)))) +workbench-devs-diskimage-dmg-MA_WILDCARD := $(workbench-devs-diskimage-dmg_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-dmg-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-dmg_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-dmg-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-dmg-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dmg_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-dmg-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-dmg-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dmg-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-dmg-MA_DIRS),) + workbench-devs-diskimage-dmg-MA_DIRS := $(shell echo $(workbench-devs-diskimage-dmg-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-dmg-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-dmg-MA_ASSEMBLER ?= $(workbench-devs-diskimage-dmg_ASSEMBLER) + +$(workbench-devs-diskimage-dmg-MA_TARGETS) : workbench-devs-diskimage-dmg-MA_CMD:= $(workbench-devs-diskimage-dmg-MA_ASSEMBLER) + +$(workbench-devs-diskimage-dmg-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dmg_CPPFLAGS) +$(workbench-devs-diskimage-dmg-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-dmg_AFLAGS) +$(workbench-devs-diskimage-dmg-MA_TARGETS) : $(workbench-devs-diskimage-dmg-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-dmg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-dmg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-dmg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-dmg-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-dmg-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-dmg-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-dmg-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-dmg-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-dmg-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-dmg_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-dmg-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-dmg-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-dmg-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-dmg-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-dmg-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-dmg-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-dmg_LIBS) $(workbench-devs-diskimage-dmg-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-dmg-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-dmg-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-dmg-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-dmg-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-dmg-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-dmg_OBJDIR) +$(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) : OBJS := $(workbench-devs-diskimage-dmg_OBJS) $(workbench-devs-diskimage-dmg_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-dmg_LDFLAGS) $(workbench-devs-diskimage-dmg-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-dmg_LIBS) $(workbench-devs-diskimage-dmg-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) : $(workbench-devs-diskimage-dmg_OBJS) $(workbench-devs-diskimage-dmg_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-dmg-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-dmg_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-dmg_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-dmg_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-dmg_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-dmg_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-dmg_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-dmg_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-dmg_DEPS),) + ifneq (workbench-devs-diskimage-dmg workbench-devs-diskimage-dmg-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-dmg workbench-devs-diskimage-dmg-quick),) + -include $(workbench-devs-diskimage-dmg_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-dmg_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-dmg_OBJS) $(workbench-devs-diskimage-dmg_DEPS) $(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME),) +$(workbench-devs-diskimage-dmg_OBJS) $(workbench-devs-diskimage-dmg_DEPS) $(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) : | $(workbench-devs-diskimage-dmg_OBJDIR) $(workbench-devs-diskimage-dmg_TARGETDIR) +else +$(workbench-devs-diskimage-dmg_OBJS) $(workbench-devs-diskimage-dmg_DEPS) $(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) :: $(workbench-devs-diskimage-dmg_OBJDIR) $(workbench-devs-diskimage-dmg_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-dmg_OBJDIR) $(workbench-devs-diskimage-dmg_TARGETDIR) + + +workbench-devs-diskimage-dmg-clean : FILES := $(workbench-devs-diskimage-dmg_OBJS) $(workbench-devs-diskimage-dmg_TARGETDIR)/$(workbench-devs-diskimage-dmg_PROGNAME) $(workbench-devs-diskimage-dmg_DEPS) +#MM +workbench-devs-diskimage-dmg-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-dmg" + $(Q)$(RM) $(FILES) + + +CFILES := ../dms/crc_csum ../dms/getbits ../dms/tables ../dms/maketbl ../dms/u_init \ + ../dms/u_deep ../dms/u_heavy ../dms/u_medium ../dms/u_quick ../dms/u_rle + + +.PHONY : workbench-devs-diskimage-dms + +workbench-devs-diskimage-dms_PROGNAME := DMS +workbench-devs-diskimage-dms_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-dms_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-dms_LINKER := +workbench-devs-diskimage-dms_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-dms_LINKER),) + workbench-devs-diskimage-dms_LINKER := target +endif + +ifneq ("$(strip stub_aros dms $(CFILES) )","") + workbench-devs-diskimage-dms_FILES := stub_aros dms $(CFILES) + workbench-devs-diskimage-dms_OBJCFILES := + workbench-devs-diskimage-dms_ASMFILES := + workbench-devs-diskimage-dms_CXXFILES := +else + workbench-devs-diskimage-dms_FILES := $(workbench-devs-diskimage-dms_PROGNAME) + workbench-devs-diskimage-dms_OBJCFILES := + workbench-devs-diskimage-dms_ASMFILES := + workbench-devs-diskimage-dms_CXXFILES := +endif + +workbench-devs-diskimage-dms_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-dms_OBJDIR)/arch/*.o) +workbench-devs-diskimage-dms_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-dms_ARCHOBJS))) +workbench-devs-diskimage-dms_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dms_ARCHFILES),$(workbench-devs-diskimage-dms_FILES)) +workbench-devs-diskimage-dms_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dms_ARCHFILES),$(workbench-devs-diskimage-dms_CXXFILES)) +workbench-devs-diskimage-dms_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-dms_ARCHFILES),$(workbench-devs-diskimage-dms_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-dms_C_NARCHFILES) $(workbench-devs-diskimage-dms_CXX_NARCHFILES) $(workbench-devs-diskimage-dms_ASMFILES) $(workbench-devs-diskimage-dms_OBJC_NARCHFILES) +workbench-devs-diskimage-dms_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-dms_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-dms_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-dms_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dms_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dms_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dms_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-dms_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dms_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dms_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dms_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-dms_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-dms_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dms_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dms_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-dms_LDFLAGS := +endif + +workbench-devs-diskimage-dms_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-dms_COVERAGE := yes +workbench-devs-diskimage-dms_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-dms_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-dms_CFLAGS := $(strip $(workbench-devs-diskimage-dms_COVERAGEFLAGS) $(workbench-devs-diskimage-dms_CFLAGS)) +workbench-devs-diskimage-dms_CXXFLAGS := $(strip $(workbench-devs-diskimage-dms_COVERAGEFLAGS) $(workbench-devs-diskimage-dms_CXXFLAGS)) +workbench-devs-diskimage-dms_LIBS += $(workbench-devs-diskimage-dms_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-dms_FUNCINSTR := yes +workbench-devs-diskimage-dms_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-dms_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-dms_CFLAGS := $(strip $(workbench-devs-diskimage-dms_INSTRFUNCFLAGS) $(workbench-devs-diskimage-dms_CFLAGS)) +workbench-devs-diskimage-dms_CXXFLAGS := $(strip $(workbench-devs-diskimage-dms_INSTRFUNCFLAGS) $(workbench-devs-diskimage-dms_CXXFLAGS)) +workbench-devs-diskimage-dms_LIBS += $(workbench-devs-diskimage-dms_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-dms_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-dms_CFLAGS)) +workbench-devs-diskimage-dms_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-dms_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-dms_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-dms_DFLAGS := +else + workbench-devs-diskimage-dms_DFLAGS := $(workbench-devs-diskimage-dms_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-dms_DXXFLAGS := +else + workbench-devs-diskimage-dms_DXXFLAGS := $(workbench-devs-diskimage-dms_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-dms_LDFLAGS := $(workbench-devs-diskimage-dms_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-dms_LDFLAGS := $(workbench-devs-diskimage-dms_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dms_LDFLAGS := $(workbench-devs-diskimage-dms_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-dms_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-dms-quick : workbench-devs-diskimage-dms + +#MM workbench-devs-diskimage-dms : includes-generate-deps core-linklibs +workbench-devs-diskimage-dms : $(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-dms workbench-devs-diskimage-dms-quick workbench-devs-diskimage-dms-gz-quick),) + +workbench-devs-diskimage-dms_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-dms_CXXBASE,$(workbench-devs-diskimage-dms_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-dms_CXXBASE)),$(workbench-devs-diskimage-dms_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-dms_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-dms_CXXABSBASENAMES),) + +workbench-devs-diskimage-dms_CXXBASENAMES := $(basename $(workbench-devs-diskimage-dms_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-dms_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-dms_CXXBASE,$(workbench-devs-diskimage-dms_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-dms_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-dms_EXT),$(workbench-devs-diskimage-dms_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-dms_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-dms_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dms_OBJDIR),) + workbench-devs-diskimage-dms_CXXTARGETS := $(notdir $(workbench-devs-diskimage-dms_CXXBASENAMES:=.o)) + workbench-devs-diskimage-dms_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-dms_CXXBASENAMES:=.d)) + workbench-devs-diskimage-dms_MCXX_WILDCARD := % +else + workbench-devs-diskimage-dms_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dms_CXXBASENAMES:=.o))) + workbench-devs-diskimage-dms_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dms_CXXBASENAMES:=.d))) + workbench-devs-diskimage-dms_MCXX_WILDCARD := $(workbench-devs-diskimage-dms_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-dms_CXXTARGETS) $(workbench-devs-diskimage-dms_CXXDTARGETS) : | $(workbench-devs-diskimage-dms_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-dms_MCXX_CPPFLAGS := $(workbench-devs-diskimage-dms_CPPFLAGS) +workbench-devs-diskimage-dms_CXXFLAGS := $(workbench-devs-diskimage-dms_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-dms_DXXFLAGS),) + workbench-devs-diskimage-dms_DXXFLAGS := $(workbench-devs-diskimage-dms_CXXFLAGS) +else + workbench-devs-diskimage-dms_DXXFLAGS := $(workbench-devs-diskimage-dms_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-dms_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-dms_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-dms_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-dms_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dms_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dms_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dms_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-dms_CXXFLAGS)) + workbench-devs-diskimage-dms_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-dms_DXXFLAGS)) + workbench-devs-diskimage-dms_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-dms_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-dms_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-dms_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-dms_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-dms_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-dms_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dms_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dms_CXXFLAGS := $(strip $(workbench-devs-diskimage-dms_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-dms_DXXFLAGS := $(workbench-devs-diskimage-dms_DXXFLAGS) + workbench-devs-diskimage-dms_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-dms_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-dms_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-dms_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-dms_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-dms_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dms_MCXX_CPPFLAGS) $(workbench-devs-diskimage-dms_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-dms_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-dms_CXXFLAGS)) + workbench-devs-diskimage-dms_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-dms_DXXFLAGS)) + workbench-devs-diskimage-dms_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-dms_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-dms_CXXCMD) $(workbench-devs-diskimage-dms_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dms_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_CXXIQUOTE) . $(workbench-devs-diskimage-dms_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dms_CXXFLAGS) $(workbench-devs-diskimage-dms_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-dms_CXXCMD) $(workbench-devs-diskimage-dms_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dms_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_CXXIQUOTE) . $(workbench-devs-diskimage-dms_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dms_CXXFLAGS) $(workbench-devs-diskimage-dms_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-dms_CXXCMD) $(workbench-devs-diskimage-dms_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-dms_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_CXXIQUOTE) . $(workbench-devs-diskimage-dms_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-dms_CXXFLAGS) $(workbench-devs-diskimage-dms_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-dms_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dms_DXXFLAGS) $(workbench-devs-diskimage-dms_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-dms_OBJDIR),) + $(foreach workbench-devs-diskimage-dms_CXXFILE,$(workbench-devs-diskimage-dms_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-dms_CXXFILE))),$(workbench-devs-diskimage-dms_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-dms_CXXFILE,$(workbench-devs-diskimage-dms_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-dms_CXXFILE)))),$(workbench-devs-diskimage-dms_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-dms_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-dms_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-dms_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dms_OBJDIR),) + workbench-devs-diskimage-dms_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dms_OBJC_NARCHFILES)) + workbench-devs-diskimage-dms_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-dms_OBJC_NARCHFILES)) + workbench-devs-diskimage-dms_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-dms_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(workbench-devs-diskimage-dms_OBJC_NARCHFILES))) + workbench-devs-diskimage-dms_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(workbench-devs-diskimage-dms_OBJC_NARCHFILES))) + workbench-devs-diskimage-dms_MOBJC_WILDCARD := $(workbench-devs-diskimage-dms_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-dms_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-dms_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-dms_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dms_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-dms_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-dms_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dms_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-dms_MOBJC_DIRS),) + workbench-devs-diskimage-dms_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-dms_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-dms_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-dms_CC := $(TARGET_CC) +else + workbench-devs-diskimage-dms_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-dms_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-dms_CPPFLAGS) +workbench-devs-diskimage-dms_OBJCFLAGS := $(workbench-devs-diskimage-dms_CFLAGS) +workbench-devs-diskimage-dms_OBJCFLAGS := $(workbench-devs-diskimage-dms_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-dms_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-dms_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-dms_DFLAGS),) + workbench-devs-diskimage-dms_OBJCDFLAGS := $(workbench-devs-diskimage-dms_CFLAGS) +else + workbench-devs-diskimage-dms_OBJCDFLAGS := $(workbench-devs-diskimage-dms_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-dms_LINK ?= $(strip $(workbench-devs-diskimage-dms_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-dms_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-dms_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-dms_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dms_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-dms_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_OBJCDFLAGS:=$(workbench-devs-diskimage-dms_OBJCDFLAGS) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-dms_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-dms_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dms_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dms_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dms_OBJCFLAGS)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dms_OBJCDFLAGS)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-dms_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-dms_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dms_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-dms_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dms_OBJCFLAGS)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dms_OBJCDFLAGS)) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-dms_MOBJC_TARGETS) $(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-dms_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dms_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-dms_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-dms_OBJCFLAGS) +$(workbench-devs-diskimage-dms_MOBJC_TARGETS) : $(workbench-devs-diskimage-dms_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-dms_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-dms_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dms_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_IQUOTE) . $(workbench-devs-diskimage-dms_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-dms_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dms_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_IQUOTE) . $(workbench-devs-diskimage-dms_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-dms_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dms_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_IQUOTE) . $(workbench-devs-diskimage-dms_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-dms_MOBJC_DTARGETS) : $(workbench-devs-diskimage-dms_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-dms_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dms_OBJCDFLAGS) $(workbench-devs-diskimage-dms_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-dms_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-dms_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-dms_OBJDIR),) +workbench-devs-diskimage-dms_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dms_C_NARCHFILES)) +workbench-devs-diskimage-dms_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-dms_C_NARCHFILES)) +workbench-devs-diskimage-dms_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-dms_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dms_C_NARCHFILES)))) + workbench-devs-diskimage-dms_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dms_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-dms_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(workbench-devs-diskimage-dms_C_NARCHFILES))) + workbench-devs-diskimage-dms_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(workbench-devs-diskimage-dms_C_NARCHFILES))) +else + workbench-devs-diskimage-dms_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-dms_C_NARCHFILES)))) + workbench-devs-diskimage-dms_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-dms_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-dms_MC_TGTWILDCARD := $(workbench-devs-diskimage-dms_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-dms_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-dms_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-dms_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dms_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-dms_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-dms_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dms_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-dms_MC_DIRS),) + workbench-devs-diskimage-dms_MC_DIRS := $(shell echo $(workbench-devs-diskimage-dms_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-dms_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-dms_MC_CPPFLAGS := $(workbench-devs-diskimage-dms_CPPFLAGS) +workbench-devs-diskimage-dms_CFLAGS := $(workbench-devs-diskimage-dms_CFLAGS) +ifeq ($(workbench-devs-diskimage-dms_DFLAGS),) + workbench-devs-diskimage-dms_DFLAGS := $(workbench-devs-diskimage-dms_CFLAGS) +else + workbench-devs-diskimage-dms_DFLAGS := $(workbench-devs-diskimage-dms_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-dms_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-dms_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-dms_MC_CPPFLAGS) $(workbench-devs-diskimage-dms_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_CFLAGS:=$(strip $(workbench-devs-diskimage-dms_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_DFLAGS:=$(workbench-devs-diskimage-dms_DFLAGS) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-dms_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-dms_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-dms_MC_CPPFLAGS) $(workbench-devs-diskimage-dms_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dms_CFLAGS)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-dms_DFLAGS)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-dms_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-dms_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-dms_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-dms_MC_CPPFLAGS) $(workbench-devs-diskimage-dms_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dms_CFLAGS)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-dms_DFLAGS)) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-dms_MC_TARGETS) $(workbench-devs-diskimage-dms_MC_DTARGETS) : workbench-devs-diskimage-dms_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-dms_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dms_MC_CPPFLAGS) +$(workbench-devs-diskimage-dms_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-dms_CFLAGS) +$(workbench-devs-diskimage-dms_MC_TARGETS) : $(workbench-devs-diskimage-dms_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-dms_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-dms_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dms_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_IQUOTE) . $(workbench-devs-diskimage-dms_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-dms_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dms_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_IQUOTE) . $(workbench-devs-diskimage-dms_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-dms_IQUOTE) $(dir $<) $(workbench-devs-diskimage-dms_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-dms_IQUOTE) . $(workbench-devs-diskimage-dms_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-dms_MC_DTARGETS) : $(workbench-devs-diskimage-dms_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-dms_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-dms_DFLAGS) $(workbench-devs-diskimage-dms_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-dms_OBJDIR),) +workbench-devs-diskimage-dms-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-dms_ASMFILES)) +workbench-devs-diskimage-dms-MA_WILDCARD := % +else +workbench-devs-diskimage-dms-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-dms_OBJDIR)/,$(notdir $(workbench-devs-diskimage-dms_ASMFILES)))) +workbench-devs-diskimage-dms-MA_WILDCARD := $(workbench-devs-diskimage-dms_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-dms-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-dms_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-dms-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-dms-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-dms_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-dms-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-dms-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-dms-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-dms-MA_DIRS),) + workbench-devs-diskimage-dms-MA_DIRS := $(shell echo $(workbench-devs-diskimage-dms-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-dms-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-dms-MA_ASSEMBLER ?= $(workbench-devs-diskimage-dms_ASSEMBLER) + +$(workbench-devs-diskimage-dms-MA_TARGETS) : workbench-devs-diskimage-dms-MA_CMD:= $(workbench-devs-diskimage-dms-MA_ASSEMBLER) + +$(workbench-devs-diskimage-dms-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-dms_CPPFLAGS) +$(workbench-devs-diskimage-dms-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-dms_AFLAGS) +$(workbench-devs-diskimage-dms-MA_TARGETS) : $(workbench-devs-diskimage-dms-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-dms-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-dms-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-dms-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-dms-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-dms-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-dms-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-dms-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-dms-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-dms-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-dms_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-dms-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-dms-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-dms-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-dms-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-dms-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-dms-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-dms_LIBS) $(workbench-devs-diskimage-dms-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-dms-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-dms-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-dms-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-dms-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-dms-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-dms_OBJDIR) +$(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) : OBJS := $(workbench-devs-diskimage-dms_OBJS) $(workbench-devs-diskimage-dms_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-dms_LDFLAGS) $(workbench-devs-diskimage-dms-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-dms_LIBS) $(workbench-devs-diskimage-dms-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) : $(workbench-devs-diskimage-dms_OBJS) $(workbench-devs-diskimage-dms_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-dms-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-dms_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-dms_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-dms_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-dms_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-dms_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-dms_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-dms_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-dms_DEPS),) + ifneq (workbench-devs-diskimage-dms workbench-devs-diskimage-dms-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-dms workbench-devs-diskimage-dms-quick),) + -include $(workbench-devs-diskimage-dms_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-dms_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-dms_OBJS) $(workbench-devs-diskimage-dms_DEPS) $(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME),) +$(workbench-devs-diskimage-dms_OBJS) $(workbench-devs-diskimage-dms_DEPS) $(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) : | $(workbench-devs-diskimage-dms_OBJDIR) $(workbench-devs-diskimage-dms_TARGETDIR) +else +$(workbench-devs-diskimage-dms_OBJS) $(workbench-devs-diskimage-dms_DEPS) $(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) :: $(workbench-devs-diskimage-dms_OBJDIR) $(workbench-devs-diskimage-dms_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-dms_OBJDIR) $(workbench-devs-diskimage-dms_TARGETDIR) + + +workbench-devs-diskimage-dms-clean : FILES := $(workbench-devs-diskimage-dms_OBJS) $(workbench-devs-diskimage-dms_TARGETDIR)/$(workbench-devs-diskimage-dms_PROGNAME) $(workbench-devs-diskimage-dms_DEPS) +#MM +workbench-devs-diskimage-dms-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-dms" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-fdi + +workbench-devs-diskimage-fdi_PROGNAME := FDI +workbench-devs-diskimage-fdi_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-fdi_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-fdi_LINKER := +workbench-devs-diskimage-fdi_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-fdi_LINKER),) + workbench-devs-diskimage-fdi_LINKER := target +endif + +ifneq ("$(strip stub_aros fdi/fdi fdi/fdi2raw )","") + workbench-devs-diskimage-fdi_FILES := stub_aros fdi/fdi fdi/fdi2raw + workbench-devs-diskimage-fdi_OBJCFILES := + workbench-devs-diskimage-fdi_ASMFILES := + workbench-devs-diskimage-fdi_CXXFILES := +else + workbench-devs-diskimage-fdi_FILES := $(workbench-devs-diskimage-fdi_PROGNAME) + workbench-devs-diskimage-fdi_OBJCFILES := + workbench-devs-diskimage-fdi_ASMFILES := + workbench-devs-diskimage-fdi_CXXFILES := +endif + +workbench-devs-diskimage-fdi_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-fdi_OBJDIR)/arch/*.o) +workbench-devs-diskimage-fdi_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-fdi_ARCHOBJS))) +workbench-devs-diskimage-fdi_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-fdi_ARCHFILES),$(workbench-devs-diskimage-fdi_FILES)) +workbench-devs-diskimage-fdi_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-fdi_ARCHFILES),$(workbench-devs-diskimage-fdi_CXXFILES)) +workbench-devs-diskimage-fdi_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-fdi_ARCHFILES),$(workbench-devs-diskimage-fdi_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-fdi_C_NARCHFILES) $(workbench-devs-diskimage-fdi_CXX_NARCHFILES) $(workbench-devs-diskimage-fdi_ASMFILES) $(workbench-devs-diskimage-fdi_OBJC_NARCHFILES) +workbench-devs-diskimage-fdi_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-fdi_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-fdi_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-fdi_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-fdi_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-fdi_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-fdi_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-fdi_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-fdi_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-fdi_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-fdi_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-fdi_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-fdi_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-fdi_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-fdi_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-fdi_LDFLAGS := +endif + +workbench-devs-diskimage-fdi_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-fdi_COVERAGE := yes +workbench-devs-diskimage-fdi_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-fdi_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-fdi_CFLAGS := $(strip $(workbench-devs-diskimage-fdi_COVERAGEFLAGS) $(workbench-devs-diskimage-fdi_CFLAGS)) +workbench-devs-diskimage-fdi_CXXFLAGS := $(strip $(workbench-devs-diskimage-fdi_COVERAGEFLAGS) $(workbench-devs-diskimage-fdi_CXXFLAGS)) +workbench-devs-diskimage-fdi_LIBS += $(workbench-devs-diskimage-fdi_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-fdi_FUNCINSTR := yes +workbench-devs-diskimage-fdi_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-fdi_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-fdi_CFLAGS := $(strip $(workbench-devs-diskimage-fdi_INSTRFUNCFLAGS) $(workbench-devs-diskimage-fdi_CFLAGS)) +workbench-devs-diskimage-fdi_CXXFLAGS := $(strip $(workbench-devs-diskimage-fdi_INSTRFUNCFLAGS) $(workbench-devs-diskimage-fdi_CXXFLAGS)) +workbench-devs-diskimage-fdi_LIBS += $(workbench-devs-diskimage-fdi_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-fdi_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-fdi_CFLAGS)) +workbench-devs-diskimage-fdi_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-fdi_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-fdi_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-fdi_DFLAGS := +else + workbench-devs-diskimage-fdi_DFLAGS := $(workbench-devs-diskimage-fdi_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-fdi_DXXFLAGS := +else + workbench-devs-diskimage-fdi_DXXFLAGS := $(workbench-devs-diskimage-fdi_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-fdi_LDFLAGS := $(workbench-devs-diskimage-fdi_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-fdi_LDFLAGS := $(workbench-devs-diskimage-fdi_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-fdi_LDFLAGS := $(workbench-devs-diskimage-fdi_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-fdi_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-fdi-quick : workbench-devs-diskimage-fdi + +#MM workbench-devs-diskimage-fdi : includes-generate-deps core-linklibs +workbench-devs-diskimage-fdi : $(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-fdi workbench-devs-diskimage-fdi-quick workbench-devs-diskimage-fdi-gz-quick),) + +workbench-devs-diskimage-fdi_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-fdi_CXXBASE,$(workbench-devs-diskimage-fdi_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-fdi_CXXBASE)),$(workbench-devs-diskimage-fdi_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-fdi_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-fdi_CXXABSBASENAMES),) + +workbench-devs-diskimage-fdi_CXXBASENAMES := $(basename $(workbench-devs-diskimage-fdi_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-fdi_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-fdi_CXXBASE,$(workbench-devs-diskimage-fdi_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-fdi_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-fdi_EXT),$(workbench-devs-diskimage-fdi_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-fdi_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-fdi_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-fdi_OBJDIR),) + workbench-devs-diskimage-fdi_CXXTARGETS := $(notdir $(workbench-devs-diskimage-fdi_CXXBASENAMES:=.o)) + workbench-devs-diskimage-fdi_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-fdi_CXXBASENAMES:=.d)) + workbench-devs-diskimage-fdi_MCXX_WILDCARD := % +else + workbench-devs-diskimage-fdi_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-fdi_CXXBASENAMES:=.o))) + workbench-devs-diskimage-fdi_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-fdi_CXXBASENAMES:=.d))) + workbench-devs-diskimage-fdi_MCXX_WILDCARD := $(workbench-devs-diskimage-fdi_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-fdi_CXXTARGETS) $(workbench-devs-diskimage-fdi_CXXDTARGETS) : | $(workbench-devs-diskimage-fdi_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-fdi_MCXX_CPPFLAGS := $(workbench-devs-diskimage-fdi_CPPFLAGS) +workbench-devs-diskimage-fdi_CXXFLAGS := $(workbench-devs-diskimage-fdi_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-fdi_DXXFLAGS),) + workbench-devs-diskimage-fdi_DXXFLAGS := $(workbench-devs-diskimage-fdi_CXXFLAGS) +else + workbench-devs-diskimage-fdi_DXXFLAGS := $(workbench-devs-diskimage-fdi_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-fdi_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-fdi_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-fdi_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-fdi_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-fdi_MCXX_CPPFLAGS) $(workbench-devs-diskimage-fdi_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-fdi_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-fdi_CXXFLAGS)) + workbench-devs-diskimage-fdi_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-fdi_DXXFLAGS)) + workbench-devs-diskimage-fdi_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-fdi_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-fdi_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-fdi_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-fdi_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-fdi_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-fdi_MCXX_CPPFLAGS) $(workbench-devs-diskimage-fdi_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-fdi_CXXFLAGS := $(strip $(workbench-devs-diskimage-fdi_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-fdi_DXXFLAGS := $(workbench-devs-diskimage-fdi_DXXFLAGS) + workbench-devs-diskimage-fdi_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-fdi_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-fdi_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-fdi_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-fdi_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-fdi_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-fdi_MCXX_CPPFLAGS) $(workbench-devs-diskimage-fdi_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-fdi_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-fdi_CXXFLAGS)) + workbench-devs-diskimage-fdi_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-fdi_DXXFLAGS)) + workbench-devs-diskimage-fdi_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-fdi_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-fdi_CXXCMD) $(workbench-devs-diskimage-fdi_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-fdi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_CXXIQUOTE) . $(workbench-devs-diskimage-fdi_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-fdi_CXXFLAGS) $(workbench-devs-diskimage-fdi_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-fdi_CXXCMD) $(workbench-devs-diskimage-fdi_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-fdi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_CXXIQUOTE) . $(workbench-devs-diskimage-fdi_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-fdi_CXXFLAGS) $(workbench-devs-diskimage-fdi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-fdi_CXXCMD) $(workbench-devs-diskimage-fdi_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-fdi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_CXXIQUOTE) . $(workbench-devs-diskimage-fdi_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-fdi_CXXFLAGS) $(workbench-devs-diskimage-fdi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-fdi_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-fdi_DXXFLAGS) $(workbench-devs-diskimage-fdi_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-fdi_OBJDIR),) + $(foreach workbench-devs-diskimage-fdi_CXXFILE,$(workbench-devs-diskimage-fdi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-fdi_CXXFILE))),$(workbench-devs-diskimage-fdi_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-fdi_CXXFILE,$(workbench-devs-diskimage-fdi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-fdi_CXXFILE)))),$(workbench-devs-diskimage-fdi_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-fdi_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-fdi_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-fdi_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-fdi_OBJDIR),) + workbench-devs-diskimage-fdi_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-fdi_OBJC_NARCHFILES)) + workbench-devs-diskimage-fdi_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-fdi_OBJC_NARCHFILES)) + workbench-devs-diskimage-fdi_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-fdi_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(workbench-devs-diskimage-fdi_OBJC_NARCHFILES))) + workbench-devs-diskimage-fdi_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(workbench-devs-diskimage-fdi_OBJC_NARCHFILES))) + workbench-devs-diskimage-fdi_MOBJC_WILDCARD := $(workbench-devs-diskimage-fdi_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-fdi_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-fdi_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-fdi_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-fdi_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-fdi_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-fdi_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-fdi_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-fdi_MOBJC_DIRS),) + workbench-devs-diskimage-fdi_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-fdi_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-fdi_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-fdi_CC := $(TARGET_CC) +else + workbench-devs-diskimage-fdi_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-fdi_CPPFLAGS) +workbench-devs-diskimage-fdi_OBJCFLAGS := $(workbench-devs-diskimage-fdi_CFLAGS) +workbench-devs-diskimage-fdi_OBJCFLAGS := $(workbench-devs-diskimage-fdi_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-fdi_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-fdi_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-fdi_DFLAGS),) + workbench-devs-diskimage-fdi_OBJCDFLAGS := $(workbench-devs-diskimage-fdi_CFLAGS) +else + workbench-devs-diskimage-fdi_OBJCDFLAGS := $(workbench-devs-diskimage-fdi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-fdi_LINK ?= $(strip $(workbench-devs-diskimage-fdi_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-fdi_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-fdi_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-fdi_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_OBJCDFLAGS:=$(workbench-devs-diskimage-fdi_OBJCDFLAGS) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-fdi_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-fdi_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-fdi_OBJCFLAGS)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-fdi_OBJCDFLAGS)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-fdi_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-fdi_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-fdi_OBJCFLAGS)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-fdi_OBJCDFLAGS)) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-fdi_MOBJC_TARGETS) $(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-fdi_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-fdi_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-fdi_OBJCFLAGS) +$(workbench-devs-diskimage-fdi_MOBJC_TARGETS) : $(workbench-devs-diskimage-fdi_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-fdi_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-fdi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-fdi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_IQUOTE) . $(workbench-devs-diskimage-fdi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-fdi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-fdi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_IQUOTE) . $(workbench-devs-diskimage-fdi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-fdi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-fdi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_IQUOTE) . $(workbench-devs-diskimage-fdi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-fdi_MOBJC_DTARGETS) : $(workbench-devs-diskimage-fdi_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-fdi_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-fdi_OBJCDFLAGS) $(workbench-devs-diskimage-fdi_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-fdi_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-fdi_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-fdi_OBJDIR),) +workbench-devs-diskimage-fdi_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-fdi_C_NARCHFILES)) +workbench-devs-diskimage-fdi_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-fdi_C_NARCHFILES)) +workbench-devs-diskimage-fdi_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-fdi_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-fdi_C_NARCHFILES)))) + workbench-devs-diskimage-fdi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-fdi_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-fdi_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(workbench-devs-diskimage-fdi_C_NARCHFILES))) + workbench-devs-diskimage-fdi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(workbench-devs-diskimage-fdi_C_NARCHFILES))) +else + workbench-devs-diskimage-fdi_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-fdi_C_NARCHFILES)))) + workbench-devs-diskimage-fdi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-fdi_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-fdi_MC_TGTWILDCARD := $(workbench-devs-diskimage-fdi_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-fdi_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-fdi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-fdi_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-fdi_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-fdi_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-fdi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-fdi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-fdi_MC_DIRS),) + workbench-devs-diskimage-fdi_MC_DIRS := $(shell echo $(workbench-devs-diskimage-fdi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-fdi_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-fdi_MC_CPPFLAGS := $(workbench-devs-diskimage-fdi_CPPFLAGS) +workbench-devs-diskimage-fdi_CFLAGS := $(workbench-devs-diskimage-fdi_CFLAGS) +ifeq ($(workbench-devs-diskimage-fdi_DFLAGS),) + workbench-devs-diskimage-fdi_DFLAGS := $(workbench-devs-diskimage-fdi_CFLAGS) +else + workbench-devs-diskimage-fdi_DFLAGS := $(workbench-devs-diskimage-fdi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-fdi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-fdi_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-fdi_MC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_CFLAGS:=$(strip $(workbench-devs-diskimage-fdi_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_DFLAGS:=$(workbench-devs-diskimage-fdi_DFLAGS) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-fdi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-fdi_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-fdi_CFLAGS)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-fdi_DFLAGS)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-fdi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-fdi_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-fdi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MC_CPPFLAGS) $(workbench-devs-diskimage-fdi_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-fdi_CFLAGS)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-fdi_DFLAGS)) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-fdi_MC_TARGETS) $(workbench-devs-diskimage-fdi_MC_DTARGETS) : workbench-devs-diskimage-fdi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-fdi_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-fdi_MC_CPPFLAGS) +$(workbench-devs-diskimage-fdi_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-fdi_CFLAGS) +$(workbench-devs-diskimage-fdi_MC_TARGETS) : $(workbench-devs-diskimage-fdi_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-fdi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-fdi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-fdi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_IQUOTE) . $(workbench-devs-diskimage-fdi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-fdi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-fdi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_IQUOTE) . $(workbench-devs-diskimage-fdi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-fdi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-fdi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-fdi_IQUOTE) . $(workbench-devs-diskimage-fdi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-fdi_MC_DTARGETS) : $(workbench-devs-diskimage-fdi_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-fdi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-fdi_DFLAGS) $(workbench-devs-diskimage-fdi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-fdi_OBJDIR),) +workbench-devs-diskimage-fdi-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-fdi_ASMFILES)) +workbench-devs-diskimage-fdi-MA_WILDCARD := % +else +workbench-devs-diskimage-fdi-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-fdi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-fdi_ASMFILES)))) +workbench-devs-diskimage-fdi-MA_WILDCARD := $(workbench-devs-diskimage-fdi_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-fdi-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-fdi_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-fdi-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-fdi-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-fdi_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-fdi-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-fdi-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-fdi-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-fdi-MA_DIRS),) + workbench-devs-diskimage-fdi-MA_DIRS := $(shell echo $(workbench-devs-diskimage-fdi-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-fdi-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-fdi-MA_ASSEMBLER ?= $(workbench-devs-diskimage-fdi_ASSEMBLER) + +$(workbench-devs-diskimage-fdi-MA_TARGETS) : workbench-devs-diskimage-fdi-MA_CMD:= $(workbench-devs-diskimage-fdi-MA_ASSEMBLER) + +$(workbench-devs-diskimage-fdi-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-fdi_CPPFLAGS) +$(workbench-devs-diskimage-fdi-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-fdi_AFLAGS) +$(workbench-devs-diskimage-fdi-MA_TARGETS) : $(workbench-devs-diskimage-fdi-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-fdi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-fdi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-fdi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-fdi-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-fdi-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-fdi-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-fdi-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-fdi-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-fdi-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-fdi_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-fdi-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-fdi-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-fdi-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-fdi-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-fdi-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-fdi-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-fdi_LIBS) $(workbench-devs-diskimage-fdi-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-fdi-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-fdi-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-fdi-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-fdi-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-fdi-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-fdi_OBJDIR) +$(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) : OBJS := $(workbench-devs-diskimage-fdi_OBJS) $(workbench-devs-diskimage-fdi_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-fdi_LDFLAGS) $(workbench-devs-diskimage-fdi-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-fdi_LIBS) $(workbench-devs-diskimage-fdi-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) : $(workbench-devs-diskimage-fdi_OBJS) $(workbench-devs-diskimage-fdi_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-fdi-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-fdi_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-fdi_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-fdi_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-fdi_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-fdi_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-fdi_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-fdi_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-fdi_DEPS),) + ifneq (workbench-devs-diskimage-fdi workbench-devs-diskimage-fdi-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-fdi workbench-devs-diskimage-fdi-quick),) + -include $(workbench-devs-diskimage-fdi_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-fdi_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-fdi_OBJS) $(workbench-devs-diskimage-fdi_DEPS) $(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME),) +$(workbench-devs-diskimage-fdi_OBJS) $(workbench-devs-diskimage-fdi_DEPS) $(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) : | $(workbench-devs-diskimage-fdi_OBJDIR) $(workbench-devs-diskimage-fdi_TARGETDIR) +else +$(workbench-devs-diskimage-fdi_OBJS) $(workbench-devs-diskimage-fdi_DEPS) $(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) :: $(workbench-devs-diskimage-fdi_OBJDIR) $(workbench-devs-diskimage-fdi_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-fdi_OBJDIR) $(workbench-devs-diskimage-fdi_TARGETDIR) + + +workbench-devs-diskimage-fdi-clean : FILES := $(workbench-devs-diskimage-fdi_OBJS) $(workbench-devs-diskimage-fdi_TARGETDIR)/$(workbench-devs-diskimage-fdi_PROGNAME) $(workbench-devs-diskimage-fdi_DEPS) +#MM +workbench-devs-diskimage-fdi-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-fdi" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-gi + +workbench-devs-diskimage-gi_PROGNAME := GI +workbench-devs-diskimage-gi_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-gi_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-gi_LINKER := +workbench-devs-diskimage-gi_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-gi_LINKER),) + workbench-devs-diskimage-gi_LINKER := target +endif + +ifneq ("$(strip stub_aros gi )","") + workbench-devs-diskimage-gi_FILES := stub_aros gi + workbench-devs-diskimage-gi_OBJCFILES := + workbench-devs-diskimage-gi_ASMFILES := + workbench-devs-diskimage-gi_CXXFILES := +else + workbench-devs-diskimage-gi_FILES := $(workbench-devs-diskimage-gi_PROGNAME) + workbench-devs-diskimage-gi_OBJCFILES := + workbench-devs-diskimage-gi_ASMFILES := + workbench-devs-diskimage-gi_CXXFILES := +endif + +workbench-devs-diskimage-gi_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-gi_OBJDIR)/arch/*.o) +workbench-devs-diskimage-gi_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-gi_ARCHOBJS))) +workbench-devs-diskimage-gi_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-gi_ARCHFILES),$(workbench-devs-diskimage-gi_FILES)) +workbench-devs-diskimage-gi_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-gi_ARCHFILES),$(workbench-devs-diskimage-gi_CXXFILES)) +workbench-devs-diskimage-gi_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-gi_ARCHFILES),$(workbench-devs-diskimage-gi_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-gi_C_NARCHFILES) $(workbench-devs-diskimage-gi_CXX_NARCHFILES) $(workbench-devs-diskimage-gi_ASMFILES) $(workbench-devs-diskimage-gi_OBJC_NARCHFILES) +workbench-devs-diskimage-gi_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-gi_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-gi_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-gi_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-gi_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-gi_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gi_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-gi_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-gi_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-gi_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gi_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-gi_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-gi_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-gi_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gi_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-gi_LDFLAGS := +endif + +workbench-devs-diskimage-gi_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-gi_COVERAGE := yes +workbench-devs-diskimage-gi_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-gi_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-gi_CFLAGS := $(strip $(workbench-devs-diskimage-gi_COVERAGEFLAGS) $(workbench-devs-diskimage-gi_CFLAGS)) +workbench-devs-diskimage-gi_CXXFLAGS := $(strip $(workbench-devs-diskimage-gi_COVERAGEFLAGS) $(workbench-devs-diskimage-gi_CXXFLAGS)) +workbench-devs-diskimage-gi_LIBS += $(workbench-devs-diskimage-gi_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-gi_FUNCINSTR := yes +workbench-devs-diskimage-gi_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-gi_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-gi_CFLAGS := $(strip $(workbench-devs-diskimage-gi_INSTRFUNCFLAGS) $(workbench-devs-diskimage-gi_CFLAGS)) +workbench-devs-diskimage-gi_CXXFLAGS := $(strip $(workbench-devs-diskimage-gi_INSTRFUNCFLAGS) $(workbench-devs-diskimage-gi_CXXFLAGS)) +workbench-devs-diskimage-gi_LIBS += $(workbench-devs-diskimage-gi_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-gi_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-gi_CFLAGS)) +workbench-devs-diskimage-gi_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-gi_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-gi_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-gi_DFLAGS := +else + workbench-devs-diskimage-gi_DFLAGS := $(workbench-devs-diskimage-gi_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-gi_DXXFLAGS := +else + workbench-devs-diskimage-gi_DXXFLAGS := $(workbench-devs-diskimage-gi_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-gi_LDFLAGS := $(workbench-devs-diskimage-gi_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-gi_LDFLAGS := $(workbench-devs-diskimage-gi_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gi_LDFLAGS := $(workbench-devs-diskimage-gi_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-gi_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-gi-quick : workbench-devs-diskimage-gi + +#MM workbench-devs-diskimage-gi : includes-generate-deps core-linklibs +workbench-devs-diskimage-gi : $(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-gi workbench-devs-diskimage-gi-quick workbench-devs-diskimage-gi-gz-quick),) + +workbench-devs-diskimage-gi_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-gi_CXXBASE,$(workbench-devs-diskimage-gi_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-gi_CXXBASE)),$(workbench-devs-diskimage-gi_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-gi_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-gi_CXXABSBASENAMES),) + +workbench-devs-diskimage-gi_CXXBASENAMES := $(basename $(workbench-devs-diskimage-gi_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-gi_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-gi_CXXBASE,$(workbench-devs-diskimage-gi_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-gi_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-gi_EXT),$(workbench-devs-diskimage-gi_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-gi_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-gi_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-gi_OBJDIR),) + workbench-devs-diskimage-gi_CXXTARGETS := $(notdir $(workbench-devs-diskimage-gi_CXXBASENAMES:=.o)) + workbench-devs-diskimage-gi_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-gi_CXXBASENAMES:=.d)) + workbench-devs-diskimage-gi_MCXX_WILDCARD := % +else + workbench-devs-diskimage-gi_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gi_CXXBASENAMES:=.o))) + workbench-devs-diskimage-gi_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gi_CXXBASENAMES:=.d))) + workbench-devs-diskimage-gi_MCXX_WILDCARD := $(workbench-devs-diskimage-gi_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-gi_CXXTARGETS) $(workbench-devs-diskimage-gi_CXXDTARGETS) : | $(workbench-devs-diskimage-gi_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-gi_MCXX_CPPFLAGS := $(workbench-devs-diskimage-gi_CPPFLAGS) +workbench-devs-diskimage-gi_CXXFLAGS := $(workbench-devs-diskimage-gi_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-gi_DXXFLAGS),) + workbench-devs-diskimage-gi_DXXFLAGS := $(workbench-devs-diskimage-gi_CXXFLAGS) +else + workbench-devs-diskimage-gi_DXXFLAGS := $(workbench-devs-diskimage-gi_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-gi_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-gi_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-gi_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-gi_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gi_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gi_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-gi_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-gi_CXXFLAGS)) + workbench-devs-diskimage-gi_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-gi_DXXFLAGS)) + workbench-devs-diskimage-gi_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-gi_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-gi_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-gi_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-gi_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-gi_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-gi_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gi_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-gi_CXXFLAGS := $(strip $(workbench-devs-diskimage-gi_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-gi_DXXFLAGS := $(workbench-devs-diskimage-gi_DXXFLAGS) + workbench-devs-diskimage-gi_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-gi_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-gi_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-gi_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-gi_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-gi_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gi_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gi_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-gi_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-gi_CXXFLAGS)) + workbench-devs-diskimage-gi_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-gi_DXXFLAGS)) + workbench-devs-diskimage-gi_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-gi_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-gi_CXXCMD) $(workbench-devs-diskimage-gi_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-gi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_CXXIQUOTE) . $(workbench-devs-diskimage-gi_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-gi_CXXFLAGS) $(workbench-devs-diskimage-gi_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-gi_CXXCMD) $(workbench-devs-diskimage-gi_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-gi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_CXXIQUOTE) . $(workbench-devs-diskimage-gi_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-gi_CXXFLAGS) $(workbench-devs-diskimage-gi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-gi_CXXCMD) $(workbench-devs-diskimage-gi_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-gi_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_CXXIQUOTE) . $(workbench-devs-diskimage-gi_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-gi_CXXFLAGS) $(workbench-devs-diskimage-gi_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-gi_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-gi_DXXFLAGS) $(workbench-devs-diskimage-gi_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-gi_OBJDIR),) + $(foreach workbench-devs-diskimage-gi_CXXFILE,$(workbench-devs-diskimage-gi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-gi_CXXFILE))),$(workbench-devs-diskimage-gi_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-gi_CXXFILE,$(workbench-devs-diskimage-gi_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-gi_CXXFILE)))),$(workbench-devs-diskimage-gi_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-gi_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-gi_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-gi_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-gi_OBJDIR),) + workbench-devs-diskimage-gi_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-gi_OBJC_NARCHFILES)) + workbench-devs-diskimage-gi_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-gi_OBJC_NARCHFILES)) + workbench-devs-diskimage-gi_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-gi_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(workbench-devs-diskimage-gi_OBJC_NARCHFILES))) + workbench-devs-diskimage-gi_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(workbench-devs-diskimage-gi_OBJC_NARCHFILES))) + workbench-devs-diskimage-gi_MOBJC_WILDCARD := $(workbench-devs-diskimage-gi_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-gi_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-gi_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-gi_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-gi_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-gi_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-gi_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-gi_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-gi_MOBJC_DIRS),) + workbench-devs-diskimage-gi_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-gi_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-gi_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-gi_CC := $(TARGET_CC) +else + workbench-devs-diskimage-gi_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-gi_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-gi_CPPFLAGS) +workbench-devs-diskimage-gi_OBJCFLAGS := $(workbench-devs-diskimage-gi_CFLAGS) +workbench-devs-diskimage-gi_OBJCFLAGS := $(workbench-devs-diskimage-gi_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-gi_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-gi_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-gi_DFLAGS),) + workbench-devs-diskimage-gi_OBJCDFLAGS := $(workbench-devs-diskimage-gi_CFLAGS) +else + workbench-devs-diskimage-gi_OBJCDFLAGS := $(workbench-devs-diskimage-gi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-gi_LINK ?= $(strip $(workbench-devs-diskimage-gi_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-gi_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-gi_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-gi_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gi_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-gi_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_OBJCDFLAGS:=$(workbench-devs-diskimage-gi_OBJCDFLAGS) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-gi_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-gi_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gi_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gi_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-gi_OBJCFLAGS)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-gi_OBJCDFLAGS)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-gi_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-gi_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gi_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gi_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-gi_OBJCFLAGS)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-gi_OBJCDFLAGS)) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-gi_MOBJC_TARGETS) $(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-gi_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-gi_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-gi_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-gi_OBJCFLAGS) +$(workbench-devs-diskimage-gi_MOBJC_TARGETS) : $(workbench-devs-diskimage-gi_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-gi_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-gi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_IQUOTE) . $(workbench-devs-diskimage-gi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-gi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_IQUOTE) . $(workbench-devs-diskimage-gi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-gi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_IQUOTE) . $(workbench-devs-diskimage-gi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-gi_MOBJC_DTARGETS) : $(workbench-devs-diskimage-gi_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-gi_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-gi_OBJCDFLAGS) $(workbench-devs-diskimage-gi_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-gi_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-gi_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-gi_OBJDIR),) +workbench-devs-diskimage-gi_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-gi_C_NARCHFILES)) +workbench-devs-diskimage-gi_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-gi_C_NARCHFILES)) +workbench-devs-diskimage-gi_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-gi_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gi_C_NARCHFILES)))) + workbench-devs-diskimage-gi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gi_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-gi_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(workbench-devs-diskimage-gi_C_NARCHFILES))) + workbench-devs-diskimage-gi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(workbench-devs-diskimage-gi_C_NARCHFILES))) +else + workbench-devs-diskimage-gi_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-gi_C_NARCHFILES)))) + workbench-devs-diskimage-gi_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-gi_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-gi_MC_TGTWILDCARD := $(workbench-devs-diskimage-gi_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-gi_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-gi_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-gi_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-gi_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-gi_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-gi_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-gi_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-gi_MC_DIRS),) + workbench-devs-diskimage-gi_MC_DIRS := $(shell echo $(workbench-devs-diskimage-gi_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-gi_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-gi_MC_CPPFLAGS := $(workbench-devs-diskimage-gi_CPPFLAGS) +workbench-devs-diskimage-gi_CFLAGS := $(workbench-devs-diskimage-gi_CFLAGS) +ifeq ($(workbench-devs-diskimage-gi_DFLAGS),) + workbench-devs-diskimage-gi_DFLAGS := $(workbench-devs-diskimage-gi_CFLAGS) +else + workbench-devs-diskimage-gi_DFLAGS := $(workbench-devs-diskimage-gi_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-gi_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-gi_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-gi_MC_CPPFLAGS) $(workbench-devs-diskimage-gi_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_CFLAGS:=$(strip $(workbench-devs-diskimage-gi_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_DFLAGS:=$(workbench-devs-diskimage-gi_DFLAGS) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-gi_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-gi_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-gi_MC_CPPFLAGS) $(workbench-devs-diskimage-gi_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-gi_CFLAGS)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-gi_DFLAGS)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gi_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-gi_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-gi_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-gi_MC_CPPFLAGS) $(workbench-devs-diskimage-gi_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-gi_CFLAGS)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-gi_DFLAGS)) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-gi_MC_TARGETS) $(workbench-devs-diskimage-gi_MC_DTARGETS) : workbench-devs-diskimage-gi_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-gi_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-gi_MC_CPPFLAGS) +$(workbench-devs-diskimage-gi_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-gi_CFLAGS) +$(workbench-devs-diskimage-gi_MC_TARGETS) : $(workbench-devs-diskimage-gi_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-gi_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-gi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_IQUOTE) . $(workbench-devs-diskimage-gi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-gi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_IQUOTE) . $(workbench-devs-diskimage-gi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-gi_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gi_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gi_IQUOTE) . $(workbench-devs-diskimage-gi_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-gi_MC_DTARGETS) : $(workbench-devs-diskimage-gi_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-gi_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-gi_DFLAGS) $(workbench-devs-diskimage-gi_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-gi_OBJDIR),) +workbench-devs-diskimage-gi-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-gi_ASMFILES)) +workbench-devs-diskimage-gi-MA_WILDCARD := % +else +workbench-devs-diskimage-gi-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gi_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gi_ASMFILES)))) +workbench-devs-diskimage-gi-MA_WILDCARD := $(workbench-devs-diskimage-gi_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-gi-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-gi_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-gi-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-gi-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-gi_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-gi-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-gi-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-gi-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-gi-MA_DIRS),) + workbench-devs-diskimage-gi-MA_DIRS := $(shell echo $(workbench-devs-diskimage-gi-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-gi-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-gi-MA_ASSEMBLER ?= $(workbench-devs-diskimage-gi_ASSEMBLER) + +$(workbench-devs-diskimage-gi-MA_TARGETS) : workbench-devs-diskimage-gi-MA_CMD:= $(workbench-devs-diskimage-gi-MA_ASSEMBLER) + +$(workbench-devs-diskimage-gi-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-gi_CPPFLAGS) +$(workbench-devs-diskimage-gi-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-gi_AFLAGS) +$(workbench-devs-diskimage-gi-MA_TARGETS) : $(workbench-devs-diskimage-gi-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-gi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-gi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-gi-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-gi-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-gi-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-gi-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-gi-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-gi-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-gi-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-gi_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-gi-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-gi-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-gi-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-gi-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-gi-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-gi-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-gi_LIBS) $(workbench-devs-diskimage-gi-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-gi-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-gi-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-gi-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-gi-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-gi-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-gi_OBJDIR) +$(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) : OBJS := $(workbench-devs-diskimage-gi_OBJS) $(workbench-devs-diskimage-gi_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-gi_LDFLAGS) $(workbench-devs-diskimage-gi-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-gi_LIBS) $(workbench-devs-diskimage-gi-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) : $(workbench-devs-diskimage-gi_OBJS) $(workbench-devs-diskimage-gi_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-gi-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-gi_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-gi_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-gi_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-gi_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-gi_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-gi_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-gi_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-gi_DEPS),) + ifneq (workbench-devs-diskimage-gi workbench-devs-diskimage-gi-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-gi workbench-devs-diskimage-gi-quick),) + -include $(workbench-devs-diskimage-gi_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-gi_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-gi_OBJS) $(workbench-devs-diskimage-gi_DEPS) $(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME),) +$(workbench-devs-diskimage-gi_OBJS) $(workbench-devs-diskimage-gi_DEPS) $(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) : | $(workbench-devs-diskimage-gi_OBJDIR) $(workbench-devs-diskimage-gi_TARGETDIR) +else +$(workbench-devs-diskimage-gi_OBJS) $(workbench-devs-diskimage-gi_DEPS) $(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) :: $(workbench-devs-diskimage-gi_OBJDIR) $(workbench-devs-diskimage-gi_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-gi_OBJDIR) $(workbench-devs-diskimage-gi_TARGETDIR) + + +workbench-devs-diskimage-gi-clean : FILES := $(workbench-devs-diskimage-gi_OBJS) $(workbench-devs-diskimage-gi_TARGETDIR)/$(workbench-devs-diskimage-gi_PROGNAME) $(workbench-devs-diskimage-gi_DEPS) +#MM +workbench-devs-diskimage-gi-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-gi" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-mds + +workbench-devs-diskimage-mds_PROGNAME := MDS +workbench-devs-diskimage-mds_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-mds_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-mds_LINKER := +workbench-devs-diskimage-mds_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-mds_LINKER),) + workbench-devs-diskimage-mds_LINKER := target +endif + +ifneq ("$(strip stub_aros mds )","") + workbench-devs-diskimage-mds_FILES := stub_aros mds + workbench-devs-diskimage-mds_OBJCFILES := + workbench-devs-diskimage-mds_ASMFILES := + workbench-devs-diskimage-mds_CXXFILES := +else + workbench-devs-diskimage-mds_FILES := $(workbench-devs-diskimage-mds_PROGNAME) + workbench-devs-diskimage-mds_OBJCFILES := + workbench-devs-diskimage-mds_ASMFILES := + workbench-devs-diskimage-mds_CXXFILES := +endif + +workbench-devs-diskimage-mds_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-mds_OBJDIR)/arch/*.o) +workbench-devs-diskimage-mds_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-mds_ARCHOBJS))) +workbench-devs-diskimage-mds_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mds_ARCHFILES),$(workbench-devs-diskimage-mds_FILES)) +workbench-devs-diskimage-mds_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mds_ARCHFILES),$(workbench-devs-diskimage-mds_CXXFILES)) +workbench-devs-diskimage-mds_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-mds_ARCHFILES),$(workbench-devs-diskimage-mds_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-mds_C_NARCHFILES) $(workbench-devs-diskimage-mds_CXX_NARCHFILES) $(workbench-devs-diskimage-mds_ASMFILES) $(workbench-devs-diskimage-mds_OBJC_NARCHFILES) +workbench-devs-diskimage-mds_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-mds_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-mds_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-mds_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mds_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mds_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mds_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-mds_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mds_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mds_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mds_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-mds_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-mds_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mds_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mds_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-mds_LDFLAGS := +endif + +workbench-devs-diskimage-mds_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-mds_COVERAGE := yes +workbench-devs-diskimage-mds_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-mds_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-mds_CFLAGS := $(strip $(workbench-devs-diskimage-mds_COVERAGEFLAGS) $(workbench-devs-diskimage-mds_CFLAGS)) +workbench-devs-diskimage-mds_CXXFLAGS := $(strip $(workbench-devs-diskimage-mds_COVERAGEFLAGS) $(workbench-devs-diskimage-mds_CXXFLAGS)) +workbench-devs-diskimage-mds_LIBS += $(workbench-devs-diskimage-mds_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-mds_FUNCINSTR := yes +workbench-devs-diskimage-mds_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-mds_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-mds_CFLAGS := $(strip $(workbench-devs-diskimage-mds_INSTRFUNCFLAGS) $(workbench-devs-diskimage-mds_CFLAGS)) +workbench-devs-diskimage-mds_CXXFLAGS := $(strip $(workbench-devs-diskimage-mds_INSTRFUNCFLAGS) $(workbench-devs-diskimage-mds_CXXFLAGS)) +workbench-devs-diskimage-mds_LIBS += $(workbench-devs-diskimage-mds_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-mds_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-mds_CFLAGS)) +workbench-devs-diskimage-mds_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-mds_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-mds_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-mds_DFLAGS := +else + workbench-devs-diskimage-mds_DFLAGS := $(workbench-devs-diskimage-mds_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-mds_DXXFLAGS := +else + workbench-devs-diskimage-mds_DXXFLAGS := $(workbench-devs-diskimage-mds_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-mds_LDFLAGS := $(workbench-devs-diskimage-mds_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-mds_LDFLAGS := $(workbench-devs-diskimage-mds_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mds_LDFLAGS := $(workbench-devs-diskimage-mds_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-mds_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-mds-quick : workbench-devs-diskimage-mds + +#MM workbench-devs-diskimage-mds : includes-generate-deps core-linklibs +workbench-devs-diskimage-mds : $(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-mds workbench-devs-diskimage-mds-quick workbench-devs-diskimage-mds-gz-quick),) + +workbench-devs-diskimage-mds_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-mds_CXXBASE,$(workbench-devs-diskimage-mds_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-mds_CXXBASE)),$(workbench-devs-diskimage-mds_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-mds_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-mds_CXXABSBASENAMES),) + +workbench-devs-diskimage-mds_CXXBASENAMES := $(basename $(workbench-devs-diskimage-mds_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-mds_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-mds_CXXBASE,$(workbench-devs-diskimage-mds_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-mds_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-mds_EXT),$(workbench-devs-diskimage-mds_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-mds_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-mds_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mds_OBJDIR),) + workbench-devs-diskimage-mds_CXXTARGETS := $(notdir $(workbench-devs-diskimage-mds_CXXBASENAMES:=.o)) + workbench-devs-diskimage-mds_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-mds_CXXBASENAMES:=.d)) + workbench-devs-diskimage-mds_MCXX_WILDCARD := % +else + workbench-devs-diskimage-mds_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mds_CXXBASENAMES:=.o))) + workbench-devs-diskimage-mds_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mds_CXXBASENAMES:=.d))) + workbench-devs-diskimage-mds_MCXX_WILDCARD := $(workbench-devs-diskimage-mds_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-mds_CXXTARGETS) $(workbench-devs-diskimage-mds_CXXDTARGETS) : | $(workbench-devs-diskimage-mds_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-mds_MCXX_CPPFLAGS := $(workbench-devs-diskimage-mds_CPPFLAGS) +workbench-devs-diskimage-mds_CXXFLAGS := $(workbench-devs-diskimage-mds_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-mds_DXXFLAGS),) + workbench-devs-diskimage-mds_DXXFLAGS := $(workbench-devs-diskimage-mds_CXXFLAGS) +else + workbench-devs-diskimage-mds_DXXFLAGS := $(workbench-devs-diskimage-mds_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-mds_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-mds_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-mds_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-mds_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mds_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mds_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mds_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-mds_CXXFLAGS)) + workbench-devs-diskimage-mds_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-mds_DXXFLAGS)) + workbench-devs-diskimage-mds_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-mds_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-mds_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-mds_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-mds_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-mds_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-mds_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mds_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mds_CXXFLAGS := $(strip $(workbench-devs-diskimage-mds_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-mds_DXXFLAGS := $(workbench-devs-diskimage-mds_DXXFLAGS) + workbench-devs-diskimage-mds_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-mds_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-mds_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-mds_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-mds_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-mds_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mds_MCXX_CPPFLAGS) $(workbench-devs-diskimage-mds_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-mds_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-mds_CXXFLAGS)) + workbench-devs-diskimage-mds_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-mds_DXXFLAGS)) + workbench-devs-diskimage-mds_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-mds_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-mds_CXXCMD) $(workbench-devs-diskimage-mds_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mds_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_CXXIQUOTE) . $(workbench-devs-diskimage-mds_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mds_CXXFLAGS) $(workbench-devs-diskimage-mds_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-mds_CXXCMD) $(workbench-devs-diskimage-mds_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mds_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_CXXIQUOTE) . $(workbench-devs-diskimage-mds_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mds_CXXFLAGS) $(workbench-devs-diskimage-mds_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-mds_CXXCMD) $(workbench-devs-diskimage-mds_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-mds_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_CXXIQUOTE) . $(workbench-devs-diskimage-mds_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-mds_CXXFLAGS) $(workbench-devs-diskimage-mds_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-mds_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mds_DXXFLAGS) $(workbench-devs-diskimage-mds_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-mds_OBJDIR),) + $(foreach workbench-devs-diskimage-mds_CXXFILE,$(workbench-devs-diskimage-mds_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-mds_CXXFILE))),$(workbench-devs-diskimage-mds_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-mds_CXXFILE,$(workbench-devs-diskimage-mds_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-mds_CXXFILE)))),$(workbench-devs-diskimage-mds_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-mds_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-mds_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-mds_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mds_OBJDIR),) + workbench-devs-diskimage-mds_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mds_OBJC_NARCHFILES)) + workbench-devs-diskimage-mds_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-mds_OBJC_NARCHFILES)) + workbench-devs-diskimage-mds_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-mds_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(workbench-devs-diskimage-mds_OBJC_NARCHFILES))) + workbench-devs-diskimage-mds_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(workbench-devs-diskimage-mds_OBJC_NARCHFILES))) + workbench-devs-diskimage-mds_MOBJC_WILDCARD := $(workbench-devs-diskimage-mds_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-mds_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-mds_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-mds_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mds_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-mds_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-mds_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mds_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-mds_MOBJC_DIRS),) + workbench-devs-diskimage-mds_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-mds_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-mds_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-mds_CC := $(TARGET_CC) +else + workbench-devs-diskimage-mds_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-mds_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-mds_CPPFLAGS) +workbench-devs-diskimage-mds_OBJCFLAGS := $(workbench-devs-diskimage-mds_CFLAGS) +workbench-devs-diskimage-mds_OBJCFLAGS := $(workbench-devs-diskimage-mds_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-mds_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-mds_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-mds_DFLAGS),) + workbench-devs-diskimage-mds_OBJCDFLAGS := $(workbench-devs-diskimage-mds_CFLAGS) +else + workbench-devs-diskimage-mds_OBJCDFLAGS := $(workbench-devs-diskimage-mds_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-mds_LINK ?= $(strip $(workbench-devs-diskimage-mds_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-mds_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-mds_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-mds_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mds_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-mds_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_OBJCDFLAGS:=$(workbench-devs-diskimage-mds_OBJCDFLAGS) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-mds_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-mds_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mds_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mds_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mds_OBJCFLAGS)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mds_OBJCDFLAGS)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-mds_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-mds_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mds_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-mds_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mds_OBJCFLAGS)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mds_OBJCDFLAGS)) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-mds_MOBJC_TARGETS) $(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-mds_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mds_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-mds_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-mds_OBJCFLAGS) +$(workbench-devs-diskimage-mds_MOBJC_TARGETS) : $(workbench-devs-diskimage-mds_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-mds_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-mds_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mds_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_IQUOTE) . $(workbench-devs-diskimage-mds_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-mds_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mds_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_IQUOTE) . $(workbench-devs-diskimage-mds_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-mds_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mds_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_IQUOTE) . $(workbench-devs-diskimage-mds_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-mds_MOBJC_DTARGETS) : $(workbench-devs-diskimage-mds_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-mds_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mds_OBJCDFLAGS) $(workbench-devs-diskimage-mds_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-mds_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-mds_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-mds_OBJDIR),) +workbench-devs-diskimage-mds_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mds_C_NARCHFILES)) +workbench-devs-diskimage-mds_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-mds_C_NARCHFILES)) +workbench-devs-diskimage-mds_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-mds_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mds_C_NARCHFILES)))) + workbench-devs-diskimage-mds_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mds_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-mds_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(workbench-devs-diskimage-mds_C_NARCHFILES))) + workbench-devs-diskimage-mds_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(workbench-devs-diskimage-mds_C_NARCHFILES))) +else + workbench-devs-diskimage-mds_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-mds_C_NARCHFILES)))) + workbench-devs-diskimage-mds_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-mds_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-mds_MC_TGTWILDCARD := $(workbench-devs-diskimage-mds_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-mds_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-mds_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-mds_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mds_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-mds_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-mds_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mds_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-mds_MC_DIRS),) + workbench-devs-diskimage-mds_MC_DIRS := $(shell echo $(workbench-devs-diskimage-mds_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-mds_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-mds_MC_CPPFLAGS := $(workbench-devs-diskimage-mds_CPPFLAGS) +workbench-devs-diskimage-mds_CFLAGS := $(workbench-devs-diskimage-mds_CFLAGS) +ifeq ($(workbench-devs-diskimage-mds_DFLAGS),) + workbench-devs-diskimage-mds_DFLAGS := $(workbench-devs-diskimage-mds_CFLAGS) +else + workbench-devs-diskimage-mds_DFLAGS := $(workbench-devs-diskimage-mds_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-mds_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-mds_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-mds_MC_CPPFLAGS) $(workbench-devs-diskimage-mds_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_CFLAGS:=$(strip $(workbench-devs-diskimage-mds_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_DFLAGS:=$(workbench-devs-diskimage-mds_DFLAGS) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-mds_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-mds_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-mds_MC_CPPFLAGS) $(workbench-devs-diskimage-mds_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mds_CFLAGS)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-mds_DFLAGS)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-mds_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-mds_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-mds_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-mds_MC_CPPFLAGS) $(workbench-devs-diskimage-mds_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mds_CFLAGS)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-mds_DFLAGS)) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-mds_MC_TARGETS) $(workbench-devs-diskimage-mds_MC_DTARGETS) : workbench-devs-diskimage-mds_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-mds_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mds_MC_CPPFLAGS) +$(workbench-devs-diskimage-mds_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-mds_CFLAGS) +$(workbench-devs-diskimage-mds_MC_TARGETS) : $(workbench-devs-diskimage-mds_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-mds_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-mds_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mds_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_IQUOTE) . $(workbench-devs-diskimage-mds_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-mds_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mds_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_IQUOTE) . $(workbench-devs-diskimage-mds_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-mds_IQUOTE) $(dir $<) $(workbench-devs-diskimage-mds_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-mds_IQUOTE) . $(workbench-devs-diskimage-mds_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-mds_MC_DTARGETS) : $(workbench-devs-diskimage-mds_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-mds_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-mds_DFLAGS) $(workbench-devs-diskimage-mds_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-mds_OBJDIR),) +workbench-devs-diskimage-mds-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-mds_ASMFILES)) +workbench-devs-diskimage-mds-MA_WILDCARD := % +else +workbench-devs-diskimage-mds-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-mds_OBJDIR)/,$(notdir $(workbench-devs-diskimage-mds_ASMFILES)))) +workbench-devs-diskimage-mds-MA_WILDCARD := $(workbench-devs-diskimage-mds_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-mds-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-mds_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-mds-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-mds-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-mds_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-mds-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-mds-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-mds-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-mds-MA_DIRS),) + workbench-devs-diskimage-mds-MA_DIRS := $(shell echo $(workbench-devs-diskimage-mds-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-mds-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-mds-MA_ASSEMBLER ?= $(workbench-devs-diskimage-mds_ASSEMBLER) + +$(workbench-devs-diskimage-mds-MA_TARGETS) : workbench-devs-diskimage-mds-MA_CMD:= $(workbench-devs-diskimage-mds-MA_ASSEMBLER) + +$(workbench-devs-diskimage-mds-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-mds_CPPFLAGS) +$(workbench-devs-diskimage-mds-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-mds_AFLAGS) +$(workbench-devs-diskimage-mds-MA_TARGETS) : $(workbench-devs-diskimage-mds-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-mds-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-mds-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-mds-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-mds-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-mds-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-mds-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-mds-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-mds-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-mds-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-mds_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-mds-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-mds-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-mds-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-mds-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-mds-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-mds-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-mds_LIBS) $(workbench-devs-diskimage-mds-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-mds-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-mds-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-mds-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-mds-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-mds-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-mds_OBJDIR) +$(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) : OBJS := $(workbench-devs-diskimage-mds_OBJS) $(workbench-devs-diskimage-mds_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-mds_LDFLAGS) $(workbench-devs-diskimage-mds-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-mds_LIBS) $(workbench-devs-diskimage-mds-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) : $(workbench-devs-diskimage-mds_OBJS) $(workbench-devs-diskimage-mds_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-mds-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-mds_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-mds_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-mds_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-mds_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-mds_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-mds_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-mds_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-mds_DEPS),) + ifneq (workbench-devs-diskimage-mds workbench-devs-diskimage-mds-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-mds workbench-devs-diskimage-mds-quick),) + -include $(workbench-devs-diskimage-mds_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-mds_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-mds_OBJS) $(workbench-devs-diskimage-mds_DEPS) $(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME),) +$(workbench-devs-diskimage-mds_OBJS) $(workbench-devs-diskimage-mds_DEPS) $(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) : | $(workbench-devs-diskimage-mds_OBJDIR) $(workbench-devs-diskimage-mds_TARGETDIR) +else +$(workbench-devs-diskimage-mds_OBJS) $(workbench-devs-diskimage-mds_DEPS) $(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) :: $(workbench-devs-diskimage-mds_OBJDIR) $(workbench-devs-diskimage-mds_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-mds_OBJDIR) $(workbench-devs-diskimage-mds_TARGETDIR) + + +workbench-devs-diskimage-mds-clean : FILES := $(workbench-devs-diskimage-mds_OBJS) $(workbench-devs-diskimage-mds_TARGETDIR)/$(workbench-devs-diskimage-mds_PROGNAME) $(workbench-devs-diskimage-mds_DEPS) +#MM +workbench-devs-diskimage-mds-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-mds" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-nrg + +workbench-devs-diskimage-nrg_PROGNAME := NRG +workbench-devs-diskimage-nrg_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-nrg_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-nrg_LINKER := +workbench-devs-diskimage-nrg_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-nrg_LINKER),) + workbench-devs-diskimage-nrg_LINKER := target +endif + +ifneq ("$(strip stub_aros nrg )","") + workbench-devs-diskimage-nrg_FILES := stub_aros nrg + workbench-devs-diskimage-nrg_OBJCFILES := + workbench-devs-diskimage-nrg_ASMFILES := + workbench-devs-diskimage-nrg_CXXFILES := +else + workbench-devs-diskimage-nrg_FILES := $(workbench-devs-diskimage-nrg_PROGNAME) + workbench-devs-diskimage-nrg_OBJCFILES := + workbench-devs-diskimage-nrg_ASMFILES := + workbench-devs-diskimage-nrg_CXXFILES := +endif + +workbench-devs-diskimage-nrg_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-nrg_OBJDIR)/arch/*.o) +workbench-devs-diskimage-nrg_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-nrg_ARCHOBJS))) +workbench-devs-diskimage-nrg_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-nrg_ARCHFILES),$(workbench-devs-diskimage-nrg_FILES)) +workbench-devs-diskimage-nrg_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-nrg_ARCHFILES),$(workbench-devs-diskimage-nrg_CXXFILES)) +workbench-devs-diskimage-nrg_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-nrg_ARCHFILES),$(workbench-devs-diskimage-nrg_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-nrg_C_NARCHFILES) $(workbench-devs-diskimage-nrg_CXX_NARCHFILES) $(workbench-devs-diskimage-nrg_ASMFILES) $(workbench-devs-diskimage-nrg_OBJC_NARCHFILES) +workbench-devs-diskimage-nrg_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-nrg_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-nrg_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-nrg_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-nrg_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-nrg_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-nrg_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-nrg_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-nrg_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-nrg_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-nrg_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-nrg_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-nrg_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-nrg_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-nrg_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-nrg_LDFLAGS := +endif + +workbench-devs-diskimage-nrg_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-nrg_COVERAGE := yes +workbench-devs-diskimage-nrg_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-nrg_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-nrg_CFLAGS := $(strip $(workbench-devs-diskimage-nrg_COVERAGEFLAGS) $(workbench-devs-diskimage-nrg_CFLAGS)) +workbench-devs-diskimage-nrg_CXXFLAGS := $(strip $(workbench-devs-diskimage-nrg_COVERAGEFLAGS) $(workbench-devs-diskimage-nrg_CXXFLAGS)) +workbench-devs-diskimage-nrg_LIBS += $(workbench-devs-diskimage-nrg_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-nrg_FUNCINSTR := yes +workbench-devs-diskimage-nrg_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-nrg_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-nrg_CFLAGS := $(strip $(workbench-devs-diskimage-nrg_INSTRFUNCFLAGS) $(workbench-devs-diskimage-nrg_CFLAGS)) +workbench-devs-diskimage-nrg_CXXFLAGS := $(strip $(workbench-devs-diskimage-nrg_INSTRFUNCFLAGS) $(workbench-devs-diskimage-nrg_CXXFLAGS)) +workbench-devs-diskimage-nrg_LIBS += $(workbench-devs-diskimage-nrg_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-nrg_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-nrg_CFLAGS)) +workbench-devs-diskimage-nrg_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-nrg_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-nrg_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-nrg_DFLAGS := +else + workbench-devs-diskimage-nrg_DFLAGS := $(workbench-devs-diskimage-nrg_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-nrg_DXXFLAGS := +else + workbench-devs-diskimage-nrg_DXXFLAGS := $(workbench-devs-diskimage-nrg_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-nrg_LDFLAGS := $(workbench-devs-diskimage-nrg_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-nrg_LDFLAGS := $(workbench-devs-diskimage-nrg_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-nrg_LDFLAGS := $(workbench-devs-diskimage-nrg_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-nrg_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-nrg-quick : workbench-devs-diskimage-nrg + +#MM workbench-devs-diskimage-nrg : includes-generate-deps core-linklibs +workbench-devs-diskimage-nrg : $(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-nrg workbench-devs-diskimage-nrg-quick workbench-devs-diskimage-nrg-gz-quick),) + +workbench-devs-diskimage-nrg_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-nrg_CXXBASE,$(workbench-devs-diskimage-nrg_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-nrg_CXXBASE)),$(workbench-devs-diskimage-nrg_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-nrg_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-nrg_CXXABSBASENAMES),) + +workbench-devs-diskimage-nrg_CXXBASENAMES := $(basename $(workbench-devs-diskimage-nrg_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-nrg_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-nrg_CXXBASE,$(workbench-devs-diskimage-nrg_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-nrg_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-nrg_EXT),$(workbench-devs-diskimage-nrg_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-nrg_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-nrg_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-nrg_OBJDIR),) + workbench-devs-diskimage-nrg_CXXTARGETS := $(notdir $(workbench-devs-diskimage-nrg_CXXBASENAMES:=.o)) + workbench-devs-diskimage-nrg_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-nrg_CXXBASENAMES:=.d)) + workbench-devs-diskimage-nrg_MCXX_WILDCARD := % +else + workbench-devs-diskimage-nrg_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-nrg_CXXBASENAMES:=.o))) + workbench-devs-diskimage-nrg_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-nrg_CXXBASENAMES:=.d))) + workbench-devs-diskimage-nrg_MCXX_WILDCARD := $(workbench-devs-diskimage-nrg_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-nrg_CXXTARGETS) $(workbench-devs-diskimage-nrg_CXXDTARGETS) : | $(workbench-devs-diskimage-nrg_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-nrg_MCXX_CPPFLAGS := $(workbench-devs-diskimage-nrg_CPPFLAGS) +workbench-devs-diskimage-nrg_CXXFLAGS := $(workbench-devs-diskimage-nrg_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-nrg_DXXFLAGS),) + workbench-devs-diskimage-nrg_DXXFLAGS := $(workbench-devs-diskimage-nrg_CXXFLAGS) +else + workbench-devs-diskimage-nrg_DXXFLAGS := $(workbench-devs-diskimage-nrg_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-nrg_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-nrg_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-nrg_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-nrg_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-nrg_MCXX_CPPFLAGS) $(workbench-devs-diskimage-nrg_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-nrg_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-nrg_CXXFLAGS)) + workbench-devs-diskimage-nrg_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-nrg_DXXFLAGS)) + workbench-devs-diskimage-nrg_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-nrg_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-nrg_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-nrg_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-nrg_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-nrg_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-nrg_MCXX_CPPFLAGS) $(workbench-devs-diskimage-nrg_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-nrg_CXXFLAGS := $(strip $(workbench-devs-diskimage-nrg_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-nrg_DXXFLAGS := $(workbench-devs-diskimage-nrg_DXXFLAGS) + workbench-devs-diskimage-nrg_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-nrg_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-nrg_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-nrg_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-nrg_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-nrg_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-nrg_MCXX_CPPFLAGS) $(workbench-devs-diskimage-nrg_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-nrg_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-nrg_CXXFLAGS)) + workbench-devs-diskimage-nrg_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-nrg_DXXFLAGS)) + workbench-devs-diskimage-nrg_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-nrg_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-nrg_CXXCMD) $(workbench-devs-diskimage-nrg_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-nrg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_CXXIQUOTE) . $(workbench-devs-diskimage-nrg_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-nrg_CXXFLAGS) $(workbench-devs-diskimage-nrg_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-nrg_CXXCMD) $(workbench-devs-diskimage-nrg_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-nrg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_CXXIQUOTE) . $(workbench-devs-diskimage-nrg_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-nrg_CXXFLAGS) $(workbench-devs-diskimage-nrg_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-nrg_CXXCMD) $(workbench-devs-diskimage-nrg_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-nrg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_CXXIQUOTE) . $(workbench-devs-diskimage-nrg_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-nrg_CXXFLAGS) $(workbench-devs-diskimage-nrg_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-nrg_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-nrg_DXXFLAGS) $(workbench-devs-diskimage-nrg_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-nrg_OBJDIR),) + $(foreach workbench-devs-diskimage-nrg_CXXFILE,$(workbench-devs-diskimage-nrg_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-nrg_CXXFILE))),$(workbench-devs-diskimage-nrg_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-nrg_CXXFILE,$(workbench-devs-diskimage-nrg_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-nrg_CXXFILE)))),$(workbench-devs-diskimage-nrg_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-nrg_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-nrg_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-nrg_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-nrg_OBJDIR),) + workbench-devs-diskimage-nrg_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-nrg_OBJC_NARCHFILES)) + workbench-devs-diskimage-nrg_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-nrg_OBJC_NARCHFILES)) + workbench-devs-diskimage-nrg_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-nrg_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(workbench-devs-diskimage-nrg_OBJC_NARCHFILES))) + workbench-devs-diskimage-nrg_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(workbench-devs-diskimage-nrg_OBJC_NARCHFILES))) + workbench-devs-diskimage-nrg_MOBJC_WILDCARD := $(workbench-devs-diskimage-nrg_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-nrg_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-nrg_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-nrg_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-nrg_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-nrg_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-nrg_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-nrg_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-nrg_MOBJC_DIRS),) + workbench-devs-diskimage-nrg_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-nrg_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-nrg_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-nrg_CC := $(TARGET_CC) +else + workbench-devs-diskimage-nrg_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-nrg_CPPFLAGS) +workbench-devs-diskimage-nrg_OBJCFLAGS := $(workbench-devs-diskimage-nrg_CFLAGS) +workbench-devs-diskimage-nrg_OBJCFLAGS := $(workbench-devs-diskimage-nrg_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-nrg_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-nrg_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-nrg_DFLAGS),) + workbench-devs-diskimage-nrg_OBJCDFLAGS := $(workbench-devs-diskimage-nrg_CFLAGS) +else + workbench-devs-diskimage-nrg_OBJCDFLAGS := $(workbench-devs-diskimage-nrg_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-nrg_LINK ?= $(strip $(workbench-devs-diskimage-nrg_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-nrg_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-nrg_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-nrg_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_OBJCDFLAGS:=$(workbench-devs-diskimage-nrg_OBJCDFLAGS) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-nrg_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-nrg_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-nrg_OBJCFLAGS)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-nrg_OBJCDFLAGS)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-nrg_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-nrg_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-nrg_OBJCFLAGS)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-nrg_OBJCDFLAGS)) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-nrg_MOBJC_TARGETS) $(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-nrg_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-nrg_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-nrg_OBJCFLAGS) +$(workbench-devs-diskimage-nrg_MOBJC_TARGETS) : $(workbench-devs-diskimage-nrg_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-nrg_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-nrg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-nrg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_IQUOTE) . $(workbench-devs-diskimage-nrg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-nrg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-nrg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_IQUOTE) . $(workbench-devs-diskimage-nrg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-nrg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-nrg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_IQUOTE) . $(workbench-devs-diskimage-nrg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-nrg_MOBJC_DTARGETS) : $(workbench-devs-diskimage-nrg_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-nrg_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-nrg_OBJCDFLAGS) $(workbench-devs-diskimage-nrg_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-nrg_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-nrg_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-nrg_OBJDIR),) +workbench-devs-diskimage-nrg_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-nrg_C_NARCHFILES)) +workbench-devs-diskimage-nrg_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-nrg_C_NARCHFILES)) +workbench-devs-diskimage-nrg_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-nrg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-nrg_C_NARCHFILES)))) + workbench-devs-diskimage-nrg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-nrg_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-nrg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(workbench-devs-diskimage-nrg_C_NARCHFILES))) + workbench-devs-diskimage-nrg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(workbench-devs-diskimage-nrg_C_NARCHFILES))) +else + workbench-devs-diskimage-nrg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-nrg_C_NARCHFILES)))) + workbench-devs-diskimage-nrg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-nrg_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-nrg_MC_TGTWILDCARD := $(workbench-devs-diskimage-nrg_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-nrg_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-nrg_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-nrg_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-nrg_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-nrg_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-nrg_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-nrg_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-nrg_MC_DIRS),) + workbench-devs-diskimage-nrg_MC_DIRS := $(shell echo $(workbench-devs-diskimage-nrg_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-nrg_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-nrg_MC_CPPFLAGS := $(workbench-devs-diskimage-nrg_CPPFLAGS) +workbench-devs-diskimage-nrg_CFLAGS := $(workbench-devs-diskimage-nrg_CFLAGS) +ifeq ($(workbench-devs-diskimage-nrg_DFLAGS),) + workbench-devs-diskimage-nrg_DFLAGS := $(workbench-devs-diskimage-nrg_CFLAGS) +else + workbench-devs-diskimage-nrg_DFLAGS := $(workbench-devs-diskimage-nrg_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-nrg_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-nrg_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-nrg_MC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_CFLAGS:=$(strip $(workbench-devs-diskimage-nrg_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_DFLAGS:=$(workbench-devs-diskimage-nrg_DFLAGS) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-nrg_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-nrg_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-nrg_CFLAGS)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-nrg_DFLAGS)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-nrg_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-nrg_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-nrg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MC_CPPFLAGS) $(workbench-devs-diskimage-nrg_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-nrg_CFLAGS)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-nrg_DFLAGS)) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-nrg_MC_TARGETS) $(workbench-devs-diskimage-nrg_MC_DTARGETS) : workbench-devs-diskimage-nrg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-nrg_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-nrg_MC_CPPFLAGS) +$(workbench-devs-diskimage-nrg_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-nrg_CFLAGS) +$(workbench-devs-diskimage-nrg_MC_TARGETS) : $(workbench-devs-diskimage-nrg_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-nrg_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-nrg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-nrg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_IQUOTE) . $(workbench-devs-diskimage-nrg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-nrg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-nrg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_IQUOTE) . $(workbench-devs-diskimage-nrg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-nrg_IQUOTE) $(dir $<) $(workbench-devs-diskimage-nrg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-nrg_IQUOTE) . $(workbench-devs-diskimage-nrg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-nrg_MC_DTARGETS) : $(workbench-devs-diskimage-nrg_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-nrg_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-nrg_DFLAGS) $(workbench-devs-diskimage-nrg_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-nrg_OBJDIR),) +workbench-devs-diskimage-nrg-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-nrg_ASMFILES)) +workbench-devs-diskimage-nrg-MA_WILDCARD := % +else +workbench-devs-diskimage-nrg-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-nrg_OBJDIR)/,$(notdir $(workbench-devs-diskimage-nrg_ASMFILES)))) +workbench-devs-diskimage-nrg-MA_WILDCARD := $(workbench-devs-diskimage-nrg_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-nrg-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-nrg_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-nrg-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-nrg-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-nrg_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-nrg-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-nrg-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-nrg-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-nrg-MA_DIRS),) + workbench-devs-diskimage-nrg-MA_DIRS := $(shell echo $(workbench-devs-diskimage-nrg-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-nrg-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-nrg-MA_ASSEMBLER ?= $(workbench-devs-diskimage-nrg_ASSEMBLER) + +$(workbench-devs-diskimage-nrg-MA_TARGETS) : workbench-devs-diskimage-nrg-MA_CMD:= $(workbench-devs-diskimage-nrg-MA_ASSEMBLER) + +$(workbench-devs-diskimage-nrg-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-nrg_CPPFLAGS) +$(workbench-devs-diskimage-nrg-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-nrg_AFLAGS) +$(workbench-devs-diskimage-nrg-MA_TARGETS) : $(workbench-devs-diskimage-nrg-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-nrg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-nrg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-nrg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-nrg-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-nrg-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-nrg-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-nrg-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-nrg-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-nrg-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-nrg_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-nrg-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-nrg-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-nrg-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-nrg-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-nrg-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-nrg-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-nrg_LIBS) $(workbench-devs-diskimage-nrg-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-nrg-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-nrg-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-nrg-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-nrg-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-nrg-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-nrg_OBJDIR) +$(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) : OBJS := $(workbench-devs-diskimage-nrg_OBJS) $(workbench-devs-diskimage-nrg_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-nrg_LDFLAGS) $(workbench-devs-diskimage-nrg-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-nrg_LIBS) $(workbench-devs-diskimage-nrg-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) : $(workbench-devs-diskimage-nrg_OBJS) $(workbench-devs-diskimage-nrg_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-nrg-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-nrg_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-nrg_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-nrg_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-nrg_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-nrg_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-nrg_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-nrg_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-nrg_DEPS),) + ifneq (workbench-devs-diskimage-nrg workbench-devs-diskimage-nrg-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-nrg workbench-devs-diskimage-nrg-quick),) + -include $(workbench-devs-diskimage-nrg_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-nrg_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-nrg_OBJS) $(workbench-devs-diskimage-nrg_DEPS) $(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME),) +$(workbench-devs-diskimage-nrg_OBJS) $(workbench-devs-diskimage-nrg_DEPS) $(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) : | $(workbench-devs-diskimage-nrg_OBJDIR) $(workbench-devs-diskimage-nrg_TARGETDIR) +else +$(workbench-devs-diskimage-nrg_OBJS) $(workbench-devs-diskimage-nrg_DEPS) $(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) :: $(workbench-devs-diskimage-nrg_OBJDIR) $(workbench-devs-diskimage-nrg_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-nrg_OBJDIR) $(workbench-devs-diskimage-nrg_TARGETDIR) + + +workbench-devs-diskimage-nrg-clean : FILES := $(workbench-devs-diskimage-nrg_OBJS) $(workbench-devs-diskimage-nrg_TARGETDIR)/$(workbench-devs-diskimage-nrg_PROGNAME) $(workbench-devs-diskimage-nrg_DEPS) +#MM +workbench-devs-diskimage-nrg-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-nrg" + $(Q)$(RM) $(FILES) + + +#MM workbench-devs-diskimage-uif : workbench-libs-z-linklib + + +.PHONY : workbench-devs-diskimage-uif + +workbench-devs-diskimage-uif_PROGNAME := UIF +workbench-devs-diskimage-uif_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-uif_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-uif_LINKER := +workbench-devs-diskimage-uif_LIBS := diskimagesupport z +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-uif_LINKER),) + workbench-devs-diskimage-uif_LINKER := target +endif + +ifneq ("$(strip stub_aros uif )","") + workbench-devs-diskimage-uif_FILES := stub_aros uif + workbench-devs-diskimage-uif_OBJCFILES := + workbench-devs-diskimage-uif_ASMFILES := + workbench-devs-diskimage-uif_CXXFILES := +else + workbench-devs-diskimage-uif_FILES := $(workbench-devs-diskimage-uif_PROGNAME) + workbench-devs-diskimage-uif_OBJCFILES := + workbench-devs-diskimage-uif_ASMFILES := + workbench-devs-diskimage-uif_CXXFILES := +endif + +workbench-devs-diskimage-uif_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-uif_OBJDIR)/arch/*.o) +workbench-devs-diskimage-uif_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-uif_ARCHOBJS))) +workbench-devs-diskimage-uif_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-uif_ARCHFILES),$(workbench-devs-diskimage-uif_FILES)) +workbench-devs-diskimage-uif_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-uif_ARCHFILES),$(workbench-devs-diskimage-uif_CXXFILES)) +workbench-devs-diskimage-uif_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-uif_ARCHFILES),$(workbench-devs-diskimage-uif_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-uif_C_NARCHFILES) $(workbench-devs-diskimage-uif_CXX_NARCHFILES) $(workbench-devs-diskimage-uif_ASMFILES) $(workbench-devs-diskimage-uif_OBJC_NARCHFILES) +workbench-devs-diskimage-uif_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-uif_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-uif_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-uif_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-uif_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-uif_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-uif_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-uif_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-uif_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-uif_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-uif_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-uif_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-uif_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-uif_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-uif_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-uif_LDFLAGS := +endif + +workbench-devs-diskimage-uif_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-uif_COVERAGE := yes +workbench-devs-diskimage-uif_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-uif_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-uif_CFLAGS := $(strip $(workbench-devs-diskimage-uif_COVERAGEFLAGS) $(workbench-devs-diskimage-uif_CFLAGS)) +workbench-devs-diskimage-uif_CXXFLAGS := $(strip $(workbench-devs-diskimage-uif_COVERAGEFLAGS) $(workbench-devs-diskimage-uif_CXXFLAGS)) +workbench-devs-diskimage-uif_LIBS += $(workbench-devs-diskimage-uif_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-uif_FUNCINSTR := yes +workbench-devs-diskimage-uif_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-uif_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-uif_CFLAGS := $(strip $(workbench-devs-diskimage-uif_INSTRFUNCFLAGS) $(workbench-devs-diskimage-uif_CFLAGS)) +workbench-devs-diskimage-uif_CXXFLAGS := $(strip $(workbench-devs-diskimage-uif_INSTRFUNCFLAGS) $(workbench-devs-diskimage-uif_CXXFLAGS)) +workbench-devs-diskimage-uif_LIBS += $(workbench-devs-diskimage-uif_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-uif_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-uif_CFLAGS)) +workbench-devs-diskimage-uif_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-uif_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-uif_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-uif_DFLAGS := +else + workbench-devs-diskimage-uif_DFLAGS := $(workbench-devs-diskimage-uif_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-uif_DXXFLAGS := +else + workbench-devs-diskimage-uif_DXXFLAGS := $(workbench-devs-diskimage-uif_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-uif_LDFLAGS := $(workbench-devs-diskimage-uif_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-uif_LDFLAGS := $(workbench-devs-diskimage-uif_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-uif_LDFLAGS := $(workbench-devs-diskimage-uif_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-uif_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-uif-quick : workbench-devs-diskimage-uif + +#MM workbench-devs-diskimage-uif : includes-generate-deps core-linklibs +workbench-devs-diskimage-uif : $(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-uif workbench-devs-diskimage-uif-quick workbench-devs-diskimage-uif-gz-quick),) + +workbench-devs-diskimage-uif_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-uif_CXXBASE,$(workbench-devs-diskimage-uif_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-uif_CXXBASE)),$(workbench-devs-diskimage-uif_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-uif_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-uif_CXXABSBASENAMES),) + +workbench-devs-diskimage-uif_CXXBASENAMES := $(basename $(workbench-devs-diskimage-uif_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-uif_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-uif_CXXBASE,$(workbench-devs-diskimage-uif_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-uif_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-uif_EXT),$(workbench-devs-diskimage-uif_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-uif_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-uif_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-uif_OBJDIR),) + workbench-devs-diskimage-uif_CXXTARGETS := $(notdir $(workbench-devs-diskimage-uif_CXXBASENAMES:=.o)) + workbench-devs-diskimage-uif_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-uif_CXXBASENAMES:=.d)) + workbench-devs-diskimage-uif_MCXX_WILDCARD := % +else + workbench-devs-diskimage-uif_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(notdir $(workbench-devs-diskimage-uif_CXXBASENAMES:=.o))) + workbench-devs-diskimage-uif_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(notdir $(workbench-devs-diskimage-uif_CXXBASENAMES:=.d))) + workbench-devs-diskimage-uif_MCXX_WILDCARD := $(workbench-devs-diskimage-uif_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-uif_CXXTARGETS) $(workbench-devs-diskimage-uif_CXXDTARGETS) : | $(workbench-devs-diskimage-uif_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-uif_MCXX_CPPFLAGS := $(workbench-devs-diskimage-uif_CPPFLAGS) +workbench-devs-diskimage-uif_CXXFLAGS := $(workbench-devs-diskimage-uif_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-uif_DXXFLAGS),) + workbench-devs-diskimage-uif_DXXFLAGS := $(workbench-devs-diskimage-uif_CXXFLAGS) +else + workbench-devs-diskimage-uif_DXXFLAGS := $(workbench-devs-diskimage-uif_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-uif_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-uif_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-uif_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-uif_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-uif_MCXX_CPPFLAGS) $(workbench-devs-diskimage-uif_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-uif_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-uif_CXXFLAGS)) + workbench-devs-diskimage-uif_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-uif_DXXFLAGS)) + workbench-devs-diskimage-uif_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-uif_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-uif_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-uif_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-uif_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-uif_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-uif_MCXX_CPPFLAGS) $(workbench-devs-diskimage-uif_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-uif_CXXFLAGS := $(strip $(workbench-devs-diskimage-uif_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-uif_DXXFLAGS := $(workbench-devs-diskimage-uif_DXXFLAGS) + workbench-devs-diskimage-uif_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-uif_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-uif_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-uif_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-uif_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-uif_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-uif_MCXX_CPPFLAGS) $(workbench-devs-diskimage-uif_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-uif_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-uif_CXXFLAGS)) + workbench-devs-diskimage-uif_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-uif_DXXFLAGS)) + workbench-devs-diskimage-uif_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-uif_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-uif_CXXCMD) $(workbench-devs-diskimage-uif_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-uif_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_CXXIQUOTE) . $(workbench-devs-diskimage-uif_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-uif_CXXFLAGS) $(workbench-devs-diskimage-uif_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-uif_CXXCMD) $(workbench-devs-diskimage-uif_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-uif_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_CXXIQUOTE) . $(workbench-devs-diskimage-uif_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-uif_CXXFLAGS) $(workbench-devs-diskimage-uif_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-uif_CXXCMD) $(workbench-devs-diskimage-uif_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-uif_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_CXXIQUOTE) . $(workbench-devs-diskimage-uif_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-uif_CXXFLAGS) $(workbench-devs-diskimage-uif_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-uif_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-uif_DXXFLAGS) $(workbench-devs-diskimage-uif_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-uif_OBJDIR),) + $(foreach workbench-devs-diskimage-uif_CXXFILE,$(workbench-devs-diskimage-uif_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-uif_CXXFILE))),$(workbench-devs-diskimage-uif_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-uif_CXXFILE,$(workbench-devs-diskimage-uif_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-uif_CXXFILE)))),$(workbench-devs-diskimage-uif_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-uif_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-uif_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-uif_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-uif_OBJDIR),) + workbench-devs-diskimage-uif_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-uif_OBJC_NARCHFILES)) + workbench-devs-diskimage-uif_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-uif_OBJC_NARCHFILES)) + workbench-devs-diskimage-uif_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-uif_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(workbench-devs-diskimage-uif_OBJC_NARCHFILES))) + workbench-devs-diskimage-uif_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(workbench-devs-diskimage-uif_OBJC_NARCHFILES))) + workbench-devs-diskimage-uif_MOBJC_WILDCARD := $(workbench-devs-diskimage-uif_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-uif_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-uif_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-uif_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-uif_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-uif_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-uif_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-uif_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-uif_MOBJC_DIRS),) + workbench-devs-diskimage-uif_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-uif_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-uif_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-uif_CC := $(TARGET_CC) +else + workbench-devs-diskimage-uif_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-uif_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-uif_CPPFLAGS) +workbench-devs-diskimage-uif_OBJCFLAGS := $(workbench-devs-diskimage-uif_CFLAGS) +workbench-devs-diskimage-uif_OBJCFLAGS := $(workbench-devs-diskimage-uif_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-uif_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-uif_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-uif_DFLAGS),) + workbench-devs-diskimage-uif_OBJCDFLAGS := $(workbench-devs-diskimage-uif_CFLAGS) +else + workbench-devs-diskimage-uif_OBJCDFLAGS := $(workbench-devs-diskimage-uif_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-uif_LINK ?= $(strip $(workbench-devs-diskimage-uif_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-uif_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-uif_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-uif_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-uif_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-uif_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_OBJCDFLAGS:=$(workbench-devs-diskimage-uif_OBJCDFLAGS) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-uif_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-uif_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-uif_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-uif_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-uif_OBJCFLAGS)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-uif_OBJCDFLAGS)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-uif_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-uif_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-uif_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-uif_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-uif_OBJCFLAGS)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-uif_OBJCDFLAGS)) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-uif_MOBJC_TARGETS) $(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-uif_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-uif_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-uif_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-uif_OBJCFLAGS) +$(workbench-devs-diskimage-uif_MOBJC_TARGETS) : $(workbench-devs-diskimage-uif_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-uif_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-uif_IQUOTE) $(dir $<) $(workbench-devs-diskimage-uif_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_IQUOTE) . $(workbench-devs-diskimage-uif_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-uif_IQUOTE) $(dir $<) $(workbench-devs-diskimage-uif_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_IQUOTE) . $(workbench-devs-diskimage-uif_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-uif_IQUOTE) $(dir $<) $(workbench-devs-diskimage-uif_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_IQUOTE) . $(workbench-devs-diskimage-uif_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-uif_MOBJC_DTARGETS) : $(workbench-devs-diskimage-uif_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-uif_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-uif_OBJCDFLAGS) $(workbench-devs-diskimage-uif_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-uif_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-uif_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-uif_OBJDIR),) +workbench-devs-diskimage-uif_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-uif_C_NARCHFILES)) +workbench-devs-diskimage-uif_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-uif_C_NARCHFILES)) +workbench-devs-diskimage-uif_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-uif_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(notdir $(workbench-devs-diskimage-uif_C_NARCHFILES)))) + workbench-devs-diskimage-uif_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(notdir $(workbench-devs-diskimage-uif_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-uif_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(workbench-devs-diskimage-uif_C_NARCHFILES))) + workbench-devs-diskimage-uif_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(workbench-devs-diskimage-uif_C_NARCHFILES))) +else + workbench-devs-diskimage-uif_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-uif_C_NARCHFILES)))) + workbench-devs-diskimage-uif_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-uif_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-uif_MC_TGTWILDCARD := $(workbench-devs-diskimage-uif_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-uif_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-uif_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-uif_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-uif_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-uif_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-uif_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-uif_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-uif_MC_DIRS),) + workbench-devs-diskimage-uif_MC_DIRS := $(shell echo $(workbench-devs-diskimage-uif_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-uif_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-uif_MC_CPPFLAGS := $(workbench-devs-diskimage-uif_CPPFLAGS) +workbench-devs-diskimage-uif_CFLAGS := $(workbench-devs-diskimage-uif_CFLAGS) +ifeq ($(workbench-devs-diskimage-uif_DFLAGS),) + workbench-devs-diskimage-uif_DFLAGS := $(workbench-devs-diskimage-uif_CFLAGS) +else + workbench-devs-diskimage-uif_DFLAGS := $(workbench-devs-diskimage-uif_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-uif_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-uif_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-uif_MC_CPPFLAGS) $(workbench-devs-diskimage-uif_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_CFLAGS:=$(strip $(workbench-devs-diskimage-uif_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_DFLAGS:=$(workbench-devs-diskimage-uif_DFLAGS) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-uif_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-uif_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-uif_MC_CPPFLAGS) $(workbench-devs-diskimage-uif_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-uif_CFLAGS)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-uif_DFLAGS)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-uif_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-uif_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-uif_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-uif_MC_CPPFLAGS) $(workbench-devs-diskimage-uif_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-uif_CFLAGS)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-uif_DFLAGS)) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-uif_MC_TARGETS) $(workbench-devs-diskimage-uif_MC_DTARGETS) : workbench-devs-diskimage-uif_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-uif_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-uif_MC_CPPFLAGS) +$(workbench-devs-diskimage-uif_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-uif_CFLAGS) +$(workbench-devs-diskimage-uif_MC_TARGETS) : $(workbench-devs-diskimage-uif_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-uif_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-uif_IQUOTE) $(dir $<) $(workbench-devs-diskimage-uif_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_IQUOTE) . $(workbench-devs-diskimage-uif_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-uif_IQUOTE) $(dir $<) $(workbench-devs-diskimage-uif_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_IQUOTE) . $(workbench-devs-diskimage-uif_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-uif_IQUOTE) $(dir $<) $(workbench-devs-diskimage-uif_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-uif_IQUOTE) . $(workbench-devs-diskimage-uif_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-uif_MC_DTARGETS) : $(workbench-devs-diskimage-uif_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-uif_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-uif_DFLAGS) $(workbench-devs-diskimage-uif_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-uif_OBJDIR),) +workbench-devs-diskimage-uif-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-uif_ASMFILES)) +workbench-devs-diskimage-uif-MA_WILDCARD := % +else +workbench-devs-diskimage-uif-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-uif_OBJDIR)/,$(notdir $(workbench-devs-diskimage-uif_ASMFILES)))) +workbench-devs-diskimage-uif-MA_WILDCARD := $(workbench-devs-diskimage-uif_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-uif-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-uif_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-uif-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-uif-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-uif_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-uif-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-uif-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-uif-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-uif-MA_DIRS),) + workbench-devs-diskimage-uif-MA_DIRS := $(shell echo $(workbench-devs-diskimage-uif-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-uif-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-uif-MA_ASSEMBLER ?= $(workbench-devs-diskimage-uif_ASSEMBLER) + +$(workbench-devs-diskimage-uif-MA_TARGETS) : workbench-devs-diskimage-uif-MA_CMD:= $(workbench-devs-diskimage-uif-MA_ASSEMBLER) + +$(workbench-devs-diskimage-uif-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-uif_CPPFLAGS) +$(workbench-devs-diskimage-uif-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-uif_AFLAGS) +$(workbench-devs-diskimage-uif-MA_TARGETS) : $(workbench-devs-diskimage-uif-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-uif-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-uif-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-uif-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-uif-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-uif-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-uif-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-uif-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-uif-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-uif-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-uif_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-uif-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-uif-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-uif-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-uif-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-uif-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-uif-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-uif_LIBS) $(workbench-devs-diskimage-uif-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-uif-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-uif-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-uif-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-uif-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-uif-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-uif_OBJDIR) +$(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) : OBJS := $(workbench-devs-diskimage-uif_OBJS) $(workbench-devs-diskimage-uif_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-uif_LDFLAGS) $(workbench-devs-diskimage-uif-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-uif_LIBS) $(workbench-devs-diskimage-uif-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) : $(workbench-devs-diskimage-uif_OBJS) $(workbench-devs-diskimage-uif_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-uif-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-uif_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-uif_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-uif_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-uif_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-uif_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-uif_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-uif_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-uif_DEPS),) + ifneq (workbench-devs-diskimage-uif workbench-devs-diskimage-uif-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-uif workbench-devs-diskimage-uif-quick),) + -include $(workbench-devs-diskimage-uif_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-uif_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-uif_OBJS) $(workbench-devs-diskimage-uif_DEPS) $(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME),) +$(workbench-devs-diskimage-uif_OBJS) $(workbench-devs-diskimage-uif_DEPS) $(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) : | $(workbench-devs-diskimage-uif_OBJDIR) $(workbench-devs-diskimage-uif_TARGETDIR) +else +$(workbench-devs-diskimage-uif_OBJS) $(workbench-devs-diskimage-uif_DEPS) $(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) :: $(workbench-devs-diskimage-uif_OBJDIR) $(workbench-devs-diskimage-uif_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-uif_OBJDIR) $(workbench-devs-diskimage-uif_TARGETDIR) + + +workbench-devs-diskimage-uif-clean : FILES := $(workbench-devs-diskimage-uif_OBJS) $(workbench-devs-diskimage-uif_TARGETDIR)/$(workbench-devs-diskimage-uif_PROGNAME) $(workbench-devs-diskimage-uif_DEPS) +#MM +workbench-devs-diskimage-uif-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-uif" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-xad + +workbench-devs-diskimage-xad_PROGNAME := XAD +workbench-devs-diskimage-xad_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-xad_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-xad_LINKER := +workbench-devs-diskimage-xad_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-xad_LINKER),) + workbench-devs-diskimage-xad_LINKER := target +endif + +ifneq ("$(strip stub_aros xad )","") + workbench-devs-diskimage-xad_FILES := stub_aros xad + workbench-devs-diskimage-xad_OBJCFILES := + workbench-devs-diskimage-xad_ASMFILES := + workbench-devs-diskimage-xad_CXXFILES := +else + workbench-devs-diskimage-xad_FILES := $(workbench-devs-diskimage-xad_PROGNAME) + workbench-devs-diskimage-xad_OBJCFILES := + workbench-devs-diskimage-xad_ASMFILES := + workbench-devs-diskimage-xad_CXXFILES := +endif + +workbench-devs-diskimage-xad_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-xad_OBJDIR)/arch/*.o) +workbench-devs-diskimage-xad_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-xad_ARCHOBJS))) +workbench-devs-diskimage-xad_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-xad_ARCHFILES),$(workbench-devs-diskimage-xad_FILES)) +workbench-devs-diskimage-xad_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-xad_ARCHFILES),$(workbench-devs-diskimage-xad_CXXFILES)) +workbench-devs-diskimage-xad_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-xad_ARCHFILES),$(workbench-devs-diskimage-xad_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-xad_C_NARCHFILES) $(workbench-devs-diskimage-xad_CXX_NARCHFILES) $(workbench-devs-diskimage-xad_ASMFILES) $(workbench-devs-diskimage-xad_OBJC_NARCHFILES) +workbench-devs-diskimage-xad_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-xad_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-xad_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-xad_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-xad_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-xad_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xad_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-xad_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-xad_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-xad_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xad_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-xad_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-xad_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-xad_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xad_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-xad_LDFLAGS := +endif + +workbench-devs-diskimage-xad_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-xad_COVERAGE := yes +workbench-devs-diskimage-xad_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-xad_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-xad_CFLAGS := $(strip $(workbench-devs-diskimage-xad_COVERAGEFLAGS) $(workbench-devs-diskimage-xad_CFLAGS)) +workbench-devs-diskimage-xad_CXXFLAGS := $(strip $(workbench-devs-diskimage-xad_COVERAGEFLAGS) $(workbench-devs-diskimage-xad_CXXFLAGS)) +workbench-devs-diskimage-xad_LIBS += $(workbench-devs-diskimage-xad_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-xad_FUNCINSTR := yes +workbench-devs-diskimage-xad_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-xad_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-xad_CFLAGS := $(strip $(workbench-devs-diskimage-xad_INSTRFUNCFLAGS) $(workbench-devs-diskimage-xad_CFLAGS)) +workbench-devs-diskimage-xad_CXXFLAGS := $(strip $(workbench-devs-diskimage-xad_INSTRFUNCFLAGS) $(workbench-devs-diskimage-xad_CXXFLAGS)) +workbench-devs-diskimage-xad_LIBS += $(workbench-devs-diskimage-xad_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-xad_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-xad_CFLAGS)) +workbench-devs-diskimage-xad_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-xad_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-xad_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-xad_DFLAGS := +else + workbench-devs-diskimage-xad_DFLAGS := $(workbench-devs-diskimage-xad_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-xad_DXXFLAGS := +else + workbench-devs-diskimage-xad_DXXFLAGS := $(workbench-devs-diskimage-xad_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-xad_LDFLAGS := $(workbench-devs-diskimage-xad_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-xad_LDFLAGS := $(workbench-devs-diskimage-xad_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xad_LDFLAGS := $(workbench-devs-diskimage-xad_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-xad_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-xad-quick : workbench-devs-diskimage-xad + +#MM workbench-devs-diskimage-xad : includes-generate-deps core-linklibs +workbench-devs-diskimage-xad : $(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-xad workbench-devs-diskimage-xad-quick workbench-devs-diskimage-xad-gz-quick),) + +workbench-devs-diskimage-xad_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-xad_CXXBASE,$(workbench-devs-diskimage-xad_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-xad_CXXBASE)),$(workbench-devs-diskimage-xad_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-xad_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-xad_CXXABSBASENAMES),) + +workbench-devs-diskimage-xad_CXXBASENAMES := $(basename $(workbench-devs-diskimage-xad_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-xad_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-xad_CXXBASE,$(workbench-devs-diskimage-xad_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-xad_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-xad_EXT),$(workbench-devs-diskimage-xad_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-xad_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-xad_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-xad_OBJDIR),) + workbench-devs-diskimage-xad_CXXTARGETS := $(notdir $(workbench-devs-diskimage-xad_CXXBASENAMES:=.o)) + workbench-devs-diskimage-xad_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-xad_CXXBASENAMES:=.d)) + workbench-devs-diskimage-xad_MCXX_WILDCARD := % +else + workbench-devs-diskimage-xad_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xad_CXXBASENAMES:=.o))) + workbench-devs-diskimage-xad_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xad_CXXBASENAMES:=.d))) + workbench-devs-diskimage-xad_MCXX_WILDCARD := $(workbench-devs-diskimage-xad_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-xad_CXXTARGETS) $(workbench-devs-diskimage-xad_CXXDTARGETS) : | $(workbench-devs-diskimage-xad_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-xad_MCXX_CPPFLAGS := $(workbench-devs-diskimage-xad_CPPFLAGS) +workbench-devs-diskimage-xad_CXXFLAGS := $(workbench-devs-diskimage-xad_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-xad_DXXFLAGS),) + workbench-devs-diskimage-xad_DXXFLAGS := $(workbench-devs-diskimage-xad_CXXFLAGS) +else + workbench-devs-diskimage-xad_DXXFLAGS := $(workbench-devs-diskimage-xad_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-xad_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-xad_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-xad_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-xad_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xad_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xad_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-xad_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-xad_CXXFLAGS)) + workbench-devs-diskimage-xad_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-xad_DXXFLAGS)) + workbench-devs-diskimage-xad_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-xad_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-xad_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-xad_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-xad_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-xad_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-xad_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xad_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-xad_CXXFLAGS := $(strip $(workbench-devs-diskimage-xad_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-xad_DXXFLAGS := $(workbench-devs-diskimage-xad_DXXFLAGS) + workbench-devs-diskimage-xad_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-xad_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-xad_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-xad_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-xad_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-xad_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xad_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xad_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-xad_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-xad_CXXFLAGS)) + workbench-devs-diskimage-xad_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-xad_DXXFLAGS)) + workbench-devs-diskimage-xad_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-xad_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-xad_CXXCMD) $(workbench-devs-diskimage-xad_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-xad_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_CXXIQUOTE) . $(workbench-devs-diskimage-xad_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-xad_CXXFLAGS) $(workbench-devs-diskimage-xad_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-xad_CXXCMD) $(workbench-devs-diskimage-xad_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-xad_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_CXXIQUOTE) . $(workbench-devs-diskimage-xad_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-xad_CXXFLAGS) $(workbench-devs-diskimage-xad_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-xad_CXXCMD) $(workbench-devs-diskimage-xad_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-xad_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_CXXIQUOTE) . $(workbench-devs-diskimage-xad_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-xad_CXXFLAGS) $(workbench-devs-diskimage-xad_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-xad_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-xad_DXXFLAGS) $(workbench-devs-diskimage-xad_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-xad_OBJDIR),) + $(foreach workbench-devs-diskimage-xad_CXXFILE,$(workbench-devs-diskimage-xad_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-xad_CXXFILE))),$(workbench-devs-diskimage-xad_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-xad_CXXFILE,$(workbench-devs-diskimage-xad_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-xad_CXXFILE)))),$(workbench-devs-diskimage-xad_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-xad_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-xad_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-xad_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-xad_OBJDIR),) + workbench-devs-diskimage-xad_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-xad_OBJC_NARCHFILES)) + workbench-devs-diskimage-xad_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-xad_OBJC_NARCHFILES)) + workbench-devs-diskimage-xad_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-xad_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(workbench-devs-diskimage-xad_OBJC_NARCHFILES))) + workbench-devs-diskimage-xad_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(workbench-devs-diskimage-xad_OBJC_NARCHFILES))) + workbench-devs-diskimage-xad_MOBJC_WILDCARD := $(workbench-devs-diskimage-xad_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-xad_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-xad_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-xad_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-xad_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-xad_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-xad_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-xad_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-xad_MOBJC_DIRS),) + workbench-devs-diskimage-xad_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-xad_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-xad_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-xad_CC := $(TARGET_CC) +else + workbench-devs-diskimage-xad_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-xad_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-xad_CPPFLAGS) +workbench-devs-diskimage-xad_OBJCFLAGS := $(workbench-devs-diskimage-xad_CFLAGS) +workbench-devs-diskimage-xad_OBJCFLAGS := $(workbench-devs-diskimage-xad_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-xad_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-xad_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-xad_DFLAGS),) + workbench-devs-diskimage-xad_OBJCDFLAGS := $(workbench-devs-diskimage-xad_CFLAGS) +else + workbench-devs-diskimage-xad_OBJCDFLAGS := $(workbench-devs-diskimage-xad_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-xad_LINK ?= $(strip $(workbench-devs-diskimage-xad_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-xad_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-xad_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-xad_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xad_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-xad_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_OBJCDFLAGS:=$(workbench-devs-diskimage-xad_OBJCDFLAGS) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-xad_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-xad_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xad_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xad_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-xad_OBJCFLAGS)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-xad_OBJCDFLAGS)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-xad_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-xad_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xad_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xad_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-xad_OBJCFLAGS)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-xad_OBJCDFLAGS)) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-xad_MOBJC_TARGETS) $(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-xad_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-xad_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-xad_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-xad_OBJCFLAGS) +$(workbench-devs-diskimage-xad_MOBJC_TARGETS) : $(workbench-devs-diskimage-xad_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-xad_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-xad_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xad_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_IQUOTE) . $(workbench-devs-diskimage-xad_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-xad_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xad_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_IQUOTE) . $(workbench-devs-diskimage-xad_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-xad_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xad_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_IQUOTE) . $(workbench-devs-diskimage-xad_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-xad_MOBJC_DTARGETS) : $(workbench-devs-diskimage-xad_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-xad_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-xad_OBJCDFLAGS) $(workbench-devs-diskimage-xad_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-xad_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-xad_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-xad_OBJDIR),) +workbench-devs-diskimage-xad_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-xad_C_NARCHFILES)) +workbench-devs-diskimage-xad_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-xad_C_NARCHFILES)) +workbench-devs-diskimage-xad_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-xad_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xad_C_NARCHFILES)))) + workbench-devs-diskimage-xad_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xad_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-xad_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(workbench-devs-diskimage-xad_C_NARCHFILES))) + workbench-devs-diskimage-xad_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(workbench-devs-diskimage-xad_C_NARCHFILES))) +else + workbench-devs-diskimage-xad_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-xad_C_NARCHFILES)))) + workbench-devs-diskimage-xad_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-xad_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-xad_MC_TGTWILDCARD := $(workbench-devs-diskimage-xad_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-xad_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-xad_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-xad_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-xad_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-xad_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-xad_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-xad_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-xad_MC_DIRS),) + workbench-devs-diskimage-xad_MC_DIRS := $(shell echo $(workbench-devs-diskimage-xad_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-xad_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-xad_MC_CPPFLAGS := $(workbench-devs-diskimage-xad_CPPFLAGS) +workbench-devs-diskimage-xad_CFLAGS := $(workbench-devs-diskimage-xad_CFLAGS) +ifeq ($(workbench-devs-diskimage-xad_DFLAGS),) + workbench-devs-diskimage-xad_DFLAGS := $(workbench-devs-diskimage-xad_CFLAGS) +else + workbench-devs-diskimage-xad_DFLAGS := $(workbench-devs-diskimage-xad_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-xad_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-xad_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-xad_MC_CPPFLAGS) $(workbench-devs-diskimage-xad_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_CFLAGS:=$(strip $(workbench-devs-diskimage-xad_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_DFLAGS:=$(workbench-devs-diskimage-xad_DFLAGS) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-xad_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-xad_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-xad_MC_CPPFLAGS) $(workbench-devs-diskimage-xad_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-xad_CFLAGS)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-xad_DFLAGS)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xad_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-xad_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-xad_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-xad_MC_CPPFLAGS) $(workbench-devs-diskimage-xad_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-xad_CFLAGS)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-xad_DFLAGS)) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-xad_MC_TARGETS) $(workbench-devs-diskimage-xad_MC_DTARGETS) : workbench-devs-diskimage-xad_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-xad_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-xad_MC_CPPFLAGS) +$(workbench-devs-diskimage-xad_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-xad_CFLAGS) +$(workbench-devs-diskimage-xad_MC_TARGETS) : $(workbench-devs-diskimage-xad_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-xad_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-xad_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xad_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_IQUOTE) . $(workbench-devs-diskimage-xad_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-xad_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xad_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_IQUOTE) . $(workbench-devs-diskimage-xad_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-xad_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xad_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xad_IQUOTE) . $(workbench-devs-diskimage-xad_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-xad_MC_DTARGETS) : $(workbench-devs-diskimage-xad_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-xad_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-xad_DFLAGS) $(workbench-devs-diskimage-xad_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-xad_OBJDIR),) +workbench-devs-diskimage-xad-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-xad_ASMFILES)) +workbench-devs-diskimage-xad-MA_WILDCARD := % +else +workbench-devs-diskimage-xad-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xad_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xad_ASMFILES)))) +workbench-devs-diskimage-xad-MA_WILDCARD := $(workbench-devs-diskimage-xad_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-xad-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-xad_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-xad-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-xad-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-xad_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-xad-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-xad-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-xad-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-xad-MA_DIRS),) + workbench-devs-diskimage-xad-MA_DIRS := $(shell echo $(workbench-devs-diskimage-xad-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-xad-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-xad-MA_ASSEMBLER ?= $(workbench-devs-diskimage-xad_ASSEMBLER) + +$(workbench-devs-diskimage-xad-MA_TARGETS) : workbench-devs-diskimage-xad-MA_CMD:= $(workbench-devs-diskimage-xad-MA_ASSEMBLER) + +$(workbench-devs-diskimage-xad-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-xad_CPPFLAGS) +$(workbench-devs-diskimage-xad-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-xad_AFLAGS) +$(workbench-devs-diskimage-xad-MA_TARGETS) : $(workbench-devs-diskimage-xad-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-xad-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-xad-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-xad-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-xad-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-xad-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-xad-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-xad-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-xad-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-xad-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-xad_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-xad-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-xad-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-xad-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-xad-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-xad-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-xad-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-xad_LIBS) $(workbench-devs-diskimage-xad-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-xad-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-xad-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-xad-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-xad-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-xad-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-xad_OBJDIR) +$(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) : OBJS := $(workbench-devs-diskimage-xad_OBJS) $(workbench-devs-diskimage-xad_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-xad_LDFLAGS) $(workbench-devs-diskimage-xad-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-xad_LIBS) $(workbench-devs-diskimage-xad-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) : $(workbench-devs-diskimage-xad_OBJS) $(workbench-devs-diskimage-xad_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-xad-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-xad_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-xad_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-xad_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-xad_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-xad_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-xad_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-xad_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-xad_DEPS),) + ifneq (workbench-devs-diskimage-xad workbench-devs-diskimage-xad-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-xad workbench-devs-diskimage-xad-quick),) + -include $(workbench-devs-diskimage-xad_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-xad_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-xad_OBJS) $(workbench-devs-diskimage-xad_DEPS) $(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME),) +$(workbench-devs-diskimage-xad_OBJS) $(workbench-devs-diskimage-xad_DEPS) $(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) : | $(workbench-devs-diskimage-xad_OBJDIR) $(workbench-devs-diskimage-xad_TARGETDIR) +else +$(workbench-devs-diskimage-xad_OBJS) $(workbench-devs-diskimage-xad_DEPS) $(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) :: $(workbench-devs-diskimage-xad_OBJDIR) $(workbench-devs-diskimage-xad_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-xad_OBJDIR) $(workbench-devs-diskimage-xad_TARGETDIR) + + +workbench-devs-diskimage-xad-clean : FILES := $(workbench-devs-diskimage-xad_OBJS) $(workbench-devs-diskimage-xad_TARGETDIR)/$(workbench-devs-diskimage-xad_PROGNAME) $(workbench-devs-diskimage-xad_DEPS) +#MM +workbench-devs-diskimage-xad-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-xad" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-xpk + +workbench-devs-diskimage-xpk_PROGNAME := XPK +workbench-devs-diskimage-xpk_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-xpk_TARGETDIR := $(TARGETDIR) +workbench-devs-diskimage-xpk_LINKER := +workbench-devs-diskimage-xpk_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-xpk_LINKER),) + workbench-devs-diskimage-xpk_LINKER := target +endif + +ifneq ("$(strip stub_aros xpk )","") + workbench-devs-diskimage-xpk_FILES := stub_aros xpk + workbench-devs-diskimage-xpk_OBJCFILES := + workbench-devs-diskimage-xpk_ASMFILES := + workbench-devs-diskimage-xpk_CXXFILES := +else + workbench-devs-diskimage-xpk_FILES := $(workbench-devs-diskimage-xpk_PROGNAME) + workbench-devs-diskimage-xpk_OBJCFILES := + workbench-devs-diskimage-xpk_ASMFILES := + workbench-devs-diskimage-xpk_CXXFILES := +endif + +workbench-devs-diskimage-xpk_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-xpk_OBJDIR)/arch/*.o) +workbench-devs-diskimage-xpk_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-xpk_ARCHOBJS))) +workbench-devs-diskimage-xpk_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-xpk_ARCHFILES),$(workbench-devs-diskimage-xpk_FILES)) +workbench-devs-diskimage-xpk_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-xpk_ARCHFILES),$(workbench-devs-diskimage-xpk_CXXFILES)) +workbench-devs-diskimage-xpk_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-xpk_ARCHFILES),$(workbench-devs-diskimage-xpk_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-xpk_C_NARCHFILES) $(workbench-devs-diskimage-xpk_CXX_NARCHFILES) $(workbench-devs-diskimage-xpk_ASMFILES) $(workbench-devs-diskimage-xpk_OBJC_NARCHFILES) +workbench-devs-diskimage-xpk_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-xpk_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-xpk_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-xpk_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-xpk_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-xpk_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xpk_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-xpk_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-xpk_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-xpk_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xpk_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-xpk_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-xpk_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-xpk_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xpk_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-xpk_LDFLAGS := +endif + +workbench-devs-diskimage-xpk_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-xpk_COVERAGE := yes +workbench-devs-diskimage-xpk_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-xpk_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-xpk_CFLAGS := $(strip $(workbench-devs-diskimage-xpk_COVERAGEFLAGS) $(workbench-devs-diskimage-xpk_CFLAGS)) +workbench-devs-diskimage-xpk_CXXFLAGS := $(strip $(workbench-devs-diskimage-xpk_COVERAGEFLAGS) $(workbench-devs-diskimage-xpk_CXXFLAGS)) +workbench-devs-diskimage-xpk_LIBS += $(workbench-devs-diskimage-xpk_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-xpk_FUNCINSTR := yes +workbench-devs-diskimage-xpk_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-xpk_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-xpk_CFLAGS := $(strip $(workbench-devs-diskimage-xpk_INSTRFUNCFLAGS) $(workbench-devs-diskimage-xpk_CFLAGS)) +workbench-devs-diskimage-xpk_CXXFLAGS := $(strip $(workbench-devs-diskimage-xpk_INSTRFUNCFLAGS) $(workbench-devs-diskimage-xpk_CXXFLAGS)) +workbench-devs-diskimage-xpk_LIBS += $(workbench-devs-diskimage-xpk_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-xpk_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-xpk_CFLAGS)) +workbench-devs-diskimage-xpk_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-xpk_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-xpk_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-xpk_DFLAGS := +else + workbench-devs-diskimage-xpk_DFLAGS := $(workbench-devs-diskimage-xpk_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-xpk_DXXFLAGS := +else + workbench-devs-diskimage-xpk_DXXFLAGS := $(workbench-devs-diskimage-xpk_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-xpk_LDFLAGS := $(workbench-devs-diskimage-xpk_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-xpk_LDFLAGS := $(workbench-devs-diskimage-xpk_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xpk_LDFLAGS := $(workbench-devs-diskimage-xpk_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-xpk_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-xpk-quick : workbench-devs-diskimage-xpk + +#MM workbench-devs-diskimage-xpk : includes-generate-deps core-linklibs +workbench-devs-diskimage-xpk : $(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-xpk workbench-devs-diskimage-xpk-quick workbench-devs-diskimage-xpk-gz-quick),) + +workbench-devs-diskimage-xpk_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-xpk_CXXBASE,$(workbench-devs-diskimage-xpk_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-xpk_CXXBASE)),$(workbench-devs-diskimage-xpk_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-xpk_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-xpk_CXXABSBASENAMES),) + +workbench-devs-diskimage-xpk_CXXBASENAMES := $(basename $(workbench-devs-diskimage-xpk_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-xpk_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-xpk_CXXBASE,$(workbench-devs-diskimage-xpk_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-xpk_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-xpk_EXT),$(workbench-devs-diskimage-xpk_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-xpk_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-xpk_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-xpk_OBJDIR),) + workbench-devs-diskimage-xpk_CXXTARGETS := $(notdir $(workbench-devs-diskimage-xpk_CXXBASENAMES:=.o)) + workbench-devs-diskimage-xpk_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-xpk_CXXBASENAMES:=.d)) + workbench-devs-diskimage-xpk_MCXX_WILDCARD := % +else + workbench-devs-diskimage-xpk_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xpk_CXXBASENAMES:=.o))) + workbench-devs-diskimage-xpk_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xpk_CXXBASENAMES:=.d))) + workbench-devs-diskimage-xpk_MCXX_WILDCARD := $(workbench-devs-diskimage-xpk_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-xpk_CXXTARGETS) $(workbench-devs-diskimage-xpk_CXXDTARGETS) : | $(workbench-devs-diskimage-xpk_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-xpk_MCXX_CPPFLAGS := $(workbench-devs-diskimage-xpk_CPPFLAGS) +workbench-devs-diskimage-xpk_CXXFLAGS := $(workbench-devs-diskimage-xpk_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-xpk_DXXFLAGS),) + workbench-devs-diskimage-xpk_DXXFLAGS := $(workbench-devs-diskimage-xpk_CXXFLAGS) +else + workbench-devs-diskimage-xpk_DXXFLAGS := $(workbench-devs-diskimage-xpk_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-xpk_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-xpk_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-xpk_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-xpk_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xpk_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xpk_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-xpk_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-xpk_CXXFLAGS)) + workbench-devs-diskimage-xpk_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-xpk_DXXFLAGS)) + workbench-devs-diskimage-xpk_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-xpk_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-xpk_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-xpk_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-xpk_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-xpk_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-xpk_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xpk_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-xpk_CXXFLAGS := $(strip $(workbench-devs-diskimage-xpk_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-xpk_DXXFLAGS := $(workbench-devs-diskimage-xpk_DXXFLAGS) + workbench-devs-diskimage-xpk_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-xpk_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-xpk_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-xpk_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-xpk_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-xpk_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xpk_MCXX_CPPFLAGS) $(workbench-devs-diskimage-xpk_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-xpk_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-xpk_CXXFLAGS)) + workbench-devs-diskimage-xpk_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-xpk_DXXFLAGS)) + workbench-devs-diskimage-xpk_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-xpk_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-xpk_CXXCMD) $(workbench-devs-diskimage-xpk_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-xpk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_CXXIQUOTE) . $(workbench-devs-diskimage-xpk_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-xpk_CXXFLAGS) $(workbench-devs-diskimage-xpk_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-xpk_CXXCMD) $(workbench-devs-diskimage-xpk_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-xpk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_CXXIQUOTE) . $(workbench-devs-diskimage-xpk_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-xpk_CXXFLAGS) $(workbench-devs-diskimage-xpk_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-xpk_CXXCMD) $(workbench-devs-diskimage-xpk_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-xpk_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_CXXIQUOTE) . $(workbench-devs-diskimage-xpk_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-xpk_CXXFLAGS) $(workbench-devs-diskimage-xpk_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-xpk_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-xpk_DXXFLAGS) $(workbench-devs-diskimage-xpk_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-xpk_OBJDIR),) + $(foreach workbench-devs-diskimage-xpk_CXXFILE,$(workbench-devs-diskimage-xpk_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-xpk_CXXFILE))),$(workbench-devs-diskimage-xpk_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-xpk_CXXFILE,$(workbench-devs-diskimage-xpk_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-xpk_CXXFILE)))),$(workbench-devs-diskimage-xpk_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-xpk_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-xpk_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-xpk_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-xpk_OBJDIR),) + workbench-devs-diskimage-xpk_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-xpk_OBJC_NARCHFILES)) + workbench-devs-diskimage-xpk_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-xpk_OBJC_NARCHFILES)) + workbench-devs-diskimage-xpk_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-xpk_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(workbench-devs-diskimage-xpk_OBJC_NARCHFILES))) + workbench-devs-diskimage-xpk_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(workbench-devs-diskimage-xpk_OBJC_NARCHFILES))) + workbench-devs-diskimage-xpk_MOBJC_WILDCARD := $(workbench-devs-diskimage-xpk_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-xpk_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-xpk_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-xpk_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-xpk_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-xpk_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-xpk_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-xpk_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-xpk_MOBJC_DIRS),) + workbench-devs-diskimage-xpk_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-xpk_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-xpk_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-xpk_CC := $(TARGET_CC) +else + workbench-devs-diskimage-xpk_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-xpk_CPPFLAGS) +workbench-devs-diskimage-xpk_OBJCFLAGS := $(workbench-devs-diskimage-xpk_CFLAGS) +workbench-devs-diskimage-xpk_OBJCFLAGS := $(workbench-devs-diskimage-xpk_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-xpk_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-xpk_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-xpk_DFLAGS),) + workbench-devs-diskimage-xpk_OBJCDFLAGS := $(workbench-devs-diskimage-xpk_CFLAGS) +else + workbench-devs-diskimage-xpk_OBJCDFLAGS := $(workbench-devs-diskimage-xpk_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-xpk_LINK ?= $(strip $(workbench-devs-diskimage-xpk_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-xpk_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-xpk_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-xpk_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_OBJCDFLAGS:=$(workbench-devs-diskimage-xpk_OBJCDFLAGS) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-xpk_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-xpk_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-xpk_OBJCFLAGS)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-xpk_OBJCDFLAGS)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-xpk_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-xpk_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-xpk_OBJCFLAGS)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-xpk_OBJCDFLAGS)) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-xpk_MOBJC_TARGETS) $(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-xpk_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-xpk_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-xpk_OBJCFLAGS) +$(workbench-devs-diskimage-xpk_MOBJC_TARGETS) : $(workbench-devs-diskimage-xpk_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-xpk_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-xpk_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xpk_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_IQUOTE) . $(workbench-devs-diskimage-xpk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-xpk_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xpk_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_IQUOTE) . $(workbench-devs-diskimage-xpk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-xpk_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xpk_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_IQUOTE) . $(workbench-devs-diskimage-xpk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-xpk_MOBJC_DTARGETS) : $(workbench-devs-diskimage-xpk_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-xpk_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-xpk_OBJCDFLAGS) $(workbench-devs-diskimage-xpk_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-xpk_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-xpk_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-xpk_OBJDIR),) +workbench-devs-diskimage-xpk_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-xpk_C_NARCHFILES)) +workbench-devs-diskimage-xpk_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-xpk_C_NARCHFILES)) +workbench-devs-diskimage-xpk_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-xpk_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xpk_C_NARCHFILES)))) + workbench-devs-diskimage-xpk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xpk_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-xpk_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(workbench-devs-diskimage-xpk_C_NARCHFILES))) + workbench-devs-diskimage-xpk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(workbench-devs-diskimage-xpk_C_NARCHFILES))) +else + workbench-devs-diskimage-xpk_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-xpk_C_NARCHFILES)))) + workbench-devs-diskimage-xpk_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-xpk_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-xpk_MC_TGTWILDCARD := $(workbench-devs-diskimage-xpk_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-xpk_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-xpk_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-xpk_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-xpk_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-xpk_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-xpk_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-xpk_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-xpk_MC_DIRS),) + workbench-devs-diskimage-xpk_MC_DIRS := $(shell echo $(workbench-devs-diskimage-xpk_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-xpk_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-xpk_MC_CPPFLAGS := $(workbench-devs-diskimage-xpk_CPPFLAGS) +workbench-devs-diskimage-xpk_CFLAGS := $(workbench-devs-diskimage-xpk_CFLAGS) +ifeq ($(workbench-devs-diskimage-xpk_DFLAGS),) + workbench-devs-diskimage-xpk_DFLAGS := $(workbench-devs-diskimage-xpk_CFLAGS) +else + workbench-devs-diskimage-xpk_DFLAGS := $(workbench-devs-diskimage-xpk_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-xpk_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-xpk_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-xpk_MC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_CFLAGS:=$(strip $(workbench-devs-diskimage-xpk_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_DFLAGS:=$(workbench-devs-diskimage-xpk_DFLAGS) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-xpk_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-xpk_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-xpk_CFLAGS)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-xpk_DFLAGS)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-xpk_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-xpk_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-xpk_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MC_CPPFLAGS) $(workbench-devs-diskimage-xpk_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-xpk_CFLAGS)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-xpk_DFLAGS)) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-xpk_MC_TARGETS) $(workbench-devs-diskimage-xpk_MC_DTARGETS) : workbench-devs-diskimage-xpk_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-xpk_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-xpk_MC_CPPFLAGS) +$(workbench-devs-diskimage-xpk_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-xpk_CFLAGS) +$(workbench-devs-diskimage-xpk_MC_TARGETS) : $(workbench-devs-diskimage-xpk_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-xpk_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-xpk_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xpk_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_IQUOTE) . $(workbench-devs-diskimage-xpk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-xpk_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xpk_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_IQUOTE) . $(workbench-devs-diskimage-xpk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-xpk_IQUOTE) $(dir $<) $(workbench-devs-diskimage-xpk_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-xpk_IQUOTE) . $(workbench-devs-diskimage-xpk_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-xpk_MC_DTARGETS) : $(workbench-devs-diskimage-xpk_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-xpk_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-xpk_DFLAGS) $(workbench-devs-diskimage-xpk_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-xpk_OBJDIR),) +workbench-devs-diskimage-xpk-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-xpk_ASMFILES)) +workbench-devs-diskimage-xpk-MA_WILDCARD := % +else +workbench-devs-diskimage-xpk-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-xpk_OBJDIR)/,$(notdir $(workbench-devs-diskimage-xpk_ASMFILES)))) +workbench-devs-diskimage-xpk-MA_WILDCARD := $(workbench-devs-diskimage-xpk_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-xpk-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-xpk_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-xpk-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-xpk-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-xpk_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-xpk-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-xpk-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-xpk-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-xpk-MA_DIRS),) + workbench-devs-diskimage-xpk-MA_DIRS := $(shell echo $(workbench-devs-diskimage-xpk-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-xpk-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-xpk-MA_ASSEMBLER ?= $(workbench-devs-diskimage-xpk_ASSEMBLER) + +$(workbench-devs-diskimage-xpk-MA_TARGETS) : workbench-devs-diskimage-xpk-MA_CMD:= $(workbench-devs-diskimage-xpk-MA_ASSEMBLER) + +$(workbench-devs-diskimage-xpk-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-xpk_CPPFLAGS) +$(workbench-devs-diskimage-xpk-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-xpk_AFLAGS) +$(workbench-devs-diskimage-xpk-MA_TARGETS) : $(workbench-devs-diskimage-xpk-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-xpk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-xpk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-xpk-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-xpk-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-xpk-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-xpk-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-devs-diskimage-xpk-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-xpk-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-xpk-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-xpk_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-xpk-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-xpk-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-xpk-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-xpk-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-xpk-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-xpk-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-xpk_LIBS) $(workbench-devs-diskimage-xpk-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-devs-diskimage-xpk-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-xpk-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-xpk-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-xpk-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-xpk-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-xpk_OBJDIR) +$(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) : OBJS := $(workbench-devs-diskimage-xpk_OBJS) $(workbench-devs-diskimage-xpk_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-xpk_LDFLAGS) $(workbench-devs-diskimage-xpk-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-xpk_LIBS) $(workbench-devs-diskimage-xpk-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) : $(workbench-devs-diskimage-xpk_OBJS) $(workbench-devs-diskimage-xpk_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-xpk-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-xpk_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-xpk_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-xpk_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-xpk_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-xpk_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-xpk_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-xpk_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-xpk_DEPS),) + ifneq (workbench-devs-diskimage-xpk workbench-devs-diskimage-xpk-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-xpk workbench-devs-diskimage-xpk-quick),) + -include $(workbench-devs-diskimage-xpk_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-xpk_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-xpk_OBJS) $(workbench-devs-diskimage-xpk_DEPS) $(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME),) +$(workbench-devs-diskimage-xpk_OBJS) $(workbench-devs-diskimage-xpk_DEPS) $(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) : | $(workbench-devs-diskimage-xpk_OBJDIR) $(workbench-devs-diskimage-xpk_TARGETDIR) +else +$(workbench-devs-diskimage-xpk_OBJS) $(workbench-devs-diskimage-xpk_DEPS) $(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) :: $(workbench-devs-diskimage-xpk_OBJDIR) $(workbench-devs-diskimage-xpk_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-xpk_OBJDIR) $(workbench-devs-diskimage-xpk_TARGETDIR) + + +workbench-devs-diskimage-xpk-clean : FILES := $(workbench-devs-diskimage-xpk_OBJS) $(workbench-devs-diskimage-xpk_TARGETDIR)/$(workbench-devs-diskimage-xpk_PROGNAME) $(workbench-devs-diskimage-xpk_DEPS) +#MM +workbench-devs-diskimage-xpk-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-xpk" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/prefs/mmakefile b/workbench/devs/diskimage/prefs/mmakefile new file mode 100644 index 00000000000..5de7fb9b4be --- /dev/null +++ b/workbench/devs/diskimage/prefs/mmakefile @@ -0,0 +1,533 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +BASE_CFLAGS := -DABIV1 -DMIN_OS_VERSION=39 + +# ---------------------------------------------------------------------------------------- + +#MM workbench-devs-diskimage-prefs : includes + +CFILES := prefs readprefs writeprefs +USER_CPPFLAGS := -DABIV1 -DMIN_OS_VERSION=39 +USER_INCLUDES := -I$(AROS_INCLUDES)/SDI \ + -I$(SRCDIR)/$(CURDIR)/../include + + +# assign and generate the local variables used in this macro +workbench-devs-diskimage-prefs_LIBNAME := diskimageprefs +workbench-devs-diskimage-prefs_LINKLIB := $(AROS_LIB)/libdiskimageprefs.a + +workbench-devs-diskimage-prefs_FILES ?= $(CFILES) +workbench-devs-diskimage-prefs_ASMFILES := +workbench-devs-diskimage-prefs_OBJCFILES := +workbench-devs-diskimage-prefs_CXXFILES := + +workbench-devs-diskimage-prefs_OBJDIR ?= $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-prefs_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-prefs_OBJDIR)/arch/*.o) +ifeq (no,no) + workbench-devs-diskimage-prefs_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-prefs_ARCHOBJS))) +else + workbench-devs-diskimage-prefs_ARCHFILES := $(basename $(patsubst $(workbench-devs-diskimage-prefs_OBJDIR)/%,%,$(workbench-devs-diskimage-prefs_ARCHOBJS))) +endif +workbench-devs-diskimage-prefs_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-prefs_ARCHFILES),$(workbench-devs-diskimage-prefs_FILES)) +workbench-devs-diskimage-prefs_C_FILES ?= $(workbench-devs-diskimage-prefs_C_NARCHFILES) +workbench-devs-diskimage-prefs_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-prefs_ARCHFILES),$(workbench-devs-diskimage-prefs_CXXFILES)) +workbench-devs-diskimage-prefs_CXX_FILES ?= $(workbench-devs-diskimage-prefs_CXX_NARCHFILES) +workbench-devs-diskimage-prefs_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-prefs_ARCHFILES),$(workbench-devs-diskimage-prefs_OBJCFILES)) +workbench-devs-diskimage-prefs_OBJC_FILES ?= $(workbench-devs-diskimage-prefs_OBJC_NARCHFILES) + +ifeq (no,no) + workbench-devs-diskimage-prefs_OBJ_FILES ?= $(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(notdir $(workbench-devs-diskimage-prefs_C_NARCHFILES:=.o) $(workbench-devs-diskimage-prefs_CXX_NARCHFILES:=.o) $(workbench-devs-diskimage-prefs_ASMFILES:=.o) $(workbench-devs-diskimage-prefs_OBJC_NARCHFILES:=.o))) +else + workbench-devs-diskimage-prefs_OBJ_FILES ?= $(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(workbench-devs-diskimage-prefs_C_NARCHFILES:=.o) $(workbench-devs-diskimage-prefs_CXX_NARCHFILES:=.o) $(workbench-devs-diskimage-prefs_ASMFILES:=.o) $(workbench-devs-diskimage-prefs_OBJC_NARCHFILES:=.o)) +endif +workbench-devs-diskimage-prefs_OBJS ?= $(workbench-devs-diskimage-prefs_ARCHOBJS) $(workbench-devs-diskimage-prefs_OBJ_FILES) +workbench-devs-diskimage-prefs_DEPS := $(patsubst %.o,%.d,$(workbench-devs-diskimage-prefs_OBJS)) + +workbench-devs-diskimage-prefs_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-devs-diskimage-prefs_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-prefs_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-prefs_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-prefs_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-prefs_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-prefs_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-prefs_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-prefs_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-prefs_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + workbench-devs-diskimage-prefs_CFLAGS := $(strip $(LTO_CFLAGS) $(workbench-devs-diskimage-prefs_CFLAGS)) + workbench-devs-diskimage-prefs_CXXFLAGS := $(strip $(LTO_CFLAGS) $(workbench-devs-diskimage-prefs_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-prefs_AFLAGS := $(AFLAGS) +workbench-devs-diskimage-prefs_DFLAGS := +ifneq (,) + workbench-devs-diskimage-prefs_DFLAGS := +else + workbench-devs-diskimage-prefs_DFLAGS := $(workbench-devs-diskimage-prefs_CFLAGS) +endif +workbench-devs-diskimage-prefs_DXXFLAGS := +ifneq (,) + workbench-devs-diskimage-prefs_DXXFLAGS := +else + workbench-devs-diskimage-prefs_DXXFLAGS := $(workbench-devs-diskimage-prefs_CXXFLAGS) +endif + +.PHONY : workbench-devs-diskimage-prefs workbench-devs-diskimage-prefs-clean workbench-devs-diskimage-prefs-quick + +#MM +workbench-devs-diskimage-prefs-quick : workbench-devs-diskimage-prefs + +#MM workbench-devs-diskimage-prefs : includes-generate-deps +workbench-devs-diskimage-prefs : $(workbench-devs-diskimage-prefs_LINKLIB) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-prefs workbench-devs-diskimage-prefs-quick),) + + +workbench-devs-diskimage-prefs_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-prefs_CXXBASE,$(workbench-devs-diskimage-prefs_CXX_FILES),$(if $(filter /%,$(workbench-devs-diskimage-prefs_CXXBASE)),$(workbench-devs-diskimage-prefs_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-prefs_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-prefs_CXXABSBASENAMES),) + +workbench-devs-diskimage-prefs_CXXBASENAMES := $(basename $(workbench-devs-diskimage-prefs_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-prefs_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-prefs_CXXBASE,$(workbench-devs-diskimage-prefs_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-prefs_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-prefs_EXT),$(workbench-devs-diskimage-prefs_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-prefs_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-prefs_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-prefs_OBJDIR),) + workbench-devs-diskimage-prefs_CXXTARGETS := $(notdir $(workbench-devs-diskimage-prefs_CXXBASENAMES:=.o)) + workbench-devs-diskimage-prefs_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-prefs_CXXBASENAMES:=.d)) + workbench-devs-diskimage-prefs_MCXX_WILDCARD := % +else + workbench-devs-diskimage-prefs_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(notdir $(workbench-devs-diskimage-prefs_CXXBASENAMES:=.o))) + workbench-devs-diskimage-prefs_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(notdir $(workbench-devs-diskimage-prefs_CXXBASENAMES:=.d))) + workbench-devs-diskimage-prefs_MCXX_WILDCARD := $(workbench-devs-diskimage-prefs_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-prefs_CXXTARGETS) $(workbench-devs-diskimage-prefs_CXXDTARGETS) : | $(workbench-devs-diskimage-prefs_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-prefs_MCXX_CPPFLAGS := $(workbench-devs-diskimage-prefs_CPPFLAGS) +workbench-devs-diskimage-prefs_CXXFLAGS := $(workbench-devs-diskimage-prefs_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-prefs_DXXFLAGS),) + workbench-devs-diskimage-prefs_DXXFLAGS := $(workbench-devs-diskimage-prefs_CXXFLAGS) +else + workbench-devs-diskimage-prefs_DXXFLAGS := $(workbench-devs-diskimage-prefs_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-prefs_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-prefs_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-prefs_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-prefs_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-prefs_MCXX_CPPFLAGS) $(workbench-devs-diskimage-prefs_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-prefs_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-prefs_CXXFLAGS)) + workbench-devs-diskimage-prefs_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-prefs_DXXFLAGS)) + workbench-devs-diskimage-prefs_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-prefs_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-prefs_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-prefs_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-prefs_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-prefs_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-prefs_MCXX_CPPFLAGS) $(workbench-devs-diskimage-prefs_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-prefs_CXXFLAGS := $(strip $(workbench-devs-diskimage-prefs_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-prefs_DXXFLAGS := $(workbench-devs-diskimage-prefs_DXXFLAGS) + workbench-devs-diskimage-prefs_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-prefs_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-prefs_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-prefs_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-prefs_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-prefs_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-prefs_MCXX_CPPFLAGS) $(workbench-devs-diskimage-prefs_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-prefs_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-prefs_CXXFLAGS)) + workbench-devs-diskimage-prefs_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-prefs_DXXFLAGS)) + workbench-devs-diskimage-prefs_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-prefs_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-prefs_CXXCMD) $(workbench-devs-diskimage-prefs_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-prefs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_CXXIQUOTE) . $(workbench-devs-diskimage-prefs_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-prefs_CXXFLAGS) $(workbench-devs-diskimage-prefs_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-prefs_CXXCMD) $(workbench-devs-diskimage-prefs_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-prefs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_CXXIQUOTE) . $(workbench-devs-diskimage-prefs_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-prefs_CXXFLAGS) $(workbench-devs-diskimage-prefs_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-prefs_CXXCMD) $(workbench-devs-diskimage-prefs_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-prefs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_CXXIQUOTE) . $(workbench-devs-diskimage-prefs_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-prefs_CXXFLAGS) $(workbench-devs-diskimage-prefs_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-prefs_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-prefs_DXXFLAGS) $(workbench-devs-diskimage-prefs_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-prefs_OBJDIR),) + $(foreach workbench-devs-diskimage-prefs_CXXFILE,$(workbench-devs-diskimage-prefs_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-prefs_CXXFILE))),$(workbench-devs-diskimage-prefs_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-prefs_CXXFILE,$(workbench-devs-diskimage-prefs_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-prefs_CXXFILE)))),$(workbench-devs-diskimage-prefs_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-prefs_OBJC_FILES),) + +ifeq (,) +workbench-devs-diskimage-prefs_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-prefs_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-prefs_OBJDIR),) + workbench-devs-diskimage-prefs_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-prefs_OBJC_FILES)) + workbench-devs-diskimage-prefs_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-prefs_OBJC_FILES)) + workbench-devs-diskimage-prefs_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-prefs_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(workbench-devs-diskimage-prefs_OBJC_FILES))) + workbench-devs-diskimage-prefs_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(workbench-devs-diskimage-prefs_OBJC_FILES))) + workbench-devs-diskimage-prefs_MOBJC_WILDCARD := $(workbench-devs-diskimage-prefs_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-prefs_OBJC_FILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-prefs_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-prefs_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-prefs_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-prefs_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-prefs_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-prefs_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-prefs_MOBJC_DIRS),) + workbench-devs-diskimage-prefs_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-prefs_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-prefs_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-prefs_CC := $(TARGET_CC) +else + workbench-devs-diskimage-prefs_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-prefs_CPPFLAGS) +workbench-devs-diskimage-prefs_OBJCFLAGS := $(workbench-devs-diskimage-prefs_CFLAGS) +workbench-devs-diskimage-prefs_OBJCFLAGS := $(workbench-devs-diskimage-prefs_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-prefs_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-prefs_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-prefs_DFLAGS),) + workbench-devs-diskimage-prefs_OBJCDFLAGS := $(workbench-devs-diskimage-prefs_CFLAGS) +else + workbench-devs-diskimage-prefs_OBJCDFLAGS := $(workbench-devs-diskimage-prefs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-prefs_LINK ?= $(strip $(workbench-devs-diskimage-prefs_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-prefs_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-prefs_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-prefs_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_OBJCDFLAGS:=$(workbench-devs-diskimage-prefs_OBJCDFLAGS) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-prefs_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-prefs_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-prefs_OBJCFLAGS)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-prefs_OBJCDFLAGS)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-prefs_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-prefs_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-prefs_OBJCFLAGS)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-prefs_OBJCDFLAGS)) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-prefs_MOBJC_TARGETS) $(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-prefs_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-prefs_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-prefs_OBJCFLAGS) +$(workbench-devs-diskimage-prefs_MOBJC_TARGETS) : $(workbench-devs-diskimage-prefs_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-prefs_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-prefs_IQUOTE) $(dir $<) $(workbench-devs-diskimage-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_IQUOTE) . $(workbench-devs-diskimage-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-prefs_IQUOTE) $(dir $<) $(workbench-devs-diskimage-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_IQUOTE) . $(workbench-devs-diskimage-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-prefs_IQUOTE) $(dir $<) $(workbench-devs-diskimage-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_IQUOTE) . $(workbench-devs-diskimage-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-prefs_MOBJC_DTARGETS) : $(workbench-devs-diskimage-prefs_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-prefs_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-prefs_OBJCDFLAGS) $(workbench-devs-diskimage-prefs_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-prefs_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-prefs_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-prefs_OBJDIR),) +workbench-devs-diskimage-prefs_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-prefs_C_FILES)) +workbench-devs-diskimage-prefs_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-prefs_C_FILES)) +workbench-devs-diskimage-prefs_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-prefs_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(notdir $(workbench-devs-diskimage-prefs_C_FILES)))) + workbench-devs-diskimage-prefs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(notdir $(workbench-devs-diskimage-prefs_C_FILES)))) +else +ifeq (,) + workbench-devs-diskimage-prefs_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(workbench-devs-diskimage-prefs_C_FILES))) + workbench-devs-diskimage-prefs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(workbench-devs-diskimage-prefs_C_FILES))) +else + workbench-devs-diskimage-prefs_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-prefs_C_FILES)))) + workbench-devs-diskimage-prefs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-prefs_C_FILES)))) +endif +endif +workbench-devs-diskimage-prefs_MC_TGTWILDCARD := $(workbench-devs-diskimage-prefs_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-prefs_C_FILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-prefs_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-prefs_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-prefs_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-prefs_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-prefs_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-prefs_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-prefs_MC_DIRS),) + workbench-devs-diskimage-prefs_MC_DIRS := $(shell echo $(workbench-devs-diskimage-prefs_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-prefs_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-prefs_MC_CPPFLAGS := $(workbench-devs-diskimage-prefs_CPPFLAGS) +workbench-devs-diskimage-prefs_CFLAGS := $(workbench-devs-diskimage-prefs_CFLAGS) +ifeq ($(workbench-devs-diskimage-prefs_DFLAGS),) + workbench-devs-diskimage-prefs_DFLAGS := $(workbench-devs-diskimage-prefs_CFLAGS) +else + workbench-devs-diskimage-prefs_DFLAGS := $(workbench-devs-diskimage-prefs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-prefs_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-prefs_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-prefs_MC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_CFLAGS:=$(strip $(workbench-devs-diskimage-prefs_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_DFLAGS:=$(workbench-devs-diskimage-prefs_DFLAGS) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-prefs_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-prefs_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-prefs_CFLAGS)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-prefs_DFLAGS)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-prefs_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-prefs_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-prefs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MC_CPPFLAGS) $(workbench-devs-diskimage-prefs_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-prefs_CFLAGS)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-prefs_DFLAGS)) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-prefs_MC_TARGETS) $(workbench-devs-diskimage-prefs_MC_DTARGETS) : workbench-devs-diskimage-prefs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-prefs_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-prefs_MC_CPPFLAGS) +$(workbench-devs-diskimage-prefs_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-prefs_CFLAGS) +$(workbench-devs-diskimage-prefs_MC_TARGETS) : $(workbench-devs-diskimage-prefs_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-prefs_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-prefs_IQUOTE) $(dir $<) $(workbench-devs-diskimage-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_IQUOTE) . $(workbench-devs-diskimage-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-prefs_IQUOTE) $(dir $<) $(workbench-devs-diskimage-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_IQUOTE) . $(workbench-devs-diskimage-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-prefs_IQUOTE) $(dir $<) $(workbench-devs-diskimage-prefs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-prefs_IQUOTE) . $(workbench-devs-diskimage-prefs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-prefs_MC_DTARGETS) : $(workbench-devs-diskimage-prefs_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-prefs_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-prefs_DFLAGS) $(workbench-devs-diskimage-prefs_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-prefs_OBJDIR),) +workbench-devs-diskimage-prefs-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-prefs_ASMFILES)) +workbench-devs-diskimage-prefs-MA_WILDCARD := % +else +workbench-devs-diskimage-prefs-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-prefs_OBJDIR)/,$(notdir $(workbench-devs-diskimage-prefs_ASMFILES)))) +workbench-devs-diskimage-prefs-MA_WILDCARD := $(workbench-devs-diskimage-prefs_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-prefs-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-prefs_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-prefs-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-prefs-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-prefs_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-prefs-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-prefs-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-prefs-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-prefs-MA_DIRS),) + workbench-devs-diskimage-prefs-MA_DIRS := $(shell echo $(workbench-devs-diskimage-prefs-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-prefs-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-prefs-MA_ASSEMBLER ?= $(workbench-devs-diskimage-prefs_ASSEMBLER) + +$(workbench-devs-diskimage-prefs-MA_TARGETS) : workbench-devs-diskimage-prefs-MA_CMD:= $(workbench-devs-diskimage-prefs-MA_ASSEMBLER) + +$(workbench-devs-diskimage-prefs-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-prefs_CPPFLAGS) +$(workbench-devs-diskimage-prefs-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-prefs_AFLAGS) +$(workbench-devs-diskimage-prefs-MA_TARGETS) : $(workbench-devs-diskimage-prefs-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-prefs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-prefs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-prefs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libdiskimageprefs.a : workbench-devs-diskimage-prefs_AR:=$(AR) +$(AROS_LIB)/libdiskimageprefs.a : workbench-devs-diskimage-prefs_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libdiskimageprefs.a : workbench-devs-diskimage-prefs_AR:=$(HOST_AR) +$(AROS_LIB)/libdiskimageprefs.a : workbench-devs-diskimage-prefs_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libdiskimageprefs.a : workbench-devs-diskimage-prefs_AR:=$(KERNEL_AR) +$(AROS_LIB)/libdiskimageprefs.a : workbench-devs-diskimage-prefs_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libdiskimageprefs.a : $(workbench-devs-diskimage-prefs_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-diskimage-prefs_AR) $@ $^ + $(Q)$(workbench-devs-diskimage-prefs_RANLIB) $@ +endif + +ifneq ($(workbench-devs-diskimage-prefs_DEPS),) + ifneq (workbench-devs-diskimage-prefs workbench-devs-diskimage-prefs-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-prefs workbench-devs-diskimage-prefs-quick),) + -include $(workbench-devs-diskimage-prefs_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-prefs_DEPS) + endif + endif +endif + + + +ifneq ($(workbench-devs-diskimage-prefs_OBJS) $(workbench-devs-diskimage-prefs_DEPS) $(workbench-devs-diskimage-prefs_LINKLIB),) +$(workbench-devs-diskimage-prefs_OBJS) $(workbench-devs-diskimage-prefs_DEPS) $(workbench-devs-diskimage-prefs_LINKLIB) : | $(workbench-devs-diskimage-prefs_OBJDIR) $(AROS_LIB) +else +$(workbench-devs-diskimage-prefs_OBJS) $(workbench-devs-diskimage-prefs_DEPS) $(workbench-devs-diskimage-prefs_LINKLIB) :: $(workbench-devs-diskimage-prefs_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-prefs_OBJDIR) $(AROS_LIB) + + +workbench-devs-diskimage-prefs-clean : FILES := $(workbench-devs-diskimage-prefs_OBJS) $(workbench-devs-diskimage-prefs_LINKLIB) $(workbench-devs-diskimage-prefs_DEPS) +#MM +workbench-devs-diskimage-prefs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-prefs" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/support/mmakefile b/workbench/devs/diskimage/support/mmakefile new file mode 100644 index 00000000000..a50f183e8d5 --- /dev/null +++ b/workbench/devs/diskimage/support/mmakefile @@ -0,0 +1,535 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-devs-diskimage-support : includes + +CFILES := aros/asprintf aros/asprintfpooled checkbptr \ + checklib copystringbstrtoc deletelibrary dos64 \ + envvar getcurrentdir hooks lists messages \ + mutexes paths ports semaphores \ + swab2 tooltypes istext trimstr diskimagedevice \ + localeinfo translatefuncs reallocbuf setprocwindow + +USER_CFLAGS := -DABIV1 -DMIN_OS_VERSION=39 +USER_INCLUDES := -I$(AROS_INCLUDES)/SDI \ + -I$(SRCDIR)/$(CURDIR)/../include + + +# assign and generate the local variables used in this macro +workbench-devs-diskimage-support_LIBNAME := diskimagesupport +workbench-devs-diskimage-support_LINKLIB := $(AROS_LIB)/libdiskimagesupport.a + +workbench-devs-diskimage-support_FILES ?= $(CFILES) +workbench-devs-diskimage-support_ASMFILES := +workbench-devs-diskimage-support_OBJCFILES := +workbench-devs-diskimage-support_CXXFILES := + +workbench-devs-diskimage-support_OBJDIR ?= $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-support_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-support_OBJDIR)/arch/*.o) +ifeq (no,no) + workbench-devs-diskimage-support_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-support_ARCHOBJS))) +else + workbench-devs-diskimage-support_ARCHFILES := $(basename $(patsubst $(workbench-devs-diskimage-support_OBJDIR)/%,%,$(workbench-devs-diskimage-support_ARCHOBJS))) +endif +workbench-devs-diskimage-support_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-support_ARCHFILES),$(workbench-devs-diskimage-support_FILES)) +workbench-devs-diskimage-support_C_FILES ?= $(workbench-devs-diskimage-support_C_NARCHFILES) +workbench-devs-diskimage-support_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-support_ARCHFILES),$(workbench-devs-diskimage-support_CXXFILES)) +workbench-devs-diskimage-support_CXX_FILES ?= $(workbench-devs-diskimage-support_CXX_NARCHFILES) +workbench-devs-diskimage-support_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-support_ARCHFILES),$(workbench-devs-diskimage-support_OBJCFILES)) +workbench-devs-diskimage-support_OBJC_FILES ?= $(workbench-devs-diskimage-support_OBJC_NARCHFILES) + +ifeq (no,no) + workbench-devs-diskimage-support_OBJ_FILES ?= $(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(notdir $(workbench-devs-diskimage-support_C_NARCHFILES:=.o) $(workbench-devs-diskimage-support_CXX_NARCHFILES:=.o) $(workbench-devs-diskimage-support_ASMFILES:=.o) $(workbench-devs-diskimage-support_OBJC_NARCHFILES:=.o))) +else + workbench-devs-diskimage-support_OBJ_FILES ?= $(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(workbench-devs-diskimage-support_C_NARCHFILES:=.o) $(workbench-devs-diskimage-support_CXX_NARCHFILES:=.o) $(workbench-devs-diskimage-support_ASMFILES:=.o) $(workbench-devs-diskimage-support_OBJC_NARCHFILES:=.o)) +endif +workbench-devs-diskimage-support_OBJS ?= $(workbench-devs-diskimage-support_ARCHOBJS) $(workbench-devs-diskimage-support_OBJ_FILES) +workbench-devs-diskimage-support_DEPS := $(patsubst %.o,%.d,$(workbench-devs-diskimage-support_OBJS)) + +workbench-devs-diskimage-support_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-devs-diskimage-support_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-support_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-support_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-support_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-support_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-support_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-support_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-support_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-support_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + workbench-devs-diskimage-support_CFLAGS := $(strip $(LTO_CFLAGS) $(workbench-devs-diskimage-support_CFLAGS)) + workbench-devs-diskimage-support_CXXFLAGS := $(strip $(LTO_CFLAGS) $(workbench-devs-diskimage-support_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-support_AFLAGS := $(AFLAGS) +workbench-devs-diskimage-support_DFLAGS := +ifneq (,) + workbench-devs-diskimage-support_DFLAGS := +else + workbench-devs-diskimage-support_DFLAGS := $(workbench-devs-diskimage-support_CFLAGS) +endif +workbench-devs-diskimage-support_DXXFLAGS := +ifneq (,) + workbench-devs-diskimage-support_DXXFLAGS := +else + workbench-devs-diskimage-support_DXXFLAGS := $(workbench-devs-diskimage-support_CXXFLAGS) +endif + +.PHONY : workbench-devs-diskimage-support workbench-devs-diskimage-support-clean workbench-devs-diskimage-support-quick + +#MM +workbench-devs-diskimage-support-quick : workbench-devs-diskimage-support + +#MM workbench-devs-diskimage-support : includes-generate-deps +workbench-devs-diskimage-support : $(workbench-devs-diskimage-support_LINKLIB) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-support workbench-devs-diskimage-support-quick),) + + +workbench-devs-diskimage-support_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-support_CXXBASE,$(workbench-devs-diskimage-support_CXX_FILES),$(if $(filter /%,$(workbench-devs-diskimage-support_CXXBASE)),$(workbench-devs-diskimage-support_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-support_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-support_CXXABSBASENAMES),) + +workbench-devs-diskimage-support_CXXBASENAMES := $(basename $(workbench-devs-diskimage-support_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-support_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-support_CXXBASE,$(workbench-devs-diskimage-support_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-support_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-support_EXT),$(workbench-devs-diskimage-support_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-support_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-support_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-support_OBJDIR),) + workbench-devs-diskimage-support_CXXTARGETS := $(notdir $(workbench-devs-diskimage-support_CXXBASENAMES:=.o)) + workbench-devs-diskimage-support_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-support_CXXBASENAMES:=.d)) + workbench-devs-diskimage-support_MCXX_WILDCARD := % +else + workbench-devs-diskimage-support_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(notdir $(workbench-devs-diskimage-support_CXXBASENAMES:=.o))) + workbench-devs-diskimage-support_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(notdir $(workbench-devs-diskimage-support_CXXBASENAMES:=.d))) + workbench-devs-diskimage-support_MCXX_WILDCARD := $(workbench-devs-diskimage-support_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-support_CXXTARGETS) $(workbench-devs-diskimage-support_CXXDTARGETS) : | $(workbench-devs-diskimage-support_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-support_MCXX_CPPFLAGS := $(workbench-devs-diskimage-support_CPPFLAGS) +workbench-devs-diskimage-support_CXXFLAGS := $(workbench-devs-diskimage-support_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-support_DXXFLAGS),) + workbench-devs-diskimage-support_DXXFLAGS := $(workbench-devs-diskimage-support_CXXFLAGS) +else + workbench-devs-diskimage-support_DXXFLAGS := $(workbench-devs-diskimage-support_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-support_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-support_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-support_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-support_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-support_MCXX_CPPFLAGS) $(workbench-devs-diskimage-support_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-support_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-support_CXXFLAGS)) + workbench-devs-diskimage-support_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-support_DXXFLAGS)) + workbench-devs-diskimage-support_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-support_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-support_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-support_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-support_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-support_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-support_MCXX_CPPFLAGS) $(workbench-devs-diskimage-support_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-support_CXXFLAGS := $(strip $(workbench-devs-diskimage-support_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-support_DXXFLAGS := $(workbench-devs-diskimage-support_DXXFLAGS) + workbench-devs-diskimage-support_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-support_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-support_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-support_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-support_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-support_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-support_MCXX_CPPFLAGS) $(workbench-devs-diskimage-support_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-support_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-support_CXXFLAGS)) + workbench-devs-diskimage-support_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-support_DXXFLAGS)) + workbench-devs-diskimage-support_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-support_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-support_CXXCMD) $(workbench-devs-diskimage-support_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-support_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_CXXIQUOTE) . $(workbench-devs-diskimage-support_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-support_CXXFLAGS) $(workbench-devs-diskimage-support_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-support_CXXCMD) $(workbench-devs-diskimage-support_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-support_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_CXXIQUOTE) . $(workbench-devs-diskimage-support_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-support_CXXFLAGS) $(workbench-devs-diskimage-support_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-support_CXXCMD) $(workbench-devs-diskimage-support_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-support_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_CXXIQUOTE) . $(workbench-devs-diskimage-support_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-support_CXXFLAGS) $(workbench-devs-diskimage-support_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-support_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-support_DXXFLAGS) $(workbench-devs-diskimage-support_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-support_OBJDIR),) + $(foreach workbench-devs-diskimage-support_CXXFILE,$(workbench-devs-diskimage-support_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-support_CXXFILE))),$(workbench-devs-diskimage-support_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-support_CXXFILE,$(workbench-devs-diskimage-support_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-support_CXXFILE)))),$(workbench-devs-diskimage-support_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-support_OBJC_FILES),) + +ifeq (,) +workbench-devs-diskimage-support_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-support_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-support_OBJDIR),) + workbench-devs-diskimage-support_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-support_OBJC_FILES)) + workbench-devs-diskimage-support_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-support_OBJC_FILES)) + workbench-devs-diskimage-support_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-support_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(workbench-devs-diskimage-support_OBJC_FILES))) + workbench-devs-diskimage-support_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(workbench-devs-diskimage-support_OBJC_FILES))) + workbench-devs-diskimage-support_MOBJC_WILDCARD := $(workbench-devs-diskimage-support_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-support_OBJC_FILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-support_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-support_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-support_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-support_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-support_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-support_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-support_MOBJC_DIRS),) + workbench-devs-diskimage-support_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-support_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-support_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-support_CC := $(TARGET_CC) +else + workbench-devs-diskimage-support_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-support_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-support_CPPFLAGS) +workbench-devs-diskimage-support_OBJCFLAGS := $(workbench-devs-diskimage-support_CFLAGS) +workbench-devs-diskimage-support_OBJCFLAGS := $(workbench-devs-diskimage-support_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-support_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-support_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-support_DFLAGS),) + workbench-devs-diskimage-support_OBJCDFLAGS := $(workbench-devs-diskimage-support_CFLAGS) +else + workbench-devs-diskimage-support_OBJCDFLAGS := $(workbench-devs-diskimage-support_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-support_LINK ?= $(strip $(workbench-devs-diskimage-support_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-support_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-support_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-support_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-support_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-support_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_OBJCDFLAGS:=$(workbench-devs-diskimage-support_OBJCDFLAGS) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-support_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-support_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-support_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-support_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-support_OBJCFLAGS)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-support_OBJCDFLAGS)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-support_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-support_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-support_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-support_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-support_OBJCFLAGS)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-support_OBJCDFLAGS)) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-support_MOBJC_TARGETS) $(workbench-devs-diskimage-support_MOBJC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-support_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-support_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-support_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-support_OBJCFLAGS) +$(workbench-devs-diskimage-support_MOBJC_TARGETS) : $(workbench-devs-diskimage-support_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-support_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-support_IQUOTE) $(dir $<) $(workbench-devs-diskimage-support_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_IQUOTE) . $(workbench-devs-diskimage-support_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-support_IQUOTE) $(dir $<) $(workbench-devs-diskimage-support_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_IQUOTE) . $(workbench-devs-diskimage-support_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-support_IQUOTE) $(dir $<) $(workbench-devs-diskimage-support_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_IQUOTE) . $(workbench-devs-diskimage-support_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-support_MOBJC_DTARGETS) : $(workbench-devs-diskimage-support_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-support_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-support_OBJCDFLAGS) $(workbench-devs-diskimage-support_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-support_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-support_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-support_OBJDIR),) +workbench-devs-diskimage-support_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-support_C_FILES)) +workbench-devs-diskimage-support_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-support_C_FILES)) +workbench-devs-diskimage-support_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-support_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(notdir $(workbench-devs-diskimage-support_C_FILES)))) + workbench-devs-diskimage-support_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(notdir $(workbench-devs-diskimage-support_C_FILES)))) +else +ifeq (,) + workbench-devs-diskimage-support_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(workbench-devs-diskimage-support_C_FILES))) + workbench-devs-diskimage-support_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(workbench-devs-diskimage-support_C_FILES))) +else + workbench-devs-diskimage-support_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-support_C_FILES)))) + workbench-devs-diskimage-support_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-support_C_FILES)))) +endif +endif +workbench-devs-diskimage-support_MC_TGTWILDCARD := $(workbench-devs-diskimage-support_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-support_C_FILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-support_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-support_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-support_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-support_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-support_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-support_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-support_MC_DIRS),) + workbench-devs-diskimage-support_MC_DIRS := $(shell echo $(workbench-devs-diskimage-support_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-support_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-support_MC_CPPFLAGS := $(workbench-devs-diskimage-support_CPPFLAGS) +workbench-devs-diskimage-support_CFLAGS := $(workbench-devs-diskimage-support_CFLAGS) +ifeq ($(workbench-devs-diskimage-support_DFLAGS),) + workbench-devs-diskimage-support_DFLAGS := $(workbench-devs-diskimage-support_CFLAGS) +else + workbench-devs-diskimage-support_DFLAGS := $(workbench-devs-diskimage-support_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-support_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-support_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-support_MC_CPPFLAGS) $(workbench-devs-diskimage-support_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_CFLAGS:=$(strip $(workbench-devs-diskimage-support_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_DFLAGS:=$(workbench-devs-diskimage-support_DFLAGS) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-support_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-support_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-support_MC_CPPFLAGS) $(workbench-devs-diskimage-support_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-support_CFLAGS)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-support_DFLAGS)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-support_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-support_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-support_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-support_MC_CPPFLAGS) $(workbench-devs-diskimage-support_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-support_CFLAGS)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-support_DFLAGS)) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-support_MC_TARGETS) $(workbench-devs-diskimage-support_MC_DTARGETS) : workbench-devs-diskimage-support_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-support_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-support_MC_CPPFLAGS) +$(workbench-devs-diskimage-support_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-support_CFLAGS) +$(workbench-devs-diskimage-support_MC_TARGETS) : $(workbench-devs-diskimage-support_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-support_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-support_IQUOTE) $(dir $<) $(workbench-devs-diskimage-support_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_IQUOTE) . $(workbench-devs-diskimage-support_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-support_IQUOTE) $(dir $<) $(workbench-devs-diskimage-support_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_IQUOTE) . $(workbench-devs-diskimage-support_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-support_IQUOTE) $(dir $<) $(workbench-devs-diskimage-support_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-support_IQUOTE) . $(workbench-devs-diskimage-support_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-support_MC_DTARGETS) : $(workbench-devs-diskimage-support_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-support_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-support_DFLAGS) $(workbench-devs-diskimage-support_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-support_OBJDIR),) +workbench-devs-diskimage-support-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-support_ASMFILES)) +workbench-devs-diskimage-support-MA_WILDCARD := % +else +workbench-devs-diskimage-support-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-support_OBJDIR)/,$(notdir $(workbench-devs-diskimage-support_ASMFILES)))) +workbench-devs-diskimage-support-MA_WILDCARD := $(workbench-devs-diskimage-support_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-support-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-support_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-support-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-support-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-support_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-support-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-support-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-support-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-support-MA_DIRS),) + workbench-devs-diskimage-support-MA_DIRS := $(shell echo $(workbench-devs-diskimage-support-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-support-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-support-MA_ASSEMBLER ?= $(workbench-devs-diskimage-support_ASSEMBLER) + +$(workbench-devs-diskimage-support-MA_TARGETS) : workbench-devs-diskimage-support-MA_CMD:= $(workbench-devs-diskimage-support-MA_ASSEMBLER) + +$(workbench-devs-diskimage-support-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-support_CPPFLAGS) +$(workbench-devs-diskimage-support-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-support_AFLAGS) +$(workbench-devs-diskimage-support-MA_TARGETS) : $(workbench-devs-diskimage-support-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-support-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-support-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-support-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libdiskimagesupport.a : workbench-devs-diskimage-support_AR:=$(AR) +$(AROS_LIB)/libdiskimagesupport.a : workbench-devs-diskimage-support_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libdiskimagesupport.a : workbench-devs-diskimage-support_AR:=$(HOST_AR) +$(AROS_LIB)/libdiskimagesupport.a : workbench-devs-diskimage-support_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libdiskimagesupport.a : workbench-devs-diskimage-support_AR:=$(KERNEL_AR) +$(AROS_LIB)/libdiskimagesupport.a : workbench-devs-diskimage-support_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libdiskimagesupport.a : $(workbench-devs-diskimage-support_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-diskimage-support_AR) $@ $^ + $(Q)$(workbench-devs-diskimage-support_RANLIB) $@ +endif + +ifneq ($(workbench-devs-diskimage-support_DEPS),) + ifneq (workbench-devs-diskimage-support workbench-devs-diskimage-support-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-support workbench-devs-diskimage-support-quick),) + -include $(workbench-devs-diskimage-support_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-support_DEPS) + endif + endif +endif + + + +ifneq ($(workbench-devs-diskimage-support_OBJS) $(workbench-devs-diskimage-support_DEPS) $(workbench-devs-diskimage-support_LINKLIB),) +$(workbench-devs-diskimage-support_OBJS) $(workbench-devs-diskimage-support_DEPS) $(workbench-devs-diskimage-support_LINKLIB) : | $(workbench-devs-diskimage-support_OBJDIR) $(AROS_LIB) +else +$(workbench-devs-diskimage-support_OBJS) $(workbench-devs-diskimage-support_DEPS) $(workbench-devs-diskimage-support_LINKLIB) :: $(workbench-devs-diskimage-support_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-support_OBJDIR) $(AROS_LIB) + + +workbench-devs-diskimage-support-clean : FILES := $(workbench-devs-diskimage-support_OBJS) $(workbench-devs-diskimage-support_LINKLIB) $(workbench-devs-diskimage-support_DEPS) +#MM +workbench-devs-diskimage-support-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-support" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/zune_gui/catalogs/mmakefile b/workbench/devs/diskimage/zune_gui/catalogs/mmakefile new file mode 100644 index 00000000000..ed5727285ce --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/catalogs/mmakefile @@ -0,0 +1,73 @@ +# Copyright © 2003, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + + +ifeq (,) +workbench-devs-diskimage-gui-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-devs-diskimage-gui-catalogs_DESC := +endif + +workbench-devs-diskimage-gui-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq (,) +workbench-devs-diskimage-gui-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-devs-diskimage-gui-catalogs_LNGS := +endif + +workbench-devs-diskimage-gui-catalogs_OBJS := $(addsuffix /System/System/DiskImageGUI.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-devs-diskimage-gui-catalogs_LNGS))) +workbench-devs-diskimage-gui-catalogs_DIRS := $(addsuffix /System/System, $(addprefix $(AROS_CATALOGS)/, $(workbench-devs-diskimage-gui-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-devs-diskimage-gui-catalogs-quick : workbench-devs-diskimage-gui-catalogs + +#MM +workbench-devs-diskimage-gui-catalogs : $(workbench-devs-diskimage-gui-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-devs-diskimage-gui-catalogs_OBJS),) +$(workbench-devs-diskimage-gui-catalogs_OBJS) : | $(workbench-devs-diskimage-gui-catalogs_DIRS) +else +$(workbench-devs-diskimage-gui-catalogs_OBJS) :: $(workbench-devs-diskimage-gui-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-gui-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/System/DiskImageGUI.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-devs-diskimage-gui-catalogs_DESC).cd + $(Q)$(ECHO) "Creating DiskImageGUI catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-devs-diskimage-gui-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/DiskImageGUI.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-devs-diskimage-gui-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/DiskImageGUI.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-devs-diskimage-gui-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/DiskImageGUI.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-devs-diskimage-gui-catalogs_DESC := $(workbench-devs-diskimage-gui-catalogs_DESC) +../strings.h : workbench-devs-diskimage-gui-catalogs_SRC := $(workbench-devs-diskimage-gui-catalogs_SRC) +../strings.h : $(workbench-devs-diskimage-gui-catalogs_DESC).cd $(workbench-devs-diskimage-gui-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating DiskImageGUI catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-devs-diskimage-gui-catalogs_DESC).cd $@=$(workbench-devs-diskimage-gui-catalogs_SRC).sd +endif + +workbench-devs-diskimage-gui-catalogs-clean : FILES := $(workbench-devs-diskimage-gui-catalogs_OBJS) ../strings.h +#MM +workbench-devs-diskimage-gui-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-gui-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-devs-diskimage-gui-catalogs workbench-devs-diskimage-gui-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/diskimage/zune_gui/mmakefile b/workbench/devs/diskimage/zune_gui/mmakefile new file mode 100644 index 00000000000..dcb4c82cd6d --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/mmakefile @@ -0,0 +1,646 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +DIGFX := digfx + +#MM workbench-devs-diskimage-gui : includes linklibs workbench-devs-diskimage-support \ +#MM workbench-devs-diskimage-device workbench-devs-diskimage-gui-catalogs \ +#MM workbench-devs-diskimage-gfx + +CFILES := locale main gui drivelist pluginlist driveops requesters images + +USER_CPPFLAGS := -DGUI -DCATCOMP_NUMBERS +USER_INCLUDES := -I$(AROS_INCLUDES)/SDI \ + -I$(SRCDIR)/$(CURDIR)/include \ + -I$(SRCDIR)/$(CURDIR)/../include + + +.PHONY : workbench-devs-diskimage-gui + +workbench-devs-diskimage-gui_PROGNAME := DiskImageGUI +workbench-devs-diskimage-gui_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-devs-diskimage-gui_TARGETDIR := $(AROS_SYSTEM) +workbench-devs-diskimage-gui_LINKER := +workbench-devs-diskimage-gui_LIBS := diskimagesupport +# If not supplied, linker is equal to compiler +ifeq ($(workbench-devs-diskimage-gui_LINKER),) + workbench-devs-diskimage-gui_LINKER := target +endif + +ifneq ("$(strip $(CFILES) )","") + workbench-devs-diskimage-gui_FILES := $(CFILES) + workbench-devs-diskimage-gui_OBJCFILES := + workbench-devs-diskimage-gui_ASMFILES := + workbench-devs-diskimage-gui_CXXFILES := +else + workbench-devs-diskimage-gui_FILES := $(workbench-devs-diskimage-gui_PROGNAME) + workbench-devs-diskimage-gui_OBJCFILES := + workbench-devs-diskimage-gui_ASMFILES := + workbench-devs-diskimage-gui_CXXFILES := +endif + +workbench-devs-diskimage-gui_ARCHOBJS := $(wildcard $(workbench-devs-diskimage-gui_OBJDIR)/arch/*.o) +workbench-devs-diskimage-gui_ARCHFILES := $(basename $(notdir $(workbench-devs-diskimage-gui_ARCHOBJS))) +workbench-devs-diskimage-gui_C_NARCHFILES := $(filter-out $(workbench-devs-diskimage-gui_ARCHFILES),$(workbench-devs-diskimage-gui_FILES)) +workbench-devs-diskimage-gui_CXX_NARCHFILES := $(filter-out $(workbench-devs-diskimage-gui_ARCHFILES),$(workbench-devs-diskimage-gui_CXXFILES)) +workbench-devs-diskimage-gui_OBJC_NARCHFILES := $(filter-out $(workbench-devs-diskimage-gui_ARCHFILES),$(workbench-devs-diskimage-gui_OBJCFILES)) + +TMP_FILES := $(workbench-devs-diskimage-gui_C_NARCHFILES) $(workbench-devs-diskimage-gui_CXX_NARCHFILES) $(workbench-devs-diskimage-gui_ASMFILES) $(workbench-devs-diskimage-gui_OBJC_NARCHFILES) +workbench-devs-diskimage-gui_OBJS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-devs-diskimage-gui_DEPS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-devs-diskimage-gui_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-devs-diskimage-gui_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-gui_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-gui_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gui_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-devs-diskimage-gui_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-gui_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-gui_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gui_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-devs-diskimage-gui_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-devs-diskimage-gui_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-gui_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gui_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-devs-diskimage-gui_LDFLAGS := +endif + +workbench-devs-diskimage-gui_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-devs-diskimage-gui_COVERAGE := yes +workbench-devs-diskimage-gui_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-devs-diskimage-gui_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-devs-diskimage-gui_CFLAGS := $(strip $(workbench-devs-diskimage-gui_COVERAGEFLAGS) $(workbench-devs-diskimage-gui_CFLAGS)) +workbench-devs-diskimage-gui_CXXFLAGS := $(strip $(workbench-devs-diskimage-gui_COVERAGEFLAGS) $(workbench-devs-diskimage-gui_CXXFLAGS)) +workbench-devs-diskimage-gui_LIBS += $(workbench-devs-diskimage-gui_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-diskimage-gui_FUNCINSTR := yes +workbench-devs-diskimage-gui_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-devs-diskimage-gui_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-diskimage-gui_CFLAGS := $(strip $(workbench-devs-diskimage-gui_INSTRFUNCFLAGS) $(workbench-devs-diskimage-gui_CFLAGS)) +workbench-devs-diskimage-gui_CXXFLAGS := $(strip $(workbench-devs-diskimage-gui_INSTRFUNCFLAGS) $(workbench-devs-diskimage-gui_CXXFLAGS)) +workbench-devs-diskimage-gui_LIBS += $(workbench-devs-diskimage-gui_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-devs-diskimage-gui_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-gui_CFLAGS)) +workbench-devs-diskimage-gui_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-devs-diskimage-gui_CXXFLAGS)) +endif +endif +workbench-devs-diskimage-gui_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-devs-diskimage-gui_DFLAGS := +else + workbench-devs-diskimage-gui_DFLAGS := $(workbench-devs-diskimage-gui_CFLAGS) +endif +ifneq (,) + workbench-devs-diskimage-gui_DXXFLAGS := +else + workbench-devs-diskimage-gui_DXXFLAGS := $(workbench-devs-diskimage-gui_CXXFLAGS) +endif +ifeq (target,target) +workbench-devs-diskimage-gui_LDFLAGS := $(workbench-devs-diskimage-gui_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-diskimage-gui_LDFLAGS := $(workbench-devs-diskimage-gui_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gui_LDFLAGS := $(workbench-devs-diskimage-gui_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-devs-diskimage-gui_LDFLAGS += -L +endif + +#MM +workbench-devs-diskimage-gui-quick : workbench-devs-diskimage-gui + +#MM workbench-devs-diskimage-gui : includes-generate-deps core-linklibs +workbench-devs-diskimage-gui : $(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-devs-diskimage-gui workbench-devs-diskimage-gui-quick workbench-devs-diskimage-gui-gz-quick),) + +workbench-devs-diskimage-gui_CXXABSBASENAMES := $(foreach workbench-devs-diskimage-gui_CXXBASE,$(workbench-devs-diskimage-gui_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-diskimage-gui_CXXBASE)),$(workbench-devs-diskimage-gui_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-diskimage-gui_CXXBASE)))) + +ifneq ($(workbench-devs-diskimage-gui_CXXABSBASENAMES),) + +workbench-devs-diskimage-gui_CXXBASENAMES := $(basename $(workbench-devs-diskimage-gui_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-diskimage-gui_MCXX_FILES := $(strip $(foreach workbench-devs-diskimage-gui_CXXBASE,$(workbench-devs-diskimage-gui_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-diskimage-gui_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-diskimage-gui_EXT),$(workbench-devs-diskimage-gui_CXXBASE))))))) + +ifeq (,) +workbench-devs-diskimage-gui_MCXX_SRCWILDCARD := % +else +workbench-devs-diskimage-gui_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-gui_OBJDIR),) + workbench-devs-diskimage-gui_CXXTARGETS := $(notdir $(workbench-devs-diskimage-gui_CXXBASENAMES:=.o)) + workbench-devs-diskimage-gui_CXXDTARGETS := $(notdir $(workbench-devs-diskimage-gui_CXXBASENAMES:=.d)) + workbench-devs-diskimage-gui_MCXX_WILDCARD := % +else + workbench-devs-diskimage-gui_CXXTARGETS := $(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gui_CXXBASENAMES:=.o))) + workbench-devs-diskimage-gui_CXXDTARGETS := $(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gui_CXXBASENAMES:=.d))) + workbench-devs-diskimage-gui_MCXX_WILDCARD := $(workbench-devs-diskimage-gui_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-diskimage-gui_CXXTARGETS) $(workbench-devs-diskimage-gui_CXXDTARGETS) : | $(workbench-devs-diskimage-gui_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-diskimage-gui_MCXX_CPPFLAGS := $(workbench-devs-diskimage-gui_CPPFLAGS) +workbench-devs-diskimage-gui_CXXFLAGS := $(workbench-devs-diskimage-gui_CXXFLAGS) +ifeq ($(workbench-devs-diskimage-gui_DXXFLAGS),) + workbench-devs-diskimage-gui_DXXFLAGS := $(workbench-devs-diskimage-gui_CXXFLAGS) +else + workbench-devs-diskimage-gui_DXXFLAGS := $(workbench-devs-diskimage-gui_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-diskimage-gui_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-diskimage-gui_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-diskimage-gui_CXXCMD:=$(HOST_CXX) + workbench-devs-diskimage-gui_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gui_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gui_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-gui_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-gui_CXXFLAGS)) + workbench-devs-diskimage-gui_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-diskimage-gui_DXXFLAGS)) + workbench-devs-diskimage-gui_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-diskimage-gui_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-diskimage-gui_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-gui_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-diskimage-gui_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-diskimage-gui_MCXX_CPPFLAGS := $(strip $(workbench-devs-diskimage-gui_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gui_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-gui_CXXFLAGS := $(strip $(workbench-devs-diskimage-gui_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-diskimage-gui_DXXFLAGS := $(workbench-devs-diskimage-gui_DXXFLAGS) + workbench-devs-diskimage-gui_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-diskimage-gui_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-diskimage-gui_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-gui_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-gui_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-diskimage-gui_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gui_MCXX_CPPFLAGS) $(workbench-devs-diskimage-gui_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-diskimage-gui_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-gui_CXXFLAGS)) + workbench-devs-diskimage-gui_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-diskimage-gui_DXXFLAGS)) + workbench-devs-diskimage-gui_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-diskimage-gui_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-diskimage-gui_CXXCMD) $(workbench-devs-diskimage-gui_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-gui_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_CXXIQUOTE) . $(workbench-devs-diskimage-gui_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-gui_CXXFLAGS) $(workbench-devs-diskimage-gui_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-diskimage-gui_CXXCMD) $(workbench-devs-diskimage-gui_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-gui_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_CXXIQUOTE) . $(workbench-devs-diskimage-gui_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-gui_CXXFLAGS) $(workbench-devs-diskimage-gui_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-diskimage-gui_CXXCMD) $(workbench-devs-diskimage-gui_CXXIQUOTE) $(dir $(2)) $(workbench-devs-diskimage-gui_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_CXXIQUOTE) . $(workbench-devs-diskimage-gui_CXXIQUOTE_END) $(strip $(workbench-devs-diskimage-gui_CXXFLAGS) $(workbench-devs-diskimage-gui_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-diskimage-gui_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-gui_DXXFLAGS) $(workbench-devs-diskimage-gui_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-diskimage-gui_OBJDIR),) + $(foreach workbench-devs-diskimage-gui_CXXFILE,$(workbench-devs-diskimage-gui_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-diskimage-gui_CXXFILE))),$(workbench-devs-diskimage-gui_CXXFILE)))) +else + $(foreach workbench-devs-diskimage-gui_CXXFILE,$(workbench-devs-diskimage-gui_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(notdir $(basename $(workbench-devs-diskimage-gui_CXXFILE)))),$(workbench-devs-diskimage-gui_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-diskimage-gui_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-diskimage-gui_MOBJC_SRCWILDCARD := % +else +workbench-devs-diskimage-gui_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-gui_OBJDIR),) + workbench-devs-diskimage-gui_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-gui_OBJC_NARCHFILES)) + workbench-devs-diskimage-gui_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-gui_OBJC_NARCHFILES)) + workbench-devs-diskimage-gui_MOBJC_WILDCARD := % +else + workbench-devs-diskimage-gui_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(workbench-devs-diskimage-gui_OBJC_NARCHFILES))) + workbench-devs-diskimage-gui_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(workbench-devs-diskimage-gui_OBJC_NARCHFILES))) + workbench-devs-diskimage-gui_MOBJC_WILDCARD := $(workbench-devs-diskimage-gui_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-diskimage-gui_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-diskimage-gui_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-diskimage-gui_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-gui_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-diskimage-gui_MOBJC_DIRS := $(foreach dir, $(workbench-devs-diskimage-gui_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-gui_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-diskimage-gui_MOBJC_DIRS),) + workbench-devs-diskimage-gui_MOBJC_DIRS := $(shell echo $(workbench-devs-diskimage-gui_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-diskimage-gui_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-diskimage-gui_CC := $(TARGET_CC) +else + workbench-devs-diskimage-gui_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-diskimage-gui_MOBJC_CPPFLAGS := $(workbench-devs-diskimage-gui_CPPFLAGS) +workbench-devs-diskimage-gui_OBJCFLAGS := $(workbench-devs-diskimage-gui_CFLAGS) +workbench-devs-diskimage-gui_OBJCFLAGS := $(workbench-devs-diskimage-gui_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-diskimage-gui_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-diskimage-gui_OBJCFLAGS))) +ifeq ($(workbench-devs-diskimage-gui_DFLAGS),) + workbench-devs-diskimage-gui_OBJCDFLAGS := $(workbench-devs-diskimage-gui_CFLAGS) +else + workbench-devs-diskimage-gui_OBJCDFLAGS := $(workbench-devs-diskimage-gui_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-diskimage-gui_LINK ?= $(strip $(workbench-devs-diskimage-gui_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-diskimage-gui_STRIP ?= $(TARGET_STRIP) + workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-diskimage-gui_CC) $(TARGET_SYSROOT)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-gui_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gui_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_OBJCFLAGS:=$(strip $(workbench-devs-diskimage-gui_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_OBJCDFLAGS:=$(workbench-devs-diskimage-gui_OBJCDFLAGS) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-diskimage-gui_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-diskimage-gui_STRIP ?= $(HOST_STRIP) + workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gui_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gui_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-gui_OBJCFLAGS)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-gui_OBJCDFLAGS)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-diskimage-gui_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-diskimage-gui_STRIP ?= $(ECHO) >/dev/null + workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gui_MOBJC_CPPFLAGS) $(workbench-devs-diskimage-gui_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-gui_OBJCFLAGS)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-gui_OBJCDFLAGS)) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-diskimage-gui_MOBJC_TARGETS) $(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-gui_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-gui_MOBJC_CPPFLAGS) +$(workbench-devs-diskimage-gui_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-gui_OBJCFLAGS) +$(workbench-devs-diskimage-gui_MOBJC_TARGETS) : $(workbench-devs-diskimage-gui_MOBJC_WILDCARD).o : $(workbench-devs-diskimage-gui_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-gui_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gui_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_IQUOTE) . $(workbench-devs-diskimage-gui_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-gui_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gui_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_IQUOTE) . $(workbench-devs-diskimage-gui_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-gui_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gui_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_IQUOTE) . $(workbench-devs-diskimage-gui_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-gui_MOBJC_DTARGETS) : $(workbench-devs-diskimage-gui_MOBJC_WILDCARD).d : $(workbench-devs-diskimage-gui_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-gui_OBJCDFLAGS) $(workbench-devs-diskimage-gui_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-diskimage-gui_MC_SRCWILDCARD := % +else +workbench-devs-diskimage-gui_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-diskimage-gui_OBJDIR),) +workbench-devs-diskimage-gui_MC_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-gui_C_NARCHFILES)) +workbench-devs-diskimage-gui_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-diskimage-gui_C_NARCHFILES)) +workbench-devs-diskimage-gui_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-diskimage-gui_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gui_C_NARCHFILES)))) + workbench-devs-diskimage-gui_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gui_C_NARCHFILES)))) +else +ifeq (,) + workbench-devs-diskimage-gui_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(workbench-devs-diskimage-gui_C_NARCHFILES))) + workbench-devs-diskimage-gui_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(workbench-devs-diskimage-gui_C_NARCHFILES))) +else + workbench-devs-diskimage-gui_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-gui_C_NARCHFILES)))) + workbench-devs-diskimage-gui_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-diskimage-gui_C_NARCHFILES)))) +endif +endif +workbench-devs-diskimage-gui_MC_TGTWILDCARD := $(workbench-devs-diskimage-gui_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-diskimage-gui_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-gui_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-gui_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-gui_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-gui_MC_DIRS := $(foreach dir, $(workbench-devs-diskimage-gui_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-gui_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-gui_MC_DIRS),) + workbench-devs-diskimage-gui_MC_DIRS := $(shell echo $(workbench-devs-diskimage-gui_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-diskimage-gui_MC_DIRS) +endif + +endif + +workbench-devs-diskimage-gui_MC_CPPFLAGS := $(workbench-devs-diskimage-gui_CPPFLAGS) +workbench-devs-diskimage-gui_CFLAGS := $(workbench-devs-diskimage-gui_CFLAGS) +ifeq ($(workbench-devs-diskimage-gui_DFLAGS),) + workbench-devs-diskimage-gui_DFLAGS := $(workbench-devs-diskimage-gui_CFLAGS) +else + workbench-devs-diskimage-gui_DFLAGS := $(workbench-devs-diskimage-gui_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-diskimage-gui_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-diskimage-gui_STRIP ?= $(TARGET_STRIP) +workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_MC_CPPFLAGS:=$(strip $(workbench-devs-diskimage-gui_MC_CPPFLAGS) $(workbench-devs-diskimage-gui_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_CFLAGS:=$(strip $(workbench-devs-diskimage-gui_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_DFLAGS:=$(workbench-devs-diskimage-gui_DFLAGS) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-diskimage-gui_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-diskimage-gui_STRIP ?= $(HOST_STRIP) +workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-diskimage-gui_MC_CPPFLAGS) $(workbench-devs-diskimage-gui_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-gui_CFLAGS)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-diskimage-gui_DFLAGS)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-diskimage-gui_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-diskimage-gui_STRIP ?= $(ECHO) >/dev/null +workbench-devs-diskimage-gui_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-diskimage-gui_MC_CPPFLAGS) $(workbench-devs-diskimage-gui_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-gui_CFLAGS)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-diskimage-gui_DFLAGS)) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-diskimage-gui_MC_TARGETS) $(workbench-devs-diskimage-gui_MC_DTARGETS) : workbench-devs-diskimage-gui_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-diskimage-gui_MC_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-gui_MC_CPPFLAGS) +$(workbench-devs-diskimage-gui_MC_TARGETS) : CFLAGS := $(workbench-devs-diskimage-gui_CFLAGS) +$(workbench-devs-diskimage-gui_MC_TARGETS) : $(workbench-devs-diskimage-gui_MC_TGTWILDCARD).o : $(workbench-devs-diskimage-gui_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-diskimage-gui_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gui_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_IQUOTE) . $(workbench-devs-diskimage-gui_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-diskimage-gui_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gui_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_IQUOTE) . $(workbench-devs-diskimage-gui_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-diskimage-gui_IQUOTE) $(dir $<) $(workbench-devs-diskimage-gui_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-diskimage-gui_IQUOTE) . $(workbench-devs-diskimage-gui_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-diskimage-gui_MC_DTARGETS) : $(workbench-devs-diskimage-gui_MC_TGTWILDCARD).d : $(workbench-devs-diskimage-gui_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-diskimage-gui_DFLAGS) $(workbench-devs-diskimage-gui_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-diskimage-gui_OBJDIR),) +workbench-devs-diskimage-gui-MA_TARGETS := $(addsuffix .o,$(workbench-devs-diskimage-gui_ASMFILES)) +workbench-devs-diskimage-gui-MA_WILDCARD := % +else +workbench-devs-diskimage-gui-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-diskimage-gui_OBJDIR)/,$(notdir $(workbench-devs-diskimage-gui_ASMFILES)))) +workbench-devs-diskimage-gui-MA_WILDCARD := $(workbench-devs-diskimage-gui_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-devs-diskimage-gui-MA_TARGETS) : | $(addsuffix .s,$(workbench-devs-diskimage-gui_ASMFILES)) + +# Be sure that all .c files are found +workbench-devs-diskimage-gui-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-diskimage-gui-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-diskimage-gui_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-diskimage-gui-MA_DIRS := $(foreach dir, $(workbench-devs-diskimage-gui-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-diskimage-gui-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-diskimage-gui-MA_DIRS),) + workbench-devs-diskimage-gui-MA_DIRS := $(shell echo $(workbench-devs-diskimage-gui-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-devs-diskimage-gui-MA_DIRS) +endif + +endif + +workbench-devs-diskimage-gui-MA_ASSEMBLER ?= $(workbench-devs-diskimage-gui_ASSEMBLER) + +$(workbench-devs-diskimage-gui-MA_TARGETS) : workbench-devs-diskimage-gui-MA_CMD:= $(workbench-devs-diskimage-gui-MA_ASSEMBLER) + +$(workbench-devs-diskimage-gui-MA_TARGETS) : CPPFLAGS := $(workbench-devs-diskimage-gui_CPPFLAGS) +$(workbench-devs-diskimage-gui-MA_TARGETS) : AFLAGS := $(workbench-devs-diskimage-gui_AFLAGS) +$(workbench-devs-diskimage-gui-MA_TARGETS) : $(workbench-devs-diskimage-gui-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-diskimage-gui-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-diskimage-gui-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-diskimage-gui-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-devs-diskimage-gui-link_EXTRA_LDFLAGS := +workbench-devs-diskimage-gui-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-devs-diskimage-gui-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-devs-diskimage-gui-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-devs-diskimage-gui-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-devs-diskimage-gui-link_DIRS := $(subst -L ,-L,$(strip $(workbench-devs-diskimage-gui_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-devs-diskimage-gui-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-devs-diskimage-gui-link_DIRS))) +# Add trailing / +workbench-devs-diskimage-gui-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-devs-diskimage-gui-link_DIRS))) +# Add normal linklib path +workbench-devs-diskimage-gui-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-devs-diskimage-gui-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-diskimage-gui_LIBS) $(workbench-devs-diskimage-gui-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-devs-diskimage-gui-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-devs-diskimage-gui-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-devs-diskimage-gui-link_DEPLIBS := $(foreach lib,$(workbench-devs-diskimage-gui-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-devs-diskimage-gui-link_DIRS)))) \ +) + +$(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) : OBJDIR := $(workbench-devs-diskimage-gui_OBJDIR) +$(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) : OBJS := $(workbench-devs-diskimage-gui_OBJS) $(workbench-devs-diskimage-gui_ARCHOBJS) $(USER_OBJS) +$(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) : LDFLAGS := $(strip $(workbench-devs-diskimage-gui_LDFLAGS) $(workbench-devs-diskimage-gui-link_EXTRA_LDFLAGS)) +$(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) : LIBS := $(addprefix -l,$(workbench-devs-diskimage-gui_LIBS) $(workbench-devs-diskimage-gui-link_EXTRA_LIBS) ) +$(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) : $(workbench-devs-diskimage-gui_OBJS) $(workbench-devs-diskimage-gui_ARCHOBJS) $(USER_OBJS) $(workbench-devs-diskimage-gui-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-devs-diskimage-gui_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-devs-diskimage-gui_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-devs-diskimage-gui_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-gui_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-devs-diskimage-gui_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-devs-diskimage-gui_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-devs-diskimage-gui_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-devs-diskimage-gui_DEPS),) + ifneq (workbench-devs-diskimage-gui workbench-devs-diskimage-gui-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-diskimage-gui workbench-devs-diskimage-gui-quick),) + -include $(workbench-devs-diskimage-gui_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-diskimage-gui_DEPS) + endif + endif +endif + + +ifneq ($(workbench-devs-diskimage-gui_OBJS) $(workbench-devs-diskimage-gui_DEPS) $(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME),) +$(workbench-devs-diskimage-gui_OBJS) $(workbench-devs-diskimage-gui_DEPS) $(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) : | $(workbench-devs-diskimage-gui_OBJDIR) $(workbench-devs-diskimage-gui_TARGETDIR) +else +$(workbench-devs-diskimage-gui_OBJS) $(workbench-devs-diskimage-gui_DEPS) $(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) :: $(workbench-devs-diskimage-gui_OBJDIR) $(workbench-devs-diskimage-gui_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-diskimage-gui_OBJDIR) $(workbench-devs-diskimage-gui_TARGETDIR) + + +workbench-devs-diskimage-gui-clean : FILES := $(workbench-devs-diskimage-gui_OBJS) $(workbench-devs-diskimage-gui_TARGETDIR)/$(workbench-devs-diskimage-gui_PROGNAME) $(workbench-devs-diskimage-gui_DEPS) +#MM +workbench-devs-diskimage-gui-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-devs-diskimage-gui" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-devs-diskimage-gfx + +#MM +workbench-devs-diskimage-gfx : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s $(DIGFX) -d $(AROS_IMAGES)/$(DIGFX) -e + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/networks/mmakefile b/workbench/devs/networks/mmakefile new file mode 100644 index 00000000000..316d7959fa5 --- /dev/null +++ b/workbench/devs/networks/mmakefile @@ -0,0 +1,25 @@ +#MM- workbench-devs-networks: \ +#MM workbench-devs-networks-atheros5000 \ +#MM workbench-devs-networks-e1000-$(AROS_TARGET_CPU) \ +#MM workbench-devs-networks-etherlink3 \ +#MM workbench-devs-networks-intelpro100 \ +#MM workbench-devs-networks-nforce-$(AROS_TARGET_CPU) \ +#MM workbench-devs-networks-pcnet32-$(AROS_TARGET_CPU) \ +#MM workbench-devs-networks-ppp \ +#MM workbench-devs-networks-prism2 \ +#MM workbench-devs-networks-realtek8180-$(AROS_TARGET_ARCH) \ +#MM workbench-devs-networks-rhine \ +#MM workbench-devs-networks-rtl8029 \ +#MM workbench-devs-networks-rtl8139 \ +#MM workbench-devs-networks-rtl8168-$(AROS_TARGET_CPU) \ +#MM workbench-devs-networks-rtl8169-$(AROS_TARGET_CPU) \ +#MM workbench-devs-networks-sis900-$(AROS_TARGET_CPU) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/networks/prism2/firmware/mmakefile b/workbench/devs/networks/prism2/firmware/mmakefile new file mode 100644 index 00000000000..79510e05f31 --- /dev/null +++ b/workbench/devs/networks/prism2/firmware/mmakefile @@ -0,0 +1,34 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-devs-networks-prism2 : workbench-devs-networks-prism2-firmware + + +workbench-devs-networks-prism2-firmware_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROS_DEVS)/Firmware +else +setup :: $(AROS_DEVS)/Firmware +endif + +GLOB_MKDIRS += $(AROS_DEVS)/Firmware + + +.PHONY : workbench-devs-networks-prism2-firmware + +#MM +workbench-devs-networks-prism2-firmware : | $(AROS_DEVS)/Firmware + $(foreach file, HermesI HermesII, $(shell $(CP) $(addprefix $(if $(filter /%,$(workbench-devs-networks-prism2-firmware_SRC)),$(workbench-devs-networks-prism2-firmware_SRC),$(SRCDIR)/$(CURDIR)/$(workbench-devs-networks-prism2-firmware_SRC))/, $(file)) $(addprefix $(AROS_DEVS)/Firmware/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/printer/mmakefile b/workbench/devs/printer/mmakefile new file mode 100644 index 00000000000..271283bb007 --- /dev/null +++ b/workbench/devs/printer/mmakefile @@ -0,0 +1,1721 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := printer driver prefs gfx text + +#MM- workbench-devs-common: workbench-devs-printer + +#MM- workbench-devs-quick: workbench-devs-printer-quick + +#USER_CFLAGS := -DDEBUG=1 +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-devs-printer +#MM workbench-devs-printer-quick +#MM workbench-devs-printer-makefile +#MM workbench-devs-printer-clean + +# ABI targets: +#MM- includes-all : workbench-devs-printer-includes +#MM- linklibs-printer: workbench-devs-printer-linklib +#MM- linklibs-printer_rel : workbench-devs-printer-linklib +#MM- includes-printer: workbench-devs-printer-includes +#MM- includes-printer_rel : workbench-devs-printer-includes +#MM- workbench-devs-printer : workbench-devs-printer-includes core-linklibs linklibs- +#MM workbench-devs-printer-linklib : workbench-devs-printer-includes includes- +#MM- workbench-devs-printer-quick : workbench-devs-printer-includes-quick +#MM workbench-devs-printer-includes : workbench-devs-printer-makefile workbench-devs-printer-includes-dirs \ +#MM includes-generate-deps workbench-devs-printer-fd +#MM workbench-devs-printer-includes-quick +#MM workbench-devs-printer-includes-dirs +#MM workbench-devs-printer-fd + +# Library targets +#MM workbench-devs-printer-kobj : core-linklibs linklibs- +#MM workbench-devs-printer-kobj-quick : + +# Library with ABI targets: +#MM workbench-devs-printer-kobj : workbench-devs-printer-includes core-linklibs linklibs- +#MM workbench-devs-printer-kobj-quick : workbench-devs-printer-includes-quick + +# All MetaMake targets defined by this macro +workbench-devs-printer_ALLTARGETS := workbench-devs-printer workbench-devs-printer-quick workbench-devs-printer-clean + +ifeq (M,M) +workbench-devs-printer_ALLTARGETS += workbench-devs-printer-kobj workbench-devs-printer-kobj-quick +endif + +ifeq (M,M) +workbench-devs-printer_ALLTARGETS += workbench-devs-printer-includes \ + workbench-devs-printer-includes-quick workbench-devs-printer-includes-dirs \ + workbench-devs-printer-linklib workbench-devs-printer-fd +endif + +.PHONY : $(workbench-devs-printer_ALLTARGETS) workbench-devs-printer-makefile + +ifeq (printer,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-devs-printer_DEFNAME := printer_ +else + workbench-devs-printer_DEFNAME := printer +endif +workbench-devs-printer_DEFLINKLIBNAME := $(workbench-devs-printer_DEFNAME) +ifneq (,) + workbench-devs-printer_LINKLIBNAME := +else + workbench-devs-printer_LINKLIBNAME = $(workbench-devs-printer_DEFLINKLIBNAME) +endif +workbench-devs-printer_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-devs-printer_DEFCPPFLAGS += -I +endif +workbench-devs-printer_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-devs-printer_DFLAGS := +else + workbench-devs-printer_DFLAGS = $(workbench-devs-printer_DEFDFLAGS) +endif +workbench-devs-printer_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-devs-printer_DXXFLAGS := +else + workbench-devs-printer_DXXFLAGS = $(workbench-devs-printer_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-devs-printer_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-devs-printer_DEFDFLAGS)) +workbench-devs-printer_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-devs-printer_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-printer_FUNCINSTR := yes +workbench-devs-printer_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-devs-printer_DEFDFLAGS)) +workbench-devs-printer_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-devs-printer_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-devs-printer_OBJDIR := +else +workbench-devs-printer_OBJDIR := $(OBJDIR)/$(workbench-devs-printer_DEFNAME) +endif +ifneq (,) +workbench-devs-printer_OBJDIR := $(workbench-devs-printer_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-devs-printer-makefile := $(workbench-devs-printer_OBJDIR)/Makefile.$(workbench-devs-printer_DEFNAME)device +workbench-devs-printer-genmakefile : $(workbench-devs-printer-makefile) + + +workbench-devs-printer-genmakefile_OPTS := +ifneq (,) + workbench-devs-printer-genmakefile_OPTS += -f + workbench-devs-printer-genmakefile_MODNAME := printer_ +else + workbench-devs-printer-genmakefile_MODNAME := printer +endif +workbench-devs-printer-genmakefile_TARGET := Makefile.$(workbench-devs-printer-genmakefile_MODNAME)device +workbench-devs-printer-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printer-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printer-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printer-genmakefile_OPTS += -c + workbench-devs-printer-genmakefile_DEPS += + endif +else + workbench-devs-printer-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/printer.conf + workbench-devs-printer-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/printer.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printer-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printer-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printer-genmakefile_OPTS += -o + workbench-devs-printer-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-devs-printer-genmakefile_OPTS += -s +endif +ifneq ($(workbench-devs-printer_OBJDIR),) + workbench-devs-printer-genmakefile_OPTS += -d $(workbench-devs-printer_OBJDIR) + workbench-devs-printer-genmakefile_TARGET := $(workbench-devs-printer_OBJDIR)/$(workbench-devs-printer-genmakefile_TARGET) +endif + +$(workbench-devs-printer-genmakefile_TARGET) : OPTS := $(workbench-devs-printer-genmakefile_OPTS) +$(workbench-devs-printer-genmakefile_TARGET) : MODNAME := printer +$(workbench-devs-printer-genmakefile_TARGET) : MODTYPE := device +$(workbench-devs-printer-genmakefile_TARGET) : $(workbench-devs-printer-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-devs-printer-makefile),) +$(workbench-devs-printer-makefile) : | $(workbench-devs-printer_OBJDIR) +else +$(workbench-devs-printer-makefile) :: $(workbench-devs-printer_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printer_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-devs-printer_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-devs-printer-makefile) + +workbench-devs-printer_DEFMODDIR := $($(workbench-devs-printer_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-devs-printer_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-devs-printer_DEFMODDIR) +endif +ifneq (,) + workbench-devs-printer_MODDIR := +else + workbench-devs-printer_MODDIR := $(workbench-devs-printer_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-devs-printer_INCDIR := +else +workbench-devs-printer_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-devs-printer_LIBDEFSINC := $(workbench-devs-printer_OBJDIR)/include/$(workbench-devs-printer_DEFNAME)_libdefs.h +workbench-devs-printer_DEFLIBDEFSINC := $(workbench-devs-printer_OBJDIR)/include/$(workbench-devs-printer_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-devs-printer-includes-quick : workbench-devs-printer-includes +workbench-devs-printer-includes : $(addprefix $(GENINCDIR)/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-devs-printer_INCDIR)/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) \ + $(workbench-devs-printer_LIBDEFSINC) $(workbench-devs-printer_DEFLIBDEFSINC) + +ifneq ($($(workbench-devs-printer_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-devs-printer-includes_MODNAME := printer_ +else + workbench-devs-printer-includes_MODNAME := printer +endif + +ifneq ($($(workbench-devs-printer-includes_MODNAME)_INCLUDES),) + +workbench-devs-printer-includes_TARGETS := $($(workbench-devs-printer-includes_MODNAME)_INCLUDES) + +workbench-devs-printer-includes_DEPS := $(GENMODULE) +workbench-devs-printer-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printer-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printer-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printer-includes_OPTS += -c + workbench-devs-printer-includes_DEPS += + endif +else + workbench-devs-printer-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/printer.conf + workbench-devs-printer-includes_DEPS += $(SRCDIR)/$(CURDIR)/printer.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printer-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printer-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printer-includes_OPTS += -o + workbench-devs-printer-includes_DEPS += + endif +endif +ifneq (,) + workbench-devs-printer-includes_OPTS += -s +endif +ifneq ($(workbench-devs-printer_OBJDIR)/include,) + workbench-devs-printer-includes_OPTS += -d $(workbench-devs-printer_OBJDIR)/include + workbench-devs-printer-includes_TARGETS := $(addprefix $(workbench-devs-printer_OBJDIR)/include/,$(workbench-devs-printer-includes_TARGETS)) + workbench-devs-printer-includes_GENINCFLAG=$(workbench-devs-printer_OBJDIR)/include/.printer.device-includes +else + workbench-devs-printer-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.printer.device-includes +endif + +$(workbench-devs-printer-includes_TARGETS) : $(workbench-devs-printer-includes_DEPS) $(workbench-devs-printer-includes_GENINCFLAG) + +$(workbench-devs-printer-includes_GENINCFLAG) : OPTS := $(workbench-devs-printer-includes_OPTS) +$(workbench-devs-printer-includes_GENINCFLAG) : MODNAME := printer +$(workbench-devs-printer-includes_GENINCFLAG) : MODTYPE := device +$(workbench-devs-printer-includes_GENINCFLAG) : $(workbench-devs-printer-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-devs-printer_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) : | $(workbench-devs-printer_OBJDIR)/printer_geninc + +$(workbench-devs-printer_OBJDIR)/printer_geninc : COPYSRCDIR := $(workbench-devs-printer_OBJDIR)/include +$(workbench-devs-printer_OBJDIR)/printer_geninc : TGTDIR := $(GENINCDIR) +$(workbench-devs-printer_OBJDIR)/printer_geninc : FILES := $($(workbench-devs-printer_DEFNAME)_INCLUDES) +$(workbench-devs-printer_OBJDIR)/printer_geninc : $(addprefix $(workbench-devs-printer_OBJDIR)/include/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-devs-printer_OBJDIR)/include + +$(addprefix $(workbench-devs-printer_INCDIR)/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) : | $(workbench-devs-printer_OBJDIR)/printer_incs + +$(workbench-devs-printer_OBJDIR)/printer_incs : COPYSRCDIR := $(workbench-devs-printer_OBJDIR)/include +$(workbench-devs-printer_OBJDIR)/printer_incs : TGTDIR := $(workbench-devs-printer_INCDIR) +$(workbench-devs-printer_OBJDIR)/printer_incs : FILES := $($(workbench-devs-printer_DEFNAME)_INCLUDES) +$(workbench-devs-printer_OBJDIR)/printer_incs : $(addprefix $(workbench-devs-printer_OBJDIR)/include/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-devs-printer_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-devs-printer_DEFNAME)_INCLUDES)))) + +TMPprinter_INCDIRS := \ + $(workbench-devs-printer_OBJDIR)/include $(addprefix $(workbench-devs-printer_OBJDIR)/include/,$(workbench-devs-printer_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-devs-printer_INCDIRS)) \ + $(workbench-devs-printer_INCDIR) $(addprefix $(workbench-devs-printer_INCDIR)/,$(workbench-devs-printer_INCDIRS)) + +ifneq (workbench-devs-printer-includes-dirs,) +workbench-devs-printer-includes-dirs : | $(TMPprinter_INCDIRS) +else +workbench-devs-printer-includes-dirs :: $(TMPprinter_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPprinter_INCDIRS) + + +endif + +endif + + +workbench-devs-printer-genlibdefs_OPTS := +ifneq (,) + workbench-devs-printer-genlibdefs_OPTS += -f + workbench-devs-printer-genlibdefs_MODNAME := printer_ +else + workbench-devs-printer-genlibdefs_MODNAME := printer +endif +workbench-devs-printer-genlibdefs_TARGET := $(workbench-devs-printer-genlibdefs_MODNAME)_libdefs.h +workbench-devs-printer-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printer-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printer-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printer-genlibdefs_OPTS += -c + workbench-devs-printer-genlibdefs_DEPS += + endif +else + workbench-devs-printer-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/printer.conf + workbench-devs-printer-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/printer.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printer-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printer-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printer-genlibdefs_OPTS += -o + workbench-devs-printer-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-devs-printer-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-devs-printer_OBJDIR)/include,) + workbench-devs-printer-genlibdefs_OPTS += -d $(workbench-devs-printer_OBJDIR)/include + workbench-devs-printer-genlibdefs_TARGET := $(workbench-devs-printer_OBJDIR)/include/$(workbench-devs-printer-genlibdefs_TARGET) +endif +ifneq (,) + workbench-devs-printer-genlibdefs_OPTS += -v +endif + +$(workbench-devs-printer-genlibdefs_TARGET) : OPTS := $(workbench-devs-printer-genlibdefs_OPTS) +$(workbench-devs-printer-genlibdefs_TARGET) : MODNAME := printer +$(workbench-devs-printer-genlibdefs_TARGET) : MODTYPE := device +$(workbench-devs-printer-genlibdefs_TARGET) : $(workbench-devs-printer-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-devs-printer_DEFLIBDEFSINC) : FILENAME := $(workbench-devs-printer_LIBDEFSINC) +$(workbench-devs-printer_DEFLIBDEFSINC) : $(workbench-devs-printer_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-devs-printer_LIBDEFSINC) $(workbench-devs-printer_DEFLIBDEFSINC) : | $(workbench-devs-printer_OBJDIR)/include + +ifneq (workbench-devs-printer-includes-dirs,) +workbench-devs-printer-includes-dirs : | $(workbench-devs-printer_OBJDIR)/include +else +workbench-devs-printer-includes-dirs :: $(workbench-devs-printer_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-devs-printer_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-devs-printer-genmodfiles_OPTS := +ifneq (,) + workbench-devs-printer-genmodfiles_OPTS += -f + workbench-devs-printer-genmodfiles_MODNAME := printer_ +else + workbench-devs-printer-genmodfiles_MODNAME := printer +endif +workbench-devs-printer-genmodfiles_GENTARGETS := $($(workbench-devs-printer-genmodfiles_MODNAME)_STARTFILES) $($(workbench-devs-printer-genmodfiles_MODNAME)_ENDFILES) +workbench-devs-printer-genmodfiles_STUBTARGETS := $($(workbench-devs-printer-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-devs-printer-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-devs-printer-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-devs-printer-genmodfiles_GENTARGETS)) +workbench-devs-printer-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-devs-printer-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-devs-printer-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-devs-printer-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-devs-printer-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printer-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printer-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printer-genmodfiles_OPTS += -c + workbench-devs-printer-genmodfiles_DEPS += + endif +else + workbench-devs-printer-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/printer.conf + workbench-devs-printer-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/printer.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printer-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printer-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printer-genmodfiles_OPTS += -o + workbench-devs-printer-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-devs-printer-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-devs-printer_OBJDIR),) + workbench-devs-printer-genmodfiles_OPTS += -d $(workbench-devs-printer_OBJDIR) + workbench-devs-printer-genmodfiles_TARGETDIR := $(shell echo $(workbench-devs-printer_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printer-genmodfiles_GENTARGETS := $(addprefix $(workbench-devs-printer-genmodfiles_TARGETDIR)/,$(workbench-devs-printer-genmodfiles_GENTARGETS)) + workbench-devs-printer-genmodfiles_GENFILEFLAG=$(workbench-devs-printer-genmodfiles_TARGETDIR)/.printer.device-genfiles +else + workbench-devs-printer-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.printer.device-genfiles +endif +ifneq ($(workbench-devs-printer_OBJDIR)/linklib,) + workbench-devs-printer-genmodfiles_OPTS += -l $(workbench-devs-printer_OBJDIR)/linklib + workbench-devs-printer-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-devs-printer_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printer-genmodfiles_STUBTARGETS := $(addprefix $(workbench-devs-printer-genmodfiles_STUBTARGETDIR)/,$(workbench-devs-printer-genmodfiles_STUBTARGETS)) + workbench-devs-printer-genmodfiles_TARGETDIRS += $(workbench-devs-printer_OBJDIR)/linklib +else +ifneq ($(workbench-devs-printer_OBJDIR),) + workbench-devs-printer-genmodfiles_STUBTARGETS := $(addprefix $(workbench-devs-printer-genmodfiles_TARGETDIR)/,$(workbench-devs-printer-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-devs-printer-genmodfiles_TARGETS := $(workbench-devs-printer-genmodfiles_GENTARGETS) $(workbench-devs-printer-genmodfiles_STUBTARGETS) +ifneq ($(workbench-devs-printer-genmodfiles_TARGETDIRS),) +$(workbench-devs-printer-genmodfiles_TARGETS) : | $(workbench-devs-printer-genmodfiles_TARGETDIRS) +endif + +$(workbench-devs-printer-genmodfiles_TARGETS) : $(workbench-devs-printer-genmodfiles_DEPS) $(workbench-devs-printer-genmodfiles_GENFILEFLAG) + +$(workbench-devs-printer-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-devs-printer-genmodfiles_OPTS) +$(workbench-devs-printer-genmodfiles_GENFILEFLAG) : MODNAME := printer +$(workbench-devs-printer-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(workbench-devs-printer-genmodfiles_GENFILEFLAG) : $(workbench-devs-printer-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-devs-printer-genmodfiles_GENFILEFLAG) : $(workbench-devs-printer_DEFLIBDEFSINC) $(workbench-devs-printer-makefile) + + +ifneq ($(workbench-devs-printer-genmodfiles_GENFILEFLAG),) +$(workbench-devs-printer-genmodfiles_GENFILEFLAG) : | $(workbench-devs-printer_OBJDIR)/linklib +else +$(workbench-devs-printer-genmodfiles_GENFILEFLAG) :: $(workbench-devs-printer_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-devs-printer_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-devs-printer_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-devs-printer_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-devs-printer-fd : $(workbench-devs-printer_FDDIR)/printer_lib.fd + + +TMP_TARGET := printer_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/printer.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/printer.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-devs-printer_FDDIR),) + TMP_OPTS += -d $(workbench-devs-printer_FDDIR) + TMP_TARGET := $(workbench-devs-printer_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := printer +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-devs-printer_FDDIR)/printer_lib.fd : | $(workbench-devs-printer_FDDIR) + + +ifneq (workbench-devs-printer-fd-setup,) +workbench-devs-printer-fd-setup : | $(workbench-devs-printer_FDDIR) +else +workbench-devs-printer-fd-setup :: $(workbench-devs-printer_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printer_FDDIR) + +endif + +## Compilation +## +workbench-devs-printer_FILES := $(FILES) +workbench-devs-printer_OBJCFILES := +workbench-devs-printer_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-devs-printer_LIBFILES := +workbench-devs-printer_LIBS := + +workbench-devs-printer_FDIRS := $(sort $(dir $(workbench-devs-printer_FILES))) + +workbench-devs-printer_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-devs-printer_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-devs-printer_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-devs-printer_FILTERARCH = $(filter-out $(call workbench-devs-printer_MATCHARCH,$(1),$(2)),$(2)) +workbench-devs-printer_STARTFILES := $(addprefix $(workbench-devs-printer_OBJDIR)/,$($(workbench-devs-printer_DEFNAME)_STARTFILES)) +workbench-devs-printer_ENDFILES := $(addprefix $(workbench-devs-printer_OBJDIR)/,$($(workbench-devs-printer_DEFNAME)_ENDFILES)) + +workbench-devs-printer_ARCHOBJS := $(wildcard $(workbench-devs-printer_OBJDIR)/arch/*.o) +workbench-devs-printer_LIBARCHOBJS := $(wildcard $(workbench-devs-printer_OBJDIR)/linklib/arch/*.o) +workbench-devs-printer_ARCHFILES := $(basename $(notdir $(workbench-devs-printer_ARCHOBJS))) +workbench-devs-printer_LIBARCHFILES := $(basename $(notdir $(workbench-devs-printer_LIBARCHOBJS))) +workbench-devs-printer_C_NARCHFILES := $(call workbench-devs-printer_FILTERARCH,$(workbench-devs-printer_ARCHFILES),$(workbench-devs-printer_FILES)) +workbench-devs-printer_CXX_NARCHFILES := $(call workbench-devs-printer_FILTERARCH,$(workbench-devs-printer_ARCHFILES),$(workbench-devs-printer_CXXFILES)) +workbench-devs-printer_OBJC_NARCHFILES := $(call workbench-devs-printer_FILTERARCH,$(workbench-devs-printer_ARCHFILES),$(workbench-devs-printer_OBJCFILES)) +workbench-devs-printer_NLIBARCHFILES := $(call workbench-devs-printer_FILTERARCH,$(workbench-devs-printer_LIBARCHFILES),$(workbench-devs-printer_LIBFILES)) +workbench-devs-printer_ARCHNLIBFILES := $(call workbench-devs-printer_FILTERARCH,$(workbench-devs-printer_LIBFILES),$(workbench-devs-printer_LIBARCHFILES)) + +workbench-devs-printer_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-devs-printer_OBJDIR)/include -include $(workbench-devs-printer_DEFLIBDEFSINC)) +ifneq (,) +workbench-devs-printer_CPPFLAGS += -I +endif +workbench-devs-printer_LINKLIBCPPFLAGS := $(workbench-devs-printer_CPPFLAGS) +workbench-devs-printer_CPPFLAGS += $(strip $($(workbench-devs-printer_DEFNAME)_CPPFLAGS)) +workbench-devs-printer_LINKLIBCPPFLAGS += $(strip $($(workbench-devs-printer_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-devs-printer_CFLAGS := $(strip $(CFLAGS) $($(workbench-devs-printer_DEFNAME)_CFLAGS)) +workbench-devs-printer_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-devs-printer_DEFNAME)_LINKLIBCFLAGS)) +workbench-devs-printer_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-devs-printer_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-devs-printer_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-devs-printer_CFLAGS := $(strip $(workbench-devs-printer_LTOFLAGS) $(workbench-devs-printer_CFLAGS)) +workbench-devs-printer_LINKLIBCFLAGS := $(strip $(workbench-devs-printer_LTOFLAGS) $(workbench-devs-printer_LINKLIBCFLAGS)) +workbench-devs-printer_CXXFLAGS := $(strip $(workbench-devs-printer_LTOFLAGS) $(workbench-devs-printer_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-printer_SUBSTNULL := +workbench-devs-printer_SUBSTSPACE := $(workbench-devs-printer_SUBSTNULL) # +workbench-devs-printer_SUBSTCOMMA := , +workbench-devs-printer_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-devs-printer_SUBSTSPACE),$(workbench-devs-printer_SUBSTCOMMA),$(strip $($(workbench-devs-printer_DEFNAME)_STARTFILES)))) +workbench-devs-printer_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-printer_CFLAGS := $(strip $(workbench-devs-printer_INSTRFUNCFLAGS) $(workbench-devs-printer_CFLAGS)) +workbench-devs-printer_CXXFLAGS := $(strip $(workbench-devs-printer_INSTRFUNCFLAGS) $(workbench-devs-printer_CXXFLAGS)) +workbench-devs-printer_LIBS += $(workbench-devs-printer_INSTRFUNCLIBS) +endif +endif +workbench-devs-printer_DFLAGS := $(strip $(workbench-devs-printer_DFLAGS) $($(workbench-devs-printer_DEFNAME)_DFLAGS)) +workbench-devs-printer_LINKLIBDFLAGS := $(strip $(workbench-devs-printer_DFLAGS) $($(workbench-devs-printer_DEFNAME)_LINKLIBDFLAGS)) +workbench-devs-printer_DXXFLAGS := $(strip $(workbench-devs-printer_DXXFLAGS) $($(workbench-devs-printer_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + workbench-devs-printer_LIBSUFFIX := +else + workbench-devs-printer_LIBSUFFIX := .device +endif + +ifeq (,) +workbench-devs-printer_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-devs-printer_LIBDIR := +endif + +ifeq (M,M) +workbench-devs-printer_LINKLIBCFILES := $(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$($(workbench-devs-printer_DEFNAME)_LINKLIBFILES)) +workbench-devs-printer_LINKLIBAFILES := $(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$($(workbench-devs-printer_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-devs-printer_DEFNAME)_LINKLIBFILES) $($(workbench-devs-printer_DEFNAME)_LINKLIBAFILES) $(workbench-devs-printer_ARCHNLIBFILES)),) + workbench-devs-printer_LINKLIB := +else + workbench-devs-printer_LINKLIB := $(workbench-devs-printer_LIBDIR)/libprinter$(workbench-devs-printer_LIBSUFFIX).a + ifneq (printer,$(workbench-devs-printer_LINKLIBNAME)) + workbench-devs-printer_LINKLIB += $(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)$(workbench-devs-printer_LIBSUFFIX).a + endif +endif +workbench-devs-printer_LINKLIBFILES := $(workbench-devs-printer_LINKLIBCFILES) $(workbench-devs-printer_LINKLIBAFILES) + +workbench-devs-printer_RELLINKLIBCFILES := $(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$($(workbench-devs-printer_DEFNAME)_RELLINKLIBFILES)) +workbench-devs-printer_RELLINKLIBAFILES := $(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$($(workbench-devs-printer_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-devs-printer_DEFNAME)_RELLINKLIBFILES) $($(workbench-devs-printer_DEFNAME)_RELLINKLIBAFILES) $(workbench-devs-printer_ARCHNLIBFILES)),) + workbench-devs-printer_RELLINKLIB := +else + workbench-devs-printer_RELLINKLIB := $(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_DEFNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a + ifneq (printer,$(workbench-devs-printer_LINKLIBNAME)) + workbench-devs-printer_RELLINKLIB += $(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a + endif +endif +workbench-devs-printer_RELLINKLIBFILES := $(workbench-devs-printer_RELLINKLIBCFILES) $(workbench-devs-printer_RELLINKLIBAFILES) +endif + +workbench-devs-printer_ENDOBJS := $(addsuffix .o,$(workbench-devs-printer_ENDFILES)) +workbench-devs-printer_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(notdir $(workbench-devs-printer_NLIBARCHFILES))) $(addprefix $(workbench-devs-printer_OBJDIR)/linklib/arch/,$(notdir $(workbench-devs-printer_ARCHNLIBFILES))) $(workbench-devs-printer_LINKLIBFILES)) \ + +workbench-devs-printer_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(notdir $(workbench-devs-printer_NLIBARCHFILES))) $(addprefix $(workbench-devs-printer_OBJDIR)/linklib/arch/,$(notdir $(workbench-devs-printer_ARCHNLIBFILES))) $(workbench-devs-printer_RELLINKLIBFILES)) \ + +$(workbench-devs-printer_LINKLIBFILES) $(workbench-devs-printer_RELLINKLIBFILES) : | $(workbench-devs-printer_OBJDIR)/linklib +$(workbench-devs-printer_LINKLIBOBJS) $(workbench-devs-printer_RELLINKLIBOBJS) : | $(workbench-devs-printer_OBJDIR)/linklib + +workbench-devs-printer_CCFILES := $(workbench-devs-printer_C_NARCHFILES) +workbench-devs-printer_TARGETCCFILES := $(strip $(workbench-devs-printer_STARTFILES) $(workbench-devs-printer_ENDFILES)) +workbench-devs-printer_LINKLIBCCFILES := $(strip $(workbench-devs-printer_NLIBARCHFILES) $(workbench-devs-printer_LINKLIBCFILES) $(workbench-devs-printer_RELLINKLIBCFILES)) +workbench-devs-printer_LINKLIBCCGENFILES := $(strip $(workbench-devs-printer_LINKLIBCFILES) $(workbench-devs-printer_RELLINKLIBCFILES)) + + +workbench-devs-printer_CXXABSBASENAMES := $(foreach workbench-devs-printer_CXXBASE,$(workbench-devs-printer_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-printer_CXXBASE)),$(workbench-devs-printer_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-printer_CXXBASE)))) + +ifneq ($(workbench-devs-printer_CXXABSBASENAMES),) + +workbench-devs-printer_CXXBASENAMES := $(basename $(workbench-devs-printer_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-printer_MCXX_FILES := $(strip $(foreach workbench-devs-printer_CXXBASE,$(workbench-devs-printer_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-printer_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-printer_EXT),$(workbench-devs-printer_CXXBASE))))))) + +ifeq (,) +workbench-devs-printer_MCXX_SRCWILDCARD := % +else +workbench-devs-printer_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printer_OBJDIR),) + workbench-devs-printer_CXXTARGETS := $(notdir $(workbench-devs-printer_CXXBASENAMES:=.o)) + workbench-devs-printer_CXXDTARGETS := $(notdir $(workbench-devs-printer_CXXBASENAMES:=.d)) + workbench-devs-printer_MCXX_WILDCARD := % +else + workbench-devs-printer_CXXTARGETS := $(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(workbench-devs-printer_CXXBASENAMES:=.o))) + workbench-devs-printer_CXXDTARGETS := $(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(workbench-devs-printer_CXXBASENAMES:=.d))) + workbench-devs-printer_MCXX_WILDCARD := $(workbench-devs-printer_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-printer_CXXTARGETS) $(workbench-devs-printer_CXXDTARGETS) : | $(workbench-devs-printer_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-printer_MCXX_CPPFLAGS := $(workbench-devs-printer_CPPFLAGS) +workbench-devs-printer_CXXFLAGS := $(workbench-devs-printer_CXXFLAGS) +ifeq ($(workbench-devs-printer_DXXFLAGS),) + workbench-devs-printer_DXXFLAGS := $(workbench-devs-printer_CXXFLAGS) +else + workbench-devs-printer_DXXFLAGS := $(workbench-devs-printer_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-printer_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-printer_STRIP ?= $(HOST_STRIP) + workbench-devs-printer_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-printer_CXXCMD:=$(HOST_CXX) + workbench-devs-printer_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-printer_MCXX_CPPFLAGS) $(workbench-devs-printer_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printer_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-printer_CXXFLAGS)) + workbench-devs-printer_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-printer_DXXFLAGS)) + workbench-devs-printer_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-printer_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-printer_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-printer_STRIP ?= $(TARGET_STRIP) + workbench-devs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-printer_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-printer_MCXX_CPPFLAGS := $(strip $(workbench-devs-printer_MCXX_CPPFLAGS) $(workbench-devs-printer_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printer_CXXFLAGS := $(strip $(workbench-devs-printer_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-printer_DXXFLAGS := $(workbench-devs-printer_DXXFLAGS) + workbench-devs-printer_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-printer_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-printer_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-printer_STRIP ?= $(ECHO) >/dev/null + workbench-devs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-printer_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-printer_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-printer_MCXX_CPPFLAGS) $(workbench-devs-printer_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printer_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-printer_CXXFLAGS)) + workbench-devs-printer_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-printer_DXXFLAGS)) + workbench-devs-printer_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-printer_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-printer_CXXCMD) $(workbench-devs-printer_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printer_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_CXXIQUOTE) . $(workbench-devs-printer_CXXIQUOTE_END) $(strip $(workbench-devs-printer_CXXFLAGS) $(workbench-devs-printer_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-printer_CXXCMD) $(workbench-devs-printer_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printer_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_CXXIQUOTE) . $(workbench-devs-printer_CXXIQUOTE_END) $(strip $(workbench-devs-printer_CXXFLAGS) $(workbench-devs-printer_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-printer_CXXCMD) $(workbench-devs-printer_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printer_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_CXXIQUOTE) . $(workbench-devs-printer_CXXIQUOTE_END) $(strip $(workbench-devs-printer_CXXFLAGS) $(workbench-devs-printer_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-printer_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-printer_DXXFLAGS) $(workbench-devs-printer_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-printer_OBJDIR),) + $(foreach workbench-devs-printer_CXXFILE,$(workbench-devs-printer_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-printer_CXXFILE))),$(workbench-devs-printer_CXXFILE)))) +else + $(foreach workbench-devs-printer_CXXFILE,$(workbench-devs-printer_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(basename $(workbench-devs-printer_CXXFILE)))),$(workbench-devs-printer_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-printer_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-printer_MOBJC_SRCWILDCARD := % +else +workbench-devs-printer_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printer_OBJDIR),) + workbench-devs-printer_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-printer_OBJC_NARCHFILES)) + workbench-devs-printer_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-printer_OBJC_NARCHFILES)) + workbench-devs-printer_MOBJC_WILDCARD := % +else + workbench-devs-printer_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(workbench-devs-printer_OBJC_NARCHFILES))) + workbench-devs-printer_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(workbench-devs-printer_OBJC_NARCHFILES))) + workbench-devs-printer_MOBJC_WILDCARD := $(workbench-devs-printer_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-printer_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-printer_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printer_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printer_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-printer_MOBJC_DIRS := $(foreach dir, $(workbench-devs-printer_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printer_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-printer_MOBJC_DIRS),) + workbench-devs-printer_MOBJC_DIRS := $(shell echo $(workbench-devs-printer_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-printer_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-printer_CC := $(TARGET_CC) +else + workbench-devs-printer_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-printer_MOBJC_CPPFLAGS := $(workbench-devs-printer_CPPFLAGS) +workbench-devs-printer_OBJCFLAGS := $(workbench-devs-printer_CFLAGS) +workbench-devs-printer_OBJCFLAGS := $(workbench-devs-printer_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-printer_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-printer_OBJCFLAGS))) +ifeq ($(workbench-devs-printer_DFLAGS),) + workbench-devs-printer_OBJCDFLAGS := $(workbench-devs-printer_CFLAGS) +else + workbench-devs-printer_OBJCDFLAGS := $(workbench-devs-printer_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-printer_LINK ?= $(strip $(workbench-devs-printer_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-printer_STRIP ?= $(TARGET_STRIP) + workbench-devs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-printer_CC) $(TARGET_SYSROOT)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-printer_MOBJC_CPPFLAGS) $(workbench-devs-printer_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_OBJCFLAGS:=$(strip $(workbench-devs-printer_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_OBJCDFLAGS:=$(workbench-devs-printer_OBJCDFLAGS) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-printer_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-printer_STRIP ?= $(HOST_STRIP) + workbench-devs-printer_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-printer_MOBJC_CPPFLAGS) $(workbench-devs-printer_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_OBJCFLAGS)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_OBJCDFLAGS)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-printer_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-printer_STRIP ?= $(ECHO) >/dev/null + workbench-devs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-printer_MOBJC_CPPFLAGS) $(workbench-devs-printer_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_OBJCFLAGS)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_OBJCDFLAGS)) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-printer_MOBJC_TARGETS) $(workbench-devs-printer_MOBJC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printer_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-printer_MOBJC_CPPFLAGS) +$(workbench-devs-printer_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-printer_OBJCFLAGS) +$(workbench-devs-printer_MOBJC_TARGETS) : $(workbench-devs-printer_MOBJC_WILDCARD).o : $(workbench-devs-printer_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printer_MOBJC_DTARGETS) : $(workbench-devs-printer_MOBJC_WILDCARD).d : $(workbench-devs-printer_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printer_OBJCDFLAGS) $(workbench-devs-printer_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-printer_MC_SRCWILDCARD := % +else +workbench-devs-printer_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printer_OBJDIR),) +workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printer_CCFILES)) +workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printer_CCFILES)) +workbench-devs-printer_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(workbench-devs-printer_CCFILES)))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(workbench-devs-printer_CCFILES)))) +else +ifeq (,) + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(workbench-devs-printer_CCFILES))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(workbench-devs-printer_CCFILES))) +else + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printer_CCFILES)))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printer_CCFILES)))) +endif +endif +workbench-devs-printer_MC_TGTWILDCARD := $(workbench-devs-printer_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printer_CCFILES)) + +# Be sure that all .c files are found +workbench-devs-printer_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printer_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printer_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printer_MC_DIRS := $(foreach dir, $(workbench-devs-printer_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printer_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printer_MC_DIRS),) + workbench-devs-printer_MC_DIRS := $(shell echo $(workbench-devs-printer_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printer_MC_DIRS) +endif + +endif + +workbench-devs-printer_MC_CPPFLAGS := $(workbench-devs-printer_CPPFLAGS) +workbench-devs-printer_CFLAGS := $(workbench-devs-printer_CFLAGS) +ifeq ($(workbench-devs-printer_DFLAGS),) + workbench-devs-printer_DFLAGS := $(workbench-devs-printer_CFLAGS) +else + workbench-devs-printer_DFLAGS := $(workbench-devs-printer_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printer_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(TARGET_STRIP) +workbench-devs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(workbench-devs-printer_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(workbench-devs-printer_DFLAGS) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printer_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(HOST_STRIP) +workbench-devs-printer_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_DFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printer_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_DFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printer_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printer_MC_CPPFLAGS) +$(workbench-devs-printer_MC_TARGETS) : CFLAGS := $(workbench-devs-printer_CFLAGS) +$(workbench-devs-printer_MC_TARGETS) : $(workbench-devs-printer_MC_TGTWILDCARD).o : $(workbench-devs-printer_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printer_MC_DTARGETS) : $(workbench-devs-printer_MC_TGTWILDCARD).d : $(workbench-devs-printer_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printer_DFLAGS) $(workbench-devs-printer_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-devs-printer_MC_SRCWILDCARD := % +else +workbench-devs-printer_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printer_OBJDIR),) +workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printer_TARGETCCFILES)) +workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printer_TARGETCCFILES)) +workbench-devs-printer_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(workbench-devs-printer_TARGETCCFILES)))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(workbench-devs-printer_TARGETCCFILES)))) +else +ifeq (,) + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(workbench-devs-printer_TARGETCCFILES))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(workbench-devs-printer_TARGETCCFILES))) +else + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printer_TARGETCCFILES)))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printer_TARGETCCFILES)))) +endif +endif +workbench-devs-printer_MC_TGTWILDCARD := $(workbench-devs-printer_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printer_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-devs-printer_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printer_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printer_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printer_MC_DIRS := $(foreach dir, $(workbench-devs-printer_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printer_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printer_MC_DIRS),) + workbench-devs-printer_MC_DIRS := $(shell echo $(workbench-devs-printer_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printer_MC_DIRS) +endif + +endif + +workbench-devs-printer_MC_CPPFLAGS := $(workbench-devs-printer_CPPFLAGS) -D__AROS__ +workbench-devs-printer_CFLAGS := $(workbench-devs-printer_CFLAGS) +ifeq ($(workbench-devs-printer_DFLAGS),) + workbench-devs-printer_DFLAGS := $(workbench-devs-printer_CFLAGS) +else + workbench-devs-printer_DFLAGS := $(workbench-devs-printer_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printer_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(TARGET_STRIP) +workbench-devs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(workbench-devs-printer_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(workbench-devs-printer_DFLAGS) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printer_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(HOST_STRIP) +workbench-devs-printer_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_DFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printer_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_DFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printer_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printer_MC_CPPFLAGS) +$(workbench-devs-printer_MC_TARGETS) : CFLAGS := $(workbench-devs-printer_CFLAGS) +$(workbench-devs-printer_MC_TARGETS) : $(workbench-devs-printer_MC_TGTWILDCARD).o : $(workbench-devs-printer_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printer_MC_DTARGETS) : $(workbench-devs-printer_MC_TGTWILDCARD).d : $(workbench-devs-printer_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printer_DFLAGS) $(workbench-devs-printer_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-devs-printer_MC_SRCWILDCARD := % +else +workbench-devs-printer_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printer_OBJDIR)/linklib,) +workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printer_NLIBARCHFILES)) +workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printer_NLIBARCHFILES)) +workbench-devs-printer_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(notdir $(workbench-devs-printer_NLIBARCHFILES)))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(notdir $(workbench-devs-printer_NLIBARCHFILES)))) +else +ifeq (,) + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(workbench-devs-printer_NLIBARCHFILES))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(workbench-devs-printer_NLIBARCHFILES))) +else + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-devs-printer_NLIBARCHFILES)))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-devs-printer_NLIBARCHFILES)))) +endif +endif +workbench-devs-printer_MC_TGTWILDCARD := $(workbench-devs-printer_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printer_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-printer_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printer_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printer_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printer_MC_DIRS := $(foreach dir, $(workbench-devs-printer_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printer_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printer_MC_DIRS),) + workbench-devs-printer_MC_DIRS := $(shell echo $(workbench-devs-printer_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printer_MC_DIRS) +endif + +endif + +workbench-devs-printer_MC_CPPFLAGS := $(workbench-devs-printer_LINKLIBCPPFLAGS) -D__AROS__ +workbench-devs-printer_CFLAGS := $(workbench-devs-printer_LINKLIBCFLAGS) +ifeq ($(workbench-devs-printer_LINKLIBDFLAGS),) + workbench-devs-printer_DFLAGS := $(workbench-devs-printer_LINKLIBCFLAGS) +else + workbench-devs-printer_DFLAGS := $(workbench-devs-printer_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printer_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(TARGET_STRIP) +workbench-devs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(workbench-devs-printer_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(workbench-devs-printer_DFLAGS) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printer_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(HOST_STRIP) +workbench-devs-printer_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_DFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printer_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_DFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printer_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printer_MC_CPPFLAGS) +$(workbench-devs-printer_MC_TARGETS) : CFLAGS := $(workbench-devs-printer_CFLAGS) +$(workbench-devs-printer_MC_TARGETS) : $(workbench-devs-printer_MC_TGTWILDCARD).o : $(workbench-devs-printer_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printer_MC_DTARGETS) : $(workbench-devs-printer_MC_TGTWILDCARD).d : $(workbench-devs-printer_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printer_DFLAGS) $(workbench-devs-printer_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-printer_OBJDIR)/linklib,) +workbench-devs-printer_MC_SRCWILDCARD := % +else +workbench-devs-printer_MC_SRCWILDCARD := $(workbench-devs-printer_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-devs-printer_OBJDIR)/linklib,) +workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printer_LINKLIBCCGENFILES)) +workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printer_LINKLIBCCGENFILES)) +workbench-devs-printer_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(notdir $(workbench-devs-printer_LINKLIBCCGENFILES)))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(notdir $(workbench-devs-printer_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-devs-printer_OBJDIR)/linklib,) + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(workbench-devs-printer_LINKLIBCCGENFILES))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(workbench-devs-printer_LINKLIBCCGENFILES))) +else + workbench-devs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(patsubst $(workbench-devs-printer_OBJDIR)/linklib/%,%,$(workbench-devs-printer_LINKLIBCCGENFILES)))) + workbench-devs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(patsubst $(workbench-devs-printer_OBJDIR)/linklib/%,%,$(workbench-devs-printer_LINKLIBCCGENFILES)))) +endif +endif +workbench-devs-printer_MC_TGTWILDCARD := $(workbench-devs-printer_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printer_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-devs-printer_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printer_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printer_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printer_MC_DIRS := $(foreach dir, $(workbench-devs-printer_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printer_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printer_MC_DIRS),) + workbench-devs-printer_MC_DIRS := $(shell echo $(workbench-devs-printer_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printer_MC_DIRS) +endif + +endif + +workbench-devs-printer_MC_CPPFLAGS := $(workbench-devs-printer_LINKLIBCPPFLAGS) -D__AROS__ +workbench-devs-printer_CFLAGS := $(workbench-devs-printer_LINKLIBCFLAGS) +ifeq ($(workbench-devs-printer_LINKLIBDFLAGS),) + workbench-devs-printer_DFLAGS := $(workbench-devs-printer_LINKLIBCFLAGS) +else + workbench-devs-printer_DFLAGS := $(workbench-devs-printer_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printer_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(TARGET_STRIP) +workbench-devs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(workbench-devs-printer_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(workbench-devs-printer_DFLAGS) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printer_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(HOST_STRIP) +workbench-devs-printer_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printer_DFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printer_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printer_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printer_MC_CPPFLAGS) $(workbench-devs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_CFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printer_DFLAGS)) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printer_MC_TARGETS) $(workbench-devs-printer_MC_DTARGETS) : workbench-devs-printer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printer_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printer_MC_CPPFLAGS) +$(workbench-devs-printer_MC_TARGETS) : CFLAGS := $(workbench-devs-printer_CFLAGS) +$(workbench-devs-printer_MC_TARGETS) : $(workbench-devs-printer_MC_TGTWILDCARD).o : $(workbench-devs-printer_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printer_IQUOTE) $(dir $<) $(workbench-devs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printer_IQUOTE) . $(workbench-devs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printer_MC_DTARGETS) : $(workbench-devs-printer_MC_TGTWILDCARD).d : $(workbench-devs-printer_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printer_DFLAGS) $(workbench-devs-printer_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-devs-printer_LINKLIBAFILES),) + +ifeq ($(workbench-devs-printer_OBJDIR)/linklib,) +workbench-devs-printer-MA_TARGETS := $(addsuffix .o,$(workbench-devs-printer_LINKLIBAFILES) $(workbench-devs-printer_RELLINKLIBAFILES)) +workbench-devs-printer-MA_WILDCARD := % +else +workbench-devs-printer-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(notdir $(workbench-devs-printer_LINKLIBAFILES) $(workbench-devs-printer_RELLINKLIBAFILES)))) +workbench-devs-printer-MA_WILDCARD := $(workbench-devs-printer_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-devs-printer-MA_TARGETS) : | $(addsuffix .S,$(workbench-devs-printer_LINKLIBAFILES) $(workbench-devs-printer_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-devs-printer-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printer-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printer_LINKLIBAFILES) $(workbench-devs-printer_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printer-MA_DIRS := $(foreach dir, $(workbench-devs-printer-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printer-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printer-MA_DIRS),) + workbench-devs-printer-MA_DIRS := $(shell echo $(workbench-devs-printer-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-devs-printer-MA_DIRS) +endif + +endif + +workbench-devs-printer-MA_ASSEMBLER ?= $(workbench-devs-printer_ASSEMBLER) + +$(workbench-devs-printer-MA_TARGETS) : workbench-devs-printer-MA_CMD:= $(workbench-devs-printer-MA_ASSEMBLER) + +$(workbench-devs-printer-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-devs-printer-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-devs-printer-MA_TARGETS) : $(workbench-devs-printer-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-printer-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-printer-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-printer-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-devs-printer_SUFFIX := device +else +workbench-devs-printer_SUFFIX := +endif + +ifeq (target,target) +workbench-devs-printer_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-printer_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-printer_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-devs-printer_SUFFIX),handler) +workbench-devs-printer_MODULE := $(AROSDIR)/$(workbench-devs-printer_MODDIR)/$(workbench-devs-printer_DEFNAME)-$(workbench-devs-printer_SUFFIX) +else +workbench-devs-printer_MODULE := $(AROSDIR)/$(workbench-devs-printer_MODDIR)/$(workbench-devs-printer_DEFNAME).$(workbench-devs-printer_SUFFIX) +endif +workbench-devs-printer_KOBJ := $(KOBJSDIR)/$(workbench-devs-printer_DEFNAME)_$(workbench-devs-printer_SUFFIX).o +else +workbench-devs-printer_MODULE := +workbench-devs-printer_KOBJ := +endif + +workbench-devs-printer-quick : workbench-devs-printer +workbench-devs-printer : $(workbench-devs-printer_MODULE) $(workbench-devs-printer_LINKLIB) $(workbench-devs-printer_RELLINKLIB) +ifeq (M,M) +workbench-devs-printer-kobj : $(workbench-devs-printer_KOBJ) $(workbench-devs-printer_LINKLIB) $(workbench-devs-printer_RELLINKLIB) +workbench-devs-printer-kobj-quick : $(workbench-devs-printer_KOBJ) $(workbench-devs-printer_LINKLIB) $(workbench-devs-printer_RELLINKLIB) +endif +ifeq (M,M) +workbench-devs-printer-linklib : $(workbench-devs-printer_LINKLIB) $(workbench-devs-printer_RELLINKLIB) +endif + +workbench-devs-printer_OBJS := $(addsuffix .o,$(workbench-devs-printer_STARTFILES)) $(workbench-devs-printer_ARCHOBJS) \ + $(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(workbench-devs-printer_C_NARCHFILES:=.o) $(workbench-devs-printer_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +workbench-devs-printer_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (printer,con) + workbench-devs-printer_ERR := $(notdir $(workbench-devs-printer_MODULE)).err +else + workbench-devs-printer_ERR := printer.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-devs-printer_DEFNAME)_LDFLAGS) $(workbench-devs-printer_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-printer_LIBS) $($(workbench-devs-printer_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-devs-printer_MODULE) : LIB_NAMES := $(workbench-devs-printer_LIBS) $($(workbench-devs-printer_DEFNAME)_LIBS) +$(workbench-devs-printer_MODULE) : OBJS := $(workbench-devs-printer_STARTOBJS) $(workbench-devs-printer_OBJS) $(USER_OBJS) +$(workbench-devs-printer_MODULE) : ENDTAG := $(workbench-devs-printer_ENDOBJS) +$(workbench-devs-printer_MODULE) : ERR := $(workbench-devs-printer_ERR) +$(workbench-devs-printer_MODULE) : OBJDIR := $(workbench-devs-printer_OBJDIR) +$(workbench-devs-printer_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-devs-printer_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-devs-printer_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-devs-printer_MODULE) : $(workbench-devs-printer_STARTOBJS) $(workbench-devs-printer_OBJS) $(USER_OBJS) $(workbench-devs-printer_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-devs-printer_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-devs-printer_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-devs-printer_LC_LINKLIBNAME := $(shell echo $(workbench-devs-printer_LINKLIBNAME) | tr A-Z a-z) +workbench-devs-printer_LC_MODNAME := $(shell echo printer | tr A-Z a-z) +ifneq ($(workbench-devs-printer_LINKLIB),) + +ifeq (target,target) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(HOST_AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(KERNEL_AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)$(workbench-devs-printer_LIBSUFFIX).a : $(workbench-devs-printer_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printer_AR) $@ $^ + $(Q)$(workbench-devs-printer_RANLIB) $@ +ifneq ($(workbench-devs-printer_LC_MODNAME),$(workbench-devs-printer_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-devs-printer_LIBDIR)/libprinter$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(AR) +$(workbench-devs-printer_LIBDIR)/libprinter$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printer_LIBDIR)/libprinter$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(HOST_AR) +$(workbench-devs-printer_LIBDIR)/libprinter$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printer_LIBDIR)/libprinter$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(KERNEL_AR) +$(workbench-devs-printer_LIBDIR)/libprinter$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printer_LIBDIR)/libprinter$(workbench-devs-printer_LIBSUFFIX).a : $(workbench-devs-printer_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printer_AR) $@ $^ + $(Q)$(workbench-devs-printer_RANLIB) $@ +endif + + +ifneq ($(workbench-devs-printer_LINKLIB),) +$(workbench-devs-printer_LINKLIB) : | $(workbench-devs-printer_LIBDIR) +else +$(workbench-devs-printer_LINKLIB) :: $(workbench-devs-printer_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printer_LIBDIR) + +endif + +ifneq ($(workbench-devs-printer_RELLINKLIB),) + +ifeq (target,target) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(HOST_AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(KERNEL_AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_LINKLIBNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : $(workbench-devs-printer_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printer_AR) $@ $^ + $(Q)$(workbench-devs-printer_RANLIB) $@ +ifneq ($(workbench-devs-printer_LC_MODNAME),$(workbench-devs-printer_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_DEFNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_DEFNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_DEFNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(HOST_AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_DEFNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_DEFNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_AR:=$(KERNEL_AR) +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_DEFNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : workbench-devs-printer_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printer_LIBDIR)/lib$(workbench-devs-printer_DEFNAME)_rel$(workbench-devs-printer_LIBSUFFIX).a : $(workbench-devs-printer_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printer_AR) $@ $^ + $(Q)$(workbench-devs-printer_RANLIB) $@ +endif + + +ifneq ($(workbench-devs-printer_RELLINKLIB),) +$(workbench-devs-printer_RELLINKLIB) : | $(workbench-devs-printer_LIBDIR) +else +$(workbench-devs-printer_RELLINKLIB) :: $(workbench-devs-printer_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printer_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-devs-printer_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-devs-printer_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-devs-printer_SYMBOLS := $(workbench-devs-printer_KBASE) + +workbench-devs-printer_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-devs-printer_KOBJ_LIBS := $(filter-out $(workbench-devs-printer_KLIB),$(workbench-devs-printer_LIBS)) $(workbench-devs-printer_KAUTOLIB) +$(workbench-devs-printer_KOBJ) : LINKLIBS:=$(workbench-devs-printer_KOBJ_LIBS) $($(workbench-devs-printer_DEFNAME)_LIBS) +$(workbench-devs-printer_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-devs-printer_SYMBOLS)) +$(workbench-devs-printer_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-devs-printer_KOBJ) : $(workbench-devs-printer_OBJS) $(USER_OBJS) $(workbench-devs-printer_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-devs-printer_DEPS := $(addprefix $(workbench-devs-printer_OBJDIR)/,$(notdir $(workbench-devs-printer_CCFILES:=.d) $(workbench-devs-printer_TARGETCCFILES:=.d) $(workbench-devs-printer_CXXFILES:=.d))) $(addprefix $(workbench-devs-printer_OBJDIR)/linklib/,$(notdir $(workbench-devs-printer_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-devs-printer_DEPS),) + ifneq (workbench-devs-printer workbench-devs-printer-quick workbench-devs-printer-kobj workbench-devs-printer-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-printer workbench-devs-printer-quick workbench-devs-printer-kobj workbench-devs-printer-kobj-quick),) + -include $(workbench-devs-printer_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-printer_DEPS) + endif + endif +endif + +$(workbench-devs-printer_OBJS) $(workbench-devs-printer_DEPS) : | $(workbench-devs-printer_OBJDIR)/linklib + +ifneq ($(workbench-devs-printer_OBJS) $(workbench-devs-printer_DEPS) $(workbench-devs-printer_MODULE) $(workbench-devs-printer_KOBJ),) +$(workbench-devs-printer_OBJS) $(workbench-devs-printer_DEPS) $(workbench-devs-printer_MODULE) $(workbench-devs-printer_KOBJ) : | $(workbench-devs-printer_OBJDIR) $(AROSDIR)/$(workbench-devs-printer_MODDIR) $(KOBJSDIR) +else +$(workbench-devs-printer_OBJS) $(workbench-devs-printer_DEPS) $(workbench-devs-printer_MODULE) $(workbench-devs-printer_KOBJ) :: $(workbench-devs-printer_OBJDIR) $(AROSDIR)/$(workbench-devs-printer_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printer_OBJDIR) $(AROSDIR)/$(workbench-devs-printer_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-devs-printer workbench-devs-printer-includes workbench-devs-printer-quick workbench-devs-printer-kobj workbench-devs-printer-kobj-quick),) # Only for this target these deps are wanted + +workbench-devs-printer_DFILE_DEPS := $(workbench-devs-printer_LIBDEFSINC) $(workbench-devs-printer_DEFLIBDEFSINC) \ + $(addprefix $(workbench-devs-printer_INCDIR)/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) +$(workbench-devs-printer_DEPS) : $(workbench-devs-printer_DFILE_DEPS) +endif + +workbench-devs-printer_TOCLEAN := $(workbench-devs-printer_OBJS) $(workbench-devs-printer_DEPS) \ + $(workbench-devs-printer_MODULE) $(workbench-devs-printer_LINKLIB) $(workbench-devs-printer_KOBJ) \ + $(workbench-devs-printer_OBJDIR)/Makefile.printerdevice \ + $(addprefix $(workbench-devs-printer_OBJDIR)/include/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-devs-printer_INCDIR)/,$($(workbench-devs-printer_DEFNAME)_INCLUDES)) \ + $(workbench-devs-printer_OBJDIR)/printer_geninc $(workbench-devs-printer_OBJDIR)/printer_incs \ + $(addsuffix .c,$(workbench-devs-printer_LINKLIBFILES)) $(workbench-devs-printer_LINKLIBOBJS) $(workbench-devs-printer_LIBDEFSINC) \ + $(workbench-devs-printer_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-devs-printer_STARTFILES) $(workbench-devs-printer_ENDFILES)) \ + $(workbench-devs-printer_ENDOBJS) +workbench-devs-printer-clean : FILES := $(workbench-devs-printer_TOCLEAN) +workbench-devs-printer-clean :: + $(Q)$(ECHO) "Cleaning up for module printer" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-devs-printer_ALLTARGETS) + + +INCLUDE_FILES = include/turboprint.h + + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (include,) +TMP_DIR := include +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst include,$(GENINCDIR)/,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)//,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := include/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/include/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)//,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)//% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (include,) +BD_INCL_FILES2 := $(subst include,$(AROS_INCLUDES)/,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)//,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)//,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)//% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/printtofile/mmakefile b/workbench/devs/printtofile/mmakefile new file mode 100644 index 00000000000..ae2469f7d12 --- /dev/null +++ b/workbench/devs/printtofile/mmakefile @@ -0,0 +1,1662 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-devs-common: workbench-devs-printtofile + +#MM- workbench-devs-quick: workbench-devs-printtofile-quick + +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-devs-printtofile +#MM workbench-devs-printtofile-quick +#MM workbench-devs-printtofile-makefile +#MM workbench-devs-printtofile-clean + +# ABI targets: +#MM- includes-all : workbench-devs-printtofile-includes +#MM- linklibs-printtofile: workbench-devs-printtofile-linklib +#MM- linklibs-printtofile_rel : workbench-devs-printtofile-linklib +#MM- includes-printtofile: workbench-devs-printtofile-includes +#MM- includes-printtofile_rel : workbench-devs-printtofile-includes +#MM- workbench-devs-printtofile : workbench-devs-printtofile-includes core-linklibs linklibs- +#MM workbench-devs-printtofile-linklib : workbench-devs-printtofile-includes includes- +#MM- workbench-devs-printtofile-quick : workbench-devs-printtofile-includes-quick +#MM workbench-devs-printtofile-includes : workbench-devs-printtofile-makefile workbench-devs-printtofile-includes-dirs \ +#MM includes-generate-deps workbench-devs-printtofile-fd +#MM workbench-devs-printtofile-includes-quick +#MM workbench-devs-printtofile-includes-dirs +#MM workbench-devs-printtofile-fd + +# Library targets +#MM workbench-devs-printtofile-kobj : core-linklibs linklibs- +#MM workbench-devs-printtofile-kobj-quick : + +# Library with ABI targets: +#MM workbench-devs-printtofile-kobj : workbench-devs-printtofile-includes core-linklibs linklibs- +#MM workbench-devs-printtofile-kobj-quick : workbench-devs-printtofile-includes-quick + +# All MetaMake targets defined by this macro +workbench-devs-printtofile_ALLTARGETS := workbench-devs-printtofile workbench-devs-printtofile-quick workbench-devs-printtofile-clean + +ifeq (M,M) +workbench-devs-printtofile_ALLTARGETS += workbench-devs-printtofile-kobj workbench-devs-printtofile-kobj-quick +endif + +ifeq (M,M) +workbench-devs-printtofile_ALLTARGETS += workbench-devs-printtofile-includes \ + workbench-devs-printtofile-includes-quick workbench-devs-printtofile-includes-dirs \ + workbench-devs-printtofile-linklib workbench-devs-printtofile-fd +endif + +.PHONY : $(workbench-devs-printtofile_ALLTARGETS) workbench-devs-printtofile-makefile + +ifeq (printtofile,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-devs-printtofile_DEFNAME := printtofile_ +else + workbench-devs-printtofile_DEFNAME := printtofile +endif +workbench-devs-printtofile_DEFLINKLIBNAME := $(workbench-devs-printtofile_DEFNAME) +ifneq (,) + workbench-devs-printtofile_LINKLIBNAME := +else + workbench-devs-printtofile_LINKLIBNAME = $(workbench-devs-printtofile_DEFLINKLIBNAME) +endif +workbench-devs-printtofile_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-devs-printtofile_DEFCPPFLAGS += -I +endif +workbench-devs-printtofile_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-devs-printtofile_DFLAGS := +else + workbench-devs-printtofile_DFLAGS = $(workbench-devs-printtofile_DEFDFLAGS) +endif +workbench-devs-printtofile_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-devs-printtofile_DXXFLAGS := +else + workbench-devs-printtofile_DXXFLAGS = $(workbench-devs-printtofile_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-devs-printtofile_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-devs-printtofile_DEFDFLAGS)) +workbench-devs-printtofile_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-devs-printtofile_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-printtofile_FUNCINSTR := yes +workbench-devs-printtofile_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-devs-printtofile_DEFDFLAGS)) +workbench-devs-printtofile_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-devs-printtofile_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-devs-printtofile_OBJDIR := +else +workbench-devs-printtofile_OBJDIR := $(OBJDIR)/$(workbench-devs-printtofile_DEFNAME) +endif +ifneq (,) +workbench-devs-printtofile_OBJDIR := $(workbench-devs-printtofile_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-devs-printtofile-makefile := $(workbench-devs-printtofile_OBJDIR)/Makefile.$(workbench-devs-printtofile_DEFNAME)device +workbench-devs-printtofile-genmakefile : $(workbench-devs-printtofile-makefile) + + +workbench-devs-printtofile-genmakefile_OPTS := +ifneq (,) + workbench-devs-printtofile-genmakefile_OPTS += -f + workbench-devs-printtofile-genmakefile_MODNAME := printtofile_ +else + workbench-devs-printtofile-genmakefile_MODNAME := printtofile +endif +workbench-devs-printtofile-genmakefile_TARGET := Makefile.$(workbench-devs-printtofile-genmakefile_MODNAME)device +workbench-devs-printtofile-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtofile-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtofile-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtofile-genmakefile_OPTS += -c + workbench-devs-printtofile-genmakefile_DEPS += + endif +else + workbench-devs-printtofile-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/printtofile.conf + workbench-devs-printtofile-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/printtofile.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtofile-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtofile-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtofile-genmakefile_OPTS += -o + workbench-devs-printtofile-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-devs-printtofile-genmakefile_OPTS += -s +endif +ifneq ($(workbench-devs-printtofile_OBJDIR),) + workbench-devs-printtofile-genmakefile_OPTS += -d $(workbench-devs-printtofile_OBJDIR) + workbench-devs-printtofile-genmakefile_TARGET := $(workbench-devs-printtofile_OBJDIR)/$(workbench-devs-printtofile-genmakefile_TARGET) +endif + +$(workbench-devs-printtofile-genmakefile_TARGET) : OPTS := $(workbench-devs-printtofile-genmakefile_OPTS) +$(workbench-devs-printtofile-genmakefile_TARGET) : MODNAME := printtofile +$(workbench-devs-printtofile-genmakefile_TARGET) : MODTYPE := device +$(workbench-devs-printtofile-genmakefile_TARGET) : $(workbench-devs-printtofile-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-devs-printtofile-makefile),) +$(workbench-devs-printtofile-makefile) : | $(workbench-devs-printtofile_OBJDIR) +else +$(workbench-devs-printtofile-makefile) :: $(workbench-devs-printtofile_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtofile_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-devs-printtofile_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-devs-printtofile-makefile) + +workbench-devs-printtofile_DEFMODDIR := $($(workbench-devs-printtofile_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-devs-printtofile_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-devs-printtofile_DEFMODDIR) +endif +ifneq (,) + workbench-devs-printtofile_MODDIR := +else + workbench-devs-printtofile_MODDIR := $(workbench-devs-printtofile_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-devs-printtofile_INCDIR := +else +workbench-devs-printtofile_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-devs-printtofile_LIBDEFSINC := $(workbench-devs-printtofile_OBJDIR)/include/$(workbench-devs-printtofile_DEFNAME)_libdefs.h +workbench-devs-printtofile_DEFLIBDEFSINC := $(workbench-devs-printtofile_OBJDIR)/include/$(workbench-devs-printtofile_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-devs-printtofile-includes-quick : workbench-devs-printtofile-includes +workbench-devs-printtofile-includes : $(addprefix $(GENINCDIR)/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-devs-printtofile_INCDIR)/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) \ + $(workbench-devs-printtofile_LIBDEFSINC) $(workbench-devs-printtofile_DEFLIBDEFSINC) + +ifneq ($($(workbench-devs-printtofile_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-devs-printtofile-includes_MODNAME := printtofile_ +else + workbench-devs-printtofile-includes_MODNAME := printtofile +endif + +ifneq ($($(workbench-devs-printtofile-includes_MODNAME)_INCLUDES),) + +workbench-devs-printtofile-includes_TARGETS := $($(workbench-devs-printtofile-includes_MODNAME)_INCLUDES) + +workbench-devs-printtofile-includes_DEPS := $(GENMODULE) +workbench-devs-printtofile-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtofile-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtofile-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtofile-includes_OPTS += -c + workbench-devs-printtofile-includes_DEPS += + endif +else + workbench-devs-printtofile-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/printtofile.conf + workbench-devs-printtofile-includes_DEPS += $(SRCDIR)/$(CURDIR)/printtofile.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtofile-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtofile-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtofile-includes_OPTS += -o + workbench-devs-printtofile-includes_DEPS += + endif +endif +ifneq (,) + workbench-devs-printtofile-includes_OPTS += -s +endif +ifneq ($(workbench-devs-printtofile_OBJDIR)/include,) + workbench-devs-printtofile-includes_OPTS += -d $(workbench-devs-printtofile_OBJDIR)/include + workbench-devs-printtofile-includes_TARGETS := $(addprefix $(workbench-devs-printtofile_OBJDIR)/include/,$(workbench-devs-printtofile-includes_TARGETS)) + workbench-devs-printtofile-includes_GENINCFLAG=$(workbench-devs-printtofile_OBJDIR)/include/.printtofile.device-includes +else + workbench-devs-printtofile-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.printtofile.device-includes +endif + +$(workbench-devs-printtofile-includes_TARGETS) : $(workbench-devs-printtofile-includes_DEPS) $(workbench-devs-printtofile-includes_GENINCFLAG) + +$(workbench-devs-printtofile-includes_GENINCFLAG) : OPTS := $(workbench-devs-printtofile-includes_OPTS) +$(workbench-devs-printtofile-includes_GENINCFLAG) : MODNAME := printtofile +$(workbench-devs-printtofile-includes_GENINCFLAG) : MODTYPE := device +$(workbench-devs-printtofile-includes_GENINCFLAG) : $(workbench-devs-printtofile-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-devs-printtofile_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) : | $(workbench-devs-printtofile_OBJDIR)/printtofile_geninc + +$(workbench-devs-printtofile_OBJDIR)/printtofile_geninc : COPYSRCDIR := $(workbench-devs-printtofile_OBJDIR)/include +$(workbench-devs-printtofile_OBJDIR)/printtofile_geninc : TGTDIR := $(GENINCDIR) +$(workbench-devs-printtofile_OBJDIR)/printtofile_geninc : FILES := $($(workbench-devs-printtofile_DEFNAME)_INCLUDES) +$(workbench-devs-printtofile_OBJDIR)/printtofile_geninc : $(addprefix $(workbench-devs-printtofile_OBJDIR)/include/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-devs-printtofile_OBJDIR)/include + +$(addprefix $(workbench-devs-printtofile_INCDIR)/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) : | $(workbench-devs-printtofile_OBJDIR)/printtofile_incs + +$(workbench-devs-printtofile_OBJDIR)/printtofile_incs : COPYSRCDIR := $(workbench-devs-printtofile_OBJDIR)/include +$(workbench-devs-printtofile_OBJDIR)/printtofile_incs : TGTDIR := $(workbench-devs-printtofile_INCDIR) +$(workbench-devs-printtofile_OBJDIR)/printtofile_incs : FILES := $($(workbench-devs-printtofile_DEFNAME)_INCLUDES) +$(workbench-devs-printtofile_OBJDIR)/printtofile_incs : $(addprefix $(workbench-devs-printtofile_OBJDIR)/include/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-devs-printtofile_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-devs-printtofile_DEFNAME)_INCLUDES)))) + +TMPprinttofile_INCDIRS := \ + $(workbench-devs-printtofile_OBJDIR)/include $(addprefix $(workbench-devs-printtofile_OBJDIR)/include/,$(workbench-devs-printtofile_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-devs-printtofile_INCDIRS)) \ + $(workbench-devs-printtofile_INCDIR) $(addprefix $(workbench-devs-printtofile_INCDIR)/,$(workbench-devs-printtofile_INCDIRS)) + +ifneq (workbench-devs-printtofile-includes-dirs,) +workbench-devs-printtofile-includes-dirs : | $(TMPprinttofile_INCDIRS) +else +workbench-devs-printtofile-includes-dirs :: $(TMPprinttofile_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPprinttofile_INCDIRS) + + +endif + +endif + + +workbench-devs-printtofile-genlibdefs_OPTS := +ifneq (,) + workbench-devs-printtofile-genlibdefs_OPTS += -f + workbench-devs-printtofile-genlibdefs_MODNAME := printtofile_ +else + workbench-devs-printtofile-genlibdefs_MODNAME := printtofile +endif +workbench-devs-printtofile-genlibdefs_TARGET := $(workbench-devs-printtofile-genlibdefs_MODNAME)_libdefs.h +workbench-devs-printtofile-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtofile-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtofile-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtofile-genlibdefs_OPTS += -c + workbench-devs-printtofile-genlibdefs_DEPS += + endif +else + workbench-devs-printtofile-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/printtofile.conf + workbench-devs-printtofile-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/printtofile.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtofile-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtofile-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtofile-genlibdefs_OPTS += -o + workbench-devs-printtofile-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-devs-printtofile-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-devs-printtofile_OBJDIR)/include,) + workbench-devs-printtofile-genlibdefs_OPTS += -d $(workbench-devs-printtofile_OBJDIR)/include + workbench-devs-printtofile-genlibdefs_TARGET := $(workbench-devs-printtofile_OBJDIR)/include/$(workbench-devs-printtofile-genlibdefs_TARGET) +endif +ifneq (,) + workbench-devs-printtofile-genlibdefs_OPTS += -v +endif + +$(workbench-devs-printtofile-genlibdefs_TARGET) : OPTS := $(workbench-devs-printtofile-genlibdefs_OPTS) +$(workbench-devs-printtofile-genlibdefs_TARGET) : MODNAME := printtofile +$(workbench-devs-printtofile-genlibdefs_TARGET) : MODTYPE := device +$(workbench-devs-printtofile-genlibdefs_TARGET) : $(workbench-devs-printtofile-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-devs-printtofile_DEFLIBDEFSINC) : FILENAME := $(workbench-devs-printtofile_LIBDEFSINC) +$(workbench-devs-printtofile_DEFLIBDEFSINC) : $(workbench-devs-printtofile_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-devs-printtofile_LIBDEFSINC) $(workbench-devs-printtofile_DEFLIBDEFSINC) : | $(workbench-devs-printtofile_OBJDIR)/include + +ifneq (workbench-devs-printtofile-includes-dirs,) +workbench-devs-printtofile-includes-dirs : | $(workbench-devs-printtofile_OBJDIR)/include +else +workbench-devs-printtofile-includes-dirs :: $(workbench-devs-printtofile_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-devs-printtofile_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-devs-printtofile-genmodfiles_OPTS := +ifneq (,) + workbench-devs-printtofile-genmodfiles_OPTS += -f + workbench-devs-printtofile-genmodfiles_MODNAME := printtofile_ +else + workbench-devs-printtofile-genmodfiles_MODNAME := printtofile +endif +workbench-devs-printtofile-genmodfiles_GENTARGETS := $($(workbench-devs-printtofile-genmodfiles_MODNAME)_STARTFILES) $($(workbench-devs-printtofile-genmodfiles_MODNAME)_ENDFILES) +workbench-devs-printtofile-genmodfiles_STUBTARGETS := $($(workbench-devs-printtofile-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-devs-printtofile-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-devs-printtofile-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-devs-printtofile-genmodfiles_GENTARGETS)) +workbench-devs-printtofile-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-devs-printtofile-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-devs-printtofile-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-devs-printtofile-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-devs-printtofile-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtofile-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtofile-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtofile-genmodfiles_OPTS += -c + workbench-devs-printtofile-genmodfiles_DEPS += + endif +else + workbench-devs-printtofile-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/printtofile.conf + workbench-devs-printtofile-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/printtofile.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtofile-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtofile-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtofile-genmodfiles_OPTS += -o + workbench-devs-printtofile-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-devs-printtofile-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-devs-printtofile_OBJDIR),) + workbench-devs-printtofile-genmodfiles_OPTS += -d $(workbench-devs-printtofile_OBJDIR) + workbench-devs-printtofile-genmodfiles_TARGETDIR := $(shell echo $(workbench-devs-printtofile_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printtofile-genmodfiles_GENTARGETS := $(addprefix $(workbench-devs-printtofile-genmodfiles_TARGETDIR)/,$(workbench-devs-printtofile-genmodfiles_GENTARGETS)) + workbench-devs-printtofile-genmodfiles_GENFILEFLAG=$(workbench-devs-printtofile-genmodfiles_TARGETDIR)/.printtofile.device-genfiles +else + workbench-devs-printtofile-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.printtofile.device-genfiles +endif +ifneq ($(workbench-devs-printtofile_OBJDIR)/linklib,) + workbench-devs-printtofile-genmodfiles_OPTS += -l $(workbench-devs-printtofile_OBJDIR)/linklib + workbench-devs-printtofile-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-devs-printtofile_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printtofile-genmodfiles_STUBTARGETS := $(addprefix $(workbench-devs-printtofile-genmodfiles_STUBTARGETDIR)/,$(workbench-devs-printtofile-genmodfiles_STUBTARGETS)) + workbench-devs-printtofile-genmodfiles_TARGETDIRS += $(workbench-devs-printtofile_OBJDIR)/linklib +else +ifneq ($(workbench-devs-printtofile_OBJDIR),) + workbench-devs-printtofile-genmodfiles_STUBTARGETS := $(addprefix $(workbench-devs-printtofile-genmodfiles_TARGETDIR)/,$(workbench-devs-printtofile-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-devs-printtofile-genmodfiles_TARGETS := $(workbench-devs-printtofile-genmodfiles_GENTARGETS) $(workbench-devs-printtofile-genmodfiles_STUBTARGETS) +ifneq ($(workbench-devs-printtofile-genmodfiles_TARGETDIRS),) +$(workbench-devs-printtofile-genmodfiles_TARGETS) : | $(workbench-devs-printtofile-genmodfiles_TARGETDIRS) +endif + +$(workbench-devs-printtofile-genmodfiles_TARGETS) : $(workbench-devs-printtofile-genmodfiles_DEPS) $(workbench-devs-printtofile-genmodfiles_GENFILEFLAG) + +$(workbench-devs-printtofile-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-devs-printtofile-genmodfiles_OPTS) +$(workbench-devs-printtofile-genmodfiles_GENFILEFLAG) : MODNAME := printtofile +$(workbench-devs-printtofile-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(workbench-devs-printtofile-genmodfiles_GENFILEFLAG) : $(workbench-devs-printtofile-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-devs-printtofile-genmodfiles_GENFILEFLAG) : $(workbench-devs-printtofile_DEFLIBDEFSINC) $(workbench-devs-printtofile-makefile) + + +ifneq ($(workbench-devs-printtofile-genmodfiles_GENFILEFLAG),) +$(workbench-devs-printtofile-genmodfiles_GENFILEFLAG) : | $(workbench-devs-printtofile_OBJDIR)/linklib +else +$(workbench-devs-printtofile-genmodfiles_GENFILEFLAG) :: $(workbench-devs-printtofile_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-devs-printtofile_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-devs-printtofile_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-devs-printtofile_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-devs-printtofile-fd : $(workbench-devs-printtofile_FDDIR)/printtofile_lib.fd + + +TMP_TARGET := printtofile_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/printtofile.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/printtofile.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-devs-printtofile_FDDIR),) + TMP_OPTS += -d $(workbench-devs-printtofile_FDDIR) + TMP_TARGET := $(workbench-devs-printtofile_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := printtofile +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-devs-printtofile_FDDIR)/printtofile_lib.fd : | $(workbench-devs-printtofile_FDDIR) + + +ifneq (workbench-devs-printtofile-fd-setup,) +workbench-devs-printtofile-fd-setup : | $(workbench-devs-printtofile_FDDIR) +else +workbench-devs-printtofile-fd-setup :: $(workbench-devs-printtofile_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtofile_FDDIR) + +endif + +## Compilation +## +workbench-devs-printtofile_FILES := printtofile +workbench-devs-printtofile_OBJCFILES := +workbench-devs-printtofile_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-devs-printtofile_LIBFILES := +workbench-devs-printtofile_LIBS := + +workbench-devs-printtofile_FDIRS := $(sort $(dir $(workbench-devs-printtofile_FILES))) + +workbench-devs-printtofile_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-devs-printtofile_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-devs-printtofile_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-devs-printtofile_FILTERARCH = $(filter-out $(call workbench-devs-printtofile_MATCHARCH,$(1),$(2)),$(2)) +workbench-devs-printtofile_STARTFILES := $(addprefix $(workbench-devs-printtofile_OBJDIR)/,$($(workbench-devs-printtofile_DEFNAME)_STARTFILES)) +workbench-devs-printtofile_ENDFILES := $(addprefix $(workbench-devs-printtofile_OBJDIR)/,$($(workbench-devs-printtofile_DEFNAME)_ENDFILES)) + +workbench-devs-printtofile_ARCHOBJS := $(wildcard $(workbench-devs-printtofile_OBJDIR)/arch/*.o) +workbench-devs-printtofile_LIBARCHOBJS := $(wildcard $(workbench-devs-printtofile_OBJDIR)/linklib/arch/*.o) +workbench-devs-printtofile_ARCHFILES := $(basename $(notdir $(workbench-devs-printtofile_ARCHOBJS))) +workbench-devs-printtofile_LIBARCHFILES := $(basename $(notdir $(workbench-devs-printtofile_LIBARCHOBJS))) +workbench-devs-printtofile_C_NARCHFILES := $(call workbench-devs-printtofile_FILTERARCH,$(workbench-devs-printtofile_ARCHFILES),$(workbench-devs-printtofile_FILES)) +workbench-devs-printtofile_CXX_NARCHFILES := $(call workbench-devs-printtofile_FILTERARCH,$(workbench-devs-printtofile_ARCHFILES),$(workbench-devs-printtofile_CXXFILES)) +workbench-devs-printtofile_OBJC_NARCHFILES := $(call workbench-devs-printtofile_FILTERARCH,$(workbench-devs-printtofile_ARCHFILES),$(workbench-devs-printtofile_OBJCFILES)) +workbench-devs-printtofile_NLIBARCHFILES := $(call workbench-devs-printtofile_FILTERARCH,$(workbench-devs-printtofile_LIBARCHFILES),$(workbench-devs-printtofile_LIBFILES)) +workbench-devs-printtofile_ARCHNLIBFILES := $(call workbench-devs-printtofile_FILTERARCH,$(workbench-devs-printtofile_LIBFILES),$(workbench-devs-printtofile_LIBARCHFILES)) + +workbench-devs-printtofile_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-devs-printtofile_OBJDIR)/include -include $(workbench-devs-printtofile_DEFLIBDEFSINC)) +ifneq (,) +workbench-devs-printtofile_CPPFLAGS += -I +endif +workbench-devs-printtofile_LINKLIBCPPFLAGS := $(workbench-devs-printtofile_CPPFLAGS) +workbench-devs-printtofile_CPPFLAGS += $(strip $($(workbench-devs-printtofile_DEFNAME)_CPPFLAGS)) +workbench-devs-printtofile_LINKLIBCPPFLAGS += $(strip $($(workbench-devs-printtofile_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-devs-printtofile_CFLAGS := $(strip $(CFLAGS) $($(workbench-devs-printtofile_DEFNAME)_CFLAGS)) +workbench-devs-printtofile_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-devs-printtofile_DEFNAME)_LINKLIBCFLAGS)) +workbench-devs-printtofile_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-devs-printtofile_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-devs-printtofile_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-devs-printtofile_CFLAGS := $(strip $(workbench-devs-printtofile_LTOFLAGS) $(workbench-devs-printtofile_CFLAGS)) +workbench-devs-printtofile_LINKLIBCFLAGS := $(strip $(workbench-devs-printtofile_LTOFLAGS) $(workbench-devs-printtofile_LINKLIBCFLAGS)) +workbench-devs-printtofile_CXXFLAGS := $(strip $(workbench-devs-printtofile_LTOFLAGS) $(workbench-devs-printtofile_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-printtofile_SUBSTNULL := +workbench-devs-printtofile_SUBSTSPACE := $(workbench-devs-printtofile_SUBSTNULL) # +workbench-devs-printtofile_SUBSTCOMMA := , +workbench-devs-printtofile_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-devs-printtofile_SUBSTSPACE),$(workbench-devs-printtofile_SUBSTCOMMA),$(strip $($(workbench-devs-printtofile_DEFNAME)_STARTFILES)))) +workbench-devs-printtofile_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-printtofile_CFLAGS := $(strip $(workbench-devs-printtofile_INSTRFUNCFLAGS) $(workbench-devs-printtofile_CFLAGS)) +workbench-devs-printtofile_CXXFLAGS := $(strip $(workbench-devs-printtofile_INSTRFUNCFLAGS) $(workbench-devs-printtofile_CXXFLAGS)) +workbench-devs-printtofile_LIBS += $(workbench-devs-printtofile_INSTRFUNCLIBS) +endif +endif +workbench-devs-printtofile_DFLAGS := $(strip $(workbench-devs-printtofile_DFLAGS) $($(workbench-devs-printtofile_DEFNAME)_DFLAGS)) +workbench-devs-printtofile_LINKLIBDFLAGS := $(strip $(workbench-devs-printtofile_DFLAGS) $($(workbench-devs-printtofile_DEFNAME)_LINKLIBDFLAGS)) +workbench-devs-printtofile_DXXFLAGS := $(strip $(workbench-devs-printtofile_DXXFLAGS) $($(workbench-devs-printtofile_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + workbench-devs-printtofile_LIBSUFFIX := +else + workbench-devs-printtofile_LIBSUFFIX := .device +endif + +ifeq (,) +workbench-devs-printtofile_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-devs-printtofile_LIBDIR := +endif + +ifeq (M,M) +workbench-devs-printtofile_LINKLIBCFILES := $(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$($(workbench-devs-printtofile_DEFNAME)_LINKLIBFILES)) +workbench-devs-printtofile_LINKLIBAFILES := $(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$($(workbench-devs-printtofile_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-devs-printtofile_DEFNAME)_LINKLIBFILES) $($(workbench-devs-printtofile_DEFNAME)_LINKLIBAFILES) $(workbench-devs-printtofile_ARCHNLIBFILES)),) + workbench-devs-printtofile_LINKLIB := +else + workbench-devs-printtofile_LINKLIB := $(workbench-devs-printtofile_LIBDIR)/libprinttofile$(workbench-devs-printtofile_LIBSUFFIX).a + ifneq (printtofile,$(workbench-devs-printtofile_LINKLIBNAME)) + workbench-devs-printtofile_LINKLIB += $(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)$(workbench-devs-printtofile_LIBSUFFIX).a + endif +endif +workbench-devs-printtofile_LINKLIBFILES := $(workbench-devs-printtofile_LINKLIBCFILES) $(workbench-devs-printtofile_LINKLIBAFILES) + +workbench-devs-printtofile_RELLINKLIBCFILES := $(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$($(workbench-devs-printtofile_DEFNAME)_RELLINKLIBFILES)) +workbench-devs-printtofile_RELLINKLIBAFILES := $(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$($(workbench-devs-printtofile_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-devs-printtofile_DEFNAME)_RELLINKLIBFILES) $($(workbench-devs-printtofile_DEFNAME)_RELLINKLIBAFILES) $(workbench-devs-printtofile_ARCHNLIBFILES)),) + workbench-devs-printtofile_RELLINKLIB := +else + workbench-devs-printtofile_RELLINKLIB := $(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_DEFNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a + ifneq (printtofile,$(workbench-devs-printtofile_LINKLIBNAME)) + workbench-devs-printtofile_RELLINKLIB += $(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a + endif +endif +workbench-devs-printtofile_RELLINKLIBFILES := $(workbench-devs-printtofile_RELLINKLIBCFILES) $(workbench-devs-printtofile_RELLINKLIBAFILES) +endif + +workbench-devs-printtofile_ENDOBJS := $(addsuffix .o,$(workbench-devs-printtofile_ENDFILES)) +workbench-devs-printtofile_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtofile_NLIBARCHFILES))) $(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/arch/,$(notdir $(workbench-devs-printtofile_ARCHNLIBFILES))) $(workbench-devs-printtofile_LINKLIBFILES)) \ + +workbench-devs-printtofile_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtofile_NLIBARCHFILES))) $(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/arch/,$(notdir $(workbench-devs-printtofile_ARCHNLIBFILES))) $(workbench-devs-printtofile_RELLINKLIBFILES)) \ + +$(workbench-devs-printtofile_LINKLIBFILES) $(workbench-devs-printtofile_RELLINKLIBFILES) : | $(workbench-devs-printtofile_OBJDIR)/linklib +$(workbench-devs-printtofile_LINKLIBOBJS) $(workbench-devs-printtofile_RELLINKLIBOBJS) : | $(workbench-devs-printtofile_OBJDIR)/linklib + +workbench-devs-printtofile_CCFILES := $(workbench-devs-printtofile_C_NARCHFILES) +workbench-devs-printtofile_TARGETCCFILES := $(strip $(workbench-devs-printtofile_STARTFILES) $(workbench-devs-printtofile_ENDFILES)) +workbench-devs-printtofile_LINKLIBCCFILES := $(strip $(workbench-devs-printtofile_NLIBARCHFILES) $(workbench-devs-printtofile_LINKLIBCFILES) $(workbench-devs-printtofile_RELLINKLIBCFILES)) +workbench-devs-printtofile_LINKLIBCCGENFILES := $(strip $(workbench-devs-printtofile_LINKLIBCFILES) $(workbench-devs-printtofile_RELLINKLIBCFILES)) + + +workbench-devs-printtofile_CXXABSBASENAMES := $(foreach workbench-devs-printtofile_CXXBASE,$(workbench-devs-printtofile_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-printtofile_CXXBASE)),$(workbench-devs-printtofile_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-printtofile_CXXBASE)))) + +ifneq ($(workbench-devs-printtofile_CXXABSBASENAMES),) + +workbench-devs-printtofile_CXXBASENAMES := $(basename $(workbench-devs-printtofile_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-printtofile_MCXX_FILES := $(strip $(foreach workbench-devs-printtofile_CXXBASE,$(workbench-devs-printtofile_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-printtofile_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-printtofile_EXT),$(workbench-devs-printtofile_CXXBASE))))))) + +ifeq (,) +workbench-devs-printtofile_MCXX_SRCWILDCARD := % +else +workbench-devs-printtofile_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtofile_OBJDIR),) + workbench-devs-printtofile_CXXTARGETS := $(notdir $(workbench-devs-printtofile_CXXBASENAMES:=.o)) + workbench-devs-printtofile_CXXDTARGETS := $(notdir $(workbench-devs-printtofile_CXXBASENAMES:=.d)) + workbench-devs-printtofile_MCXX_WILDCARD := % +else + workbench-devs-printtofile_CXXTARGETS := $(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(workbench-devs-printtofile_CXXBASENAMES:=.o))) + workbench-devs-printtofile_CXXDTARGETS := $(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(workbench-devs-printtofile_CXXBASENAMES:=.d))) + workbench-devs-printtofile_MCXX_WILDCARD := $(workbench-devs-printtofile_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-printtofile_CXXTARGETS) $(workbench-devs-printtofile_CXXDTARGETS) : | $(workbench-devs-printtofile_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-printtofile_MCXX_CPPFLAGS := $(workbench-devs-printtofile_CPPFLAGS) +workbench-devs-printtofile_CXXFLAGS := $(workbench-devs-printtofile_CXXFLAGS) +ifeq ($(workbench-devs-printtofile_DXXFLAGS),) + workbench-devs-printtofile_DXXFLAGS := $(workbench-devs-printtofile_CXXFLAGS) +else + workbench-devs-printtofile_DXXFLAGS := $(workbench-devs-printtofile_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-printtofile_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-printtofile_STRIP ?= $(HOST_STRIP) + workbench-devs-printtofile_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-printtofile_CXXCMD:=$(HOST_CXX) + workbench-devs-printtofile_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-printtofile_MCXX_CPPFLAGS) $(workbench-devs-printtofile_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printtofile_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-printtofile_CXXFLAGS)) + workbench-devs-printtofile_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-printtofile_DXXFLAGS)) + workbench-devs-printtofile_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-printtofile_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-printtofile_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-printtofile_STRIP ?= $(TARGET_STRIP) + workbench-devs-printtofile_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-printtofile_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-printtofile_MCXX_CPPFLAGS := $(strip $(workbench-devs-printtofile_MCXX_CPPFLAGS) $(workbench-devs-printtofile_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printtofile_CXXFLAGS := $(strip $(workbench-devs-printtofile_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-printtofile_DXXFLAGS := $(workbench-devs-printtofile_DXXFLAGS) + workbench-devs-printtofile_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-printtofile_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-printtofile_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-printtofile_STRIP ?= $(ECHO) >/dev/null + workbench-devs-printtofile_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-printtofile_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-printtofile_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-printtofile_MCXX_CPPFLAGS) $(workbench-devs-printtofile_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printtofile_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-printtofile_CXXFLAGS)) + workbench-devs-printtofile_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-printtofile_DXXFLAGS)) + workbench-devs-printtofile_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-printtofile_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-printtofile_CXXCMD) $(workbench-devs-printtofile_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printtofile_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_CXXIQUOTE) . $(workbench-devs-printtofile_CXXIQUOTE_END) $(strip $(workbench-devs-printtofile_CXXFLAGS) $(workbench-devs-printtofile_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-printtofile_CXXCMD) $(workbench-devs-printtofile_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printtofile_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_CXXIQUOTE) . $(workbench-devs-printtofile_CXXIQUOTE_END) $(strip $(workbench-devs-printtofile_CXXFLAGS) $(workbench-devs-printtofile_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-printtofile_CXXCMD) $(workbench-devs-printtofile_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printtofile_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_CXXIQUOTE) . $(workbench-devs-printtofile_CXXIQUOTE_END) $(strip $(workbench-devs-printtofile_CXXFLAGS) $(workbench-devs-printtofile_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-printtofile_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-printtofile_DXXFLAGS) $(workbench-devs-printtofile_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-printtofile_OBJDIR),) + $(foreach workbench-devs-printtofile_CXXFILE,$(workbench-devs-printtofile_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-printtofile_CXXFILE))),$(workbench-devs-printtofile_CXXFILE)))) +else + $(foreach workbench-devs-printtofile_CXXFILE,$(workbench-devs-printtofile_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(basename $(workbench-devs-printtofile_CXXFILE)))),$(workbench-devs-printtofile_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-printtofile_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-printtofile_MOBJC_SRCWILDCARD := % +else +workbench-devs-printtofile_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtofile_OBJDIR),) + workbench-devs-printtofile_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-printtofile_OBJC_NARCHFILES)) + workbench-devs-printtofile_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtofile_OBJC_NARCHFILES)) + workbench-devs-printtofile_MOBJC_WILDCARD := % +else + workbench-devs-printtofile_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(workbench-devs-printtofile_OBJC_NARCHFILES))) + workbench-devs-printtofile_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(workbench-devs-printtofile_OBJC_NARCHFILES))) + workbench-devs-printtofile_MOBJC_WILDCARD := $(workbench-devs-printtofile_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-printtofile_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-printtofile_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printtofile_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtofile_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-printtofile_MOBJC_DIRS := $(foreach dir, $(workbench-devs-printtofile_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtofile_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-printtofile_MOBJC_DIRS),) + workbench-devs-printtofile_MOBJC_DIRS := $(shell echo $(workbench-devs-printtofile_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-printtofile_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-printtofile_CC := $(TARGET_CC) +else + workbench-devs-printtofile_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-printtofile_MOBJC_CPPFLAGS := $(workbench-devs-printtofile_CPPFLAGS) +workbench-devs-printtofile_OBJCFLAGS := $(workbench-devs-printtofile_CFLAGS) +workbench-devs-printtofile_OBJCFLAGS := $(workbench-devs-printtofile_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-printtofile_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-printtofile_OBJCFLAGS))) +ifeq ($(workbench-devs-printtofile_DFLAGS),) + workbench-devs-printtofile_OBJCDFLAGS := $(workbench-devs-printtofile_CFLAGS) +else + workbench-devs-printtofile_OBJCDFLAGS := $(workbench-devs-printtofile_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-printtofile_LINK ?= $(strip $(workbench-devs-printtofile_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-printtofile_STRIP ?= $(TARGET_STRIP) + workbench-devs-printtofile_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-printtofile_CC) $(TARGET_SYSROOT)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-printtofile_MOBJC_CPPFLAGS) $(workbench-devs-printtofile_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_OBJCFLAGS:=$(strip $(workbench-devs-printtofile_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_OBJCDFLAGS:=$(workbench-devs-printtofile_OBJCDFLAGS) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-printtofile_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-printtofile_STRIP ?= $(HOST_STRIP) + workbench-devs-printtofile_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-printtofile_MOBJC_CPPFLAGS) $(workbench-devs-printtofile_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_OBJCFLAGS)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_OBJCDFLAGS)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-printtofile_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-printtofile_STRIP ?= $(ECHO) >/dev/null + workbench-devs-printtofile_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-printtofile_MOBJC_CPPFLAGS) $(workbench-devs-printtofile_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_OBJCFLAGS)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_OBJCDFLAGS)) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-printtofile_MOBJC_TARGETS) $(workbench-devs-printtofile_MOBJC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtofile_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-printtofile_MOBJC_CPPFLAGS) +$(workbench-devs-printtofile_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-printtofile_OBJCFLAGS) +$(workbench-devs-printtofile_MOBJC_TARGETS) : $(workbench-devs-printtofile_MOBJC_WILDCARD).o : $(workbench-devs-printtofile_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtofile_MOBJC_DTARGETS) : $(workbench-devs-printtofile_MOBJC_WILDCARD).d : $(workbench-devs-printtofile_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtofile_OBJCDFLAGS) $(workbench-devs-printtofile_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-printtofile_MC_SRCWILDCARD := % +else +workbench-devs-printtofile_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtofile_OBJDIR),) +workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printtofile_CCFILES)) +workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtofile_CCFILES)) +workbench-devs-printtofile_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(workbench-devs-printtofile_CCFILES)))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(workbench-devs-printtofile_CCFILES)))) +else +ifeq (,) + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(workbench-devs-printtofile_CCFILES))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(workbench-devs-printtofile_CCFILES))) +else + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printtofile_CCFILES)))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printtofile_CCFILES)))) +endif +endif +workbench-devs-printtofile_MC_TGTWILDCARD := $(workbench-devs-printtofile_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printtofile_CCFILES)) + +# Be sure that all .c files are found +workbench-devs-printtofile_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtofile_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtofile_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtofile_MC_DIRS := $(foreach dir, $(workbench-devs-printtofile_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtofile_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtofile_MC_DIRS),) + workbench-devs-printtofile_MC_DIRS := $(shell echo $(workbench-devs-printtofile_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printtofile_MC_DIRS) +endif + +endif + +workbench-devs-printtofile_MC_CPPFLAGS := $(workbench-devs-printtofile_CPPFLAGS) +workbench-devs-printtofile_CFLAGS := $(workbench-devs-printtofile_CFLAGS) +ifeq ($(workbench-devs-printtofile_DFLAGS),) + workbench-devs-printtofile_DFLAGS := $(workbench-devs-printtofile_CFLAGS) +else + workbench-devs-printtofile_DFLAGS := $(workbench-devs-printtofile_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printtofile_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(TARGET_STRIP) +workbench-devs-printtofile_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(workbench-devs-printtofile_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(workbench-devs-printtofile_DFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printtofile_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(HOST_STRIP) +workbench-devs-printtofile_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_DFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printtofile_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printtofile_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_DFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtofile_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printtofile_MC_CPPFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) : CFLAGS := $(workbench-devs-printtofile_CFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) : $(workbench-devs-printtofile_MC_TGTWILDCARD).o : $(workbench-devs-printtofile_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtofile_MC_DTARGETS) : $(workbench-devs-printtofile_MC_TGTWILDCARD).d : $(workbench-devs-printtofile_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtofile_DFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-devs-printtofile_MC_SRCWILDCARD := % +else +workbench-devs-printtofile_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtofile_OBJDIR),) +workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printtofile_TARGETCCFILES)) +workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtofile_TARGETCCFILES)) +workbench-devs-printtofile_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(workbench-devs-printtofile_TARGETCCFILES)))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(workbench-devs-printtofile_TARGETCCFILES)))) +else +ifeq (,) + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(workbench-devs-printtofile_TARGETCCFILES))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(workbench-devs-printtofile_TARGETCCFILES))) +else + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printtofile_TARGETCCFILES)))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printtofile_TARGETCCFILES)))) +endif +endif +workbench-devs-printtofile_MC_TGTWILDCARD := $(workbench-devs-printtofile_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printtofile_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-devs-printtofile_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtofile_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtofile_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtofile_MC_DIRS := $(foreach dir, $(workbench-devs-printtofile_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtofile_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtofile_MC_DIRS),) + workbench-devs-printtofile_MC_DIRS := $(shell echo $(workbench-devs-printtofile_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printtofile_MC_DIRS) +endif + +endif + +workbench-devs-printtofile_MC_CPPFLAGS := $(workbench-devs-printtofile_CPPFLAGS) -D__AROS__ +workbench-devs-printtofile_CFLAGS := $(workbench-devs-printtofile_CFLAGS) +ifeq ($(workbench-devs-printtofile_DFLAGS),) + workbench-devs-printtofile_DFLAGS := $(workbench-devs-printtofile_CFLAGS) +else + workbench-devs-printtofile_DFLAGS := $(workbench-devs-printtofile_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printtofile_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(TARGET_STRIP) +workbench-devs-printtofile_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(workbench-devs-printtofile_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(workbench-devs-printtofile_DFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printtofile_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(HOST_STRIP) +workbench-devs-printtofile_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_DFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printtofile_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printtofile_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_DFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtofile_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printtofile_MC_CPPFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) : CFLAGS := $(workbench-devs-printtofile_CFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) : $(workbench-devs-printtofile_MC_TGTWILDCARD).o : $(workbench-devs-printtofile_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtofile_MC_DTARGETS) : $(workbench-devs-printtofile_MC_TGTWILDCARD).d : $(workbench-devs-printtofile_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtofile_DFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-devs-printtofile_MC_SRCWILDCARD := % +else +workbench-devs-printtofile_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtofile_OBJDIR)/linklib,) +workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printtofile_NLIBARCHFILES)) +workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtofile_NLIBARCHFILES)) +workbench-devs-printtofile_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtofile_NLIBARCHFILES)))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtofile_NLIBARCHFILES)))) +else +ifeq (,) + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(workbench-devs-printtofile_NLIBARCHFILES))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(workbench-devs-printtofile_NLIBARCHFILES))) +else + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-devs-printtofile_NLIBARCHFILES)))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-devs-printtofile_NLIBARCHFILES)))) +endif +endif +workbench-devs-printtofile_MC_TGTWILDCARD := $(workbench-devs-printtofile_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printtofile_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-printtofile_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtofile_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtofile_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtofile_MC_DIRS := $(foreach dir, $(workbench-devs-printtofile_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtofile_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtofile_MC_DIRS),) + workbench-devs-printtofile_MC_DIRS := $(shell echo $(workbench-devs-printtofile_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printtofile_MC_DIRS) +endif + +endif + +workbench-devs-printtofile_MC_CPPFLAGS := $(workbench-devs-printtofile_LINKLIBCPPFLAGS) -D__AROS__ +workbench-devs-printtofile_CFLAGS := $(workbench-devs-printtofile_LINKLIBCFLAGS) +ifeq ($(workbench-devs-printtofile_LINKLIBDFLAGS),) + workbench-devs-printtofile_DFLAGS := $(workbench-devs-printtofile_LINKLIBCFLAGS) +else + workbench-devs-printtofile_DFLAGS := $(workbench-devs-printtofile_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printtofile_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(TARGET_STRIP) +workbench-devs-printtofile_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(workbench-devs-printtofile_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(workbench-devs-printtofile_DFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printtofile_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(HOST_STRIP) +workbench-devs-printtofile_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_DFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printtofile_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printtofile_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_DFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtofile_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printtofile_MC_CPPFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) : CFLAGS := $(workbench-devs-printtofile_CFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) : $(workbench-devs-printtofile_MC_TGTWILDCARD).o : $(workbench-devs-printtofile_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtofile_MC_DTARGETS) : $(workbench-devs-printtofile_MC_TGTWILDCARD).d : $(workbench-devs-printtofile_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtofile_DFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-printtofile_OBJDIR)/linklib,) +workbench-devs-printtofile_MC_SRCWILDCARD := % +else +workbench-devs-printtofile_MC_SRCWILDCARD := $(workbench-devs-printtofile_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-devs-printtofile_OBJDIR)/linklib,) +workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printtofile_LINKLIBCCGENFILES)) +workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtofile_LINKLIBCCGENFILES)) +workbench-devs-printtofile_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtofile_LINKLIBCCGENFILES)))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtofile_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-devs-printtofile_OBJDIR)/linklib,) + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(workbench-devs-printtofile_LINKLIBCCGENFILES))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(workbench-devs-printtofile_LINKLIBCCGENFILES))) +else + workbench-devs-printtofile_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(patsubst $(workbench-devs-printtofile_OBJDIR)/linklib/%,%,$(workbench-devs-printtofile_LINKLIBCCGENFILES)))) + workbench-devs-printtofile_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(patsubst $(workbench-devs-printtofile_OBJDIR)/linklib/%,%,$(workbench-devs-printtofile_LINKLIBCCGENFILES)))) +endif +endif +workbench-devs-printtofile_MC_TGTWILDCARD := $(workbench-devs-printtofile_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printtofile_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-devs-printtofile_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtofile_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtofile_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtofile_MC_DIRS := $(foreach dir, $(workbench-devs-printtofile_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtofile_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtofile_MC_DIRS),) + workbench-devs-printtofile_MC_DIRS := $(shell echo $(workbench-devs-printtofile_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printtofile_MC_DIRS) +endif + +endif + +workbench-devs-printtofile_MC_CPPFLAGS := $(workbench-devs-printtofile_LINKLIBCPPFLAGS) -D__AROS__ +workbench-devs-printtofile_CFLAGS := $(workbench-devs-printtofile_LINKLIBCFLAGS) +ifeq ($(workbench-devs-printtofile_LINKLIBDFLAGS),) + workbench-devs-printtofile_DFLAGS := $(workbench-devs-printtofile_LINKLIBCFLAGS) +else + workbench-devs-printtofile_DFLAGS := $(workbench-devs-printtofile_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printtofile_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(TARGET_STRIP) +workbench-devs-printtofile_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(workbench-devs-printtofile_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(workbench-devs-printtofile_DFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printtofile_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(HOST_STRIP) +workbench-devs-printtofile_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtofile_DFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printtofile_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printtofile_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printtofile_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS) $(workbench-devs-printtofile_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_CFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtofile_DFLAGS)) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printtofile_MC_TARGETS) $(workbench-devs-printtofile_MC_DTARGETS) : workbench-devs-printtofile_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtofile_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printtofile_MC_CPPFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) : CFLAGS := $(workbench-devs-printtofile_CFLAGS) +$(workbench-devs-printtofile_MC_TARGETS) : $(workbench-devs-printtofile_MC_TGTWILDCARD).o : $(workbench-devs-printtofile_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtofile_IQUOTE) $(dir $<) $(workbench-devs-printtofile_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtofile_IQUOTE) . $(workbench-devs-printtofile_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtofile_MC_DTARGETS) : $(workbench-devs-printtofile_MC_TGTWILDCARD).d : $(workbench-devs-printtofile_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtofile_DFLAGS) $(workbench-devs-printtofile_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-devs-printtofile_LINKLIBAFILES),) + +ifeq ($(workbench-devs-printtofile_OBJDIR)/linklib,) +workbench-devs-printtofile-MA_TARGETS := $(addsuffix .o,$(workbench-devs-printtofile_LINKLIBAFILES) $(workbench-devs-printtofile_RELLINKLIBAFILES)) +workbench-devs-printtofile-MA_WILDCARD := % +else +workbench-devs-printtofile-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtofile_LINKLIBAFILES) $(workbench-devs-printtofile_RELLINKLIBAFILES)))) +workbench-devs-printtofile-MA_WILDCARD := $(workbench-devs-printtofile_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-devs-printtofile-MA_TARGETS) : | $(addsuffix .S,$(workbench-devs-printtofile_LINKLIBAFILES) $(workbench-devs-printtofile_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-devs-printtofile-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtofile-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtofile_LINKLIBAFILES) $(workbench-devs-printtofile_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtofile-MA_DIRS := $(foreach dir, $(workbench-devs-printtofile-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtofile-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtofile-MA_DIRS),) + workbench-devs-printtofile-MA_DIRS := $(shell echo $(workbench-devs-printtofile-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-devs-printtofile-MA_DIRS) +endif + +endif + +workbench-devs-printtofile-MA_ASSEMBLER ?= $(workbench-devs-printtofile_ASSEMBLER) + +$(workbench-devs-printtofile-MA_TARGETS) : workbench-devs-printtofile-MA_CMD:= $(workbench-devs-printtofile-MA_ASSEMBLER) + +$(workbench-devs-printtofile-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-devs-printtofile-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-devs-printtofile-MA_TARGETS) : $(workbench-devs-printtofile-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-printtofile-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-printtofile-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-printtofile-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-devs-printtofile_SUFFIX := device +else +workbench-devs-printtofile_SUFFIX := +endif + +ifeq (target,target) +workbench-devs-printtofile_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-printtofile_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-printtofile_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-devs-printtofile_SUFFIX),handler) +workbench-devs-printtofile_MODULE := $(AROSDIR)/$(workbench-devs-printtofile_MODDIR)/$(workbench-devs-printtofile_DEFNAME)-$(workbench-devs-printtofile_SUFFIX) +else +workbench-devs-printtofile_MODULE := $(AROSDIR)/$(workbench-devs-printtofile_MODDIR)/$(workbench-devs-printtofile_DEFNAME).$(workbench-devs-printtofile_SUFFIX) +endif +workbench-devs-printtofile_KOBJ := $(KOBJSDIR)/$(workbench-devs-printtofile_DEFNAME)_$(workbench-devs-printtofile_SUFFIX).o +else +workbench-devs-printtofile_MODULE := +workbench-devs-printtofile_KOBJ := +endif + +workbench-devs-printtofile-quick : workbench-devs-printtofile +workbench-devs-printtofile : $(workbench-devs-printtofile_MODULE) $(workbench-devs-printtofile_LINKLIB) $(workbench-devs-printtofile_RELLINKLIB) +ifeq (M,M) +workbench-devs-printtofile-kobj : $(workbench-devs-printtofile_KOBJ) $(workbench-devs-printtofile_LINKLIB) $(workbench-devs-printtofile_RELLINKLIB) +workbench-devs-printtofile-kobj-quick : $(workbench-devs-printtofile_KOBJ) $(workbench-devs-printtofile_LINKLIB) $(workbench-devs-printtofile_RELLINKLIB) +endif +ifeq (M,M) +workbench-devs-printtofile-linklib : $(workbench-devs-printtofile_LINKLIB) $(workbench-devs-printtofile_RELLINKLIB) +endif + +workbench-devs-printtofile_OBJS := $(addsuffix .o,$(workbench-devs-printtofile_STARTFILES)) $(workbench-devs-printtofile_ARCHOBJS) \ + $(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(workbench-devs-printtofile_C_NARCHFILES:=.o) $(workbench-devs-printtofile_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +workbench-devs-printtofile_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (printtofile,con) + workbench-devs-printtofile_ERR := $(notdir $(workbench-devs-printtofile_MODULE)).err +else + workbench-devs-printtofile_ERR := printtofile.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-devs-printtofile_DEFNAME)_LDFLAGS) $(workbench-devs-printtofile_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-printtofile_LIBS) $($(workbench-devs-printtofile_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-devs-printtofile_MODULE) : LIB_NAMES := $(workbench-devs-printtofile_LIBS) $($(workbench-devs-printtofile_DEFNAME)_LIBS) +$(workbench-devs-printtofile_MODULE) : OBJS := $(workbench-devs-printtofile_STARTOBJS) $(workbench-devs-printtofile_OBJS) $(USER_OBJS) +$(workbench-devs-printtofile_MODULE) : ENDTAG := $(workbench-devs-printtofile_ENDOBJS) +$(workbench-devs-printtofile_MODULE) : ERR := $(workbench-devs-printtofile_ERR) +$(workbench-devs-printtofile_MODULE) : OBJDIR := $(workbench-devs-printtofile_OBJDIR) +$(workbench-devs-printtofile_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-devs-printtofile_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-devs-printtofile_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-devs-printtofile_MODULE) : $(workbench-devs-printtofile_STARTOBJS) $(workbench-devs-printtofile_OBJS) $(USER_OBJS) $(workbench-devs-printtofile_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-devs-printtofile_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-devs-printtofile_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-devs-printtofile_LC_LINKLIBNAME := $(shell echo $(workbench-devs-printtofile_LINKLIBNAME) | tr A-Z a-z) +workbench-devs-printtofile_LC_MODNAME := $(shell echo printtofile | tr A-Z a-z) +ifneq ($(workbench-devs-printtofile_LINKLIB),) + +ifeq (target,target) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(HOST_AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(KERNEL_AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)$(workbench-devs-printtofile_LIBSUFFIX).a : $(workbench-devs-printtofile_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printtofile_AR) $@ $^ + $(Q)$(workbench-devs-printtofile_RANLIB) $@ +ifneq ($(workbench-devs-printtofile_LC_MODNAME),$(workbench-devs-printtofile_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-devs-printtofile_LIBDIR)/libprinttofile$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(AR) +$(workbench-devs-printtofile_LIBDIR)/libprinttofile$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printtofile_LIBDIR)/libprinttofile$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(HOST_AR) +$(workbench-devs-printtofile_LIBDIR)/libprinttofile$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printtofile_LIBDIR)/libprinttofile$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(KERNEL_AR) +$(workbench-devs-printtofile_LIBDIR)/libprinttofile$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printtofile_LIBDIR)/libprinttofile$(workbench-devs-printtofile_LIBSUFFIX).a : $(workbench-devs-printtofile_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printtofile_AR) $@ $^ + $(Q)$(workbench-devs-printtofile_RANLIB) $@ +endif + + +ifneq ($(workbench-devs-printtofile_LINKLIB),) +$(workbench-devs-printtofile_LINKLIB) : | $(workbench-devs-printtofile_LIBDIR) +else +$(workbench-devs-printtofile_LINKLIB) :: $(workbench-devs-printtofile_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtofile_LIBDIR) + +endif + +ifneq ($(workbench-devs-printtofile_RELLINKLIB),) + +ifeq (target,target) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(HOST_AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(KERNEL_AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_LINKLIBNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : $(workbench-devs-printtofile_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printtofile_AR) $@ $^ + $(Q)$(workbench-devs-printtofile_RANLIB) $@ +ifneq ($(workbench-devs-printtofile_LC_MODNAME),$(workbench-devs-printtofile_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_DEFNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_DEFNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_DEFNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(HOST_AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_DEFNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_DEFNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_AR:=$(KERNEL_AR) +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_DEFNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : workbench-devs-printtofile_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printtofile_LIBDIR)/lib$(workbench-devs-printtofile_DEFNAME)_rel$(workbench-devs-printtofile_LIBSUFFIX).a : $(workbench-devs-printtofile_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printtofile_AR) $@ $^ + $(Q)$(workbench-devs-printtofile_RANLIB) $@ +endif + + +ifneq ($(workbench-devs-printtofile_RELLINKLIB),) +$(workbench-devs-printtofile_RELLINKLIB) : | $(workbench-devs-printtofile_LIBDIR) +else +$(workbench-devs-printtofile_RELLINKLIB) :: $(workbench-devs-printtofile_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtofile_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-devs-printtofile_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-devs-printtofile_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-devs-printtofile_SYMBOLS := $(workbench-devs-printtofile_KBASE) + +workbench-devs-printtofile_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-devs-printtofile_KOBJ_LIBS := $(filter-out $(workbench-devs-printtofile_KLIB),$(workbench-devs-printtofile_LIBS)) $(workbench-devs-printtofile_KAUTOLIB) +$(workbench-devs-printtofile_KOBJ) : LINKLIBS:=$(workbench-devs-printtofile_KOBJ_LIBS) $($(workbench-devs-printtofile_DEFNAME)_LIBS) +$(workbench-devs-printtofile_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-devs-printtofile_SYMBOLS)) +$(workbench-devs-printtofile_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-devs-printtofile_KOBJ) : $(workbench-devs-printtofile_OBJS) $(USER_OBJS) $(workbench-devs-printtofile_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-devs-printtofile_DEPS := $(addprefix $(workbench-devs-printtofile_OBJDIR)/,$(notdir $(workbench-devs-printtofile_CCFILES:=.d) $(workbench-devs-printtofile_TARGETCCFILES:=.d) $(workbench-devs-printtofile_CXXFILES:=.d))) $(addprefix $(workbench-devs-printtofile_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtofile_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-devs-printtofile_DEPS),) + ifneq (workbench-devs-printtofile workbench-devs-printtofile-quick workbench-devs-printtofile-kobj workbench-devs-printtofile-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-printtofile workbench-devs-printtofile-quick workbench-devs-printtofile-kobj workbench-devs-printtofile-kobj-quick),) + -include $(workbench-devs-printtofile_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-printtofile_DEPS) + endif + endif +endif + +$(workbench-devs-printtofile_OBJS) $(workbench-devs-printtofile_DEPS) : | $(workbench-devs-printtofile_OBJDIR)/linklib + +ifneq ($(workbench-devs-printtofile_OBJS) $(workbench-devs-printtofile_DEPS) $(workbench-devs-printtofile_MODULE) $(workbench-devs-printtofile_KOBJ),) +$(workbench-devs-printtofile_OBJS) $(workbench-devs-printtofile_DEPS) $(workbench-devs-printtofile_MODULE) $(workbench-devs-printtofile_KOBJ) : | $(workbench-devs-printtofile_OBJDIR) $(AROSDIR)/$(workbench-devs-printtofile_MODDIR) $(KOBJSDIR) +else +$(workbench-devs-printtofile_OBJS) $(workbench-devs-printtofile_DEPS) $(workbench-devs-printtofile_MODULE) $(workbench-devs-printtofile_KOBJ) :: $(workbench-devs-printtofile_OBJDIR) $(AROSDIR)/$(workbench-devs-printtofile_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtofile_OBJDIR) $(AROSDIR)/$(workbench-devs-printtofile_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-devs-printtofile workbench-devs-printtofile-includes workbench-devs-printtofile-quick workbench-devs-printtofile-kobj workbench-devs-printtofile-kobj-quick),) # Only for this target these deps are wanted + +workbench-devs-printtofile_DFILE_DEPS := $(workbench-devs-printtofile_LIBDEFSINC) $(workbench-devs-printtofile_DEFLIBDEFSINC) \ + $(addprefix $(workbench-devs-printtofile_INCDIR)/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) +$(workbench-devs-printtofile_DEPS) : $(workbench-devs-printtofile_DFILE_DEPS) +endif + +workbench-devs-printtofile_TOCLEAN := $(workbench-devs-printtofile_OBJS) $(workbench-devs-printtofile_DEPS) \ + $(workbench-devs-printtofile_MODULE) $(workbench-devs-printtofile_LINKLIB) $(workbench-devs-printtofile_KOBJ) \ + $(workbench-devs-printtofile_OBJDIR)/Makefile.printtofiledevice \ + $(addprefix $(workbench-devs-printtofile_OBJDIR)/include/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-devs-printtofile_INCDIR)/,$($(workbench-devs-printtofile_DEFNAME)_INCLUDES)) \ + $(workbench-devs-printtofile_OBJDIR)/printtofile_geninc $(workbench-devs-printtofile_OBJDIR)/printtofile_incs \ + $(addsuffix .c,$(workbench-devs-printtofile_LINKLIBFILES)) $(workbench-devs-printtofile_LINKLIBOBJS) $(workbench-devs-printtofile_LIBDEFSINC) \ + $(workbench-devs-printtofile_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-devs-printtofile_STARTFILES) $(workbench-devs-printtofile_ENDFILES)) \ + $(workbench-devs-printtofile_ENDOBJS) +workbench-devs-printtofile-clean : FILES := $(workbench-devs-printtofile_TOCLEAN) +workbench-devs-printtofile-clean :: + $(Q)$(ECHO) "Cleaning up for module printtofile" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-devs-printtofile_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/devs/printtotool/mmakefile b/workbench/devs/printtotool/mmakefile new file mode 100644 index 00000000000..7f58657c123 --- /dev/null +++ b/workbench/devs/printtotool/mmakefile @@ -0,0 +1,1662 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-devs-common: workbench-devs-printtotool + +#MM- workbench-devs-quick: workbench-devs-printtotool-quick + +USER_LDFLAGS := -static + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-devs-printtotool +#MM workbench-devs-printtotool-quick +#MM workbench-devs-printtotool-makefile +#MM workbench-devs-printtotool-clean + +# ABI targets: +#MM- includes-all : workbench-devs-printtotool-includes +#MM- linklibs-printtotool: workbench-devs-printtotool-linklib +#MM- linklibs-printtotool_rel : workbench-devs-printtotool-linklib +#MM- includes-printtotool: workbench-devs-printtotool-includes +#MM- includes-printtotool_rel : workbench-devs-printtotool-includes +#MM- workbench-devs-printtotool : workbench-devs-printtotool-includes core-linklibs linklibs- +#MM workbench-devs-printtotool-linklib : workbench-devs-printtotool-includes includes- +#MM- workbench-devs-printtotool-quick : workbench-devs-printtotool-includes-quick +#MM workbench-devs-printtotool-includes : workbench-devs-printtotool-makefile workbench-devs-printtotool-includes-dirs \ +#MM includes-generate-deps workbench-devs-printtotool-fd +#MM workbench-devs-printtotool-includes-quick +#MM workbench-devs-printtotool-includes-dirs +#MM workbench-devs-printtotool-fd + +# Library targets +#MM workbench-devs-printtotool-kobj : core-linklibs linklibs- +#MM workbench-devs-printtotool-kobj-quick : + +# Library with ABI targets: +#MM workbench-devs-printtotool-kobj : workbench-devs-printtotool-includes core-linklibs linklibs- +#MM workbench-devs-printtotool-kobj-quick : workbench-devs-printtotool-includes-quick + +# All MetaMake targets defined by this macro +workbench-devs-printtotool_ALLTARGETS := workbench-devs-printtotool workbench-devs-printtotool-quick workbench-devs-printtotool-clean + +ifeq (M,M) +workbench-devs-printtotool_ALLTARGETS += workbench-devs-printtotool-kobj workbench-devs-printtotool-kobj-quick +endif + +ifeq (M,M) +workbench-devs-printtotool_ALLTARGETS += workbench-devs-printtotool-includes \ + workbench-devs-printtotool-includes-quick workbench-devs-printtotool-includes-dirs \ + workbench-devs-printtotool-linklib workbench-devs-printtotool-fd +endif + +.PHONY : $(workbench-devs-printtotool_ALLTARGETS) workbench-devs-printtotool-makefile + +ifeq (printtotool,) +$(error using %build_module: modname may not be empty) +endif +ifeq (device,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-devs-printtotool_DEFNAME := printtotool_ +else + workbench-devs-printtotool_DEFNAME := printtotool +endif +workbench-devs-printtotool_DEFLINKLIBNAME := $(workbench-devs-printtotool_DEFNAME) +ifneq (,) + workbench-devs-printtotool_LINKLIBNAME := +else + workbench-devs-printtotool_LINKLIBNAME = $(workbench-devs-printtotool_DEFLINKLIBNAME) +endif +workbench-devs-printtotool_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-devs-printtotool_DEFCPPFLAGS += -I +endif +workbench-devs-printtotool_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-devs-printtotool_DFLAGS := +else + workbench-devs-printtotool_DFLAGS = $(workbench-devs-printtotool_DEFDFLAGS) +endif +workbench-devs-printtotool_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-devs-printtotool_DXXFLAGS := +else + workbench-devs-printtotool_DXXFLAGS = $(workbench-devs-printtotool_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-devs-printtotool_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-devs-printtotool_DEFDFLAGS)) +workbench-devs-printtotool_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-devs-printtotool_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-printtotool_FUNCINSTR := yes +workbench-devs-printtotool_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-devs-printtotool_DEFDFLAGS)) +workbench-devs-printtotool_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-devs-printtotool_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-devs-printtotool_OBJDIR := +else +workbench-devs-printtotool_OBJDIR := $(OBJDIR)/$(workbench-devs-printtotool_DEFNAME) +endif +ifneq (,) +workbench-devs-printtotool_OBJDIR := $(workbench-devs-printtotool_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-devs-printtotool-makefile := $(workbench-devs-printtotool_OBJDIR)/Makefile.$(workbench-devs-printtotool_DEFNAME)device +workbench-devs-printtotool-genmakefile : $(workbench-devs-printtotool-makefile) + + +workbench-devs-printtotool-genmakefile_OPTS := +ifneq (,) + workbench-devs-printtotool-genmakefile_OPTS += -f + workbench-devs-printtotool-genmakefile_MODNAME := printtotool_ +else + workbench-devs-printtotool-genmakefile_MODNAME := printtotool +endif +workbench-devs-printtotool-genmakefile_TARGET := Makefile.$(workbench-devs-printtotool-genmakefile_MODNAME)device +workbench-devs-printtotool-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtotool-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtotool-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtotool-genmakefile_OPTS += -c + workbench-devs-printtotool-genmakefile_DEPS += + endif +else + workbench-devs-printtotool-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/printtotool.conf + workbench-devs-printtotool-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/printtotool.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtotool-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtotool-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtotool-genmakefile_OPTS += -o + workbench-devs-printtotool-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-devs-printtotool-genmakefile_OPTS += -s +endif +ifneq ($(workbench-devs-printtotool_OBJDIR),) + workbench-devs-printtotool-genmakefile_OPTS += -d $(workbench-devs-printtotool_OBJDIR) + workbench-devs-printtotool-genmakefile_TARGET := $(workbench-devs-printtotool_OBJDIR)/$(workbench-devs-printtotool-genmakefile_TARGET) +endif + +$(workbench-devs-printtotool-genmakefile_TARGET) : OPTS := $(workbench-devs-printtotool-genmakefile_OPTS) +$(workbench-devs-printtotool-genmakefile_TARGET) : MODNAME := printtotool +$(workbench-devs-printtotool-genmakefile_TARGET) : MODTYPE := device +$(workbench-devs-printtotool-genmakefile_TARGET) : $(workbench-devs-printtotool-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-devs-printtotool-makefile),) +$(workbench-devs-printtotool-makefile) : | $(workbench-devs-printtotool_OBJDIR) +else +$(workbench-devs-printtotool-makefile) :: $(workbench-devs-printtotool_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtotool_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-devs-printtotool_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-devs-printtotool-makefile) + +workbench-devs-printtotool_DEFMODDIR := $($(workbench-devs-printtotool_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-devs-printtotool_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-devs-printtotool_DEFMODDIR) +endif +ifneq (,) + workbench-devs-printtotool_MODDIR := +else + workbench-devs-printtotool_MODDIR := $(workbench-devs-printtotool_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-devs-printtotool_INCDIR := +else +workbench-devs-printtotool_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-devs-printtotool_LIBDEFSINC := $(workbench-devs-printtotool_OBJDIR)/include/$(workbench-devs-printtotool_DEFNAME)_libdefs.h +workbench-devs-printtotool_DEFLIBDEFSINC := $(workbench-devs-printtotool_OBJDIR)/include/$(workbench-devs-printtotool_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-devs-printtotool-includes-quick : workbench-devs-printtotool-includes +workbench-devs-printtotool-includes : $(addprefix $(GENINCDIR)/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-devs-printtotool_INCDIR)/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) \ + $(workbench-devs-printtotool_LIBDEFSINC) $(workbench-devs-printtotool_DEFLIBDEFSINC) + +ifneq ($($(workbench-devs-printtotool_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-devs-printtotool-includes_MODNAME := printtotool_ +else + workbench-devs-printtotool-includes_MODNAME := printtotool +endif + +ifneq ($($(workbench-devs-printtotool-includes_MODNAME)_INCLUDES),) + +workbench-devs-printtotool-includes_TARGETS := $($(workbench-devs-printtotool-includes_MODNAME)_INCLUDES) + +workbench-devs-printtotool-includes_DEPS := $(GENMODULE) +workbench-devs-printtotool-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtotool-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtotool-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtotool-includes_OPTS += -c + workbench-devs-printtotool-includes_DEPS += + endif +else + workbench-devs-printtotool-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/printtotool.conf + workbench-devs-printtotool-includes_DEPS += $(SRCDIR)/$(CURDIR)/printtotool.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtotool-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtotool-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtotool-includes_OPTS += -o + workbench-devs-printtotool-includes_DEPS += + endif +endif +ifneq (,) + workbench-devs-printtotool-includes_OPTS += -s +endif +ifneq ($(workbench-devs-printtotool_OBJDIR)/include,) + workbench-devs-printtotool-includes_OPTS += -d $(workbench-devs-printtotool_OBJDIR)/include + workbench-devs-printtotool-includes_TARGETS := $(addprefix $(workbench-devs-printtotool_OBJDIR)/include/,$(workbench-devs-printtotool-includes_TARGETS)) + workbench-devs-printtotool-includes_GENINCFLAG=$(workbench-devs-printtotool_OBJDIR)/include/.printtotool.device-includes +else + workbench-devs-printtotool-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.printtotool.device-includes +endif + +$(workbench-devs-printtotool-includes_TARGETS) : $(workbench-devs-printtotool-includes_DEPS) $(workbench-devs-printtotool-includes_GENINCFLAG) + +$(workbench-devs-printtotool-includes_GENINCFLAG) : OPTS := $(workbench-devs-printtotool-includes_OPTS) +$(workbench-devs-printtotool-includes_GENINCFLAG) : MODNAME := printtotool +$(workbench-devs-printtotool-includes_GENINCFLAG) : MODTYPE := device +$(workbench-devs-printtotool-includes_GENINCFLAG) : $(workbench-devs-printtotool-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-devs-printtotool_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) : | $(workbench-devs-printtotool_OBJDIR)/printtotool_geninc + +$(workbench-devs-printtotool_OBJDIR)/printtotool_geninc : COPYSRCDIR := $(workbench-devs-printtotool_OBJDIR)/include +$(workbench-devs-printtotool_OBJDIR)/printtotool_geninc : TGTDIR := $(GENINCDIR) +$(workbench-devs-printtotool_OBJDIR)/printtotool_geninc : FILES := $($(workbench-devs-printtotool_DEFNAME)_INCLUDES) +$(workbench-devs-printtotool_OBJDIR)/printtotool_geninc : $(addprefix $(workbench-devs-printtotool_OBJDIR)/include/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-devs-printtotool_OBJDIR)/include + +$(addprefix $(workbench-devs-printtotool_INCDIR)/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) : | $(workbench-devs-printtotool_OBJDIR)/printtotool_incs + +$(workbench-devs-printtotool_OBJDIR)/printtotool_incs : COPYSRCDIR := $(workbench-devs-printtotool_OBJDIR)/include +$(workbench-devs-printtotool_OBJDIR)/printtotool_incs : TGTDIR := $(workbench-devs-printtotool_INCDIR) +$(workbench-devs-printtotool_OBJDIR)/printtotool_incs : FILES := $($(workbench-devs-printtotool_DEFNAME)_INCLUDES) +$(workbench-devs-printtotool_OBJDIR)/printtotool_incs : $(addprefix $(workbench-devs-printtotool_OBJDIR)/include/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-devs-printtotool_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-devs-printtotool_DEFNAME)_INCLUDES)))) + +TMPprinttotool_INCDIRS := \ + $(workbench-devs-printtotool_OBJDIR)/include $(addprefix $(workbench-devs-printtotool_OBJDIR)/include/,$(workbench-devs-printtotool_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-devs-printtotool_INCDIRS)) \ + $(workbench-devs-printtotool_INCDIR) $(addprefix $(workbench-devs-printtotool_INCDIR)/,$(workbench-devs-printtotool_INCDIRS)) + +ifneq (workbench-devs-printtotool-includes-dirs,) +workbench-devs-printtotool-includes-dirs : | $(TMPprinttotool_INCDIRS) +else +workbench-devs-printtotool-includes-dirs :: $(TMPprinttotool_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPprinttotool_INCDIRS) + + +endif + +endif + + +workbench-devs-printtotool-genlibdefs_OPTS := +ifneq (,) + workbench-devs-printtotool-genlibdefs_OPTS += -f + workbench-devs-printtotool-genlibdefs_MODNAME := printtotool_ +else + workbench-devs-printtotool-genlibdefs_MODNAME := printtotool +endif +workbench-devs-printtotool-genlibdefs_TARGET := $(workbench-devs-printtotool-genlibdefs_MODNAME)_libdefs.h +workbench-devs-printtotool-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtotool-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtotool-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtotool-genlibdefs_OPTS += -c + workbench-devs-printtotool-genlibdefs_DEPS += + endif +else + workbench-devs-printtotool-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/printtotool.conf + workbench-devs-printtotool-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/printtotool.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtotool-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtotool-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtotool-genlibdefs_OPTS += -o + workbench-devs-printtotool-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-devs-printtotool-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-devs-printtotool_OBJDIR)/include,) + workbench-devs-printtotool-genlibdefs_OPTS += -d $(workbench-devs-printtotool_OBJDIR)/include + workbench-devs-printtotool-genlibdefs_TARGET := $(workbench-devs-printtotool_OBJDIR)/include/$(workbench-devs-printtotool-genlibdefs_TARGET) +endif +ifneq (,) + workbench-devs-printtotool-genlibdefs_OPTS += -v +endif + +$(workbench-devs-printtotool-genlibdefs_TARGET) : OPTS := $(workbench-devs-printtotool-genlibdefs_OPTS) +$(workbench-devs-printtotool-genlibdefs_TARGET) : MODNAME := printtotool +$(workbench-devs-printtotool-genlibdefs_TARGET) : MODTYPE := device +$(workbench-devs-printtotool-genlibdefs_TARGET) : $(workbench-devs-printtotool-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-devs-printtotool_DEFLIBDEFSINC) : FILENAME := $(workbench-devs-printtotool_LIBDEFSINC) +$(workbench-devs-printtotool_DEFLIBDEFSINC) : $(workbench-devs-printtotool_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-devs-printtotool_LIBDEFSINC) $(workbench-devs-printtotool_DEFLIBDEFSINC) : | $(workbench-devs-printtotool_OBJDIR)/include + +ifneq (workbench-devs-printtotool-includes-dirs,) +workbench-devs-printtotool-includes-dirs : | $(workbench-devs-printtotool_OBJDIR)/include +else +workbench-devs-printtotool-includes-dirs :: $(workbench-devs-printtotool_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-devs-printtotool_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-devs-printtotool-genmodfiles_OPTS := +ifneq (,) + workbench-devs-printtotool-genmodfiles_OPTS += -f + workbench-devs-printtotool-genmodfiles_MODNAME := printtotool_ +else + workbench-devs-printtotool-genmodfiles_MODNAME := printtotool +endif +workbench-devs-printtotool-genmodfiles_GENTARGETS := $($(workbench-devs-printtotool-genmodfiles_MODNAME)_STARTFILES) $($(workbench-devs-printtotool-genmodfiles_MODNAME)_ENDFILES) +workbench-devs-printtotool-genmodfiles_STUBTARGETS := $($(workbench-devs-printtotool-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-devs-printtotool-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-devs-printtotool-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-devs-printtotool-genmodfiles_GENTARGETS)) +workbench-devs-printtotool-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-devs-printtotool-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-devs-printtotool-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-devs-printtotool-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-devs-printtotool-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtotool-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtotool-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtotool-genmodfiles_OPTS += -c + workbench-devs-printtotool-genmodfiles_DEPS += + endif +else + workbench-devs-printtotool-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/printtotool.conf + workbench-devs-printtotool-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/printtotool.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-devs-printtotool-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-devs-printtotool-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-devs-printtotool-genmodfiles_OPTS += -o + workbench-devs-printtotool-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-devs-printtotool-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-devs-printtotool_OBJDIR),) + workbench-devs-printtotool-genmodfiles_OPTS += -d $(workbench-devs-printtotool_OBJDIR) + workbench-devs-printtotool-genmodfiles_TARGETDIR := $(shell echo $(workbench-devs-printtotool_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printtotool-genmodfiles_GENTARGETS := $(addprefix $(workbench-devs-printtotool-genmodfiles_TARGETDIR)/,$(workbench-devs-printtotool-genmodfiles_GENTARGETS)) + workbench-devs-printtotool-genmodfiles_GENFILEFLAG=$(workbench-devs-printtotool-genmodfiles_TARGETDIR)/.printtotool.device-genfiles +else + workbench-devs-printtotool-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.printtotool.device-genfiles +endif +ifneq ($(workbench-devs-printtotool_OBJDIR)/linklib,) + workbench-devs-printtotool-genmodfiles_OPTS += -l $(workbench-devs-printtotool_OBJDIR)/linklib + workbench-devs-printtotool-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-devs-printtotool_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printtotool-genmodfiles_STUBTARGETS := $(addprefix $(workbench-devs-printtotool-genmodfiles_STUBTARGETDIR)/,$(workbench-devs-printtotool-genmodfiles_STUBTARGETS)) + workbench-devs-printtotool-genmodfiles_TARGETDIRS += $(workbench-devs-printtotool_OBJDIR)/linklib +else +ifneq ($(workbench-devs-printtotool_OBJDIR),) + workbench-devs-printtotool-genmodfiles_STUBTARGETS := $(addprefix $(workbench-devs-printtotool-genmodfiles_TARGETDIR)/,$(workbench-devs-printtotool-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-devs-printtotool-genmodfiles_TARGETS := $(workbench-devs-printtotool-genmodfiles_GENTARGETS) $(workbench-devs-printtotool-genmodfiles_STUBTARGETS) +ifneq ($(workbench-devs-printtotool-genmodfiles_TARGETDIRS),) +$(workbench-devs-printtotool-genmodfiles_TARGETS) : | $(workbench-devs-printtotool-genmodfiles_TARGETDIRS) +endif + +$(workbench-devs-printtotool-genmodfiles_TARGETS) : $(workbench-devs-printtotool-genmodfiles_DEPS) $(workbench-devs-printtotool-genmodfiles_GENFILEFLAG) + +$(workbench-devs-printtotool-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-devs-printtotool-genmodfiles_OPTS) +$(workbench-devs-printtotool-genmodfiles_GENFILEFLAG) : MODNAME := printtotool +$(workbench-devs-printtotool-genmodfiles_GENFILEFLAG) : MODTYPE := device +$(workbench-devs-printtotool-genmodfiles_GENFILEFLAG) : $(workbench-devs-printtotool-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-devs-printtotool-genmodfiles_GENFILEFLAG) : $(workbench-devs-printtotool_DEFLIBDEFSINC) $(workbench-devs-printtotool-makefile) + + +ifneq ($(workbench-devs-printtotool-genmodfiles_GENFILEFLAG),) +$(workbench-devs-printtotool-genmodfiles_GENFILEFLAG) : | $(workbench-devs-printtotool_OBJDIR)/linklib +else +$(workbench-devs-printtotool-genmodfiles_GENFILEFLAG) :: $(workbench-devs-printtotool_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-devs-printtotool_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-devs-printtotool_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-devs-printtotool_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-devs-printtotool-fd : $(workbench-devs-printtotool_FDDIR)/printtotool_lib.fd + + +TMP_TARGET := printtotool_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/printtotool.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/printtotool.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-devs-printtotool_FDDIR),) + TMP_OPTS += -d $(workbench-devs-printtotool_FDDIR) + TMP_TARGET := $(workbench-devs-printtotool_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := printtotool +$(TMP_TARGET) : MODTYPE := device +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-devs-printtotool_FDDIR)/printtotool_lib.fd : | $(workbench-devs-printtotool_FDDIR) + + +ifneq (workbench-devs-printtotool-fd-setup,) +workbench-devs-printtotool-fd-setup : | $(workbench-devs-printtotool_FDDIR) +else +workbench-devs-printtotool-fd-setup :: $(workbench-devs-printtotool_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtotool_FDDIR) + +endif + +## Compilation +## +workbench-devs-printtotool_FILES := printtotool +workbench-devs-printtotool_OBJCFILES := +workbench-devs-printtotool_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-devs-printtotool_LIBFILES := +workbench-devs-printtotool_LIBS := + +workbench-devs-printtotool_FDIRS := $(sort $(dir $(workbench-devs-printtotool_FILES))) + +workbench-devs-printtotool_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-devs-printtotool_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-devs-printtotool_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-devs-printtotool_FILTERARCH = $(filter-out $(call workbench-devs-printtotool_MATCHARCH,$(1),$(2)),$(2)) +workbench-devs-printtotool_STARTFILES := $(addprefix $(workbench-devs-printtotool_OBJDIR)/,$($(workbench-devs-printtotool_DEFNAME)_STARTFILES)) +workbench-devs-printtotool_ENDFILES := $(addprefix $(workbench-devs-printtotool_OBJDIR)/,$($(workbench-devs-printtotool_DEFNAME)_ENDFILES)) + +workbench-devs-printtotool_ARCHOBJS := $(wildcard $(workbench-devs-printtotool_OBJDIR)/arch/*.o) +workbench-devs-printtotool_LIBARCHOBJS := $(wildcard $(workbench-devs-printtotool_OBJDIR)/linklib/arch/*.o) +workbench-devs-printtotool_ARCHFILES := $(basename $(notdir $(workbench-devs-printtotool_ARCHOBJS))) +workbench-devs-printtotool_LIBARCHFILES := $(basename $(notdir $(workbench-devs-printtotool_LIBARCHOBJS))) +workbench-devs-printtotool_C_NARCHFILES := $(call workbench-devs-printtotool_FILTERARCH,$(workbench-devs-printtotool_ARCHFILES),$(workbench-devs-printtotool_FILES)) +workbench-devs-printtotool_CXX_NARCHFILES := $(call workbench-devs-printtotool_FILTERARCH,$(workbench-devs-printtotool_ARCHFILES),$(workbench-devs-printtotool_CXXFILES)) +workbench-devs-printtotool_OBJC_NARCHFILES := $(call workbench-devs-printtotool_FILTERARCH,$(workbench-devs-printtotool_ARCHFILES),$(workbench-devs-printtotool_OBJCFILES)) +workbench-devs-printtotool_NLIBARCHFILES := $(call workbench-devs-printtotool_FILTERARCH,$(workbench-devs-printtotool_LIBARCHFILES),$(workbench-devs-printtotool_LIBFILES)) +workbench-devs-printtotool_ARCHNLIBFILES := $(call workbench-devs-printtotool_FILTERARCH,$(workbench-devs-printtotool_LIBFILES),$(workbench-devs-printtotool_LIBARCHFILES)) + +workbench-devs-printtotool_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-devs-printtotool_OBJDIR)/include -include $(workbench-devs-printtotool_DEFLIBDEFSINC)) +ifneq (,) +workbench-devs-printtotool_CPPFLAGS += -I +endif +workbench-devs-printtotool_LINKLIBCPPFLAGS := $(workbench-devs-printtotool_CPPFLAGS) +workbench-devs-printtotool_CPPFLAGS += $(strip $($(workbench-devs-printtotool_DEFNAME)_CPPFLAGS)) +workbench-devs-printtotool_LINKLIBCPPFLAGS += $(strip $($(workbench-devs-printtotool_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-devs-printtotool_CFLAGS := $(strip $(CFLAGS) $($(workbench-devs-printtotool_DEFNAME)_CFLAGS)) +workbench-devs-printtotool_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-devs-printtotool_DEFNAME)_LINKLIBCFLAGS)) +workbench-devs-printtotool_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-devs-printtotool_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-devs-printtotool_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-devs-printtotool_CFLAGS := $(strip $(workbench-devs-printtotool_LTOFLAGS) $(workbench-devs-printtotool_CFLAGS)) +workbench-devs-printtotool_LINKLIBCFLAGS := $(strip $(workbench-devs-printtotool_LTOFLAGS) $(workbench-devs-printtotool_LINKLIBCFLAGS)) +workbench-devs-printtotool_CXXFLAGS := $(strip $(workbench-devs-printtotool_LTOFLAGS) $(workbench-devs-printtotool_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-devs-printtotool_SUBSTNULL := +workbench-devs-printtotool_SUBSTSPACE := $(workbench-devs-printtotool_SUBSTNULL) # +workbench-devs-printtotool_SUBSTCOMMA := , +workbench-devs-printtotool_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-devs-printtotool_SUBSTSPACE),$(workbench-devs-printtotool_SUBSTCOMMA),$(strip $($(workbench-devs-printtotool_DEFNAME)_STARTFILES)))) +workbench-devs-printtotool_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-devs-printtotool_CFLAGS := $(strip $(workbench-devs-printtotool_INSTRFUNCFLAGS) $(workbench-devs-printtotool_CFLAGS)) +workbench-devs-printtotool_CXXFLAGS := $(strip $(workbench-devs-printtotool_INSTRFUNCFLAGS) $(workbench-devs-printtotool_CXXFLAGS)) +workbench-devs-printtotool_LIBS += $(workbench-devs-printtotool_INSTRFUNCLIBS) +endif +endif +workbench-devs-printtotool_DFLAGS := $(strip $(workbench-devs-printtotool_DFLAGS) $($(workbench-devs-printtotool_DEFNAME)_DFLAGS)) +workbench-devs-printtotool_LINKLIBDFLAGS := $(strip $(workbench-devs-printtotool_DFLAGS) $($(workbench-devs-printtotool_DEFNAME)_LINKLIBDFLAGS)) +workbench-devs-printtotool_DXXFLAGS := $(strip $(workbench-devs-printtotool_DXXFLAGS) $($(workbench-devs-printtotool_DEFNAME)_DXXFLAGS)) + +ifeq (device,library) + workbench-devs-printtotool_LIBSUFFIX := +else + workbench-devs-printtotool_LIBSUFFIX := .device +endif + +ifeq (,) +workbench-devs-printtotool_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-devs-printtotool_LIBDIR := +endif + +ifeq (M,M) +workbench-devs-printtotool_LINKLIBCFILES := $(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$($(workbench-devs-printtotool_DEFNAME)_LINKLIBFILES)) +workbench-devs-printtotool_LINKLIBAFILES := $(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$($(workbench-devs-printtotool_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-devs-printtotool_DEFNAME)_LINKLIBFILES) $($(workbench-devs-printtotool_DEFNAME)_LINKLIBAFILES) $(workbench-devs-printtotool_ARCHNLIBFILES)),) + workbench-devs-printtotool_LINKLIB := +else + workbench-devs-printtotool_LINKLIB := $(workbench-devs-printtotool_LIBDIR)/libprinttotool$(workbench-devs-printtotool_LIBSUFFIX).a + ifneq (printtotool,$(workbench-devs-printtotool_LINKLIBNAME)) + workbench-devs-printtotool_LINKLIB += $(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)$(workbench-devs-printtotool_LIBSUFFIX).a + endif +endif +workbench-devs-printtotool_LINKLIBFILES := $(workbench-devs-printtotool_LINKLIBCFILES) $(workbench-devs-printtotool_LINKLIBAFILES) + +workbench-devs-printtotool_RELLINKLIBCFILES := $(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$($(workbench-devs-printtotool_DEFNAME)_RELLINKLIBFILES)) +workbench-devs-printtotool_RELLINKLIBAFILES := $(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$($(workbench-devs-printtotool_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-devs-printtotool_DEFNAME)_RELLINKLIBFILES) $($(workbench-devs-printtotool_DEFNAME)_RELLINKLIBAFILES) $(workbench-devs-printtotool_ARCHNLIBFILES)),) + workbench-devs-printtotool_RELLINKLIB := +else + workbench-devs-printtotool_RELLINKLIB := $(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_DEFNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a + ifneq (printtotool,$(workbench-devs-printtotool_LINKLIBNAME)) + workbench-devs-printtotool_RELLINKLIB += $(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a + endif +endif +workbench-devs-printtotool_RELLINKLIBFILES := $(workbench-devs-printtotool_RELLINKLIBCFILES) $(workbench-devs-printtotool_RELLINKLIBAFILES) +endif + +workbench-devs-printtotool_ENDOBJS := $(addsuffix .o,$(workbench-devs-printtotool_ENDFILES)) +workbench-devs-printtotool_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtotool_NLIBARCHFILES))) $(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/arch/,$(notdir $(workbench-devs-printtotool_ARCHNLIBFILES))) $(workbench-devs-printtotool_LINKLIBFILES)) \ + +workbench-devs-printtotool_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtotool_NLIBARCHFILES))) $(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/arch/,$(notdir $(workbench-devs-printtotool_ARCHNLIBFILES))) $(workbench-devs-printtotool_RELLINKLIBFILES)) \ + +$(workbench-devs-printtotool_LINKLIBFILES) $(workbench-devs-printtotool_RELLINKLIBFILES) : | $(workbench-devs-printtotool_OBJDIR)/linklib +$(workbench-devs-printtotool_LINKLIBOBJS) $(workbench-devs-printtotool_RELLINKLIBOBJS) : | $(workbench-devs-printtotool_OBJDIR)/linklib + +workbench-devs-printtotool_CCFILES := $(workbench-devs-printtotool_C_NARCHFILES) +workbench-devs-printtotool_TARGETCCFILES := $(strip $(workbench-devs-printtotool_STARTFILES) $(workbench-devs-printtotool_ENDFILES)) +workbench-devs-printtotool_LINKLIBCCFILES := $(strip $(workbench-devs-printtotool_NLIBARCHFILES) $(workbench-devs-printtotool_LINKLIBCFILES) $(workbench-devs-printtotool_RELLINKLIBCFILES)) +workbench-devs-printtotool_LINKLIBCCGENFILES := $(strip $(workbench-devs-printtotool_LINKLIBCFILES) $(workbench-devs-printtotool_RELLINKLIBCFILES)) + + +workbench-devs-printtotool_CXXABSBASENAMES := $(foreach workbench-devs-printtotool_CXXBASE,$(workbench-devs-printtotool_CXX_NARCHFILES),$(if $(filter /%,$(workbench-devs-printtotool_CXXBASE)),$(workbench-devs-printtotool_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-devs-printtotool_CXXBASE)))) + +ifneq ($(workbench-devs-printtotool_CXXABSBASENAMES),) + +workbench-devs-printtotool_CXXBASENAMES := $(basename $(workbench-devs-printtotool_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-devs-printtotool_MCXX_FILES := $(strip $(foreach workbench-devs-printtotool_CXXBASE,$(workbench-devs-printtotool_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-devs-printtotool_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-devs-printtotool_EXT),$(workbench-devs-printtotool_CXXBASE))))))) + +ifeq (,) +workbench-devs-printtotool_MCXX_SRCWILDCARD := % +else +workbench-devs-printtotool_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtotool_OBJDIR),) + workbench-devs-printtotool_CXXTARGETS := $(notdir $(workbench-devs-printtotool_CXXBASENAMES:=.o)) + workbench-devs-printtotool_CXXDTARGETS := $(notdir $(workbench-devs-printtotool_CXXBASENAMES:=.d)) + workbench-devs-printtotool_MCXX_WILDCARD := % +else + workbench-devs-printtotool_CXXTARGETS := $(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(workbench-devs-printtotool_CXXBASENAMES:=.o))) + workbench-devs-printtotool_CXXDTARGETS := $(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(workbench-devs-printtotool_CXXBASENAMES:=.d))) + workbench-devs-printtotool_MCXX_WILDCARD := $(workbench-devs-printtotool_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-devs-printtotool_CXXTARGETS) $(workbench-devs-printtotool_CXXDTARGETS) : | $(workbench-devs-printtotool_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-devs-printtotool_MCXX_CPPFLAGS := $(workbench-devs-printtotool_CPPFLAGS) +workbench-devs-printtotool_CXXFLAGS := $(workbench-devs-printtotool_CXXFLAGS) +ifeq ($(workbench-devs-printtotool_DXXFLAGS),) + workbench-devs-printtotool_DXXFLAGS := $(workbench-devs-printtotool_CXXFLAGS) +else + workbench-devs-printtotool_DXXFLAGS := $(workbench-devs-printtotool_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-devs-printtotool_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-devs-printtotool_STRIP ?= $(HOST_STRIP) + workbench-devs-printtotool_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-devs-printtotool_CXXCMD:=$(HOST_CXX) + workbench-devs-printtotool_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-devs-printtotool_MCXX_CPPFLAGS) $(workbench-devs-printtotool_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printtotool_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-printtotool_CXXFLAGS)) + workbench-devs-printtotool_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-devs-printtotool_DXXFLAGS)) + workbench-devs-printtotool_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-devs-printtotool_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-devs-printtotool_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-printtotool_STRIP ?= $(TARGET_STRIP) + workbench-devs-printtotool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-devs-printtotool_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-devs-printtotool_MCXX_CPPFLAGS := $(strip $(workbench-devs-printtotool_MCXX_CPPFLAGS) $(workbench-devs-printtotool_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printtotool_CXXFLAGS := $(strip $(workbench-devs-printtotool_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-devs-printtotool_DXXFLAGS := $(workbench-devs-printtotool_DXXFLAGS) + workbench-devs-printtotool_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-devs-printtotool_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-devs-printtotool_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-printtotool_STRIP ?= $(ECHO) >/dev/null + workbench-devs-printtotool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-devs-printtotool_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-devs-printtotool_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-devs-printtotool_MCXX_CPPFLAGS) $(workbench-devs-printtotool_MCXX_EXTRA_CPPFLAGS)) + workbench-devs-printtotool_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-printtotool_CXXFLAGS)) + workbench-devs-printtotool_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-devs-printtotool_DXXFLAGS)) + workbench-devs-printtotool_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-devs-printtotool_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-devs-printtotool_CXXCMD) $(workbench-devs-printtotool_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printtotool_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_CXXIQUOTE) . $(workbench-devs-printtotool_CXXIQUOTE_END) $(strip $(workbench-devs-printtotool_CXXFLAGS) $(workbench-devs-printtotool_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-devs-printtotool_CXXCMD) $(workbench-devs-printtotool_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printtotool_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_CXXIQUOTE) . $(workbench-devs-printtotool_CXXIQUOTE_END) $(strip $(workbench-devs-printtotool_CXXFLAGS) $(workbench-devs-printtotool_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-devs-printtotool_CXXCMD) $(workbench-devs-printtotool_CXXIQUOTE) $(dir $(2)) $(workbench-devs-printtotool_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_CXXIQUOTE) . $(workbench-devs-printtotool_CXXIQUOTE_END) $(strip $(workbench-devs-printtotool_CXXFLAGS) $(workbench-devs-printtotool_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-devs-printtotool_CXXCMD)" $(MKDEPEND) $(strip $(workbench-devs-printtotool_DXXFLAGS) $(workbench-devs-printtotool_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-devs-printtotool_OBJDIR),) + $(foreach workbench-devs-printtotool_CXXFILE,$(workbench-devs-printtotool_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-devs-printtotool_CXXFILE))),$(workbench-devs-printtotool_CXXFILE)))) +else + $(foreach workbench-devs-printtotool_CXXFILE,$(workbench-devs-printtotool_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(basename $(workbench-devs-printtotool_CXXFILE)))),$(workbench-devs-printtotool_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-devs-printtotool_OBJC_NARCHFILES),) + +ifeq (,) +workbench-devs-printtotool_MOBJC_SRCWILDCARD := % +else +workbench-devs-printtotool_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtotool_OBJDIR),) + workbench-devs-printtotool_MOBJC_TARGETS := $(addsuffix .o,$(workbench-devs-printtotool_OBJC_NARCHFILES)) + workbench-devs-printtotool_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtotool_OBJC_NARCHFILES)) + workbench-devs-printtotool_MOBJC_WILDCARD := % +else + workbench-devs-printtotool_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(workbench-devs-printtotool_OBJC_NARCHFILES))) + workbench-devs-printtotool_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(workbench-devs-printtotool_OBJC_NARCHFILES))) + workbench-devs-printtotool_MOBJC_WILDCARD := $(workbench-devs-printtotool_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-devs-printtotool_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-devs-printtotool_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-devs-printtotool_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtotool_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-devs-printtotool_MOBJC_DIRS := $(foreach dir, $(workbench-devs-printtotool_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtotool_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-devs-printtotool_MOBJC_DIRS),) + workbench-devs-printtotool_MOBJC_DIRS := $(shell echo $(workbench-devs-printtotool_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-devs-printtotool_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-devs-printtotool_CC := $(TARGET_CC) +else + workbench-devs-printtotool_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-devs-printtotool_MOBJC_CPPFLAGS := $(workbench-devs-printtotool_CPPFLAGS) +workbench-devs-printtotool_OBJCFLAGS := $(workbench-devs-printtotool_CFLAGS) +workbench-devs-printtotool_OBJCFLAGS := $(workbench-devs-printtotool_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-devs-printtotool_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-devs-printtotool_OBJCFLAGS))) +ifeq ($(workbench-devs-printtotool_DFLAGS),) + workbench-devs-printtotool_OBJCDFLAGS := $(workbench-devs-printtotool_CFLAGS) +else + workbench-devs-printtotool_OBJCDFLAGS := $(workbench-devs-printtotool_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-devs-printtotool_LINK ?= $(strip $(workbench-devs-printtotool_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-devs-printtotool_STRIP ?= $(TARGET_STRIP) + workbench-devs-printtotool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-devs-printtotool_CC) $(TARGET_SYSROOT)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_MOBJC_CPPFLAGS:=$(strip $(workbench-devs-printtotool_MOBJC_CPPFLAGS) $(workbench-devs-printtotool_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_OBJCFLAGS:=$(strip $(workbench-devs-printtotool_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_OBJCDFLAGS:=$(workbench-devs-printtotool_OBJCDFLAGS) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-devs-printtotool_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-devs-printtotool_STRIP ?= $(HOST_STRIP) + workbench-devs-printtotool_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-devs-printtotool_MOBJC_CPPFLAGS) $(workbench-devs-printtotool_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_OBJCFLAGS)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_OBJCDFLAGS)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(HOST_IQUOTE) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-devs-printtotool_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-devs-printtotool_STRIP ?= $(ECHO) >/dev/null + workbench-devs-printtotool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-devs-printtotool_MOBJC_CPPFLAGS) $(workbench-devs-printtotool_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_OBJCFLAGS)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_OBJCDFLAGS)) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-devs-printtotool_MOBJC_TARGETS) $(workbench-devs-printtotool_MOBJC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtotool_MOBJC_TARGETS) : CPPFLAGS := $(workbench-devs-printtotool_MOBJC_CPPFLAGS) +$(workbench-devs-printtotool_MOBJC_TARGETS) : CFLAGS := $(workbench-devs-printtotool_OBJCFLAGS) +$(workbench-devs-printtotool_MOBJC_TARGETS) : $(workbench-devs-printtotool_MOBJC_WILDCARD).o : $(workbench-devs-printtotool_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtotool_MOBJC_DTARGETS) : $(workbench-devs-printtotool_MOBJC_WILDCARD).d : $(workbench-devs-printtotool_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtotool_OBJCDFLAGS) $(workbench-devs-printtotool_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-devs-printtotool_MC_SRCWILDCARD := % +else +workbench-devs-printtotool_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtotool_OBJDIR),) +workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printtotool_CCFILES)) +workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtotool_CCFILES)) +workbench-devs-printtotool_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(workbench-devs-printtotool_CCFILES)))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(workbench-devs-printtotool_CCFILES)))) +else +ifeq (,) + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(workbench-devs-printtotool_CCFILES))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(workbench-devs-printtotool_CCFILES))) +else + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printtotool_CCFILES)))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printtotool_CCFILES)))) +endif +endif +workbench-devs-printtotool_MC_TGTWILDCARD := $(workbench-devs-printtotool_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printtotool_CCFILES)) + +# Be sure that all .c files are found +workbench-devs-printtotool_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtotool_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtotool_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtotool_MC_DIRS := $(foreach dir, $(workbench-devs-printtotool_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtotool_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtotool_MC_DIRS),) + workbench-devs-printtotool_MC_DIRS := $(shell echo $(workbench-devs-printtotool_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printtotool_MC_DIRS) +endif + +endif + +workbench-devs-printtotool_MC_CPPFLAGS := $(workbench-devs-printtotool_CPPFLAGS) +workbench-devs-printtotool_CFLAGS := $(workbench-devs-printtotool_CFLAGS) +ifeq ($(workbench-devs-printtotool_DFLAGS),) + workbench-devs-printtotool_DFLAGS := $(workbench-devs-printtotool_CFLAGS) +else + workbench-devs-printtotool_DFLAGS := $(workbench-devs-printtotool_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printtotool_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(TARGET_STRIP) +workbench-devs-printtotool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(workbench-devs-printtotool_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(workbench-devs-printtotool_DFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printtotool_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(HOST_STRIP) +workbench-devs-printtotool_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_DFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printtotool_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printtotool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_DFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtotool_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printtotool_MC_CPPFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) : CFLAGS := $(workbench-devs-printtotool_CFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) : $(workbench-devs-printtotool_MC_TGTWILDCARD).o : $(workbench-devs-printtotool_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtotool_MC_DTARGETS) : $(workbench-devs-printtotool_MC_TGTWILDCARD).d : $(workbench-devs-printtotool_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtotool_DFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-devs-printtotool_MC_SRCWILDCARD := % +else +workbench-devs-printtotool_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtotool_OBJDIR),) +workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printtotool_TARGETCCFILES)) +workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtotool_TARGETCCFILES)) +workbench-devs-printtotool_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(workbench-devs-printtotool_TARGETCCFILES)))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(workbench-devs-printtotool_TARGETCCFILES)))) +else +ifeq (,) + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(workbench-devs-printtotool_TARGETCCFILES))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(workbench-devs-printtotool_TARGETCCFILES))) +else + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printtotool_TARGETCCFILES)))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(patsubst /%,%,$(workbench-devs-printtotool_TARGETCCFILES)))) +endif +endif +workbench-devs-printtotool_MC_TGTWILDCARD := $(workbench-devs-printtotool_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printtotool_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-devs-printtotool_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtotool_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtotool_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtotool_MC_DIRS := $(foreach dir, $(workbench-devs-printtotool_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtotool_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtotool_MC_DIRS),) + workbench-devs-printtotool_MC_DIRS := $(shell echo $(workbench-devs-printtotool_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printtotool_MC_DIRS) +endif + +endif + +workbench-devs-printtotool_MC_CPPFLAGS := $(workbench-devs-printtotool_CPPFLAGS) -D__AROS__ +workbench-devs-printtotool_CFLAGS := $(workbench-devs-printtotool_CFLAGS) +ifeq ($(workbench-devs-printtotool_DFLAGS),) + workbench-devs-printtotool_DFLAGS := $(workbench-devs-printtotool_CFLAGS) +else + workbench-devs-printtotool_DFLAGS := $(workbench-devs-printtotool_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printtotool_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(TARGET_STRIP) +workbench-devs-printtotool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(workbench-devs-printtotool_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(workbench-devs-printtotool_DFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printtotool_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(HOST_STRIP) +workbench-devs-printtotool_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_DFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printtotool_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printtotool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_DFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtotool_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printtotool_MC_CPPFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) : CFLAGS := $(workbench-devs-printtotool_CFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) : $(workbench-devs-printtotool_MC_TGTWILDCARD).o : $(workbench-devs-printtotool_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtotool_MC_DTARGETS) : $(workbench-devs-printtotool_MC_TGTWILDCARD).d : $(workbench-devs-printtotool_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtotool_DFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-devs-printtotool_MC_SRCWILDCARD := % +else +workbench-devs-printtotool_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-devs-printtotool_OBJDIR)/linklib,) +workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printtotool_NLIBARCHFILES)) +workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtotool_NLIBARCHFILES)) +workbench-devs-printtotool_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtotool_NLIBARCHFILES)))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtotool_NLIBARCHFILES)))) +else +ifeq (,) + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(workbench-devs-printtotool_NLIBARCHFILES))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(workbench-devs-printtotool_NLIBARCHFILES))) +else + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-devs-printtotool_NLIBARCHFILES)))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-devs-printtotool_NLIBARCHFILES)))) +endif +endif +workbench-devs-printtotool_MC_TGTWILDCARD := $(workbench-devs-printtotool_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printtotool_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-devs-printtotool_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtotool_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtotool_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtotool_MC_DIRS := $(foreach dir, $(workbench-devs-printtotool_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtotool_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtotool_MC_DIRS),) + workbench-devs-printtotool_MC_DIRS := $(shell echo $(workbench-devs-printtotool_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printtotool_MC_DIRS) +endif + +endif + +workbench-devs-printtotool_MC_CPPFLAGS := $(workbench-devs-printtotool_LINKLIBCPPFLAGS) -D__AROS__ +workbench-devs-printtotool_CFLAGS := $(workbench-devs-printtotool_LINKLIBCFLAGS) +ifeq ($(workbench-devs-printtotool_LINKLIBDFLAGS),) + workbench-devs-printtotool_DFLAGS := $(workbench-devs-printtotool_LINKLIBCFLAGS) +else + workbench-devs-printtotool_DFLAGS := $(workbench-devs-printtotool_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printtotool_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(TARGET_STRIP) +workbench-devs-printtotool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(workbench-devs-printtotool_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(workbench-devs-printtotool_DFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printtotool_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(HOST_STRIP) +workbench-devs-printtotool_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_DFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printtotool_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printtotool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_DFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtotool_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printtotool_MC_CPPFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) : CFLAGS := $(workbench-devs-printtotool_CFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) : $(workbench-devs-printtotool_MC_TGTWILDCARD).o : $(workbench-devs-printtotool_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtotool_MC_DTARGETS) : $(workbench-devs-printtotool_MC_TGTWILDCARD).d : $(workbench-devs-printtotool_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtotool_DFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-devs-printtotool_OBJDIR)/linklib,) +workbench-devs-printtotool_MC_SRCWILDCARD := % +else +workbench-devs-printtotool_MC_SRCWILDCARD := $(workbench-devs-printtotool_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-devs-printtotool_OBJDIR)/linklib,) +workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(workbench-devs-printtotool_LINKLIBCCGENFILES)) +workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(workbench-devs-printtotool_LINKLIBCCGENFILES)) +workbench-devs-printtotool_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtotool_LINKLIBCCGENFILES)))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtotool_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-devs-printtotool_OBJDIR)/linklib,) + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(workbench-devs-printtotool_LINKLIBCCGENFILES))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(workbench-devs-printtotool_LINKLIBCCGENFILES))) +else + workbench-devs-printtotool_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(patsubst $(workbench-devs-printtotool_OBJDIR)/linklib/%,%,$(workbench-devs-printtotool_LINKLIBCCGENFILES)))) + workbench-devs-printtotool_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(patsubst $(workbench-devs-printtotool_OBJDIR)/linklib/%,%,$(workbench-devs-printtotool_LINKLIBCCGENFILES)))) +endif +endif +workbench-devs-printtotool_MC_TGTWILDCARD := $(workbench-devs-printtotool_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : | $(addsuffix .c,$(workbench-devs-printtotool_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-devs-printtotool_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtotool_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtotool_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtotool_MC_DIRS := $(foreach dir, $(workbench-devs-printtotool_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtotool_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtotool_MC_DIRS),) + workbench-devs-printtotool_MC_DIRS := $(shell echo $(workbench-devs-printtotool_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-devs-printtotool_MC_DIRS) +endif + +endif + +workbench-devs-printtotool_MC_CPPFLAGS := $(workbench-devs-printtotool_LINKLIBCPPFLAGS) -D__AROS__ +workbench-devs-printtotool_CFLAGS := $(workbench-devs-printtotool_LINKLIBCFLAGS) +ifeq ($(workbench-devs-printtotool_LINKLIBDFLAGS),) + workbench-devs-printtotool_DFLAGS := $(workbench-devs-printtotool_LINKLIBCFLAGS) +else + workbench-devs-printtotool_DFLAGS := $(workbench-devs-printtotool_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-devs-printtotool_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(TARGET_STRIP) +workbench-devs-printtotool_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(workbench-devs-printtotool_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(workbench-devs-printtotool_DFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-devs-printtotool_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(HOST_STRIP) +workbench-devs-printtotool_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-devs-printtotool_DFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(HOST_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-devs-printtotool_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-devs-printtotool_STRIP ?= $(ECHO) >/dev/null +workbench-devs-printtotool_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS) $(workbench-devs-printtotool_MC_EXTRA_CPPFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_CFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-devs-printtotool_DFLAGS)) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-devs-printtotool_MC_TARGETS) $(workbench-devs-printtotool_MC_DTARGETS) : workbench-devs-printtotool_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-devs-printtotool_MC_TARGETS) : CPPFLAGS := $(workbench-devs-printtotool_MC_CPPFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) : CFLAGS := $(workbench-devs-printtotool_CFLAGS) +$(workbench-devs-printtotool_MC_TARGETS) : $(workbench-devs-printtotool_MC_TGTWILDCARD).o : $(workbench-devs-printtotool_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-devs-printtotool_IQUOTE) $(dir $<) $(workbench-devs-printtotool_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-devs-printtotool_IQUOTE) . $(workbench-devs-printtotool_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-devs-printtotool_MC_DTARGETS) : $(workbench-devs-printtotool_MC_TGTWILDCARD).d : $(workbench-devs-printtotool_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-devs-printtotool_DFLAGS) $(workbench-devs-printtotool_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-devs-printtotool_LINKLIBAFILES),) + +ifeq ($(workbench-devs-printtotool_OBJDIR)/linklib,) +workbench-devs-printtotool-MA_TARGETS := $(addsuffix .o,$(workbench-devs-printtotool_LINKLIBAFILES) $(workbench-devs-printtotool_RELLINKLIBAFILES)) +workbench-devs-printtotool-MA_WILDCARD := % +else +workbench-devs-printtotool-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtotool_LINKLIBAFILES) $(workbench-devs-printtotool_RELLINKLIBAFILES)))) +workbench-devs-printtotool-MA_WILDCARD := $(workbench-devs-printtotool_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-devs-printtotool-MA_TARGETS) : | $(addsuffix .S,$(workbench-devs-printtotool_LINKLIBAFILES) $(workbench-devs-printtotool_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-devs-printtotool-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-devs-printtotool-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-devs-printtotool_LINKLIBAFILES) $(workbench-devs-printtotool_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-devs-printtotool-MA_DIRS := $(foreach dir, $(workbench-devs-printtotool-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-devs-printtotool-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-devs-printtotool-MA_DIRS),) + workbench-devs-printtotool-MA_DIRS := $(shell echo $(workbench-devs-printtotool-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-devs-printtotool-MA_DIRS) +endif + +endif + +workbench-devs-printtotool-MA_ASSEMBLER ?= $(workbench-devs-printtotool_ASSEMBLER) + +$(workbench-devs-printtotool-MA_TARGETS) : workbench-devs-printtotool-MA_CMD:= $(workbench-devs-printtotool-MA_ASSEMBLER) + +$(workbench-devs-printtotool-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-devs-printtotool-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-devs-printtotool-MA_TARGETS) : $(workbench-devs-printtotool-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-devs-printtotool-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-devs-printtotool-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-devs-printtotool-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-devs-printtotool_SUFFIX := device +else +workbench-devs-printtotool_SUFFIX := +endif + +ifeq (target,target) +workbench-devs-printtotool_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-devs-printtotool_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-devs-printtotool_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-devs-printtotool_SUFFIX),handler) +workbench-devs-printtotool_MODULE := $(AROSDIR)/$(workbench-devs-printtotool_MODDIR)/$(workbench-devs-printtotool_DEFNAME)-$(workbench-devs-printtotool_SUFFIX) +else +workbench-devs-printtotool_MODULE := $(AROSDIR)/$(workbench-devs-printtotool_MODDIR)/$(workbench-devs-printtotool_DEFNAME).$(workbench-devs-printtotool_SUFFIX) +endif +workbench-devs-printtotool_KOBJ := $(KOBJSDIR)/$(workbench-devs-printtotool_DEFNAME)_$(workbench-devs-printtotool_SUFFIX).o +else +workbench-devs-printtotool_MODULE := +workbench-devs-printtotool_KOBJ := +endif + +workbench-devs-printtotool-quick : workbench-devs-printtotool +workbench-devs-printtotool : $(workbench-devs-printtotool_MODULE) $(workbench-devs-printtotool_LINKLIB) $(workbench-devs-printtotool_RELLINKLIB) +ifeq (M,M) +workbench-devs-printtotool-kobj : $(workbench-devs-printtotool_KOBJ) $(workbench-devs-printtotool_LINKLIB) $(workbench-devs-printtotool_RELLINKLIB) +workbench-devs-printtotool-kobj-quick : $(workbench-devs-printtotool_KOBJ) $(workbench-devs-printtotool_LINKLIB) $(workbench-devs-printtotool_RELLINKLIB) +endif +ifeq (M,M) +workbench-devs-printtotool-linklib : $(workbench-devs-printtotool_LINKLIB) $(workbench-devs-printtotool_RELLINKLIB) +endif + +workbench-devs-printtotool_OBJS := $(addsuffix .o,$(workbench-devs-printtotool_STARTFILES)) $(workbench-devs-printtotool_ARCHOBJS) \ + $(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(workbench-devs-printtotool_C_NARCHFILES:=.o) $(workbench-devs-printtotool_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (device,handler) +workbench-devs-printtotool_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (printtotool,con) + workbench-devs-printtotool_ERR := $(notdir $(workbench-devs-printtotool_MODULE)).err +else + workbench-devs-printtotool_ERR := printtotool.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-devs-printtotool_DEFNAME)_LDFLAGS) $(workbench-devs-printtotool_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-devs-printtotool_LIBS) $($(workbench-devs-printtotool_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-devs-printtotool_MODULE) : LIB_NAMES := $(workbench-devs-printtotool_LIBS) $($(workbench-devs-printtotool_DEFNAME)_LIBS) +$(workbench-devs-printtotool_MODULE) : OBJS := $(workbench-devs-printtotool_STARTOBJS) $(workbench-devs-printtotool_OBJS) $(USER_OBJS) +$(workbench-devs-printtotool_MODULE) : ENDTAG := $(workbench-devs-printtotool_ENDOBJS) +$(workbench-devs-printtotool_MODULE) : ERR := $(workbench-devs-printtotool_ERR) +$(workbench-devs-printtotool_MODULE) : OBJDIR := $(workbench-devs-printtotool_OBJDIR) +$(workbench-devs-printtotool_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-devs-printtotool_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-devs-printtotool_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-devs-printtotool_MODULE) : $(workbench-devs-printtotool_STARTOBJS) $(workbench-devs-printtotool_OBJS) $(USER_OBJS) $(workbench-devs-printtotool_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-devs-printtotool_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-devs-printtotool_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-devs-printtotool_LC_LINKLIBNAME := $(shell echo $(workbench-devs-printtotool_LINKLIBNAME) | tr A-Z a-z) +workbench-devs-printtotool_LC_MODNAME := $(shell echo printtotool | tr A-Z a-z) +ifneq ($(workbench-devs-printtotool_LINKLIB),) + +ifeq (target,target) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(HOST_AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(KERNEL_AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)$(workbench-devs-printtotool_LIBSUFFIX).a : $(workbench-devs-printtotool_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printtotool_AR) $@ $^ + $(Q)$(workbench-devs-printtotool_RANLIB) $@ +ifneq ($(workbench-devs-printtotool_LC_MODNAME),$(workbench-devs-printtotool_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-devs-printtotool_LIBDIR)/libprinttotool$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(AR) +$(workbench-devs-printtotool_LIBDIR)/libprinttotool$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printtotool_LIBDIR)/libprinttotool$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(HOST_AR) +$(workbench-devs-printtotool_LIBDIR)/libprinttotool$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printtotool_LIBDIR)/libprinttotool$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(KERNEL_AR) +$(workbench-devs-printtotool_LIBDIR)/libprinttotool$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printtotool_LIBDIR)/libprinttotool$(workbench-devs-printtotool_LIBSUFFIX).a : $(workbench-devs-printtotool_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printtotool_AR) $@ $^ + $(Q)$(workbench-devs-printtotool_RANLIB) $@ +endif + + +ifneq ($(workbench-devs-printtotool_LINKLIB),) +$(workbench-devs-printtotool_LINKLIB) : | $(workbench-devs-printtotool_LIBDIR) +else +$(workbench-devs-printtotool_LINKLIB) :: $(workbench-devs-printtotool_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtotool_LIBDIR) + +endif + +ifneq ($(workbench-devs-printtotool_RELLINKLIB),) + +ifeq (target,target) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(HOST_AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(KERNEL_AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_LINKLIBNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : $(workbench-devs-printtotool_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printtotool_AR) $@ $^ + $(Q)$(workbench-devs-printtotool_RANLIB) $@ +ifneq ($(workbench-devs-printtotool_LC_MODNAME),$(workbench-devs-printtotool_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_DEFNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_DEFNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_DEFNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(HOST_AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_DEFNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_DEFNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_AR:=$(KERNEL_AR) +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_DEFNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : workbench-devs-printtotool_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-devs-printtotool_LIBDIR)/lib$(workbench-devs-printtotool_DEFNAME)_rel$(workbench-devs-printtotool_LIBSUFFIX).a : $(workbench-devs-printtotool_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-devs-printtotool_AR) $@ $^ + $(Q)$(workbench-devs-printtotool_RANLIB) $@ +endif + + +ifneq ($(workbench-devs-printtotool_RELLINKLIB),) +$(workbench-devs-printtotool_RELLINKLIB) : | $(workbench-devs-printtotool_LIBDIR) +else +$(workbench-devs-printtotool_RELLINKLIB) :: $(workbench-devs-printtotool_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtotool_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-devs-printtotool_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-devs-printtotool_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-devs-printtotool_SYMBOLS := $(workbench-devs-printtotool_KBASE) + +workbench-devs-printtotool_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-devs-printtotool_KOBJ_LIBS := $(filter-out $(workbench-devs-printtotool_KLIB),$(workbench-devs-printtotool_LIBS)) $(workbench-devs-printtotool_KAUTOLIB) +$(workbench-devs-printtotool_KOBJ) : LINKLIBS:=$(workbench-devs-printtotool_KOBJ_LIBS) $($(workbench-devs-printtotool_DEFNAME)_LIBS) +$(workbench-devs-printtotool_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-devs-printtotool_SYMBOLS)) +$(workbench-devs-printtotool_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-devs-printtotool_KOBJ) : $(workbench-devs-printtotool_OBJS) $(USER_OBJS) $(workbench-devs-printtotool_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-devs-printtotool_DEPS := $(addprefix $(workbench-devs-printtotool_OBJDIR)/,$(notdir $(workbench-devs-printtotool_CCFILES:=.d) $(workbench-devs-printtotool_TARGETCCFILES:=.d) $(workbench-devs-printtotool_CXXFILES:=.d))) $(addprefix $(workbench-devs-printtotool_OBJDIR)/linklib/,$(notdir $(workbench-devs-printtotool_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-devs-printtotool_DEPS),) + ifneq (workbench-devs-printtotool workbench-devs-printtotool-quick workbench-devs-printtotool-kobj workbench-devs-printtotool-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-devs-printtotool workbench-devs-printtotool-quick workbench-devs-printtotool-kobj workbench-devs-printtotool-kobj-quick),) + -include $(workbench-devs-printtotool_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-devs-printtotool_DEPS) + endif + endif +endif + +$(workbench-devs-printtotool_OBJS) $(workbench-devs-printtotool_DEPS) : | $(workbench-devs-printtotool_OBJDIR)/linklib + +ifneq ($(workbench-devs-printtotool_OBJS) $(workbench-devs-printtotool_DEPS) $(workbench-devs-printtotool_MODULE) $(workbench-devs-printtotool_KOBJ),) +$(workbench-devs-printtotool_OBJS) $(workbench-devs-printtotool_DEPS) $(workbench-devs-printtotool_MODULE) $(workbench-devs-printtotool_KOBJ) : | $(workbench-devs-printtotool_OBJDIR) $(AROSDIR)/$(workbench-devs-printtotool_MODDIR) $(KOBJSDIR) +else +$(workbench-devs-printtotool_OBJS) $(workbench-devs-printtotool_DEPS) $(workbench-devs-printtotool_MODULE) $(workbench-devs-printtotool_KOBJ) :: $(workbench-devs-printtotool_OBJDIR) $(AROSDIR)/$(workbench-devs-printtotool_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-devs-printtotool_OBJDIR) $(AROSDIR)/$(workbench-devs-printtotool_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-devs-printtotool workbench-devs-printtotool-includes workbench-devs-printtotool-quick workbench-devs-printtotool-kobj workbench-devs-printtotool-kobj-quick),) # Only for this target these deps are wanted + +workbench-devs-printtotool_DFILE_DEPS := $(workbench-devs-printtotool_LIBDEFSINC) $(workbench-devs-printtotool_DEFLIBDEFSINC) \ + $(addprefix $(workbench-devs-printtotool_INCDIR)/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) +$(workbench-devs-printtotool_DEPS) : $(workbench-devs-printtotool_DFILE_DEPS) +endif + +workbench-devs-printtotool_TOCLEAN := $(workbench-devs-printtotool_OBJS) $(workbench-devs-printtotool_DEPS) \ + $(workbench-devs-printtotool_MODULE) $(workbench-devs-printtotool_LINKLIB) $(workbench-devs-printtotool_KOBJ) \ + $(workbench-devs-printtotool_OBJDIR)/Makefile.printtotooldevice \ + $(addprefix $(workbench-devs-printtotool_OBJDIR)/include/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-devs-printtotool_INCDIR)/,$($(workbench-devs-printtotool_DEFNAME)_INCLUDES)) \ + $(workbench-devs-printtotool_OBJDIR)/printtotool_geninc $(workbench-devs-printtotool_OBJDIR)/printtotool_incs \ + $(addsuffix .c,$(workbench-devs-printtotool_LINKLIBFILES)) $(workbench-devs-printtotool_LINKLIBOBJS) $(workbench-devs-printtotool_LIBDEFSINC) \ + $(workbench-devs-printtotool_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-devs-printtotool_STARTFILES) $(workbench-devs-printtotool_ENDFILES)) \ + $(workbench-devs-printtotool_ENDOBJS) +workbench-devs-printtotool-clean : FILES := $(workbench-devs-printtotool_TOCLEAN) +workbench-devs-printtotool-clean :: + $(Q)$(ECHO) "Cleaning up for module printtotool" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-devs-printtotool_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/expansion/mmakefile b/workbench/expansion/mmakefile new file mode 100644 index 00000000000..70388581778 --- /dev/null +++ b/workbench/expansion/mmakefile @@ -0,0 +1,20 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-expansion-complete : workbench-expansion + +#MM- workbench-expansion : includes linklibs \ +#MM workbench-expansion-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) + +#MM- workbench-expansion-quick : \ +#MM workbench-expansion-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)-quick + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/AmigaPL/mmakefile b/workbench/fonts/AmigaPL/mmakefile new file mode 100644 index 00000000000..61527d5c29f --- /dev/null +++ b/workbench/fonts/AmigaPL/mmakefile @@ -0,0 +1,27 @@ +# $Id: $ + +include $(SRCDIR)/config/aros.cfg + +FONTSDIRPL := $(AROSDIR)/Storage/Fonts/AmigaPL +EXCLUDEFILES := \ + mmakefile.src \ + AmigaPL_fonts.readme + +#MM- workbench-fonts : workbench-fontsPL + + +.PHONY : workbench-fontsPL + +#MM +workbench-fontsPL : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s . -d $(FONTSDIRPL) -e $(EXCLUDEFILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/architext/mmakefile b/workbench/fonts/truetype/architext/mmakefile new file mode 100644 index 00000000000..925939547b5 --- /dev/null +++ b/workbench/fonts/truetype/architext/mmakefile @@ -0,0 +1,37 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +##MM- fonts-truetype : fonts-truetype-architext +##MM- fonts-truetype-quick : fonts-truetype-architext +#MM- fonts-truetype-architext : fonts-truetype-architext-ttf + + +fonts-truetype-architext-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-architext-ttf + +#MM +fonts-truetype-architext-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-architext-ttf_SRC)),$(fonts-truetype-architext-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-architext-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/artilla-script/mmakefile b/workbench/fonts/truetype/artilla-script/mmakefile new file mode 100644 index 00000000000..784e09fac76 --- /dev/null +++ b/workbench/fonts/truetype/artilla-script/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-artilla-script +#MM- fonts-truetype-quick : fonts-truetype-artilla-script +#MM- fonts-truetype-artilla-script : fonts-truetype-artilla-script-ttf fonts-truetype-artilla-script-amifonts + + +fonts-truetype-artilla-script-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-artilla-script-ttf + +#MM +fonts-truetype-artilla-script-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-artilla-script-ttf_SRC)),$(fonts-truetype-artilla-script-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-artilla-script-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-artilla-script-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/barlow/mmakefile b/workbench/fonts/truetype/barlow/mmakefile new file mode 100644 index 00000000000..4f5f993f9a1 --- /dev/null +++ b/workbench/fonts/truetype/barlow/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-barlow +#MM- fonts-truetype-quick : fonts-truetype-barlow +#MM- fonts-truetype-barlow : fonts-truetype-barlow-ttf fonts-truetype-barlow-amifonts + + +fonts-truetype-barlow-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-barlow-ttf + +#MM +fonts-truetype-barlow-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-barlow-ttf_SRC)),$(fonts-truetype-barlow-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-barlow-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-barlow-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/bellefair/mmakefile b/workbench/fonts/truetype/bellefair/mmakefile new file mode 100644 index 00000000000..1d2fcc5c55b --- /dev/null +++ b/workbench/fonts/truetype/bellefair/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-bellefair +#MM- fonts-truetype-quick : fonts-truetype-bellefair +#MM- fonts-truetype-bellefair : fonts-truetype-bellefair-ttf fonts-truetype-bellefair-amifonts + + +fonts-truetype-bellefair-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-bellefair-ttf + +#MM +fonts-truetype-bellefair-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-bellefair-ttf_SRC)),$(fonts-truetype-bellefair-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-bellefair-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-bellefair-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/carbon/mmakefile b/workbench/fonts/truetype/carbon/mmakefile new file mode 100644 index 00000000000..17928e3d408 --- /dev/null +++ b/workbench/fonts/truetype/carbon/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-carbon +#MM- fonts-truetype-quick : fonts-truetype-carbon +#MM- fonts-truetype-carbon : fonts-truetype-carbon-ttf fonts-truetype-carbon-amifonts + + +fonts-truetype-carbon-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-carbon-ttf + +#MM +fonts-truetype-carbon-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-carbon-ttf_SRC)),$(fonts-truetype-carbon-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-carbon-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-carbon-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/cellestial/mmakefile b/workbench/fonts/truetype/cellestial/mmakefile new file mode 100644 index 00000000000..41feb065f66 --- /dev/null +++ b/workbench/fonts/truetype/cellestial/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-cellestial +#MM- fonts-truetype-quick : fonts-truetype-cellestial +#MM- fonts-truetype-cellestial : fonts-truetype-cellestial-ttf fonts-truetype-cellestial-amifonts + + +fonts-truetype-cellestial-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-cellestial-ttf + +#MM +fonts-truetype-cellestial-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-cellestial-ttf_SRC)),$(fonts-truetype-cellestial-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-cellestial-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-cellestial-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/dustismo-roman/mmakefile b/workbench/fonts/truetype/dustismo-roman/mmakefile new file mode 100644 index 00000000000..e6e29d2e609 --- /dev/null +++ b/workbench/fonts/truetype/dustismo-roman/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-dustismo-roman +#MM- fonts-truetype-quick : fonts-truetype-dustismo-roman +#MM- fonts-truetype-dustismo-roman : fonts-truetype-dustismo-roman-ttf fonts-truetype-dustismo-roman-amifonts + + +fonts-truetype-dustismo-roman-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-dustismo-roman-ttf + +#MM +fonts-truetype-dustismo-roman-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-dustismo-roman-ttf_SRC)),$(fonts-truetype-dustismo-roman-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-dustismo-roman-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-dustismo-roman-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/good-times/mmakefile b/workbench/fonts/truetype/good-times/mmakefile new file mode 100644 index 00000000000..b9484870587 --- /dev/null +++ b/workbench/fonts/truetype/good-times/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-good-times +#MM- fonts-truetype-quick : fonts-truetype-good-times +#MM- fonts-truetype-good-times : fonts-truetype-good-times-ttf fonts-truetype-good-times-amifonts + + +fonts-truetype-good-times-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-good-times-ttf + +#MM +fonts-truetype-good-times-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-good-times-ttf_SRC)),$(fonts-truetype-good-times-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-good-times-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-good-times-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/magnificent/mmakefile b/workbench/fonts/truetype/magnificent/mmakefile new file mode 100644 index 00000000000..5428a0bd381 --- /dev/null +++ b/workbench/fonts/truetype/magnificent/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-magnificent +#MM- fonts-truetype-quick : fonts-truetype-magnificent +#MM- fonts-truetype-magnificent : fonts-truetype-magnificent-ttf fonts-truetype-magnificent-amifonts + + +fonts-truetype-magnificent-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-magnificent-ttf + +#MM +fonts-truetype-magnificent-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-magnificent-ttf_SRC)),$(fonts-truetype-magnificent-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-magnificent-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-magnificent-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/mmakefile b/workbench/fonts/truetype/mmakefile new file mode 100644 index 00000000000..762c4a0a8c4 --- /dev/null +++ b/workbench/fonts/truetype/mmakefile @@ -0,0 +1,16 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-fonts : fonts-truetype +#MM- workbench-fonts-quick : fonts-truetype-quick + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/pakenham-free/mmakefile b/workbench/fonts/truetype/pakenham-free/mmakefile new file mode 100644 index 00000000000..d2656f5b977 --- /dev/null +++ b/workbench/fonts/truetype/pakenham-free/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-pakenham-free +#MM- fonts-truetype-quick : fonts-truetype-pakenham-free +#MM- fonts-truetype-pakenham-free : fonts-truetype-pakenham-free-ttf fonts-truetype-pakenham-free-amifonts + + +fonts-truetype-pakenham-free-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-pakenham-free-ttf + +#MM +fonts-truetype-pakenham-free-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-pakenham-free-ttf_SRC)),$(fonts-truetype-pakenham-free-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-pakenham-free-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-pakenham-free-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/spectral/mmakefile b/workbench/fonts/truetype/spectral/mmakefile new file mode 100644 index 00000000000..5199664f0cb --- /dev/null +++ b/workbench/fonts/truetype/spectral/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-spectral +#MM- fonts-truetype-quick : fonts-truetype-spectral +#MM- fonts-truetype-spectral : fonts-truetype-spectral-ttf fonts-truetype-spectral-amifonts + + +fonts-truetype-spectral-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-spectral-ttf + +#MM +fonts-truetype-spectral-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-spectral-ttf_SRC)),$(fonts-truetype-spectral-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-spectral-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-spectral-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/tooneynoodle/mmakefile b/workbench/fonts/truetype/tooneynoodle/mmakefile new file mode 100644 index 00000000000..f585d96cee5 --- /dev/null +++ b/workbench/fonts/truetype/tooneynoodle/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-tooneynoodle-nf +#MM- fonts-truetype-quick : fonts-truetype-tooneynoodle-nf +#MM- fonts-truetype-tooneynoodle-nf : fonts-truetype-tooneynoodle-nf-ttf fonts-truetype-tooneynoodle-nf-amifonts + + +fonts-truetype-tooneynoodle-nf-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-tooneynoodle-nf-ttf + +#MM +fonts-truetype-tooneynoodle-nf-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-tooneynoodle-nf-ttf_SRC)),$(fonts-truetype-tooneynoodle-nf-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-tooneynoodle-nf-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-tooneynoodle-nf-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/videophreak/mmakefile b/workbench/fonts/truetype/videophreak/mmakefile new file mode 100644 index 00000000000..5750a52f35e --- /dev/null +++ b/workbench/fonts/truetype/videophreak/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-videophreak +#MM- fonts-truetype-quick : fonts-truetype-videophreak +#MM- fonts-truetype-videophreak : fonts-truetype-videophreak-ttf fonts-truetype-videophreak-amifonts + + +fonts-truetype-videophreak-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-videophreak-ttf + +#MM +fonts-truetype-videophreak-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-videophreak-ttf_SRC)),$(fonts-truetype-videophreak-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-videophreak-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-videophreak-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fonts/truetype/work-sans/mmakefile b/workbench/fonts/truetype/work-sans/mmakefile new file mode 100644 index 00000000000..1e37bf0b7ab --- /dev/null +++ b/workbench/fonts/truetype/work-sans/mmakefile @@ -0,0 +1,46 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- fonts-truetype : fonts-truetype-work-sans +#MM- fonts-truetype-quick : fonts-truetype-work-sans +#MM- fonts-truetype-work-sans : fonts-truetype-work-sans-ttf fonts-truetype-work-sans-amifonts + + +fonts-truetype-work-sans-ttf_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROSDIR)/Fonts/TrueType +else +setup :: $(AROSDIR)/Fonts/TrueType +endif + +GLOB_MKDIRS += $(AROSDIR)/Fonts/TrueType + + +.PHONY : fonts-truetype-work-sans-ttf + +#MM +fonts-truetype-work-sans-ttf : | $(AROSDIR)/Fonts/TrueType + $(foreach file, $(call WILDCARD, *.ttf), $(shell $(CP) $(addprefix $(if $(filter /%,$(fonts-truetype-work-sans-ttf_SRC)),$(fonts-truetype-work-sans-ttf_SRC),$(SRCDIR)/$(CURDIR)/$(fonts-truetype-work-sans-ttf_SRC))/, $(file)) $(addprefix $(AROSDIR)/Fonts/TrueType/, $(file)))) + + +#MM +fonts-truetype-work-sans-amifonts : + @cd $(SRCDIR)/$(CURDIR); for file in *.font *.otag; do \ + if [ ! -e "$(AROSDIR)/Fonts/$$file" ]; then \ + $(ECHO) Copying "$$file"...; \ + $(CP) "$$file" $(AROSDIR)/Fonts; \ + fi; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fs/ntfs/mmakefile b/workbench/fs/ntfs/mmakefile new file mode 100644 index 00000000000..c08c29a4a67 --- /dev/null +++ b/workbench/fs/ntfs/mmakefile @@ -0,0 +1,633 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-fs-complete : workbench-fs-ntfs + +#MM workbench-fs-ntfs : workbench-libs-uuid-includes + +USER_LDFLAGS := -static + +FILES := startup main disk cache packet ntfs ops lock direntry charset names timer notify support + +DISABLEDFILES := file + + +.PHONY : workbench-fs-ntfs + +workbench-fs-ntfs_PROGNAME := ntfs-handler +workbench-fs-ntfs_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-fs-ntfs_TARGETDIR := $(AROSDIR)/Storage +workbench-fs-ntfs_LINKER := +workbench-fs-ntfs_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-fs-ntfs_LINKER),) + workbench-fs-ntfs_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-fs-ntfs_FILES := $(FILES) + workbench-fs-ntfs_OBJCFILES := + workbench-fs-ntfs_ASMFILES := + workbench-fs-ntfs_CXXFILES := +else + workbench-fs-ntfs_FILES := $(workbench-fs-ntfs_PROGNAME) + workbench-fs-ntfs_OBJCFILES := + workbench-fs-ntfs_ASMFILES := + workbench-fs-ntfs_CXXFILES := +endif + +workbench-fs-ntfs_ARCHOBJS := $(wildcard $(workbench-fs-ntfs_OBJDIR)/arch/*.o) +workbench-fs-ntfs_ARCHFILES := $(basename $(notdir $(workbench-fs-ntfs_ARCHOBJS))) +workbench-fs-ntfs_C_NARCHFILES := $(filter-out $(workbench-fs-ntfs_ARCHFILES),$(workbench-fs-ntfs_FILES)) +workbench-fs-ntfs_CXX_NARCHFILES := $(filter-out $(workbench-fs-ntfs_ARCHFILES),$(workbench-fs-ntfs_CXXFILES)) +workbench-fs-ntfs_OBJC_NARCHFILES := $(filter-out $(workbench-fs-ntfs_ARCHFILES),$(workbench-fs-ntfs_OBJCFILES)) + +TMP_FILES := $(workbench-fs-ntfs_C_NARCHFILES) $(workbench-fs-ntfs_CXX_NARCHFILES) $(workbench-fs-ntfs_ASMFILES) $(workbench-fs-ntfs_OBJC_NARCHFILES) +workbench-fs-ntfs_OBJS := $(addsuffix .o,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-fs-ntfs_DEPS := $(addsuffix .d,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-fs-ntfs_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-fs-ntfs_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-fs-ntfs_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-fs-ntfs_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-fs-ntfs_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-fs-ntfs_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-fs-ntfs_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-fs-ntfs_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-fs-ntfs_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-fs-ntfs_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-fs-ntfs_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-fs-ntfs_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-fs-ntfs_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-fs-ntfs_LDFLAGS := +endif + +workbench-fs-ntfs_COVERAGE := no +ifeq (target,target) +ifeq (no,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-fs-ntfs_COVERAGE := yes +workbench-fs-ntfs_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-fs-ntfs_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-fs-ntfs_CFLAGS := $(strip $(workbench-fs-ntfs_COVERAGEFLAGS) $(workbench-fs-ntfs_CFLAGS)) +workbench-fs-ntfs_CXXFLAGS := $(strip $(workbench-fs-ntfs_COVERAGEFLAGS) $(workbench-fs-ntfs_CXXFLAGS)) +workbench-fs-ntfs_LIBS += $(workbench-fs-ntfs_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-fs-ntfs_FUNCINSTR := yes +workbench-fs-ntfs_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-fs-ntfs_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-fs-ntfs_CFLAGS := $(strip $(workbench-fs-ntfs_INSTRFUNCFLAGS) $(workbench-fs-ntfs_CFLAGS)) +workbench-fs-ntfs_CXXFLAGS := $(strip $(workbench-fs-ntfs_INSTRFUNCFLAGS) $(workbench-fs-ntfs_CXXFLAGS)) +workbench-fs-ntfs_LIBS += $(workbench-fs-ntfs_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-fs-ntfs_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-fs-ntfs_CFLAGS)) +workbench-fs-ntfs_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-fs-ntfs_CXXFLAGS)) +endif +endif +workbench-fs-ntfs_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-fs-ntfs_DFLAGS := +else + workbench-fs-ntfs_DFLAGS := $(workbench-fs-ntfs_CFLAGS) +endif +ifneq (,) + workbench-fs-ntfs_DXXFLAGS := +else + workbench-fs-ntfs_DXXFLAGS := $(workbench-fs-ntfs_CXXFLAGS) +endif +ifeq (target,target) +workbench-fs-ntfs_LDFLAGS := $(workbench-fs-ntfs_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-fs-ntfs_LDFLAGS := $(workbench-fs-ntfs_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-fs-ntfs_LDFLAGS := $(workbench-fs-ntfs_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-fs-ntfs_LDFLAGS += -L +endif + +#MM +workbench-fs-ntfs-quick : workbench-fs-ntfs + +#MM workbench-fs-ntfs : includes-generate-deps core-linklibs +workbench-fs-ntfs : $(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-fs-ntfs workbench-fs-ntfs-quick workbench-fs-ntfs-gz-quick),) + +workbench-fs-ntfs_CXXABSBASENAMES := $(foreach workbench-fs-ntfs_CXXBASE,$(workbench-fs-ntfs_CXX_NARCHFILES),$(if $(filter /%,$(workbench-fs-ntfs_CXXBASE)),$(workbench-fs-ntfs_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-fs-ntfs_CXXBASE)))) + +ifneq ($(workbench-fs-ntfs_CXXABSBASENAMES),) + +workbench-fs-ntfs_CXXBASENAMES := $(basename $(workbench-fs-ntfs_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-fs-ntfs_MCXX_FILES := $(strip $(foreach workbench-fs-ntfs_CXXBASE,$(workbench-fs-ntfs_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-fs-ntfs_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-fs-ntfs_EXT),$(workbench-fs-ntfs_CXXBASE))))))) + +ifeq (,) +workbench-fs-ntfs_MCXX_SRCWILDCARD := % +else +workbench-fs-ntfs_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-fs-ntfs_OBJDIR),) + workbench-fs-ntfs_CXXTARGETS := $(notdir $(workbench-fs-ntfs_CXXBASENAMES:=.o)) + workbench-fs-ntfs_CXXDTARGETS := $(notdir $(workbench-fs-ntfs_CXXBASENAMES:=.d)) + workbench-fs-ntfs_MCXX_WILDCARD := % +else + workbench-fs-ntfs_CXXTARGETS := $(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(notdir $(workbench-fs-ntfs_CXXBASENAMES:=.o))) + workbench-fs-ntfs_CXXDTARGETS := $(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(notdir $(workbench-fs-ntfs_CXXBASENAMES:=.d))) + workbench-fs-ntfs_MCXX_WILDCARD := $(workbench-fs-ntfs_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-fs-ntfs_CXXTARGETS) $(workbench-fs-ntfs_CXXDTARGETS) : | $(workbench-fs-ntfs_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-fs-ntfs_MCXX_CPPFLAGS := $(workbench-fs-ntfs_CPPFLAGS) +workbench-fs-ntfs_CXXFLAGS := $(workbench-fs-ntfs_CXXFLAGS) +ifeq ($(workbench-fs-ntfs_DXXFLAGS),) + workbench-fs-ntfs_DXXFLAGS := $(workbench-fs-ntfs_CXXFLAGS) +else + workbench-fs-ntfs_DXXFLAGS := $(workbench-fs-ntfs_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-fs-ntfs_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-fs-ntfs_STRIP ?= $(HOST_STRIP) + workbench-fs-ntfs_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-fs-ntfs_CXXCMD:=$(HOST_CXX) + workbench-fs-ntfs_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-fs-ntfs_MCXX_CPPFLAGS) $(workbench-fs-ntfs_MCXX_EXTRA_CPPFLAGS)) + workbench-fs-ntfs_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-fs-ntfs_CXXFLAGS)) + workbench-fs-ntfs_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-fs-ntfs_DXXFLAGS)) + workbench-fs-ntfs_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-fs-ntfs_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-fs-ntfs_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-fs-ntfs_STRIP ?= $(TARGET_STRIP) + workbench-fs-ntfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-fs-ntfs_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-fs-ntfs_MCXX_CPPFLAGS := $(strip $(workbench-fs-ntfs_MCXX_CPPFLAGS) $(workbench-fs-ntfs_MCXX_EXTRA_CPPFLAGS)) + workbench-fs-ntfs_CXXFLAGS := $(strip $(workbench-fs-ntfs_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-fs-ntfs_DXXFLAGS := $(workbench-fs-ntfs_DXXFLAGS) + workbench-fs-ntfs_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-fs-ntfs_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-fs-ntfs_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-fs-ntfs_STRIP ?= $(ECHO) >/dev/null + workbench-fs-ntfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-fs-ntfs_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-fs-ntfs_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-fs-ntfs_MCXX_CPPFLAGS) $(workbench-fs-ntfs_MCXX_EXTRA_CPPFLAGS)) + workbench-fs-ntfs_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-fs-ntfs_CXXFLAGS)) + workbench-fs-ntfs_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-fs-ntfs_DXXFLAGS)) + workbench-fs-ntfs_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-fs-ntfs_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-fs-ntfs_CXXCMD) $(workbench-fs-ntfs_CXXIQUOTE) $(dir $(2)) $(workbench-fs-ntfs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_CXXIQUOTE) . $(workbench-fs-ntfs_CXXIQUOTE_END) $(strip $(workbench-fs-ntfs_CXXFLAGS) $(workbench-fs-ntfs_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-fs-ntfs_CXXCMD) $(workbench-fs-ntfs_CXXIQUOTE) $(dir $(2)) $(workbench-fs-ntfs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_CXXIQUOTE) . $(workbench-fs-ntfs_CXXIQUOTE_END) $(strip $(workbench-fs-ntfs_CXXFLAGS) $(workbench-fs-ntfs_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-fs-ntfs_CXXCMD) $(workbench-fs-ntfs_CXXIQUOTE) $(dir $(2)) $(workbench-fs-ntfs_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_CXXIQUOTE) . $(workbench-fs-ntfs_CXXIQUOTE_END) $(strip $(workbench-fs-ntfs_CXXFLAGS) $(workbench-fs-ntfs_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-fs-ntfs_CXXCMD)" $(MKDEPEND) $(strip $(workbench-fs-ntfs_DXXFLAGS) $(workbench-fs-ntfs_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-fs-ntfs_OBJDIR),) + $(foreach workbench-fs-ntfs_CXXFILE,$(workbench-fs-ntfs_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-fs-ntfs_CXXFILE))),$(workbench-fs-ntfs_CXXFILE)))) +else + $(foreach workbench-fs-ntfs_CXXFILE,$(workbench-fs-ntfs_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(notdir $(basename $(workbench-fs-ntfs_CXXFILE)))),$(workbench-fs-ntfs_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-fs-ntfs_OBJC_NARCHFILES),) + +ifeq (,) +workbench-fs-ntfs_MOBJC_SRCWILDCARD := % +else +workbench-fs-ntfs_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-fs-ntfs_OBJDIR),) + workbench-fs-ntfs_MOBJC_TARGETS := $(addsuffix .o,$(workbench-fs-ntfs_OBJC_NARCHFILES)) + workbench-fs-ntfs_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-fs-ntfs_OBJC_NARCHFILES)) + workbench-fs-ntfs_MOBJC_WILDCARD := % +else + workbench-fs-ntfs_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(workbench-fs-ntfs_OBJC_NARCHFILES))) + workbench-fs-ntfs_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(workbench-fs-ntfs_OBJC_NARCHFILES))) + workbench-fs-ntfs_MOBJC_WILDCARD := $(workbench-fs-ntfs_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-fs-ntfs_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-fs-ntfs_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-fs-ntfs_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-ntfs_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-fs-ntfs_MOBJC_DIRS := $(foreach dir, $(workbench-fs-ntfs_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-ntfs_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-fs-ntfs_MOBJC_DIRS),) + workbench-fs-ntfs_MOBJC_DIRS := $(shell echo $(workbench-fs-ntfs_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-fs-ntfs_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-fs-ntfs_CC := $(TARGET_CC) +else + workbench-fs-ntfs_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-fs-ntfs_MOBJC_CPPFLAGS := $(workbench-fs-ntfs_CPPFLAGS) +workbench-fs-ntfs_OBJCFLAGS := $(workbench-fs-ntfs_CFLAGS) +workbench-fs-ntfs_OBJCFLAGS := $(workbench-fs-ntfs_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-fs-ntfs_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-fs-ntfs_OBJCFLAGS))) +ifeq ($(workbench-fs-ntfs_DFLAGS),) + workbench-fs-ntfs_OBJCDFLAGS := $(workbench-fs-ntfs_CFLAGS) +else + workbench-fs-ntfs_OBJCDFLAGS := $(workbench-fs-ntfs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-fs-ntfs_LINK ?= $(strip $(workbench-fs-ntfs_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-fs-ntfs_STRIP ?= $(TARGET_STRIP) + workbench-fs-ntfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-fs-ntfs_CC) $(TARGET_SYSROOT)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_MOBJC_CPPFLAGS:=$(strip $(workbench-fs-ntfs_MOBJC_CPPFLAGS) $(workbench-fs-ntfs_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_OBJCFLAGS:=$(strip $(workbench-fs-ntfs_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_OBJCDFLAGS:=$(workbench-fs-ntfs_OBJCDFLAGS) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-fs-ntfs_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-fs-ntfs_STRIP ?= $(HOST_STRIP) + workbench-fs-ntfs_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-fs-ntfs_MOBJC_CPPFLAGS) $(workbench-fs-ntfs_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-ntfs_OBJCFLAGS)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-ntfs_OBJCDFLAGS)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_IQUOTE:=$(HOST_IQUOTE) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-fs-ntfs_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-fs-ntfs_STRIP ?= $(ECHO) >/dev/null + workbench-fs-ntfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-fs-ntfs_MOBJC_CPPFLAGS) $(workbench-fs-ntfs_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-ntfs_OBJCFLAGS)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-ntfs_OBJCDFLAGS)) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-fs-ntfs_MOBJC_TARGETS) $(workbench-fs-ntfs_MOBJC_DTARGETS) : workbench-fs-ntfs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-fs-ntfs_MOBJC_TARGETS) : CPPFLAGS := $(workbench-fs-ntfs_MOBJC_CPPFLAGS) +$(workbench-fs-ntfs_MOBJC_TARGETS) : CFLAGS := $(workbench-fs-ntfs_OBJCFLAGS) +$(workbench-fs-ntfs_MOBJC_TARGETS) : $(workbench-fs-ntfs_MOBJC_WILDCARD).o : $(workbench-fs-ntfs_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-fs-ntfs_IQUOTE) $(dir $<) $(workbench-fs-ntfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_IQUOTE) . $(workbench-fs-ntfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-fs-ntfs_IQUOTE) $(dir $<) $(workbench-fs-ntfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_IQUOTE) . $(workbench-fs-ntfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-fs-ntfs_IQUOTE) $(dir $<) $(workbench-fs-ntfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_IQUOTE) . $(workbench-fs-ntfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-fs-ntfs_MOBJC_DTARGETS) : $(workbench-fs-ntfs_MOBJC_WILDCARD).d : $(workbench-fs-ntfs_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-fs-ntfs_OBJCDFLAGS) $(workbench-fs-ntfs_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-fs-ntfs_MC_SRCWILDCARD := % +else +workbench-fs-ntfs_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-fs-ntfs_OBJDIR),) +workbench-fs-ntfs_MC_TARGETS := $(addsuffix .o,$(workbench-fs-ntfs_C_NARCHFILES)) +workbench-fs-ntfs_MC_DTARGETS := $(addsuffix .d,$(workbench-fs-ntfs_C_NARCHFILES)) +workbench-fs-ntfs_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-fs-ntfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(notdir $(workbench-fs-ntfs_C_NARCHFILES)))) + workbench-fs-ntfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(notdir $(workbench-fs-ntfs_C_NARCHFILES)))) +else +ifeq (,) + workbench-fs-ntfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(workbench-fs-ntfs_C_NARCHFILES))) + workbench-fs-ntfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(workbench-fs-ntfs_C_NARCHFILES))) +else + workbench-fs-ntfs_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(patsubst /%,%,$(workbench-fs-ntfs_C_NARCHFILES)))) + workbench-fs-ntfs_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(patsubst /%,%,$(workbench-fs-ntfs_C_NARCHFILES)))) +endif +endif +workbench-fs-ntfs_MC_TGTWILDCARD := $(workbench-fs-ntfs_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : | $(addsuffix .c,$(workbench-fs-ntfs_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-fs-ntfs_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-fs-ntfs_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-ntfs_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-fs-ntfs_MC_DIRS := $(foreach dir, $(workbench-fs-ntfs_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-ntfs_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-fs-ntfs_MC_DIRS),) + workbench-fs-ntfs_MC_DIRS := $(shell echo $(workbench-fs-ntfs_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-fs-ntfs_MC_DIRS) +endif + +endif + +workbench-fs-ntfs_MC_CPPFLAGS := $(workbench-fs-ntfs_CPPFLAGS) +workbench-fs-ntfs_CFLAGS := $(workbench-fs-ntfs_CFLAGS) +ifeq ($(workbench-fs-ntfs_DFLAGS),) + workbench-fs-ntfs_DFLAGS := $(workbench-fs-ntfs_CFLAGS) +else + workbench-fs-ntfs_DFLAGS := $(workbench-fs-ntfs_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-fs-ntfs_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-fs-ntfs_STRIP ?= $(TARGET_STRIP) +workbench-fs-ntfs_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_MC_CPPFLAGS:=$(strip $(workbench-fs-ntfs_MC_CPPFLAGS) $(workbench-fs-ntfs_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_CFLAGS:=$(strip $(workbench-fs-ntfs_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_DFLAGS:=$(workbench-fs-ntfs_DFLAGS) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-fs-ntfs_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-fs-ntfs_STRIP ?= $(HOST_STRIP) +workbench-fs-ntfs_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-fs-ntfs_MC_CPPFLAGS) $(workbench-fs-ntfs_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-ntfs_CFLAGS)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-ntfs_DFLAGS)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_IQUOTE:=$(HOST_IQUOTE) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-fs-ntfs_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-fs-ntfs_STRIP ?= $(ECHO) >/dev/null +workbench-fs-ntfs_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-fs-ntfs_MC_CPPFLAGS) $(workbench-fs-ntfs_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-ntfs_CFLAGS)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-ntfs_DFLAGS)) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-fs-ntfs_MC_TARGETS) $(workbench-fs-ntfs_MC_DTARGETS) : workbench-fs-ntfs_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-fs-ntfs_MC_TARGETS) : CPPFLAGS := $(workbench-fs-ntfs_MC_CPPFLAGS) +$(workbench-fs-ntfs_MC_TARGETS) : CFLAGS := $(workbench-fs-ntfs_CFLAGS) +$(workbench-fs-ntfs_MC_TARGETS) : $(workbench-fs-ntfs_MC_TGTWILDCARD).o : $(workbench-fs-ntfs_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-fs-ntfs_IQUOTE) $(dir $<) $(workbench-fs-ntfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_IQUOTE) . $(workbench-fs-ntfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-fs-ntfs_IQUOTE) $(dir $<) $(workbench-fs-ntfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_IQUOTE) . $(workbench-fs-ntfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-fs-ntfs_IQUOTE) $(dir $<) $(workbench-fs-ntfs_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-ntfs_IQUOTE) . $(workbench-fs-ntfs_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-fs-ntfs_MC_DTARGETS) : $(workbench-fs-ntfs_MC_TGTWILDCARD).d : $(workbench-fs-ntfs_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-fs-ntfs_DFLAGS) $(workbench-fs-ntfs_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-fs-ntfs_OBJDIR),) +workbench-fs-ntfs-MA_TARGETS := $(addsuffix .o,$(workbench-fs-ntfs_ASMFILES)) +workbench-fs-ntfs-MA_WILDCARD := % +else +workbench-fs-ntfs-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-ntfs_OBJDIR)/,$(notdir $(workbench-fs-ntfs_ASMFILES)))) +workbench-fs-ntfs-MA_WILDCARD := $(workbench-fs-ntfs_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-fs-ntfs-MA_TARGETS) : | $(addsuffix .s,$(workbench-fs-ntfs_ASMFILES)) + +# Be sure that all .c files are found +workbench-fs-ntfs-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-fs-ntfs-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-ntfs_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-fs-ntfs-MA_DIRS := $(foreach dir, $(workbench-fs-ntfs-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-ntfs-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-fs-ntfs-MA_DIRS),) + workbench-fs-ntfs-MA_DIRS := $(shell echo $(workbench-fs-ntfs-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-fs-ntfs-MA_DIRS) +endif + +endif + +workbench-fs-ntfs-MA_ASSEMBLER ?= $(workbench-fs-ntfs_ASSEMBLER) + +$(workbench-fs-ntfs-MA_TARGETS) : workbench-fs-ntfs-MA_CMD:= $(workbench-fs-ntfs-MA_ASSEMBLER) + +$(workbench-fs-ntfs-MA_TARGETS) : CPPFLAGS := $(workbench-fs-ntfs_CPPFLAGS) +$(workbench-fs-ntfs-MA_TARGETS) : AFLAGS := $(workbench-fs-ntfs_AFLAGS) +$(workbench-fs-ntfs-MA_TARGETS) : $(workbench-fs-ntfs-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-fs-ntfs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-fs-ntfs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-fs-ntfs-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-fs-ntfs-link_EXTRA_LDFLAGS := +workbench-fs-ntfs-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-fs-ntfs-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (no,no) + workbench-fs-ntfs-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-fs-ntfs-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-fs-ntfs-link_DIRS := $(subst -L ,-L,$(strip $(workbench-fs-ntfs_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-fs-ntfs-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-fs-ntfs-link_DIRS))) +# Add trailing / +workbench-fs-ntfs-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-fs-ntfs-link_DIRS))) +# Add normal linklib path +workbench-fs-ntfs-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-fs-ntfs-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-fs-ntfs_LIBS) $(workbench-fs-ntfs-link_EXTRA_LIBS))) +ifeq (no,yes) + workbench-fs-ntfs-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-fs-ntfs-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-fs-ntfs-link_DEPLIBS := $(foreach lib,$(workbench-fs-ntfs-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-fs-ntfs-link_DIRS)))) \ +) + +$(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) : OBJDIR := $(workbench-fs-ntfs_OBJDIR) +$(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) : OBJS := $(workbench-fs-ntfs_OBJS) $(workbench-fs-ntfs_ARCHOBJS) $(USER_OBJS) +$(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) : LDFLAGS := $(strip $(workbench-fs-ntfs_LDFLAGS) $(workbench-fs-ntfs-link_EXTRA_LDFLAGS)) +$(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) : LIBS := $(addprefix -l,$(workbench-fs-ntfs_LIBS) $(workbench-fs-ntfs-link_EXTRA_LIBS) ) +$(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) : $(workbench-fs-ntfs_OBJS) $(workbench-fs-ntfs_ARCHOBJS) $(USER_OBJS) $(workbench-fs-ntfs-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-fs-ntfs_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-fs-ntfs_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-fs-ntfs_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-fs-ntfs_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-fs-ntfs_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-fs-ntfs_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-fs-ntfs_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-fs-ntfs_DEPS),) + ifneq (workbench-fs-ntfs workbench-fs-ntfs-quick,) + ifneq ($(findstring $(TARGET),workbench-fs-ntfs workbench-fs-ntfs-quick),) + -include $(workbench-fs-ntfs_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-fs-ntfs_DEPS) + endif + endif +endif + + +ifneq ($(workbench-fs-ntfs_OBJS) $(workbench-fs-ntfs_DEPS) $(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME),) +$(workbench-fs-ntfs_OBJS) $(workbench-fs-ntfs_DEPS) $(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) : | $(workbench-fs-ntfs_OBJDIR) $(workbench-fs-ntfs_TARGETDIR) +else +$(workbench-fs-ntfs_OBJS) $(workbench-fs-ntfs_DEPS) $(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) :: $(workbench-fs-ntfs_OBJDIR) $(workbench-fs-ntfs_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-fs-ntfs_OBJDIR) $(workbench-fs-ntfs_TARGETDIR) + + +workbench-fs-ntfs-clean : FILES := $(workbench-fs-ntfs_OBJS) $(workbench-fs-ntfs_TARGETDIR)/$(workbench-fs-ntfs_PROGNAME) $(workbench-fs-ntfs_DEPS) +#MM +workbench-fs-ntfs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-fs-ntfs" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/fs/port/mmakefile b/workbench/fs/port/mmakefile new file mode 100644 index 00000000000..4ae401e528d --- /dev/null +++ b/workbench/fs/port/mmakefile @@ -0,0 +1,1661 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-fs-complete : workbench-fs-port + +USER_LDFLAGS := -static + +FILES=port-handler + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-fs-port +#MM workbench-fs-port-quick +#MM workbench-fs-port-makefile +#MM workbench-fs-port-clean + +# ABI targets: +#MM- includes-all : workbench-fs-port-includes +#MM- linklibs-port: workbench-fs-port-linklib +#MM- linklibs-port_rel : workbench-fs-port-linklib +#MM- includes-port: workbench-fs-port-includes +#MM- includes-port_rel : workbench-fs-port-includes +#MM- workbench-fs-port : workbench-fs-port-includes core-linklibs linklibs- +#MM workbench-fs-port-linklib : workbench-fs-port-includes includes- +#MM- workbench-fs-port-quick : workbench-fs-port-includes-quick +#MM workbench-fs-port-includes : workbench-fs-port-makefile workbench-fs-port-includes-dirs \ +#MM includes-generate-deps workbench-fs-port-fd +#MM workbench-fs-port-includes-quick +#MM workbench-fs-port-includes-dirs +#MM workbench-fs-port-fd + +# Library targets +#MM workbench-fs-port-kobj : core-linklibs linklibs- +#MM workbench-fs-port-kobj-quick : + +# Library with ABI targets: +#MM workbench-fs-port-kobj : workbench-fs-port-includes core-linklibs linklibs- +#MM workbench-fs-port-kobj-quick : workbench-fs-port-includes-quick + +# All MetaMake targets defined by this macro +workbench-fs-port_ALLTARGETS := workbench-fs-port workbench-fs-port-quick workbench-fs-port-clean + +ifeq (M,M) +workbench-fs-port_ALLTARGETS += workbench-fs-port-kobj workbench-fs-port-kobj-quick +endif + +ifeq (M,M) +workbench-fs-port_ALLTARGETS += workbench-fs-port-includes \ + workbench-fs-port-includes-quick workbench-fs-port-includes-dirs \ + workbench-fs-port-linklib workbench-fs-port-fd +endif + +.PHONY : $(workbench-fs-port_ALLTARGETS) workbench-fs-port-makefile + +ifeq (port,) +$(error using %build_module: modname may not be empty) +endif +ifeq (handler,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-fs-port_DEFNAME := port_ +else + workbench-fs-port_DEFNAME := port +endif +workbench-fs-port_DEFLINKLIBNAME := $(workbench-fs-port_DEFNAME) +ifneq (,) + workbench-fs-port_LINKLIBNAME := +else + workbench-fs-port_LINKLIBNAME = $(workbench-fs-port_DEFLINKLIBNAME) +endif +workbench-fs-port_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-fs-port_DEFCPPFLAGS += -I +endif +workbench-fs-port_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-fs-port_DFLAGS := +else + workbench-fs-port_DFLAGS = $(workbench-fs-port_DEFDFLAGS) +endif +workbench-fs-port_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-fs-port_DXXFLAGS := +else + workbench-fs-port_DXXFLAGS = $(workbench-fs-port_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-fs-port_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-fs-port_DEFDFLAGS)) +workbench-fs-port_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-fs-port_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-fs-port_FUNCINSTR := yes +workbench-fs-port_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-fs-port_DEFDFLAGS)) +workbench-fs-port_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-fs-port_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-fs-port_OBJDIR := +else +workbench-fs-port_OBJDIR := $(OBJDIR)/$(workbench-fs-port_DEFNAME) +endif +ifneq (,) +workbench-fs-port_OBJDIR := $(workbench-fs-port_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-fs-port-makefile := $(workbench-fs-port_OBJDIR)/Makefile.$(workbench-fs-port_DEFNAME)handler +workbench-fs-port-genmakefile : $(workbench-fs-port-makefile) + + +workbench-fs-port-genmakefile_OPTS := +ifneq (,) + workbench-fs-port-genmakefile_OPTS += -f + workbench-fs-port-genmakefile_MODNAME := port_ +else + workbench-fs-port-genmakefile_MODNAME := port +endif +workbench-fs-port-genmakefile_TARGET := Makefile.$(workbench-fs-port-genmakefile_MODNAME)handler +workbench-fs-port-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-fs-port-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-fs-port-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-fs-port-genmakefile_OPTS += -c + workbench-fs-port-genmakefile_DEPS += + endif +else + workbench-fs-port-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/port.conf + workbench-fs-port-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/port.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-fs-port-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-fs-port-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-fs-port-genmakefile_OPTS += -o + workbench-fs-port-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-fs-port-genmakefile_OPTS += -s +endif +ifneq ($(workbench-fs-port_OBJDIR),) + workbench-fs-port-genmakefile_OPTS += -d $(workbench-fs-port_OBJDIR) + workbench-fs-port-genmakefile_TARGET := $(workbench-fs-port_OBJDIR)/$(workbench-fs-port-genmakefile_TARGET) +endif + +$(workbench-fs-port-genmakefile_TARGET) : OPTS := $(workbench-fs-port-genmakefile_OPTS) +$(workbench-fs-port-genmakefile_TARGET) : MODNAME := port +$(workbench-fs-port-genmakefile_TARGET) : MODTYPE := handler +$(workbench-fs-port-genmakefile_TARGET) : $(workbench-fs-port-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-fs-port-makefile),) +$(workbench-fs-port-makefile) : | $(workbench-fs-port_OBJDIR) +else +$(workbench-fs-port-makefile) :: $(workbench-fs-port_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-fs-port_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-fs-port_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-fs-port-makefile) + +workbench-fs-port_DEFMODDIR := $($(workbench-fs-port_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-fs-port_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-fs-port_DEFMODDIR) +endif +ifneq (,) + workbench-fs-port_MODDIR := +else + workbench-fs-port_MODDIR := $(workbench-fs-port_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-fs-port_INCDIR := +else +workbench-fs-port_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-fs-port_LIBDEFSINC := $(workbench-fs-port_OBJDIR)/include/$(workbench-fs-port_DEFNAME)_libdefs.h +workbench-fs-port_DEFLIBDEFSINC := $(workbench-fs-port_OBJDIR)/include/$(workbench-fs-port_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-fs-port-includes-quick : workbench-fs-port-includes +workbench-fs-port-includes : $(addprefix $(GENINCDIR)/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-fs-port_INCDIR)/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) \ + $(workbench-fs-port_LIBDEFSINC) $(workbench-fs-port_DEFLIBDEFSINC) + +ifneq ($($(workbench-fs-port_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-fs-port-includes_MODNAME := port_ +else + workbench-fs-port-includes_MODNAME := port +endif + +ifneq ($($(workbench-fs-port-includes_MODNAME)_INCLUDES),) + +workbench-fs-port-includes_TARGETS := $($(workbench-fs-port-includes_MODNAME)_INCLUDES) + +workbench-fs-port-includes_DEPS := $(GENMODULE) +workbench-fs-port-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-fs-port-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-fs-port-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-fs-port-includes_OPTS += -c + workbench-fs-port-includes_DEPS += + endif +else + workbench-fs-port-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/port.conf + workbench-fs-port-includes_DEPS += $(SRCDIR)/$(CURDIR)/port.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-fs-port-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-fs-port-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-fs-port-includes_OPTS += -o + workbench-fs-port-includes_DEPS += + endif +endif +ifneq (,) + workbench-fs-port-includes_OPTS += -s +endif +ifneq ($(workbench-fs-port_OBJDIR)/include,) + workbench-fs-port-includes_OPTS += -d $(workbench-fs-port_OBJDIR)/include + workbench-fs-port-includes_TARGETS := $(addprefix $(workbench-fs-port_OBJDIR)/include/,$(workbench-fs-port-includes_TARGETS)) + workbench-fs-port-includes_GENINCFLAG=$(workbench-fs-port_OBJDIR)/include/.port.handler-includes +else + workbench-fs-port-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.port.handler-includes +endif + +$(workbench-fs-port-includes_TARGETS) : $(workbench-fs-port-includes_DEPS) $(workbench-fs-port-includes_GENINCFLAG) + +$(workbench-fs-port-includes_GENINCFLAG) : OPTS := $(workbench-fs-port-includes_OPTS) +$(workbench-fs-port-includes_GENINCFLAG) : MODNAME := port +$(workbench-fs-port-includes_GENINCFLAG) : MODTYPE := handler +$(workbench-fs-port-includes_GENINCFLAG) : $(workbench-fs-port-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-fs-port_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) : | $(workbench-fs-port_OBJDIR)/port_geninc + +$(workbench-fs-port_OBJDIR)/port_geninc : COPYSRCDIR := $(workbench-fs-port_OBJDIR)/include +$(workbench-fs-port_OBJDIR)/port_geninc : TGTDIR := $(GENINCDIR) +$(workbench-fs-port_OBJDIR)/port_geninc : FILES := $($(workbench-fs-port_DEFNAME)_INCLUDES) +$(workbench-fs-port_OBJDIR)/port_geninc : $(addprefix $(workbench-fs-port_OBJDIR)/include/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-fs-port_OBJDIR)/include + +$(addprefix $(workbench-fs-port_INCDIR)/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) : | $(workbench-fs-port_OBJDIR)/port_incs + +$(workbench-fs-port_OBJDIR)/port_incs : COPYSRCDIR := $(workbench-fs-port_OBJDIR)/include +$(workbench-fs-port_OBJDIR)/port_incs : TGTDIR := $(workbench-fs-port_INCDIR) +$(workbench-fs-port_OBJDIR)/port_incs : FILES := $($(workbench-fs-port_DEFNAME)_INCLUDES) +$(workbench-fs-port_OBJDIR)/port_incs : $(addprefix $(workbench-fs-port_OBJDIR)/include/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-fs-port_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-fs-port_DEFNAME)_INCLUDES)))) + +TMPport_INCDIRS := \ + $(workbench-fs-port_OBJDIR)/include $(addprefix $(workbench-fs-port_OBJDIR)/include/,$(workbench-fs-port_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-fs-port_INCDIRS)) \ + $(workbench-fs-port_INCDIR) $(addprefix $(workbench-fs-port_INCDIR)/,$(workbench-fs-port_INCDIRS)) + +ifneq (workbench-fs-port-includes-dirs,) +workbench-fs-port-includes-dirs : | $(TMPport_INCDIRS) +else +workbench-fs-port-includes-dirs :: $(TMPport_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPport_INCDIRS) + + +endif + +endif + + +workbench-fs-port-genlibdefs_OPTS := +ifneq (,) + workbench-fs-port-genlibdefs_OPTS += -f + workbench-fs-port-genlibdefs_MODNAME := port_ +else + workbench-fs-port-genlibdefs_MODNAME := port +endif +workbench-fs-port-genlibdefs_TARGET := $(workbench-fs-port-genlibdefs_MODNAME)_libdefs.h +workbench-fs-port-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-fs-port-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-fs-port-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-fs-port-genlibdefs_OPTS += -c + workbench-fs-port-genlibdefs_DEPS += + endif +else + workbench-fs-port-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/port.conf + workbench-fs-port-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/port.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-fs-port-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-fs-port-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-fs-port-genlibdefs_OPTS += -o + workbench-fs-port-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-fs-port-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-fs-port_OBJDIR)/include,) + workbench-fs-port-genlibdefs_OPTS += -d $(workbench-fs-port_OBJDIR)/include + workbench-fs-port-genlibdefs_TARGET := $(workbench-fs-port_OBJDIR)/include/$(workbench-fs-port-genlibdefs_TARGET) +endif +ifneq (,) + workbench-fs-port-genlibdefs_OPTS += -v +endif + +$(workbench-fs-port-genlibdefs_TARGET) : OPTS := $(workbench-fs-port-genlibdefs_OPTS) +$(workbench-fs-port-genlibdefs_TARGET) : MODNAME := port +$(workbench-fs-port-genlibdefs_TARGET) : MODTYPE := handler +$(workbench-fs-port-genlibdefs_TARGET) : $(workbench-fs-port-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-fs-port_DEFLIBDEFSINC) : FILENAME := $(workbench-fs-port_LIBDEFSINC) +$(workbench-fs-port_DEFLIBDEFSINC) : $(workbench-fs-port_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-fs-port_LIBDEFSINC) $(workbench-fs-port_DEFLIBDEFSINC) : | $(workbench-fs-port_OBJDIR)/include + +ifneq (workbench-fs-port-includes-dirs,) +workbench-fs-port-includes-dirs : | $(workbench-fs-port_OBJDIR)/include +else +workbench-fs-port-includes-dirs :: $(workbench-fs-port_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-fs-port_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-fs-port-genmodfiles_OPTS := +ifneq (,) + workbench-fs-port-genmodfiles_OPTS += -f + workbench-fs-port-genmodfiles_MODNAME := port_ +else + workbench-fs-port-genmodfiles_MODNAME := port +endif +workbench-fs-port-genmodfiles_GENTARGETS := $($(workbench-fs-port-genmodfiles_MODNAME)_STARTFILES) $($(workbench-fs-port-genmodfiles_MODNAME)_ENDFILES) +workbench-fs-port-genmodfiles_STUBTARGETS := $($(workbench-fs-port-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-fs-port-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-fs-port-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-fs-port-genmodfiles_GENTARGETS)) +workbench-fs-port-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-fs-port-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-fs-port-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-fs-port-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-fs-port-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-fs-port-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-fs-port-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-fs-port-genmodfiles_OPTS += -c + workbench-fs-port-genmodfiles_DEPS += + endif +else + workbench-fs-port-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/port.conf + workbench-fs-port-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/port.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-fs-port-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-fs-port-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-fs-port-genmodfiles_OPTS += -o + workbench-fs-port-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-fs-port-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-fs-port_OBJDIR),) + workbench-fs-port-genmodfiles_OPTS += -d $(workbench-fs-port_OBJDIR) + workbench-fs-port-genmodfiles_TARGETDIR := $(shell echo $(workbench-fs-port_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-fs-port-genmodfiles_GENTARGETS := $(addprefix $(workbench-fs-port-genmodfiles_TARGETDIR)/,$(workbench-fs-port-genmodfiles_GENTARGETS)) + workbench-fs-port-genmodfiles_GENFILEFLAG=$(workbench-fs-port-genmodfiles_TARGETDIR)/.port.handler-genfiles +else + workbench-fs-port-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.port.handler-genfiles +endif +ifneq ($(workbench-fs-port_OBJDIR)/linklib,) + workbench-fs-port-genmodfiles_OPTS += -l $(workbench-fs-port_OBJDIR)/linklib + workbench-fs-port-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-fs-port_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-fs-port-genmodfiles_STUBTARGETS := $(addprefix $(workbench-fs-port-genmodfiles_STUBTARGETDIR)/,$(workbench-fs-port-genmodfiles_STUBTARGETS)) + workbench-fs-port-genmodfiles_TARGETDIRS += $(workbench-fs-port_OBJDIR)/linklib +else +ifneq ($(workbench-fs-port_OBJDIR),) + workbench-fs-port-genmodfiles_STUBTARGETS := $(addprefix $(workbench-fs-port-genmodfiles_TARGETDIR)/,$(workbench-fs-port-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-fs-port-genmodfiles_TARGETS := $(workbench-fs-port-genmodfiles_GENTARGETS) $(workbench-fs-port-genmodfiles_STUBTARGETS) +ifneq ($(workbench-fs-port-genmodfiles_TARGETDIRS),) +$(workbench-fs-port-genmodfiles_TARGETS) : | $(workbench-fs-port-genmodfiles_TARGETDIRS) +endif + +$(workbench-fs-port-genmodfiles_TARGETS) : $(workbench-fs-port-genmodfiles_DEPS) $(workbench-fs-port-genmodfiles_GENFILEFLAG) + +$(workbench-fs-port-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-fs-port-genmodfiles_OPTS) +$(workbench-fs-port-genmodfiles_GENFILEFLAG) : MODNAME := port +$(workbench-fs-port-genmodfiles_GENFILEFLAG) : MODTYPE := handler +$(workbench-fs-port-genmodfiles_GENFILEFLAG) : $(workbench-fs-port-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-fs-port-genmodfiles_GENFILEFLAG) : $(workbench-fs-port_DEFLIBDEFSINC) $(workbench-fs-port-makefile) + + +ifneq ($(workbench-fs-port-genmodfiles_GENFILEFLAG),) +$(workbench-fs-port-genmodfiles_GENFILEFLAG) : | $(workbench-fs-port_OBJDIR)/linklib +else +$(workbench-fs-port-genmodfiles_GENFILEFLAG) :: $(workbench-fs-port_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-fs-port_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-fs-port_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-fs-port_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-fs-port-fd : $(workbench-fs-port_FDDIR)/port_lib.fd + + +TMP_TARGET := port_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/port.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/port.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-fs-port_FDDIR),) + TMP_OPTS += -d $(workbench-fs-port_FDDIR) + TMP_TARGET := $(workbench-fs-port_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := port +$(TMP_TARGET) : MODTYPE := handler +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-fs-port_FDDIR)/port_lib.fd : | $(workbench-fs-port_FDDIR) + + +ifneq (workbench-fs-port-fd-setup,) +workbench-fs-port-fd-setup : | $(workbench-fs-port_FDDIR) +else +workbench-fs-port-fd-setup :: $(workbench-fs-port_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-fs-port_FDDIR) + +endif + +## Compilation +## +workbench-fs-port_FILES := $(FILES) +workbench-fs-port_OBJCFILES := +workbench-fs-port_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-fs-port_LIBFILES := +workbench-fs-port_LIBS := + +workbench-fs-port_FDIRS := $(sort $(dir $(workbench-fs-port_FILES))) + +workbench-fs-port_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-fs-port_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-fs-port_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-fs-port_FILTERARCH = $(filter-out $(call workbench-fs-port_MATCHARCH,$(1),$(2)),$(2)) +workbench-fs-port_STARTFILES := $(addprefix $(workbench-fs-port_OBJDIR)/,$($(workbench-fs-port_DEFNAME)_STARTFILES)) +workbench-fs-port_ENDFILES := $(addprefix $(workbench-fs-port_OBJDIR)/,$($(workbench-fs-port_DEFNAME)_ENDFILES)) + +workbench-fs-port_ARCHOBJS := $(wildcard $(workbench-fs-port_OBJDIR)/arch/*.o) +workbench-fs-port_LIBARCHOBJS := $(wildcard $(workbench-fs-port_OBJDIR)/linklib/arch/*.o) +workbench-fs-port_ARCHFILES := $(basename $(notdir $(workbench-fs-port_ARCHOBJS))) +workbench-fs-port_LIBARCHFILES := $(basename $(notdir $(workbench-fs-port_LIBARCHOBJS))) +workbench-fs-port_C_NARCHFILES := $(call workbench-fs-port_FILTERARCH,$(workbench-fs-port_ARCHFILES),$(workbench-fs-port_FILES)) +workbench-fs-port_CXX_NARCHFILES := $(call workbench-fs-port_FILTERARCH,$(workbench-fs-port_ARCHFILES),$(workbench-fs-port_CXXFILES)) +workbench-fs-port_OBJC_NARCHFILES := $(call workbench-fs-port_FILTERARCH,$(workbench-fs-port_ARCHFILES),$(workbench-fs-port_OBJCFILES)) +workbench-fs-port_NLIBARCHFILES := $(call workbench-fs-port_FILTERARCH,$(workbench-fs-port_LIBARCHFILES),$(workbench-fs-port_LIBFILES)) +workbench-fs-port_ARCHNLIBFILES := $(call workbench-fs-port_FILTERARCH,$(workbench-fs-port_LIBFILES),$(workbench-fs-port_LIBARCHFILES)) + +workbench-fs-port_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-fs-port_OBJDIR)/include -include $(workbench-fs-port_DEFLIBDEFSINC)) +ifneq (,) +workbench-fs-port_CPPFLAGS += -I +endif +workbench-fs-port_LINKLIBCPPFLAGS := $(workbench-fs-port_CPPFLAGS) +workbench-fs-port_CPPFLAGS += $(strip $($(workbench-fs-port_DEFNAME)_CPPFLAGS)) +workbench-fs-port_LINKLIBCPPFLAGS += $(strip $($(workbench-fs-port_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-fs-port_CFLAGS := $(strip $(CFLAGS) $($(workbench-fs-port_DEFNAME)_CFLAGS)) +workbench-fs-port_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-fs-port_DEFNAME)_LINKLIBCFLAGS)) +workbench-fs-port_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-fs-port_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-fs-port_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-fs-port_CFLAGS := $(strip $(workbench-fs-port_LTOFLAGS) $(workbench-fs-port_CFLAGS)) +workbench-fs-port_LINKLIBCFLAGS := $(strip $(workbench-fs-port_LTOFLAGS) $(workbench-fs-port_LINKLIBCFLAGS)) +workbench-fs-port_CXXFLAGS := $(strip $(workbench-fs-port_LTOFLAGS) $(workbench-fs-port_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-fs-port_SUBSTNULL := +workbench-fs-port_SUBSTSPACE := $(workbench-fs-port_SUBSTNULL) # +workbench-fs-port_SUBSTCOMMA := , +workbench-fs-port_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-fs-port_SUBSTSPACE),$(workbench-fs-port_SUBSTCOMMA),$(strip $($(workbench-fs-port_DEFNAME)_STARTFILES)))) +workbench-fs-port_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-fs-port_CFLAGS := $(strip $(workbench-fs-port_INSTRFUNCFLAGS) $(workbench-fs-port_CFLAGS)) +workbench-fs-port_CXXFLAGS := $(strip $(workbench-fs-port_INSTRFUNCFLAGS) $(workbench-fs-port_CXXFLAGS)) +workbench-fs-port_LIBS += $(workbench-fs-port_INSTRFUNCLIBS) +endif +endif +workbench-fs-port_DFLAGS := $(strip $(workbench-fs-port_DFLAGS) $($(workbench-fs-port_DEFNAME)_DFLAGS)) +workbench-fs-port_LINKLIBDFLAGS := $(strip $(workbench-fs-port_DFLAGS) $($(workbench-fs-port_DEFNAME)_LINKLIBDFLAGS)) +workbench-fs-port_DXXFLAGS := $(strip $(workbench-fs-port_DXXFLAGS) $($(workbench-fs-port_DEFNAME)_DXXFLAGS)) + +ifeq (handler,library) + workbench-fs-port_LIBSUFFIX := +else + workbench-fs-port_LIBSUFFIX := .handler +endif + +ifeq (,) +workbench-fs-port_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-fs-port_LIBDIR := +endif + +ifeq (M,M) +workbench-fs-port_LINKLIBCFILES := $(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$($(workbench-fs-port_DEFNAME)_LINKLIBFILES)) +workbench-fs-port_LINKLIBAFILES := $(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$($(workbench-fs-port_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-fs-port_DEFNAME)_LINKLIBFILES) $($(workbench-fs-port_DEFNAME)_LINKLIBAFILES) $(workbench-fs-port_ARCHNLIBFILES)),) + workbench-fs-port_LINKLIB := +else + workbench-fs-port_LINKLIB := $(workbench-fs-port_LIBDIR)/libport$(workbench-fs-port_LIBSUFFIX).a + ifneq (port,$(workbench-fs-port_LINKLIBNAME)) + workbench-fs-port_LINKLIB += $(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)$(workbench-fs-port_LIBSUFFIX).a + endif +endif +workbench-fs-port_LINKLIBFILES := $(workbench-fs-port_LINKLIBCFILES) $(workbench-fs-port_LINKLIBAFILES) + +workbench-fs-port_RELLINKLIBCFILES := $(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$($(workbench-fs-port_DEFNAME)_RELLINKLIBFILES)) +workbench-fs-port_RELLINKLIBAFILES := $(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$($(workbench-fs-port_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-fs-port_DEFNAME)_RELLINKLIBFILES) $($(workbench-fs-port_DEFNAME)_RELLINKLIBAFILES) $(workbench-fs-port_ARCHNLIBFILES)),) + workbench-fs-port_RELLINKLIB := +else + workbench-fs-port_RELLINKLIB := $(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_DEFNAME)_rel$(workbench-fs-port_LIBSUFFIX).a + ifneq (port,$(workbench-fs-port_LINKLIBNAME)) + workbench-fs-port_RELLINKLIB += $(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)_rel$(workbench-fs-port_LIBSUFFIX).a + endif +endif +workbench-fs-port_RELLINKLIBFILES := $(workbench-fs-port_RELLINKLIBCFILES) $(workbench-fs-port_RELLINKLIBAFILES) +endif + +workbench-fs-port_ENDOBJS := $(addsuffix .o,$(workbench-fs-port_ENDFILES)) +workbench-fs-port_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(notdir $(workbench-fs-port_NLIBARCHFILES))) $(addprefix $(workbench-fs-port_OBJDIR)/linklib/arch/,$(notdir $(workbench-fs-port_ARCHNLIBFILES))) $(workbench-fs-port_LINKLIBFILES)) \ + +workbench-fs-port_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(notdir $(workbench-fs-port_NLIBARCHFILES))) $(addprefix $(workbench-fs-port_OBJDIR)/linklib/arch/,$(notdir $(workbench-fs-port_ARCHNLIBFILES))) $(workbench-fs-port_RELLINKLIBFILES)) \ + +$(workbench-fs-port_LINKLIBFILES) $(workbench-fs-port_RELLINKLIBFILES) : | $(workbench-fs-port_OBJDIR)/linklib +$(workbench-fs-port_LINKLIBOBJS) $(workbench-fs-port_RELLINKLIBOBJS) : | $(workbench-fs-port_OBJDIR)/linklib + +workbench-fs-port_CCFILES := $(workbench-fs-port_C_NARCHFILES) +workbench-fs-port_TARGETCCFILES := $(strip $(workbench-fs-port_STARTFILES) $(workbench-fs-port_ENDFILES)) +workbench-fs-port_LINKLIBCCFILES := $(strip $(workbench-fs-port_NLIBARCHFILES) $(workbench-fs-port_LINKLIBCFILES) $(workbench-fs-port_RELLINKLIBCFILES)) +workbench-fs-port_LINKLIBCCGENFILES := $(strip $(workbench-fs-port_LINKLIBCFILES) $(workbench-fs-port_RELLINKLIBCFILES)) + + +workbench-fs-port_CXXABSBASENAMES := $(foreach workbench-fs-port_CXXBASE,$(workbench-fs-port_CXX_NARCHFILES),$(if $(filter /%,$(workbench-fs-port_CXXBASE)),$(workbench-fs-port_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-fs-port_CXXBASE)))) + +ifneq ($(workbench-fs-port_CXXABSBASENAMES),) + +workbench-fs-port_CXXBASENAMES := $(basename $(workbench-fs-port_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-fs-port_MCXX_FILES := $(strip $(foreach workbench-fs-port_CXXBASE,$(workbench-fs-port_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-fs-port_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-fs-port_EXT),$(workbench-fs-port_CXXBASE))))))) + +ifeq (,) +workbench-fs-port_MCXX_SRCWILDCARD := % +else +workbench-fs-port_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-fs-port_OBJDIR),) + workbench-fs-port_CXXTARGETS := $(notdir $(workbench-fs-port_CXXBASENAMES:=.o)) + workbench-fs-port_CXXDTARGETS := $(notdir $(workbench-fs-port_CXXBASENAMES:=.d)) + workbench-fs-port_MCXX_WILDCARD := % +else + workbench-fs-port_CXXTARGETS := $(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(workbench-fs-port_CXXBASENAMES:=.o))) + workbench-fs-port_CXXDTARGETS := $(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(workbench-fs-port_CXXBASENAMES:=.d))) + workbench-fs-port_MCXX_WILDCARD := $(workbench-fs-port_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-fs-port_CXXTARGETS) $(workbench-fs-port_CXXDTARGETS) : | $(workbench-fs-port_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-fs-port_MCXX_CPPFLAGS := $(workbench-fs-port_CPPFLAGS) +workbench-fs-port_CXXFLAGS := $(workbench-fs-port_CXXFLAGS) +ifeq ($(workbench-fs-port_DXXFLAGS),) + workbench-fs-port_DXXFLAGS := $(workbench-fs-port_CXXFLAGS) +else + workbench-fs-port_DXXFLAGS := $(workbench-fs-port_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-fs-port_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-fs-port_STRIP ?= $(HOST_STRIP) + workbench-fs-port_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-fs-port_CXXCMD:=$(HOST_CXX) + workbench-fs-port_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-fs-port_MCXX_CPPFLAGS) $(workbench-fs-port_MCXX_EXTRA_CPPFLAGS)) + workbench-fs-port_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-fs-port_CXXFLAGS)) + workbench-fs-port_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-fs-port_DXXFLAGS)) + workbench-fs-port_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-fs-port_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-fs-port_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-fs-port_STRIP ?= $(TARGET_STRIP) + workbench-fs-port_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-fs-port_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-fs-port_MCXX_CPPFLAGS := $(strip $(workbench-fs-port_MCXX_CPPFLAGS) $(workbench-fs-port_MCXX_EXTRA_CPPFLAGS)) + workbench-fs-port_CXXFLAGS := $(strip $(workbench-fs-port_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-fs-port_DXXFLAGS := $(workbench-fs-port_DXXFLAGS) + workbench-fs-port_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-fs-port_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-fs-port_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-fs-port_STRIP ?= $(ECHO) >/dev/null + workbench-fs-port_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-fs-port_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-fs-port_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-fs-port_MCXX_CPPFLAGS) $(workbench-fs-port_MCXX_EXTRA_CPPFLAGS)) + workbench-fs-port_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-fs-port_CXXFLAGS)) + workbench-fs-port_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-fs-port_DXXFLAGS)) + workbench-fs-port_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-fs-port_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-fs-port_CXXCMD) $(workbench-fs-port_CXXIQUOTE) $(dir $(2)) $(workbench-fs-port_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_CXXIQUOTE) . $(workbench-fs-port_CXXIQUOTE_END) $(strip $(workbench-fs-port_CXXFLAGS) $(workbench-fs-port_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-fs-port_CXXCMD) $(workbench-fs-port_CXXIQUOTE) $(dir $(2)) $(workbench-fs-port_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_CXXIQUOTE) . $(workbench-fs-port_CXXIQUOTE_END) $(strip $(workbench-fs-port_CXXFLAGS) $(workbench-fs-port_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-fs-port_CXXCMD) $(workbench-fs-port_CXXIQUOTE) $(dir $(2)) $(workbench-fs-port_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_CXXIQUOTE) . $(workbench-fs-port_CXXIQUOTE_END) $(strip $(workbench-fs-port_CXXFLAGS) $(workbench-fs-port_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-fs-port_CXXCMD)" $(MKDEPEND) $(strip $(workbench-fs-port_DXXFLAGS) $(workbench-fs-port_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-fs-port_OBJDIR),) + $(foreach workbench-fs-port_CXXFILE,$(workbench-fs-port_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-fs-port_CXXFILE))),$(workbench-fs-port_CXXFILE)))) +else + $(foreach workbench-fs-port_CXXFILE,$(workbench-fs-port_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(basename $(workbench-fs-port_CXXFILE)))),$(workbench-fs-port_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-fs-port_OBJC_NARCHFILES),) + +ifeq (,) +workbench-fs-port_MOBJC_SRCWILDCARD := % +else +workbench-fs-port_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-fs-port_OBJDIR),) + workbench-fs-port_MOBJC_TARGETS := $(addsuffix .o,$(workbench-fs-port_OBJC_NARCHFILES)) + workbench-fs-port_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-fs-port_OBJC_NARCHFILES)) + workbench-fs-port_MOBJC_WILDCARD := % +else + workbench-fs-port_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/,$(workbench-fs-port_OBJC_NARCHFILES))) + workbench-fs-port_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/,$(workbench-fs-port_OBJC_NARCHFILES))) + workbench-fs-port_MOBJC_WILDCARD := $(workbench-fs-port_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-fs-port_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-fs-port_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-fs-port_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-port_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-fs-port_MOBJC_DIRS := $(foreach dir, $(workbench-fs-port_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-port_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-fs-port_MOBJC_DIRS),) + workbench-fs-port_MOBJC_DIRS := $(shell echo $(workbench-fs-port_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-fs-port_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-fs-port_CC := $(TARGET_CC) +else + workbench-fs-port_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-fs-port_MOBJC_CPPFLAGS := $(workbench-fs-port_CPPFLAGS) +workbench-fs-port_OBJCFLAGS := $(workbench-fs-port_CFLAGS) +workbench-fs-port_OBJCFLAGS := $(workbench-fs-port_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-fs-port_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-fs-port_OBJCFLAGS))) +ifeq ($(workbench-fs-port_DFLAGS),) + workbench-fs-port_OBJCDFLAGS := $(workbench-fs-port_CFLAGS) +else + workbench-fs-port_OBJCDFLAGS := $(workbench-fs-port_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-fs-port_LINK ?= $(strip $(workbench-fs-port_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-fs-port_STRIP ?= $(TARGET_STRIP) + workbench-fs-port_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-fs-port_CC) $(TARGET_SYSROOT)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_MOBJC_CPPFLAGS:=$(strip $(workbench-fs-port_MOBJC_CPPFLAGS) $(workbench-fs-port_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_OBJCFLAGS:=$(strip $(workbench-fs-port_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_OBJCDFLAGS:=$(workbench-fs-port_OBJCDFLAGS) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-fs-port_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-fs-port_STRIP ?= $(HOST_STRIP) + workbench-fs-port_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-fs-port_MOBJC_CPPFLAGS) $(workbench-fs-port_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_OBJCFLAGS)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_OBJCDFLAGS)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_IQUOTE:=$(HOST_IQUOTE) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-fs-port_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-fs-port_STRIP ?= $(ECHO) >/dev/null + workbench-fs-port_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-fs-port_MOBJC_CPPFLAGS) $(workbench-fs-port_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_OBJCFLAGS)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_OBJCDFLAGS)) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-fs-port_MOBJC_TARGETS) $(workbench-fs-port_MOBJC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-fs-port_MOBJC_TARGETS) : CPPFLAGS := $(workbench-fs-port_MOBJC_CPPFLAGS) +$(workbench-fs-port_MOBJC_TARGETS) : CFLAGS := $(workbench-fs-port_OBJCFLAGS) +$(workbench-fs-port_MOBJC_TARGETS) : $(workbench-fs-port_MOBJC_WILDCARD).o : $(workbench-fs-port_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-fs-port_MOBJC_DTARGETS) : $(workbench-fs-port_MOBJC_WILDCARD).d : $(workbench-fs-port_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-fs-port_OBJCDFLAGS) $(workbench-fs-port_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-fs-port_MC_SRCWILDCARD := % +else +workbench-fs-port_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-fs-port_OBJDIR),) +workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(workbench-fs-port_CCFILES)) +workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(workbench-fs-port_CCFILES)) +workbench-fs-port_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(workbench-fs-port_CCFILES)))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(workbench-fs-port_CCFILES)))) +else +ifeq (,) + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/,$(workbench-fs-port_CCFILES))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/,$(workbench-fs-port_CCFILES))) +else + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/,$(patsubst /%,%,$(workbench-fs-port_CCFILES)))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/,$(patsubst /%,%,$(workbench-fs-port_CCFILES)))) +endif +endif +workbench-fs-port_MC_TGTWILDCARD := $(workbench-fs-port_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : | $(addsuffix .c,$(workbench-fs-port_CCFILES)) + +# Be sure that all .c files are found +workbench-fs-port_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-fs-port_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-port_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-fs-port_MC_DIRS := $(foreach dir, $(workbench-fs-port_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-port_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-fs-port_MC_DIRS),) + workbench-fs-port_MC_DIRS := $(shell echo $(workbench-fs-port_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-fs-port_MC_DIRS) +endif + +endif + +workbench-fs-port_MC_CPPFLAGS := $(workbench-fs-port_CPPFLAGS) +workbench-fs-port_CFLAGS := $(workbench-fs-port_CFLAGS) +ifeq ($(workbench-fs-port_DFLAGS),) + workbench-fs-port_DFLAGS := $(workbench-fs-port_CFLAGS) +else + workbench-fs-port_DFLAGS := $(workbench-fs-port_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-fs-port_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-fs-port_STRIP ?= $(TARGET_STRIP) +workbench-fs-port_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(workbench-fs-port_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(workbench-fs-port_DFLAGS) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-fs-port_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-fs-port_STRIP ?= $(HOST_STRIP) +workbench-fs-port_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_DFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(HOST_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-fs-port_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-fs-port_STRIP ?= $(ECHO) >/dev/null +workbench-fs-port_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_DFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-fs-port_MC_TARGETS) : CPPFLAGS := $(workbench-fs-port_MC_CPPFLAGS) +$(workbench-fs-port_MC_TARGETS) : CFLAGS := $(workbench-fs-port_CFLAGS) +$(workbench-fs-port_MC_TARGETS) : $(workbench-fs-port_MC_TGTWILDCARD).o : $(workbench-fs-port_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-fs-port_MC_DTARGETS) : $(workbench-fs-port_MC_TGTWILDCARD).d : $(workbench-fs-port_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-fs-port_DFLAGS) $(workbench-fs-port_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-fs-port_MC_SRCWILDCARD := % +else +workbench-fs-port_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-fs-port_OBJDIR),) +workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(workbench-fs-port_TARGETCCFILES)) +workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(workbench-fs-port_TARGETCCFILES)) +workbench-fs-port_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(workbench-fs-port_TARGETCCFILES)))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(workbench-fs-port_TARGETCCFILES)))) +else +ifeq (,) + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/,$(workbench-fs-port_TARGETCCFILES))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/,$(workbench-fs-port_TARGETCCFILES))) +else + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/,$(patsubst /%,%,$(workbench-fs-port_TARGETCCFILES)))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/,$(patsubst /%,%,$(workbench-fs-port_TARGETCCFILES)))) +endif +endif +workbench-fs-port_MC_TGTWILDCARD := $(workbench-fs-port_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : | $(addsuffix .c,$(workbench-fs-port_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-fs-port_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-fs-port_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-port_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-fs-port_MC_DIRS := $(foreach dir, $(workbench-fs-port_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-port_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-fs-port_MC_DIRS),) + workbench-fs-port_MC_DIRS := $(shell echo $(workbench-fs-port_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-fs-port_MC_DIRS) +endif + +endif + +workbench-fs-port_MC_CPPFLAGS := $(workbench-fs-port_CPPFLAGS) -D__AROS__ +workbench-fs-port_CFLAGS := $(workbench-fs-port_CFLAGS) +ifeq ($(workbench-fs-port_DFLAGS),) + workbench-fs-port_DFLAGS := $(workbench-fs-port_CFLAGS) +else + workbench-fs-port_DFLAGS := $(workbench-fs-port_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-fs-port_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-fs-port_STRIP ?= $(TARGET_STRIP) +workbench-fs-port_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(workbench-fs-port_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(workbench-fs-port_DFLAGS) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-fs-port_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-fs-port_STRIP ?= $(HOST_STRIP) +workbench-fs-port_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_DFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(HOST_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-fs-port_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-fs-port_STRIP ?= $(ECHO) >/dev/null +workbench-fs-port_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_DFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-fs-port_MC_TARGETS) : CPPFLAGS := $(workbench-fs-port_MC_CPPFLAGS) +$(workbench-fs-port_MC_TARGETS) : CFLAGS := $(workbench-fs-port_CFLAGS) +$(workbench-fs-port_MC_TARGETS) : $(workbench-fs-port_MC_TGTWILDCARD).o : $(workbench-fs-port_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-fs-port_MC_DTARGETS) : $(workbench-fs-port_MC_TGTWILDCARD).d : $(workbench-fs-port_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-fs-port_DFLAGS) $(workbench-fs-port_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-fs-port_MC_SRCWILDCARD := % +else +workbench-fs-port_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-fs-port_OBJDIR)/linklib,) +workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(workbench-fs-port_NLIBARCHFILES)) +workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(workbench-fs-port_NLIBARCHFILES)) +workbench-fs-port_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(notdir $(workbench-fs-port_NLIBARCHFILES)))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(notdir $(workbench-fs-port_NLIBARCHFILES)))) +else +ifeq (,) + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(workbench-fs-port_NLIBARCHFILES))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(workbench-fs-port_NLIBARCHFILES))) +else + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-fs-port_NLIBARCHFILES)))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-fs-port_NLIBARCHFILES)))) +endif +endif +workbench-fs-port_MC_TGTWILDCARD := $(workbench-fs-port_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : | $(addsuffix .c,$(workbench-fs-port_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-fs-port_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-fs-port_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-port_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-fs-port_MC_DIRS := $(foreach dir, $(workbench-fs-port_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-port_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-fs-port_MC_DIRS),) + workbench-fs-port_MC_DIRS := $(shell echo $(workbench-fs-port_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-fs-port_MC_DIRS) +endif + +endif + +workbench-fs-port_MC_CPPFLAGS := $(workbench-fs-port_LINKLIBCPPFLAGS) -D__AROS__ +workbench-fs-port_CFLAGS := $(workbench-fs-port_LINKLIBCFLAGS) +ifeq ($(workbench-fs-port_LINKLIBDFLAGS),) + workbench-fs-port_DFLAGS := $(workbench-fs-port_LINKLIBCFLAGS) +else + workbench-fs-port_DFLAGS := $(workbench-fs-port_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-fs-port_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-fs-port_STRIP ?= $(TARGET_STRIP) +workbench-fs-port_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(workbench-fs-port_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(workbench-fs-port_DFLAGS) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-fs-port_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-fs-port_STRIP ?= $(HOST_STRIP) +workbench-fs-port_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_DFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(HOST_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-fs-port_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-fs-port_STRIP ?= $(ECHO) >/dev/null +workbench-fs-port_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_DFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-fs-port_MC_TARGETS) : CPPFLAGS := $(workbench-fs-port_MC_CPPFLAGS) +$(workbench-fs-port_MC_TARGETS) : CFLAGS := $(workbench-fs-port_CFLAGS) +$(workbench-fs-port_MC_TARGETS) : $(workbench-fs-port_MC_TGTWILDCARD).o : $(workbench-fs-port_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-fs-port_MC_DTARGETS) : $(workbench-fs-port_MC_TGTWILDCARD).d : $(workbench-fs-port_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-fs-port_DFLAGS) $(workbench-fs-port_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-fs-port_OBJDIR)/linklib,) +workbench-fs-port_MC_SRCWILDCARD := % +else +workbench-fs-port_MC_SRCWILDCARD := $(workbench-fs-port_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-fs-port_OBJDIR)/linklib,) +workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(workbench-fs-port_LINKLIBCCGENFILES)) +workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(workbench-fs-port_LINKLIBCCGENFILES)) +workbench-fs-port_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(notdir $(workbench-fs-port_LINKLIBCCGENFILES)))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(notdir $(workbench-fs-port_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-fs-port_OBJDIR)/linklib,) + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(workbench-fs-port_LINKLIBCCGENFILES))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(workbench-fs-port_LINKLIBCCGENFILES))) +else + workbench-fs-port_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(patsubst $(workbench-fs-port_OBJDIR)/linklib/%,%,$(workbench-fs-port_LINKLIBCCGENFILES)))) + workbench-fs-port_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(patsubst $(workbench-fs-port_OBJDIR)/linklib/%,%,$(workbench-fs-port_LINKLIBCCGENFILES)))) +endif +endif +workbench-fs-port_MC_TGTWILDCARD := $(workbench-fs-port_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : | $(addsuffix .c,$(workbench-fs-port_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-fs-port_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-fs-port_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-port_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-fs-port_MC_DIRS := $(foreach dir, $(workbench-fs-port_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-port_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-fs-port_MC_DIRS),) + workbench-fs-port_MC_DIRS := $(shell echo $(workbench-fs-port_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-fs-port_MC_DIRS) +endif + +endif + +workbench-fs-port_MC_CPPFLAGS := $(workbench-fs-port_LINKLIBCPPFLAGS) -D__AROS__ +workbench-fs-port_CFLAGS := $(workbench-fs-port_LINKLIBCFLAGS) +ifeq ($(workbench-fs-port_LINKLIBDFLAGS),) + workbench-fs-port_DFLAGS := $(workbench-fs-port_LINKLIBCFLAGS) +else + workbench-fs-port_DFLAGS := $(workbench-fs-port_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-fs-port_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-fs-port_STRIP ?= $(TARGET_STRIP) +workbench-fs-port_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(workbench-fs-port_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(workbench-fs-port_DFLAGS) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-fs-port_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-fs-port_STRIP ?= $(HOST_STRIP) +workbench-fs-port_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-fs-port_DFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(HOST_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-fs-port_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-fs-port_STRIP ?= $(ECHO) >/dev/null +workbench-fs-port_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-fs-port_MC_CPPFLAGS) $(workbench-fs-port_MC_EXTRA_CPPFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_CFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-fs-port_DFLAGS)) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-fs-port_MC_TARGETS) $(workbench-fs-port_MC_DTARGETS) : workbench-fs-port_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-fs-port_MC_TARGETS) : CPPFLAGS := $(workbench-fs-port_MC_CPPFLAGS) +$(workbench-fs-port_MC_TARGETS) : CFLAGS := $(workbench-fs-port_CFLAGS) +$(workbench-fs-port_MC_TARGETS) : $(workbench-fs-port_MC_TGTWILDCARD).o : $(workbench-fs-port_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-fs-port_IQUOTE) $(dir $<) $(workbench-fs-port_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-fs-port_IQUOTE) . $(workbench-fs-port_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-fs-port_MC_DTARGETS) : $(workbench-fs-port_MC_TGTWILDCARD).d : $(workbench-fs-port_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-fs-port_DFLAGS) $(workbench-fs-port_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-fs-port_LINKLIBAFILES),) + +ifeq ($(workbench-fs-port_OBJDIR)/linklib,) +workbench-fs-port-MA_TARGETS := $(addsuffix .o,$(workbench-fs-port_LINKLIBAFILES) $(workbench-fs-port_RELLINKLIBAFILES)) +workbench-fs-port-MA_WILDCARD := % +else +workbench-fs-port-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(notdir $(workbench-fs-port_LINKLIBAFILES) $(workbench-fs-port_RELLINKLIBAFILES)))) +workbench-fs-port-MA_WILDCARD := $(workbench-fs-port_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-fs-port-MA_TARGETS) : | $(addsuffix .S,$(workbench-fs-port_LINKLIBAFILES) $(workbench-fs-port_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-fs-port-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-fs-port-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-fs-port_LINKLIBAFILES) $(workbench-fs-port_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-fs-port-MA_DIRS := $(foreach dir, $(workbench-fs-port-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-fs-port-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-fs-port-MA_DIRS),) + workbench-fs-port-MA_DIRS := $(shell echo $(workbench-fs-port-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-fs-port-MA_DIRS) +endif + +endif + +workbench-fs-port-MA_ASSEMBLER ?= $(workbench-fs-port_ASSEMBLER) + +$(workbench-fs-port-MA_TARGETS) : workbench-fs-port-MA_CMD:= $(workbench-fs-port-MA_ASSEMBLER) + +$(workbench-fs-port-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-fs-port-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-fs-port-MA_TARGETS) : $(workbench-fs-port-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-fs-port-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-fs-port-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-fs-port-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-fs-port_SUFFIX := handler +else +workbench-fs-port_SUFFIX := +endif + +ifeq (target,target) +workbench-fs-port_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-fs-port_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-fs-port_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-fs-port_SUFFIX),handler) +workbench-fs-port_MODULE := $(AROSDIR)/$(workbench-fs-port_MODDIR)/$(workbench-fs-port_DEFNAME)-$(workbench-fs-port_SUFFIX) +else +workbench-fs-port_MODULE := $(AROSDIR)/$(workbench-fs-port_MODDIR)/$(workbench-fs-port_DEFNAME).$(workbench-fs-port_SUFFIX) +endif +workbench-fs-port_KOBJ := $(KOBJSDIR)/$(workbench-fs-port_DEFNAME)_$(workbench-fs-port_SUFFIX).o +else +workbench-fs-port_MODULE := +workbench-fs-port_KOBJ := +endif + +workbench-fs-port-quick : workbench-fs-port +workbench-fs-port : $(workbench-fs-port_MODULE) $(workbench-fs-port_LINKLIB) $(workbench-fs-port_RELLINKLIB) +ifeq (M,M) +workbench-fs-port-kobj : $(workbench-fs-port_KOBJ) $(workbench-fs-port_LINKLIB) $(workbench-fs-port_RELLINKLIB) +workbench-fs-port-kobj-quick : $(workbench-fs-port_KOBJ) $(workbench-fs-port_LINKLIB) $(workbench-fs-port_RELLINKLIB) +endif +ifeq (M,M) +workbench-fs-port-linklib : $(workbench-fs-port_LINKLIB) $(workbench-fs-port_RELLINKLIB) +endif + +workbench-fs-port_OBJS := $(addsuffix .o,$(workbench-fs-port_STARTFILES)) $(workbench-fs-port_ARCHOBJS) \ + $(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(workbench-fs-port_C_NARCHFILES:=.o) $(workbench-fs-port_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (handler,handler) +workbench-fs-port_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (port,con) + workbench-fs-port_ERR := $(notdir $(workbench-fs-port_MODULE)).err +else + workbench-fs-port_ERR := port.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-fs-port_DEFNAME)_LDFLAGS) $(workbench-fs-port_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-fs-port_LIBS) $($(workbench-fs-port_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-fs-port_MODULE) : LIB_NAMES := $(workbench-fs-port_LIBS) $($(workbench-fs-port_DEFNAME)_LIBS) +$(workbench-fs-port_MODULE) : OBJS := $(workbench-fs-port_STARTOBJS) $(workbench-fs-port_OBJS) $(USER_OBJS) +$(workbench-fs-port_MODULE) : ENDTAG := $(workbench-fs-port_ENDOBJS) +$(workbench-fs-port_MODULE) : ERR := $(workbench-fs-port_ERR) +$(workbench-fs-port_MODULE) : OBJDIR := $(workbench-fs-port_OBJDIR) +$(workbench-fs-port_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-fs-port_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-fs-port_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-fs-port_MODULE) : $(workbench-fs-port_STARTOBJS) $(workbench-fs-port_OBJS) $(USER_OBJS) $(workbench-fs-port_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-fs-port_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-fs-port_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-fs-port_LC_LINKLIBNAME := $(shell echo $(workbench-fs-port_LINKLIBNAME) | tr A-Z a-z) +workbench-fs-port_LC_MODNAME := $(shell echo port | tr A-Z a-z) +ifneq ($(workbench-fs-port_LINKLIB),) + +ifeq (target,target) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(HOST_AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(KERNEL_AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)$(workbench-fs-port_LIBSUFFIX).a : $(workbench-fs-port_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-fs-port_AR) $@ $^ + $(Q)$(workbench-fs-port_RANLIB) $@ +ifneq ($(workbench-fs-port_LC_MODNAME),$(workbench-fs-port_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-fs-port_LIBDIR)/libport$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(AR) +$(workbench-fs-port_LIBDIR)/libport$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-fs-port_LIBDIR)/libport$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(HOST_AR) +$(workbench-fs-port_LIBDIR)/libport$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-fs-port_LIBDIR)/libport$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(KERNEL_AR) +$(workbench-fs-port_LIBDIR)/libport$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-fs-port_LIBDIR)/libport$(workbench-fs-port_LIBSUFFIX).a : $(workbench-fs-port_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-fs-port_AR) $@ $^ + $(Q)$(workbench-fs-port_RANLIB) $@ +endif + + +ifneq ($(workbench-fs-port_LINKLIB),) +$(workbench-fs-port_LINKLIB) : | $(workbench-fs-port_LIBDIR) +else +$(workbench-fs-port_LINKLIB) :: $(workbench-fs-port_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-fs-port_LIBDIR) + +endif + +ifneq ($(workbench-fs-port_RELLINKLIB),) + +ifeq (target,target) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(HOST_AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(KERNEL_AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_LINKLIBNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : $(workbench-fs-port_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-fs-port_AR) $@ $^ + $(Q)$(workbench-fs-port_RANLIB) $@ +ifneq ($(workbench-fs-port_LC_MODNAME),$(workbench-fs-port_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_DEFNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_DEFNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_DEFNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(HOST_AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_DEFNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_DEFNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_AR:=$(KERNEL_AR) +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_DEFNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : workbench-fs-port_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-fs-port_LIBDIR)/lib$(workbench-fs-port_DEFNAME)_rel$(workbench-fs-port_LIBSUFFIX).a : $(workbench-fs-port_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-fs-port_AR) $@ $^ + $(Q)$(workbench-fs-port_RANLIB) $@ +endif + + +ifneq ($(workbench-fs-port_RELLINKLIB),) +$(workbench-fs-port_RELLINKLIB) : | $(workbench-fs-port_LIBDIR) +else +$(workbench-fs-port_RELLINKLIB) :: $(workbench-fs-port_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-fs-port_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-fs-port_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-fs-port_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-fs-port_SYMBOLS := $(workbench-fs-port_KBASE) + +workbench-fs-port_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-fs-port_KOBJ_LIBS := $(filter-out $(workbench-fs-port_KLIB),$(workbench-fs-port_LIBS)) $(workbench-fs-port_KAUTOLIB) +$(workbench-fs-port_KOBJ) : LINKLIBS:=$(workbench-fs-port_KOBJ_LIBS) $($(workbench-fs-port_DEFNAME)_LIBS) +$(workbench-fs-port_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-fs-port_SYMBOLS)) +$(workbench-fs-port_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-fs-port_KOBJ) : $(workbench-fs-port_OBJS) $(USER_OBJS) $(workbench-fs-port_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-fs-port_DEPS := $(addprefix $(workbench-fs-port_OBJDIR)/,$(notdir $(workbench-fs-port_CCFILES:=.d) $(workbench-fs-port_TARGETCCFILES:=.d) $(workbench-fs-port_CXXFILES:=.d))) $(addprefix $(workbench-fs-port_OBJDIR)/linklib/,$(notdir $(workbench-fs-port_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-fs-port_DEPS),) + ifneq (workbench-fs-port workbench-fs-port-quick workbench-fs-port-kobj workbench-fs-port-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-fs-port workbench-fs-port-quick workbench-fs-port-kobj workbench-fs-port-kobj-quick),) + -include $(workbench-fs-port_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-fs-port_DEPS) + endif + endif +endif + +$(workbench-fs-port_OBJS) $(workbench-fs-port_DEPS) : | $(workbench-fs-port_OBJDIR)/linklib + +ifneq ($(workbench-fs-port_OBJS) $(workbench-fs-port_DEPS) $(workbench-fs-port_MODULE) $(workbench-fs-port_KOBJ),) +$(workbench-fs-port_OBJS) $(workbench-fs-port_DEPS) $(workbench-fs-port_MODULE) $(workbench-fs-port_KOBJ) : | $(workbench-fs-port_OBJDIR) $(AROSDIR)/$(workbench-fs-port_MODDIR) $(KOBJSDIR) +else +$(workbench-fs-port_OBJS) $(workbench-fs-port_DEPS) $(workbench-fs-port_MODULE) $(workbench-fs-port_KOBJ) :: $(workbench-fs-port_OBJDIR) $(AROSDIR)/$(workbench-fs-port_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-fs-port_OBJDIR) $(AROSDIR)/$(workbench-fs-port_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-fs-port workbench-fs-port-includes workbench-fs-port-quick workbench-fs-port-kobj workbench-fs-port-kobj-quick),) # Only for this target these deps are wanted + +workbench-fs-port_DFILE_DEPS := $(workbench-fs-port_LIBDEFSINC) $(workbench-fs-port_DEFLIBDEFSINC) \ + $(addprefix $(workbench-fs-port_INCDIR)/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) +$(workbench-fs-port_DEPS) : $(workbench-fs-port_DFILE_DEPS) +endif + +workbench-fs-port_TOCLEAN := $(workbench-fs-port_OBJS) $(workbench-fs-port_DEPS) \ + $(workbench-fs-port_MODULE) $(workbench-fs-port_LINKLIB) $(workbench-fs-port_KOBJ) \ + $(workbench-fs-port_OBJDIR)/Makefile.porthandler \ + $(addprefix $(workbench-fs-port_OBJDIR)/include/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-fs-port_INCDIR)/,$($(workbench-fs-port_DEFNAME)_INCLUDES)) \ + $(workbench-fs-port_OBJDIR)/port_geninc $(workbench-fs-port_OBJDIR)/port_incs \ + $(addsuffix .c,$(workbench-fs-port_LINKLIBFILES)) $(workbench-fs-port_LINKLIBOBJS) $(workbench-fs-port_LIBDEFSINC) \ + $(workbench-fs-port_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-fs-port_STARTFILES) $(workbench-fs-port_ENDFILES)) \ + $(workbench-fs-port_ENDOBJS) +workbench-fs-port-clean : FILES := $(workbench-fs-port_TOCLEAN) +workbench-fs-port-clean :: + $(Q)$(ECHO) "Cleaning up for module port" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-fs-port_ALLTARGETS) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/hidds/i2c/mmakefile b/workbench/hidds/i2c/mmakefile new file mode 100644 index 00000000000..01600373a79 --- /dev/null +++ b/workbench/hidds/i2c/mmakefile @@ -0,0 +1,1675 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-hidds: hidd-i2c +#MM hidd-i2c : kernel-hidd-bus-includes + +USER_INCLUDES := -I. + +USER_CPPFLAGS := -D__KERNEL__ +USER_LDFLAGS := -static + +FILES := i2c_init i2cdeviceclass i2cclass + +#MM +includes-copy : $(AROS_INCLUDES)/hidd/i2c.h $(GENINCDIR)/hidd/i2c.h + +$(AROS_INCLUDES)/hidd/i2c.h: include/i2c.h + $(CP) $< $(AROS_INCLUDES)/hidd/i2c.h + +$(GENINCDIR)/hidd/i2c.h: include/i2c.h + $(CP) $< $(GENINCDIR)/hidd/i2c.h + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM hidd-i2c +#MM hidd-i2c-quick +#MM hidd-i2c-makefile +#MM hidd-i2c-clean + +# ABI targets: +#MM- includes-all : hidd-i2c-includes +#MM- linklibs-i2c: hidd-i2c-linklib +#MM- linklibs-i2c_rel : hidd-i2c-linklib +#MM- includes-i2c: hidd-i2c-includes +#MM- includes-i2c_rel : hidd-i2c-includes +#MM- hidd-i2c : hidd-i2c-includes core-linklibs linklibs- +#MM hidd-i2c-linklib : hidd-i2c-includes includes- +#MM- hidd-i2c-quick : hidd-i2c-includes-quick +#MM hidd-i2c-includes : hidd-i2c-makefile hidd-i2c-includes-dirs \ +#MM includes-generate-deps hidd-i2c-fd +#MM hidd-i2c-includes-quick +#MM hidd-i2c-includes-dirs +#MM hidd-i2c-fd + +# Library targets +#MM hidd-i2c-kobj : core-linklibs linklibs- +#MM hidd-i2c-kobj-quick : + +# Library with ABI targets: +#MM hidd-i2c-kobj : hidd-i2c-includes core-linklibs linklibs- +#MM hidd-i2c-kobj-quick : hidd-i2c-includes-quick + +# All MetaMake targets defined by this macro +hidd-i2c_ALLTARGETS := hidd-i2c hidd-i2c-quick hidd-i2c-clean + +ifeq (M,M) +hidd-i2c_ALLTARGETS += hidd-i2c-kobj hidd-i2c-kobj-quick +endif + +ifeq (M,M) +hidd-i2c_ALLTARGETS += hidd-i2c-includes \ + hidd-i2c-includes-quick hidd-i2c-includes-dirs \ + hidd-i2c-linklib hidd-i2c-fd +endif + +.PHONY : $(hidd-i2c_ALLTARGETS) hidd-i2c-makefile + +ifeq (i2c,) +$(error using %build_module: modname may not be empty) +endif +ifeq (hidd,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + hidd-i2c_DEFNAME := i2c_ +else + hidd-i2c_DEFNAME := i2c +endif +hidd-i2c_DEFLINKLIBNAME := $(hidd-i2c_DEFNAME) +ifneq (,) + hidd-i2c_LINKLIBNAME := +else + hidd-i2c_LINKLIBNAME = $(hidd-i2c_DEFLINKLIBNAME) +endif +hidd-i2c_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + hidd-i2c_DEFCPPFLAGS += -I +endif +hidd-i2c_DEFDFLAGS := $(CFLAGS) +ifneq (,) + hidd-i2c_DFLAGS := +else + hidd-i2c_DFLAGS = $(hidd-i2c_DEFDFLAGS) +endif +hidd-i2c_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + hidd-i2c_DXXFLAGS := +else + hidd-i2c_DXXFLAGS = $(hidd-i2c_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +hidd-i2c_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(hidd-i2c_DEFDFLAGS)) +hidd-i2c_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(hidd-i2c_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +hidd-i2c_FUNCINSTR := yes +hidd-i2c_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(hidd-i2c_DEFDFLAGS)) +hidd-i2c_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(hidd-i2c_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +hidd-i2c_OBJDIR := +else +hidd-i2c_OBJDIR := $(OBJDIR)/$(hidd-i2c_DEFNAME) +endif +ifneq (,) +hidd-i2c_OBJDIR := $(hidd-i2c_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +hidd-i2c-makefile := $(hidd-i2c_OBJDIR)/Makefile.$(hidd-i2c_DEFNAME)hidd +hidd-i2c-genmakefile : $(hidd-i2c-makefile) + + +hidd-i2c-genmakefile_OPTS := +ifneq (,) + hidd-i2c-genmakefile_OPTS += -f + hidd-i2c-genmakefile_MODNAME := i2c_ +else + hidd-i2c-genmakefile_MODNAME := i2c +endif +hidd-i2c-genmakefile_TARGET := Makefile.$(hidd-i2c-genmakefile_MODNAME)hidd +hidd-i2c-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + hidd-i2c-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + hidd-i2c-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-i2c-genmakefile_OPTS += -c + hidd-i2c-genmakefile_DEPS += + endif +else + hidd-i2c-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/i2c.conf + hidd-i2c-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/i2c.conf +endif +ifneq (,) + ifeq ($(dir ),./) + hidd-i2c-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + hidd-i2c-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-i2c-genmakefile_OPTS += -o + hidd-i2c-genmakefile_DEPS += + endif +endif +ifneq (,) + hidd-i2c-genmakefile_OPTS += -s +endif +ifneq ($(hidd-i2c_OBJDIR),) + hidd-i2c-genmakefile_OPTS += -d $(hidd-i2c_OBJDIR) + hidd-i2c-genmakefile_TARGET := $(hidd-i2c_OBJDIR)/$(hidd-i2c-genmakefile_TARGET) +endif + +$(hidd-i2c-genmakefile_TARGET) : OPTS := $(hidd-i2c-genmakefile_OPTS) +$(hidd-i2c-genmakefile_TARGET) : MODNAME := i2c +$(hidd-i2c-genmakefile_TARGET) : MODTYPE := hidd +$(hidd-i2c-genmakefile_TARGET) : $(hidd-i2c-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(hidd-i2c-makefile),) +$(hidd-i2c-makefile) : | $(hidd-i2c_OBJDIR) +else +$(hidd-i2c-makefile) :: $(hidd-i2c_OBJDIR) +endif + +GLOB_MKDIRS += $(hidd-i2c_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(hidd-i2c_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(hidd-i2c-makefile) + +hidd-i2c_DEFMODDIR := $($(hidd-i2c_DEFNAME)_MODDIR) +ifeq (no,yes) +hidd-i2c_DEFMODDIR := $(AROS_DIR_ARCH)/$(hidd-i2c_DEFMODDIR) +endif +ifneq (,) + hidd-i2c_MODDIR := +else + hidd-i2c_MODDIR := $(hidd-i2c_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +hidd-i2c_INCDIR := +else +hidd-i2c_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +hidd-i2c_LIBDEFSINC := $(hidd-i2c_OBJDIR)/include/$(hidd-i2c_DEFNAME)_libdefs.h +hidd-i2c_DEFLIBDEFSINC := $(hidd-i2c_OBJDIR)/include/$(hidd-i2c_DEFNAME)_deflibdefs.h + +ifeq (M,M) +hidd-i2c-includes-quick : hidd-i2c-includes +hidd-i2c-includes : $(addprefix $(GENINCDIR)/,$($(hidd-i2c_DEFNAME)_INCLUDES)) \ + $(addprefix $(hidd-i2c_INCDIR)/,$($(hidd-i2c_DEFNAME)_INCLUDES)) \ + $(hidd-i2c_LIBDEFSINC) $(hidd-i2c_DEFLIBDEFSINC) + +ifneq ($($(hidd-i2c_DEFNAME)_INCLUDES),) + +ifneq (,) + hidd-i2c-includes_MODNAME := i2c_ +else + hidd-i2c-includes_MODNAME := i2c +endif + +ifneq ($($(hidd-i2c-includes_MODNAME)_INCLUDES),) + +hidd-i2c-includes_TARGETS := $($(hidd-i2c-includes_MODNAME)_INCLUDES) + +hidd-i2c-includes_DEPS := $(GENMODULE) +hidd-i2c-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + hidd-i2c-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + hidd-i2c-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-i2c-includes_OPTS += -c + hidd-i2c-includes_DEPS += + endif +else + hidd-i2c-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/i2c.conf + hidd-i2c-includes_DEPS += $(SRCDIR)/$(CURDIR)/i2c.conf +endif +ifneq (,) + ifeq ($(dir ),./) + hidd-i2c-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + hidd-i2c-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-i2c-includes_OPTS += -o + hidd-i2c-includes_DEPS += + endif +endif +ifneq (,) + hidd-i2c-includes_OPTS += -s +endif +ifneq ($(hidd-i2c_OBJDIR)/include,) + hidd-i2c-includes_OPTS += -d $(hidd-i2c_OBJDIR)/include + hidd-i2c-includes_TARGETS := $(addprefix $(hidd-i2c_OBJDIR)/include/,$(hidd-i2c-includes_TARGETS)) + hidd-i2c-includes_GENINCFLAG=$(hidd-i2c_OBJDIR)/include/.i2c.hidd-includes +else + hidd-i2c-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.i2c.hidd-includes +endif + +$(hidd-i2c-includes_TARGETS) : $(hidd-i2c-includes_DEPS) $(hidd-i2c-includes_GENINCFLAG) + +$(hidd-i2c-includes_GENINCFLAG) : OPTS := $(hidd-i2c-includes_OPTS) +$(hidd-i2c-includes_GENINCFLAG) : MODNAME := i2c +$(hidd-i2c-includes_GENINCFLAG) : MODTYPE := hidd +$(hidd-i2c-includes_GENINCFLAG) : $(hidd-i2c-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(hidd-i2c_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(hidd-i2c_DEFNAME)_INCLUDES)) : | $(hidd-i2c_OBJDIR)/i2c_geninc + +$(hidd-i2c_OBJDIR)/i2c_geninc : COPYSRCDIR := $(hidd-i2c_OBJDIR)/include +$(hidd-i2c_OBJDIR)/i2c_geninc : TGTDIR := $(GENINCDIR) +$(hidd-i2c_OBJDIR)/i2c_geninc : FILES := $($(hidd-i2c_DEFNAME)_INCLUDES) +$(hidd-i2c_OBJDIR)/i2c_geninc : $(addprefix $(hidd-i2c_OBJDIR)/include/,$($(hidd-i2c_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(hidd-i2c_OBJDIR)/include + +$(addprefix $(hidd-i2c_INCDIR)/,$($(hidd-i2c_DEFNAME)_INCLUDES)) : | $(hidd-i2c_OBJDIR)/i2c_incs + +$(hidd-i2c_OBJDIR)/i2c_incs : COPYSRCDIR := $(hidd-i2c_OBJDIR)/include +$(hidd-i2c_OBJDIR)/i2c_incs : TGTDIR := $(hidd-i2c_INCDIR) +$(hidd-i2c_OBJDIR)/i2c_incs : FILES := $($(hidd-i2c_DEFNAME)_INCLUDES) +$(hidd-i2c_OBJDIR)/i2c_incs : $(addprefix $(hidd-i2c_OBJDIR)/include/,$($(hidd-i2c_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +hidd-i2c_INCDIRS := $(filter-out ./,$(sort $(dir $($(hidd-i2c_DEFNAME)_INCLUDES)))) + +TMPi2c_INCDIRS := \ + $(hidd-i2c_OBJDIR)/include $(addprefix $(hidd-i2c_OBJDIR)/include/,$(hidd-i2c_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(hidd-i2c_INCDIRS)) \ + $(hidd-i2c_INCDIR) $(addprefix $(hidd-i2c_INCDIR)/,$(hidd-i2c_INCDIRS)) + +ifneq (hidd-i2c-includes-dirs,) +hidd-i2c-includes-dirs : | $(TMPi2c_INCDIRS) +else +hidd-i2c-includes-dirs :: $(TMPi2c_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPi2c_INCDIRS) + + +endif + +endif + + +hidd-i2c-genlibdefs_OPTS := +ifneq (,) + hidd-i2c-genlibdefs_OPTS += -f + hidd-i2c-genlibdefs_MODNAME := i2c_ +else + hidd-i2c-genlibdefs_MODNAME := i2c +endif +hidd-i2c-genlibdefs_TARGET := $(hidd-i2c-genlibdefs_MODNAME)_libdefs.h +hidd-i2c-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + hidd-i2c-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + hidd-i2c-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-i2c-genlibdefs_OPTS += -c + hidd-i2c-genlibdefs_DEPS += + endif +else + hidd-i2c-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/i2c.conf + hidd-i2c-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/i2c.conf +endif +ifneq (,) + ifeq ($(dir ),./) + hidd-i2c-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + hidd-i2c-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-i2c-genlibdefs_OPTS += -o + hidd-i2c-genlibdefs_DEPS += + endif +endif +ifneq (,) + hidd-i2c-genlibdefs_OPTS += -s +endif +ifneq ($(hidd-i2c_OBJDIR)/include,) + hidd-i2c-genlibdefs_OPTS += -d $(hidd-i2c_OBJDIR)/include + hidd-i2c-genlibdefs_TARGET := $(hidd-i2c_OBJDIR)/include/$(hidd-i2c-genlibdefs_TARGET) +endif +ifneq (,) + hidd-i2c-genlibdefs_OPTS += -v +endif + +$(hidd-i2c-genlibdefs_TARGET) : OPTS := $(hidd-i2c-genlibdefs_OPTS) +$(hidd-i2c-genlibdefs_TARGET) : MODNAME := i2c +$(hidd-i2c-genlibdefs_TARGET) : MODTYPE := hidd +$(hidd-i2c-genlibdefs_TARGET) : $(hidd-i2c-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(hidd-i2c_DEFLIBDEFSINC) : FILENAME := $(hidd-i2c_LIBDEFSINC) +$(hidd-i2c_DEFLIBDEFSINC) : $(hidd-i2c_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(hidd-i2c_LIBDEFSINC) $(hidd-i2c_DEFLIBDEFSINC) : | $(hidd-i2c_OBJDIR)/include + +ifneq (hidd-i2c-includes-dirs,) +hidd-i2c-includes-dirs : | $(hidd-i2c_OBJDIR)/include +else +hidd-i2c-includes-dirs :: $(hidd-i2c_OBJDIR)/include +endif + +GLOB_MKDIRS += $(hidd-i2c_OBJDIR)/include + + +## Extra genmodule src files generation +## + +hidd-i2c-genmodfiles_OPTS := +ifneq (,) + hidd-i2c-genmodfiles_OPTS += -f + hidd-i2c-genmodfiles_MODNAME := i2c_ +else + hidd-i2c-genmodfiles_MODNAME := i2c +endif +hidd-i2c-genmodfiles_GENTARGETS := $($(hidd-i2c-genmodfiles_MODNAME)_STARTFILES) $($(hidd-i2c-genmodfiles_MODNAME)_ENDFILES) +hidd-i2c-genmodfiles_STUBTARGETS := $($(hidd-i2c-genmodfiles_MODNAME)_LINKLIBFILES) $($(hidd-i2c-genmodfiles_MODNAME)_RELLINKLIBFILES) +hidd-i2c-genmodfiles_GENTARGETS := $(addsuffix .c,$(hidd-i2c-genmodfiles_GENTARGETS)) +hidd-i2c-genmodfiles_STUBTARGETS := $(addsuffix .c,$(hidd-i2c-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(hidd-i2c-genmodfiles_MODNAME)_LINKLIBAFILES) $($(hidd-i2c-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +hidd-i2c-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + hidd-i2c-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + hidd-i2c-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-i2c-genmodfiles_OPTS += -c + hidd-i2c-genmodfiles_DEPS += + endif +else + hidd-i2c-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/i2c.conf + hidd-i2c-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/i2c.conf +endif +ifneq (,) + ifeq ($(dir ),./) + hidd-i2c-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + hidd-i2c-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + hidd-i2c-genmodfiles_OPTS += -o + hidd-i2c-genmodfiles_DEPS += + endif +endif +ifneq (,) + hidd-i2c-genmodfiles_OPTS += -s +endif +ifneq ($(hidd-i2c_OBJDIR),) + hidd-i2c-genmodfiles_OPTS += -d $(hidd-i2c_OBJDIR) + hidd-i2c-genmodfiles_TARGETDIR := $(shell echo $(hidd-i2c_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + hidd-i2c-genmodfiles_GENTARGETS := $(addprefix $(hidd-i2c-genmodfiles_TARGETDIR)/,$(hidd-i2c-genmodfiles_GENTARGETS)) + hidd-i2c-genmodfiles_GENFILEFLAG=$(hidd-i2c-genmodfiles_TARGETDIR)/.i2c.hidd-genfiles +else + hidd-i2c-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.i2c.hidd-genfiles +endif +ifneq ($(hidd-i2c_OBJDIR)/linklib,) + hidd-i2c-genmodfiles_OPTS += -l $(hidd-i2c_OBJDIR)/linklib + hidd-i2c-genmodfiles_STUBTARGETDIR := $(shell echo $(hidd-i2c_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + hidd-i2c-genmodfiles_STUBTARGETS := $(addprefix $(hidd-i2c-genmodfiles_STUBTARGETDIR)/,$(hidd-i2c-genmodfiles_STUBTARGETS)) + hidd-i2c-genmodfiles_TARGETDIRS += $(hidd-i2c_OBJDIR)/linklib +else +ifneq ($(hidd-i2c_OBJDIR),) + hidd-i2c-genmodfiles_STUBTARGETS := $(addprefix $(hidd-i2c-genmodfiles_TARGETDIR)/,$(hidd-i2c-genmodfiles_STUBTARGETS)) +endif +endif + +hidd-i2c-genmodfiles_TARGETS := $(hidd-i2c-genmodfiles_GENTARGETS) $(hidd-i2c-genmodfiles_STUBTARGETS) +ifneq ($(hidd-i2c-genmodfiles_TARGETDIRS),) +$(hidd-i2c-genmodfiles_TARGETS) : | $(hidd-i2c-genmodfiles_TARGETDIRS) +endif + +$(hidd-i2c-genmodfiles_TARGETS) : $(hidd-i2c-genmodfiles_DEPS) $(hidd-i2c-genmodfiles_GENFILEFLAG) + +$(hidd-i2c-genmodfiles_GENFILEFLAG) : OPTS := $(hidd-i2c-genmodfiles_OPTS) +$(hidd-i2c-genmodfiles_GENFILEFLAG) : MODNAME := i2c +$(hidd-i2c-genmodfiles_GENFILEFLAG) : MODTYPE := hidd +$(hidd-i2c-genmodfiles_GENFILEFLAG) : $(hidd-i2c-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(hidd-i2c-genmodfiles_GENFILEFLAG) : $(hidd-i2c_DEFLIBDEFSINC) $(hidd-i2c-makefile) + + +ifneq ($(hidd-i2c-genmodfiles_GENFILEFLAG),) +$(hidd-i2c-genmodfiles_GENFILEFLAG) : | $(hidd-i2c_OBJDIR)/linklib +else +$(hidd-i2c-genmodfiles_GENFILEFLAG) :: $(hidd-i2c_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(hidd-i2c_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +hidd-i2c_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +hidd-i2c_FDDIR := /../$(AROS_DIR_FD) +endif +hidd-i2c-fd : $(hidd-i2c_FDDIR)/i2c_lib.fd + + +TMP_TARGET := i2c_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/i2c.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/i2c.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(hidd-i2c_FDDIR),) + TMP_OPTS += -d $(hidd-i2c_FDDIR) + TMP_TARGET := $(hidd-i2c_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := i2c +$(TMP_TARGET) : MODTYPE := hidd +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(hidd-i2c_FDDIR)/i2c_lib.fd : | $(hidd-i2c_FDDIR) + + +ifneq (hidd-i2c-fd-setup,) +hidd-i2c-fd-setup : | $(hidd-i2c_FDDIR) +else +hidd-i2c-fd-setup :: $(hidd-i2c_FDDIR) +endif + +GLOB_MKDIRS += $(hidd-i2c_FDDIR) + +endif + +## Compilation +## +hidd-i2c_FILES := $(FILES) +hidd-i2c_OBJCFILES := +hidd-i2c_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +hidd-i2c_LIBFILES := +hidd-i2c_LIBS := + +hidd-i2c_FDIRS := $(sort $(dir $(hidd-i2c_FILES))) + +hidd-i2c_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +hidd-i2c_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call hidd-i2c_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +hidd-i2c_FILTERARCH = $(filter-out $(call hidd-i2c_MATCHARCH,$(1),$(2)),$(2)) +hidd-i2c_STARTFILES := $(addprefix $(hidd-i2c_OBJDIR)/,$($(hidd-i2c_DEFNAME)_STARTFILES)) +hidd-i2c_ENDFILES := $(addprefix $(hidd-i2c_OBJDIR)/,$($(hidd-i2c_DEFNAME)_ENDFILES)) + +hidd-i2c_ARCHOBJS := $(wildcard $(hidd-i2c_OBJDIR)/arch/*.o) +hidd-i2c_LIBARCHOBJS := $(wildcard $(hidd-i2c_OBJDIR)/linklib/arch/*.o) +hidd-i2c_ARCHFILES := $(basename $(notdir $(hidd-i2c_ARCHOBJS))) +hidd-i2c_LIBARCHFILES := $(basename $(notdir $(hidd-i2c_LIBARCHOBJS))) +hidd-i2c_C_NARCHFILES := $(call hidd-i2c_FILTERARCH,$(hidd-i2c_ARCHFILES),$(hidd-i2c_FILES)) +hidd-i2c_CXX_NARCHFILES := $(call hidd-i2c_FILTERARCH,$(hidd-i2c_ARCHFILES),$(hidd-i2c_CXXFILES)) +hidd-i2c_OBJC_NARCHFILES := $(call hidd-i2c_FILTERARCH,$(hidd-i2c_ARCHFILES),$(hidd-i2c_OBJCFILES)) +hidd-i2c_NLIBARCHFILES := $(call hidd-i2c_FILTERARCH,$(hidd-i2c_LIBARCHFILES),$(hidd-i2c_LIBFILES)) +hidd-i2c_ARCHNLIBFILES := $(call hidd-i2c_FILTERARCH,$(hidd-i2c_LIBFILES),$(hidd-i2c_LIBARCHFILES)) + +hidd-i2c_CPPFLAGS := $(strip $(CPPFLAGS) -I$(hidd-i2c_OBJDIR)/include -include $(hidd-i2c_DEFLIBDEFSINC)) +ifneq (,) +hidd-i2c_CPPFLAGS += -I +endif +hidd-i2c_LINKLIBCPPFLAGS := $(hidd-i2c_CPPFLAGS) +hidd-i2c_CPPFLAGS += $(strip $($(hidd-i2c_DEFNAME)_CPPFLAGS)) +hidd-i2c_LINKLIBCPPFLAGS += $(strip $($(hidd-i2c_DEFNAME)_LINKLIBCPPFLAGS)) +hidd-i2c_CFLAGS := $(strip $(CFLAGS) $($(hidd-i2c_DEFNAME)_CFLAGS)) +hidd-i2c_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(hidd-i2c_DEFNAME)_LINKLIBCFLAGS)) +hidd-i2c_CXXFLAGS := $(strip $(CXXFLAGS) $($(hidd-i2c_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +hidd-i2c_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +hidd-i2c_CFLAGS := $(strip $(hidd-i2c_LTOFLAGS) $(hidd-i2c_CFLAGS)) +hidd-i2c_LINKLIBCFLAGS := $(strip $(hidd-i2c_LTOFLAGS) $(hidd-i2c_LINKLIBCFLAGS)) +hidd-i2c_CXXFLAGS := $(strip $(hidd-i2c_LTOFLAGS) $(hidd-i2c_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +hidd-i2c_SUBSTNULL := +hidd-i2c_SUBSTSPACE := $(hidd-i2c_SUBSTNULL) # +hidd-i2c_SUBSTCOMMA := , +hidd-i2c_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(hidd-i2c_SUBSTSPACE),$(hidd-i2c_SUBSTCOMMA),$(strip $($(hidd-i2c_DEFNAME)_STARTFILES)))) +hidd-i2c_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +hidd-i2c_CFLAGS := $(strip $(hidd-i2c_INSTRFUNCFLAGS) $(hidd-i2c_CFLAGS)) +hidd-i2c_CXXFLAGS := $(strip $(hidd-i2c_INSTRFUNCFLAGS) $(hidd-i2c_CXXFLAGS)) +hidd-i2c_LIBS += $(hidd-i2c_INSTRFUNCLIBS) +endif +endif +hidd-i2c_DFLAGS := $(strip $(hidd-i2c_DFLAGS) $($(hidd-i2c_DEFNAME)_DFLAGS)) +hidd-i2c_LINKLIBDFLAGS := $(strip $(hidd-i2c_DFLAGS) $($(hidd-i2c_DEFNAME)_LINKLIBDFLAGS)) +hidd-i2c_DXXFLAGS := $(strip $(hidd-i2c_DXXFLAGS) $($(hidd-i2c_DEFNAME)_DXXFLAGS)) + +ifeq (hidd,library) + hidd-i2c_LIBSUFFIX := +else + hidd-i2c_LIBSUFFIX := .hidd +endif + +ifeq (,) +hidd-i2c_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +hidd-i2c_LIBDIR := +endif + +ifeq (M,M) +hidd-i2c_LINKLIBCFILES := $(addprefix $(hidd-i2c_OBJDIR)/linklib/,$($(hidd-i2c_DEFNAME)_LINKLIBFILES)) +hidd-i2c_LINKLIBAFILES := $(addprefix $(hidd-i2c_OBJDIR)/linklib/,$($(hidd-i2c_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(hidd-i2c_DEFNAME)_LINKLIBFILES) $($(hidd-i2c_DEFNAME)_LINKLIBAFILES) $(hidd-i2c_ARCHNLIBFILES)),) + hidd-i2c_LINKLIB := +else + hidd-i2c_LINKLIB := $(hidd-i2c_LIBDIR)/libi2c$(hidd-i2c_LIBSUFFIX).a + ifneq (i2c,$(hidd-i2c_LINKLIBNAME)) + hidd-i2c_LINKLIB += $(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)$(hidd-i2c_LIBSUFFIX).a + endif +endif +hidd-i2c_LINKLIBFILES := $(hidd-i2c_LINKLIBCFILES) $(hidd-i2c_LINKLIBAFILES) + +hidd-i2c_RELLINKLIBCFILES := $(addprefix $(hidd-i2c_OBJDIR)/linklib/,$($(hidd-i2c_DEFNAME)_RELLINKLIBFILES)) +hidd-i2c_RELLINKLIBAFILES := $(addprefix $(hidd-i2c_OBJDIR)/linklib/,$($(hidd-i2c_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(hidd-i2c_DEFNAME)_RELLINKLIBFILES) $($(hidd-i2c_DEFNAME)_RELLINKLIBAFILES) $(hidd-i2c_ARCHNLIBFILES)),) + hidd-i2c_RELLINKLIB := +else + hidd-i2c_RELLINKLIB := $(hidd-i2c_LIBDIR)/lib$(hidd-i2c_DEFNAME)_rel$(hidd-i2c_LIBSUFFIX).a + ifneq (i2c,$(hidd-i2c_LINKLIBNAME)) + hidd-i2c_RELLINKLIB += $(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)_rel$(hidd-i2c_LIBSUFFIX).a + endif +endif +hidd-i2c_RELLINKLIBFILES := $(hidd-i2c_RELLINKLIBCFILES) $(hidd-i2c_RELLINKLIBAFILES) +endif + +hidd-i2c_ENDOBJS := $(addsuffix .o,$(hidd-i2c_ENDFILES)) +hidd-i2c_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(notdir $(hidd-i2c_NLIBARCHFILES))) $(addprefix $(hidd-i2c_OBJDIR)/linklib/arch/,$(notdir $(hidd-i2c_ARCHNLIBFILES))) $(hidd-i2c_LINKLIBFILES)) \ + +hidd-i2c_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(notdir $(hidd-i2c_NLIBARCHFILES))) $(addprefix $(hidd-i2c_OBJDIR)/linklib/arch/,$(notdir $(hidd-i2c_ARCHNLIBFILES))) $(hidd-i2c_RELLINKLIBFILES)) \ + +$(hidd-i2c_LINKLIBFILES) $(hidd-i2c_RELLINKLIBFILES) : | $(hidd-i2c_OBJDIR)/linklib +$(hidd-i2c_LINKLIBOBJS) $(hidd-i2c_RELLINKLIBOBJS) : | $(hidd-i2c_OBJDIR)/linklib + +hidd-i2c_CCFILES := $(hidd-i2c_C_NARCHFILES) +hidd-i2c_TARGETCCFILES := $(strip $(hidd-i2c_STARTFILES) $(hidd-i2c_ENDFILES)) +hidd-i2c_LINKLIBCCFILES := $(strip $(hidd-i2c_NLIBARCHFILES) $(hidd-i2c_LINKLIBCFILES) $(hidd-i2c_RELLINKLIBCFILES)) +hidd-i2c_LINKLIBCCGENFILES := $(strip $(hidd-i2c_LINKLIBCFILES) $(hidd-i2c_RELLINKLIBCFILES)) + + +hidd-i2c_CXXABSBASENAMES := $(foreach hidd-i2c_CXXBASE,$(hidd-i2c_CXX_NARCHFILES),$(if $(filter /%,$(hidd-i2c_CXXBASE)),$(hidd-i2c_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(hidd-i2c_CXXBASE)))) + +ifneq ($(hidd-i2c_CXXABSBASENAMES),) + +hidd-i2c_CXXBASENAMES := $(basename $(hidd-i2c_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +hidd-i2c_MCXX_FILES := $(strip $(foreach hidd-i2c_CXXBASE,$(hidd-i2c_CXXABSBASENAMES), $(firstword $(wildcard $(foreach hidd-i2c_EXT, $(AROS_CXXEXTS),$(addsuffix .$(hidd-i2c_EXT),$(hidd-i2c_CXXBASE))))))) + +ifeq (,) +hidd-i2c_MCXX_SRCWILDCARD := % +else +hidd-i2c_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(hidd-i2c_OBJDIR),) + hidd-i2c_CXXTARGETS := $(notdir $(hidd-i2c_CXXBASENAMES:=.o)) + hidd-i2c_CXXDTARGETS := $(notdir $(hidd-i2c_CXXBASENAMES:=.d)) + hidd-i2c_MCXX_WILDCARD := % +else + hidd-i2c_CXXTARGETS := $(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(hidd-i2c_CXXBASENAMES:=.o))) + hidd-i2c_CXXDTARGETS := $(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(hidd-i2c_CXXBASENAMES:=.d))) + hidd-i2c_MCXX_WILDCARD := $(hidd-i2c_OBJDIR)/% + + # Be sure that all source files are generated + $(hidd-i2c_CXXTARGETS) $(hidd-i2c_CXXDTARGETS) : | $(hidd-i2c_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +hidd-i2c_MCXX_CPPFLAGS := $(hidd-i2c_CPPFLAGS) +hidd-i2c_CXXFLAGS := $(hidd-i2c_CXXFLAGS) +ifeq ($(hidd-i2c_DXXFLAGS),) + hidd-i2c_DXXFLAGS := $(hidd-i2c_CXXFLAGS) +else + hidd-i2c_DXXFLAGS := $(hidd-i2c_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + hidd-i2c_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + hidd-i2c_STRIP ?= $(HOST_STRIP) + hidd-i2c_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + hidd-i2c_CXXCMD:=$(HOST_CXX) + hidd-i2c_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(hidd-i2c_MCXX_CPPFLAGS) $(hidd-i2c_MCXX_EXTRA_CPPFLAGS)) + hidd-i2c_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(hidd-i2c_CXXFLAGS)) + hidd-i2c_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(hidd-i2c_DXXFLAGS)) + hidd-i2c_CXXIQUOTE:=$(HOST_IQUOTE) + hidd-i2c_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + hidd-i2c_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + hidd-i2c_STRIP ?= $(TARGET_STRIP) + hidd-i2c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + hidd-i2c_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + hidd-i2c_MCXX_CPPFLAGS := $(strip $(hidd-i2c_MCXX_CPPFLAGS) $(hidd-i2c_MCXX_EXTRA_CPPFLAGS)) + hidd-i2c_CXXFLAGS := $(strip $(hidd-i2c_CXXFLAGS) $(SAFETY_CFLAGS)) + hidd-i2c_DXXFLAGS := $(hidd-i2c_DXXFLAGS) + hidd-i2c_CXXIQUOTE:=$(CFLAGS_IQUOTE) + hidd-i2c_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + hidd-i2c_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + hidd-i2c_STRIP ?= $(ECHO) >/dev/null + hidd-i2c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + hidd-i2c_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + hidd-i2c_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(hidd-i2c_MCXX_CPPFLAGS) $(hidd-i2c_MCXX_EXTRA_CPPFLAGS)) + hidd-i2c_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(hidd-i2c_CXXFLAGS)) + hidd-i2c_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(hidd-i2c_DXXFLAGS)) + hidd-i2c_CXXIQUOTE:=$(KERNEL_IQUOTE) + hidd-i2c_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(hidd-i2c_CXXCMD) $(hidd-i2c_CXXIQUOTE) $(dir $(2)) $(hidd-i2c_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_CXXIQUOTE) . $(hidd-i2c_CXXIQUOTE_END) $(strip $(hidd-i2c_CXXFLAGS) $(hidd-i2c_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(hidd-i2c_CXXCMD) $(hidd-i2c_CXXIQUOTE) $(dir $(2)) $(hidd-i2c_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_CXXIQUOTE) . $(hidd-i2c_CXXIQUOTE_END) $(strip $(hidd-i2c_CXXFLAGS) $(hidd-i2c_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(hidd-i2c_CXXCMD) $(hidd-i2c_CXXIQUOTE) $(dir $(2)) $(hidd-i2c_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_CXXIQUOTE) . $(hidd-i2c_CXXIQUOTE_END) $(strip $(hidd-i2c_CXXFLAGS) $(hidd-i2c_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(hidd-i2c_CXXCMD)" $(MKDEPEND) $(strip $(hidd-i2c_DXXFLAGS) $(hidd-i2c_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(hidd-i2c_OBJDIR),) + $(foreach hidd-i2c_CXXFILE,$(hidd-i2c_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(hidd-i2c_CXXFILE))),$(hidd-i2c_CXXFILE)))) +else + $(foreach hidd-i2c_CXXFILE,$(hidd-i2c_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(basename $(hidd-i2c_CXXFILE)))),$(hidd-i2c_CXXFILE)))) +endif + +endif + + +ifneq ($(hidd-i2c_OBJC_NARCHFILES),) + +ifeq (,) +hidd-i2c_MOBJC_SRCWILDCARD := % +else +hidd-i2c_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(hidd-i2c_OBJDIR),) + hidd-i2c_MOBJC_TARGETS := $(addsuffix .o,$(hidd-i2c_OBJC_NARCHFILES)) + hidd-i2c_MOBJC_DTARGETS := $(addsuffix .d,$(hidd-i2c_OBJC_NARCHFILES)) + hidd-i2c_MOBJC_WILDCARD := % +else + hidd-i2c_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/,$(hidd-i2c_OBJC_NARCHFILES))) + hidd-i2c_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/,$(hidd-i2c_OBJC_NARCHFILES))) + hidd-i2c_MOBJC_WILDCARD := $(hidd-i2c_OBJDIR)/% + + # Be sure that all .m files are generated + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : | $(addsuffix .m,$(hidd-i2c_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + hidd-i2c_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + hidd-i2c_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-i2c_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + hidd-i2c_MOBJC_DIRS := $(foreach dir, $(hidd-i2c_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-i2c_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(hidd-i2c_MOBJC_DIRS),) + hidd-i2c_MOBJC_DIRS := $(shell echo $(hidd-i2c_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(hidd-i2c_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + hidd-i2c_CC := $(TARGET_CC) +else + hidd-i2c_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +hidd-i2c_MOBJC_CPPFLAGS := $(hidd-i2c_CPPFLAGS) +hidd-i2c_OBJCFLAGS := $(hidd-i2c_CFLAGS) +hidd-i2c_OBJCFLAGS := $(hidd-i2c_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +hidd-i2c_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(hidd-i2c_OBJCFLAGS))) +ifeq ($(hidd-i2c_DFLAGS),) + hidd-i2c_OBJCDFLAGS := $(hidd-i2c_CFLAGS) +else + hidd-i2c_OBJCDFLAGS := $(hidd-i2c_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + hidd-i2c_LINK ?= $(strip $(hidd-i2c_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + hidd-i2c_STRIP ?= $(TARGET_STRIP) + hidd-i2c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : CMD:=$(strip $(hidd-i2c_CC) $(TARGET_SYSROOT)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_MOBJC_CPPFLAGS:=$(strip $(hidd-i2c_MOBJC_CPPFLAGS) $(hidd-i2c_MOBJC_EXTRA_CPPFLAGS)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_OBJCFLAGS:=$(strip $(hidd-i2c_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_OBJCDFLAGS:=$(hidd-i2c_OBJCDFLAGS) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_IQUOTE:=$(CFLAGS_IQUOTE) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + hidd-i2c_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + hidd-i2c_STRIP ?= $(HOST_STRIP) + hidd-i2c_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(hidd-i2c_MOBJC_CPPFLAGS) $(hidd-i2c_MOBJC_EXTRA_CPPFLAGS)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_OBJCFLAGS)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_OBJCDFLAGS)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_IQUOTE:=$(HOST_IQUOTE) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + hidd-i2c_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + hidd-i2c_STRIP ?= $(ECHO) >/dev/null + hidd-i2c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(hidd-i2c_MOBJC_CPPFLAGS) $(hidd-i2c_MOBJC_EXTRA_CPPFLAGS)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_OBJCFLAGS)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_OBJCDFLAGS)) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_IQUOTE:=$(KERNEL_IQUOTE) + $(hidd-i2c_MOBJC_TARGETS) $(hidd-i2c_MOBJC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-i2c_MOBJC_TARGETS) : CPPFLAGS := $(hidd-i2c_MOBJC_CPPFLAGS) +$(hidd-i2c_MOBJC_TARGETS) : CFLAGS := $(hidd-i2c_OBJCFLAGS) +$(hidd-i2c_MOBJC_TARGETS) : $(hidd-i2c_MOBJC_WILDCARD).o : $(hidd-i2c_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-i2c_MOBJC_DTARGETS) : $(hidd-i2c_MOBJC_WILDCARD).d : $(hidd-i2c_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-i2c_OBJCDFLAGS) $(hidd-i2c_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +hidd-i2c_MC_SRCWILDCARD := % +else +hidd-i2c_MC_SRCWILDCARD := /% +endif + +ifeq ($(hidd-i2c_OBJDIR),) +hidd-i2c_MC_TARGETS := $(addsuffix .o,$(hidd-i2c_CCFILES)) +hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(hidd-i2c_CCFILES)) +hidd-i2c_MC_TGTWILDCARD := % +else +ifeq (no,no) + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(hidd-i2c_CCFILES)))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(hidd-i2c_CCFILES)))) +else +ifeq (,) + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/,$(hidd-i2c_CCFILES))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/,$(hidd-i2c_CCFILES))) +else + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/,$(patsubst /%,%,$(hidd-i2c_CCFILES)))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/,$(patsubst /%,%,$(hidd-i2c_CCFILES)))) +endif +endif +hidd-i2c_MC_TGTWILDCARD := $(hidd-i2c_OBJDIR)/% + +# Be sure that all .c files are generated +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : | $(addsuffix .c,$(hidd-i2c_CCFILES)) + +# Be sure that all .c files are found +hidd-i2c_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-i2c_MC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-i2c_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-i2c_MC_DIRS := $(foreach dir, $(hidd-i2c_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-i2c_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-i2c_MC_DIRS),) + hidd-i2c_MC_DIRS := $(shell echo $(hidd-i2c_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(hidd-i2c_MC_DIRS) +endif + +endif + +hidd-i2c_MC_CPPFLAGS := $(hidd-i2c_CPPFLAGS) +hidd-i2c_CFLAGS := $(hidd-i2c_CFLAGS) +ifeq ($(hidd-i2c_DFLAGS),) + hidd-i2c_DFLAGS := $(hidd-i2c_CFLAGS) +else + hidd-i2c_DFLAGS := $(hidd-i2c_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +hidd-i2c_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +hidd-i2c_STRIP ?= $(TARGET_STRIP) +hidd-i2c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(hidd-i2c_CFLAGS) $(SAFETY_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(hidd-i2c_DFLAGS) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(CFLAGS_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +hidd-i2c_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +hidd-i2c_STRIP ?= $(HOST_STRIP) +hidd-i2c_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(HOST_CC) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_DFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(HOST_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +hidd-i2c_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +hidd-i2c_STRIP ?= $(ECHO) >/dev/null +hidd-i2c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_DFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(KERNEL_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-i2c_MC_TARGETS) : CPPFLAGS := $(hidd-i2c_MC_CPPFLAGS) +$(hidd-i2c_MC_TARGETS) : CFLAGS := $(hidd-i2c_CFLAGS) +$(hidd-i2c_MC_TARGETS) : $(hidd-i2c_MC_TGTWILDCARD).o : $(hidd-i2c_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-i2c_MC_DTARGETS) : $(hidd-i2c_MC_TGTWILDCARD).d : $(hidd-i2c_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-i2c_DFLAGS) $(hidd-i2c_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +hidd-i2c_MC_SRCWILDCARD := % +else +hidd-i2c_MC_SRCWILDCARD := /% +endif + +ifeq ($(hidd-i2c_OBJDIR),) +hidd-i2c_MC_TARGETS := $(addsuffix .o,$(hidd-i2c_TARGETCCFILES)) +hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(hidd-i2c_TARGETCCFILES)) +hidd-i2c_MC_TGTWILDCARD := % +else +ifeq (no,no) + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(hidd-i2c_TARGETCCFILES)))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(hidd-i2c_TARGETCCFILES)))) +else +ifeq (,) + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/,$(hidd-i2c_TARGETCCFILES))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/,$(hidd-i2c_TARGETCCFILES))) +else + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/,$(patsubst /%,%,$(hidd-i2c_TARGETCCFILES)))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/,$(patsubst /%,%,$(hidd-i2c_TARGETCCFILES)))) +endif +endif +hidd-i2c_MC_TGTWILDCARD := $(hidd-i2c_OBJDIR)/% + +# Be sure that all .c files are generated +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : | $(addsuffix .c,$(hidd-i2c_TARGETCCFILES)) + +# Be sure that all .c files are found +hidd-i2c_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-i2c_MC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-i2c_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-i2c_MC_DIRS := $(foreach dir, $(hidd-i2c_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-i2c_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-i2c_MC_DIRS),) + hidd-i2c_MC_DIRS := $(shell echo $(hidd-i2c_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(hidd-i2c_MC_DIRS) +endif + +endif + +hidd-i2c_MC_CPPFLAGS := $(hidd-i2c_CPPFLAGS) -D__AROS__ +hidd-i2c_CFLAGS := $(hidd-i2c_CFLAGS) +ifeq ($(hidd-i2c_DFLAGS),) + hidd-i2c_DFLAGS := $(hidd-i2c_CFLAGS) +else + hidd-i2c_DFLAGS := $(hidd-i2c_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +hidd-i2c_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +hidd-i2c_STRIP ?= $(TARGET_STRIP) +hidd-i2c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(hidd-i2c_CFLAGS) $(SAFETY_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(hidd-i2c_DFLAGS) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(CFLAGS_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +hidd-i2c_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +hidd-i2c_STRIP ?= $(HOST_STRIP) +hidd-i2c_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(HOST_CC) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_DFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(HOST_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +hidd-i2c_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +hidd-i2c_STRIP ?= $(ECHO) >/dev/null +hidd-i2c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_DFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(KERNEL_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-i2c_MC_TARGETS) : CPPFLAGS := $(hidd-i2c_MC_CPPFLAGS) +$(hidd-i2c_MC_TARGETS) : CFLAGS := $(hidd-i2c_CFLAGS) +$(hidd-i2c_MC_TARGETS) : $(hidd-i2c_MC_TGTWILDCARD).o : $(hidd-i2c_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-i2c_MC_DTARGETS) : $(hidd-i2c_MC_TGTWILDCARD).d : $(hidd-i2c_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-i2c_DFLAGS) $(hidd-i2c_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +hidd-i2c_MC_SRCWILDCARD := % +else +hidd-i2c_MC_SRCWILDCARD := /% +endif + +ifeq ($(hidd-i2c_OBJDIR)/linklib,) +hidd-i2c_MC_TARGETS := $(addsuffix .o,$(hidd-i2c_NLIBARCHFILES)) +hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(hidd-i2c_NLIBARCHFILES)) +hidd-i2c_MC_TGTWILDCARD := % +else +ifeq (no,no) + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(notdir $(hidd-i2c_NLIBARCHFILES)))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(notdir $(hidd-i2c_NLIBARCHFILES)))) +else +ifeq (,) + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(hidd-i2c_NLIBARCHFILES))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(hidd-i2c_NLIBARCHFILES))) +else + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(patsubst /%,%,$(hidd-i2c_NLIBARCHFILES)))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(patsubst /%,%,$(hidd-i2c_NLIBARCHFILES)))) +endif +endif +hidd-i2c_MC_TGTWILDCARD := $(hidd-i2c_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : | $(addsuffix .c,$(hidd-i2c_NLIBARCHFILES)) + +# Be sure that all .c files are found +hidd-i2c_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-i2c_MC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-i2c_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-i2c_MC_DIRS := $(foreach dir, $(hidd-i2c_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-i2c_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-i2c_MC_DIRS),) + hidd-i2c_MC_DIRS := $(shell echo $(hidd-i2c_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(hidd-i2c_MC_DIRS) +endif + +endif + +hidd-i2c_MC_CPPFLAGS := $(hidd-i2c_LINKLIBCPPFLAGS) -D__AROS__ +hidd-i2c_CFLAGS := $(hidd-i2c_LINKLIBCFLAGS) +ifeq ($(hidd-i2c_LINKLIBDFLAGS),) + hidd-i2c_DFLAGS := $(hidd-i2c_LINKLIBCFLAGS) +else + hidd-i2c_DFLAGS := $(hidd-i2c_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +hidd-i2c_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +hidd-i2c_STRIP ?= $(TARGET_STRIP) +hidd-i2c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(hidd-i2c_CFLAGS) $(SAFETY_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(hidd-i2c_DFLAGS) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(CFLAGS_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +hidd-i2c_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +hidd-i2c_STRIP ?= $(HOST_STRIP) +hidd-i2c_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(HOST_CC) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_DFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(HOST_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +hidd-i2c_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +hidd-i2c_STRIP ?= $(ECHO) >/dev/null +hidd-i2c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_DFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(KERNEL_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-i2c_MC_TARGETS) : CPPFLAGS := $(hidd-i2c_MC_CPPFLAGS) +$(hidd-i2c_MC_TARGETS) : CFLAGS := $(hidd-i2c_CFLAGS) +$(hidd-i2c_MC_TARGETS) : $(hidd-i2c_MC_TGTWILDCARD).o : $(hidd-i2c_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-i2c_MC_DTARGETS) : $(hidd-i2c_MC_TGTWILDCARD).d : $(hidd-i2c_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-i2c_DFLAGS) $(hidd-i2c_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(hidd-i2c_OBJDIR)/linklib,) +hidd-i2c_MC_SRCWILDCARD := % +else +hidd-i2c_MC_SRCWILDCARD := $(hidd-i2c_OBJDIR)/linklib/% +endif + +ifeq ($(hidd-i2c_OBJDIR)/linklib,) +hidd-i2c_MC_TARGETS := $(addsuffix .o,$(hidd-i2c_LINKLIBCCGENFILES)) +hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(hidd-i2c_LINKLIBCCGENFILES)) +hidd-i2c_MC_TGTWILDCARD := % +else +ifeq (no,no) + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(notdir $(hidd-i2c_LINKLIBCCGENFILES)))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(notdir $(hidd-i2c_LINKLIBCCGENFILES)))) +else +ifeq ($(hidd-i2c_OBJDIR)/linklib,) + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(hidd-i2c_LINKLIBCCGENFILES))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(hidd-i2c_LINKLIBCCGENFILES))) +else + hidd-i2c_MC_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(patsubst $(hidd-i2c_OBJDIR)/linklib/%,%,$(hidd-i2c_LINKLIBCCGENFILES)))) + hidd-i2c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(patsubst $(hidd-i2c_OBJDIR)/linklib/%,%,$(hidd-i2c_LINKLIBCCGENFILES)))) +endif +endif +hidd-i2c_MC_TGTWILDCARD := $(hidd-i2c_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : | $(addsuffix .c,$(hidd-i2c_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +hidd-i2c_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-i2c_MC_BASEDIRS := $(shell echo $(sort $(dir $(hidd-i2c_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-i2c_MC_DIRS := $(foreach dir, $(hidd-i2c_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-i2c_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-i2c_MC_DIRS),) + hidd-i2c_MC_DIRS := $(shell echo $(hidd-i2c_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(hidd-i2c_MC_DIRS) +endif + +endif + +hidd-i2c_MC_CPPFLAGS := $(hidd-i2c_LINKLIBCPPFLAGS) -D__AROS__ +hidd-i2c_CFLAGS := $(hidd-i2c_LINKLIBCFLAGS) +ifeq ($(hidd-i2c_LINKLIBDFLAGS),) + hidd-i2c_DFLAGS := $(hidd-i2c_LINKLIBCFLAGS) +else + hidd-i2c_DFLAGS := $(hidd-i2c_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +hidd-i2c_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +hidd-i2c_STRIP ?= $(TARGET_STRIP) +hidd-i2c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(hidd-i2c_CFLAGS) $(SAFETY_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(hidd-i2c_DFLAGS) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(CFLAGS_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +hidd-i2c_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +hidd-i2c_STRIP ?= $(HOST_STRIP) +hidd-i2c_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(HOST_CC) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(strip $(HOST_CFLAGS) $(hidd-i2c_DFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(HOST_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +hidd-i2c_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +hidd-i2c_STRIP ?= $(ECHO) >/dev/null +hidd-i2c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(hidd-i2c_MC_CPPFLAGS) $(hidd-i2c_MC_EXTRA_CPPFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_CFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(hidd-i2c_DFLAGS)) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE:=$(KERNEL_IQUOTE) +$(hidd-i2c_MC_TARGETS) $(hidd-i2c_MC_DTARGETS) : hidd-i2c_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(hidd-i2c_MC_TARGETS) : CPPFLAGS := $(hidd-i2c_MC_CPPFLAGS) +$(hidd-i2c_MC_TARGETS) : CFLAGS := $(hidd-i2c_CFLAGS) +$(hidd-i2c_MC_TARGETS) : $(hidd-i2c_MC_TGTWILDCARD).o : $(hidd-i2c_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(hidd-i2c_IQUOTE) $(dir $<) $(hidd-i2c_IQUOTE) $(SRCDIR)/$(CURDIR) $(hidd-i2c_IQUOTE) . $(hidd-i2c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(hidd-i2c_MC_DTARGETS) : $(hidd-i2c_MC_TGTWILDCARD).d : $(hidd-i2c_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(hidd-i2c_DFLAGS) $(hidd-i2c_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(hidd-i2c_LINKLIBAFILES),) + +ifeq ($(hidd-i2c_OBJDIR)/linklib,) +hidd-i2c-MA_TARGETS := $(addsuffix .o,$(hidd-i2c_LINKLIBAFILES) $(hidd-i2c_RELLINKLIBAFILES)) +hidd-i2c-MA_WILDCARD := % +else +hidd-i2c-MA_TARGETS := $(addsuffix .o,$(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(notdir $(hidd-i2c_LINKLIBAFILES) $(hidd-i2c_RELLINKLIBAFILES)))) +hidd-i2c-MA_WILDCARD := $(hidd-i2c_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(hidd-i2c-MA_TARGETS) : | $(addsuffix .S,$(hidd-i2c_LINKLIBAFILES) $(hidd-i2c_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +hidd-i2c-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +hidd-i2c-MA_BASEDIRS := $(shell echo $(sort $(dir $(hidd-i2c_LINKLIBAFILES) $(hidd-i2c_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +hidd-i2c-MA_DIRS := $(foreach dir, $(hidd-i2c-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(hidd-i2c-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(hidd-i2c-MA_DIRS),) + hidd-i2c-MA_DIRS := $(shell echo $(hidd-i2c-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(hidd-i2c-MA_DIRS) +endif + +endif + +hidd-i2c-MA_ASSEMBLER ?= $(hidd-i2c_ASSEMBLER) + +$(hidd-i2c-MA_TARGETS) : hidd-i2c-MA_CMD:= $(hidd-i2c-MA_ASSEMBLER) + +$(hidd-i2c-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(hidd-i2c-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(hidd-i2c-MA_TARGETS) : $(hidd-i2c-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(hidd-i2c-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(hidd-i2c-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(hidd-i2c-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +hidd-i2c_SUFFIX := hidd +else +hidd-i2c_SUFFIX := +endif + +ifeq (target,target) +hidd-i2c_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +hidd-i2c_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +hidd-i2c_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(hidd-i2c_SUFFIX),handler) +hidd-i2c_MODULE := $(AROSDIR)/$(hidd-i2c_MODDIR)/$(hidd-i2c_DEFNAME)-$(hidd-i2c_SUFFIX) +else +hidd-i2c_MODULE := $(AROSDIR)/$(hidd-i2c_MODDIR)/$(hidd-i2c_DEFNAME).$(hidd-i2c_SUFFIX) +endif +hidd-i2c_KOBJ := $(KOBJSDIR)/$(hidd-i2c_DEFNAME)_$(hidd-i2c_SUFFIX).o +else +hidd-i2c_MODULE := +hidd-i2c_KOBJ := +endif + +hidd-i2c-quick : hidd-i2c +hidd-i2c : $(hidd-i2c_MODULE) $(hidd-i2c_LINKLIB) $(hidd-i2c_RELLINKLIB) +ifeq (M,M) +hidd-i2c-kobj : $(hidd-i2c_KOBJ) $(hidd-i2c_LINKLIB) $(hidd-i2c_RELLINKLIB) +hidd-i2c-kobj-quick : $(hidd-i2c_KOBJ) $(hidd-i2c_LINKLIB) $(hidd-i2c_RELLINKLIB) +endif +ifeq (M,M) +hidd-i2c-linklib : $(hidd-i2c_LINKLIB) $(hidd-i2c_RELLINKLIB) +endif + +hidd-i2c_OBJS := $(addsuffix .o,$(hidd-i2c_STARTFILES)) $(hidd-i2c_ARCHOBJS) \ + $(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(hidd-i2c_C_NARCHFILES:=.o) $(hidd-i2c_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (hidd,handler) +hidd-i2c_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (i2c,con) + hidd-i2c_ERR := $(notdir $(hidd-i2c_MODULE)).err +else + hidd-i2c_ERR := i2c.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(hidd-i2c_DEFNAME)_LDFLAGS) $(hidd-i2c_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(hidd-i2c_LIBS) $($(hidd-i2c_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(hidd-i2c_MODULE) : LIB_NAMES := $(hidd-i2c_LIBS) $($(hidd-i2c_DEFNAME)_LIBS) +$(hidd-i2c_MODULE) : OBJS := $(hidd-i2c_STARTOBJS) $(hidd-i2c_OBJS) $(USER_OBJS) +$(hidd-i2c_MODULE) : ENDTAG := $(hidd-i2c_ENDOBJS) +$(hidd-i2c_MODULE) : ERR := $(hidd-i2c_ERR) +$(hidd-i2c_MODULE) : OBJDIR := $(hidd-i2c_OBJDIR) +$(hidd-i2c_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(hidd-i2c_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(hidd-i2c_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(hidd-i2c_MODULE) : $(hidd-i2c_STARTOBJS) $(hidd-i2c_OBJS) $(USER_OBJS) $(hidd-i2c_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(hidd-i2c_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(hidd-i2c_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +hidd-i2c_LC_LINKLIBNAME := $(shell echo $(hidd-i2c_LINKLIBNAME) | tr A-Z a-z) +hidd-i2c_LC_MODNAME := $(shell echo i2c | tr A-Z a-z) +ifneq ($(hidd-i2c_LINKLIB),) + +ifeq (target,target) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(HOST_AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(KERNEL_AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(KERNEL_RANLIB) +endif + +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)$(hidd-i2c_LIBSUFFIX).a : $(hidd-i2c_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(hidd-i2c_AR) $@ $^ + $(Q)$(hidd-i2c_RANLIB) $@ +ifneq ($(hidd-i2c_LC_MODNAME),$(hidd-i2c_LC_LINKLIBNAME)) + +ifeq (target,target) +$(hidd-i2c_LIBDIR)/libi2c$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(AR) +$(hidd-i2c_LIBDIR)/libi2c$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(hidd-i2c_LIBDIR)/libi2c$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(HOST_AR) +$(hidd-i2c_LIBDIR)/libi2c$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(hidd-i2c_LIBDIR)/libi2c$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(KERNEL_AR) +$(hidd-i2c_LIBDIR)/libi2c$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(KERNEL_RANLIB) +endif + +$(hidd-i2c_LIBDIR)/libi2c$(hidd-i2c_LIBSUFFIX).a : $(hidd-i2c_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(hidd-i2c_AR) $@ $^ + $(Q)$(hidd-i2c_RANLIB) $@ +endif + + +ifneq ($(hidd-i2c_LINKLIB),) +$(hidd-i2c_LINKLIB) : | $(hidd-i2c_LIBDIR) +else +$(hidd-i2c_LINKLIB) :: $(hidd-i2c_LIBDIR) +endif + +GLOB_MKDIRS += $(hidd-i2c_LIBDIR) + +endif + +ifneq ($(hidd-i2c_RELLINKLIB),) + +ifeq (target,target) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(HOST_AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(KERNEL_AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(KERNEL_RANLIB) +endif + +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_LINKLIBNAME)_rel$(hidd-i2c_LIBSUFFIX).a : $(hidd-i2c_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(hidd-i2c_AR) $@ $^ + $(Q)$(hidd-i2c_RANLIB) $@ +ifneq ($(hidd-i2c_LC_MODNAME),$(hidd-i2c_LC_LINKLIBNAME)) + +ifeq (target,target) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_DEFNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_DEFNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_DEFNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(HOST_AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_DEFNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_DEFNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_AR:=$(KERNEL_AR) +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_DEFNAME)_rel$(hidd-i2c_LIBSUFFIX).a : hidd-i2c_RANLIB:=$(KERNEL_RANLIB) +endif + +$(hidd-i2c_LIBDIR)/lib$(hidd-i2c_DEFNAME)_rel$(hidd-i2c_LIBSUFFIX).a : $(hidd-i2c_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(hidd-i2c_AR) $@ $^ + $(Q)$(hidd-i2c_RANLIB) $@ +endif + + +ifneq ($(hidd-i2c_RELLINKLIB),) +$(hidd-i2c_RELLINKLIB) : | $(hidd-i2c_LIBDIR) +else +$(hidd-i2c_RELLINKLIB) :: $(hidd-i2c_LIBDIR) +endif + +GLOB_MKDIRS += $(hidd-i2c_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +hidd-i2c_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +hidd-i2c_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +hidd-i2c_SYMBOLS := $(hidd-i2c_KBASE) + +hidd-i2c_KLIB := hiddstubs amiga arossupport autoinit libinit +hidd-i2c_KOBJ_LIBS := $(filter-out $(hidd-i2c_KLIB),$(hidd-i2c_LIBS)) $(hidd-i2c_KAUTOLIB) +$(hidd-i2c_KOBJ) : LINKLIBS:=$(hidd-i2c_KOBJ_LIBS) $($(hidd-i2c_DEFNAME)_LIBS) +$(hidd-i2c_KOBJ) : FILTBASES:=$(addprefix -L ,$(hidd-i2c_SYMBOLS)) +$(hidd-i2c_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(hidd-i2c_KOBJ) : $(hidd-i2c_OBJS) $(USER_OBJS) $(hidd-i2c_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +hidd-i2c_DEPS := $(addprefix $(hidd-i2c_OBJDIR)/,$(notdir $(hidd-i2c_CCFILES:=.d) $(hidd-i2c_TARGETCCFILES:=.d) $(hidd-i2c_CXXFILES:=.d))) $(addprefix $(hidd-i2c_OBJDIR)/linklib/,$(notdir $(hidd-i2c_LINKLIBCCFILES:=.d))) + +ifneq ($(hidd-i2c_DEPS),) + ifneq (hidd-i2c hidd-i2c-quick hidd-i2c-kobj hidd-i2c-kobj-quick,) + ifneq ($(findstring $(TARGET),hidd-i2c hidd-i2c-quick hidd-i2c-kobj hidd-i2c-kobj-quick),) + -include $(hidd-i2c_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(hidd-i2c_DEPS) + endif + endif +endif + +$(hidd-i2c_OBJS) $(hidd-i2c_DEPS) : | $(hidd-i2c_OBJDIR)/linklib + +ifneq ($(hidd-i2c_OBJS) $(hidd-i2c_DEPS) $(hidd-i2c_MODULE) $(hidd-i2c_KOBJ),) +$(hidd-i2c_OBJS) $(hidd-i2c_DEPS) $(hidd-i2c_MODULE) $(hidd-i2c_KOBJ) : | $(hidd-i2c_OBJDIR) $(AROSDIR)/$(hidd-i2c_MODDIR) $(KOBJSDIR) +else +$(hidd-i2c_OBJS) $(hidd-i2c_DEPS) $(hidd-i2c_MODULE) $(hidd-i2c_KOBJ) :: $(hidd-i2c_OBJDIR) $(AROSDIR)/$(hidd-i2c_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(hidd-i2c_OBJDIR) $(AROSDIR)/$(hidd-i2c_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),hidd-i2c hidd-i2c-includes hidd-i2c-quick hidd-i2c-kobj hidd-i2c-kobj-quick),) # Only for this target these deps are wanted + +hidd-i2c_DFILE_DEPS := $(hidd-i2c_LIBDEFSINC) $(hidd-i2c_DEFLIBDEFSINC) \ + $(addprefix $(hidd-i2c_INCDIR)/,$($(hidd-i2c_DEFNAME)_INCLUDES)) +$(hidd-i2c_DEPS) : $(hidd-i2c_DFILE_DEPS) +endif + +hidd-i2c_TOCLEAN := $(hidd-i2c_OBJS) $(hidd-i2c_DEPS) \ + $(hidd-i2c_MODULE) $(hidd-i2c_LINKLIB) $(hidd-i2c_KOBJ) \ + $(hidd-i2c_OBJDIR)/Makefile.i2chidd \ + $(addprefix $(hidd-i2c_OBJDIR)/include/,$($(hidd-i2c_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(hidd-i2c_DEFNAME)_INCLUDES)) \ + $(addprefix $(hidd-i2c_INCDIR)/,$($(hidd-i2c_DEFNAME)_INCLUDES)) \ + $(hidd-i2c_OBJDIR)/i2c_geninc $(hidd-i2c_OBJDIR)/i2c_incs \ + $(addsuffix .c,$(hidd-i2c_LINKLIBFILES)) $(hidd-i2c_LINKLIBOBJS) $(hidd-i2c_LIBDEFSINC) \ + $(hidd-i2c_DEFLIBDEFSINC) $(addsuffix .c,$(hidd-i2c_STARTFILES) $(hidd-i2c_ENDFILES)) \ + $(hidd-i2c_ENDOBJS) +hidd-i2c-clean : FILES := $(hidd-i2c_TOCLEAN) +hidd-i2c-clean :: + $(Q)$(ECHO) "Cleaning up for module i2c" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(hidd-i2c_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/hidds/i2c/stubs/mmakefile b/workbench/hidds/i2c/stubs/mmakefile new file mode 100644 index 00000000000..0095620a2b0 --- /dev/null +++ b/workbench/hidds/i2c/stubs/mmakefile @@ -0,0 +1,68 @@ +#$Id$ + +include $(SRCDIR)/config/aros.cfg + +MODNAME := i2c +MODTYPE := hidd + +USER_CFLAGS := -DAROS_USE_OOP -I. + +FILES := +STUBS := $(MODNAME)_stubs + +STUBS_SRC := $(addprefix $(SRCDIR)/$(CURDIR)/,$(addsuffix .c,$(STUBS))) +STUBS_MEM := $(addsuffix .o,$(STUBS)) +STUBS_OBJ := $(addprefix $(OBJDIR)/,$(STUBS_MEM)) +STUBS_DEP := $(addprefix $(OBJDIR)/,$(addsuffix .d,$(STUBS))) +HIDD_LIB := $(AROS_LIB)/libhiddstubs.a + +#MM- linklibs : hidd-i2c-stubs +#MM- linklibs: hidd-i2c-stubs +#MM hidd-i2c-stubs : includes includes-copy +hidd-i2c-stubs : setup $(HIDD_LIB)($(STUBS_MEM)) + +$(HIDD_LIB)($(STUBS_MEM)) : $(STUBS_OBJ) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(AR) $@ $^ + $(Q)$(RANLIB) $@ + +$(STUBS_OBJ) : $(STUBS_SRC) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(STUBS_DEP) : $(STUBS_SRC) + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(strip $(AROS_CC) $(TARGET_SYSROOT))" $(MKDEPEND) $(strip $(CFLAGS) $(CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +setup :: + $(Q)$(FOR) dir in $(OBJDIR) $(AROS_LIB) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + +#MM +clean :: + -@$(RM) $(HIDD_LIB) $(OBJDIR) + +DEPS := $(DEPS) $(STUBS_DEP) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/codesets/charsets/mmakefile b/workbench/libs/codesets/charsets/mmakefile new file mode 100644 index 00000000000..5f71ac3db44 --- /dev/null +++ b/workbench/libs/codesets/charsets/mmakefile @@ -0,0 +1,26 @@ +# $Id$ + +# AROS metamakefile for codesetslib + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-libs-codesets : workbench-libs-codesets-charsets + +#MM workbench-libs-codesets-charsets + + +.PHONY : workbench-libs-codesets-charsets + +#MM +workbench-libs-codesets-charsets : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s $(SRCDIR)/$(CURDIR) -d $(AROS_LIBRARIES)/Charsets -e + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/codesets/developer/examples/mmakefile b/workbench/libs/codesets/developer/examples/mmakefile new file mode 100644 index 00000000000..6f770f74bbe --- /dev/null +++ b/workbench/libs/codesets/developer/examples/mmakefile @@ -0,0 +1,303 @@ +# $Id$ + +# AROS metamakefile for codesetslib + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-libs-codesets : workbench-libs-codesets-test + +#MM workbench-libs-codesets-test : linklibs includes workbench-libs-codesets-lib + +FILES := b64d b64e DetectCodeset UTF8ToStrHook demo1 Convert autoopen + +EXEDIR := $(AROS_TESTS)/Codesetslib + +# We need to use -idirafter, so that we +# *don't* pick up the project's local MUI headers. +USER_CFLAGS = -idirafter $(SRCDIR)/$(CURDIR)/../include \ + -idirafter $(SRCDIR)/$(CURDIR)/../../include \ + -DAROS_ABI_V1 + + +.PHONY : workbench-libs-codesets-test + +workbench-libs-codesets-test_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-libs-codesets-test_TARGETDIR := $(EXEDIR) +workbench-libs-codesets-test_LIBS := + +workbench-libs-codesets-test_FILES := $(FILES) +workbench-libs-codesets-test_OBJS := $(addsuffix .o,$(addprefix $(workbench-libs-codesets-test_OBJDIR)/,$(workbench-libs-codesets-test_FILES))) +workbench-libs-codesets-test_DEPS := $(addsuffix .d,$(addprefix $(workbench-libs-codesets-test_OBJDIR)/,$(workbench-libs-codesets-test_FILES))) +workbench-libs-codesets-test_EXES := $(addprefix $(workbench-libs-codesets-test_TARGETDIR)/,$(workbench-libs-codesets-test_FILES)) + +workbench-libs-codesets-test_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-codesets-test_CPPFLAGS += -I +endif +workbench-libs-codesets-test_CFLAGS := $(CFLAGS) +workbench-libs-codesets-test_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-libs-codesets-test_COVERAGE := yes +workbench-libs-codesets-test_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-libs-codesets-test_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-libs-codesets-test_CFLAGS := $(strip $(workbench-libs-codesets-test_COVERAGEFLAGS) $(workbench-libs-codesets-test_CFLAGS)) +workbench-libs-codesets-test_LIBS += $(workbench-libs-codesets-test_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-codesets-test_FUNCINSTR := yes +workbench-libs-codesets-test_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-libs-codesets-test_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-libs-codesets-test_CFLAGS := $(strip $(workbench-libs-codesets-test_INSTRFUNCFLAGS) $(workbench-libs-codesets-test_CFLAGS)) +workbench-libs-codesets-test_LIBS += $(workbench-libs-codesets-test_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-libs-codesets-test_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-libs-codesets-test_CFLAGS)) +endif +endif +ifneq (,) + workbench-libs-codesets-test_DFLAGS := +else + workbench-libs-codesets-test_DFLAGS := $(workbench-libs-codesets-test_CFLAGS) +endif +ifeq (target,target) +workbench-libs-codesets-test_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-libs-codesets-test_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-libs-codesets-test_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + workbench-libs-codesets-test_LDFLAGS += -L +endif + +#MM +workbench-libs-codesets-test-quick : workbench-libs-codesets-test + +#MM workbench-libs-codesets-test : includes-generate-deps core-linklibs +workbench-libs-codesets-test : $(workbench-libs-codesets-test_EXES) + +ifneq ($(filter $(TARGET),workbench-libs-codesets-test workbench-libs-codesets-test-quick),) + +ifeq (,) +workbench-libs-codesets-test_MC_SRCWILDCARD := % +else +workbench-libs-codesets-test_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-codesets-test_OBJDIR),) +workbench-libs-codesets-test_MC_TARGETS := $(addsuffix .o,$(workbench-libs-codesets-test_FILES)) +workbench-libs-codesets-test_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-codesets-test_FILES)) +workbench-libs-codesets-test_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-codesets-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-codesets-test_OBJDIR)/,$(notdir $(workbench-libs-codesets-test_FILES)))) + workbench-libs-codesets-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-codesets-test_OBJDIR)/,$(notdir $(workbench-libs-codesets-test_FILES)))) +else +ifeq (,) + workbench-libs-codesets-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-codesets-test_OBJDIR)/,$(workbench-libs-codesets-test_FILES))) + workbench-libs-codesets-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-codesets-test_OBJDIR)/,$(workbench-libs-codesets-test_FILES))) +else + workbench-libs-codesets-test_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-codesets-test_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-codesets-test_FILES)))) + workbench-libs-codesets-test_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-codesets-test_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-codesets-test_FILES)))) +endif +endif +workbench-libs-codesets-test_MC_TGTWILDCARD := $(workbench-libs-codesets-test_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-codesets-test_FILES)) + +# Be sure that all .c files are found +workbench-libs-codesets-test_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-codesets-test_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-codesets-test_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-codesets-test_MC_DIRS := $(foreach dir, $(workbench-libs-codesets-test_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-codesets-test_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-codesets-test_MC_DIRS),) + workbench-libs-codesets-test_MC_DIRS := $(shell echo $(workbench-libs-codesets-test_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-codesets-test_MC_DIRS) +endif + +endif + +workbench-libs-codesets-test_MC_CPPFLAGS := $(workbench-libs-codesets-test_CPPFLAGS) +workbench-libs-codesets-test_CFLAGS := $(workbench-libs-codesets-test_CFLAGS) +ifeq ($(workbench-libs-codesets-test_DFLAGS),) + workbench-libs-codesets-test_DFLAGS := $(workbench-libs-codesets-test_CFLAGS) +else + workbench-libs-codesets-test_DFLAGS := $(workbench-libs-codesets-test_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-codesets-test_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-codesets-test_STRIP ?= $(TARGET_STRIP) +workbench-libs-codesets-test_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_MC_CPPFLAGS:=$(strip $(workbench-libs-codesets-test_MC_CPPFLAGS) $(workbench-libs-codesets-test_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_CFLAGS:=$(strip $(workbench-libs-codesets-test_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_DFLAGS:=$(workbench-libs-codesets-test_DFLAGS) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-codesets-test_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-codesets-test_STRIP ?= $(HOST_STRIP) +workbench-libs-codesets-test_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-codesets-test_MC_CPPFLAGS) $(workbench-libs-codesets-test_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-codesets-test_CFLAGS)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-codesets-test_DFLAGS)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-codesets-test_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-codesets-test_STRIP ?= $(ECHO) >/dev/null +workbench-libs-codesets-test_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-codesets-test_MC_CPPFLAGS) $(workbench-libs-codesets-test_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-codesets-test_CFLAGS)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-codesets-test_DFLAGS)) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-codesets-test_MC_TARGETS) $(workbench-libs-codesets-test_MC_DTARGETS) : workbench-libs-codesets-test_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-codesets-test_MC_TARGETS) : CPPFLAGS := $(workbench-libs-codesets-test_MC_CPPFLAGS) +$(workbench-libs-codesets-test_MC_TARGETS) : CFLAGS := $(workbench-libs-codesets-test_CFLAGS) +$(workbench-libs-codesets-test_MC_TARGETS) : $(workbench-libs-codesets-test_MC_TGTWILDCARD).o : $(workbench-libs-codesets-test_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-codesets-test_IQUOTE) $(dir $<) $(workbench-libs-codesets-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets-test_IQUOTE) . $(workbench-libs-codesets-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-codesets-test_IQUOTE) $(dir $<) $(workbench-libs-codesets-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets-test_IQUOTE) . $(workbench-libs-codesets-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-codesets-test_IQUOTE) $(dir $<) $(workbench-libs-codesets-test_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets-test_IQUOTE) . $(workbench-libs-codesets-test_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-codesets-test_MC_DTARGETS) : $(workbench-libs-codesets-test_MC_TGTWILDCARD).d : $(workbench-libs-codesets-test_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-codesets-test_DFLAGS) $(workbench-libs-codesets-test_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +workbench-libs-codesets-test-link_EXTRA_LDFLAGS := +workbench-libs-codesets-test-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-libs-codesets-test-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-libs-codesets-test-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-libs-codesets-test-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +workbench-libs-codesets-test-link_DIRS := $(subst -L ,-L,$(strip $(workbench-libs-codesets-test_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-libs-codesets-test-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-libs-codesets-test-link_DIRS))) +# Add trailing / +workbench-libs-codesets-test-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-libs-codesets-test-link_DIRS))) +# Add normal linklib path +workbench-libs-codesets-test-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-libs-codesets-test-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-libs-codesets-test_LIBS) $(workbench-libs-codesets-test-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +workbench-libs-codesets-test-link_DEPLIBS := $(foreach lib,$(workbench-libs-codesets-test-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-libs-codesets-test-link_DIRS)))) \ +) +workbench-libs-codesets-test-link_PROGS := $(addprefix $(workbench-libs-codesets-test_TARGETDIR)/,$(workbench-libs-codesets-test_FILES)) + +$(workbench-libs-codesets-test-link_PROGS) : OBJDIR := $(workbench-libs-codesets-test_OBJDIR) +$(workbench-libs-codesets-test-link_PROGS) : LDFLAGS := $(strip $(workbench-libs-codesets-test_LDFLAGS) $(workbench-libs-codesets-test-link_EXTRA_LDFLAGS)) +$(workbench-libs-codesets-test-link_PROGS) : LIBS := $(addprefix -l,$(workbench-libs-codesets-test_LIBS) $(workbench-libs-codesets-test-link_EXTRA_LIBS) ) +$(workbench-libs-codesets-test-link_PROGS) : $(workbench-libs-codesets-test_TARGETDIR)/% : $(workbench-libs-codesets-test_OBJDIR)/%.o $(workbench-libs-codesets-test-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-libs-codesets-test_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-libs-codesets-test_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-libs-codesets-test_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-libs-codesets-test_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-libs-codesets-test_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-libs-codesets-test_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-libs-codesets-test_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-libs-codesets-test_DEPS),) + ifneq (workbench-libs-codesets-test workbench-libs-codesets-test-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-codesets-test workbench-libs-codesets-test-quick),) + -include $(workbench-libs-codesets-test_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-codesets-test_DEPS) + endif + endif +endif + + +ifneq ($(workbench-libs-codesets-test_DEPS) $(workbench-libs-codesets-test_OBJS) $(addprefix $(workbench-libs-codesets-test_TARGETDIR)/,$(workbench-libs-codesets-test_FILES)),) +$(workbench-libs-codesets-test_DEPS) $(workbench-libs-codesets-test_OBJS) $(addprefix $(workbench-libs-codesets-test_TARGETDIR)/,$(workbench-libs-codesets-test_FILES)) : | $(workbench-libs-codesets-test_TARGETDIR) $(workbench-libs-codesets-test_OBJDIR) +else +$(workbench-libs-codesets-test_DEPS) $(workbench-libs-codesets-test_OBJS) $(addprefix $(workbench-libs-codesets-test_TARGETDIR)/,$(workbench-libs-codesets-test_FILES)) :: $(workbench-libs-codesets-test_TARGETDIR) $(workbench-libs-codesets-test_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-codesets-test_TARGETDIR) $(workbench-libs-codesets-test_OBJDIR) + + +workbench-libs-codesets-test-clean : FILES := $(workbench-libs-codesets-test_OBJS) $(workbench-libs-codesets-test_EXES) $(workbench-libs-codesets-test_DEPS) +#MM +workbench-libs-codesets-test-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-libs-codesets-test" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/codesets/developer/mmakefile b/workbench/libs/codesets/developer/mmakefile new file mode 100644 index 00000000000..5afdab69816 --- /dev/null +++ b/workbench/libs/codesets/developer/mmakefile @@ -0,0 +1,45 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- includes-copy: workbench-libs-codesets-includes workbench-libs-codesets-fd + +#MM workbench-libs-codesets-includes : \ +#MM kernel-exec-includes \ +#MM kernel-dos-includes \ +#MM kernel-utility-includes + + +.PHONY : workbench-libs-codesets-includes + +#MM +workbench-libs-codesets-includes : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s $(SRCDIR)/$(CURDIR)/include -d $(AROS_INCLUDES)/ -e + + + +workbench-libs-codesets-fd_SRC := $(shell echo fd | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROS_SDK_FD) +else +setup :: $(AROS_SDK_FD) +endif + +GLOB_MKDIRS += $(AROS_SDK_FD) + + +.PHONY : workbench-libs-codesets-fd + +#MM +workbench-libs-codesets-fd : | $(AROS_SDK_FD) + $(foreach file, codesets_lib.fd, $(shell $(CP) $(addprefix $(if $(filter /%,$(workbench-libs-codesets-fd_SRC)),$(workbench-libs-codesets-fd_SRC),$(SRCDIR)/$(CURDIR)/$(workbench-libs-codesets-fd_SRC))/, $(file)) $(addprefix $(AROS_SDK_FD)/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/codesets/libcodesets/mmakefile b/workbench/libs/codesets/libcodesets/mmakefile new file mode 100644 index 00000000000..48e9afc5bc8 --- /dev/null +++ b/workbench/libs/codesets/libcodesets/mmakefile @@ -0,0 +1,53 @@ +include $(SRCDIR)/config/aros.cfg + +#MM- core-linklibs : linklibs-codesets + +CODESETS_LIB := $(AROS_LIB)/libcodesets.a + +#MM- linklibs-codesets: includes linklibs-codesets-quick +#MM linklibs-codesets-quick : linklibs-codesets-setup + +#MM +linklibs-codesets-quick : $(CODESETS_LIB) + +FILES = autoinit-aros + +OBJS := $(foreach f,$(FILES),$(OBJDIR)/$(f).o) + +$(CODESETS_LIB) : $(OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(AR) $@ $^ + $(Q)$(RANLIB) $@ + +$(OBJDIR)/%.o : %.c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(strip $(TARGET_CC) $(TARGET_SYSROOT)) $(CFLAGS_IQUOTE) $(dir $<) $(CFLAGS_IQUOTE) $(SRCDIR)/$(CURDIR) $(CFLAGS_IQUOTE) . $(CFLAGS_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +#MM +linklibs-codesets-setup : + $(Q)$(FOR) dir in $(OBJDIR) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + $(Q)$(FOR) dir in $(AROS_LIB) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/codesets/src/mmakefile b/workbench/libs/codesets/src/mmakefile new file mode 100644 index 00000000000..9412c15d7fa --- /dev/null +++ b/workbench/libs/codesets/src/mmakefile @@ -0,0 +1,584 @@ +# $Id$ + +# AROS metamakefile for codesetslib + +include $(SRCDIR)/config/aros.cfg + +FILES := \ + libinit \ + init \ + utils \ + base64 \ + convertUTF \ + codesets \ + codepages \ + debug \ + stubs-aros + +# We need to use -idirafter, so that we +# *don't* pick up the project's local MUI headers. +USER_INCLUDES = -I. -idirafter $(SRCDIR)/$(CURDIR)/../include +USER_CPPFLAGS := -DAROS_ABI_V1 +USER_LDFLAGS := -static + +#MM workbench-libs-codesets : workbench-libs-codesets-includes + + +# Define metamake targets and their dependencies +#MM workbench-libs-codesets : core-linklibs includes-generate-deps +#MM workbench-libs-codesets-kobj : core-linklibs includes-generate-deps +#MM workbench-libs-codesets-kobj-quick +#MM workbench-libs-codesets-quick +#MM workbench-libs-codesets-clean + +workbench-libs-codesets_ALLTARGETS := workbench-libs-codesets workbench-libs-codesets-clean workbench-libs-codesets-quick workbench-libs-codesets-kobj + +.PHONY : $(workbench-libs-codesets_ALLTARGETS) + +ifeq (codesets,) +$(error using %build_module_simple: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module_simple: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +workbench-libs-codesets_DEFLINKLIBNAME := codesets +workbench-libs-codesets_CFLAGS := $(CFLAGS) +workbench-libs-codesets_CXXFLAGS := $(CXXFLAGS) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-codesets_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(workbench-libs-codesets_CFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-codesets_FUNCINSTR := yes +workbench-libs-codesets_CFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-codesets_CFLAGS)) +endif +endif +ifneq (,) + workbench-libs-codesets_DFLAGS := +else + workbench-libs-codesets_DFLAGS := $(workbench-libs-codesets_CFLAGS) +endif +workbench-libs-codesets_DEFDXXFLAGS := +OBJDIR ?= $(GENDIR)/$(CURDIR) +workbench-libs-codesets_MODDIR := +ifeq ($(workbench-libs-codesets_MODDIR),) + ifeq (library,library) + workbench-libs-codesets_MODDIR := $(AROS_LIBRARIES) + endif + ifeq (library,gadget) + workbench-libs-codesets_MODDIR := $(AROS_GADGETS) + endif + ifeq (library,datatype) + workbench-libs-codesets_MODDIR := $(AROS_DATATYPES) + endif + ifeq (library,handler) + workbench-libs-codesets_MODDIR := $(AROS_FS) + endif + ifeq (library,device) + workbench-libs-codesets_MODDIR := $(AROS_DEVS) + endif + ifeq (library,resource) + workbench-libs-codesets_MODDIR := $(AROS_RESOURCES) + endif + ifeq (library,hook) + workbench-libs-codesets_MODDIR := $(AROS_RESOURCES) + endif + ifeq (library,mui) + workbench-libs-codesets_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,mcc) + workbench-libs-codesets_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,mcp) + workbench-libs-codesets_MODDIR := $(AROS_CLASSES)/Zune + endif + ifeq (library,usbclass) + workbench-libs-codesets_MODDIR := $(AROS_CLASSES)/USB + endif + ifeq (library,hidd) + workbench-libs-codesets_MODDIR := $(AROS_DRIVERS) + endif + ifeq (library,printer) + workbench-libs-codesets_MODDIR := $(AROS_PRINTERS) + endif +endif +ifeq ($(workbench-libs-codesets_MODDIR),) + $(error Don't know where to put the file for modtype library. Specify moduledir=) +endif + +workbench-libs-codesets_ARCHOBJS := $(wildcard $(OBJDIR)/arch/*.o) +workbench-libs-codesets_ARCHFILES := $(basename $(notdir $(workbench-libs-codesets_ARCHOBJS))) +workbench-libs-codesets_C_NARCHFILES := $(filter-out $(workbench-libs-codesets_ARCHFILES),$(FILES)) +workbench-libs-codesets_CXX_NARCHFILES := $(filter-out $(workbench-libs-codesets_ARCHFILES),$(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT))))) +workbench-libs-codesets_OBJC_NARCHFILES := $(filter-out $(workbench-libs-codesets_ARCHFILES),) + + +workbench-libs-codesets_CXXABSBASENAMES := $(foreach workbench-libs-codesets_CXXBASE,$(workbench-libs-codesets_CXX_NARCHFILES),$(if $(filter /%,$(workbench-libs-codesets_CXXBASE)),$(workbench-libs-codesets_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-libs-codesets_CXXBASE)))) + +ifneq ($(workbench-libs-codesets_CXXABSBASENAMES),) + +workbench-libs-codesets_CXXBASENAMES := $(basename $(workbench-libs-codesets_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-libs-codesets_MCXX_FILES := $(strip $(foreach workbench-libs-codesets_CXXBASE,$(workbench-libs-codesets_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-libs-codesets_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-libs-codesets_EXT),$(workbench-libs-codesets_CXXBASE))))))) + +ifeq (,) +workbench-libs-codesets_MCXX_SRCWILDCARD := % +else +workbench-libs-codesets_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + workbench-libs-codesets_CXXTARGETS := $(notdir $(workbench-libs-codesets_CXXBASENAMES:=.o)) + workbench-libs-codesets_CXXDTARGETS := $(notdir $(workbench-libs-codesets_CXXBASENAMES:=.d)) + workbench-libs-codesets_MCXX_WILDCARD := % +else + workbench-libs-codesets_CXXTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(workbench-libs-codesets_CXXBASENAMES:=.o))) + workbench-libs-codesets_CXXDTARGETS := $(addprefix $(OBJDIR)/,$(notdir $(workbench-libs-codesets_CXXBASENAMES:=.d))) + workbench-libs-codesets_MCXX_WILDCARD := $(OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-libs-codesets_CXXTARGETS) $(workbench-libs-codesets_CXXDTARGETS) : | $(workbench-libs-codesets_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-libs-codesets_MCXX_CPPFLAGS := $(CPPFLAGS) +workbench-libs-codesets_CXXFLAGS := $(workbench-libs-codesets_CXXFLAGS) +ifeq ($(workbench-libs-codesets_DXXFLAGS),) + workbench-libs-codesets_DXXFLAGS := $(workbench-libs-codesets_CXXFLAGS) +else + workbench-libs-codesets_DXXFLAGS := $(workbench-libs-codesets_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-libs-codesets_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-libs-codesets_STRIP ?= $(HOST_STRIP) + workbench-libs-codesets_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-libs-codesets_CXXCMD:=$(HOST_CXX) + workbench-libs-codesets_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-libs-codesets_MCXX_CPPFLAGS) $(workbench-libs-codesets_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-codesets_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-codesets_CXXFLAGS)) + workbench-libs-codesets_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-codesets_DXXFLAGS)) + workbench-libs-codesets_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-libs-codesets_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-libs-codesets_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-codesets_STRIP ?= $(TARGET_STRIP) + workbench-libs-codesets_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-libs-codesets_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-libs-codesets_MCXX_CPPFLAGS := $(strip $(workbench-libs-codesets_MCXX_CPPFLAGS) $(workbench-libs-codesets_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-codesets_CXXFLAGS := $(strip $(workbench-libs-codesets_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-libs-codesets_DXXFLAGS := $(workbench-libs-codesets_DXXFLAGS) + workbench-libs-codesets_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-libs-codesets_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-libs-codesets_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-codesets_STRIP ?= $(ECHO) >/dev/null + workbench-libs-codesets_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-libs-codesets_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-libs-codesets_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-libs-codesets_MCXX_CPPFLAGS) $(workbench-libs-codesets_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-codesets_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-codesets_CXXFLAGS)) + workbench-libs-codesets_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-codesets_DXXFLAGS)) + workbench-libs-codesets_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-libs-codesets_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-libs-codesets_CXXCMD) $(workbench-libs-codesets_CXXIQUOTE) $(dir $(2)) $(workbench-libs-codesets_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_CXXIQUOTE) . $(workbench-libs-codesets_CXXIQUOTE_END) $(strip $(workbench-libs-codesets_CXXFLAGS) $(workbench-libs-codesets_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-libs-codesets_CXXCMD) $(workbench-libs-codesets_CXXIQUOTE) $(dir $(2)) $(workbench-libs-codesets_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_CXXIQUOTE) . $(workbench-libs-codesets_CXXIQUOTE_END) $(strip $(workbench-libs-codesets_CXXFLAGS) $(workbench-libs-codesets_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-libs-codesets_CXXCMD) $(workbench-libs-codesets_CXXIQUOTE) $(dir $(2)) $(workbench-libs-codesets_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_CXXIQUOTE) . $(workbench-libs-codesets_CXXIQUOTE_END) $(strip $(workbench-libs-codesets_CXXFLAGS) $(workbench-libs-codesets_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-libs-codesets_CXXCMD)" $(MKDEPEND) $(strip $(workbench-libs-codesets_DXXFLAGS) $(workbench-libs-codesets_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(OBJDIR),) + $(foreach workbench-libs-codesets_CXXFILE,$(workbench-libs-codesets_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-libs-codesets_CXXFILE))),$(workbench-libs-codesets_CXXFILE)))) +else + $(foreach workbench-libs-codesets_CXXFILE,$(workbench-libs-codesets_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(OBJDIR)/,$(notdir $(basename $(workbench-libs-codesets_CXXFILE)))),$(workbench-libs-codesets_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-libs-codesets_OBJC_NARCHFILES),) + +ifeq (,) +workbench-libs-codesets_MOBJC_SRCWILDCARD := % +else +workbench-libs-codesets_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) + workbench-libs-codesets_MOBJC_TARGETS := $(addsuffix .o,$(workbench-libs-codesets_OBJC_NARCHFILES)) + workbench-libs-codesets_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-libs-codesets_OBJC_NARCHFILES)) + workbench-libs-codesets_MOBJC_WILDCARD := % +else + workbench-libs-codesets_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(workbench-libs-codesets_OBJC_NARCHFILES))) + workbench-libs-codesets_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(workbench-libs-codesets_OBJC_NARCHFILES))) + workbench-libs-codesets_MOBJC_WILDCARD := $(OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-libs-codesets_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-libs-codesets_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-codesets_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-codesets_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-libs-codesets_MOBJC_DIRS := $(foreach dir, $(workbench-libs-codesets_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-codesets_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-libs-codesets_MOBJC_DIRS),) + workbench-libs-codesets_MOBJC_DIRS := $(shell echo $(workbench-libs-codesets_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-libs-codesets_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-libs-codesets_CC := $(TARGET_CC) +else + workbench-libs-codesets_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-libs-codesets_MOBJC_CPPFLAGS := $(CPPFLAGS) +workbench-libs-codesets_OBJCFLAGS := $(workbench-libs-codesets_CFLAGS) +workbench-libs-codesets_OBJCFLAGS := $(workbench-libs-codesets_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-libs-codesets_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-libs-codesets_OBJCFLAGS))) +ifeq ($(workbench-libs-codesets_DFLAGS),) + workbench-libs-codesets_OBJCDFLAGS := $(workbench-libs-codesets_CFLAGS) +else + workbench-libs-codesets_OBJCDFLAGS := $(workbench-libs-codesets_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-libs-codesets_LINK ?= $(strip $(workbench-libs-codesets_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-codesets_STRIP ?= $(TARGET_STRIP) + workbench-libs-codesets_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-libs-codesets_CC) $(TARGET_SYSROOT)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_MOBJC_CPPFLAGS:=$(strip $(workbench-libs-codesets_MOBJC_CPPFLAGS) $(workbench-libs-codesets_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_OBJCFLAGS:=$(strip $(workbench-libs-codesets_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_OBJCDFLAGS:=$(workbench-libs-codesets_OBJCDFLAGS) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-libs-codesets_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-libs-codesets_STRIP ?= $(HOST_STRIP) + workbench-libs-codesets_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-libs-codesets_MOBJC_CPPFLAGS) $(workbench-libs-codesets_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-codesets_OBJCFLAGS)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-codesets_OBJCDFLAGS)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_IQUOTE:=$(HOST_IQUOTE) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-libs-codesets_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-codesets_STRIP ?= $(ECHO) >/dev/null + workbench-libs-codesets_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-libs-codesets_MOBJC_CPPFLAGS) $(workbench-libs-codesets_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-codesets_OBJCFLAGS)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-codesets_OBJCDFLAGS)) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-libs-codesets_MOBJC_TARGETS) $(workbench-libs-codesets_MOBJC_DTARGETS) : workbench-libs-codesets_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-codesets_MOBJC_TARGETS) : CPPFLAGS := $(workbench-libs-codesets_MOBJC_CPPFLAGS) +$(workbench-libs-codesets_MOBJC_TARGETS) : CFLAGS := $(workbench-libs-codesets_OBJCFLAGS) +$(workbench-libs-codesets_MOBJC_TARGETS) : $(workbench-libs-codesets_MOBJC_WILDCARD).o : $(workbench-libs-codesets_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-codesets_IQUOTE) $(dir $<) $(workbench-libs-codesets_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_IQUOTE) . $(workbench-libs-codesets_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-codesets_IQUOTE) $(dir $<) $(workbench-libs-codesets_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_IQUOTE) . $(workbench-libs-codesets_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-codesets_IQUOTE) $(dir $<) $(workbench-libs-codesets_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_IQUOTE) . $(workbench-libs-codesets_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-codesets_MOBJC_DTARGETS) : $(workbench-libs-codesets_MOBJC_WILDCARD).d : $(workbench-libs-codesets_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-codesets_OBJCDFLAGS) $(workbench-libs-codesets_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-libs-codesets_MC_SRCWILDCARD := % +else +workbench-libs-codesets_MC_SRCWILDCARD := /% +endif + +ifeq ($(OBJDIR),) +workbench-libs-codesets_MC_TARGETS := $(addsuffix .o,$(workbench-libs-codesets_C_NARCHFILES)) +workbench-libs-codesets_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-codesets_C_NARCHFILES)) +workbench-libs-codesets_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-codesets_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(notdir $(workbench-libs-codesets_C_NARCHFILES)))) + workbench-libs-codesets_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(notdir $(workbench-libs-codesets_C_NARCHFILES)))) +else +ifeq (,) + workbench-libs-codesets_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(workbench-libs-codesets_C_NARCHFILES))) + workbench-libs-codesets_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(workbench-libs-codesets_C_NARCHFILES))) +else + workbench-libs-codesets_MC_TARGETS := $(addsuffix .o,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(workbench-libs-codesets_C_NARCHFILES)))) + workbench-libs-codesets_MC_DTARGETS := $(addsuffix .d,$(addprefix $(OBJDIR)/,$(patsubst /%,%,$(workbench-libs-codesets_C_NARCHFILES)))) +endif +endif +workbench-libs-codesets_MC_TGTWILDCARD := $(OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-codesets_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-libs-codesets_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-codesets_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-codesets_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-codesets_MC_DIRS := $(foreach dir, $(workbench-libs-codesets_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-codesets_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-codesets_MC_DIRS),) + workbench-libs-codesets_MC_DIRS := $(shell echo $(workbench-libs-codesets_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-codesets_MC_DIRS) +endif + +endif + +workbench-libs-codesets_MC_CPPFLAGS := $(CPPFLAGS) +workbench-libs-codesets_CFLAGS := $(workbench-libs-codesets_CFLAGS) +ifeq ($(workbench-libs-codesets_DFLAGS),) + workbench-libs-codesets_DFLAGS := $(workbench-libs-codesets_CFLAGS) +else + workbench-libs-codesets_DFLAGS := $(workbench-libs-codesets_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-codesets_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-codesets_STRIP ?= $(TARGET_STRIP) +workbench-libs-codesets_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_MC_CPPFLAGS:=$(strip $(workbench-libs-codesets_MC_CPPFLAGS) $(workbench-libs-codesets_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_CFLAGS:=$(strip $(workbench-libs-codesets_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_DFLAGS:=$(workbench-libs-codesets_DFLAGS) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-codesets_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-codesets_STRIP ?= $(HOST_STRIP) +workbench-libs-codesets_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-codesets_MC_CPPFLAGS) $(workbench-libs-codesets_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-codesets_CFLAGS)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-codesets_DFLAGS)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-codesets_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-codesets_STRIP ?= $(ECHO) >/dev/null +workbench-libs-codesets_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-codesets_MC_CPPFLAGS) $(workbench-libs-codesets_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-codesets_CFLAGS)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-codesets_DFLAGS)) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-codesets_MC_TARGETS) $(workbench-libs-codesets_MC_DTARGETS) : workbench-libs-codesets_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-codesets_MC_TARGETS) : CPPFLAGS := $(workbench-libs-codesets_MC_CPPFLAGS) +$(workbench-libs-codesets_MC_TARGETS) : CFLAGS := $(workbench-libs-codesets_CFLAGS) +$(workbench-libs-codesets_MC_TARGETS) : $(workbench-libs-codesets_MC_TGTWILDCARD).o : $(workbench-libs-codesets_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-codesets_IQUOTE) $(dir $<) $(workbench-libs-codesets_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_IQUOTE) . $(workbench-libs-codesets_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-codesets_IQUOTE) $(dir $<) $(workbench-libs-codesets_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_IQUOTE) . $(workbench-libs-codesets_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-codesets_IQUOTE) $(dir $<) $(workbench-libs-codesets_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-codesets_IQUOTE) . $(workbench-libs-codesets_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-codesets_MC_DTARGETS) : $(workbench-libs-codesets_MC_TGTWILDCARD).d : $(workbench-libs-codesets_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-codesets_DFLAGS) $(workbench-libs-codesets_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +# Handlers use dash instead of dot in their names +ifeq (library,handler) +workbench-libs-codesets_MODULE := $(workbench-libs-codesets_MODDIR)/codesets-library +else +ifeq (library,printer) +workbench-libs-codesets_MODULE := $(workbench-libs-codesets_MODDIR)/codesets +else +workbench-libs-codesets_MODULE := $(workbench-libs-codesets_MODDIR)/codesets.library +endif +endif +workbench-libs-codesets_KOBJ := $(KOBJSDIR)/codesets_library.o + +workbench-libs-codesets-quick : workbench-libs-codesets +workbench-libs-codesets-kobj-quick : $(workbench-libs-codesets_KOBJ) +workbench-libs-codesets : $(workbench-libs-codesets_MODULE) +workbench-libs-codesets-kobj : $(workbench-libs-codesets_KOBJ) + +# The module is linked from all the compiled .o files +workbench-libs-codesets_OBJS := $(workbench-libs-codesets_ARCHOBJS) $(addprefix $(OBJDIR)/, $(addsuffix .o,$(notdir $(workbench-libs-codesets_C_NARCHFILES)))) + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (codesets,con) + workbench-libs-codesets_ERR := $(notdir $(workbench-libs-codesets_MODULE)).err +else + workbench-libs-codesets_ERR := codesets.err +endif + + +TMP_LDFLAGS := $(strip $(LDFLAGS) $(codesets_LDFLAGS)) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(codesets_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-libs-codesets_MODULE) : LIB_NAMES := $(codesets_LIBS) +$(workbench-libs-codesets_MODULE) : OBJS := $(workbench-libs-codesets_OBJS) +$(workbench-libs-codesets_MODULE) : ENDTAG := +$(workbench-libs-codesets_MODULE) : ERR := $(workbench-libs-codesets_ERR) +$(workbench-libs-codesets_MODULE) : OBJDIR := $(OBJDIR) +$(workbench-libs-codesets_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-libs-codesets_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-libs-codesets_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-libs-codesets_MODULE) : $(workbench-libs-codesets_OBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(strip $(AROS_CC) $(TARGET_SYSROOT)) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + + +# Link kernel object file +workbench-libs-codesets_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-libs-codesets_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-libs-codesets_SYMBOLS := $(workbench-libs-codesets_KBASE) + +workbench-libs-codesets_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-libs-codesets_KOBJ_LIBS := $(filter-out $(workbench-libs-codesets_KLIB),) $(workbench-libs-codesets_KAUTOLIB) +$(workbench-libs-codesets_KOBJ) : LINKLIBS:=$(workbench-libs-codesets_KOBJ_LIBS) +$(workbench-libs-codesets_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-libs-codesets_SYMBOLS)) +$(workbench-libs-codesets_KOBJ) : USER_LDFLAGS := $(USER_LDFLAGS) +$(workbench-libs-codesets_KOBJ) : $(workbench-libs-codesets_OBJS) $(workbench-libs-codesets_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` + + +## Dependency fine-tuning +## +workbench-libs-codesets_DEPS := $(addprefix $(OBJDIR)/, $(addsuffix .d,$(FILES))) +ifneq ($(workbench-libs-codesets_DEPS),) + ifneq (workbench-libs-codesets workbench-libs-codesets-quick workbench-libs-codesets-kobj,) + ifneq ($(findstring $(TARGET),workbench-libs-codesets workbench-libs-codesets-quick workbench-libs-codesets-kobj),) + -include $(workbench-libs-codesets_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-codesets_DEPS) + endif + endif +endif + + +ifneq ($(workbench-libs-codesets_OBJS) $(workbench-libs-codesets_DEPS) $(workbench-libs-codesets_MODULE) $(workbench-libs-codesets_KOBJ),) +$(workbench-libs-codesets_OBJS) $(workbench-libs-codesets_DEPS) $(workbench-libs-codesets_MODULE) $(workbench-libs-codesets_KOBJ) : | $(OBJDIR) $(workbench-libs-codesets_MODDIR) $(KOBJSDIR) +else +$(workbench-libs-codesets_OBJS) $(workbench-libs-codesets_DEPS) $(workbench-libs-codesets_MODULE) $(workbench-libs-codesets_KOBJ) :: $(OBJDIR) $(workbench-libs-codesets_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(OBJDIR) $(workbench-libs-codesets_MODDIR) $(KOBJSDIR) + + +workbench-libs-codesets-clean : FILES := $(workbench-libs-codesets_OBJS) $(workbench-libs-codesets_MODULE) $(workbench-libs-codesets_KOBJ) $(workbench-libs-codesets_DEPS) +workbench-libs-codesets-clean :: + $(Q)$(ECHO) "Cleaning up for module codesets" + $(Q)$(RM) $(FILES) + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/dxtn/mmakefile b/workbench/libs/dxtn/mmakefile new file mode 100644 index 00000000000..906455fcb8c --- /dev/null +++ b/workbench/libs/dxtn/mmakefile @@ -0,0 +1,1657 @@ +# $Id$ +# + +include $(SRCDIR)/config/aros.cfg + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-libs-dxtn +#MM workbench-libs-dxtn-quick +#MM workbench-libs-dxtn-makefile +#MM workbench-libs-dxtn-clean + +# ABI targets: +#MM- includes-all : workbench-libs-dxtn-includes +#MM- linklibs-dxtn: workbench-libs-dxtn-linklib +#MM- linklibs-dxtn_rel : workbench-libs-dxtn-linklib +#MM- includes-dxtn: workbench-libs-dxtn-includes +#MM- includes-dxtn_rel : workbench-libs-dxtn-includes +#MM- workbench-libs-dxtn : workbench-libs-dxtn-includes core-linklibs linklibs- +#MM workbench-libs-dxtn-linklib : workbench-libs-dxtn-includes includes- +#MM- workbench-libs-dxtn-quick : workbench-libs-dxtn-includes-quick +#MM workbench-libs-dxtn-includes : workbench-libs-dxtn-makefile workbench-libs-dxtn-includes-dirs \ +#MM includes-generate-deps workbench-libs-dxtn-fd +#MM workbench-libs-dxtn-includes-quick +#MM workbench-libs-dxtn-includes-dirs +#MM workbench-libs-dxtn-fd + +# Library targets +#M workbench-libs-dxtn-kobj : core-linklibs linklibs- +#M workbench-libs-dxtn-kobj-quick : + +# Library with ABI targets: +#M workbench-libs-dxtn-kobj : workbench-libs-dxtn-includes core-linklibs linklibs- +#M workbench-libs-dxtn-kobj-quick : workbench-libs-dxtn-includes-quick + +# All MetaMake targets defined by this macro +workbench-libs-dxtn_ALLTARGETS := workbench-libs-dxtn workbench-libs-dxtn-quick workbench-libs-dxtn-clean + +ifeq (,M) +workbench-libs-dxtn_ALLTARGETS += workbench-libs-dxtn-kobj workbench-libs-dxtn-kobj-quick +endif + +ifeq (M,M) +workbench-libs-dxtn_ALLTARGETS += workbench-libs-dxtn-includes \ + workbench-libs-dxtn-includes-quick workbench-libs-dxtn-includes-dirs \ + workbench-libs-dxtn-linklib workbench-libs-dxtn-fd +endif + +.PHONY : $(workbench-libs-dxtn_ALLTARGETS) workbench-libs-dxtn-makefile + +ifeq (dxtn,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-libs-dxtn_DEFNAME := dxtn_ +else + workbench-libs-dxtn_DEFNAME := dxtn +endif +workbench-libs-dxtn_DEFLINKLIBNAME := $(workbench-libs-dxtn_DEFNAME) +ifneq (,) + workbench-libs-dxtn_LINKLIBNAME := +else + workbench-libs-dxtn_LINKLIBNAME = $(workbench-libs-dxtn_DEFLINKLIBNAME) +endif +workbench-libs-dxtn_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-dxtn_DEFCPPFLAGS += -I +endif +workbench-libs-dxtn_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-libs-dxtn_DFLAGS := +else + workbench-libs-dxtn_DFLAGS = $(workbench-libs-dxtn_DEFDFLAGS) +endif +workbench-libs-dxtn_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-libs-dxtn_DXXFLAGS := +else + workbench-libs-dxtn_DXXFLAGS = $(workbench-libs-dxtn_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq (%(lto),yes) +workbench-libs-dxtn_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-dxtn_DEFDFLAGS)) +workbench-libs-dxtn_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-dxtn_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-dxtn_FUNCINSTR := yes +workbench-libs-dxtn_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-dxtn_DEFDFLAGS)) +workbench-libs-dxtn_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-dxtn_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-libs-dxtn_OBJDIR := +else +workbench-libs-dxtn_OBJDIR := $(OBJDIR)/$(workbench-libs-dxtn_DEFNAME) +endif +ifneq (,) +workbench-libs-dxtn_OBJDIR := $(workbench-libs-dxtn_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-libs-dxtn-makefile := $(workbench-libs-dxtn_OBJDIR)/Makefile.$(workbench-libs-dxtn_DEFNAME)library +workbench-libs-dxtn-genmakefile : $(workbench-libs-dxtn-makefile) + + +workbench-libs-dxtn-genmakefile_OPTS := +ifneq (,) + workbench-libs-dxtn-genmakefile_OPTS += -f + workbench-libs-dxtn-genmakefile_MODNAME := dxtn_ +else + workbench-libs-dxtn-genmakefile_MODNAME := dxtn +endif +workbench-libs-dxtn-genmakefile_TARGET := Makefile.$(workbench-libs-dxtn-genmakefile_MODNAME)library +workbench-libs-dxtn-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-dxtn-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-dxtn-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-dxtn-genmakefile_OPTS += -c + workbench-libs-dxtn-genmakefile_DEPS += + endif +else + workbench-libs-dxtn-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/dxtn.conf + workbench-libs-dxtn-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/dxtn.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-dxtn-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-dxtn-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-dxtn-genmakefile_OPTS += -o + workbench-libs-dxtn-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-libs-dxtn-genmakefile_OPTS += -s +endif +ifneq ($(workbench-libs-dxtn_OBJDIR),) + workbench-libs-dxtn-genmakefile_OPTS += -d $(workbench-libs-dxtn_OBJDIR) + workbench-libs-dxtn-genmakefile_TARGET := $(workbench-libs-dxtn_OBJDIR)/$(workbench-libs-dxtn-genmakefile_TARGET) +endif + +$(workbench-libs-dxtn-genmakefile_TARGET) : OPTS := $(workbench-libs-dxtn-genmakefile_OPTS) +$(workbench-libs-dxtn-genmakefile_TARGET) : MODNAME := dxtn +$(workbench-libs-dxtn-genmakefile_TARGET) : MODTYPE := library +$(workbench-libs-dxtn-genmakefile_TARGET) : $(workbench-libs-dxtn-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-libs-dxtn-makefile),) +$(workbench-libs-dxtn-makefile) : | $(workbench-libs-dxtn_OBJDIR) +else +$(workbench-libs-dxtn-makefile) :: $(workbench-libs-dxtn_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-dxtn_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-libs-dxtn_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-libs-dxtn-makefile) + +workbench-libs-dxtn_DEFMODDIR := $($(workbench-libs-dxtn_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-libs-dxtn_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-libs-dxtn_DEFMODDIR) +endif +ifneq (,) + workbench-libs-dxtn_MODDIR := +else + workbench-libs-dxtn_MODDIR := $(workbench-libs-dxtn_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-libs-dxtn_INCDIR := +else +workbench-libs-dxtn_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-libs-dxtn_LIBDEFSINC := $(workbench-libs-dxtn_OBJDIR)/include/$(workbench-libs-dxtn_DEFNAME)_libdefs.h +workbench-libs-dxtn_DEFLIBDEFSINC := $(workbench-libs-dxtn_OBJDIR)/include/$(workbench-libs-dxtn_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-libs-dxtn-includes-quick : workbench-libs-dxtn-includes +workbench-libs-dxtn-includes : $(addprefix $(GENINCDIR)/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-dxtn_INCDIR)/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) \ + $(workbench-libs-dxtn_LIBDEFSINC) $(workbench-libs-dxtn_DEFLIBDEFSINC) + +ifneq ($($(workbench-libs-dxtn_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-libs-dxtn-includes_MODNAME := dxtn_ +else + workbench-libs-dxtn-includes_MODNAME := dxtn +endif + +ifneq ($($(workbench-libs-dxtn-includes_MODNAME)_INCLUDES),) + +workbench-libs-dxtn-includes_TARGETS := $($(workbench-libs-dxtn-includes_MODNAME)_INCLUDES) + +workbench-libs-dxtn-includes_DEPS := $(GENMODULE) +workbench-libs-dxtn-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-dxtn-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-dxtn-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-dxtn-includes_OPTS += -c + workbench-libs-dxtn-includes_DEPS += + endif +else + workbench-libs-dxtn-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/dxtn.conf + workbench-libs-dxtn-includes_DEPS += $(SRCDIR)/$(CURDIR)/dxtn.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-dxtn-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-dxtn-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-dxtn-includes_OPTS += -o + workbench-libs-dxtn-includes_DEPS += + endif +endif +ifneq (,) + workbench-libs-dxtn-includes_OPTS += -s +endif +ifneq ($(workbench-libs-dxtn_OBJDIR)/include,) + workbench-libs-dxtn-includes_OPTS += -d $(workbench-libs-dxtn_OBJDIR)/include + workbench-libs-dxtn-includes_TARGETS := $(addprefix $(workbench-libs-dxtn_OBJDIR)/include/,$(workbench-libs-dxtn-includes_TARGETS)) + workbench-libs-dxtn-includes_GENINCFLAG=$(workbench-libs-dxtn_OBJDIR)/include/.dxtn.library-includes +else + workbench-libs-dxtn-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.dxtn.library-includes +endif + +$(workbench-libs-dxtn-includes_TARGETS) : $(workbench-libs-dxtn-includes_DEPS) $(workbench-libs-dxtn-includes_GENINCFLAG) + +$(workbench-libs-dxtn-includes_GENINCFLAG) : OPTS := $(workbench-libs-dxtn-includes_OPTS) +$(workbench-libs-dxtn-includes_GENINCFLAG) : MODNAME := dxtn +$(workbench-libs-dxtn-includes_GENINCFLAG) : MODTYPE := library +$(workbench-libs-dxtn-includes_GENINCFLAG) : $(workbench-libs-dxtn-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-libs-dxtn_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) : | $(workbench-libs-dxtn_OBJDIR)/dxtn_geninc + +$(workbench-libs-dxtn_OBJDIR)/dxtn_geninc : COPYSRCDIR := $(workbench-libs-dxtn_OBJDIR)/include +$(workbench-libs-dxtn_OBJDIR)/dxtn_geninc : TGTDIR := $(GENINCDIR) +$(workbench-libs-dxtn_OBJDIR)/dxtn_geninc : FILES := $($(workbench-libs-dxtn_DEFNAME)_INCLUDES) +$(workbench-libs-dxtn_OBJDIR)/dxtn_geninc : $(addprefix $(workbench-libs-dxtn_OBJDIR)/include/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-libs-dxtn_OBJDIR)/include + +$(addprefix $(workbench-libs-dxtn_INCDIR)/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) : | $(workbench-libs-dxtn_OBJDIR)/dxtn_incs + +$(workbench-libs-dxtn_OBJDIR)/dxtn_incs : COPYSRCDIR := $(workbench-libs-dxtn_OBJDIR)/include +$(workbench-libs-dxtn_OBJDIR)/dxtn_incs : TGTDIR := $(workbench-libs-dxtn_INCDIR) +$(workbench-libs-dxtn_OBJDIR)/dxtn_incs : FILES := $($(workbench-libs-dxtn_DEFNAME)_INCLUDES) +$(workbench-libs-dxtn_OBJDIR)/dxtn_incs : $(addprefix $(workbench-libs-dxtn_OBJDIR)/include/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-libs-dxtn_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-libs-dxtn_DEFNAME)_INCLUDES)))) + +TMPdxtn_INCDIRS := \ + $(workbench-libs-dxtn_OBJDIR)/include $(addprefix $(workbench-libs-dxtn_OBJDIR)/include/,$(workbench-libs-dxtn_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-libs-dxtn_INCDIRS)) \ + $(workbench-libs-dxtn_INCDIR) $(addprefix $(workbench-libs-dxtn_INCDIR)/,$(workbench-libs-dxtn_INCDIRS)) + +ifneq (workbench-libs-dxtn-includes-dirs,) +workbench-libs-dxtn-includes-dirs : | $(TMPdxtn_INCDIRS) +else +workbench-libs-dxtn-includes-dirs :: $(TMPdxtn_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPdxtn_INCDIRS) + + +endif + +endif + + +workbench-libs-dxtn-genlibdefs_OPTS := +ifneq (,) + workbench-libs-dxtn-genlibdefs_OPTS += -f + workbench-libs-dxtn-genlibdefs_MODNAME := dxtn_ +else + workbench-libs-dxtn-genlibdefs_MODNAME := dxtn +endif +workbench-libs-dxtn-genlibdefs_TARGET := $(workbench-libs-dxtn-genlibdefs_MODNAME)_libdefs.h +workbench-libs-dxtn-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-dxtn-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-dxtn-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-dxtn-genlibdefs_OPTS += -c + workbench-libs-dxtn-genlibdefs_DEPS += + endif +else + workbench-libs-dxtn-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/dxtn.conf + workbench-libs-dxtn-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/dxtn.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-dxtn-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-dxtn-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-dxtn-genlibdefs_OPTS += -o + workbench-libs-dxtn-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-libs-dxtn-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-libs-dxtn_OBJDIR)/include,) + workbench-libs-dxtn-genlibdefs_OPTS += -d $(workbench-libs-dxtn_OBJDIR)/include + workbench-libs-dxtn-genlibdefs_TARGET := $(workbench-libs-dxtn_OBJDIR)/include/$(workbench-libs-dxtn-genlibdefs_TARGET) +endif +ifneq (,) + workbench-libs-dxtn-genlibdefs_OPTS += -v +endif + +$(workbench-libs-dxtn-genlibdefs_TARGET) : OPTS := $(workbench-libs-dxtn-genlibdefs_OPTS) +$(workbench-libs-dxtn-genlibdefs_TARGET) : MODNAME := dxtn +$(workbench-libs-dxtn-genlibdefs_TARGET) : MODTYPE := library +$(workbench-libs-dxtn-genlibdefs_TARGET) : $(workbench-libs-dxtn-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-libs-dxtn_DEFLIBDEFSINC) : FILENAME := $(workbench-libs-dxtn_LIBDEFSINC) +$(workbench-libs-dxtn_DEFLIBDEFSINC) : $(workbench-libs-dxtn_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-libs-dxtn_LIBDEFSINC) $(workbench-libs-dxtn_DEFLIBDEFSINC) : | $(workbench-libs-dxtn_OBJDIR)/include + +ifneq (workbench-libs-dxtn-includes-dirs,) +workbench-libs-dxtn-includes-dirs : | $(workbench-libs-dxtn_OBJDIR)/include +else +workbench-libs-dxtn-includes-dirs :: $(workbench-libs-dxtn_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-libs-dxtn_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-libs-dxtn-genmodfiles_OPTS := +ifneq (,) + workbench-libs-dxtn-genmodfiles_OPTS += -f + workbench-libs-dxtn-genmodfiles_MODNAME := dxtn_ +else + workbench-libs-dxtn-genmodfiles_MODNAME := dxtn +endif +workbench-libs-dxtn-genmodfiles_GENTARGETS := $($(workbench-libs-dxtn-genmodfiles_MODNAME)_STARTFILES) $($(workbench-libs-dxtn-genmodfiles_MODNAME)_ENDFILES) +workbench-libs-dxtn-genmodfiles_STUBTARGETS := $($(workbench-libs-dxtn-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-libs-dxtn-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-libs-dxtn-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-libs-dxtn-genmodfiles_GENTARGETS)) +workbench-libs-dxtn-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-libs-dxtn-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-libs-dxtn-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-libs-dxtn-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-libs-dxtn-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-dxtn-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-dxtn-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-dxtn-genmodfiles_OPTS += -c + workbench-libs-dxtn-genmodfiles_DEPS += + endif +else + workbench-libs-dxtn-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/dxtn.conf + workbench-libs-dxtn-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/dxtn.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-dxtn-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-dxtn-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-dxtn-genmodfiles_OPTS += -o + workbench-libs-dxtn-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-libs-dxtn-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-libs-dxtn_OBJDIR),) + workbench-libs-dxtn-genmodfiles_OPTS += -d $(workbench-libs-dxtn_OBJDIR) + workbench-libs-dxtn-genmodfiles_TARGETDIR := $(shell echo $(workbench-libs-dxtn_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-dxtn-genmodfiles_GENTARGETS := $(addprefix $(workbench-libs-dxtn-genmodfiles_TARGETDIR)/,$(workbench-libs-dxtn-genmodfiles_GENTARGETS)) + workbench-libs-dxtn-genmodfiles_GENFILEFLAG=$(workbench-libs-dxtn-genmodfiles_TARGETDIR)/.dxtn.library-genfiles +else + workbench-libs-dxtn-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.dxtn.library-genfiles +endif +ifneq ($(workbench-libs-dxtn_OBJDIR)/linklib,) + workbench-libs-dxtn-genmodfiles_OPTS += -l $(workbench-libs-dxtn_OBJDIR)/linklib + workbench-libs-dxtn-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-libs-dxtn_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-libs-dxtn-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-dxtn-genmodfiles_STUBTARGETDIR)/,$(workbench-libs-dxtn-genmodfiles_STUBTARGETS)) + workbench-libs-dxtn-genmodfiles_TARGETDIRS += $(workbench-libs-dxtn_OBJDIR)/linklib +else +ifneq ($(workbench-libs-dxtn_OBJDIR),) + workbench-libs-dxtn-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-dxtn-genmodfiles_TARGETDIR)/,$(workbench-libs-dxtn-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-libs-dxtn-genmodfiles_TARGETS := $(workbench-libs-dxtn-genmodfiles_GENTARGETS) $(workbench-libs-dxtn-genmodfiles_STUBTARGETS) +ifneq ($(workbench-libs-dxtn-genmodfiles_TARGETDIRS),) +$(workbench-libs-dxtn-genmodfiles_TARGETS) : | $(workbench-libs-dxtn-genmodfiles_TARGETDIRS) +endif + +$(workbench-libs-dxtn-genmodfiles_TARGETS) : $(workbench-libs-dxtn-genmodfiles_DEPS) $(workbench-libs-dxtn-genmodfiles_GENFILEFLAG) + +$(workbench-libs-dxtn-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-libs-dxtn-genmodfiles_OPTS) +$(workbench-libs-dxtn-genmodfiles_GENFILEFLAG) : MODNAME := dxtn +$(workbench-libs-dxtn-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-libs-dxtn-genmodfiles_GENFILEFLAG) : $(workbench-libs-dxtn-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-libs-dxtn-genmodfiles_GENFILEFLAG) : $(workbench-libs-dxtn_DEFLIBDEFSINC) $(workbench-libs-dxtn-makefile) + + +ifneq ($(workbench-libs-dxtn-genmodfiles_GENFILEFLAG),) +$(workbench-libs-dxtn-genmodfiles_GENFILEFLAG) : | $(workbench-libs-dxtn_OBJDIR)/linklib +else +$(workbench-libs-dxtn-genmodfiles_GENFILEFLAG) :: $(workbench-libs-dxtn_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-libs-dxtn_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-libs-dxtn_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-libs-dxtn_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-libs-dxtn-fd : $(workbench-libs-dxtn_FDDIR)/dxtn_lib.fd + + +TMP_TARGET := dxtn_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/dxtn.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/dxtn.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-libs-dxtn_FDDIR),) + TMP_OPTS += -d $(workbench-libs-dxtn_FDDIR) + TMP_TARGET := $(workbench-libs-dxtn_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := dxtn +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-libs-dxtn_FDDIR)/dxtn_lib.fd : | $(workbench-libs-dxtn_FDDIR) + + +ifneq (workbench-libs-dxtn-fd-setup,) +workbench-libs-dxtn-fd-setup : | $(workbench-libs-dxtn_FDDIR) +else +workbench-libs-dxtn-fd-setup :: $(workbench-libs-dxtn_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-dxtn_FDDIR) + +endif + +## Compilation +## +workbench-libs-dxtn_FILES := $(basename $(call WILDCARD, *.c)) +workbench-libs-dxtn_OBJCFILES := +workbench-libs-dxtn_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-libs-dxtn_LIBFILES := +workbench-libs-dxtn_LIBS := + +workbench-libs-dxtn_FDIRS := $(sort $(dir $(workbench-libs-dxtn_FILES))) + +workbench-libs-dxtn_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-libs-dxtn_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-libs-dxtn_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-libs-dxtn_FILTERARCH = $(filter-out $(call workbench-libs-dxtn_MATCHARCH,$(1),$(2)),$(2)) +workbench-libs-dxtn_STARTFILES := $(addprefix $(workbench-libs-dxtn_OBJDIR)/,$($(workbench-libs-dxtn_DEFNAME)_STARTFILES)) +workbench-libs-dxtn_ENDFILES := $(addprefix $(workbench-libs-dxtn_OBJDIR)/,$($(workbench-libs-dxtn_DEFNAME)_ENDFILES)) + +workbench-libs-dxtn_ARCHOBJS := $(wildcard $(workbench-libs-dxtn_OBJDIR)/arch/*.o) +workbench-libs-dxtn_LIBARCHOBJS := $(wildcard $(workbench-libs-dxtn_OBJDIR)/linklib/arch/*.o) +workbench-libs-dxtn_ARCHFILES := $(basename $(notdir $(workbench-libs-dxtn_ARCHOBJS))) +workbench-libs-dxtn_LIBARCHFILES := $(basename $(notdir $(workbench-libs-dxtn_LIBARCHOBJS))) +workbench-libs-dxtn_C_NARCHFILES := $(call workbench-libs-dxtn_FILTERARCH,$(workbench-libs-dxtn_ARCHFILES),$(workbench-libs-dxtn_FILES)) +workbench-libs-dxtn_CXX_NARCHFILES := $(call workbench-libs-dxtn_FILTERARCH,$(workbench-libs-dxtn_ARCHFILES),$(workbench-libs-dxtn_CXXFILES)) +workbench-libs-dxtn_OBJC_NARCHFILES := $(call workbench-libs-dxtn_FILTERARCH,$(workbench-libs-dxtn_ARCHFILES),$(workbench-libs-dxtn_OBJCFILES)) +workbench-libs-dxtn_NLIBARCHFILES := $(call workbench-libs-dxtn_FILTERARCH,$(workbench-libs-dxtn_LIBARCHFILES),$(workbench-libs-dxtn_LIBFILES)) +workbench-libs-dxtn_ARCHNLIBFILES := $(call workbench-libs-dxtn_FILTERARCH,$(workbench-libs-dxtn_LIBFILES),$(workbench-libs-dxtn_LIBARCHFILES)) + +workbench-libs-dxtn_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-libs-dxtn_OBJDIR)/include -include $(workbench-libs-dxtn_DEFLIBDEFSINC)) +ifneq (,) +workbench-libs-dxtn_CPPFLAGS += -I +endif +workbench-libs-dxtn_LINKLIBCPPFLAGS := $(workbench-libs-dxtn_CPPFLAGS) +workbench-libs-dxtn_CPPFLAGS += $(strip $($(workbench-libs-dxtn_DEFNAME)_CPPFLAGS)) +workbench-libs-dxtn_LINKLIBCPPFLAGS += $(strip $($(workbench-libs-dxtn_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-libs-dxtn_CFLAGS := $(strip $(CFLAGS) $($(workbench-libs-dxtn_DEFNAME)_CFLAGS)) +workbench-libs-dxtn_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-libs-dxtn_DEFNAME)_LINKLIBCFLAGS)) +workbench-libs-dxtn_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-libs-dxtn_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq (%(lto),yes) +workbench-libs-dxtn_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-libs-dxtn_CFLAGS := $(strip $(workbench-libs-dxtn_LTOFLAGS) $(workbench-libs-dxtn_CFLAGS)) +workbench-libs-dxtn_LINKLIBCFLAGS := $(strip $(workbench-libs-dxtn_LTOFLAGS) $(workbench-libs-dxtn_LINKLIBCFLAGS)) +workbench-libs-dxtn_CXXFLAGS := $(strip $(workbench-libs-dxtn_LTOFLAGS) $(workbench-libs-dxtn_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-dxtn_SUBSTNULL := +workbench-libs-dxtn_SUBSTSPACE := $(workbench-libs-dxtn_SUBSTNULL) # +workbench-libs-dxtn_SUBSTCOMMA := , +workbench-libs-dxtn_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-libs-dxtn_SUBSTSPACE),$(workbench-libs-dxtn_SUBSTCOMMA),$(strip $($(workbench-libs-dxtn_DEFNAME)_STARTFILES)))) +workbench-libs-dxtn_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-libs-dxtn_CFLAGS := $(strip $(workbench-libs-dxtn_INSTRFUNCFLAGS) $(workbench-libs-dxtn_CFLAGS)) +workbench-libs-dxtn_CXXFLAGS := $(strip $(workbench-libs-dxtn_INSTRFUNCFLAGS) $(workbench-libs-dxtn_CXXFLAGS)) +workbench-libs-dxtn_LIBS += $(workbench-libs-dxtn_INSTRFUNCLIBS) +endif +endif +workbench-libs-dxtn_DFLAGS := $(strip $(workbench-libs-dxtn_DFLAGS) $($(workbench-libs-dxtn_DEFNAME)_DFLAGS)) +workbench-libs-dxtn_LINKLIBDFLAGS := $(strip $(workbench-libs-dxtn_DFLAGS) $($(workbench-libs-dxtn_DEFNAME)_LINKLIBDFLAGS)) +workbench-libs-dxtn_DXXFLAGS := $(strip $(workbench-libs-dxtn_DXXFLAGS) $($(workbench-libs-dxtn_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-libs-dxtn_LIBSUFFIX := +else + workbench-libs-dxtn_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-libs-dxtn_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-libs-dxtn_LIBDIR := +endif + +ifeq (M,M) +workbench-libs-dxtn_LINKLIBCFILES := $(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$($(workbench-libs-dxtn_DEFNAME)_LINKLIBFILES)) +workbench-libs-dxtn_LINKLIBAFILES := $(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$($(workbench-libs-dxtn_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-dxtn_DEFNAME)_LINKLIBFILES) $($(workbench-libs-dxtn_DEFNAME)_LINKLIBAFILES) $(workbench-libs-dxtn_ARCHNLIBFILES)),) + workbench-libs-dxtn_LINKLIB := +else + workbench-libs-dxtn_LINKLIB := $(workbench-libs-dxtn_LIBDIR)/libdxtn$(workbench-libs-dxtn_LIBSUFFIX).a + ifneq (dxtn,$(workbench-libs-dxtn_LINKLIBNAME)) + workbench-libs-dxtn_LINKLIB += $(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)$(workbench-libs-dxtn_LIBSUFFIX).a + endif +endif +workbench-libs-dxtn_LINKLIBFILES := $(workbench-libs-dxtn_LINKLIBCFILES) $(workbench-libs-dxtn_LINKLIBAFILES) + +workbench-libs-dxtn_RELLINKLIBCFILES := $(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$($(workbench-libs-dxtn_DEFNAME)_RELLINKLIBFILES)) +workbench-libs-dxtn_RELLINKLIBAFILES := $(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$($(workbench-libs-dxtn_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-dxtn_DEFNAME)_RELLINKLIBFILES) $($(workbench-libs-dxtn_DEFNAME)_RELLINKLIBAFILES) $(workbench-libs-dxtn_ARCHNLIBFILES)),) + workbench-libs-dxtn_RELLINKLIB := +else + workbench-libs-dxtn_RELLINKLIB := $(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_DEFNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a + ifneq (dxtn,$(workbench-libs-dxtn_LINKLIBNAME)) + workbench-libs-dxtn_RELLINKLIB += $(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a + endif +endif +workbench-libs-dxtn_RELLINKLIBFILES := $(workbench-libs-dxtn_RELLINKLIBCFILES) $(workbench-libs-dxtn_RELLINKLIBAFILES) +endif + +workbench-libs-dxtn_ENDOBJS := $(addsuffix .o,$(workbench-libs-dxtn_ENDFILES)) +workbench-libs-dxtn_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(notdir $(workbench-libs-dxtn_NLIBARCHFILES))) $(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-dxtn_ARCHNLIBFILES))) $(workbench-libs-dxtn_LINKLIBFILES)) \ + +workbench-libs-dxtn_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(notdir $(workbench-libs-dxtn_NLIBARCHFILES))) $(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-dxtn_ARCHNLIBFILES))) $(workbench-libs-dxtn_RELLINKLIBFILES)) \ + +$(workbench-libs-dxtn_LINKLIBFILES) $(workbench-libs-dxtn_RELLINKLIBFILES) : | $(workbench-libs-dxtn_OBJDIR)/linklib +$(workbench-libs-dxtn_LINKLIBOBJS) $(workbench-libs-dxtn_RELLINKLIBOBJS) : | $(workbench-libs-dxtn_OBJDIR)/linklib + +workbench-libs-dxtn_CCFILES := $(workbench-libs-dxtn_C_NARCHFILES) +workbench-libs-dxtn_TARGETCCFILES := $(strip $(workbench-libs-dxtn_STARTFILES) $(workbench-libs-dxtn_ENDFILES)) +workbench-libs-dxtn_LINKLIBCCFILES := $(strip $(workbench-libs-dxtn_NLIBARCHFILES) $(workbench-libs-dxtn_LINKLIBCFILES) $(workbench-libs-dxtn_RELLINKLIBCFILES)) +workbench-libs-dxtn_LINKLIBCCGENFILES := $(strip $(workbench-libs-dxtn_LINKLIBCFILES) $(workbench-libs-dxtn_RELLINKLIBCFILES)) + + +workbench-libs-dxtn_CXXABSBASENAMES := $(foreach workbench-libs-dxtn_CXXBASE,$(workbench-libs-dxtn_CXX_NARCHFILES),$(if $(filter /%,$(workbench-libs-dxtn_CXXBASE)),$(workbench-libs-dxtn_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-libs-dxtn_CXXBASE)))) + +ifneq ($(workbench-libs-dxtn_CXXABSBASENAMES),) + +workbench-libs-dxtn_CXXBASENAMES := $(basename $(workbench-libs-dxtn_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-libs-dxtn_MCXX_FILES := $(strip $(foreach workbench-libs-dxtn_CXXBASE,$(workbench-libs-dxtn_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-libs-dxtn_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-libs-dxtn_EXT),$(workbench-libs-dxtn_CXXBASE))))))) + +ifeq (,) +workbench-libs-dxtn_MCXX_SRCWILDCARD := % +else +workbench-libs-dxtn_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-dxtn_OBJDIR),) + workbench-libs-dxtn_CXXTARGETS := $(notdir $(workbench-libs-dxtn_CXXBASENAMES:=.o)) + workbench-libs-dxtn_CXXDTARGETS := $(notdir $(workbench-libs-dxtn_CXXBASENAMES:=.d)) + workbench-libs-dxtn_MCXX_WILDCARD := % +else + workbench-libs-dxtn_CXXTARGETS := $(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(workbench-libs-dxtn_CXXBASENAMES:=.o))) + workbench-libs-dxtn_CXXDTARGETS := $(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(workbench-libs-dxtn_CXXBASENAMES:=.d))) + workbench-libs-dxtn_MCXX_WILDCARD := $(workbench-libs-dxtn_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-libs-dxtn_CXXTARGETS) $(workbench-libs-dxtn_CXXDTARGETS) : | $(workbench-libs-dxtn_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-libs-dxtn_MCXX_CPPFLAGS := $(workbench-libs-dxtn_CPPFLAGS) +workbench-libs-dxtn_CXXFLAGS := $(workbench-libs-dxtn_CXXFLAGS) +ifeq ($(workbench-libs-dxtn_DXXFLAGS),) + workbench-libs-dxtn_DXXFLAGS := $(workbench-libs-dxtn_CXXFLAGS) +else + workbench-libs-dxtn_DXXFLAGS := $(workbench-libs-dxtn_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-libs-dxtn_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-libs-dxtn_STRIP ?= $(HOST_STRIP) + workbench-libs-dxtn_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-libs-dxtn_CXXCMD:=$(HOST_CXX) + workbench-libs-dxtn_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-libs-dxtn_MCXX_CPPFLAGS) $(workbench-libs-dxtn_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-dxtn_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-dxtn_CXXFLAGS)) + workbench-libs-dxtn_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-dxtn_DXXFLAGS)) + workbench-libs-dxtn_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-libs-dxtn_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-libs-dxtn_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-dxtn_STRIP ?= $(TARGET_STRIP) + workbench-libs-dxtn_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-libs-dxtn_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-libs-dxtn_MCXX_CPPFLAGS := $(strip $(workbench-libs-dxtn_MCXX_CPPFLAGS) $(workbench-libs-dxtn_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-dxtn_CXXFLAGS := $(strip $(workbench-libs-dxtn_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-libs-dxtn_DXXFLAGS := $(workbench-libs-dxtn_DXXFLAGS) + workbench-libs-dxtn_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-libs-dxtn_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-libs-dxtn_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-dxtn_STRIP ?= $(ECHO) >/dev/null + workbench-libs-dxtn_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-libs-dxtn_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-libs-dxtn_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-libs-dxtn_MCXX_CPPFLAGS) $(workbench-libs-dxtn_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-dxtn_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-dxtn_CXXFLAGS)) + workbench-libs-dxtn_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-dxtn_DXXFLAGS)) + workbench-libs-dxtn_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-libs-dxtn_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-libs-dxtn_CXXCMD) $(workbench-libs-dxtn_CXXIQUOTE) $(dir $(2)) $(workbench-libs-dxtn_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_CXXIQUOTE) . $(workbench-libs-dxtn_CXXIQUOTE_END) $(strip $(workbench-libs-dxtn_CXXFLAGS) $(workbench-libs-dxtn_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-libs-dxtn_CXXCMD) $(workbench-libs-dxtn_CXXIQUOTE) $(dir $(2)) $(workbench-libs-dxtn_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_CXXIQUOTE) . $(workbench-libs-dxtn_CXXIQUOTE_END) $(strip $(workbench-libs-dxtn_CXXFLAGS) $(workbench-libs-dxtn_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-libs-dxtn_CXXCMD) $(workbench-libs-dxtn_CXXIQUOTE) $(dir $(2)) $(workbench-libs-dxtn_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_CXXIQUOTE) . $(workbench-libs-dxtn_CXXIQUOTE_END) $(strip $(workbench-libs-dxtn_CXXFLAGS) $(workbench-libs-dxtn_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-libs-dxtn_CXXCMD)" $(MKDEPEND) $(strip $(workbench-libs-dxtn_DXXFLAGS) $(workbench-libs-dxtn_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-libs-dxtn_OBJDIR),) + $(foreach workbench-libs-dxtn_CXXFILE,$(workbench-libs-dxtn_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-libs-dxtn_CXXFILE))),$(workbench-libs-dxtn_CXXFILE)))) +else + $(foreach workbench-libs-dxtn_CXXFILE,$(workbench-libs-dxtn_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(basename $(workbench-libs-dxtn_CXXFILE)))),$(workbench-libs-dxtn_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-libs-dxtn_OBJC_NARCHFILES),) + +ifeq (,) +workbench-libs-dxtn_MOBJC_SRCWILDCARD := % +else +workbench-libs-dxtn_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-dxtn_OBJDIR),) + workbench-libs-dxtn_MOBJC_TARGETS := $(addsuffix .o,$(workbench-libs-dxtn_OBJC_NARCHFILES)) + workbench-libs-dxtn_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-libs-dxtn_OBJC_NARCHFILES)) + workbench-libs-dxtn_MOBJC_WILDCARD := % +else + workbench-libs-dxtn_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(workbench-libs-dxtn_OBJC_NARCHFILES))) + workbench-libs-dxtn_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(workbench-libs-dxtn_OBJC_NARCHFILES))) + workbench-libs-dxtn_MOBJC_WILDCARD := $(workbench-libs-dxtn_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-libs-dxtn_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-libs-dxtn_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-dxtn_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-dxtn_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-libs-dxtn_MOBJC_DIRS := $(foreach dir, $(workbench-libs-dxtn_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-dxtn_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-libs-dxtn_MOBJC_DIRS),) + workbench-libs-dxtn_MOBJC_DIRS := $(shell echo $(workbench-libs-dxtn_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-libs-dxtn_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-libs-dxtn_CC := $(TARGET_CC) +else + workbench-libs-dxtn_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-libs-dxtn_MOBJC_CPPFLAGS := $(workbench-libs-dxtn_CPPFLAGS) +workbench-libs-dxtn_OBJCFLAGS := $(workbench-libs-dxtn_CFLAGS) +workbench-libs-dxtn_OBJCFLAGS := $(workbench-libs-dxtn_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-libs-dxtn_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-libs-dxtn_OBJCFLAGS))) +ifeq ($(workbench-libs-dxtn_DFLAGS),) + workbench-libs-dxtn_OBJCDFLAGS := $(workbench-libs-dxtn_CFLAGS) +else + workbench-libs-dxtn_OBJCDFLAGS := $(workbench-libs-dxtn_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-libs-dxtn_LINK ?= $(strip $(workbench-libs-dxtn_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-dxtn_STRIP ?= $(TARGET_STRIP) + workbench-libs-dxtn_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-libs-dxtn_CC) $(TARGET_SYSROOT)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_MOBJC_CPPFLAGS:=$(strip $(workbench-libs-dxtn_MOBJC_CPPFLAGS) $(workbench-libs-dxtn_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_OBJCFLAGS:=$(strip $(workbench-libs-dxtn_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_OBJCDFLAGS:=$(workbench-libs-dxtn_OBJCDFLAGS) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-libs-dxtn_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-libs-dxtn_STRIP ?= $(HOST_STRIP) + workbench-libs-dxtn_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-libs-dxtn_MOBJC_CPPFLAGS) $(workbench-libs-dxtn_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_OBJCFLAGS)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_OBJCDFLAGS)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(HOST_IQUOTE) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-libs-dxtn_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-dxtn_STRIP ?= $(ECHO) >/dev/null + workbench-libs-dxtn_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-libs-dxtn_MOBJC_CPPFLAGS) $(workbench-libs-dxtn_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_OBJCFLAGS)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_OBJCDFLAGS)) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-libs-dxtn_MOBJC_TARGETS) $(workbench-libs-dxtn_MOBJC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-dxtn_MOBJC_TARGETS) : CPPFLAGS := $(workbench-libs-dxtn_MOBJC_CPPFLAGS) +$(workbench-libs-dxtn_MOBJC_TARGETS) : CFLAGS := $(workbench-libs-dxtn_OBJCFLAGS) +$(workbench-libs-dxtn_MOBJC_TARGETS) : $(workbench-libs-dxtn_MOBJC_WILDCARD).o : $(workbench-libs-dxtn_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-dxtn_MOBJC_DTARGETS) : $(workbench-libs-dxtn_MOBJC_WILDCARD).d : $(workbench-libs-dxtn_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-dxtn_OBJCDFLAGS) $(workbench-libs-dxtn_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-libs-dxtn_MC_SRCWILDCARD := % +else +workbench-libs-dxtn_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-dxtn_OBJDIR),) +workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(workbench-libs-dxtn_CCFILES)) +workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-dxtn_CCFILES)) +workbench-libs-dxtn_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(workbench-libs-dxtn_CCFILES)))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(workbench-libs-dxtn_CCFILES)))) +else +ifeq (,) + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(workbench-libs-dxtn_CCFILES))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(workbench-libs-dxtn_CCFILES))) +else + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-dxtn_CCFILES)))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-dxtn_CCFILES)))) +endif +endif +workbench-libs-dxtn_MC_TGTWILDCARD := $(workbench-libs-dxtn_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-dxtn_CCFILES)) + +# Be sure that all .c files are found +workbench-libs-dxtn_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-dxtn_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-dxtn_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-dxtn_MC_DIRS := $(foreach dir, $(workbench-libs-dxtn_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-dxtn_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-dxtn_MC_DIRS),) + workbench-libs-dxtn_MC_DIRS := $(shell echo $(workbench-libs-dxtn_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-dxtn_MC_DIRS) +endif + +endif + +workbench-libs-dxtn_MC_CPPFLAGS := $(workbench-libs-dxtn_CPPFLAGS) +workbench-libs-dxtn_CFLAGS := $(workbench-libs-dxtn_CFLAGS) +ifeq ($(workbench-libs-dxtn_DFLAGS),) + workbench-libs-dxtn_DFLAGS := $(workbench-libs-dxtn_CFLAGS) +else + workbench-libs-dxtn_DFLAGS := $(workbench-libs-dxtn_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-dxtn_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(TARGET_STRIP) +workbench-libs-dxtn_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(workbench-libs-dxtn_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(workbench-libs-dxtn_DFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-dxtn_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(HOST_STRIP) +workbench-libs-dxtn_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_DFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-dxtn_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(ECHO) >/dev/null +workbench-libs-dxtn_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_DFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-dxtn_MC_TARGETS) : CPPFLAGS := $(workbench-libs-dxtn_MC_CPPFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) : CFLAGS := $(workbench-libs-dxtn_CFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) : $(workbench-libs-dxtn_MC_TGTWILDCARD).o : $(workbench-libs-dxtn_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-dxtn_MC_DTARGETS) : $(workbench-libs-dxtn_MC_TGTWILDCARD).d : $(workbench-libs-dxtn_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-dxtn_DFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-dxtn_MC_SRCWILDCARD := % +else +workbench-libs-dxtn_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-dxtn_OBJDIR),) +workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(workbench-libs-dxtn_TARGETCCFILES)) +workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-dxtn_TARGETCCFILES)) +workbench-libs-dxtn_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(workbench-libs-dxtn_TARGETCCFILES)))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(workbench-libs-dxtn_TARGETCCFILES)))) +else +ifeq (,) + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(workbench-libs-dxtn_TARGETCCFILES))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(workbench-libs-dxtn_TARGETCCFILES))) +else + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-dxtn_TARGETCCFILES)))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-dxtn_TARGETCCFILES)))) +endif +endif +workbench-libs-dxtn_MC_TGTWILDCARD := $(workbench-libs-dxtn_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-dxtn_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-libs-dxtn_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-dxtn_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-dxtn_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-dxtn_MC_DIRS := $(foreach dir, $(workbench-libs-dxtn_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-dxtn_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-dxtn_MC_DIRS),) + workbench-libs-dxtn_MC_DIRS := $(shell echo $(workbench-libs-dxtn_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-dxtn_MC_DIRS) +endif + +endif + +workbench-libs-dxtn_MC_CPPFLAGS := $(workbench-libs-dxtn_CPPFLAGS) -D__AROS__ +workbench-libs-dxtn_CFLAGS := $(workbench-libs-dxtn_CFLAGS) +ifeq ($(workbench-libs-dxtn_DFLAGS),) + workbench-libs-dxtn_DFLAGS := $(workbench-libs-dxtn_CFLAGS) +else + workbench-libs-dxtn_DFLAGS := $(workbench-libs-dxtn_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-dxtn_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(TARGET_STRIP) +workbench-libs-dxtn_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(workbench-libs-dxtn_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(workbench-libs-dxtn_DFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-dxtn_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(HOST_STRIP) +workbench-libs-dxtn_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_DFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-dxtn_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(ECHO) >/dev/null +workbench-libs-dxtn_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_DFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-dxtn_MC_TARGETS) : CPPFLAGS := $(workbench-libs-dxtn_MC_CPPFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) : CFLAGS := $(workbench-libs-dxtn_CFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) : $(workbench-libs-dxtn_MC_TGTWILDCARD).o : $(workbench-libs-dxtn_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-dxtn_MC_DTARGETS) : $(workbench-libs-dxtn_MC_TGTWILDCARD).d : $(workbench-libs-dxtn_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-dxtn_DFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-dxtn_MC_SRCWILDCARD := % +else +workbench-libs-dxtn_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-dxtn_OBJDIR)/linklib,) +workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(workbench-libs-dxtn_NLIBARCHFILES)) +workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-dxtn_NLIBARCHFILES)) +workbench-libs-dxtn_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(notdir $(workbench-libs-dxtn_NLIBARCHFILES)))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(notdir $(workbench-libs-dxtn_NLIBARCHFILES)))) +else +ifeq (,) + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(workbench-libs-dxtn_NLIBARCHFILES))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(workbench-libs-dxtn_NLIBARCHFILES))) +else + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-dxtn_NLIBARCHFILES)))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-dxtn_NLIBARCHFILES)))) +endif +endif +workbench-libs-dxtn_MC_TGTWILDCARD := $(workbench-libs-dxtn_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-dxtn_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-libs-dxtn_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-dxtn_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-dxtn_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-dxtn_MC_DIRS := $(foreach dir, $(workbench-libs-dxtn_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-dxtn_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-dxtn_MC_DIRS),) + workbench-libs-dxtn_MC_DIRS := $(shell echo $(workbench-libs-dxtn_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-dxtn_MC_DIRS) +endif + +endif + +workbench-libs-dxtn_MC_CPPFLAGS := $(workbench-libs-dxtn_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-dxtn_CFLAGS := $(workbench-libs-dxtn_LINKLIBCFLAGS) +ifeq ($(workbench-libs-dxtn_LINKLIBDFLAGS),) + workbench-libs-dxtn_DFLAGS := $(workbench-libs-dxtn_LINKLIBCFLAGS) +else + workbench-libs-dxtn_DFLAGS := $(workbench-libs-dxtn_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-dxtn_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(TARGET_STRIP) +workbench-libs-dxtn_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(workbench-libs-dxtn_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(workbench-libs-dxtn_DFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-dxtn_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(HOST_STRIP) +workbench-libs-dxtn_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_DFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-dxtn_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(ECHO) >/dev/null +workbench-libs-dxtn_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_DFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-dxtn_MC_TARGETS) : CPPFLAGS := $(workbench-libs-dxtn_MC_CPPFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) : CFLAGS := $(workbench-libs-dxtn_CFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) : $(workbench-libs-dxtn_MC_TGTWILDCARD).o : $(workbench-libs-dxtn_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-dxtn_MC_DTARGETS) : $(workbench-libs-dxtn_MC_TGTWILDCARD).d : $(workbench-libs-dxtn_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-dxtn_DFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-libs-dxtn_OBJDIR)/linklib,) +workbench-libs-dxtn_MC_SRCWILDCARD := % +else +workbench-libs-dxtn_MC_SRCWILDCARD := $(workbench-libs-dxtn_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-libs-dxtn_OBJDIR)/linklib,) +workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(workbench-libs-dxtn_LINKLIBCCGENFILES)) +workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-dxtn_LINKLIBCCGENFILES)) +workbench-libs-dxtn_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(notdir $(workbench-libs-dxtn_LINKLIBCCGENFILES)))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(notdir $(workbench-libs-dxtn_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-libs-dxtn_OBJDIR)/linklib,) + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(workbench-libs-dxtn_LINKLIBCCGENFILES))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(workbench-libs-dxtn_LINKLIBCCGENFILES))) +else + workbench-libs-dxtn_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(patsubst $(workbench-libs-dxtn_OBJDIR)/linklib/%,%,$(workbench-libs-dxtn_LINKLIBCCGENFILES)))) + workbench-libs-dxtn_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(patsubst $(workbench-libs-dxtn_OBJDIR)/linklib/%,%,$(workbench-libs-dxtn_LINKLIBCCGENFILES)))) +endif +endif +workbench-libs-dxtn_MC_TGTWILDCARD := $(workbench-libs-dxtn_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-dxtn_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-libs-dxtn_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-dxtn_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-dxtn_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-dxtn_MC_DIRS := $(foreach dir, $(workbench-libs-dxtn_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-dxtn_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-dxtn_MC_DIRS),) + workbench-libs-dxtn_MC_DIRS := $(shell echo $(workbench-libs-dxtn_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-dxtn_MC_DIRS) +endif + +endif + +workbench-libs-dxtn_MC_CPPFLAGS := $(workbench-libs-dxtn_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-dxtn_CFLAGS := $(workbench-libs-dxtn_LINKLIBCFLAGS) +ifeq ($(workbench-libs-dxtn_LINKLIBDFLAGS),) + workbench-libs-dxtn_DFLAGS := $(workbench-libs-dxtn_LINKLIBCFLAGS) +else + workbench-libs-dxtn_DFLAGS := $(workbench-libs-dxtn_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-dxtn_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(TARGET_STRIP) +workbench-libs-dxtn_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(workbench-libs-dxtn_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(workbench-libs-dxtn_DFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-dxtn_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(HOST_STRIP) +workbench-libs-dxtn_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-dxtn_DFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-dxtn_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-dxtn_STRIP ?= $(ECHO) >/dev/null +workbench-libs-dxtn_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS) $(workbench-libs-dxtn_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_CFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-dxtn_DFLAGS)) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-dxtn_MC_TARGETS) $(workbench-libs-dxtn_MC_DTARGETS) : workbench-libs-dxtn_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-dxtn_MC_TARGETS) : CPPFLAGS := $(workbench-libs-dxtn_MC_CPPFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) : CFLAGS := $(workbench-libs-dxtn_CFLAGS) +$(workbench-libs-dxtn_MC_TARGETS) : $(workbench-libs-dxtn_MC_TGTWILDCARD).o : $(workbench-libs-dxtn_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-dxtn_IQUOTE) $(dir $<) $(workbench-libs-dxtn_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-dxtn_IQUOTE) . $(workbench-libs-dxtn_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-dxtn_MC_DTARGETS) : $(workbench-libs-dxtn_MC_TGTWILDCARD).d : $(workbench-libs-dxtn_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-dxtn_DFLAGS) $(workbench-libs-dxtn_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-libs-dxtn_LINKLIBAFILES),) + +ifeq ($(workbench-libs-dxtn_OBJDIR)/linklib,) +workbench-libs-dxtn-MA_TARGETS := $(addsuffix .o,$(workbench-libs-dxtn_LINKLIBAFILES) $(workbench-libs-dxtn_RELLINKLIBAFILES)) +workbench-libs-dxtn-MA_WILDCARD := % +else +workbench-libs-dxtn-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(notdir $(workbench-libs-dxtn_LINKLIBAFILES) $(workbench-libs-dxtn_RELLINKLIBAFILES)))) +workbench-libs-dxtn-MA_WILDCARD := $(workbench-libs-dxtn_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-libs-dxtn-MA_TARGETS) : | $(addsuffix .S,$(workbench-libs-dxtn_LINKLIBAFILES) $(workbench-libs-dxtn_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-libs-dxtn-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-dxtn-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-dxtn_LINKLIBAFILES) $(workbench-libs-dxtn_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-dxtn-MA_DIRS := $(foreach dir, $(workbench-libs-dxtn-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-dxtn-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-dxtn-MA_DIRS),) + workbench-libs-dxtn-MA_DIRS := $(shell echo $(workbench-libs-dxtn-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-libs-dxtn-MA_DIRS) +endif + +endif + +workbench-libs-dxtn-MA_ASSEMBLER ?= $(workbench-libs-dxtn_ASSEMBLER) + +$(workbench-libs-dxtn-MA_TARGETS) : workbench-libs-dxtn-MA_CMD:= $(workbench-libs-dxtn-MA_ASSEMBLER) + +$(workbench-libs-dxtn-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-libs-dxtn-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-libs-dxtn-MA_TARGETS) : $(workbench-libs-dxtn-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-libs-dxtn-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-libs-dxtn-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-libs-dxtn-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-libs-dxtn_SUFFIX := library +else +workbench-libs-dxtn_SUFFIX := +endif + +ifeq (target,target) +workbench-libs-dxtn_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-libs-dxtn_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-libs-dxtn_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-libs-dxtn_SUFFIX),handler) +workbench-libs-dxtn_MODULE := $(AROSDIR)/$(workbench-libs-dxtn_MODDIR)/$(workbench-libs-dxtn_DEFNAME)-$(workbench-libs-dxtn_SUFFIX) +else +workbench-libs-dxtn_MODULE := $(AROSDIR)/$(workbench-libs-dxtn_MODDIR)/$(workbench-libs-dxtn_DEFNAME).$(workbench-libs-dxtn_SUFFIX) +endif +workbench-libs-dxtn_KOBJ := $(KOBJSDIR)/$(workbench-libs-dxtn_DEFNAME)_$(workbench-libs-dxtn_SUFFIX).o +else +workbench-libs-dxtn_MODULE := +workbench-libs-dxtn_KOBJ := +endif + +workbench-libs-dxtn-quick : workbench-libs-dxtn +workbench-libs-dxtn : $(workbench-libs-dxtn_MODULE) $(workbench-libs-dxtn_LINKLIB) $(workbench-libs-dxtn_RELLINKLIB) +ifeq (,M) +workbench-libs-dxtn-kobj : $(workbench-libs-dxtn_KOBJ) $(workbench-libs-dxtn_LINKLIB) $(workbench-libs-dxtn_RELLINKLIB) +workbench-libs-dxtn-kobj-quick : $(workbench-libs-dxtn_KOBJ) $(workbench-libs-dxtn_LINKLIB) $(workbench-libs-dxtn_RELLINKLIB) +endif +ifeq (M,M) +workbench-libs-dxtn-linklib : $(workbench-libs-dxtn_LINKLIB) $(workbench-libs-dxtn_RELLINKLIB) +endif + +workbench-libs-dxtn_OBJS := $(addsuffix .o,$(workbench-libs-dxtn_STARTFILES)) $(workbench-libs-dxtn_ARCHOBJS) \ + $(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(workbench-libs-dxtn_C_NARCHFILES:=.o) $(workbench-libs-dxtn_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-libs-dxtn_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (dxtn,con) + workbench-libs-dxtn_ERR := $(notdir $(workbench-libs-dxtn_MODULE)).err +else + workbench-libs-dxtn_ERR := dxtn.err +endif + +ifeq (,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-libs-dxtn_DEFNAME)_LDFLAGS) $(workbench-libs-dxtn_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-libs-dxtn_LIBS) $($(workbench-libs-dxtn_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-libs-dxtn_MODULE) : LIB_NAMES := $(workbench-libs-dxtn_LIBS) $($(workbench-libs-dxtn_DEFNAME)_LIBS) +$(workbench-libs-dxtn_MODULE) : OBJS := $(workbench-libs-dxtn_STARTOBJS) $(workbench-libs-dxtn_OBJS) $(USER_OBJS) +$(workbench-libs-dxtn_MODULE) : ENDTAG := $(workbench-libs-dxtn_ENDOBJS) +$(workbench-libs-dxtn_MODULE) : ERR := $(workbench-libs-dxtn_ERR) +$(workbench-libs-dxtn_MODULE) : OBJDIR := $(workbench-libs-dxtn_OBJDIR) +$(workbench-libs-dxtn_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-libs-dxtn_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-libs-dxtn_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-libs-dxtn_MODULE) : $(workbench-libs-dxtn_STARTOBJS) $(workbench-libs-dxtn_OBJS) $(USER_OBJS) $(workbench-libs-dxtn_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-libs-dxtn_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-libs-dxtn_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-libs-dxtn_LC_LINKLIBNAME := $(shell echo $(workbench-libs-dxtn_LINKLIBNAME) | tr A-Z a-z) +workbench-libs-dxtn_LC_MODNAME := $(shell echo dxtn | tr A-Z a-z) +ifneq ($(workbench-libs-dxtn_LINKLIB),) + +ifeq (target,target) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(HOST_AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(KERNEL_AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)$(workbench-libs-dxtn_LIBSUFFIX).a : $(workbench-libs-dxtn_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-dxtn_AR) $@ $^ + $(Q)$(workbench-libs-dxtn_RANLIB) $@ +ifneq ($(workbench-libs-dxtn_LC_MODNAME),$(workbench-libs-dxtn_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-dxtn_LIBDIR)/libdxtn$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(AR) +$(workbench-libs-dxtn_LIBDIR)/libdxtn$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-dxtn_LIBDIR)/libdxtn$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(HOST_AR) +$(workbench-libs-dxtn_LIBDIR)/libdxtn$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-dxtn_LIBDIR)/libdxtn$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(KERNEL_AR) +$(workbench-libs-dxtn_LIBDIR)/libdxtn$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-dxtn_LIBDIR)/libdxtn$(workbench-libs-dxtn_LIBSUFFIX).a : $(workbench-libs-dxtn_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-dxtn_AR) $@ $^ + $(Q)$(workbench-libs-dxtn_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-dxtn_LINKLIB),) +$(workbench-libs-dxtn_LINKLIB) : | $(workbench-libs-dxtn_LIBDIR) +else +$(workbench-libs-dxtn_LINKLIB) :: $(workbench-libs-dxtn_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-dxtn_LIBDIR) + +endif + +ifneq ($(workbench-libs-dxtn_RELLINKLIB),) + +ifeq (target,target) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(HOST_AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(KERNEL_AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_LINKLIBNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : $(workbench-libs-dxtn_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-dxtn_AR) $@ $^ + $(Q)$(workbench-libs-dxtn_RANLIB) $@ +ifneq ($(workbench-libs-dxtn_LC_MODNAME),$(workbench-libs-dxtn_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_DEFNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_DEFNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_DEFNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(HOST_AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_DEFNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_DEFNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_AR:=$(KERNEL_AR) +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_DEFNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : workbench-libs-dxtn_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-dxtn_LIBDIR)/lib$(workbench-libs-dxtn_DEFNAME)_rel$(workbench-libs-dxtn_LIBSUFFIX).a : $(workbench-libs-dxtn_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-dxtn_AR) $@ $^ + $(Q)$(workbench-libs-dxtn_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-dxtn_RELLINKLIB),) +$(workbench-libs-dxtn_RELLINKLIB) : | $(workbench-libs-dxtn_LIBDIR) +else +$(workbench-libs-dxtn_RELLINKLIB) :: $(workbench-libs-dxtn_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-dxtn_LIBDIR) + +endif +endif + +ifeq (,M) +# Link kernel object file +workbench-libs-dxtn_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-libs-dxtn_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-libs-dxtn_SYMBOLS := $(workbench-libs-dxtn_KBASE) + +workbench-libs-dxtn_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-libs-dxtn_KOBJ_LIBS := $(filter-out $(workbench-libs-dxtn_KLIB),$(workbench-libs-dxtn_LIBS)) $(workbench-libs-dxtn_KAUTOLIB) +$(workbench-libs-dxtn_KOBJ) : LINKLIBS:=$(workbench-libs-dxtn_KOBJ_LIBS) $($(workbench-libs-dxtn_DEFNAME)_LIBS) +$(workbench-libs-dxtn_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-libs-dxtn_SYMBOLS)) +$(workbench-libs-dxtn_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-libs-dxtn_KOBJ) : $(workbench-libs-dxtn_OBJS) $(USER_OBJS) $(workbench-libs-dxtn_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-libs-dxtn_DEPS := $(addprefix $(workbench-libs-dxtn_OBJDIR)/,$(notdir $(workbench-libs-dxtn_CCFILES:=.d) $(workbench-libs-dxtn_TARGETCCFILES:=.d) $(workbench-libs-dxtn_CXXFILES:=.d))) $(addprefix $(workbench-libs-dxtn_OBJDIR)/linklib/,$(notdir $(workbench-libs-dxtn_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-libs-dxtn_DEPS),) + ifneq (workbench-libs-dxtn workbench-libs-dxtn-quick workbench-libs-dxtn-kobj workbench-libs-dxtn-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-dxtn workbench-libs-dxtn-quick workbench-libs-dxtn-kobj workbench-libs-dxtn-kobj-quick),) + -include $(workbench-libs-dxtn_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-dxtn_DEPS) + endif + endif +endif + +$(workbench-libs-dxtn_OBJS) $(workbench-libs-dxtn_DEPS) : | $(workbench-libs-dxtn_OBJDIR)/linklib + +ifneq ($(workbench-libs-dxtn_OBJS) $(workbench-libs-dxtn_DEPS) $(workbench-libs-dxtn_MODULE) $(workbench-libs-dxtn_KOBJ),) +$(workbench-libs-dxtn_OBJS) $(workbench-libs-dxtn_DEPS) $(workbench-libs-dxtn_MODULE) $(workbench-libs-dxtn_KOBJ) : | $(workbench-libs-dxtn_OBJDIR) $(AROSDIR)/$(workbench-libs-dxtn_MODDIR) $(KOBJSDIR) +else +$(workbench-libs-dxtn_OBJS) $(workbench-libs-dxtn_DEPS) $(workbench-libs-dxtn_MODULE) $(workbench-libs-dxtn_KOBJ) :: $(workbench-libs-dxtn_OBJDIR) $(AROSDIR)/$(workbench-libs-dxtn_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-dxtn_OBJDIR) $(AROSDIR)/$(workbench-libs-dxtn_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-libs-dxtn workbench-libs-dxtn-includes workbench-libs-dxtn-quick workbench-libs-dxtn-kobj workbench-libs-dxtn-kobj-quick),) # Only for this target these deps are wanted + +workbench-libs-dxtn_DFILE_DEPS := $(workbench-libs-dxtn_LIBDEFSINC) $(workbench-libs-dxtn_DEFLIBDEFSINC) \ + $(addprefix $(workbench-libs-dxtn_INCDIR)/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) +$(workbench-libs-dxtn_DEPS) : $(workbench-libs-dxtn_DFILE_DEPS) +endif + +workbench-libs-dxtn_TOCLEAN := $(workbench-libs-dxtn_OBJS) $(workbench-libs-dxtn_DEPS) \ + $(workbench-libs-dxtn_MODULE) $(workbench-libs-dxtn_LINKLIB) $(workbench-libs-dxtn_KOBJ) \ + $(workbench-libs-dxtn_OBJDIR)/Makefile.dxtnlibrary \ + $(addprefix $(workbench-libs-dxtn_OBJDIR)/include/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-dxtn_INCDIR)/,$($(workbench-libs-dxtn_DEFNAME)_INCLUDES)) \ + $(workbench-libs-dxtn_OBJDIR)/dxtn_geninc $(workbench-libs-dxtn_OBJDIR)/dxtn_incs \ + $(addsuffix .c,$(workbench-libs-dxtn_LINKLIBFILES)) $(workbench-libs-dxtn_LINKLIBOBJS) $(workbench-libs-dxtn_LIBDEFSINC) \ + $(workbench-libs-dxtn_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-libs-dxtn_STARTFILES) $(workbench-libs-dxtn_ENDFILES)) \ + $(workbench-libs-dxtn_ENDOBJS) +workbench-libs-dxtn-clean : FILES := $(workbench-libs-dxtn_TOCLEAN) +workbench-libs-dxtn-clean :: + $(Q)$(ECHO) "Cleaning up for module dxtn" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-libs-dxtn_ALLTARGETS) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/expat/examples/mmakefile b/workbench/libs/expat/examples/mmakefile new file mode 100644 index 00000000000..d815e2602a5 --- /dev/null +++ b/workbench/libs/expat/examples/mmakefile @@ -0,0 +1,295 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-libs-expat-examples : \ +#MM workbench-libs-expat-lib \ +#MM includes \ +#MM linklibs + +FILES := elements outline +EXEDIR := $(AROS_TESTS)/expat + + +.PHONY : workbench-libs-expat-examples + +workbench-libs-expat-examples_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-libs-expat-examples_TARGETDIR := $(EXEDIR) +workbench-libs-expat-examples_LIBS := expat + +workbench-libs-expat-examples_FILES := $(FILES) +workbench-libs-expat-examples_OBJS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-examples_OBJDIR)/,$(workbench-libs-expat-examples_FILES))) +workbench-libs-expat-examples_DEPS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-examples_OBJDIR)/,$(workbench-libs-expat-examples_FILES))) +workbench-libs-expat-examples_EXES := $(addprefix $(workbench-libs-expat-examples_TARGETDIR)/,$(workbench-libs-expat-examples_FILES)) + +workbench-libs-expat-examples_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-expat-examples_CPPFLAGS += -I +endif +workbench-libs-expat-examples_CFLAGS := $(CFLAGS) +workbench-libs-expat-examples_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-libs-expat-examples_COVERAGE := yes +workbench-libs-expat-examples_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-libs-expat-examples_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-libs-expat-examples_CFLAGS := $(strip $(workbench-libs-expat-examples_COVERAGEFLAGS) $(workbench-libs-expat-examples_CFLAGS)) +workbench-libs-expat-examples_LIBS += $(workbench-libs-expat-examples_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-expat-examples_FUNCINSTR := yes +workbench-libs-expat-examples_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-libs-expat-examples_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-libs-expat-examples_CFLAGS := $(strip $(workbench-libs-expat-examples_INSTRFUNCFLAGS) $(workbench-libs-expat-examples_CFLAGS)) +workbench-libs-expat-examples_LIBS += $(workbench-libs-expat-examples_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-libs-expat-examples_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-libs-expat-examples_CFLAGS)) +endif +endif +ifneq (,) + workbench-libs-expat-examples_DFLAGS := +else + workbench-libs-expat-examples_DFLAGS := $(workbench-libs-expat-examples_CFLAGS) +endif +ifeq (target,target) +workbench-libs-expat-examples_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-libs-expat-examples_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-libs-expat-examples_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + workbench-libs-expat-examples_LDFLAGS += -L +endif + +#MM +workbench-libs-expat-examples-quick : workbench-libs-expat-examples + +#MM workbench-libs-expat-examples : includes-generate-deps core-linklibs +workbench-libs-expat-examples : $(workbench-libs-expat-examples_EXES) + +ifneq ($(filter $(TARGET),workbench-libs-expat-examples workbench-libs-expat-examples-quick),) + +ifeq (,) +workbench-libs-expat-examples_MC_SRCWILDCARD := % +else +workbench-libs-expat-examples_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-expat-examples_OBJDIR),) +workbench-libs-expat-examples_MC_TARGETS := $(addsuffix .o,$(workbench-libs-expat-examples_FILES)) +workbench-libs-expat-examples_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-expat-examples_FILES)) +workbench-libs-expat-examples_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-expat-examples_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-examples_OBJDIR)/,$(notdir $(workbench-libs-expat-examples_FILES)))) + workbench-libs-expat-examples_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-examples_OBJDIR)/,$(notdir $(workbench-libs-expat-examples_FILES)))) +else +ifeq (,) + workbench-libs-expat-examples_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-examples_OBJDIR)/,$(workbench-libs-expat-examples_FILES))) + workbench-libs-expat-examples_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-examples_OBJDIR)/,$(workbench-libs-expat-examples_FILES))) +else + workbench-libs-expat-examples_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-examples_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-expat-examples_FILES)))) + workbench-libs-expat-examples_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-examples_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-expat-examples_FILES)))) +endif +endif +workbench-libs-expat-examples_MC_TGTWILDCARD := $(workbench-libs-expat-examples_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-expat-examples_FILES)) + +# Be sure that all .c files are found +workbench-libs-expat-examples_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-expat-examples_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-expat-examples_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-expat-examples_MC_DIRS := $(foreach dir, $(workbench-libs-expat-examples_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-expat-examples_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-expat-examples_MC_DIRS),) + workbench-libs-expat-examples_MC_DIRS := $(shell echo $(workbench-libs-expat-examples_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-expat-examples_MC_DIRS) +endif + +endif + +workbench-libs-expat-examples_MC_CPPFLAGS := $(workbench-libs-expat-examples_CPPFLAGS) +workbench-libs-expat-examples_CFLAGS := $(workbench-libs-expat-examples_CFLAGS) +ifeq ($(workbench-libs-expat-examples_DFLAGS),) + workbench-libs-expat-examples_DFLAGS := $(workbench-libs-expat-examples_CFLAGS) +else + workbench-libs-expat-examples_DFLAGS := $(workbench-libs-expat-examples_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-expat-examples_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-expat-examples_STRIP ?= $(TARGET_STRIP) +workbench-libs-expat-examples_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_MC_CPPFLAGS:=$(strip $(workbench-libs-expat-examples_MC_CPPFLAGS) $(workbench-libs-expat-examples_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_CFLAGS:=$(strip $(workbench-libs-expat-examples_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_DFLAGS:=$(workbench-libs-expat-examples_DFLAGS) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-expat-examples_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-expat-examples_STRIP ?= $(HOST_STRIP) +workbench-libs-expat-examples_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-expat-examples_MC_CPPFLAGS) $(workbench-libs-expat-examples_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-examples_CFLAGS)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-examples_DFLAGS)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-expat-examples_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-expat-examples_STRIP ?= $(ECHO) >/dev/null +workbench-libs-expat-examples_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-expat-examples_MC_CPPFLAGS) $(workbench-libs-expat-examples_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-examples_CFLAGS)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-examples_DFLAGS)) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-expat-examples_MC_TARGETS) $(workbench-libs-expat-examples_MC_DTARGETS) : workbench-libs-expat-examples_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-expat-examples_MC_TARGETS) : CPPFLAGS := $(workbench-libs-expat-examples_MC_CPPFLAGS) +$(workbench-libs-expat-examples_MC_TARGETS) : CFLAGS := $(workbench-libs-expat-examples_CFLAGS) +$(workbench-libs-expat-examples_MC_TARGETS) : $(workbench-libs-expat-examples_MC_TGTWILDCARD).o : $(workbench-libs-expat-examples_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-expat-examples_IQUOTE) $(dir $<) $(workbench-libs-expat-examples_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-examples_IQUOTE) . $(workbench-libs-expat-examples_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-expat-examples_IQUOTE) $(dir $<) $(workbench-libs-expat-examples_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-examples_IQUOTE) . $(workbench-libs-expat-examples_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-expat-examples_IQUOTE) $(dir $<) $(workbench-libs-expat-examples_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-examples_IQUOTE) . $(workbench-libs-expat-examples_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-expat-examples_MC_DTARGETS) : $(workbench-libs-expat-examples_MC_TGTWILDCARD).d : $(workbench-libs-expat-examples_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-expat-examples_DFLAGS) $(workbench-libs-expat-examples_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +workbench-libs-expat-examples-link_EXTRA_LDFLAGS := +workbench-libs-expat-examples-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-libs-expat-examples-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-libs-expat-examples-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-libs-expat-examples-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +workbench-libs-expat-examples-link_DIRS := $(subst -L ,-L,$(strip $(workbench-libs-expat-examples_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-libs-expat-examples-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-libs-expat-examples-link_DIRS))) +# Add trailing / +workbench-libs-expat-examples-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-libs-expat-examples-link_DIRS))) +# Add normal linklib path +workbench-libs-expat-examples-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-libs-expat-examples-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-libs-expat-examples_LIBS) $(workbench-libs-expat-examples-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +workbench-libs-expat-examples-link_DEPLIBS := $(foreach lib,$(workbench-libs-expat-examples-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-libs-expat-examples-link_DIRS)))) \ +) +workbench-libs-expat-examples-link_PROGS := $(addprefix $(workbench-libs-expat-examples_TARGETDIR)/,$(workbench-libs-expat-examples_FILES)) + +$(workbench-libs-expat-examples-link_PROGS) : OBJDIR := $(workbench-libs-expat-examples_OBJDIR) +$(workbench-libs-expat-examples-link_PROGS) : LDFLAGS := $(strip $(workbench-libs-expat-examples_LDFLAGS) $(workbench-libs-expat-examples-link_EXTRA_LDFLAGS)) +$(workbench-libs-expat-examples-link_PROGS) : LIBS := $(addprefix -l,$(workbench-libs-expat-examples_LIBS) $(workbench-libs-expat-examples-link_EXTRA_LIBS) ) +$(workbench-libs-expat-examples-link_PROGS) : $(workbench-libs-expat-examples_TARGETDIR)/% : $(workbench-libs-expat-examples_OBJDIR)/%.o $(workbench-libs-expat-examples-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-libs-expat-examples_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-libs-expat-examples_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-libs-expat-examples_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-libs-expat-examples_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-libs-expat-examples_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-libs-expat-examples_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-libs-expat-examples_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-libs-expat-examples_DEPS),) + ifneq (workbench-libs-expat-examples workbench-libs-expat-examples-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-expat-examples workbench-libs-expat-examples-quick),) + -include $(workbench-libs-expat-examples_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-expat-examples_DEPS) + endif + endif +endif + + +ifneq ($(workbench-libs-expat-examples_DEPS) $(workbench-libs-expat-examples_OBJS) $(addprefix $(workbench-libs-expat-examples_TARGETDIR)/,$(workbench-libs-expat-examples_FILES)),) +$(workbench-libs-expat-examples_DEPS) $(workbench-libs-expat-examples_OBJS) $(addprefix $(workbench-libs-expat-examples_TARGETDIR)/,$(workbench-libs-expat-examples_FILES)) : | $(workbench-libs-expat-examples_TARGETDIR) $(workbench-libs-expat-examples_OBJDIR) +else +$(workbench-libs-expat-examples_DEPS) $(workbench-libs-expat-examples_OBJS) $(addprefix $(workbench-libs-expat-examples_TARGETDIR)/,$(workbench-libs-expat-examples_FILES)) :: $(workbench-libs-expat-examples_TARGETDIR) $(workbench-libs-expat-examples_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-expat-examples_TARGETDIR) $(workbench-libs-expat-examples_OBJDIR) + + +workbench-libs-expat-examples-clean : FILES := $(workbench-libs-expat-examples_OBJS) $(workbench-libs-expat-examples_EXES) $(workbench-libs-expat-examples_DEPS) +#MM +workbench-libs-expat-examples-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-libs-expat-examples" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/expat/lib/mmakefile b/workbench/libs/expat/lib/mmakefile new file mode 100644 index 00000000000..adf870b594d --- /dev/null +++ b/workbench/libs/expat/lib/mmakefile @@ -0,0 +1,1742 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-libs-expat : \ +#MM workbench-libs-expat-lib \ +#MM workbench-libs-expat-examples \ +#MM workbench-libs-expat-pc + +#MM- workbench-libs-expat-quick : \ +#MM workbench-libs-expat-lib-quick \ +#MM workbench-libs-expat-examples-quick + +#MM- workbench-libs-expat-clean : \ +#MM workbench-libs-expat-lib-clean \ +#MM workbench-libs-expat-examples-clean + +#MM workbench-libs-expat-lib : linklibs + +#MM- workbench-libs-expat-includes : \ +#MM kernel-exec-includes includes-copy + + +CFILES := xmlparse xmlrole xmltok + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-libs-expat-lib +#MM workbench-libs-expat-lib-quick +#MM workbench-libs-expat-lib-makefile +#MM workbench-libs-expat-lib-clean + +# ABI targets: +#MM- includes-all : workbench-libs-expat-lib-includes +#MM- linklibs-expat: workbench-libs-expat-lib-linklib +#MM- linklibs-expat_rel : workbench-libs-expat-lib-linklib +#MM- includes-expat: workbench-libs-expat-lib-includes +#MM- includes-expat_rel : workbench-libs-expat-lib-includes +#MM- workbench-libs-expat-lib : workbench-libs-expat-lib-includes core-linklibs linklibs- +#MM workbench-libs-expat-lib-linklib : workbench-libs-expat-lib-includes includes- +#MM- workbench-libs-expat-lib-quick : workbench-libs-expat-lib-includes-quick +#MM workbench-libs-expat-lib-includes : workbench-libs-expat-lib-makefile workbench-libs-expat-lib-includes-dirs \ +#MM includes-generate-deps workbench-libs-expat-lib-fd +#MM workbench-libs-expat-lib-includes-quick +#MM workbench-libs-expat-lib-includes-dirs +#MM workbench-libs-expat-lib-fd + +# Library targets +#MM workbench-libs-expat-lib-kobj : core-linklibs linklibs- +#MM workbench-libs-expat-lib-kobj-quick : + +# Library with ABI targets: +#MM workbench-libs-expat-lib-kobj : workbench-libs-expat-lib-includes core-linklibs linklibs- +#MM workbench-libs-expat-lib-kobj-quick : workbench-libs-expat-lib-includes-quick + +# All MetaMake targets defined by this macro +workbench-libs-expat-lib_ALLTARGETS := workbench-libs-expat-lib workbench-libs-expat-lib-quick workbench-libs-expat-lib-clean + +ifeq (M,M) +workbench-libs-expat-lib_ALLTARGETS += workbench-libs-expat-lib-kobj workbench-libs-expat-lib-kobj-quick +endif + +ifeq (M,M) +workbench-libs-expat-lib_ALLTARGETS += workbench-libs-expat-lib-includes \ + workbench-libs-expat-lib-includes-quick workbench-libs-expat-lib-includes-dirs \ + workbench-libs-expat-lib-linklib workbench-libs-expat-lib-fd +endif + +.PHONY : $(workbench-libs-expat-lib_ALLTARGETS) workbench-libs-expat-lib-makefile + +ifeq (expat,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-libs-expat-lib_DEFNAME := expat_ +else + workbench-libs-expat-lib_DEFNAME := expat +endif +workbench-libs-expat-lib_DEFLINKLIBNAME := $(workbench-libs-expat-lib_DEFNAME) +ifneq (expat,) + workbench-libs-expat-lib_LINKLIBNAME := expat +else + workbench-libs-expat-lib_LINKLIBNAME = $(workbench-libs-expat-lib_DEFLINKLIBNAME) +endif +workbench-libs-expat-lib_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-expat-lib_DEFCPPFLAGS += -I +endif +workbench-libs-expat-lib_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-libs-expat-lib_DFLAGS := +else + workbench-libs-expat-lib_DFLAGS = $(workbench-libs-expat-lib_DEFDFLAGS) +endif +workbench-libs-expat-lib_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-libs-expat-lib_DXXFLAGS := +else + workbench-libs-expat-lib_DXXFLAGS = $(workbench-libs-expat-lib_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-expat-lib_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-expat-lib_DEFDFLAGS)) +workbench-libs-expat-lib_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-expat-lib_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-expat-lib_FUNCINSTR := yes +workbench-libs-expat-lib_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-expat-lib_DEFDFLAGS)) +workbench-libs-expat-lib_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-expat-lib_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-libs-expat-lib_OBJDIR := +else +workbench-libs-expat-lib_OBJDIR := $(OBJDIR)/$(workbench-libs-expat-lib_DEFNAME) +endif +ifneq (,) +workbench-libs-expat-lib_OBJDIR := $(workbench-libs-expat-lib_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-libs-expat-lib-makefile := $(workbench-libs-expat-lib_OBJDIR)/Makefile.$(workbench-libs-expat-lib_DEFNAME)library +workbench-libs-expat-lib-genmakefile : $(workbench-libs-expat-lib-makefile) + + +workbench-libs-expat-lib-genmakefile_OPTS := +ifneq (,) + workbench-libs-expat-lib-genmakefile_OPTS += -f + workbench-libs-expat-lib-genmakefile_MODNAME := expat_ +else + workbench-libs-expat-lib-genmakefile_MODNAME := expat +endif +workbench-libs-expat-lib-genmakefile_TARGET := Makefile.$(workbench-libs-expat-lib-genmakefile_MODNAME)library +workbench-libs-expat-lib-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-expat-lib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-expat-lib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-expat-lib-genmakefile_OPTS += -c + workbench-libs-expat-lib-genmakefile_DEPS += + endif +else + workbench-libs-expat-lib-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/expat.conf + workbench-libs-expat-lib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/expat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-expat-lib-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-expat-lib-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-expat-lib-genmakefile_OPTS += -o + workbench-libs-expat-lib-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-libs-expat-lib-genmakefile_OPTS += -s +endif +ifneq ($(workbench-libs-expat-lib_OBJDIR),) + workbench-libs-expat-lib-genmakefile_OPTS += -d $(workbench-libs-expat-lib_OBJDIR) + workbench-libs-expat-lib-genmakefile_TARGET := $(workbench-libs-expat-lib_OBJDIR)/$(workbench-libs-expat-lib-genmakefile_TARGET) +endif + +$(workbench-libs-expat-lib-genmakefile_TARGET) : OPTS := $(workbench-libs-expat-lib-genmakefile_OPTS) +$(workbench-libs-expat-lib-genmakefile_TARGET) : MODNAME := expat +$(workbench-libs-expat-lib-genmakefile_TARGET) : MODTYPE := library +$(workbench-libs-expat-lib-genmakefile_TARGET) : $(workbench-libs-expat-lib-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-libs-expat-lib-makefile),) +$(workbench-libs-expat-lib-makefile) : | $(workbench-libs-expat-lib_OBJDIR) +else +$(workbench-libs-expat-lib-makefile) :: $(workbench-libs-expat-lib_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-expat-lib_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-libs-expat-lib_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-libs-expat-lib-makefile) + +workbench-libs-expat-lib_DEFMODDIR := $($(workbench-libs-expat-lib_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-libs-expat-lib_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-libs-expat-lib_DEFMODDIR) +endif +ifneq (,) + workbench-libs-expat-lib_MODDIR := +else + workbench-libs-expat-lib_MODDIR := $(workbench-libs-expat-lib_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-libs-expat-lib_INCDIR := +else +workbench-libs-expat-lib_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-libs-expat-lib_LIBDEFSINC := $(workbench-libs-expat-lib_OBJDIR)/include/$(workbench-libs-expat-lib_DEFNAME)_libdefs.h +workbench-libs-expat-lib_DEFLIBDEFSINC := $(workbench-libs-expat-lib_OBJDIR)/include/$(workbench-libs-expat-lib_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-libs-expat-lib-includes-quick : workbench-libs-expat-lib-includes +workbench-libs-expat-lib-includes : $(addprefix $(GENINCDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-expat-lib_INCDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) \ + $(workbench-libs-expat-lib_LIBDEFSINC) $(workbench-libs-expat-lib_DEFLIBDEFSINC) + +ifneq ($($(workbench-libs-expat-lib_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-libs-expat-lib-includes_MODNAME := expat_ +else + workbench-libs-expat-lib-includes_MODNAME := expat +endif + +ifneq ($($(workbench-libs-expat-lib-includes_MODNAME)_INCLUDES),) + +workbench-libs-expat-lib-includes_TARGETS := $($(workbench-libs-expat-lib-includes_MODNAME)_INCLUDES) + +workbench-libs-expat-lib-includes_DEPS := $(GENMODULE) +workbench-libs-expat-lib-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-expat-lib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-expat-lib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-expat-lib-includes_OPTS += -c + workbench-libs-expat-lib-includes_DEPS += + endif +else + workbench-libs-expat-lib-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/expat.conf + workbench-libs-expat-lib-includes_DEPS += $(SRCDIR)/$(CURDIR)/expat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-expat-lib-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-expat-lib-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-expat-lib-includes_OPTS += -o + workbench-libs-expat-lib-includes_DEPS += + endif +endif +ifneq (,) + workbench-libs-expat-lib-includes_OPTS += -s +endif +ifneq ($(workbench-libs-expat-lib_OBJDIR)/include,) + workbench-libs-expat-lib-includes_OPTS += -d $(workbench-libs-expat-lib_OBJDIR)/include + workbench-libs-expat-lib-includes_TARGETS := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/include/,$(workbench-libs-expat-lib-includes_TARGETS)) + workbench-libs-expat-lib-includes_GENINCFLAG=$(workbench-libs-expat-lib_OBJDIR)/include/.expat.library-includes +else + workbench-libs-expat-lib-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.expat.library-includes +endif + +$(workbench-libs-expat-lib-includes_TARGETS) : $(workbench-libs-expat-lib-includes_DEPS) $(workbench-libs-expat-lib-includes_GENINCFLAG) + +$(workbench-libs-expat-lib-includes_GENINCFLAG) : OPTS := $(workbench-libs-expat-lib-includes_OPTS) +$(workbench-libs-expat-lib-includes_GENINCFLAG) : MODNAME := expat +$(workbench-libs-expat-lib-includes_GENINCFLAG) : MODTYPE := library +$(workbench-libs-expat-lib-includes_GENINCFLAG) : $(workbench-libs-expat-lib-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-libs-expat-lib_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) : | $(workbench-libs-expat-lib_OBJDIR)/expat_geninc + +$(workbench-libs-expat-lib_OBJDIR)/expat_geninc : COPYSRCDIR := $(workbench-libs-expat-lib_OBJDIR)/include +$(workbench-libs-expat-lib_OBJDIR)/expat_geninc : TGTDIR := $(GENINCDIR) +$(workbench-libs-expat-lib_OBJDIR)/expat_geninc : FILES := $($(workbench-libs-expat-lib_DEFNAME)_INCLUDES) +$(workbench-libs-expat-lib_OBJDIR)/expat_geninc : $(addprefix $(workbench-libs-expat-lib_OBJDIR)/include/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-libs-expat-lib_OBJDIR)/include + +$(addprefix $(workbench-libs-expat-lib_INCDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) : | $(workbench-libs-expat-lib_OBJDIR)/expat_incs + +$(workbench-libs-expat-lib_OBJDIR)/expat_incs : COPYSRCDIR := $(workbench-libs-expat-lib_OBJDIR)/include +$(workbench-libs-expat-lib_OBJDIR)/expat_incs : TGTDIR := $(workbench-libs-expat-lib_INCDIR) +$(workbench-libs-expat-lib_OBJDIR)/expat_incs : FILES := $($(workbench-libs-expat-lib_DEFNAME)_INCLUDES) +$(workbench-libs-expat-lib_OBJDIR)/expat_incs : $(addprefix $(workbench-libs-expat-lib_OBJDIR)/include/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-libs-expat-lib_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)))) + +TMPexpat_INCDIRS := \ + $(workbench-libs-expat-lib_OBJDIR)/include $(addprefix $(workbench-libs-expat-lib_OBJDIR)/include/,$(workbench-libs-expat-lib_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-libs-expat-lib_INCDIRS)) \ + $(workbench-libs-expat-lib_INCDIR) $(addprefix $(workbench-libs-expat-lib_INCDIR)/,$(workbench-libs-expat-lib_INCDIRS)) + +ifneq (workbench-libs-expat-lib-includes-dirs,) +workbench-libs-expat-lib-includes-dirs : | $(TMPexpat_INCDIRS) +else +workbench-libs-expat-lib-includes-dirs :: $(TMPexpat_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPexpat_INCDIRS) + + +endif + +endif + + +workbench-libs-expat-lib-genlibdefs_OPTS := +ifneq (,) + workbench-libs-expat-lib-genlibdefs_OPTS += -f + workbench-libs-expat-lib-genlibdefs_MODNAME := expat_ +else + workbench-libs-expat-lib-genlibdefs_MODNAME := expat +endif +workbench-libs-expat-lib-genlibdefs_TARGET := $(workbench-libs-expat-lib-genlibdefs_MODNAME)_libdefs.h +workbench-libs-expat-lib-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-expat-lib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-expat-lib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-expat-lib-genlibdefs_OPTS += -c + workbench-libs-expat-lib-genlibdefs_DEPS += + endif +else + workbench-libs-expat-lib-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/expat.conf + workbench-libs-expat-lib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/expat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-expat-lib-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-expat-lib-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-expat-lib-genlibdefs_OPTS += -o + workbench-libs-expat-lib-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-libs-expat-lib-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-libs-expat-lib_OBJDIR)/include,) + workbench-libs-expat-lib-genlibdefs_OPTS += -d $(workbench-libs-expat-lib_OBJDIR)/include + workbench-libs-expat-lib-genlibdefs_TARGET := $(workbench-libs-expat-lib_OBJDIR)/include/$(workbench-libs-expat-lib-genlibdefs_TARGET) +endif +ifneq (,) + workbench-libs-expat-lib-genlibdefs_OPTS += -v +endif + +$(workbench-libs-expat-lib-genlibdefs_TARGET) : OPTS := $(workbench-libs-expat-lib-genlibdefs_OPTS) +$(workbench-libs-expat-lib-genlibdefs_TARGET) : MODNAME := expat +$(workbench-libs-expat-lib-genlibdefs_TARGET) : MODTYPE := library +$(workbench-libs-expat-lib-genlibdefs_TARGET) : $(workbench-libs-expat-lib-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-libs-expat-lib_DEFLIBDEFSINC) : FILENAME := $(workbench-libs-expat-lib_LIBDEFSINC) +$(workbench-libs-expat-lib_DEFLIBDEFSINC) : $(workbench-libs-expat-lib_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-libs-expat-lib_LIBDEFSINC) $(workbench-libs-expat-lib_DEFLIBDEFSINC) : | $(workbench-libs-expat-lib_OBJDIR)/include + +ifneq (workbench-libs-expat-lib-includes-dirs,) +workbench-libs-expat-lib-includes-dirs : | $(workbench-libs-expat-lib_OBJDIR)/include +else +workbench-libs-expat-lib-includes-dirs :: $(workbench-libs-expat-lib_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-libs-expat-lib_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-libs-expat-lib-genmodfiles_OPTS := +ifneq (,) + workbench-libs-expat-lib-genmodfiles_OPTS += -f + workbench-libs-expat-lib-genmodfiles_MODNAME := expat_ +else + workbench-libs-expat-lib-genmodfiles_MODNAME := expat +endif +workbench-libs-expat-lib-genmodfiles_GENTARGETS := $($(workbench-libs-expat-lib-genmodfiles_MODNAME)_STARTFILES) $($(workbench-libs-expat-lib-genmodfiles_MODNAME)_ENDFILES) +workbench-libs-expat-lib-genmodfiles_STUBTARGETS := $($(workbench-libs-expat-lib-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-libs-expat-lib-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-libs-expat-lib-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-libs-expat-lib-genmodfiles_GENTARGETS)) +workbench-libs-expat-lib-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-libs-expat-lib-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-libs-expat-lib-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-libs-expat-lib-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-libs-expat-lib-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-expat-lib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-expat-lib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-expat-lib-genmodfiles_OPTS += -c + workbench-libs-expat-lib-genmodfiles_DEPS += + endif +else + workbench-libs-expat-lib-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/expat.conf + workbench-libs-expat-lib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/expat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-expat-lib-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-expat-lib-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-expat-lib-genmodfiles_OPTS += -o + workbench-libs-expat-lib-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-libs-expat-lib-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-libs-expat-lib_OBJDIR),) + workbench-libs-expat-lib-genmodfiles_OPTS += -d $(workbench-libs-expat-lib_OBJDIR) + workbench-libs-expat-lib-genmodfiles_TARGETDIR := $(shell echo $(workbench-libs-expat-lib_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-expat-lib-genmodfiles_GENTARGETS := $(addprefix $(workbench-libs-expat-lib-genmodfiles_TARGETDIR)/,$(workbench-libs-expat-lib-genmodfiles_GENTARGETS)) + workbench-libs-expat-lib-genmodfiles_GENFILEFLAG=$(workbench-libs-expat-lib-genmodfiles_TARGETDIR)/.expat.library-genfiles +else + workbench-libs-expat-lib-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.expat.library-genfiles +endif +ifneq ($(workbench-libs-expat-lib_OBJDIR)/linklib,) + workbench-libs-expat-lib-genmodfiles_OPTS += -l $(workbench-libs-expat-lib_OBJDIR)/linklib + workbench-libs-expat-lib-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-libs-expat-lib_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-libs-expat-lib-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-expat-lib-genmodfiles_STUBTARGETDIR)/,$(workbench-libs-expat-lib-genmodfiles_STUBTARGETS)) + workbench-libs-expat-lib-genmodfiles_TARGETDIRS += $(workbench-libs-expat-lib_OBJDIR)/linklib +else +ifneq ($(workbench-libs-expat-lib_OBJDIR),) + workbench-libs-expat-lib-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-expat-lib-genmodfiles_TARGETDIR)/,$(workbench-libs-expat-lib-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-libs-expat-lib-genmodfiles_TARGETS := $(workbench-libs-expat-lib-genmodfiles_GENTARGETS) $(workbench-libs-expat-lib-genmodfiles_STUBTARGETS) +ifneq ($(workbench-libs-expat-lib-genmodfiles_TARGETDIRS),) +$(workbench-libs-expat-lib-genmodfiles_TARGETS) : | $(workbench-libs-expat-lib-genmodfiles_TARGETDIRS) +endif + +$(workbench-libs-expat-lib-genmodfiles_TARGETS) : $(workbench-libs-expat-lib-genmodfiles_DEPS) $(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG) + +$(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-libs-expat-lib-genmodfiles_OPTS) +$(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG) : MODNAME := expat +$(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG) : $(workbench-libs-expat-lib-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG) : $(workbench-libs-expat-lib_DEFLIBDEFSINC) $(workbench-libs-expat-lib-makefile) + + +ifneq ($(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG),) +$(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG) : | $(workbench-libs-expat-lib_OBJDIR)/linklib +else +$(workbench-libs-expat-lib-genmodfiles_GENFILEFLAG) :: $(workbench-libs-expat-lib_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-libs-expat-lib_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-libs-expat-lib_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-libs-expat-lib_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-libs-expat-lib-fd : $(workbench-libs-expat-lib_FDDIR)/expat_lib.fd + + +TMP_TARGET := expat_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/expat.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/expat.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-libs-expat-lib_FDDIR),) + TMP_OPTS += -d $(workbench-libs-expat-lib_FDDIR) + TMP_TARGET := $(workbench-libs-expat-lib_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := expat +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-libs-expat-lib_FDDIR)/expat_lib.fd : | $(workbench-libs-expat-lib_FDDIR) + + +ifneq (workbench-libs-expat-lib-fd-setup,) +workbench-libs-expat-lib-fd-setup : | $(workbench-libs-expat-lib_FDDIR) +else +workbench-libs-expat-lib-fd-setup :: $(workbench-libs-expat-lib_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-expat-lib_FDDIR) + +endif + +## Compilation +## +workbench-libs-expat-lib_FILES := $(CFILES) +workbench-libs-expat-lib_OBJCFILES := +workbench-libs-expat-lib_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-libs-expat-lib_LIBFILES := +workbench-libs-expat-lib_LIBS := + +workbench-libs-expat-lib_FDIRS := $(sort $(dir $(workbench-libs-expat-lib_FILES))) + +workbench-libs-expat-lib_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-libs-expat-lib_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-libs-expat-lib_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-libs-expat-lib_FILTERARCH = $(filter-out $(call workbench-libs-expat-lib_MATCHARCH,$(1),$(2)),$(2)) +workbench-libs-expat-lib_STARTFILES := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_STARTFILES)) +workbench-libs-expat-lib_ENDFILES := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_ENDFILES)) + +workbench-libs-expat-lib_ARCHOBJS := $(wildcard $(workbench-libs-expat-lib_OBJDIR)/arch/*.o) +workbench-libs-expat-lib_LIBARCHOBJS := $(wildcard $(workbench-libs-expat-lib_OBJDIR)/linklib/arch/*.o) +workbench-libs-expat-lib_ARCHFILES := $(basename $(notdir $(workbench-libs-expat-lib_ARCHOBJS))) +workbench-libs-expat-lib_LIBARCHFILES := $(basename $(notdir $(workbench-libs-expat-lib_LIBARCHOBJS))) +workbench-libs-expat-lib_C_NARCHFILES := $(call workbench-libs-expat-lib_FILTERARCH,$(workbench-libs-expat-lib_ARCHFILES),$(workbench-libs-expat-lib_FILES)) +workbench-libs-expat-lib_CXX_NARCHFILES := $(call workbench-libs-expat-lib_FILTERARCH,$(workbench-libs-expat-lib_ARCHFILES),$(workbench-libs-expat-lib_CXXFILES)) +workbench-libs-expat-lib_OBJC_NARCHFILES := $(call workbench-libs-expat-lib_FILTERARCH,$(workbench-libs-expat-lib_ARCHFILES),$(workbench-libs-expat-lib_OBJCFILES)) +workbench-libs-expat-lib_NLIBARCHFILES := $(call workbench-libs-expat-lib_FILTERARCH,$(workbench-libs-expat-lib_LIBARCHFILES),$(workbench-libs-expat-lib_LIBFILES)) +workbench-libs-expat-lib_ARCHNLIBFILES := $(call workbench-libs-expat-lib_FILTERARCH,$(workbench-libs-expat-lib_LIBFILES),$(workbench-libs-expat-lib_LIBARCHFILES)) + +workbench-libs-expat-lib_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-libs-expat-lib_OBJDIR)/include -include $(workbench-libs-expat-lib_DEFLIBDEFSINC)) +ifneq (,) +workbench-libs-expat-lib_CPPFLAGS += -I +endif +workbench-libs-expat-lib_LINKLIBCPPFLAGS := $(workbench-libs-expat-lib_CPPFLAGS) +workbench-libs-expat-lib_CPPFLAGS += $(strip $($(workbench-libs-expat-lib_DEFNAME)_CPPFLAGS)) +workbench-libs-expat-lib_LINKLIBCPPFLAGS += $(strip $($(workbench-libs-expat-lib_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-libs-expat-lib_CFLAGS := $(strip $(CFLAGS) $($(workbench-libs-expat-lib_DEFNAME)_CFLAGS)) +workbench-libs-expat-lib_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-libs-expat-lib_DEFNAME)_LINKLIBCFLAGS)) +workbench-libs-expat-lib_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-libs-expat-lib_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-expat-lib_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-libs-expat-lib_CFLAGS := $(strip $(workbench-libs-expat-lib_LTOFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +workbench-libs-expat-lib_LINKLIBCFLAGS := $(strip $(workbench-libs-expat-lib_LTOFLAGS) $(workbench-libs-expat-lib_LINKLIBCFLAGS)) +workbench-libs-expat-lib_CXXFLAGS := $(strip $(workbench-libs-expat-lib_LTOFLAGS) $(workbench-libs-expat-lib_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-expat-lib_SUBSTNULL := +workbench-libs-expat-lib_SUBSTSPACE := $(workbench-libs-expat-lib_SUBSTNULL) # +workbench-libs-expat-lib_SUBSTCOMMA := , +workbench-libs-expat-lib_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-libs-expat-lib_SUBSTSPACE),$(workbench-libs-expat-lib_SUBSTCOMMA),$(strip $($(workbench-libs-expat-lib_DEFNAME)_STARTFILES)))) +workbench-libs-expat-lib_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-libs-expat-lib_CFLAGS := $(strip $(workbench-libs-expat-lib_INSTRFUNCFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +workbench-libs-expat-lib_CXXFLAGS := $(strip $(workbench-libs-expat-lib_INSTRFUNCFLAGS) $(workbench-libs-expat-lib_CXXFLAGS)) +workbench-libs-expat-lib_LIBS += $(workbench-libs-expat-lib_INSTRFUNCLIBS) +endif +endif +workbench-libs-expat-lib_DFLAGS := $(strip $(workbench-libs-expat-lib_DFLAGS) $($(workbench-libs-expat-lib_DEFNAME)_DFLAGS)) +workbench-libs-expat-lib_LINKLIBDFLAGS := $(strip $(workbench-libs-expat-lib_DFLAGS) $($(workbench-libs-expat-lib_DEFNAME)_LINKLIBDFLAGS)) +workbench-libs-expat-lib_DXXFLAGS := $(strip $(workbench-libs-expat-lib_DXXFLAGS) $($(workbench-libs-expat-lib_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-libs-expat-lib_LIBSUFFIX := +else + workbench-libs-expat-lib_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-libs-expat-lib_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-libs-expat-lib_LIBDIR := +endif + +ifeq (M,M) +workbench-libs-expat-lib_LINKLIBCFILES := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$($(workbench-libs-expat-lib_DEFNAME)_LINKLIBFILES)) +workbench-libs-expat-lib_LINKLIBAFILES := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$($(workbench-libs-expat-lib_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-expat-lib_DEFNAME)_LINKLIBFILES) $($(workbench-libs-expat-lib_DEFNAME)_LINKLIBAFILES) $(workbench-libs-expat-lib_ARCHNLIBFILES)),) + workbench-libs-expat-lib_LINKLIB := +else + workbench-libs-expat-lib_LINKLIB := $(workbench-libs-expat-lib_LIBDIR)/libexpat$(workbench-libs-expat-lib_LIBSUFFIX).a + ifneq (expat,$(workbench-libs-expat-lib_LINKLIBNAME)) + workbench-libs-expat-lib_LINKLIB += $(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)$(workbench-libs-expat-lib_LIBSUFFIX).a + endif +endif +workbench-libs-expat-lib_LINKLIBFILES := $(workbench-libs-expat-lib_LINKLIBCFILES) $(workbench-libs-expat-lib_LINKLIBAFILES) + +workbench-libs-expat-lib_RELLINKLIBCFILES := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$($(workbench-libs-expat-lib_DEFNAME)_RELLINKLIBFILES)) +workbench-libs-expat-lib_RELLINKLIBAFILES := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$($(workbench-libs-expat-lib_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-expat-lib_DEFNAME)_RELLINKLIBFILES) $($(workbench-libs-expat-lib_DEFNAME)_RELLINKLIBAFILES) $(workbench-libs-expat-lib_ARCHNLIBFILES)),) + workbench-libs-expat-lib_RELLINKLIB := +else + workbench-libs-expat-lib_RELLINKLIB := $(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_DEFNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a + ifneq (expat,$(workbench-libs-expat-lib_LINKLIBNAME)) + workbench-libs-expat-lib_RELLINKLIB += $(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a + endif +endif +workbench-libs-expat-lib_RELLINKLIBFILES := $(workbench-libs-expat-lib_RELLINKLIBCFILES) $(workbench-libs-expat-lib_RELLINKLIBAFILES) +endif + +workbench-libs-expat-lib_ENDOBJS := $(addsuffix .o,$(workbench-libs-expat-lib_ENDFILES)) +workbench-libs-expat-lib_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(notdir $(workbench-libs-expat-lib_NLIBARCHFILES))) $(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-expat-lib_ARCHNLIBFILES))) $(workbench-libs-expat-lib_LINKLIBFILES)) \ + +workbench-libs-expat-lib_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(notdir $(workbench-libs-expat-lib_NLIBARCHFILES))) $(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-expat-lib_ARCHNLIBFILES))) $(workbench-libs-expat-lib_RELLINKLIBFILES)) \ + +$(workbench-libs-expat-lib_LINKLIBFILES) $(workbench-libs-expat-lib_RELLINKLIBFILES) : | $(workbench-libs-expat-lib_OBJDIR)/linklib +$(workbench-libs-expat-lib_LINKLIBOBJS) $(workbench-libs-expat-lib_RELLINKLIBOBJS) : | $(workbench-libs-expat-lib_OBJDIR)/linklib + +workbench-libs-expat-lib_CCFILES := $(workbench-libs-expat-lib_C_NARCHFILES) +workbench-libs-expat-lib_TARGETCCFILES := $(strip $(workbench-libs-expat-lib_STARTFILES) $(workbench-libs-expat-lib_ENDFILES)) +workbench-libs-expat-lib_LINKLIBCCFILES := $(strip $(workbench-libs-expat-lib_NLIBARCHFILES) $(workbench-libs-expat-lib_LINKLIBCFILES) $(workbench-libs-expat-lib_RELLINKLIBCFILES)) +workbench-libs-expat-lib_LINKLIBCCGENFILES := $(strip $(workbench-libs-expat-lib_LINKLIBCFILES) $(workbench-libs-expat-lib_RELLINKLIBCFILES)) + + +workbench-libs-expat-lib_CXXABSBASENAMES := $(foreach workbench-libs-expat-lib_CXXBASE,$(workbench-libs-expat-lib_CXX_NARCHFILES),$(if $(filter /%,$(workbench-libs-expat-lib_CXXBASE)),$(workbench-libs-expat-lib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-libs-expat-lib_CXXBASE)))) + +ifneq ($(workbench-libs-expat-lib_CXXABSBASENAMES),) + +workbench-libs-expat-lib_CXXBASENAMES := $(basename $(workbench-libs-expat-lib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-libs-expat-lib_MCXX_FILES := $(strip $(foreach workbench-libs-expat-lib_CXXBASE,$(workbench-libs-expat-lib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-libs-expat-lib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-libs-expat-lib_EXT),$(workbench-libs-expat-lib_CXXBASE))))))) + +ifeq (,) +workbench-libs-expat-lib_MCXX_SRCWILDCARD := % +else +workbench-libs-expat-lib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-expat-lib_OBJDIR),) + workbench-libs-expat-lib_CXXTARGETS := $(notdir $(workbench-libs-expat-lib_CXXBASENAMES:=.o)) + workbench-libs-expat-lib_CXXDTARGETS := $(notdir $(workbench-libs-expat-lib_CXXBASENAMES:=.d)) + workbench-libs-expat-lib_MCXX_WILDCARD := % +else + workbench-libs-expat-lib_CXXTARGETS := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(workbench-libs-expat-lib_CXXBASENAMES:=.o))) + workbench-libs-expat-lib_CXXDTARGETS := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(workbench-libs-expat-lib_CXXBASENAMES:=.d))) + workbench-libs-expat-lib_MCXX_WILDCARD := $(workbench-libs-expat-lib_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-libs-expat-lib_CXXTARGETS) $(workbench-libs-expat-lib_CXXDTARGETS) : | $(workbench-libs-expat-lib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-libs-expat-lib_MCXX_CPPFLAGS := $(workbench-libs-expat-lib_CPPFLAGS) +workbench-libs-expat-lib_CXXFLAGS := $(workbench-libs-expat-lib_CXXFLAGS) +ifeq ($(workbench-libs-expat-lib_DXXFLAGS),) + workbench-libs-expat-lib_DXXFLAGS := $(workbench-libs-expat-lib_CXXFLAGS) +else + workbench-libs-expat-lib_DXXFLAGS := $(workbench-libs-expat-lib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-libs-expat-lib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-libs-expat-lib_STRIP ?= $(HOST_STRIP) + workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-libs-expat-lib_CXXCMD:=$(HOST_CXX) + workbench-libs-expat-lib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-libs-expat-lib_MCXX_CPPFLAGS) $(workbench-libs-expat-lib_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-expat-lib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-expat-lib_CXXFLAGS)) + workbench-libs-expat-lib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-expat-lib_DXXFLAGS)) + workbench-libs-expat-lib_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-libs-expat-lib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-libs-expat-lib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-expat-lib_STRIP ?= $(TARGET_STRIP) + workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-libs-expat-lib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-libs-expat-lib_MCXX_CPPFLAGS := $(strip $(workbench-libs-expat-lib_MCXX_CPPFLAGS) $(workbench-libs-expat-lib_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-expat-lib_CXXFLAGS := $(strip $(workbench-libs-expat-lib_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-libs-expat-lib_DXXFLAGS := $(workbench-libs-expat-lib_DXXFLAGS) + workbench-libs-expat-lib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-libs-expat-lib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-libs-expat-lib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-expat-lib_STRIP ?= $(ECHO) >/dev/null + workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-libs-expat-lib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-libs-expat-lib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-libs-expat-lib_MCXX_CPPFLAGS) $(workbench-libs-expat-lib_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-expat-lib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-expat-lib_CXXFLAGS)) + workbench-libs-expat-lib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-expat-lib_DXXFLAGS)) + workbench-libs-expat-lib_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-libs-expat-lib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-libs-expat-lib_CXXCMD) $(workbench-libs-expat-lib_CXXIQUOTE) $(dir $(2)) $(workbench-libs-expat-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_CXXIQUOTE) . $(workbench-libs-expat-lib_CXXIQUOTE_END) $(strip $(workbench-libs-expat-lib_CXXFLAGS) $(workbench-libs-expat-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-libs-expat-lib_CXXCMD) $(workbench-libs-expat-lib_CXXIQUOTE) $(dir $(2)) $(workbench-libs-expat-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_CXXIQUOTE) . $(workbench-libs-expat-lib_CXXIQUOTE_END) $(strip $(workbench-libs-expat-lib_CXXFLAGS) $(workbench-libs-expat-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-libs-expat-lib_CXXCMD) $(workbench-libs-expat-lib_CXXIQUOTE) $(dir $(2)) $(workbench-libs-expat-lib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_CXXIQUOTE) . $(workbench-libs-expat-lib_CXXIQUOTE_END) $(strip $(workbench-libs-expat-lib_CXXFLAGS) $(workbench-libs-expat-lib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-libs-expat-lib_CXXCMD)" $(MKDEPEND) $(strip $(workbench-libs-expat-lib_DXXFLAGS) $(workbench-libs-expat-lib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-libs-expat-lib_OBJDIR),) + $(foreach workbench-libs-expat-lib_CXXFILE,$(workbench-libs-expat-lib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-libs-expat-lib_CXXFILE))),$(workbench-libs-expat-lib_CXXFILE)))) +else + $(foreach workbench-libs-expat-lib_CXXFILE,$(workbench-libs-expat-lib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(basename $(workbench-libs-expat-lib_CXXFILE)))),$(workbench-libs-expat-lib_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-libs-expat-lib_OBJC_NARCHFILES),) + +ifeq (,) +workbench-libs-expat-lib_MOBJC_SRCWILDCARD := % +else +workbench-libs-expat-lib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-expat-lib_OBJDIR),) + workbench-libs-expat-lib_MOBJC_TARGETS := $(addsuffix .o,$(workbench-libs-expat-lib_OBJC_NARCHFILES)) + workbench-libs-expat-lib_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-libs-expat-lib_OBJC_NARCHFILES)) + workbench-libs-expat-lib_MOBJC_WILDCARD := % +else + workbench-libs-expat-lib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(workbench-libs-expat-lib_OBJC_NARCHFILES))) + workbench-libs-expat-lib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(workbench-libs-expat-lib_OBJC_NARCHFILES))) + workbench-libs-expat-lib_MOBJC_WILDCARD := $(workbench-libs-expat-lib_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-libs-expat-lib_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-libs-expat-lib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-expat-lib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-expat-lib_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-libs-expat-lib_MOBJC_DIRS := $(foreach dir, $(workbench-libs-expat-lib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-expat-lib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-libs-expat-lib_MOBJC_DIRS),) + workbench-libs-expat-lib_MOBJC_DIRS := $(shell echo $(workbench-libs-expat-lib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-libs-expat-lib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-libs-expat-lib_CC := $(TARGET_CC) +else + workbench-libs-expat-lib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-libs-expat-lib_MOBJC_CPPFLAGS := $(workbench-libs-expat-lib_CPPFLAGS) +workbench-libs-expat-lib_OBJCFLAGS := $(workbench-libs-expat-lib_CFLAGS) +workbench-libs-expat-lib_OBJCFLAGS := $(workbench-libs-expat-lib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-libs-expat-lib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-libs-expat-lib_OBJCFLAGS))) +ifeq ($(workbench-libs-expat-lib_DFLAGS),) + workbench-libs-expat-lib_OBJCDFLAGS := $(workbench-libs-expat-lib_CFLAGS) +else + workbench-libs-expat-lib_OBJCDFLAGS := $(workbench-libs-expat-lib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-libs-expat-lib_LINK ?= $(strip $(workbench-libs-expat-lib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-expat-lib_STRIP ?= $(TARGET_STRIP) + workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-libs-expat-lib_CC) $(TARGET_SYSROOT)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_MOBJC_CPPFLAGS:=$(strip $(workbench-libs-expat-lib_MOBJC_CPPFLAGS) $(workbench-libs-expat-lib_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_OBJCFLAGS:=$(strip $(workbench-libs-expat-lib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_OBJCDFLAGS:=$(workbench-libs-expat-lib_OBJCDFLAGS) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-libs-expat-lib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-libs-expat-lib_STRIP ?= $(HOST_STRIP) + workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-libs-expat-lib_MOBJC_CPPFLAGS) $(workbench-libs-expat-lib_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_OBJCFLAGS)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_OBJCDFLAGS)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(HOST_IQUOTE) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-libs-expat-lib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-expat-lib_STRIP ?= $(ECHO) >/dev/null + workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-libs-expat-lib_MOBJC_CPPFLAGS) $(workbench-libs-expat-lib_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_OBJCFLAGS)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_OBJCDFLAGS)) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-libs-expat-lib_MOBJC_TARGETS) $(workbench-libs-expat-lib_MOBJC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-expat-lib_MOBJC_TARGETS) : CPPFLAGS := $(workbench-libs-expat-lib_MOBJC_CPPFLAGS) +$(workbench-libs-expat-lib_MOBJC_TARGETS) : CFLAGS := $(workbench-libs-expat-lib_OBJCFLAGS) +$(workbench-libs-expat-lib_MOBJC_TARGETS) : $(workbench-libs-expat-lib_MOBJC_WILDCARD).o : $(workbench-libs-expat-lib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-expat-lib_MOBJC_DTARGETS) : $(workbench-libs-expat-lib_MOBJC_WILDCARD).d : $(workbench-libs-expat-lib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-expat-lib_OBJCDFLAGS) $(workbench-libs-expat-lib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-libs-expat-lib_MC_SRCWILDCARD := % +else +workbench-libs-expat-lib_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-expat-lib_OBJDIR),) +workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(workbench-libs-expat-lib_CCFILES)) +workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-expat-lib_CCFILES)) +workbench-libs-expat-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(workbench-libs-expat-lib_CCFILES)))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(workbench-libs-expat-lib_CCFILES)))) +else +ifeq (,) + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(workbench-libs-expat-lib_CCFILES))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(workbench-libs-expat-lib_CCFILES))) +else + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-expat-lib_CCFILES)))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-expat-lib_CCFILES)))) +endif +endif +workbench-libs-expat-lib_MC_TGTWILDCARD := $(workbench-libs-expat-lib_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-expat-lib_CCFILES)) + +# Be sure that all .c files are found +workbench-libs-expat-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-expat-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-expat-lib_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-expat-lib_MC_DIRS := $(foreach dir, $(workbench-libs-expat-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-expat-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-expat-lib_MC_DIRS),) + workbench-libs-expat-lib_MC_DIRS := $(shell echo $(workbench-libs-expat-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-expat-lib_MC_DIRS) +endif + +endif + +workbench-libs-expat-lib_MC_CPPFLAGS := $(workbench-libs-expat-lib_CPPFLAGS) +workbench-libs-expat-lib_CFLAGS := $(workbench-libs-expat-lib_CFLAGS) +ifeq ($(workbench-libs-expat-lib_DFLAGS),) + workbench-libs-expat-lib_DFLAGS := $(workbench-libs-expat-lib_CFLAGS) +else + workbench-libs-expat-lib_DFLAGS := $(workbench-libs-expat-lib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-expat-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(TARGET_STRIP) +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(workbench-libs-expat-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(workbench-libs-expat-lib_DFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-expat-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(HOST_STRIP) +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_DFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-expat-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(ECHO) >/dev/null +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_DFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-expat-lib_MC_TARGETS) : CPPFLAGS := $(workbench-libs-expat-lib_MC_CPPFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) : CFLAGS := $(workbench-libs-expat-lib_CFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) : $(workbench-libs-expat-lib_MC_TGTWILDCARD).o : $(workbench-libs-expat-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-expat-lib_MC_DTARGETS) : $(workbench-libs-expat-lib_MC_TGTWILDCARD).d : $(workbench-libs-expat-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-expat-lib_DFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-expat-lib_MC_SRCWILDCARD := % +else +workbench-libs-expat-lib_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-expat-lib_OBJDIR),) +workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(workbench-libs-expat-lib_TARGETCCFILES)) +workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-expat-lib_TARGETCCFILES)) +workbench-libs-expat-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(workbench-libs-expat-lib_TARGETCCFILES)))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(workbench-libs-expat-lib_TARGETCCFILES)))) +else +ifeq (,) + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(workbench-libs-expat-lib_TARGETCCFILES))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(workbench-libs-expat-lib_TARGETCCFILES))) +else + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-expat-lib_TARGETCCFILES)))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-expat-lib_TARGETCCFILES)))) +endif +endif +workbench-libs-expat-lib_MC_TGTWILDCARD := $(workbench-libs-expat-lib_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-expat-lib_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-libs-expat-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-expat-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-expat-lib_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-expat-lib_MC_DIRS := $(foreach dir, $(workbench-libs-expat-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-expat-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-expat-lib_MC_DIRS),) + workbench-libs-expat-lib_MC_DIRS := $(shell echo $(workbench-libs-expat-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-expat-lib_MC_DIRS) +endif + +endif + +workbench-libs-expat-lib_MC_CPPFLAGS := $(workbench-libs-expat-lib_CPPFLAGS) -D__AROS__ +workbench-libs-expat-lib_CFLAGS := $(workbench-libs-expat-lib_CFLAGS) +ifeq ($(workbench-libs-expat-lib_DFLAGS),) + workbench-libs-expat-lib_DFLAGS := $(workbench-libs-expat-lib_CFLAGS) +else + workbench-libs-expat-lib_DFLAGS := $(workbench-libs-expat-lib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-expat-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(TARGET_STRIP) +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(workbench-libs-expat-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(workbench-libs-expat-lib_DFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-expat-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(HOST_STRIP) +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_DFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-expat-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(ECHO) >/dev/null +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_DFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-expat-lib_MC_TARGETS) : CPPFLAGS := $(workbench-libs-expat-lib_MC_CPPFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) : CFLAGS := $(workbench-libs-expat-lib_CFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) : $(workbench-libs-expat-lib_MC_TGTWILDCARD).o : $(workbench-libs-expat-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-expat-lib_MC_DTARGETS) : $(workbench-libs-expat-lib_MC_TGTWILDCARD).d : $(workbench-libs-expat-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-expat-lib_DFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-expat-lib_MC_SRCWILDCARD := % +else +workbench-libs-expat-lib_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-expat-lib_OBJDIR)/linklib,) +workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(workbench-libs-expat-lib_NLIBARCHFILES)) +workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-expat-lib_NLIBARCHFILES)) +workbench-libs-expat-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(notdir $(workbench-libs-expat-lib_NLIBARCHFILES)))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(notdir $(workbench-libs-expat-lib_NLIBARCHFILES)))) +else +ifeq (,) + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(workbench-libs-expat-lib_NLIBARCHFILES))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(workbench-libs-expat-lib_NLIBARCHFILES))) +else + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-expat-lib_NLIBARCHFILES)))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-expat-lib_NLIBARCHFILES)))) +endif +endif +workbench-libs-expat-lib_MC_TGTWILDCARD := $(workbench-libs-expat-lib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-expat-lib_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-libs-expat-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-expat-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-expat-lib_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-expat-lib_MC_DIRS := $(foreach dir, $(workbench-libs-expat-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-expat-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-expat-lib_MC_DIRS),) + workbench-libs-expat-lib_MC_DIRS := $(shell echo $(workbench-libs-expat-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-expat-lib_MC_DIRS) +endif + +endif + +workbench-libs-expat-lib_MC_CPPFLAGS := $(workbench-libs-expat-lib_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-expat-lib_CFLAGS := $(workbench-libs-expat-lib_LINKLIBCFLAGS) +ifeq ($(workbench-libs-expat-lib_LINKLIBDFLAGS),) + workbench-libs-expat-lib_DFLAGS := $(workbench-libs-expat-lib_LINKLIBCFLAGS) +else + workbench-libs-expat-lib_DFLAGS := $(workbench-libs-expat-lib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-expat-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(TARGET_STRIP) +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(workbench-libs-expat-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(workbench-libs-expat-lib_DFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-expat-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(HOST_STRIP) +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_DFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-expat-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(ECHO) >/dev/null +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_DFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-expat-lib_MC_TARGETS) : CPPFLAGS := $(workbench-libs-expat-lib_MC_CPPFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) : CFLAGS := $(workbench-libs-expat-lib_CFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) : $(workbench-libs-expat-lib_MC_TGTWILDCARD).o : $(workbench-libs-expat-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-expat-lib_MC_DTARGETS) : $(workbench-libs-expat-lib_MC_TGTWILDCARD).d : $(workbench-libs-expat-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-expat-lib_DFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-libs-expat-lib_OBJDIR)/linklib,) +workbench-libs-expat-lib_MC_SRCWILDCARD := % +else +workbench-libs-expat-lib_MC_SRCWILDCARD := $(workbench-libs-expat-lib_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-libs-expat-lib_OBJDIR)/linklib,) +workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(workbench-libs-expat-lib_LINKLIBCCGENFILES)) +workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-expat-lib_LINKLIBCCGENFILES)) +workbench-libs-expat-lib_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(notdir $(workbench-libs-expat-lib_LINKLIBCCGENFILES)))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(notdir $(workbench-libs-expat-lib_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-libs-expat-lib_OBJDIR)/linklib,) + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(workbench-libs-expat-lib_LINKLIBCCGENFILES))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(workbench-libs-expat-lib_LINKLIBCCGENFILES))) +else + workbench-libs-expat-lib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(patsubst $(workbench-libs-expat-lib_OBJDIR)/linklib/%,%,$(workbench-libs-expat-lib_LINKLIBCCGENFILES)))) + workbench-libs-expat-lib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(patsubst $(workbench-libs-expat-lib_OBJDIR)/linklib/%,%,$(workbench-libs-expat-lib_LINKLIBCCGENFILES)))) +endif +endif +workbench-libs-expat-lib_MC_TGTWILDCARD := $(workbench-libs-expat-lib_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-expat-lib_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-libs-expat-lib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-expat-lib_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-expat-lib_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-expat-lib_MC_DIRS := $(foreach dir, $(workbench-libs-expat-lib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-expat-lib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-expat-lib_MC_DIRS),) + workbench-libs-expat-lib_MC_DIRS := $(shell echo $(workbench-libs-expat-lib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-expat-lib_MC_DIRS) +endif + +endif + +workbench-libs-expat-lib_MC_CPPFLAGS := $(workbench-libs-expat-lib_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-expat-lib_CFLAGS := $(workbench-libs-expat-lib_LINKLIBCFLAGS) +ifeq ($(workbench-libs-expat-lib_LINKLIBDFLAGS),) + workbench-libs-expat-lib_DFLAGS := $(workbench-libs-expat-lib_LINKLIBCFLAGS) +else + workbench-libs-expat-lib_DFLAGS := $(workbench-libs-expat-lib_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-expat-lib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(TARGET_STRIP) +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(workbench-libs-expat-lib_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(workbench-libs-expat-lib_DFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-expat-lib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(HOST_STRIP) +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-expat-lib_DFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-expat-lib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-expat-lib_STRIP ?= $(ECHO) >/dev/null +workbench-libs-expat-lib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS) $(workbench-libs-expat-lib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_CFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-expat-lib_DFLAGS)) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-expat-lib_MC_TARGETS) $(workbench-libs-expat-lib_MC_DTARGETS) : workbench-libs-expat-lib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-expat-lib_MC_TARGETS) : CPPFLAGS := $(workbench-libs-expat-lib_MC_CPPFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) : CFLAGS := $(workbench-libs-expat-lib_CFLAGS) +$(workbench-libs-expat-lib_MC_TARGETS) : $(workbench-libs-expat-lib_MC_TGTWILDCARD).o : $(workbench-libs-expat-lib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-expat-lib_IQUOTE) $(dir $<) $(workbench-libs-expat-lib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-expat-lib_IQUOTE) . $(workbench-libs-expat-lib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-expat-lib_MC_DTARGETS) : $(workbench-libs-expat-lib_MC_TGTWILDCARD).d : $(workbench-libs-expat-lib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-expat-lib_DFLAGS) $(workbench-libs-expat-lib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-libs-expat-lib_LINKLIBAFILES),) + +ifeq ($(workbench-libs-expat-lib_OBJDIR)/linklib,) +workbench-libs-expat-lib-MA_TARGETS := $(addsuffix .o,$(workbench-libs-expat-lib_LINKLIBAFILES) $(workbench-libs-expat-lib_RELLINKLIBAFILES)) +workbench-libs-expat-lib-MA_WILDCARD := % +else +workbench-libs-expat-lib-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(notdir $(workbench-libs-expat-lib_LINKLIBAFILES) $(workbench-libs-expat-lib_RELLINKLIBAFILES)))) +workbench-libs-expat-lib-MA_WILDCARD := $(workbench-libs-expat-lib_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-libs-expat-lib-MA_TARGETS) : | $(addsuffix .S,$(workbench-libs-expat-lib_LINKLIBAFILES) $(workbench-libs-expat-lib_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-libs-expat-lib-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-expat-lib-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-expat-lib_LINKLIBAFILES) $(workbench-libs-expat-lib_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-expat-lib-MA_DIRS := $(foreach dir, $(workbench-libs-expat-lib-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-expat-lib-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-expat-lib-MA_DIRS),) + workbench-libs-expat-lib-MA_DIRS := $(shell echo $(workbench-libs-expat-lib-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-libs-expat-lib-MA_DIRS) +endif + +endif + +workbench-libs-expat-lib-MA_ASSEMBLER ?= $(workbench-libs-expat-lib_ASSEMBLER) + +$(workbench-libs-expat-lib-MA_TARGETS) : workbench-libs-expat-lib-MA_CMD:= $(workbench-libs-expat-lib-MA_ASSEMBLER) + +$(workbench-libs-expat-lib-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-libs-expat-lib-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-libs-expat-lib-MA_TARGETS) : $(workbench-libs-expat-lib-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-libs-expat-lib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-libs-expat-lib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-libs-expat-lib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-libs-expat-lib_SUFFIX := library +else +workbench-libs-expat-lib_SUFFIX := +endif + +ifeq (target,target) +workbench-libs-expat-lib_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-libs-expat-lib_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-libs-expat-lib_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-libs-expat-lib_SUFFIX),handler) +workbench-libs-expat-lib_MODULE := $(AROSDIR)/$(workbench-libs-expat-lib_MODDIR)/$(workbench-libs-expat-lib_DEFNAME)-$(workbench-libs-expat-lib_SUFFIX) +else +workbench-libs-expat-lib_MODULE := $(AROSDIR)/$(workbench-libs-expat-lib_MODDIR)/$(workbench-libs-expat-lib_DEFNAME).$(workbench-libs-expat-lib_SUFFIX) +endif +workbench-libs-expat-lib_KOBJ := $(KOBJSDIR)/$(workbench-libs-expat-lib_DEFNAME)_$(workbench-libs-expat-lib_SUFFIX).o +else +workbench-libs-expat-lib_MODULE := +workbench-libs-expat-lib_KOBJ := +endif + +workbench-libs-expat-lib-quick : workbench-libs-expat-lib +workbench-libs-expat-lib : $(workbench-libs-expat-lib_MODULE) $(workbench-libs-expat-lib_LINKLIB) $(workbench-libs-expat-lib_RELLINKLIB) +ifeq (M,M) +workbench-libs-expat-lib-kobj : $(workbench-libs-expat-lib_KOBJ) $(workbench-libs-expat-lib_LINKLIB) $(workbench-libs-expat-lib_RELLINKLIB) +workbench-libs-expat-lib-kobj-quick : $(workbench-libs-expat-lib_KOBJ) $(workbench-libs-expat-lib_LINKLIB) $(workbench-libs-expat-lib_RELLINKLIB) +endif +ifeq (M,M) +workbench-libs-expat-lib-linklib : $(workbench-libs-expat-lib_LINKLIB) $(workbench-libs-expat-lib_RELLINKLIB) +endif + +workbench-libs-expat-lib_OBJS := $(addsuffix .o,$(workbench-libs-expat-lib_STARTFILES)) $(workbench-libs-expat-lib_ARCHOBJS) \ + $(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(workbench-libs-expat-lib_C_NARCHFILES:=.o) $(workbench-libs-expat-lib_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-libs-expat-lib_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (expat,con) + workbench-libs-expat-lib_ERR := $(notdir $(workbench-libs-expat-lib_MODULE)).err +else + workbench-libs-expat-lib_ERR := expat.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-libs-expat-lib_DEFNAME)_LDFLAGS) $(workbench-libs-expat-lib_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-libs-expat-lib_LIBS) $($(workbench-libs-expat-lib_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-libs-expat-lib_MODULE) : LIB_NAMES := $(workbench-libs-expat-lib_LIBS) $($(workbench-libs-expat-lib_DEFNAME)_LIBS) +$(workbench-libs-expat-lib_MODULE) : OBJS := $(workbench-libs-expat-lib_STARTOBJS) $(workbench-libs-expat-lib_OBJS) $(USER_OBJS) +$(workbench-libs-expat-lib_MODULE) : ENDTAG := $(workbench-libs-expat-lib_ENDOBJS) +$(workbench-libs-expat-lib_MODULE) : ERR := $(workbench-libs-expat-lib_ERR) +$(workbench-libs-expat-lib_MODULE) : OBJDIR := $(workbench-libs-expat-lib_OBJDIR) +$(workbench-libs-expat-lib_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-libs-expat-lib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-libs-expat-lib_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-libs-expat-lib_MODULE) : $(workbench-libs-expat-lib_STARTOBJS) $(workbench-libs-expat-lib_OBJS) $(USER_OBJS) $(workbench-libs-expat-lib_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-libs-expat-lib_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-libs-expat-lib_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-libs-expat-lib_LC_LINKLIBNAME := $(shell echo $(workbench-libs-expat-lib_LINKLIBNAME) | tr A-Z a-z) +workbench-libs-expat-lib_LC_MODNAME := $(shell echo expat | tr A-Z a-z) +ifneq ($(workbench-libs-expat-lib_LINKLIB),) + +ifeq (target,target) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(HOST_AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(KERNEL_AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)$(workbench-libs-expat-lib_LIBSUFFIX).a : $(workbench-libs-expat-lib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-expat-lib_AR) $@ $^ + $(Q)$(workbench-libs-expat-lib_RANLIB) $@ +ifneq ($(workbench-libs-expat-lib_LC_MODNAME),$(workbench-libs-expat-lib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-expat-lib_LIBDIR)/libexpat$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(AR) +$(workbench-libs-expat-lib_LIBDIR)/libexpat$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-expat-lib_LIBDIR)/libexpat$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(HOST_AR) +$(workbench-libs-expat-lib_LIBDIR)/libexpat$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-expat-lib_LIBDIR)/libexpat$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(KERNEL_AR) +$(workbench-libs-expat-lib_LIBDIR)/libexpat$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-expat-lib_LIBDIR)/libexpat$(workbench-libs-expat-lib_LIBSUFFIX).a : $(workbench-libs-expat-lib_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-expat-lib_AR) $@ $^ + $(Q)$(workbench-libs-expat-lib_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-expat-lib_LINKLIB),) +$(workbench-libs-expat-lib_LINKLIB) : | $(workbench-libs-expat-lib_LIBDIR) +else +$(workbench-libs-expat-lib_LINKLIB) :: $(workbench-libs-expat-lib_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-expat-lib_LIBDIR) + +endif + +ifneq ($(workbench-libs-expat-lib_RELLINKLIB),) + +ifeq (target,target) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(HOST_AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(KERNEL_AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_LINKLIBNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : $(workbench-libs-expat-lib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-expat-lib_AR) $@ $^ + $(Q)$(workbench-libs-expat-lib_RANLIB) $@ +ifneq ($(workbench-libs-expat-lib_LC_MODNAME),$(workbench-libs-expat-lib_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_DEFNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_DEFNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_DEFNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(HOST_AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_DEFNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_DEFNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_AR:=$(KERNEL_AR) +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_DEFNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : workbench-libs-expat-lib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-expat-lib_LIBDIR)/lib$(workbench-libs-expat-lib_DEFNAME)_rel$(workbench-libs-expat-lib_LIBSUFFIX).a : $(workbench-libs-expat-lib_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-expat-lib_AR) $@ $^ + $(Q)$(workbench-libs-expat-lib_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-expat-lib_RELLINKLIB),) +$(workbench-libs-expat-lib_RELLINKLIB) : | $(workbench-libs-expat-lib_LIBDIR) +else +$(workbench-libs-expat-lib_RELLINKLIB) :: $(workbench-libs-expat-lib_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-expat-lib_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-libs-expat-lib_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-libs-expat-lib_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-libs-expat-lib_SYMBOLS := $(workbench-libs-expat-lib_KBASE) + +workbench-libs-expat-lib_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-libs-expat-lib_KOBJ_LIBS := $(filter-out $(workbench-libs-expat-lib_KLIB),$(workbench-libs-expat-lib_LIBS)) $(workbench-libs-expat-lib_KAUTOLIB) +$(workbench-libs-expat-lib_KOBJ) : LINKLIBS:=$(workbench-libs-expat-lib_KOBJ_LIBS) $($(workbench-libs-expat-lib_DEFNAME)_LIBS) +$(workbench-libs-expat-lib_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-libs-expat-lib_SYMBOLS)) +$(workbench-libs-expat-lib_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-libs-expat-lib_KOBJ) : $(workbench-libs-expat-lib_OBJS) $(USER_OBJS) $(workbench-libs-expat-lib_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-libs-expat-lib_DEPS := $(addprefix $(workbench-libs-expat-lib_OBJDIR)/,$(notdir $(workbench-libs-expat-lib_CCFILES:=.d) $(workbench-libs-expat-lib_TARGETCCFILES:=.d) $(workbench-libs-expat-lib_CXXFILES:=.d))) $(addprefix $(workbench-libs-expat-lib_OBJDIR)/linklib/,$(notdir $(workbench-libs-expat-lib_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-libs-expat-lib_DEPS),) + ifneq (workbench-libs-expat-lib workbench-libs-expat-lib-quick workbench-libs-expat-lib-kobj workbench-libs-expat-lib-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-expat-lib workbench-libs-expat-lib-quick workbench-libs-expat-lib-kobj workbench-libs-expat-lib-kobj-quick),) + -include $(workbench-libs-expat-lib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-expat-lib_DEPS) + endif + endif +endif + +$(workbench-libs-expat-lib_OBJS) $(workbench-libs-expat-lib_DEPS) : | $(workbench-libs-expat-lib_OBJDIR)/linklib + +ifneq ($(workbench-libs-expat-lib_OBJS) $(workbench-libs-expat-lib_DEPS) $(workbench-libs-expat-lib_MODULE) $(workbench-libs-expat-lib_KOBJ),) +$(workbench-libs-expat-lib_OBJS) $(workbench-libs-expat-lib_DEPS) $(workbench-libs-expat-lib_MODULE) $(workbench-libs-expat-lib_KOBJ) : | $(workbench-libs-expat-lib_OBJDIR) $(AROSDIR)/$(workbench-libs-expat-lib_MODDIR) $(KOBJSDIR) +else +$(workbench-libs-expat-lib_OBJS) $(workbench-libs-expat-lib_DEPS) $(workbench-libs-expat-lib_MODULE) $(workbench-libs-expat-lib_KOBJ) :: $(workbench-libs-expat-lib_OBJDIR) $(AROSDIR)/$(workbench-libs-expat-lib_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-expat-lib_OBJDIR) $(AROSDIR)/$(workbench-libs-expat-lib_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-libs-expat-lib workbench-libs-expat-lib-includes workbench-libs-expat-lib-quick workbench-libs-expat-lib-kobj workbench-libs-expat-lib-kobj-quick),) # Only for this target these deps are wanted + +workbench-libs-expat-lib_DFILE_DEPS := $(workbench-libs-expat-lib_LIBDEFSINC) $(workbench-libs-expat-lib_DEFLIBDEFSINC) \ + $(addprefix $(workbench-libs-expat-lib_INCDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) +$(workbench-libs-expat-lib_DEPS) : $(workbench-libs-expat-lib_DFILE_DEPS) +endif + +workbench-libs-expat-lib_TOCLEAN := $(workbench-libs-expat-lib_OBJS) $(workbench-libs-expat-lib_DEPS) \ + $(workbench-libs-expat-lib_MODULE) $(workbench-libs-expat-lib_LINKLIB) $(workbench-libs-expat-lib_KOBJ) \ + $(workbench-libs-expat-lib_OBJDIR)/Makefile.expatlibrary \ + $(addprefix $(workbench-libs-expat-lib_OBJDIR)/include/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-expat-lib_INCDIR)/,$($(workbench-libs-expat-lib_DEFNAME)_INCLUDES)) \ + $(workbench-libs-expat-lib_OBJDIR)/expat_geninc $(workbench-libs-expat-lib_OBJDIR)/expat_incs \ + $(addsuffix .c,$(workbench-libs-expat-lib_LINKLIBFILES)) $(workbench-libs-expat-lib_LINKLIBOBJS) $(workbench-libs-expat-lib_LIBDEFSINC) \ + $(workbench-libs-expat-lib_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-libs-expat-lib_STARTFILES) $(workbench-libs-expat-lib_ENDFILES)) \ + $(workbench-libs-expat-lib_ENDOBJS) +workbench-libs-expat-lib-clean : FILES := $(workbench-libs-expat-lib_TOCLEAN) +workbench-libs-expat-lib-clean :: + $(Q)$(ECHO) "Cleaning up for module expat" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-libs-expat-lib_ALLTARGETS) + + + +INCLUDE_FILES := expat.h expat_external.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + + +#MM +workbench-libs-expat-pc : $(AROS_LIB)/pkgconfig/expat.pc + +$(AROS_LIB)/pkgconfig/expat.pc : $(SRCDIR)/$(CURDIR)/../expat.pc.aros + @$(IF) $(TEST) ! -d $(AROS_LIB)/pkgconfig ; then $(MKDIR) $(AROS_LIB)/pkgconfig ; else $(NOP) ; fi + $(CP) $^ $@ + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/freetype2/mmakefile b/workbench/libs/freetype2/mmakefile new file mode 100644 index 00000000000..00fed04fc68 --- /dev/null +++ b/workbench/libs/freetype2/mmakefile @@ -0,0 +1,2631 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-libs-freetype-complete : \ +#MM workbench-libs-freetype-linklib \ +#MM workbench-libs-freetype-module +#MM workbench-libs-freetype-linklib : freetype2-fetch +#MM workbench-libs-freetype-module : freetype2-fetch + +FT2NAME := freetype +FT2VERS := 2.10.0 +ARCHBASE := $(FT2NAME)-$(FT2VERS) + +FT2SRCDIR := $(PORTSDIR)/$(FT2NAME)2/$(ARCHBASE) +FT2AROSBUILDDIR := $(FT2SRCDIR)/builds/aros/src + +PATCHSPEC := $(ARCHBASE)-aros.diff:$(ARCHBASE):-p1 +REPOSITORIES := https://download.savannah.gnu.org/releases/freetype + + +.PHONY: freetype2-fetch + +ifneq ($(TOOLDIR),) + freetype2-fetch-tooldir := "$(TOOLDIR)/" +else + freetype2-fetch-tooldir := "$(TOOLDIR)/" +endif + +ifneq ($(PORTSSOURCEDIR),) + freetype2-fetch-location := $(PORTSSOURCEDIR) +else + freetype2-fetch-location := $(PORTSDIR)/$(FT2NAME)2 +endif + +freetype2-fetch-fetchedflag := $(freetype2-fetch-location)/.$(ARCHBASE)-fetched + +#MM +freetype2-fetch : + $(Q)$(ECHO) "Fetching $(ARCHBASE) ..." + $(Q)TOOLDIR="$(freetype2-fetch-tooldir)" $(FETCH) -ao "$(REPOSITORIES)" -a $(ARCHBASE) -s "tar.gz" -l $(freetype2-fetch-location) \ + -d $(PORTSDIR)/$(FT2NAME)2 -po "$(SRCDIR)/$(CURDIR)" -p "$(PATCHSPEC)" + $(Q)$(IF) ! $(TEST) -f $(freetype2-fetch-fetchedflag) ; then \ + $(TOUCH) $(freetype2-fetch-fetchedflag) ; \ + fi + +# $(Q)$(IF) ! $(TEST) -f $(freetype2-fetch-fetchedflag) ; then \ +# $(ECHO) "Fetching $(ARCHBASE) ..." \ +# && $(FETCH) -ao "$(REPOSITORIES)" -a $(ARCHBASE) -s "tar.gz" -l $(freetype2-fetch-location) \ +# -d $(PORTSDIR)/$(FT2NAME)2 -po "$(SRCDIR)/$(CURDIR)" -p "$(PATCHSPEC)" \ +# && $(TOUCH) $(freetype2-fetch-fetchedflag) ; \ +# fi + + +.PHONY: freetype2-create-patch + +ifneq (,) + freetype2-create-patch-exclude := -X ./exclude.patterns +endif + +ifneq (,) + freetype2-create-patch-srcdir := +else + freetype2-create-patch-srcdir := $(ARCHBASE) +endif + +#MM- freetype2-create-patch : freetype2-create-patch-diff +#MM- freetype2-create-patch-quick : freetype2-create-patch-diff + +#MM +freetype2-create-patch-diff: + $(Q)$(FETCH) -a $(ARCHBASE) -s "tar.gz" -l $(PORTSSOURCEDIR) -d $(PORTSDIR)/$(FT2NAME)2/tmp ; \ + $(MV) $(PORTSDIR)/$(FT2NAME)2/$(freetype2-create-patch-srcdir) $(PORTSDIR)/$(FT2NAME)2/tmp/$(freetype2-create-patch-srcdir).aros ; \ + cd $(PORTSDIR)/$(FT2NAME)2/tmp ; \ + $(FOR) f in ; do \ + $(ECHO) $$f >> ./exclude.patterns ; \ + done ; \ + $(ECHO) "Creating \`$(ARCHBASE)-aros-new.diff'" ; \ + diff -ruN $(freetype2-create-patch-exclude) \ + $(freetype2-create-patch-srcdir) \ + $(freetype2-create-patch-srcdir).aros \ + >$(SRCDIR)/$(CURDIR)/$(ARCHBASE)-aros-new.diff ; \ + $(MV) $(PORTSDIR)/$(FT2NAME)2/tmp/$(freetype2-create-patch-srcdir).aros $(PORTSDIR)/$(FT2NAME)2/$(freetype2-create-patch-srcdir) ; \ + $(RM) $(PORTSDIR)/$(FT2NAME)2/tmp + +FT2AUXFILES := \ + cache/ftcache \ + gzip/ftgzip \ + lzw/ftlzw \ + psaux/psaux \ + psnames/psnames + +FT2RASTFILES := \ + raster/raster \ + smooth/smooth + +FT2FONTFILES := \ + cff/cff \ + sfnt/sfnt \ + truetype/truetype \ + type1/type1 \ + cid/type1cid \ + type42/type42 \ + pcf/pcf \ + pfr/pfr \ + winfonts/winfnt \ + bdf/bdf + +FT2HINTFILES := \ + autofit/autofit +FT2HINTFILES += \ + pshinter/pshinter + +FT2BASEFILES := \ + base/ftbase \ + base/ftinit \ + base/ftdebug \ + base/ftsystem + +FT2BASEEXTFILES := \ + base/ftbbox \ + base/ftbdf \ + base/ftbitmap \ + base/ftcid \ + base/ftfstype \ + base/ftgasp \ + base/ftglyph \ + base/ftgxval \ + base/ftmm \ + base/ftotval \ + base/ftpatent \ + base/ftpfr \ + base/ftstroke \ + base/ftsynth \ + base/fttype1 \ + base/ftwinfnt + +# Substitute BASEFILES with the AROS specific versions +FT2BASEARCHFILES := $(patsubst $(FT2AROSBUILDDIR)/%,%,$(basename $(wildcard $(FT2AROSBUILDDIR)/base/*.c))) +FT2BASENARCHFILES := $(addprefix $(FT2SRCDIR)/src/,$(filter-out $(FT2BASEARCHFILES),$(FT2BASEFILES) $(FT2BASEEXTFILES))) + +SHFILES := \ + ftglyphengine \ + kerning \ + glyph \ + openengine \ + closeengine \ + setinfoa \ + obtaininfoa \ + releaseinfoa + +NOWARN_FLAGS := $(NOWARN_ERROR) +USER_CFLAGS := $(NOWARN_FLAGS) +USER_CPPFLAGS := -DFT2_BUILD_LIBRARY +USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/src $(addprefix -I,$(DIRS)) + +#MM- workbench-libs : workbench-libs-freetype-module +#MM workbench-libs-freetype-linklib : workbench-libs-freetype-includes workbench-libs-freetype-pkgconfig +#MM workbench-libs-freetype-module : workbench-libs-freetype-includes +#MM- workbench-libs-freetype-linklibs : workbench-libs-freetype-linklib workbench-libs-freetype-module-linklib + +FT2FILES := $(addprefix $(FT2AROSBUILDDIR)/,$(FT2BASEARCHFILES)) $(addprefix $(FT2SRCDIR)/src/,$(FT2AUXFILES) $(FT2RASTFILES) $(FT2FONTFILES) $(FT2HINTFILES)) $(FT2BASENARCHFILES) + + +# assign and generate the local variables used in this macro +workbench-libs-freetype-linklib_LIBNAME := freetype2.static +workbench-libs-freetype-linklib_LINKLIB := $(AROS_LIB)/libfreetype2.static.a + +workbench-libs-freetype-linklib_FILES ?= $(FT2FILES) +workbench-libs-freetype-linklib_ASMFILES := +workbench-libs-freetype-linklib_OBJCFILES := +workbench-libs-freetype-linklib_CXXFILES := + +workbench-libs-freetype-linklib_OBJDIR ?= $(OBJDIR)/freetype2_static +workbench-libs-freetype-linklib_ARCHOBJS := $(wildcard $(workbench-libs-freetype-linklib_OBJDIR)/arch/*.o) +ifeq (no,no) + workbench-libs-freetype-linklib_ARCHFILES := $(basename $(notdir $(workbench-libs-freetype-linklib_ARCHOBJS))) +else + workbench-libs-freetype-linklib_ARCHFILES := $(basename $(patsubst $(workbench-libs-freetype-linklib_OBJDIR)/%,%,$(workbench-libs-freetype-linklib_ARCHOBJS))) +endif +workbench-libs-freetype-linklib_C_NARCHFILES := $(filter-out $(workbench-libs-freetype-linklib_ARCHFILES),$(workbench-libs-freetype-linklib_FILES)) +workbench-libs-freetype-linklib_C_FILES ?= $(workbench-libs-freetype-linklib_C_NARCHFILES) +workbench-libs-freetype-linklib_CXX_NARCHFILES := $(filter-out $(workbench-libs-freetype-linklib_ARCHFILES),$(workbench-libs-freetype-linklib_CXXFILES)) +workbench-libs-freetype-linklib_CXX_FILES ?= $(workbench-libs-freetype-linklib_CXX_NARCHFILES) +workbench-libs-freetype-linklib_OBJC_NARCHFILES := $(filter-out $(workbench-libs-freetype-linklib_ARCHFILES),$(workbench-libs-freetype-linklib_OBJCFILES)) +workbench-libs-freetype-linklib_OBJC_FILES ?= $(workbench-libs-freetype-linklib_OBJC_NARCHFILES) + +ifeq (no,no) + workbench-libs-freetype-linklib_OBJ_FILES ?= $(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(notdir $(workbench-libs-freetype-linklib_C_NARCHFILES:=.o) $(workbench-libs-freetype-linklib_CXX_NARCHFILES:=.o) $(workbench-libs-freetype-linklib_ASMFILES:=.o) $(workbench-libs-freetype-linklib_OBJC_NARCHFILES:=.o))) +else + workbench-libs-freetype-linklib_OBJ_FILES ?= $(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(workbench-libs-freetype-linklib_C_NARCHFILES:=.o) $(workbench-libs-freetype-linklib_CXX_NARCHFILES:=.o) $(workbench-libs-freetype-linklib_ASMFILES:=.o) $(workbench-libs-freetype-linklib_OBJC_NARCHFILES:=.o)) +endif +workbench-libs-freetype-linklib_OBJS ?= $(workbench-libs-freetype-linklib_ARCHOBJS) $(workbench-libs-freetype-linklib_OBJ_FILES) +workbench-libs-freetype-linklib_DEPS := $(patsubst %.o,%.d,$(workbench-libs-freetype-linklib_OBJS)) + +workbench-libs-freetype-linklib_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-freetype-linklib_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-libs-freetype-linklib_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-libs-freetype-linklib_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-libs-freetype-linklib_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-libs-freetype-linklib_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-libs-freetype-linklib_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-libs-freetype-linklib_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-libs-freetype-linklib_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-libs-freetype-linklib_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + workbench-libs-freetype-linklib_CFLAGS := $(strip $(LTO_CFLAGS) $(workbench-libs-freetype-linklib_CFLAGS)) + workbench-libs-freetype-linklib_CXXFLAGS := $(strip $(LTO_CFLAGS) $(workbench-libs-freetype-linklib_CXXFLAGS)) +endif +endif +workbench-libs-freetype-linklib_AFLAGS := $(AFLAGS) +workbench-libs-freetype-linklib_DFLAGS := +ifneq (,) + workbench-libs-freetype-linklib_DFLAGS := +else + workbench-libs-freetype-linklib_DFLAGS := $(workbench-libs-freetype-linklib_CFLAGS) +endif +workbench-libs-freetype-linklib_DXXFLAGS := +ifneq (,) + workbench-libs-freetype-linklib_DXXFLAGS := +else + workbench-libs-freetype-linklib_DXXFLAGS := $(workbench-libs-freetype-linklib_CXXFLAGS) +endif + +.PHONY : workbench-libs-freetype-linklib workbench-libs-freetype-linklib-clean workbench-libs-freetype-linklib-quick + +#MM +workbench-libs-freetype-linklib-quick : workbench-libs-freetype-linklib + +#MM workbench-libs-freetype-linklib : includes-generate-deps +workbench-libs-freetype-linklib : $(workbench-libs-freetype-linklib_LINKLIB) + +ifneq ($(filter $(TARGET),workbench-libs-freetype-linklib workbench-libs-freetype-linklib-quick),) + + +workbench-libs-freetype-linklib_CXXABSBASENAMES := $(foreach workbench-libs-freetype-linklib_CXXBASE,$(workbench-libs-freetype-linklib_CXX_FILES),$(if $(filter /%,$(workbench-libs-freetype-linklib_CXXBASE)),$(workbench-libs-freetype-linklib_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-libs-freetype-linklib_CXXBASE)))) + +ifneq ($(workbench-libs-freetype-linklib_CXXABSBASENAMES),) + +workbench-libs-freetype-linklib_CXXBASENAMES := $(basename $(workbench-libs-freetype-linklib_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-libs-freetype-linklib_MCXX_FILES := $(strip $(foreach workbench-libs-freetype-linklib_CXXBASE,$(workbench-libs-freetype-linklib_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-libs-freetype-linklib_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-libs-freetype-linklib_EXT),$(workbench-libs-freetype-linklib_CXXBASE))))))) + +ifeq (,) +workbench-libs-freetype-linklib_MCXX_SRCWILDCARD := % +else +workbench-libs-freetype-linklib_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-freetype-linklib_OBJDIR),) + workbench-libs-freetype-linklib_CXXTARGETS := $(notdir $(workbench-libs-freetype-linklib_CXXBASENAMES:=.o)) + workbench-libs-freetype-linklib_CXXDTARGETS := $(notdir $(workbench-libs-freetype-linklib_CXXBASENAMES:=.d)) + workbench-libs-freetype-linklib_MCXX_WILDCARD := % +else + workbench-libs-freetype-linklib_CXXTARGETS := $(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(notdir $(workbench-libs-freetype-linklib_CXXBASENAMES:=.o))) + workbench-libs-freetype-linklib_CXXDTARGETS := $(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(notdir $(workbench-libs-freetype-linklib_CXXBASENAMES:=.d))) + workbench-libs-freetype-linklib_MCXX_WILDCARD := $(workbench-libs-freetype-linklib_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-libs-freetype-linklib_CXXTARGETS) $(workbench-libs-freetype-linklib_CXXDTARGETS) : | $(workbench-libs-freetype-linklib_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-libs-freetype-linklib_MCXX_CPPFLAGS := $(workbench-libs-freetype-linklib_CPPFLAGS) +workbench-libs-freetype-linklib_CXXFLAGS := $(workbench-libs-freetype-linklib_CXXFLAGS) +ifeq ($(workbench-libs-freetype-linklib_DXXFLAGS),) + workbench-libs-freetype-linklib_DXXFLAGS := $(workbench-libs-freetype-linklib_CXXFLAGS) +else + workbench-libs-freetype-linklib_DXXFLAGS := $(workbench-libs-freetype-linklib_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-libs-freetype-linklib_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-libs-freetype-linklib_STRIP ?= $(HOST_STRIP) + workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-libs-freetype-linklib_CXXCMD:=$(HOST_CXX) + workbench-libs-freetype-linklib_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-libs-freetype-linklib_MCXX_CPPFLAGS) $(workbench-libs-freetype-linklib_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-freetype-linklib_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-freetype-linklib_CXXFLAGS)) + workbench-libs-freetype-linklib_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-freetype-linklib_DXXFLAGS)) + workbench-libs-freetype-linklib_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-libs-freetype-linklib_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-libs-freetype-linklib_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-freetype-linklib_STRIP ?= $(TARGET_STRIP) + workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-libs-freetype-linklib_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-libs-freetype-linklib_MCXX_CPPFLAGS := $(strip $(workbench-libs-freetype-linklib_MCXX_CPPFLAGS) $(workbench-libs-freetype-linklib_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-freetype-linklib_CXXFLAGS := $(strip $(workbench-libs-freetype-linklib_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-libs-freetype-linklib_DXXFLAGS := $(workbench-libs-freetype-linklib_DXXFLAGS) + workbench-libs-freetype-linklib_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-libs-freetype-linklib_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-libs-freetype-linklib_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-freetype-linklib_STRIP ?= $(ECHO) >/dev/null + workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-libs-freetype-linklib_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-libs-freetype-linklib_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-libs-freetype-linklib_MCXX_CPPFLAGS) $(workbench-libs-freetype-linklib_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-freetype-linklib_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-freetype-linklib_CXXFLAGS)) + workbench-libs-freetype-linklib_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-freetype-linklib_DXXFLAGS)) + workbench-libs-freetype-linklib_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-libs-freetype-linklib_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-libs-freetype-linklib_CXXCMD) $(workbench-libs-freetype-linklib_CXXIQUOTE) $(dir $(2)) $(workbench-libs-freetype-linklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_CXXIQUOTE) . $(workbench-libs-freetype-linklib_CXXIQUOTE_END) $(strip $(workbench-libs-freetype-linklib_CXXFLAGS) $(workbench-libs-freetype-linklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-libs-freetype-linklib_CXXCMD) $(workbench-libs-freetype-linklib_CXXIQUOTE) $(dir $(2)) $(workbench-libs-freetype-linklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_CXXIQUOTE) . $(workbench-libs-freetype-linklib_CXXIQUOTE_END) $(strip $(workbench-libs-freetype-linklib_CXXFLAGS) $(workbench-libs-freetype-linklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-libs-freetype-linklib_CXXCMD) $(workbench-libs-freetype-linklib_CXXIQUOTE) $(dir $(2)) $(workbench-libs-freetype-linklib_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_CXXIQUOTE) . $(workbench-libs-freetype-linklib_CXXIQUOTE_END) $(strip $(workbench-libs-freetype-linklib_CXXFLAGS) $(workbench-libs-freetype-linklib_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-libs-freetype-linklib_CXXCMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-linklib_DXXFLAGS) $(workbench-libs-freetype-linklib_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-libs-freetype-linklib_OBJDIR),) + $(foreach workbench-libs-freetype-linklib_CXXFILE,$(workbench-libs-freetype-linklib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-libs-freetype-linklib_CXXFILE))),$(workbench-libs-freetype-linklib_CXXFILE)))) +else + $(foreach workbench-libs-freetype-linklib_CXXFILE,$(workbench-libs-freetype-linklib_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(notdir $(basename $(workbench-libs-freetype-linklib_CXXFILE)))),$(workbench-libs-freetype-linklib_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-libs-freetype-linklib_OBJC_FILES),) + +ifeq (,) +workbench-libs-freetype-linklib_MOBJC_SRCWILDCARD := % +else +workbench-libs-freetype-linklib_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-freetype-linklib_OBJDIR),) + workbench-libs-freetype-linklib_MOBJC_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-linklib_OBJC_FILES)) + workbench-libs-freetype-linklib_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-libs-freetype-linklib_OBJC_FILES)) + workbench-libs-freetype-linklib_MOBJC_WILDCARD := % +else + workbench-libs-freetype-linklib_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(workbench-libs-freetype-linklib_OBJC_FILES))) + workbench-libs-freetype-linklib_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(workbench-libs-freetype-linklib_OBJC_FILES))) + workbench-libs-freetype-linklib_MOBJC_WILDCARD := $(workbench-libs-freetype-linklib_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-libs-freetype-linklib_OBJC_FILES)) + + # Be sure that all .m files are found + workbench-libs-freetype-linklib_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-freetype-linklib_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-linklib_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-libs-freetype-linklib_MOBJC_DIRS := $(foreach dir, $(workbench-libs-freetype-linklib_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-linklib_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-libs-freetype-linklib_MOBJC_DIRS),) + workbench-libs-freetype-linklib_MOBJC_DIRS := $(shell echo $(workbench-libs-freetype-linklib_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-libs-freetype-linklib_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-libs-freetype-linklib_CC := $(TARGET_CC) +else + workbench-libs-freetype-linklib_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-libs-freetype-linklib_MOBJC_CPPFLAGS := $(workbench-libs-freetype-linklib_CPPFLAGS) +workbench-libs-freetype-linklib_OBJCFLAGS := $(workbench-libs-freetype-linklib_CFLAGS) +workbench-libs-freetype-linklib_OBJCFLAGS := $(workbench-libs-freetype-linklib_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-libs-freetype-linklib_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-libs-freetype-linklib_OBJCFLAGS))) +ifeq ($(workbench-libs-freetype-linklib_DFLAGS),) + workbench-libs-freetype-linklib_OBJCDFLAGS := $(workbench-libs-freetype-linklib_CFLAGS) +else + workbench-libs-freetype-linklib_OBJCDFLAGS := $(workbench-libs-freetype-linklib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-libs-freetype-linklib_LINK ?= $(strip $(workbench-libs-freetype-linklib_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-freetype-linklib_STRIP ?= $(TARGET_STRIP) + workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-libs-freetype-linklib_CC) $(TARGET_SYSROOT)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_MOBJC_CPPFLAGS:=$(strip $(workbench-libs-freetype-linklib_MOBJC_CPPFLAGS) $(workbench-libs-freetype-linklib_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_OBJCFLAGS:=$(strip $(workbench-libs-freetype-linklib_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_OBJCDFLAGS:=$(workbench-libs-freetype-linklib_OBJCDFLAGS) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-libs-freetype-linklib_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-libs-freetype-linklib_STRIP ?= $(HOST_STRIP) + workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-libs-freetype-linklib_MOBJC_CPPFLAGS) $(workbench-libs-freetype-linklib_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-linklib_OBJCFLAGS)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-linklib_OBJCDFLAGS)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE:=$(HOST_IQUOTE) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-libs-freetype-linklib_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-freetype-linklib_STRIP ?= $(ECHO) >/dev/null + workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-libs-freetype-linklib_MOBJC_CPPFLAGS) $(workbench-libs-freetype-linklib_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-linklib_OBJCFLAGS)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-linklib_OBJCDFLAGS)) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-libs-freetype-linklib_MOBJC_TARGETS) $(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-freetype-linklib_MOBJC_TARGETS) : CPPFLAGS := $(workbench-libs-freetype-linklib_MOBJC_CPPFLAGS) +$(workbench-libs-freetype-linklib_MOBJC_TARGETS) : CFLAGS := $(workbench-libs-freetype-linklib_OBJCFLAGS) +$(workbench-libs-freetype-linklib_MOBJC_TARGETS) : $(workbench-libs-freetype-linklib_MOBJC_WILDCARD).o : $(workbench-libs-freetype-linklib_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-freetype-linklib_IQUOTE) $(dir $<) $(workbench-libs-freetype-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_IQUOTE) . $(workbench-libs-freetype-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-freetype-linklib_IQUOTE) $(dir $<) $(workbench-libs-freetype-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_IQUOTE) . $(workbench-libs-freetype-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-freetype-linklib_IQUOTE) $(dir $<) $(workbench-libs-freetype-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_IQUOTE) . $(workbench-libs-freetype-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-freetype-linklib_MOBJC_DTARGETS) : $(workbench-libs-freetype-linklib_MOBJC_WILDCARD).d : $(workbench-libs-freetype-linklib_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-linklib_OBJCDFLAGS) $(workbench-libs-freetype-linklib_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-libs-freetype-linklib_MC_SRCWILDCARD := % +else +workbench-libs-freetype-linklib_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-freetype-linklib_OBJDIR),) +workbench-libs-freetype-linklib_MC_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-linklib_C_FILES)) +workbench-libs-freetype-linklib_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-freetype-linklib_C_FILES)) +workbench-libs-freetype-linklib_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-freetype-linklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(notdir $(workbench-libs-freetype-linklib_C_FILES)))) + workbench-libs-freetype-linklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(notdir $(workbench-libs-freetype-linklib_C_FILES)))) +else +ifeq (,) + workbench-libs-freetype-linklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(workbench-libs-freetype-linklib_C_FILES))) + workbench-libs-freetype-linklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(workbench-libs-freetype-linklib_C_FILES))) +else + workbench-libs-freetype-linklib_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-freetype-linklib_C_FILES)))) + workbench-libs-freetype-linklib_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-freetype-linklib_C_FILES)))) +endif +endif +workbench-libs-freetype-linklib_MC_TGTWILDCARD := $(workbench-libs-freetype-linklib_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-freetype-linklib_C_FILES)) + +# Be sure that all .c files are found +workbench-libs-freetype-linklib_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-freetype-linklib_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-linklib_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-freetype-linklib_MC_DIRS := $(foreach dir, $(workbench-libs-freetype-linklib_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-linklib_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-freetype-linklib_MC_DIRS),) + workbench-libs-freetype-linklib_MC_DIRS := $(shell echo $(workbench-libs-freetype-linklib_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-freetype-linklib_MC_DIRS) +endif + +endif + +workbench-libs-freetype-linklib_MC_CPPFLAGS := $(workbench-libs-freetype-linklib_CPPFLAGS) +workbench-libs-freetype-linklib_CFLAGS := $(workbench-libs-freetype-linklib_CFLAGS) +ifeq ($(workbench-libs-freetype-linklib_DFLAGS),) + workbench-libs-freetype-linklib_DFLAGS := $(workbench-libs-freetype-linklib_CFLAGS) +else + workbench-libs-freetype-linklib_DFLAGS := $(workbench-libs-freetype-linklib_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-freetype-linklib_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-freetype-linklib_STRIP ?= $(TARGET_STRIP) +workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_MC_CPPFLAGS:=$(strip $(workbench-libs-freetype-linklib_MC_CPPFLAGS) $(workbench-libs-freetype-linklib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_CFLAGS:=$(strip $(workbench-libs-freetype-linklib_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_DFLAGS:=$(workbench-libs-freetype-linklib_DFLAGS) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-freetype-linklib_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-freetype-linklib_STRIP ?= $(HOST_STRIP) +workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-freetype-linklib_MC_CPPFLAGS) $(workbench-libs-freetype-linklib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-linklib_CFLAGS)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-linklib_DFLAGS)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-freetype-linklib_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-freetype-linklib_STRIP ?= $(ECHO) >/dev/null +workbench-libs-freetype-linklib_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-freetype-linklib_MC_CPPFLAGS) $(workbench-libs-freetype-linklib_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-linklib_CFLAGS)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-linklib_DFLAGS)) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-freetype-linklib_MC_TARGETS) $(workbench-libs-freetype-linklib_MC_DTARGETS) : workbench-libs-freetype-linklib_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-freetype-linklib_MC_TARGETS) : CPPFLAGS := $(workbench-libs-freetype-linklib_MC_CPPFLAGS) +$(workbench-libs-freetype-linklib_MC_TARGETS) : CFLAGS := $(workbench-libs-freetype-linklib_CFLAGS) +$(workbench-libs-freetype-linklib_MC_TARGETS) : $(workbench-libs-freetype-linklib_MC_TGTWILDCARD).o : $(workbench-libs-freetype-linklib_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-freetype-linklib_IQUOTE) $(dir $<) $(workbench-libs-freetype-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_IQUOTE) . $(workbench-libs-freetype-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-freetype-linklib_IQUOTE) $(dir $<) $(workbench-libs-freetype-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_IQUOTE) . $(workbench-libs-freetype-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-freetype-linklib_IQUOTE) $(dir $<) $(workbench-libs-freetype-linklib_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-linklib_IQUOTE) . $(workbench-libs-freetype-linklib_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-freetype-linklib_MC_DTARGETS) : $(workbench-libs-freetype-linklib_MC_TGTWILDCARD).d : $(workbench-libs-freetype-linklib_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-linklib_DFLAGS) $(workbench-libs-freetype-linklib_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-libs-freetype-linklib_OBJDIR),) +workbench-libs-freetype-linklib-MA_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-linklib_ASMFILES)) +workbench-libs-freetype-linklib-MA_WILDCARD := % +else +workbench-libs-freetype-linklib-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-linklib_OBJDIR)/,$(notdir $(workbench-libs-freetype-linklib_ASMFILES)))) +workbench-libs-freetype-linklib-MA_WILDCARD := $(workbench-libs-freetype-linklib_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-libs-freetype-linklib-MA_TARGETS) : | $(addsuffix .s,$(workbench-libs-freetype-linklib_ASMFILES)) + +# Be sure that all .c files are found +workbench-libs-freetype-linklib-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-freetype-linklib-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-linklib_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-freetype-linklib-MA_DIRS := $(foreach dir, $(workbench-libs-freetype-linklib-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-linklib-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-freetype-linklib-MA_DIRS),) + workbench-libs-freetype-linklib-MA_DIRS := $(shell echo $(workbench-libs-freetype-linklib-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-libs-freetype-linklib-MA_DIRS) +endif + +endif + +workbench-libs-freetype-linklib-MA_ASSEMBLER ?= $(workbench-libs-freetype-linklib_ASSEMBLER) + +$(workbench-libs-freetype-linklib-MA_TARGETS) : workbench-libs-freetype-linklib-MA_CMD:= $(workbench-libs-freetype-linklib-MA_ASSEMBLER) + +$(workbench-libs-freetype-linklib-MA_TARGETS) : CPPFLAGS := $(workbench-libs-freetype-linklib_CPPFLAGS) +$(workbench-libs-freetype-linklib-MA_TARGETS) : AFLAGS := $(workbench-libs-freetype-linklib_AFLAGS) +$(workbench-libs-freetype-linklib-MA_TARGETS) : $(workbench-libs-freetype-linklib-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-libs-freetype-linklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-libs-freetype-linklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-libs-freetype-linklib-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libfreetype2.static.a : workbench-libs-freetype-linklib_AR:=$(AR) +$(AROS_LIB)/libfreetype2.static.a : workbench-libs-freetype-linklib_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libfreetype2.static.a : workbench-libs-freetype-linklib_AR:=$(HOST_AR) +$(AROS_LIB)/libfreetype2.static.a : workbench-libs-freetype-linklib_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libfreetype2.static.a : workbench-libs-freetype-linklib_AR:=$(KERNEL_AR) +$(AROS_LIB)/libfreetype2.static.a : workbench-libs-freetype-linklib_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libfreetype2.static.a : $(workbench-libs-freetype-linklib_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-freetype-linklib_AR) $@ $^ + $(Q)$(workbench-libs-freetype-linklib_RANLIB) $@ +endif + +ifneq ($(workbench-libs-freetype-linklib_DEPS),) + ifneq (workbench-libs-freetype-linklib workbench-libs-freetype-linklib-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-freetype-linklib workbench-libs-freetype-linklib-quick),) + -include $(workbench-libs-freetype-linklib_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-freetype-linklib_DEPS) + endif + endif +endif + + + +ifneq ($(workbench-libs-freetype-linklib_OBJS) $(workbench-libs-freetype-linklib_DEPS) $(workbench-libs-freetype-linklib_LINKLIB),) +$(workbench-libs-freetype-linklib_OBJS) $(workbench-libs-freetype-linklib_DEPS) $(workbench-libs-freetype-linklib_LINKLIB) : | $(workbench-libs-freetype-linklib_OBJDIR) $(AROS_LIB) +else +$(workbench-libs-freetype-linklib_OBJS) $(workbench-libs-freetype-linklib_DEPS) $(workbench-libs-freetype-linklib_LINKLIB) :: $(workbench-libs-freetype-linklib_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(workbench-libs-freetype-linklib_OBJDIR) $(AROS_LIB) + + +workbench-libs-freetype-linklib-clean : FILES := $(workbench-libs-freetype-linklib_OBJS) $(workbench-libs-freetype-linklib_LINKLIB) $(workbench-libs-freetype-linklib_DEPS) +#MM +workbench-libs-freetype-linklib-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-libs-freetype-linklib" + $(Q)$(RM) $(FILES) + + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-libs-freetype-module +#MM workbench-libs-freetype-module-quick +#MM workbench-libs-freetype-module-makefile +#MM workbench-libs-freetype-module-clean + +# ABI targets: +#MM- includes-all : workbench-libs-freetype-module-includes +#MM- linklibs-freetype2: workbench-libs-freetype-module-linklib +#MM- linklibs-freetype2_rel : workbench-libs-freetype-module-linklib +#MM- includes-freetype2: workbench-libs-freetype-module-includes +#MM- includes-freetype2_rel : workbench-libs-freetype-module-includes +#MM- workbench-libs-freetype-module : workbench-libs-freetype-module-includes core-linklibs linklibs-stdc +#MM workbench-libs-freetype-module-linklib : workbench-libs-freetype-module-includes includes-stdc +#MM- workbench-libs-freetype-module-quick : workbench-libs-freetype-module-includes-quick +#MM workbench-libs-freetype-module-includes : workbench-libs-freetype-module-makefile workbench-libs-freetype-module-includes-dirs \ +#MM includes-generate-deps workbench-libs-freetype-module-fd +#MM workbench-libs-freetype-module-includes-quick +#MM workbench-libs-freetype-module-includes-dirs +#MM workbench-libs-freetype-module-fd + +# Library targets +#MM workbench-libs-freetype-module-kobj : core-linklibs linklibs-stdc +#MM workbench-libs-freetype-module-kobj-quick : + +# Library with ABI targets: +#MM workbench-libs-freetype-module-kobj : workbench-libs-freetype-module-includes core-linklibs linklibs-stdc +#MM workbench-libs-freetype-module-kobj-quick : workbench-libs-freetype-module-includes-quick + +# All MetaMake targets defined by this macro +workbench-libs-freetype-module_ALLTARGETS := workbench-libs-freetype-module workbench-libs-freetype-module-quick workbench-libs-freetype-module-clean + +ifeq (M,M) +workbench-libs-freetype-module_ALLTARGETS += workbench-libs-freetype-module-kobj workbench-libs-freetype-module-kobj-quick +endif + +ifeq (M,M) +workbench-libs-freetype-module_ALLTARGETS += workbench-libs-freetype-module-includes \ + workbench-libs-freetype-module-includes-quick workbench-libs-freetype-module-includes-dirs \ + workbench-libs-freetype-module-linklib workbench-libs-freetype-module-fd +endif + +.PHONY : $(workbench-libs-freetype-module_ALLTARGETS) workbench-libs-freetype-module-makefile + +ifeq (freetype2,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-libs-freetype-module_DEFNAME := freetype2_ +else + workbench-libs-freetype-module_DEFNAME := freetype2 +endif +workbench-libs-freetype-module_DEFLINKLIBNAME := $(workbench-libs-freetype-module_DEFNAME) +ifneq (,) + workbench-libs-freetype-module_LINKLIBNAME := +else + workbench-libs-freetype-module_LINKLIBNAME = $(workbench-libs-freetype-module_DEFLINKLIBNAME) +endif +workbench-libs-freetype-module_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-freetype-module_DEFCPPFLAGS += -I +endif +workbench-libs-freetype-module_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-libs-freetype-module_DFLAGS := +else + workbench-libs-freetype-module_DFLAGS = $(workbench-libs-freetype-module_DEFDFLAGS) +endif +workbench-libs-freetype-module_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-libs-freetype-module_DXXFLAGS := +else + workbench-libs-freetype-module_DXXFLAGS = $(workbench-libs-freetype-module_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-freetype-module_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-freetype-module_DEFDFLAGS)) +workbench-libs-freetype-module_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-freetype-module_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-freetype-module_FUNCINSTR := yes +workbench-libs-freetype-module_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-freetype-module_DEFDFLAGS)) +workbench-libs-freetype-module_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-freetype-module_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-libs-freetype-module_OBJDIR := +else +workbench-libs-freetype-module_OBJDIR := $(OBJDIR)/$(workbench-libs-freetype-module_DEFNAME) +endif +ifneq (,) +workbench-libs-freetype-module_OBJDIR := $(workbench-libs-freetype-module_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-libs-freetype-module-makefile := $(workbench-libs-freetype-module_OBJDIR)/Makefile.$(workbench-libs-freetype-module_DEFNAME)library +workbench-libs-freetype-module-genmakefile : $(workbench-libs-freetype-module-makefile) + + +workbench-libs-freetype-module-genmakefile_OPTS := +ifneq (,) + workbench-libs-freetype-module-genmakefile_OPTS += -f + workbench-libs-freetype-module-genmakefile_MODNAME := freetype2_ +else + workbench-libs-freetype-module-genmakefile_MODNAME := freetype2 +endif +workbench-libs-freetype-module-genmakefile_TARGET := Makefile.$(workbench-libs-freetype-module-genmakefile_MODNAME)library +workbench-libs-freetype-module-genmakefile_DEPS := $(GENMODULE) +ifneq (freetype2.conf,) + ifeq ($(dir freetype2.conf),./) + workbench-libs-freetype-module-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + workbench-libs-freetype-module-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf + else + workbench-libs-freetype-module-genmakefile_OPTS += -c freetype2.conf + workbench-libs-freetype-module-genmakefile_DEPS += freetype2.conf + endif +else + workbench-libs-freetype-module-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + workbench-libs-freetype-module-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-freetype-module-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-freetype-module-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-freetype-module-genmakefile_OPTS += -o + workbench-libs-freetype-module-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-libs-freetype-module-genmakefile_OPTS += -s +endif +ifneq ($(workbench-libs-freetype-module_OBJDIR),) + workbench-libs-freetype-module-genmakefile_OPTS += -d $(workbench-libs-freetype-module_OBJDIR) + workbench-libs-freetype-module-genmakefile_TARGET := $(workbench-libs-freetype-module_OBJDIR)/$(workbench-libs-freetype-module-genmakefile_TARGET) +endif + +$(workbench-libs-freetype-module-genmakefile_TARGET) : OPTS := $(workbench-libs-freetype-module-genmakefile_OPTS) +$(workbench-libs-freetype-module-genmakefile_TARGET) : MODNAME := freetype2 +$(workbench-libs-freetype-module-genmakefile_TARGET) : MODTYPE := library +$(workbench-libs-freetype-module-genmakefile_TARGET) : $(workbench-libs-freetype-module-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-libs-freetype-module-makefile),) +$(workbench-libs-freetype-module-makefile) : | $(workbench-libs-freetype-module_OBJDIR) +else +$(workbench-libs-freetype-module-makefile) :: $(workbench-libs-freetype-module_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-freetype-module_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-libs-freetype-module_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-libs-freetype-module-makefile) + +workbench-libs-freetype-module_DEFMODDIR := $($(workbench-libs-freetype-module_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-libs-freetype-module_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-libs-freetype-module_DEFMODDIR) +endif +ifneq (,) + workbench-libs-freetype-module_MODDIR := +else + workbench-libs-freetype-module_MODDIR := $(workbench-libs-freetype-module_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-libs-freetype-module_INCDIR := +else +workbench-libs-freetype-module_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-libs-freetype-module_LIBDEFSINC := $(workbench-libs-freetype-module_OBJDIR)/include/$(workbench-libs-freetype-module_DEFNAME)_libdefs.h +workbench-libs-freetype-module_DEFLIBDEFSINC := $(workbench-libs-freetype-module_OBJDIR)/include/$(workbench-libs-freetype-module_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-libs-freetype-module-includes-quick : workbench-libs-freetype-module-includes +workbench-libs-freetype-module-includes : $(addprefix $(GENINCDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-freetype-module_INCDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) \ + $(workbench-libs-freetype-module_LIBDEFSINC) $(workbench-libs-freetype-module_DEFLIBDEFSINC) + +ifneq ($($(workbench-libs-freetype-module_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-libs-freetype-module-includes_MODNAME := freetype2_ +else + workbench-libs-freetype-module-includes_MODNAME := freetype2 +endif + +ifneq ($($(workbench-libs-freetype-module-includes_MODNAME)_INCLUDES),) + +workbench-libs-freetype-module-includes_TARGETS := $($(workbench-libs-freetype-module-includes_MODNAME)_INCLUDES) + +workbench-libs-freetype-module-includes_DEPS := $(GENMODULE) +workbench-libs-freetype-module-includes_OPTS := + +ifneq (freetype2.conf,) + ifeq ($(dir freetype2.conf),./) + workbench-libs-freetype-module-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + workbench-libs-freetype-module-includes_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf + else + workbench-libs-freetype-module-includes_OPTS += -c freetype2.conf + workbench-libs-freetype-module-includes_DEPS += freetype2.conf + endif +else + workbench-libs-freetype-module-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + workbench-libs-freetype-module-includes_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-freetype-module-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-freetype-module-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-freetype-module-includes_OPTS += -o + workbench-libs-freetype-module-includes_DEPS += + endif +endif +ifneq (,) + workbench-libs-freetype-module-includes_OPTS += -s +endif +ifneq ($(workbench-libs-freetype-module_OBJDIR)/include,) + workbench-libs-freetype-module-includes_OPTS += -d $(workbench-libs-freetype-module_OBJDIR)/include + workbench-libs-freetype-module-includes_TARGETS := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/include/,$(workbench-libs-freetype-module-includes_TARGETS)) + workbench-libs-freetype-module-includes_GENINCFLAG=$(workbench-libs-freetype-module_OBJDIR)/include/.freetype2.library-includes +else + workbench-libs-freetype-module-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.freetype2.library-includes +endif + +$(workbench-libs-freetype-module-includes_TARGETS) : $(workbench-libs-freetype-module-includes_DEPS) $(workbench-libs-freetype-module-includes_GENINCFLAG) + +$(workbench-libs-freetype-module-includes_GENINCFLAG) : OPTS := $(workbench-libs-freetype-module-includes_OPTS) +$(workbench-libs-freetype-module-includes_GENINCFLAG) : MODNAME := freetype2 +$(workbench-libs-freetype-module-includes_GENINCFLAG) : MODTYPE := library +$(workbench-libs-freetype-module-includes_GENINCFLAG) : $(workbench-libs-freetype-module-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-libs-freetype-module_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) : | $(workbench-libs-freetype-module_OBJDIR)/freetype2_geninc + +$(workbench-libs-freetype-module_OBJDIR)/freetype2_geninc : COPYSRCDIR := $(workbench-libs-freetype-module_OBJDIR)/include +$(workbench-libs-freetype-module_OBJDIR)/freetype2_geninc : TGTDIR := $(GENINCDIR) +$(workbench-libs-freetype-module_OBJDIR)/freetype2_geninc : FILES := $($(workbench-libs-freetype-module_DEFNAME)_INCLUDES) +$(workbench-libs-freetype-module_OBJDIR)/freetype2_geninc : $(addprefix $(workbench-libs-freetype-module_OBJDIR)/include/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-libs-freetype-module_OBJDIR)/include + +$(addprefix $(workbench-libs-freetype-module_INCDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) : | $(workbench-libs-freetype-module_OBJDIR)/freetype2_incs + +$(workbench-libs-freetype-module_OBJDIR)/freetype2_incs : COPYSRCDIR := $(workbench-libs-freetype-module_OBJDIR)/include +$(workbench-libs-freetype-module_OBJDIR)/freetype2_incs : TGTDIR := $(workbench-libs-freetype-module_INCDIR) +$(workbench-libs-freetype-module_OBJDIR)/freetype2_incs : FILES := $($(workbench-libs-freetype-module_DEFNAME)_INCLUDES) +$(workbench-libs-freetype-module_OBJDIR)/freetype2_incs : $(addprefix $(workbench-libs-freetype-module_OBJDIR)/include/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-libs-freetype-module_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)))) + +TMPfreetype2_INCDIRS := \ + $(workbench-libs-freetype-module_OBJDIR)/include $(addprefix $(workbench-libs-freetype-module_OBJDIR)/include/,$(workbench-libs-freetype-module_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-libs-freetype-module_INCDIRS)) \ + $(workbench-libs-freetype-module_INCDIR) $(addprefix $(workbench-libs-freetype-module_INCDIR)/,$(workbench-libs-freetype-module_INCDIRS)) + +ifneq (workbench-libs-freetype-module-includes-dirs,) +workbench-libs-freetype-module-includes-dirs : | $(TMPfreetype2_INCDIRS) +else +workbench-libs-freetype-module-includes-dirs :: $(TMPfreetype2_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPfreetype2_INCDIRS) + + +endif + +endif + + +workbench-libs-freetype-module-genlibdefs_OPTS := +ifneq (,) + workbench-libs-freetype-module-genlibdefs_OPTS += -f + workbench-libs-freetype-module-genlibdefs_MODNAME := freetype2_ +else + workbench-libs-freetype-module-genlibdefs_MODNAME := freetype2 +endif +workbench-libs-freetype-module-genlibdefs_TARGET := $(workbench-libs-freetype-module-genlibdefs_MODNAME)_libdefs.h +workbench-libs-freetype-module-genlibdefs_DEPS := $(GENMODULE) +ifneq (freetype2.conf,) + ifeq ($(dir freetype2.conf),./) + workbench-libs-freetype-module-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + workbench-libs-freetype-module-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf + else + workbench-libs-freetype-module-genlibdefs_OPTS += -c freetype2.conf + workbench-libs-freetype-module-genlibdefs_DEPS += freetype2.conf + endif +else + workbench-libs-freetype-module-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + workbench-libs-freetype-module-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-freetype-module-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-freetype-module-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-freetype-module-genlibdefs_OPTS += -o + workbench-libs-freetype-module-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-libs-freetype-module-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-libs-freetype-module_OBJDIR)/include,) + workbench-libs-freetype-module-genlibdefs_OPTS += -d $(workbench-libs-freetype-module_OBJDIR)/include + workbench-libs-freetype-module-genlibdefs_TARGET := $(workbench-libs-freetype-module_OBJDIR)/include/$(workbench-libs-freetype-module-genlibdefs_TARGET) +endif +ifneq (,) + workbench-libs-freetype-module-genlibdefs_OPTS += -v +endif + +$(workbench-libs-freetype-module-genlibdefs_TARGET) : OPTS := $(workbench-libs-freetype-module-genlibdefs_OPTS) +$(workbench-libs-freetype-module-genlibdefs_TARGET) : MODNAME := freetype2 +$(workbench-libs-freetype-module-genlibdefs_TARGET) : MODTYPE := library +$(workbench-libs-freetype-module-genlibdefs_TARGET) : $(workbench-libs-freetype-module-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-libs-freetype-module_DEFLIBDEFSINC) : FILENAME := $(workbench-libs-freetype-module_LIBDEFSINC) +$(workbench-libs-freetype-module_DEFLIBDEFSINC) : $(workbench-libs-freetype-module_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-libs-freetype-module_LIBDEFSINC) $(workbench-libs-freetype-module_DEFLIBDEFSINC) : | $(workbench-libs-freetype-module_OBJDIR)/include + +ifneq (workbench-libs-freetype-module-includes-dirs,) +workbench-libs-freetype-module-includes-dirs : | $(workbench-libs-freetype-module_OBJDIR)/include +else +workbench-libs-freetype-module-includes-dirs :: $(workbench-libs-freetype-module_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-libs-freetype-module_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-libs-freetype-module-genmodfiles_OPTS := +ifneq (,) + workbench-libs-freetype-module-genmodfiles_OPTS += -f + workbench-libs-freetype-module-genmodfiles_MODNAME := freetype2_ +else + workbench-libs-freetype-module-genmodfiles_MODNAME := freetype2 +endif +workbench-libs-freetype-module-genmodfiles_GENTARGETS := $($(workbench-libs-freetype-module-genmodfiles_MODNAME)_STARTFILES) $($(workbench-libs-freetype-module-genmodfiles_MODNAME)_ENDFILES) +workbench-libs-freetype-module-genmodfiles_STUBTARGETS := $($(workbench-libs-freetype-module-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-libs-freetype-module-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-libs-freetype-module-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-libs-freetype-module-genmodfiles_GENTARGETS)) +workbench-libs-freetype-module-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-libs-freetype-module-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-libs-freetype-module-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-libs-freetype-module-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-libs-freetype-module-genmodfiles_DEPS := $(GENMODULE) +ifneq (freetype2.conf,) + ifeq ($(dir freetype2.conf),./) + workbench-libs-freetype-module-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + workbench-libs-freetype-module-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf + else + workbench-libs-freetype-module-genmodfiles_OPTS += -c freetype2.conf + workbench-libs-freetype-module-genmodfiles_DEPS += freetype2.conf + endif +else + workbench-libs-freetype-module-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + workbench-libs-freetype-module-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-freetype-module-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-freetype-module-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-freetype-module-genmodfiles_OPTS += -o + workbench-libs-freetype-module-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-libs-freetype-module-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-libs-freetype-module_OBJDIR),) + workbench-libs-freetype-module-genmodfiles_OPTS += -d $(workbench-libs-freetype-module_OBJDIR) + workbench-libs-freetype-module-genmodfiles_TARGETDIR := $(shell echo $(workbench-libs-freetype-module_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-freetype-module-genmodfiles_GENTARGETS := $(addprefix $(workbench-libs-freetype-module-genmodfiles_TARGETDIR)/,$(workbench-libs-freetype-module-genmodfiles_GENTARGETS)) + workbench-libs-freetype-module-genmodfiles_GENFILEFLAG=$(workbench-libs-freetype-module-genmodfiles_TARGETDIR)/.freetype2.library-genfiles +else + workbench-libs-freetype-module-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.freetype2.library-genfiles +endif +ifneq ($(workbench-libs-freetype-module_OBJDIR)/linklib,) + workbench-libs-freetype-module-genmodfiles_OPTS += -l $(workbench-libs-freetype-module_OBJDIR)/linklib + workbench-libs-freetype-module-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-libs-freetype-module_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-libs-freetype-module-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-freetype-module-genmodfiles_STUBTARGETDIR)/,$(workbench-libs-freetype-module-genmodfiles_STUBTARGETS)) + workbench-libs-freetype-module-genmodfiles_TARGETDIRS += $(workbench-libs-freetype-module_OBJDIR)/linklib +else +ifneq ($(workbench-libs-freetype-module_OBJDIR),) + workbench-libs-freetype-module-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-freetype-module-genmodfiles_TARGETDIR)/,$(workbench-libs-freetype-module-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-libs-freetype-module-genmodfiles_TARGETS := $(workbench-libs-freetype-module-genmodfiles_GENTARGETS) $(workbench-libs-freetype-module-genmodfiles_STUBTARGETS) +ifneq ($(workbench-libs-freetype-module-genmodfiles_TARGETDIRS),) +$(workbench-libs-freetype-module-genmodfiles_TARGETS) : | $(workbench-libs-freetype-module-genmodfiles_TARGETDIRS) +endif + +$(workbench-libs-freetype-module-genmodfiles_TARGETS) : $(workbench-libs-freetype-module-genmodfiles_DEPS) $(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG) + +$(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-libs-freetype-module-genmodfiles_OPTS) +$(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG) : MODNAME := freetype2 +$(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG) : $(workbench-libs-freetype-module-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "freetype2.conf" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG) : $(workbench-libs-freetype-module_DEFLIBDEFSINC) $(workbench-libs-freetype-module-makefile) + + +ifneq ($(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG),) +$(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG) : | $(workbench-libs-freetype-module_OBJDIR)/linklib +else +$(workbench-libs-freetype-module-genmodfiles_GENFILEFLAG) :: $(workbench-libs-freetype-module_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-libs-freetype-module_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-libs-freetype-module_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-libs-freetype-module_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-libs-freetype-module-fd : $(workbench-libs-freetype-module_FDDIR)/freetype2_lib.fd + + +TMP_TARGET := freetype2_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (freetype2.conf,) + ifeq ($(dir freetype2.conf),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf + else + TMP_OPTS += -c freetype2.conf + TMP_DEPS += freetype2.conf + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/freetype2.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/freetype2.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-libs-freetype-module_FDDIR),) + TMP_OPTS += -d $(workbench-libs-freetype-module_FDDIR) + TMP_TARGET := $(workbench-libs-freetype-module_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := freetype2 +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-libs-freetype-module_FDDIR)/freetype2_lib.fd : | $(workbench-libs-freetype-module_FDDIR) + + +ifneq (workbench-libs-freetype-module-fd-setup,) +workbench-libs-freetype-module-fd-setup : | $(workbench-libs-freetype-module_FDDIR) +else +workbench-libs-freetype-module-fd-setup :: $(workbench-libs-freetype-module_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-freetype-module_FDDIR) + +endif + +## Compilation +## +workbench-libs-freetype-module_FILES := $(SHFILES) $(FT2FILES) +workbench-libs-freetype-module_OBJCFILES := +workbench-libs-freetype-module_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-libs-freetype-module_LIBFILES := +workbench-libs-freetype-module_LIBS := stdc + +workbench-libs-freetype-module_FDIRS := $(sort $(dir $(workbench-libs-freetype-module_FILES))) + +workbench-libs-freetype-module_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-libs-freetype-module_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-libs-freetype-module_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-libs-freetype-module_FILTERARCH = $(filter-out $(call workbench-libs-freetype-module_MATCHARCH,$(1),$(2)),$(2)) +workbench-libs-freetype-module_STARTFILES := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_STARTFILES)) +workbench-libs-freetype-module_ENDFILES := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_ENDFILES)) + +workbench-libs-freetype-module_ARCHOBJS := $(wildcard $(workbench-libs-freetype-module_OBJDIR)/arch/*.o) +workbench-libs-freetype-module_LIBARCHOBJS := $(wildcard $(workbench-libs-freetype-module_OBJDIR)/linklib/arch/*.o) +workbench-libs-freetype-module_ARCHFILES := $(basename $(notdir $(workbench-libs-freetype-module_ARCHOBJS))) +workbench-libs-freetype-module_LIBARCHFILES := $(basename $(notdir $(workbench-libs-freetype-module_LIBARCHOBJS))) +workbench-libs-freetype-module_C_NARCHFILES := $(call workbench-libs-freetype-module_FILTERARCH,$(workbench-libs-freetype-module_ARCHFILES),$(workbench-libs-freetype-module_FILES)) +workbench-libs-freetype-module_CXX_NARCHFILES := $(call workbench-libs-freetype-module_FILTERARCH,$(workbench-libs-freetype-module_ARCHFILES),$(workbench-libs-freetype-module_CXXFILES)) +workbench-libs-freetype-module_OBJC_NARCHFILES := $(call workbench-libs-freetype-module_FILTERARCH,$(workbench-libs-freetype-module_ARCHFILES),$(workbench-libs-freetype-module_OBJCFILES)) +workbench-libs-freetype-module_NLIBARCHFILES := $(call workbench-libs-freetype-module_FILTERARCH,$(workbench-libs-freetype-module_LIBARCHFILES),$(workbench-libs-freetype-module_LIBFILES)) +workbench-libs-freetype-module_ARCHNLIBFILES := $(call workbench-libs-freetype-module_FILTERARCH,$(workbench-libs-freetype-module_LIBFILES),$(workbench-libs-freetype-module_LIBARCHFILES)) + +workbench-libs-freetype-module_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-libs-freetype-module_OBJDIR)/include -include $(workbench-libs-freetype-module_DEFLIBDEFSINC)) +ifneq (,) +workbench-libs-freetype-module_CPPFLAGS += -I +endif +workbench-libs-freetype-module_LINKLIBCPPFLAGS := $(workbench-libs-freetype-module_CPPFLAGS) +workbench-libs-freetype-module_CPPFLAGS += $(strip $($(workbench-libs-freetype-module_DEFNAME)_CPPFLAGS)) +workbench-libs-freetype-module_LINKLIBCPPFLAGS += $(strip $($(workbench-libs-freetype-module_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-libs-freetype-module_CFLAGS := $(strip $(CFLAGS) $($(workbench-libs-freetype-module_DEFNAME)_CFLAGS)) +workbench-libs-freetype-module_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-libs-freetype-module_DEFNAME)_LINKLIBCFLAGS)) +workbench-libs-freetype-module_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-libs-freetype-module_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-freetype-module_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-libs-freetype-module_CFLAGS := $(strip $(workbench-libs-freetype-module_LTOFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +workbench-libs-freetype-module_LINKLIBCFLAGS := $(strip $(workbench-libs-freetype-module_LTOFLAGS) $(workbench-libs-freetype-module_LINKLIBCFLAGS)) +workbench-libs-freetype-module_CXXFLAGS := $(strip $(workbench-libs-freetype-module_LTOFLAGS) $(workbench-libs-freetype-module_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-freetype-module_SUBSTNULL := +workbench-libs-freetype-module_SUBSTSPACE := $(workbench-libs-freetype-module_SUBSTNULL) # +workbench-libs-freetype-module_SUBSTCOMMA := , +workbench-libs-freetype-module_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-libs-freetype-module_SUBSTSPACE),$(workbench-libs-freetype-module_SUBSTCOMMA),$(strip $($(workbench-libs-freetype-module_DEFNAME)_STARTFILES)))) +workbench-libs-freetype-module_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-libs-freetype-module_CFLAGS := $(strip $(workbench-libs-freetype-module_INSTRFUNCFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +workbench-libs-freetype-module_CXXFLAGS := $(strip $(workbench-libs-freetype-module_INSTRFUNCFLAGS) $(workbench-libs-freetype-module_CXXFLAGS)) +workbench-libs-freetype-module_LIBS += $(workbench-libs-freetype-module_INSTRFUNCLIBS) +endif +endif +workbench-libs-freetype-module_DFLAGS := $(strip $(workbench-libs-freetype-module_DFLAGS) $($(workbench-libs-freetype-module_DEFNAME)_DFLAGS)) +workbench-libs-freetype-module_LINKLIBDFLAGS := $(strip $(workbench-libs-freetype-module_DFLAGS) $($(workbench-libs-freetype-module_DEFNAME)_LINKLIBDFLAGS)) +workbench-libs-freetype-module_DXXFLAGS := $(strip $(workbench-libs-freetype-module_DXXFLAGS) $($(workbench-libs-freetype-module_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-libs-freetype-module_LIBSUFFIX := +else + workbench-libs-freetype-module_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-libs-freetype-module_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-libs-freetype-module_LIBDIR := +endif + +ifeq (M,M) +workbench-libs-freetype-module_LINKLIBCFILES := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$($(workbench-libs-freetype-module_DEFNAME)_LINKLIBFILES)) +workbench-libs-freetype-module_LINKLIBAFILES := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$($(workbench-libs-freetype-module_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-freetype-module_DEFNAME)_LINKLIBFILES) $($(workbench-libs-freetype-module_DEFNAME)_LINKLIBAFILES) $(workbench-libs-freetype-module_ARCHNLIBFILES)),) + workbench-libs-freetype-module_LINKLIB := +else + workbench-libs-freetype-module_LINKLIB := $(workbench-libs-freetype-module_LIBDIR)/libfreetype2$(workbench-libs-freetype-module_LIBSUFFIX).a + ifneq (freetype2,$(workbench-libs-freetype-module_LINKLIBNAME)) + workbench-libs-freetype-module_LINKLIB += $(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)$(workbench-libs-freetype-module_LIBSUFFIX).a + endif +endif +workbench-libs-freetype-module_LINKLIBFILES := $(workbench-libs-freetype-module_LINKLIBCFILES) $(workbench-libs-freetype-module_LINKLIBAFILES) + +workbench-libs-freetype-module_RELLINKLIBCFILES := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$($(workbench-libs-freetype-module_DEFNAME)_RELLINKLIBFILES)) +workbench-libs-freetype-module_RELLINKLIBAFILES := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$($(workbench-libs-freetype-module_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-freetype-module_DEFNAME)_RELLINKLIBFILES) $($(workbench-libs-freetype-module_DEFNAME)_RELLINKLIBAFILES) $(workbench-libs-freetype-module_ARCHNLIBFILES)),) + workbench-libs-freetype-module_RELLINKLIB := +else + workbench-libs-freetype-module_RELLINKLIB := $(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_DEFNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a + ifneq (freetype2,$(workbench-libs-freetype-module_LINKLIBNAME)) + workbench-libs-freetype-module_RELLINKLIB += $(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a + endif +endif +workbench-libs-freetype-module_RELLINKLIBFILES := $(workbench-libs-freetype-module_RELLINKLIBCFILES) $(workbench-libs-freetype-module_RELLINKLIBAFILES) +endif + +workbench-libs-freetype-module_ENDOBJS := $(addsuffix .o,$(workbench-libs-freetype-module_ENDFILES)) +workbench-libs-freetype-module_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(notdir $(workbench-libs-freetype-module_NLIBARCHFILES))) $(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-freetype-module_ARCHNLIBFILES))) $(workbench-libs-freetype-module_LINKLIBFILES)) \ + +workbench-libs-freetype-module_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(notdir $(workbench-libs-freetype-module_NLIBARCHFILES))) $(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-freetype-module_ARCHNLIBFILES))) $(workbench-libs-freetype-module_RELLINKLIBFILES)) \ + +$(workbench-libs-freetype-module_LINKLIBFILES) $(workbench-libs-freetype-module_RELLINKLIBFILES) : | $(workbench-libs-freetype-module_OBJDIR)/linklib +$(workbench-libs-freetype-module_LINKLIBOBJS) $(workbench-libs-freetype-module_RELLINKLIBOBJS) : | $(workbench-libs-freetype-module_OBJDIR)/linklib + +workbench-libs-freetype-module_CCFILES := $(workbench-libs-freetype-module_C_NARCHFILES) +workbench-libs-freetype-module_TARGETCCFILES := $(strip $(workbench-libs-freetype-module_STARTFILES) $(workbench-libs-freetype-module_ENDFILES)) +workbench-libs-freetype-module_LINKLIBCCFILES := $(strip $(workbench-libs-freetype-module_NLIBARCHFILES) $(workbench-libs-freetype-module_LINKLIBCFILES) $(workbench-libs-freetype-module_RELLINKLIBCFILES)) +workbench-libs-freetype-module_LINKLIBCCGENFILES := $(strip $(workbench-libs-freetype-module_LINKLIBCFILES) $(workbench-libs-freetype-module_RELLINKLIBCFILES)) + + +workbench-libs-freetype-module_CXXABSBASENAMES := $(foreach workbench-libs-freetype-module_CXXBASE,$(workbench-libs-freetype-module_CXX_NARCHFILES),$(if $(filter /%,$(workbench-libs-freetype-module_CXXBASE)),$(workbench-libs-freetype-module_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-libs-freetype-module_CXXBASE)))) + +ifneq ($(workbench-libs-freetype-module_CXXABSBASENAMES),) + +workbench-libs-freetype-module_CXXBASENAMES := $(basename $(workbench-libs-freetype-module_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-libs-freetype-module_MCXX_FILES := $(strip $(foreach workbench-libs-freetype-module_CXXBASE,$(workbench-libs-freetype-module_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-libs-freetype-module_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-libs-freetype-module_EXT),$(workbench-libs-freetype-module_CXXBASE))))))) + +ifeq (,) +workbench-libs-freetype-module_MCXX_SRCWILDCARD := % +else +workbench-libs-freetype-module_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-freetype-module_OBJDIR),) + workbench-libs-freetype-module_CXXTARGETS := $(notdir $(workbench-libs-freetype-module_CXXBASENAMES:=.o)) + workbench-libs-freetype-module_CXXDTARGETS := $(notdir $(workbench-libs-freetype-module_CXXBASENAMES:=.d)) + workbench-libs-freetype-module_MCXX_WILDCARD := % +else + workbench-libs-freetype-module_CXXTARGETS := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(workbench-libs-freetype-module_CXXBASENAMES:=.o))) + workbench-libs-freetype-module_CXXDTARGETS := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(workbench-libs-freetype-module_CXXBASENAMES:=.d))) + workbench-libs-freetype-module_MCXX_WILDCARD := $(workbench-libs-freetype-module_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-libs-freetype-module_CXXTARGETS) $(workbench-libs-freetype-module_CXXDTARGETS) : | $(workbench-libs-freetype-module_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-libs-freetype-module_MCXX_CPPFLAGS := $(workbench-libs-freetype-module_CPPFLAGS) +workbench-libs-freetype-module_CXXFLAGS := $(workbench-libs-freetype-module_CXXFLAGS) +ifeq ($(workbench-libs-freetype-module_DXXFLAGS),) + workbench-libs-freetype-module_DXXFLAGS := $(workbench-libs-freetype-module_CXXFLAGS) +else + workbench-libs-freetype-module_DXXFLAGS := $(workbench-libs-freetype-module_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-libs-freetype-module_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-libs-freetype-module_STRIP ?= $(HOST_STRIP) + workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-libs-freetype-module_CXXCMD:=$(HOST_CXX) + workbench-libs-freetype-module_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-libs-freetype-module_MCXX_CPPFLAGS) $(workbench-libs-freetype-module_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-freetype-module_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-freetype-module_CXXFLAGS)) + workbench-libs-freetype-module_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-freetype-module_DXXFLAGS)) + workbench-libs-freetype-module_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-libs-freetype-module_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-libs-freetype-module_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-freetype-module_STRIP ?= $(TARGET_STRIP) + workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-libs-freetype-module_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-libs-freetype-module_MCXX_CPPFLAGS := $(strip $(workbench-libs-freetype-module_MCXX_CPPFLAGS) $(workbench-libs-freetype-module_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-freetype-module_CXXFLAGS := $(strip $(workbench-libs-freetype-module_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-libs-freetype-module_DXXFLAGS := $(workbench-libs-freetype-module_DXXFLAGS) + workbench-libs-freetype-module_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-libs-freetype-module_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-libs-freetype-module_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-freetype-module_STRIP ?= $(ECHO) >/dev/null + workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-libs-freetype-module_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-libs-freetype-module_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-libs-freetype-module_MCXX_CPPFLAGS) $(workbench-libs-freetype-module_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-freetype-module_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-freetype-module_CXXFLAGS)) + workbench-libs-freetype-module_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-freetype-module_DXXFLAGS)) + workbench-libs-freetype-module_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-libs-freetype-module_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-libs-freetype-module_CXXCMD) $(workbench-libs-freetype-module_CXXIQUOTE) $(dir $(2)) $(workbench-libs-freetype-module_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_CXXIQUOTE) . $(workbench-libs-freetype-module_CXXIQUOTE_END) $(strip $(workbench-libs-freetype-module_CXXFLAGS) $(workbench-libs-freetype-module_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-libs-freetype-module_CXXCMD) $(workbench-libs-freetype-module_CXXIQUOTE) $(dir $(2)) $(workbench-libs-freetype-module_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_CXXIQUOTE) . $(workbench-libs-freetype-module_CXXIQUOTE_END) $(strip $(workbench-libs-freetype-module_CXXFLAGS) $(workbench-libs-freetype-module_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-libs-freetype-module_CXXCMD) $(workbench-libs-freetype-module_CXXIQUOTE) $(dir $(2)) $(workbench-libs-freetype-module_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_CXXIQUOTE) . $(workbench-libs-freetype-module_CXXIQUOTE_END) $(strip $(workbench-libs-freetype-module_CXXFLAGS) $(workbench-libs-freetype-module_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-libs-freetype-module_CXXCMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-module_DXXFLAGS) $(workbench-libs-freetype-module_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-libs-freetype-module_OBJDIR),) + $(foreach workbench-libs-freetype-module_CXXFILE,$(workbench-libs-freetype-module_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-libs-freetype-module_CXXFILE))),$(workbench-libs-freetype-module_CXXFILE)))) +else + $(foreach workbench-libs-freetype-module_CXXFILE,$(workbench-libs-freetype-module_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(basename $(workbench-libs-freetype-module_CXXFILE)))),$(workbench-libs-freetype-module_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-libs-freetype-module_OBJC_NARCHFILES),) + +ifeq (,) +workbench-libs-freetype-module_MOBJC_SRCWILDCARD := % +else +workbench-libs-freetype-module_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-freetype-module_OBJDIR),) + workbench-libs-freetype-module_MOBJC_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-module_OBJC_NARCHFILES)) + workbench-libs-freetype-module_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-libs-freetype-module_OBJC_NARCHFILES)) + workbench-libs-freetype-module_MOBJC_WILDCARD := % +else + workbench-libs-freetype-module_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(workbench-libs-freetype-module_OBJC_NARCHFILES))) + workbench-libs-freetype-module_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(workbench-libs-freetype-module_OBJC_NARCHFILES))) + workbench-libs-freetype-module_MOBJC_WILDCARD := $(workbench-libs-freetype-module_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-libs-freetype-module_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-libs-freetype-module_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-freetype-module_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-module_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-libs-freetype-module_MOBJC_DIRS := $(foreach dir, $(workbench-libs-freetype-module_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-module_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-libs-freetype-module_MOBJC_DIRS),) + workbench-libs-freetype-module_MOBJC_DIRS := $(shell echo $(workbench-libs-freetype-module_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-libs-freetype-module_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-libs-freetype-module_CC := $(TARGET_CC) +else + workbench-libs-freetype-module_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-libs-freetype-module_MOBJC_CPPFLAGS := $(workbench-libs-freetype-module_CPPFLAGS) +workbench-libs-freetype-module_OBJCFLAGS := $(workbench-libs-freetype-module_CFLAGS) +workbench-libs-freetype-module_OBJCFLAGS := $(workbench-libs-freetype-module_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-libs-freetype-module_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-libs-freetype-module_OBJCFLAGS))) +ifeq ($(workbench-libs-freetype-module_DFLAGS),) + workbench-libs-freetype-module_OBJCDFLAGS := $(workbench-libs-freetype-module_CFLAGS) +else + workbench-libs-freetype-module_OBJCDFLAGS := $(workbench-libs-freetype-module_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-libs-freetype-module_LINK ?= $(strip $(workbench-libs-freetype-module_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-freetype-module_STRIP ?= $(TARGET_STRIP) + workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-libs-freetype-module_CC) $(TARGET_SYSROOT)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_MOBJC_CPPFLAGS:=$(strip $(workbench-libs-freetype-module_MOBJC_CPPFLAGS) $(workbench-libs-freetype-module_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_OBJCFLAGS:=$(strip $(workbench-libs-freetype-module_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_OBJCDFLAGS:=$(workbench-libs-freetype-module_OBJCDFLAGS) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-libs-freetype-module_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-libs-freetype-module_STRIP ?= $(HOST_STRIP) + workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-libs-freetype-module_MOBJC_CPPFLAGS) $(workbench-libs-freetype-module_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_OBJCFLAGS)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_OBJCDFLAGS)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(HOST_IQUOTE) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-libs-freetype-module_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-freetype-module_STRIP ?= $(ECHO) >/dev/null + workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-libs-freetype-module_MOBJC_CPPFLAGS) $(workbench-libs-freetype-module_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_OBJCFLAGS)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_OBJCDFLAGS)) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-libs-freetype-module_MOBJC_TARGETS) $(workbench-libs-freetype-module_MOBJC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-freetype-module_MOBJC_TARGETS) : CPPFLAGS := $(workbench-libs-freetype-module_MOBJC_CPPFLAGS) +$(workbench-libs-freetype-module_MOBJC_TARGETS) : CFLAGS := $(workbench-libs-freetype-module_OBJCFLAGS) +$(workbench-libs-freetype-module_MOBJC_TARGETS) : $(workbench-libs-freetype-module_MOBJC_WILDCARD).o : $(workbench-libs-freetype-module_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-freetype-module_MOBJC_DTARGETS) : $(workbench-libs-freetype-module_MOBJC_WILDCARD).d : $(workbench-libs-freetype-module_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-module_OBJCDFLAGS) $(workbench-libs-freetype-module_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-libs-freetype-module_MC_SRCWILDCARD := % +else +workbench-libs-freetype-module_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-freetype-module_OBJDIR),) +workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-module_CCFILES)) +workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-freetype-module_CCFILES)) +workbench-libs-freetype-module_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(workbench-libs-freetype-module_CCFILES)))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(workbench-libs-freetype-module_CCFILES)))) +else +ifeq (,) + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(workbench-libs-freetype-module_CCFILES))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(workbench-libs-freetype-module_CCFILES))) +else + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-freetype-module_CCFILES)))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-freetype-module_CCFILES)))) +endif +endif +workbench-libs-freetype-module_MC_TGTWILDCARD := $(workbench-libs-freetype-module_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-freetype-module_CCFILES)) + +# Be sure that all .c files are found +workbench-libs-freetype-module_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-freetype-module_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-module_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-freetype-module_MC_DIRS := $(foreach dir, $(workbench-libs-freetype-module_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-module_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-freetype-module_MC_DIRS),) + workbench-libs-freetype-module_MC_DIRS := $(shell echo $(workbench-libs-freetype-module_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-freetype-module_MC_DIRS) +endif + +endif + +workbench-libs-freetype-module_MC_CPPFLAGS := $(workbench-libs-freetype-module_CPPFLAGS) +workbench-libs-freetype-module_CFLAGS := $(workbench-libs-freetype-module_CFLAGS) +ifeq ($(workbench-libs-freetype-module_DFLAGS),) + workbench-libs-freetype-module_DFLAGS := $(workbench-libs-freetype-module_CFLAGS) +else + workbench-libs-freetype-module_DFLAGS := $(workbench-libs-freetype-module_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-freetype-module_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(TARGET_STRIP) +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(workbench-libs-freetype-module_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(workbench-libs-freetype-module_DFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-freetype-module_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(HOST_STRIP) +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_DFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-freetype-module_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(ECHO) >/dev/null +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_DFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-freetype-module_MC_TARGETS) : CPPFLAGS := $(workbench-libs-freetype-module_MC_CPPFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) : CFLAGS := $(workbench-libs-freetype-module_CFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) : $(workbench-libs-freetype-module_MC_TGTWILDCARD).o : $(workbench-libs-freetype-module_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-freetype-module_MC_DTARGETS) : $(workbench-libs-freetype-module_MC_TGTWILDCARD).d : $(workbench-libs-freetype-module_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-module_DFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-freetype-module_MC_SRCWILDCARD := % +else +workbench-libs-freetype-module_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-freetype-module_OBJDIR),) +workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-module_TARGETCCFILES)) +workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-freetype-module_TARGETCCFILES)) +workbench-libs-freetype-module_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(workbench-libs-freetype-module_TARGETCCFILES)))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(workbench-libs-freetype-module_TARGETCCFILES)))) +else +ifeq (,) + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(workbench-libs-freetype-module_TARGETCCFILES))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(workbench-libs-freetype-module_TARGETCCFILES))) +else + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-freetype-module_TARGETCCFILES)))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-freetype-module_TARGETCCFILES)))) +endif +endif +workbench-libs-freetype-module_MC_TGTWILDCARD := $(workbench-libs-freetype-module_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-freetype-module_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-libs-freetype-module_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-freetype-module_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-module_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-freetype-module_MC_DIRS := $(foreach dir, $(workbench-libs-freetype-module_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-module_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-freetype-module_MC_DIRS),) + workbench-libs-freetype-module_MC_DIRS := $(shell echo $(workbench-libs-freetype-module_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-freetype-module_MC_DIRS) +endif + +endif + +workbench-libs-freetype-module_MC_CPPFLAGS := $(workbench-libs-freetype-module_CPPFLAGS) -D__AROS__ +workbench-libs-freetype-module_CFLAGS := $(workbench-libs-freetype-module_CFLAGS) +ifeq ($(workbench-libs-freetype-module_DFLAGS),) + workbench-libs-freetype-module_DFLAGS := $(workbench-libs-freetype-module_CFLAGS) +else + workbench-libs-freetype-module_DFLAGS := $(workbench-libs-freetype-module_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-freetype-module_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(TARGET_STRIP) +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(workbench-libs-freetype-module_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(workbench-libs-freetype-module_DFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-freetype-module_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(HOST_STRIP) +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_DFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-freetype-module_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(ECHO) >/dev/null +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_DFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-freetype-module_MC_TARGETS) : CPPFLAGS := $(workbench-libs-freetype-module_MC_CPPFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) : CFLAGS := $(workbench-libs-freetype-module_CFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) : $(workbench-libs-freetype-module_MC_TGTWILDCARD).o : $(workbench-libs-freetype-module_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-freetype-module_MC_DTARGETS) : $(workbench-libs-freetype-module_MC_TGTWILDCARD).d : $(workbench-libs-freetype-module_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-module_DFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-freetype-module_MC_SRCWILDCARD := % +else +workbench-libs-freetype-module_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-freetype-module_OBJDIR)/linklib,) +workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-module_NLIBARCHFILES)) +workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-freetype-module_NLIBARCHFILES)) +workbench-libs-freetype-module_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(notdir $(workbench-libs-freetype-module_NLIBARCHFILES)))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(notdir $(workbench-libs-freetype-module_NLIBARCHFILES)))) +else +ifeq (,) + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(workbench-libs-freetype-module_NLIBARCHFILES))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(workbench-libs-freetype-module_NLIBARCHFILES))) +else + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-freetype-module_NLIBARCHFILES)))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-freetype-module_NLIBARCHFILES)))) +endif +endif +workbench-libs-freetype-module_MC_TGTWILDCARD := $(workbench-libs-freetype-module_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-freetype-module_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-libs-freetype-module_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-freetype-module_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-module_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-freetype-module_MC_DIRS := $(foreach dir, $(workbench-libs-freetype-module_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-module_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-freetype-module_MC_DIRS),) + workbench-libs-freetype-module_MC_DIRS := $(shell echo $(workbench-libs-freetype-module_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-freetype-module_MC_DIRS) +endif + +endif + +workbench-libs-freetype-module_MC_CPPFLAGS := $(workbench-libs-freetype-module_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-freetype-module_CFLAGS := $(workbench-libs-freetype-module_LINKLIBCFLAGS) +ifeq ($(workbench-libs-freetype-module_LINKLIBDFLAGS),) + workbench-libs-freetype-module_DFLAGS := $(workbench-libs-freetype-module_LINKLIBCFLAGS) +else + workbench-libs-freetype-module_DFLAGS := $(workbench-libs-freetype-module_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-freetype-module_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(TARGET_STRIP) +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(workbench-libs-freetype-module_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(workbench-libs-freetype-module_DFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-freetype-module_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(HOST_STRIP) +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_DFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-freetype-module_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(ECHO) >/dev/null +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_DFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-freetype-module_MC_TARGETS) : CPPFLAGS := $(workbench-libs-freetype-module_MC_CPPFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) : CFLAGS := $(workbench-libs-freetype-module_CFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) : $(workbench-libs-freetype-module_MC_TGTWILDCARD).o : $(workbench-libs-freetype-module_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-freetype-module_MC_DTARGETS) : $(workbench-libs-freetype-module_MC_TGTWILDCARD).d : $(workbench-libs-freetype-module_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-module_DFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-libs-freetype-module_OBJDIR)/linklib,) +workbench-libs-freetype-module_MC_SRCWILDCARD := % +else +workbench-libs-freetype-module_MC_SRCWILDCARD := $(workbench-libs-freetype-module_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-libs-freetype-module_OBJDIR)/linklib,) +workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-module_LINKLIBCCGENFILES)) +workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-freetype-module_LINKLIBCCGENFILES)) +workbench-libs-freetype-module_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(notdir $(workbench-libs-freetype-module_LINKLIBCCGENFILES)))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(notdir $(workbench-libs-freetype-module_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-libs-freetype-module_OBJDIR)/linklib,) + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(workbench-libs-freetype-module_LINKLIBCCGENFILES))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(workbench-libs-freetype-module_LINKLIBCCGENFILES))) +else + workbench-libs-freetype-module_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(patsubst $(workbench-libs-freetype-module_OBJDIR)/linklib/%,%,$(workbench-libs-freetype-module_LINKLIBCCGENFILES)))) + workbench-libs-freetype-module_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(patsubst $(workbench-libs-freetype-module_OBJDIR)/linklib/%,%,$(workbench-libs-freetype-module_LINKLIBCCGENFILES)))) +endif +endif +workbench-libs-freetype-module_MC_TGTWILDCARD := $(workbench-libs-freetype-module_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-freetype-module_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-libs-freetype-module_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-freetype-module_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-module_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-freetype-module_MC_DIRS := $(foreach dir, $(workbench-libs-freetype-module_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-module_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-freetype-module_MC_DIRS),) + workbench-libs-freetype-module_MC_DIRS := $(shell echo $(workbench-libs-freetype-module_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-freetype-module_MC_DIRS) +endif + +endif + +workbench-libs-freetype-module_MC_CPPFLAGS := $(workbench-libs-freetype-module_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-freetype-module_CFLAGS := $(workbench-libs-freetype-module_LINKLIBCFLAGS) +ifeq ($(workbench-libs-freetype-module_LINKLIBDFLAGS),) + workbench-libs-freetype-module_DFLAGS := $(workbench-libs-freetype-module_LINKLIBCFLAGS) +else + workbench-libs-freetype-module_DFLAGS := $(workbench-libs-freetype-module_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-freetype-module_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(TARGET_STRIP) +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(workbench-libs-freetype-module_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(workbench-libs-freetype-module_DFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-freetype-module_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(HOST_STRIP) +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-freetype-module_DFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-freetype-module_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-freetype-module_STRIP ?= $(ECHO) >/dev/null +workbench-libs-freetype-module_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS) $(workbench-libs-freetype-module_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_CFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-freetype-module_DFLAGS)) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-freetype-module_MC_TARGETS) $(workbench-libs-freetype-module_MC_DTARGETS) : workbench-libs-freetype-module_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-freetype-module_MC_TARGETS) : CPPFLAGS := $(workbench-libs-freetype-module_MC_CPPFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) : CFLAGS := $(workbench-libs-freetype-module_CFLAGS) +$(workbench-libs-freetype-module_MC_TARGETS) : $(workbench-libs-freetype-module_MC_TGTWILDCARD).o : $(workbench-libs-freetype-module_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-freetype-module_IQUOTE) $(dir $<) $(workbench-libs-freetype-module_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-freetype-module_IQUOTE) . $(workbench-libs-freetype-module_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-freetype-module_MC_DTARGETS) : $(workbench-libs-freetype-module_MC_TGTWILDCARD).d : $(workbench-libs-freetype-module_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-freetype-module_DFLAGS) $(workbench-libs-freetype-module_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-libs-freetype-module_LINKLIBAFILES),) + +ifeq ($(workbench-libs-freetype-module_OBJDIR)/linklib,) +workbench-libs-freetype-module-MA_TARGETS := $(addsuffix .o,$(workbench-libs-freetype-module_LINKLIBAFILES) $(workbench-libs-freetype-module_RELLINKLIBAFILES)) +workbench-libs-freetype-module-MA_WILDCARD := % +else +workbench-libs-freetype-module-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(notdir $(workbench-libs-freetype-module_LINKLIBAFILES) $(workbench-libs-freetype-module_RELLINKLIBAFILES)))) +workbench-libs-freetype-module-MA_WILDCARD := $(workbench-libs-freetype-module_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-libs-freetype-module-MA_TARGETS) : | $(addsuffix .S,$(workbench-libs-freetype-module_LINKLIBAFILES) $(workbench-libs-freetype-module_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-libs-freetype-module-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-freetype-module-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-freetype-module_LINKLIBAFILES) $(workbench-libs-freetype-module_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-freetype-module-MA_DIRS := $(foreach dir, $(workbench-libs-freetype-module-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-freetype-module-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-freetype-module-MA_DIRS),) + workbench-libs-freetype-module-MA_DIRS := $(shell echo $(workbench-libs-freetype-module-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-libs-freetype-module-MA_DIRS) +endif + +endif + +workbench-libs-freetype-module-MA_ASSEMBLER ?= $(workbench-libs-freetype-module_ASSEMBLER) + +$(workbench-libs-freetype-module-MA_TARGETS) : workbench-libs-freetype-module-MA_CMD:= $(workbench-libs-freetype-module-MA_ASSEMBLER) + +$(workbench-libs-freetype-module-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-libs-freetype-module-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-libs-freetype-module-MA_TARGETS) : $(workbench-libs-freetype-module-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-libs-freetype-module-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-libs-freetype-module-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-libs-freetype-module-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-libs-freetype-module_SUFFIX := library +else +workbench-libs-freetype-module_SUFFIX := +endif + +ifeq (target,target) +workbench-libs-freetype-module_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-libs-freetype-module_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-libs-freetype-module_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-libs-freetype-module_SUFFIX),handler) +workbench-libs-freetype-module_MODULE := $(AROSDIR)/$(workbench-libs-freetype-module_MODDIR)/$(workbench-libs-freetype-module_DEFNAME)-$(workbench-libs-freetype-module_SUFFIX) +else +workbench-libs-freetype-module_MODULE := $(AROSDIR)/$(workbench-libs-freetype-module_MODDIR)/$(workbench-libs-freetype-module_DEFNAME).$(workbench-libs-freetype-module_SUFFIX) +endif +workbench-libs-freetype-module_KOBJ := $(KOBJSDIR)/$(workbench-libs-freetype-module_DEFNAME)_$(workbench-libs-freetype-module_SUFFIX).o +else +workbench-libs-freetype-module_MODULE := +workbench-libs-freetype-module_KOBJ := +endif + +workbench-libs-freetype-module-quick : workbench-libs-freetype-module +workbench-libs-freetype-module : $(workbench-libs-freetype-module_MODULE) $(workbench-libs-freetype-module_LINKLIB) $(workbench-libs-freetype-module_RELLINKLIB) +ifeq (M,M) +workbench-libs-freetype-module-kobj : $(workbench-libs-freetype-module_KOBJ) $(workbench-libs-freetype-module_LINKLIB) $(workbench-libs-freetype-module_RELLINKLIB) +workbench-libs-freetype-module-kobj-quick : $(workbench-libs-freetype-module_KOBJ) $(workbench-libs-freetype-module_LINKLIB) $(workbench-libs-freetype-module_RELLINKLIB) +endif +ifeq (M,M) +workbench-libs-freetype-module-linklib : $(workbench-libs-freetype-module_LINKLIB) $(workbench-libs-freetype-module_RELLINKLIB) +endif + +workbench-libs-freetype-module_OBJS := $(addsuffix .o,$(workbench-libs-freetype-module_STARTFILES)) $(workbench-libs-freetype-module_ARCHOBJS) \ + $(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(workbench-libs-freetype-module_C_NARCHFILES:=.o) $(workbench-libs-freetype-module_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-libs-freetype-module_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (freetype2,con) + workbench-libs-freetype-module_ERR := $(notdir $(workbench-libs-freetype-module_MODULE)).err +else + workbench-libs-freetype-module_ERR := freetype2.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-libs-freetype-module_DEFNAME)_LDFLAGS) $(workbench-libs-freetype-module_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-libs-freetype-module_LIBS) $($(workbench-libs-freetype-module_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-libs-freetype-module_MODULE) : LIB_NAMES := $(workbench-libs-freetype-module_LIBS) $($(workbench-libs-freetype-module_DEFNAME)_LIBS) +$(workbench-libs-freetype-module_MODULE) : OBJS := $(workbench-libs-freetype-module_STARTOBJS) $(workbench-libs-freetype-module_OBJS) $(USER_OBJS) +$(workbench-libs-freetype-module_MODULE) : ENDTAG := $(workbench-libs-freetype-module_ENDOBJS) +$(workbench-libs-freetype-module_MODULE) : ERR := $(workbench-libs-freetype-module_ERR) +$(workbench-libs-freetype-module_MODULE) : OBJDIR := $(workbench-libs-freetype-module_OBJDIR) +$(workbench-libs-freetype-module_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-libs-freetype-module_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-libs-freetype-module_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-libs-freetype-module_MODULE) : $(workbench-libs-freetype-module_STARTOBJS) $(workbench-libs-freetype-module_OBJS) $(USER_OBJS) $(workbench-libs-freetype-module_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-libs-freetype-module_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-libs-freetype-module_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-libs-freetype-module_LC_LINKLIBNAME := $(shell echo $(workbench-libs-freetype-module_LINKLIBNAME) | tr A-Z a-z) +workbench-libs-freetype-module_LC_MODNAME := $(shell echo freetype2 | tr A-Z a-z) +ifneq ($(workbench-libs-freetype-module_LINKLIB),) + +ifeq (target,target) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(HOST_AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(KERNEL_AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)$(workbench-libs-freetype-module_LIBSUFFIX).a : $(workbench-libs-freetype-module_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-freetype-module_AR) $@ $^ + $(Q)$(workbench-libs-freetype-module_RANLIB) $@ +ifneq ($(workbench-libs-freetype-module_LC_MODNAME),$(workbench-libs-freetype-module_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-freetype-module_LIBDIR)/libfreetype2$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(AR) +$(workbench-libs-freetype-module_LIBDIR)/libfreetype2$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-freetype-module_LIBDIR)/libfreetype2$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(HOST_AR) +$(workbench-libs-freetype-module_LIBDIR)/libfreetype2$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-freetype-module_LIBDIR)/libfreetype2$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(KERNEL_AR) +$(workbench-libs-freetype-module_LIBDIR)/libfreetype2$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-freetype-module_LIBDIR)/libfreetype2$(workbench-libs-freetype-module_LIBSUFFIX).a : $(workbench-libs-freetype-module_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-freetype-module_AR) $@ $^ + $(Q)$(workbench-libs-freetype-module_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-freetype-module_LINKLIB),) +$(workbench-libs-freetype-module_LINKLIB) : | $(workbench-libs-freetype-module_LIBDIR) +else +$(workbench-libs-freetype-module_LINKLIB) :: $(workbench-libs-freetype-module_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-freetype-module_LIBDIR) + +endif + +ifneq ($(workbench-libs-freetype-module_RELLINKLIB),) + +ifeq (target,target) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(HOST_AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(KERNEL_AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_LINKLIBNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : $(workbench-libs-freetype-module_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-freetype-module_AR) $@ $^ + $(Q)$(workbench-libs-freetype-module_RANLIB) $@ +ifneq ($(workbench-libs-freetype-module_LC_MODNAME),$(workbench-libs-freetype-module_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_DEFNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_DEFNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_DEFNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(HOST_AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_DEFNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_DEFNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_AR:=$(KERNEL_AR) +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_DEFNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : workbench-libs-freetype-module_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-freetype-module_LIBDIR)/lib$(workbench-libs-freetype-module_DEFNAME)_rel$(workbench-libs-freetype-module_LIBSUFFIX).a : $(workbench-libs-freetype-module_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-freetype-module_AR) $@ $^ + $(Q)$(workbench-libs-freetype-module_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-freetype-module_RELLINKLIB),) +$(workbench-libs-freetype-module_RELLINKLIB) : | $(workbench-libs-freetype-module_LIBDIR) +else +$(workbench-libs-freetype-module_RELLINKLIB) :: $(workbench-libs-freetype-module_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-freetype-module_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-libs-freetype-module_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-libs-freetype-module_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-libs-freetype-module_SYMBOLS := $(workbench-libs-freetype-module_KBASE) + +workbench-libs-freetype-module_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-libs-freetype-module_KOBJ_LIBS := $(filter-out $(workbench-libs-freetype-module_KLIB),$(workbench-libs-freetype-module_LIBS)) $(workbench-libs-freetype-module_KAUTOLIB) +$(workbench-libs-freetype-module_KOBJ) : LINKLIBS:=$(workbench-libs-freetype-module_KOBJ_LIBS) $($(workbench-libs-freetype-module_DEFNAME)_LIBS) +$(workbench-libs-freetype-module_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-libs-freetype-module_SYMBOLS)) +$(workbench-libs-freetype-module_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-libs-freetype-module_KOBJ) : $(workbench-libs-freetype-module_OBJS) $(USER_OBJS) $(workbench-libs-freetype-module_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-libs-freetype-module_DEPS := $(addprefix $(workbench-libs-freetype-module_OBJDIR)/,$(notdir $(workbench-libs-freetype-module_CCFILES:=.d) $(workbench-libs-freetype-module_TARGETCCFILES:=.d) $(workbench-libs-freetype-module_CXXFILES:=.d))) $(addprefix $(workbench-libs-freetype-module_OBJDIR)/linklib/,$(notdir $(workbench-libs-freetype-module_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-libs-freetype-module_DEPS),) + ifneq (workbench-libs-freetype-module workbench-libs-freetype-module-quick workbench-libs-freetype-module-kobj workbench-libs-freetype-module-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-freetype-module workbench-libs-freetype-module-quick workbench-libs-freetype-module-kobj workbench-libs-freetype-module-kobj-quick),) + -include $(workbench-libs-freetype-module_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-freetype-module_DEPS) + endif + endif +endif + +$(workbench-libs-freetype-module_OBJS) $(workbench-libs-freetype-module_DEPS) : | $(workbench-libs-freetype-module_OBJDIR)/linklib + +ifneq ($(workbench-libs-freetype-module_OBJS) $(workbench-libs-freetype-module_DEPS) $(workbench-libs-freetype-module_MODULE) $(workbench-libs-freetype-module_KOBJ),) +$(workbench-libs-freetype-module_OBJS) $(workbench-libs-freetype-module_DEPS) $(workbench-libs-freetype-module_MODULE) $(workbench-libs-freetype-module_KOBJ) : | $(workbench-libs-freetype-module_OBJDIR) $(AROSDIR)/$(workbench-libs-freetype-module_MODDIR) $(KOBJSDIR) +else +$(workbench-libs-freetype-module_OBJS) $(workbench-libs-freetype-module_DEPS) $(workbench-libs-freetype-module_MODULE) $(workbench-libs-freetype-module_KOBJ) :: $(workbench-libs-freetype-module_OBJDIR) $(AROSDIR)/$(workbench-libs-freetype-module_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-freetype-module_OBJDIR) $(AROSDIR)/$(workbench-libs-freetype-module_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-libs-freetype-module workbench-libs-freetype-module-includes workbench-libs-freetype-module-quick workbench-libs-freetype-module-kobj workbench-libs-freetype-module-kobj-quick),) # Only for this target these deps are wanted + +workbench-libs-freetype-module_DFILE_DEPS := $(workbench-libs-freetype-module_LIBDEFSINC) $(workbench-libs-freetype-module_DEFLIBDEFSINC) \ + $(addprefix $(workbench-libs-freetype-module_INCDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) +$(workbench-libs-freetype-module_DEPS) : $(workbench-libs-freetype-module_DFILE_DEPS) +endif + +workbench-libs-freetype-module_TOCLEAN := $(workbench-libs-freetype-module_OBJS) $(workbench-libs-freetype-module_DEPS) \ + $(workbench-libs-freetype-module_MODULE) $(workbench-libs-freetype-module_LINKLIB) $(workbench-libs-freetype-module_KOBJ) \ + $(workbench-libs-freetype-module_OBJDIR)/Makefile.freetype2library \ + $(addprefix $(workbench-libs-freetype-module_OBJDIR)/include/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-freetype-module_INCDIR)/,$($(workbench-libs-freetype-module_DEFNAME)_INCLUDES)) \ + $(workbench-libs-freetype-module_OBJDIR)/freetype2_geninc $(workbench-libs-freetype-module_OBJDIR)/freetype2_incs \ + $(addsuffix .c,$(workbench-libs-freetype-module_LINKLIBFILES)) $(workbench-libs-freetype-module_LINKLIBOBJS) $(workbench-libs-freetype-module_LIBDEFSINC) \ + $(workbench-libs-freetype-module_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-libs-freetype-module_STARTFILES) $(workbench-libs-freetype-module_ENDFILES)) \ + $(workbench-libs-freetype-module_ENDOBJS) +workbench-libs-freetype-module-clean : FILES := $(workbench-libs-freetype-module_TOCLEAN) +workbench-libs-freetype-module-clean :: + $(Q)$(ECHO) "Cleaning up for module freetype2" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-libs-freetype-module_ALLTARGETS) + + +# +# Rules for generated files and Includes... +# + +#MM +workbench-libs-freetype-pkgconfig : $(AROS_LIB)/pkgconfig/freetype2.pc + +$(AROS_LIB)/pkgconfig/freetype2.pc : $(FT2SRCDIR)/builds/unix/freetype2.in + $(Q)$(IF) $(TEST) ! -d $(AROS_LIB)/pkgconfig ; then $(MKDIR) $(AROS_LIB)/pkgconfig ; else $(NOP) ; fi + @$(SED) -e 's|%FT2_EXTRA_LIBS%||' \ + -e 's|%LIBBZ2%||' \ + -e 's|%LIBZ%|-L $(AROS_LIB) -lz|' \ + -e 's|%exec_prefix%|$${prefix}|' \ + -e 's|%ft_version%|2.5.0|' \ + -e 's|%includedir%|$${prefix}/include|' \ + -e 's|%libdir%|$(AROS_LIB)|' \ + -e 's|%prefix%|/Developer|' \ + $< >$@ + +FT2_INCLUDE_FILES := $(notdir $(call WILDCARD, $(FT2SRCDIR)/include/*.h)) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq ($(FT2SRCDIR)/include,) +TMP_DIR := $(FT2SRCDIR)/include +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst $(FT2SRCDIR)/include,$(GENINCDIR)/.,$(dir $(FT2_INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(FT2_INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := $(FT2SRCDIR)/include/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/$(FT2SRCDIR)/include/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(FT2_INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq ($(FT2SRCDIR)/include,) +BD_INCL_FILES2 := $(subst $(FT2SRCDIR)/include,$(AROS_INCLUDES)/.,$(dir $(FT2_INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(FT2_INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(FT2_INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +FT2I_INCLUDE_FILES := $(notdir $(call WILDCARD, $(FT2SRCDIR)/include/freetype/*.h)) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq ($(FT2SRCDIR)/include/freetype,) +TMP_DIR := $(FT2SRCDIR)/include/freetype +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst $(FT2SRCDIR)/include/freetype,$(GENINCDIR)/freetype,$(dir $(FT2I_INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/freetype/,$(notdir $(FT2I_INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := $(FT2SRCDIR)/include/freetype/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/$(FT2SRCDIR)/include/freetype/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/freetype/,$(FT2I_INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/freetype/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq ($(FT2SRCDIR)/include/freetype,) +BD_INCL_FILES2 := $(subst $(FT2SRCDIR)/include/freetype,$(AROS_INCLUDES)/freetype,$(dir $(FT2I_INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/freetype/,$(notdir $(FT2I_INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/freetype/,$(FT2I_INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/freetype/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +#MM- includes-copy : freetype2-fetch workbench-libs-freetype-genincludes + +FT2OPTIONFILE := ftoption.h +FT2CONFIG_INCLUDE_FILES := $(filter-out $(FT2OPTIONFILE),$(notdir $(call WILDCARD, $(FT2SRCDIR)/include/freetype/config/*.h))) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq ($(FT2SRCDIR)/include/freetype/config,) +TMP_DIR := $(FT2SRCDIR)/include/freetype/config +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst $(FT2SRCDIR)/include/freetype/config,$(GENINCDIR)/freetype/config,$(dir $(FT2CONFIG_INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/freetype/config/,$(notdir $(FT2CONFIG_INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := $(FT2SRCDIR)/include/freetype/config/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/$(FT2SRCDIR)/include/freetype/config/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/freetype/config/,$(FT2CONFIG_INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/freetype/config/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq ($(FT2SRCDIR)/include/freetype/config,) +BD_INCL_FILES2 := $(subst $(FT2SRCDIR)/include/freetype/config,$(AROS_INCLUDES)/freetype/config,$(dir $(FT2CONFIG_INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/freetype/config/,$(notdir $(FT2CONFIG_INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/freetype/config/,$(FT2CONFIG_INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/freetype/config/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +$(AROS_INCLUDES)/freetype/config/$(FT2OPTIONFILE) : $(FT2SRCDIR)/include/freetype/config/$(FT2OPTIONFILE) + @$(ECHO) "Generating Freetype2 build options ..." + $(Q)$(IF) $(TEST) ! -d $(AROS_INCLUDES)/freetype/config ; then $(MKDIR) $(AROS_INCLUDES)/freetype/config ; else $(NOP) ; fi + @$(SED) "s|.*FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES.*|/*define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES*/\\n|g" $< > $@ + +#MM +workbench-libs-freetype-genincludes : freetype2-fetch $(AROS_INCLUDES)/freetype/config/$(FT2OPTIONFILE) + $(NOP) + +FT2INT_INCLUDE_FILES := $(notdir $(call WILDCARD, $(FT2SRCDIR)/include/freetype/internal/*.h)) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq ($(FT2SRCDIR)/include/freetype/internal,) +TMP_DIR := $(FT2SRCDIR)/include/freetype/internal +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst $(FT2SRCDIR)/include/freetype/internal,$(GENINCDIR)/freetype/internal,$(dir $(FT2INT_INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/freetype/internal/,$(notdir $(FT2INT_INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := $(FT2SRCDIR)/include/freetype/internal/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/$(FT2SRCDIR)/include/freetype/internal/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/freetype/internal/,$(FT2INT_INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/freetype/internal/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq ($(FT2SRCDIR)/include/freetype/internal,) +BD_INCL_FILES2 := $(subst $(FT2SRCDIR)/include/freetype/internal,$(AROS_INCLUDES)/freetype/internal,$(dir $(FT2INT_INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/freetype/internal/,$(notdir $(FT2INT_INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/freetype/internal/,$(FT2INT_INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/freetype/internal/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +FT2SVC_INCLUDE_FILES := $(notdir $(call WILDCARD, $(FT2SRCDIR)/include/freetype/internal/services/*.h)) + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq ($(FT2SRCDIR)/include/freetype/internal/services,) +TMP_DIR := $(FT2SRCDIR)/include/freetype/internal/services +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst $(FT2SRCDIR)/include/freetype/internal/services,$(GENINCDIR)/freetype/internal/services,$(dir $(FT2SVC_INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/freetype/internal/services/,$(notdir $(FT2SVC_INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := $(FT2SRCDIR)/include/freetype/internal/services/ +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/$(FT2SRCDIR)/include/freetype/internal/services/ +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/freetype/internal/services/,$(FT2SVC_INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/freetype/internal/services/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq ($(FT2SRCDIR)/include/freetype/internal/services,) +BD_INCL_FILES2 := $(subst $(FT2SRCDIR)/include/freetype/internal/services,$(AROS_INCLUDES)/freetype/internal/services,$(dir $(FT2SVC_INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/freetype/internal/services/,$(notdir $(FT2SVC_INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/freetype/internal/services/,$(FT2SVC_INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/freetype/internal/services/% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/jpeg/mmakefile b/workbench/libs/jpeg/mmakefile new file mode 100644 index 00000000000..73f9f554443 --- /dev/null +++ b/workbench/libs/jpeg/mmakefile @@ -0,0 +1,1734 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-libs-jpeg-includes : \ +#MM kernel-exec-includes \ +#MM kernel-dos-includes \ +#MM includes-copy + +FILES := jaricom jcapimin jcapistd jcarith jccoefct jccolor \ + jcdctmgr jchuff jcinit jcmainct jcmarker jcmaster \ + jcomapi jcparam jcprepct jcsample jctrans jdapimin \ + jdapistd jdarith jdatadst jdatasrc jdcoefct jdcolor \ + jddctmgr jdhuff jdinput jdmainct jdmarker jdmaster \ + jdmerge jdpostct jdsample jdtrans jerror jfdctflt \ + jfdctfst jfdctint jidctflt jidctfst jidctint jquant1 \ + jquant2 jutils jmemmgr jmemamiga + +# We trust upstream +NOWARN_FLAGS := -Wno-main +USER_CFLAGS := $(NOWARN_FLAGS) +USER_CPPFLAGS := -DNO_GETENV + +#MM- core-linklibs : linklibs-jpeg + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-libs-jpeg +#MM workbench-libs-jpeg-quick +#MM workbench-libs-jpeg-makefile +#MM workbench-libs-jpeg-clean + +# ABI targets: +#MM- includes-all : workbench-libs-jpeg-includes +#MM- linklibs-jfif: workbench-libs-jpeg-linklib +#MM- linklibs-jfif_rel : workbench-libs-jpeg-linklib +#MM- includes-jfif: workbench-libs-jpeg-includes +#MM- includes-jfif_rel : workbench-libs-jpeg-includes +#MM- workbench-libs-jpeg : workbench-libs-jpeg-includes core-linklibs linklibs- +#MM workbench-libs-jpeg-linklib : workbench-libs-jpeg-includes includes- +#MM- workbench-libs-jpeg-quick : workbench-libs-jpeg-includes-quick +#MM workbench-libs-jpeg-includes : workbench-libs-jpeg-makefile workbench-libs-jpeg-includes-dirs \ +#MM includes-generate-deps workbench-libs-jpeg-fd +#MM workbench-libs-jpeg-includes-quick +#MM workbench-libs-jpeg-includes-dirs +#MM workbench-libs-jpeg-fd + +# Library targets +#MM workbench-libs-jpeg-kobj : core-linklibs linklibs- +#MM workbench-libs-jpeg-kobj-quick : + +# Library with ABI targets: +#MM workbench-libs-jpeg-kobj : workbench-libs-jpeg-includes core-linklibs linklibs- +#MM workbench-libs-jpeg-kobj-quick : workbench-libs-jpeg-includes-quick + +# All MetaMake targets defined by this macro +workbench-libs-jpeg_ALLTARGETS := workbench-libs-jpeg workbench-libs-jpeg-quick workbench-libs-jpeg-clean + +ifeq (M,M) +workbench-libs-jpeg_ALLTARGETS += workbench-libs-jpeg-kobj workbench-libs-jpeg-kobj-quick +endif + +ifeq (M,M) +workbench-libs-jpeg_ALLTARGETS += workbench-libs-jpeg-includes \ + workbench-libs-jpeg-includes-quick workbench-libs-jpeg-includes-dirs \ + workbench-libs-jpeg-linklib workbench-libs-jpeg-fd +endif + +.PHONY : $(workbench-libs-jpeg_ALLTARGETS) workbench-libs-jpeg-makefile + +ifeq (jfif,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-libs-jpeg_DEFNAME := jfif_ +else + workbench-libs-jpeg_DEFNAME := jfif +endif +workbench-libs-jpeg_DEFLINKLIBNAME := $(workbench-libs-jpeg_DEFNAME) +ifneq (jpeg,) + workbench-libs-jpeg_LINKLIBNAME := jpeg +else + workbench-libs-jpeg_LINKLIBNAME = $(workbench-libs-jpeg_DEFLINKLIBNAME) +endif +workbench-libs-jpeg_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-jpeg_DEFCPPFLAGS += -I +endif +workbench-libs-jpeg_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-libs-jpeg_DFLAGS := +else + workbench-libs-jpeg_DFLAGS = $(workbench-libs-jpeg_DEFDFLAGS) +endif +workbench-libs-jpeg_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-libs-jpeg_DXXFLAGS := +else + workbench-libs-jpeg_DXXFLAGS = $(workbench-libs-jpeg_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-jpeg_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-jpeg_DEFDFLAGS)) +workbench-libs-jpeg_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-jpeg_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-jpeg_FUNCINSTR := yes +workbench-libs-jpeg_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-jpeg_DEFDFLAGS)) +workbench-libs-jpeg_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-jpeg_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-libs-jpeg_OBJDIR := +else +workbench-libs-jpeg_OBJDIR := $(OBJDIR)/$(workbench-libs-jpeg_DEFNAME) +endif +ifneq (,) +workbench-libs-jpeg_OBJDIR := $(workbench-libs-jpeg_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-libs-jpeg-makefile := $(workbench-libs-jpeg_OBJDIR)/Makefile.$(workbench-libs-jpeg_DEFNAME)library +workbench-libs-jpeg-genmakefile : $(workbench-libs-jpeg-makefile) + + +workbench-libs-jpeg-genmakefile_OPTS := +ifneq (,) + workbench-libs-jpeg-genmakefile_OPTS += -f + workbench-libs-jpeg-genmakefile_MODNAME := jfif_ +else + workbench-libs-jpeg-genmakefile_MODNAME := jfif +endif +workbench-libs-jpeg-genmakefile_TARGET := Makefile.$(workbench-libs-jpeg-genmakefile_MODNAME)library +workbench-libs-jpeg-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-jpeg-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-jpeg-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-jpeg-genmakefile_OPTS += -c + workbench-libs-jpeg-genmakefile_DEPS += + endif +else + workbench-libs-jpeg-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/jfif.conf + workbench-libs-jpeg-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/jfif.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-jpeg-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-jpeg-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-jpeg-genmakefile_OPTS += -o + workbench-libs-jpeg-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-libs-jpeg-genmakefile_OPTS += -s +endif +ifneq ($(workbench-libs-jpeg_OBJDIR),) + workbench-libs-jpeg-genmakefile_OPTS += -d $(workbench-libs-jpeg_OBJDIR) + workbench-libs-jpeg-genmakefile_TARGET := $(workbench-libs-jpeg_OBJDIR)/$(workbench-libs-jpeg-genmakefile_TARGET) +endif + +$(workbench-libs-jpeg-genmakefile_TARGET) : OPTS := $(workbench-libs-jpeg-genmakefile_OPTS) +$(workbench-libs-jpeg-genmakefile_TARGET) : MODNAME := jfif +$(workbench-libs-jpeg-genmakefile_TARGET) : MODTYPE := library +$(workbench-libs-jpeg-genmakefile_TARGET) : $(workbench-libs-jpeg-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-libs-jpeg-makefile),) +$(workbench-libs-jpeg-makefile) : | $(workbench-libs-jpeg_OBJDIR) +else +$(workbench-libs-jpeg-makefile) :: $(workbench-libs-jpeg_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-jpeg_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-libs-jpeg_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-libs-jpeg-makefile) + +workbench-libs-jpeg_DEFMODDIR := $($(workbench-libs-jpeg_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-libs-jpeg_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-libs-jpeg_DEFMODDIR) +endif +ifneq (,) + workbench-libs-jpeg_MODDIR := +else + workbench-libs-jpeg_MODDIR := $(workbench-libs-jpeg_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-libs-jpeg_INCDIR := +else +workbench-libs-jpeg_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-libs-jpeg_LIBDEFSINC := $(workbench-libs-jpeg_OBJDIR)/include/$(workbench-libs-jpeg_DEFNAME)_libdefs.h +workbench-libs-jpeg_DEFLIBDEFSINC := $(workbench-libs-jpeg_OBJDIR)/include/$(workbench-libs-jpeg_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-libs-jpeg-includes-quick : workbench-libs-jpeg-includes +workbench-libs-jpeg-includes : $(addprefix $(GENINCDIR)/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-jpeg_INCDIR)/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) \ + $(workbench-libs-jpeg_LIBDEFSINC) $(workbench-libs-jpeg_DEFLIBDEFSINC) + +ifneq ($($(workbench-libs-jpeg_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-libs-jpeg-includes_MODNAME := jfif_ +else + workbench-libs-jpeg-includes_MODNAME := jfif +endif + +ifneq ($($(workbench-libs-jpeg-includes_MODNAME)_INCLUDES),) + +workbench-libs-jpeg-includes_TARGETS := $($(workbench-libs-jpeg-includes_MODNAME)_INCLUDES) + +workbench-libs-jpeg-includes_DEPS := $(GENMODULE) +workbench-libs-jpeg-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-jpeg-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-jpeg-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-jpeg-includes_OPTS += -c + workbench-libs-jpeg-includes_DEPS += + endif +else + workbench-libs-jpeg-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/jfif.conf + workbench-libs-jpeg-includes_DEPS += $(SRCDIR)/$(CURDIR)/jfif.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-jpeg-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-jpeg-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-jpeg-includes_OPTS += -o + workbench-libs-jpeg-includes_DEPS += + endif +endif +ifneq (,) + workbench-libs-jpeg-includes_OPTS += -s +endif +ifneq ($(workbench-libs-jpeg_OBJDIR)/include,) + workbench-libs-jpeg-includes_OPTS += -d $(workbench-libs-jpeg_OBJDIR)/include + workbench-libs-jpeg-includes_TARGETS := $(addprefix $(workbench-libs-jpeg_OBJDIR)/include/,$(workbench-libs-jpeg-includes_TARGETS)) + workbench-libs-jpeg-includes_GENINCFLAG=$(workbench-libs-jpeg_OBJDIR)/include/.jfif.library-includes +else + workbench-libs-jpeg-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.jfif.library-includes +endif + +$(workbench-libs-jpeg-includes_TARGETS) : $(workbench-libs-jpeg-includes_DEPS) $(workbench-libs-jpeg-includes_GENINCFLAG) + +$(workbench-libs-jpeg-includes_GENINCFLAG) : OPTS := $(workbench-libs-jpeg-includes_OPTS) +$(workbench-libs-jpeg-includes_GENINCFLAG) : MODNAME := jfif +$(workbench-libs-jpeg-includes_GENINCFLAG) : MODTYPE := library +$(workbench-libs-jpeg-includes_GENINCFLAG) : $(workbench-libs-jpeg-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-libs-jpeg_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) : | $(workbench-libs-jpeg_OBJDIR)/jfif_geninc + +$(workbench-libs-jpeg_OBJDIR)/jfif_geninc : COPYSRCDIR := $(workbench-libs-jpeg_OBJDIR)/include +$(workbench-libs-jpeg_OBJDIR)/jfif_geninc : TGTDIR := $(GENINCDIR) +$(workbench-libs-jpeg_OBJDIR)/jfif_geninc : FILES := $($(workbench-libs-jpeg_DEFNAME)_INCLUDES) +$(workbench-libs-jpeg_OBJDIR)/jfif_geninc : $(addprefix $(workbench-libs-jpeg_OBJDIR)/include/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-libs-jpeg_OBJDIR)/include + +$(addprefix $(workbench-libs-jpeg_INCDIR)/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) : | $(workbench-libs-jpeg_OBJDIR)/jfif_incs + +$(workbench-libs-jpeg_OBJDIR)/jfif_incs : COPYSRCDIR := $(workbench-libs-jpeg_OBJDIR)/include +$(workbench-libs-jpeg_OBJDIR)/jfif_incs : TGTDIR := $(workbench-libs-jpeg_INCDIR) +$(workbench-libs-jpeg_OBJDIR)/jfif_incs : FILES := $($(workbench-libs-jpeg_DEFNAME)_INCLUDES) +$(workbench-libs-jpeg_OBJDIR)/jfif_incs : $(addprefix $(workbench-libs-jpeg_OBJDIR)/include/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-libs-jpeg_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-libs-jpeg_DEFNAME)_INCLUDES)))) + +TMPjfif_INCDIRS := \ + $(workbench-libs-jpeg_OBJDIR)/include $(addprefix $(workbench-libs-jpeg_OBJDIR)/include/,$(workbench-libs-jpeg_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-libs-jpeg_INCDIRS)) \ + $(workbench-libs-jpeg_INCDIR) $(addprefix $(workbench-libs-jpeg_INCDIR)/,$(workbench-libs-jpeg_INCDIRS)) + +ifneq (workbench-libs-jpeg-includes-dirs,) +workbench-libs-jpeg-includes-dirs : | $(TMPjfif_INCDIRS) +else +workbench-libs-jpeg-includes-dirs :: $(TMPjfif_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPjfif_INCDIRS) + + +endif + +endif + + +workbench-libs-jpeg-genlibdefs_OPTS := +ifneq (,) + workbench-libs-jpeg-genlibdefs_OPTS += -f + workbench-libs-jpeg-genlibdefs_MODNAME := jfif_ +else + workbench-libs-jpeg-genlibdefs_MODNAME := jfif +endif +workbench-libs-jpeg-genlibdefs_TARGET := $(workbench-libs-jpeg-genlibdefs_MODNAME)_libdefs.h +workbench-libs-jpeg-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-jpeg-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-jpeg-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-jpeg-genlibdefs_OPTS += -c + workbench-libs-jpeg-genlibdefs_DEPS += + endif +else + workbench-libs-jpeg-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/jfif.conf + workbench-libs-jpeg-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/jfif.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-jpeg-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-jpeg-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-jpeg-genlibdefs_OPTS += -o + workbench-libs-jpeg-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-libs-jpeg-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-libs-jpeg_OBJDIR)/include,) + workbench-libs-jpeg-genlibdefs_OPTS += -d $(workbench-libs-jpeg_OBJDIR)/include + workbench-libs-jpeg-genlibdefs_TARGET := $(workbench-libs-jpeg_OBJDIR)/include/$(workbench-libs-jpeg-genlibdefs_TARGET) +endif +ifneq (,) + workbench-libs-jpeg-genlibdefs_OPTS += -v +endif + +$(workbench-libs-jpeg-genlibdefs_TARGET) : OPTS := $(workbench-libs-jpeg-genlibdefs_OPTS) +$(workbench-libs-jpeg-genlibdefs_TARGET) : MODNAME := jfif +$(workbench-libs-jpeg-genlibdefs_TARGET) : MODTYPE := library +$(workbench-libs-jpeg-genlibdefs_TARGET) : $(workbench-libs-jpeg-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-libs-jpeg_DEFLIBDEFSINC) : FILENAME := $(workbench-libs-jpeg_LIBDEFSINC) +$(workbench-libs-jpeg_DEFLIBDEFSINC) : $(workbench-libs-jpeg_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-libs-jpeg_LIBDEFSINC) $(workbench-libs-jpeg_DEFLIBDEFSINC) : | $(workbench-libs-jpeg_OBJDIR)/include + +ifneq (workbench-libs-jpeg-includes-dirs,) +workbench-libs-jpeg-includes-dirs : | $(workbench-libs-jpeg_OBJDIR)/include +else +workbench-libs-jpeg-includes-dirs :: $(workbench-libs-jpeg_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-libs-jpeg_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-libs-jpeg-genmodfiles_OPTS := +ifneq (,) + workbench-libs-jpeg-genmodfiles_OPTS += -f + workbench-libs-jpeg-genmodfiles_MODNAME := jfif_ +else + workbench-libs-jpeg-genmodfiles_MODNAME := jfif +endif +workbench-libs-jpeg-genmodfiles_GENTARGETS := $($(workbench-libs-jpeg-genmodfiles_MODNAME)_STARTFILES) $($(workbench-libs-jpeg-genmodfiles_MODNAME)_ENDFILES) +workbench-libs-jpeg-genmodfiles_STUBTARGETS := $($(workbench-libs-jpeg-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-libs-jpeg-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-libs-jpeg-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-libs-jpeg-genmodfiles_GENTARGETS)) +workbench-libs-jpeg-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-libs-jpeg-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-libs-jpeg-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-libs-jpeg-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-libs-jpeg-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-jpeg-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-jpeg-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-jpeg-genmodfiles_OPTS += -c + workbench-libs-jpeg-genmodfiles_DEPS += + endif +else + workbench-libs-jpeg-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/jfif.conf + workbench-libs-jpeg-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/jfif.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-jpeg-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-jpeg-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-jpeg-genmodfiles_OPTS += -o + workbench-libs-jpeg-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-libs-jpeg-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-libs-jpeg_OBJDIR),) + workbench-libs-jpeg-genmodfiles_OPTS += -d $(workbench-libs-jpeg_OBJDIR) + workbench-libs-jpeg-genmodfiles_TARGETDIR := $(shell echo $(workbench-libs-jpeg_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-jpeg-genmodfiles_GENTARGETS := $(addprefix $(workbench-libs-jpeg-genmodfiles_TARGETDIR)/,$(workbench-libs-jpeg-genmodfiles_GENTARGETS)) + workbench-libs-jpeg-genmodfiles_GENFILEFLAG=$(workbench-libs-jpeg-genmodfiles_TARGETDIR)/.jfif.library-genfiles +else + workbench-libs-jpeg-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.jfif.library-genfiles +endif +ifneq ($(workbench-libs-jpeg_OBJDIR)/linklib,) + workbench-libs-jpeg-genmodfiles_OPTS += -l $(workbench-libs-jpeg_OBJDIR)/linklib + workbench-libs-jpeg-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-libs-jpeg_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-libs-jpeg-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-jpeg-genmodfiles_STUBTARGETDIR)/,$(workbench-libs-jpeg-genmodfiles_STUBTARGETS)) + workbench-libs-jpeg-genmodfiles_TARGETDIRS += $(workbench-libs-jpeg_OBJDIR)/linklib +else +ifneq ($(workbench-libs-jpeg_OBJDIR),) + workbench-libs-jpeg-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-jpeg-genmodfiles_TARGETDIR)/,$(workbench-libs-jpeg-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-libs-jpeg-genmodfiles_TARGETS := $(workbench-libs-jpeg-genmodfiles_GENTARGETS) $(workbench-libs-jpeg-genmodfiles_STUBTARGETS) +ifneq ($(workbench-libs-jpeg-genmodfiles_TARGETDIRS),) +$(workbench-libs-jpeg-genmodfiles_TARGETS) : | $(workbench-libs-jpeg-genmodfiles_TARGETDIRS) +endif + +$(workbench-libs-jpeg-genmodfiles_TARGETS) : $(workbench-libs-jpeg-genmodfiles_DEPS) $(workbench-libs-jpeg-genmodfiles_GENFILEFLAG) + +$(workbench-libs-jpeg-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-libs-jpeg-genmodfiles_OPTS) +$(workbench-libs-jpeg-genmodfiles_GENFILEFLAG) : MODNAME := jfif +$(workbench-libs-jpeg-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-libs-jpeg-genmodfiles_GENFILEFLAG) : $(workbench-libs-jpeg-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-libs-jpeg-genmodfiles_GENFILEFLAG) : $(workbench-libs-jpeg_DEFLIBDEFSINC) $(workbench-libs-jpeg-makefile) + + +ifneq ($(workbench-libs-jpeg-genmodfiles_GENFILEFLAG),) +$(workbench-libs-jpeg-genmodfiles_GENFILEFLAG) : | $(workbench-libs-jpeg_OBJDIR)/linklib +else +$(workbench-libs-jpeg-genmodfiles_GENFILEFLAG) :: $(workbench-libs-jpeg_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-libs-jpeg_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-libs-jpeg_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-libs-jpeg_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-libs-jpeg-fd : $(workbench-libs-jpeg_FDDIR)/jfif_lib.fd + + +TMP_TARGET := jfif_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/jfif.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/jfif.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-libs-jpeg_FDDIR),) + TMP_OPTS += -d $(workbench-libs-jpeg_FDDIR) + TMP_TARGET := $(workbench-libs-jpeg_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := jfif +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-libs-jpeg_FDDIR)/jfif_lib.fd : | $(workbench-libs-jpeg_FDDIR) + + +ifneq (workbench-libs-jpeg-fd-setup,) +workbench-libs-jpeg-fd-setup : | $(workbench-libs-jpeg_FDDIR) +else +workbench-libs-jpeg-fd-setup :: $(workbench-libs-jpeg_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-jpeg_FDDIR) + +endif + +## Compilation +## +workbench-libs-jpeg_FILES := $(FILES) +workbench-libs-jpeg_OBJCFILES := +workbench-libs-jpeg_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-libs-jpeg_LIBFILES := +workbench-libs-jpeg_LIBS := + +workbench-libs-jpeg_FDIRS := $(sort $(dir $(workbench-libs-jpeg_FILES))) + +workbench-libs-jpeg_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-libs-jpeg_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-libs-jpeg_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-libs-jpeg_FILTERARCH = $(filter-out $(call workbench-libs-jpeg_MATCHARCH,$(1),$(2)),$(2)) +workbench-libs-jpeg_STARTFILES := $(addprefix $(workbench-libs-jpeg_OBJDIR)/,$($(workbench-libs-jpeg_DEFNAME)_STARTFILES)) +workbench-libs-jpeg_ENDFILES := $(addprefix $(workbench-libs-jpeg_OBJDIR)/,$($(workbench-libs-jpeg_DEFNAME)_ENDFILES)) + +workbench-libs-jpeg_ARCHOBJS := $(wildcard $(workbench-libs-jpeg_OBJDIR)/arch/*.o) +workbench-libs-jpeg_LIBARCHOBJS := $(wildcard $(workbench-libs-jpeg_OBJDIR)/linklib/arch/*.o) +workbench-libs-jpeg_ARCHFILES := $(basename $(notdir $(workbench-libs-jpeg_ARCHOBJS))) +workbench-libs-jpeg_LIBARCHFILES := $(basename $(notdir $(workbench-libs-jpeg_LIBARCHOBJS))) +workbench-libs-jpeg_C_NARCHFILES := $(call workbench-libs-jpeg_FILTERARCH,$(workbench-libs-jpeg_ARCHFILES),$(workbench-libs-jpeg_FILES)) +workbench-libs-jpeg_CXX_NARCHFILES := $(call workbench-libs-jpeg_FILTERARCH,$(workbench-libs-jpeg_ARCHFILES),$(workbench-libs-jpeg_CXXFILES)) +workbench-libs-jpeg_OBJC_NARCHFILES := $(call workbench-libs-jpeg_FILTERARCH,$(workbench-libs-jpeg_ARCHFILES),$(workbench-libs-jpeg_OBJCFILES)) +workbench-libs-jpeg_NLIBARCHFILES := $(call workbench-libs-jpeg_FILTERARCH,$(workbench-libs-jpeg_LIBARCHFILES),$(workbench-libs-jpeg_LIBFILES)) +workbench-libs-jpeg_ARCHNLIBFILES := $(call workbench-libs-jpeg_FILTERARCH,$(workbench-libs-jpeg_LIBFILES),$(workbench-libs-jpeg_LIBARCHFILES)) + +workbench-libs-jpeg_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-libs-jpeg_OBJDIR)/include -include $(workbench-libs-jpeg_DEFLIBDEFSINC)) +ifneq (,) +workbench-libs-jpeg_CPPFLAGS += -I +endif +workbench-libs-jpeg_LINKLIBCPPFLAGS := $(workbench-libs-jpeg_CPPFLAGS) +workbench-libs-jpeg_CPPFLAGS += $(strip $($(workbench-libs-jpeg_DEFNAME)_CPPFLAGS)) +workbench-libs-jpeg_LINKLIBCPPFLAGS += $(strip $($(workbench-libs-jpeg_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-libs-jpeg_CFLAGS := $(strip $(CFLAGS) $($(workbench-libs-jpeg_DEFNAME)_CFLAGS)) +workbench-libs-jpeg_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-libs-jpeg_DEFNAME)_LINKLIBCFLAGS)) +workbench-libs-jpeg_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-libs-jpeg_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-jpeg_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-libs-jpeg_CFLAGS := $(strip $(workbench-libs-jpeg_LTOFLAGS) $(workbench-libs-jpeg_CFLAGS)) +workbench-libs-jpeg_LINKLIBCFLAGS := $(strip $(workbench-libs-jpeg_LTOFLAGS) $(workbench-libs-jpeg_LINKLIBCFLAGS)) +workbench-libs-jpeg_CXXFLAGS := $(strip $(workbench-libs-jpeg_LTOFLAGS) $(workbench-libs-jpeg_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-jpeg_SUBSTNULL := +workbench-libs-jpeg_SUBSTSPACE := $(workbench-libs-jpeg_SUBSTNULL) # +workbench-libs-jpeg_SUBSTCOMMA := , +workbench-libs-jpeg_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-libs-jpeg_SUBSTSPACE),$(workbench-libs-jpeg_SUBSTCOMMA),$(strip $($(workbench-libs-jpeg_DEFNAME)_STARTFILES)))) +workbench-libs-jpeg_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-libs-jpeg_CFLAGS := $(strip $(workbench-libs-jpeg_INSTRFUNCFLAGS) $(workbench-libs-jpeg_CFLAGS)) +workbench-libs-jpeg_CXXFLAGS := $(strip $(workbench-libs-jpeg_INSTRFUNCFLAGS) $(workbench-libs-jpeg_CXXFLAGS)) +workbench-libs-jpeg_LIBS += $(workbench-libs-jpeg_INSTRFUNCLIBS) +endif +endif +workbench-libs-jpeg_DFLAGS := $(strip $(workbench-libs-jpeg_DFLAGS) $($(workbench-libs-jpeg_DEFNAME)_DFLAGS)) +workbench-libs-jpeg_LINKLIBDFLAGS := $(strip $(workbench-libs-jpeg_DFLAGS) $($(workbench-libs-jpeg_DEFNAME)_LINKLIBDFLAGS)) +workbench-libs-jpeg_DXXFLAGS := $(strip $(workbench-libs-jpeg_DXXFLAGS) $($(workbench-libs-jpeg_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-libs-jpeg_LIBSUFFIX := +else + workbench-libs-jpeg_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-libs-jpeg_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-libs-jpeg_LIBDIR := +endif + +ifeq (M,M) +workbench-libs-jpeg_LINKLIBCFILES := $(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$($(workbench-libs-jpeg_DEFNAME)_LINKLIBFILES)) +workbench-libs-jpeg_LINKLIBAFILES := $(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$($(workbench-libs-jpeg_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-jpeg_DEFNAME)_LINKLIBFILES) $($(workbench-libs-jpeg_DEFNAME)_LINKLIBAFILES) $(workbench-libs-jpeg_ARCHNLIBFILES)),) + workbench-libs-jpeg_LINKLIB := +else + workbench-libs-jpeg_LINKLIB := $(workbench-libs-jpeg_LIBDIR)/libjfif$(workbench-libs-jpeg_LIBSUFFIX).a + ifneq (jfif,$(workbench-libs-jpeg_LINKLIBNAME)) + workbench-libs-jpeg_LINKLIB += $(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)$(workbench-libs-jpeg_LIBSUFFIX).a + endif +endif +workbench-libs-jpeg_LINKLIBFILES := $(workbench-libs-jpeg_LINKLIBCFILES) $(workbench-libs-jpeg_LINKLIBAFILES) + +workbench-libs-jpeg_RELLINKLIBCFILES := $(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$($(workbench-libs-jpeg_DEFNAME)_RELLINKLIBFILES)) +workbench-libs-jpeg_RELLINKLIBAFILES := $(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$($(workbench-libs-jpeg_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-jpeg_DEFNAME)_RELLINKLIBFILES) $($(workbench-libs-jpeg_DEFNAME)_RELLINKLIBAFILES) $(workbench-libs-jpeg_ARCHNLIBFILES)),) + workbench-libs-jpeg_RELLINKLIB := +else + workbench-libs-jpeg_RELLINKLIB := $(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_DEFNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a + ifneq (jfif,$(workbench-libs-jpeg_LINKLIBNAME)) + workbench-libs-jpeg_RELLINKLIB += $(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a + endif +endif +workbench-libs-jpeg_RELLINKLIBFILES := $(workbench-libs-jpeg_RELLINKLIBCFILES) $(workbench-libs-jpeg_RELLINKLIBAFILES) +endif + +workbench-libs-jpeg_ENDOBJS := $(addsuffix .o,$(workbench-libs-jpeg_ENDFILES)) +workbench-libs-jpeg_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(notdir $(workbench-libs-jpeg_NLIBARCHFILES))) $(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-jpeg_ARCHNLIBFILES))) $(workbench-libs-jpeg_LINKLIBFILES)) \ + +workbench-libs-jpeg_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(notdir $(workbench-libs-jpeg_NLIBARCHFILES))) $(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-jpeg_ARCHNLIBFILES))) $(workbench-libs-jpeg_RELLINKLIBFILES)) \ + +$(workbench-libs-jpeg_LINKLIBFILES) $(workbench-libs-jpeg_RELLINKLIBFILES) : | $(workbench-libs-jpeg_OBJDIR)/linklib +$(workbench-libs-jpeg_LINKLIBOBJS) $(workbench-libs-jpeg_RELLINKLIBOBJS) : | $(workbench-libs-jpeg_OBJDIR)/linklib + +workbench-libs-jpeg_CCFILES := $(workbench-libs-jpeg_C_NARCHFILES) +workbench-libs-jpeg_TARGETCCFILES := $(strip $(workbench-libs-jpeg_STARTFILES) $(workbench-libs-jpeg_ENDFILES)) +workbench-libs-jpeg_LINKLIBCCFILES := $(strip $(workbench-libs-jpeg_NLIBARCHFILES) $(workbench-libs-jpeg_LINKLIBCFILES) $(workbench-libs-jpeg_RELLINKLIBCFILES)) +workbench-libs-jpeg_LINKLIBCCGENFILES := $(strip $(workbench-libs-jpeg_LINKLIBCFILES) $(workbench-libs-jpeg_RELLINKLIBCFILES)) + + +workbench-libs-jpeg_CXXABSBASENAMES := $(foreach workbench-libs-jpeg_CXXBASE,$(workbench-libs-jpeg_CXX_NARCHFILES),$(if $(filter /%,$(workbench-libs-jpeg_CXXBASE)),$(workbench-libs-jpeg_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-libs-jpeg_CXXBASE)))) + +ifneq ($(workbench-libs-jpeg_CXXABSBASENAMES),) + +workbench-libs-jpeg_CXXBASENAMES := $(basename $(workbench-libs-jpeg_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-libs-jpeg_MCXX_FILES := $(strip $(foreach workbench-libs-jpeg_CXXBASE,$(workbench-libs-jpeg_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-libs-jpeg_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-libs-jpeg_EXT),$(workbench-libs-jpeg_CXXBASE))))))) + +ifeq (,) +workbench-libs-jpeg_MCXX_SRCWILDCARD := % +else +workbench-libs-jpeg_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-jpeg_OBJDIR),) + workbench-libs-jpeg_CXXTARGETS := $(notdir $(workbench-libs-jpeg_CXXBASENAMES:=.o)) + workbench-libs-jpeg_CXXDTARGETS := $(notdir $(workbench-libs-jpeg_CXXBASENAMES:=.d)) + workbench-libs-jpeg_MCXX_WILDCARD := % +else + workbench-libs-jpeg_CXXTARGETS := $(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(workbench-libs-jpeg_CXXBASENAMES:=.o))) + workbench-libs-jpeg_CXXDTARGETS := $(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(workbench-libs-jpeg_CXXBASENAMES:=.d))) + workbench-libs-jpeg_MCXX_WILDCARD := $(workbench-libs-jpeg_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-libs-jpeg_CXXTARGETS) $(workbench-libs-jpeg_CXXDTARGETS) : | $(workbench-libs-jpeg_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-libs-jpeg_MCXX_CPPFLAGS := $(workbench-libs-jpeg_CPPFLAGS) +workbench-libs-jpeg_CXXFLAGS := $(workbench-libs-jpeg_CXXFLAGS) +ifeq ($(workbench-libs-jpeg_DXXFLAGS),) + workbench-libs-jpeg_DXXFLAGS := $(workbench-libs-jpeg_CXXFLAGS) +else + workbench-libs-jpeg_DXXFLAGS := $(workbench-libs-jpeg_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-libs-jpeg_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-libs-jpeg_STRIP ?= $(HOST_STRIP) + workbench-libs-jpeg_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-libs-jpeg_CXXCMD:=$(HOST_CXX) + workbench-libs-jpeg_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-libs-jpeg_MCXX_CPPFLAGS) $(workbench-libs-jpeg_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-jpeg_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-jpeg_CXXFLAGS)) + workbench-libs-jpeg_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-jpeg_DXXFLAGS)) + workbench-libs-jpeg_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-libs-jpeg_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-libs-jpeg_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-jpeg_STRIP ?= $(TARGET_STRIP) + workbench-libs-jpeg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-libs-jpeg_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-libs-jpeg_MCXX_CPPFLAGS := $(strip $(workbench-libs-jpeg_MCXX_CPPFLAGS) $(workbench-libs-jpeg_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-jpeg_CXXFLAGS := $(strip $(workbench-libs-jpeg_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-libs-jpeg_DXXFLAGS := $(workbench-libs-jpeg_DXXFLAGS) + workbench-libs-jpeg_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-libs-jpeg_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-libs-jpeg_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-jpeg_STRIP ?= $(ECHO) >/dev/null + workbench-libs-jpeg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-libs-jpeg_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-libs-jpeg_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-libs-jpeg_MCXX_CPPFLAGS) $(workbench-libs-jpeg_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-jpeg_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-jpeg_CXXFLAGS)) + workbench-libs-jpeg_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-jpeg_DXXFLAGS)) + workbench-libs-jpeg_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-libs-jpeg_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-libs-jpeg_CXXCMD) $(workbench-libs-jpeg_CXXIQUOTE) $(dir $(2)) $(workbench-libs-jpeg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_CXXIQUOTE) . $(workbench-libs-jpeg_CXXIQUOTE_END) $(strip $(workbench-libs-jpeg_CXXFLAGS) $(workbench-libs-jpeg_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-libs-jpeg_CXXCMD) $(workbench-libs-jpeg_CXXIQUOTE) $(dir $(2)) $(workbench-libs-jpeg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_CXXIQUOTE) . $(workbench-libs-jpeg_CXXIQUOTE_END) $(strip $(workbench-libs-jpeg_CXXFLAGS) $(workbench-libs-jpeg_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-libs-jpeg_CXXCMD) $(workbench-libs-jpeg_CXXIQUOTE) $(dir $(2)) $(workbench-libs-jpeg_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_CXXIQUOTE) . $(workbench-libs-jpeg_CXXIQUOTE_END) $(strip $(workbench-libs-jpeg_CXXFLAGS) $(workbench-libs-jpeg_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-libs-jpeg_CXXCMD)" $(MKDEPEND) $(strip $(workbench-libs-jpeg_DXXFLAGS) $(workbench-libs-jpeg_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-libs-jpeg_OBJDIR),) + $(foreach workbench-libs-jpeg_CXXFILE,$(workbench-libs-jpeg_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-libs-jpeg_CXXFILE))),$(workbench-libs-jpeg_CXXFILE)))) +else + $(foreach workbench-libs-jpeg_CXXFILE,$(workbench-libs-jpeg_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(basename $(workbench-libs-jpeg_CXXFILE)))),$(workbench-libs-jpeg_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-libs-jpeg_OBJC_NARCHFILES),) + +ifeq (,) +workbench-libs-jpeg_MOBJC_SRCWILDCARD := % +else +workbench-libs-jpeg_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-jpeg_OBJDIR),) + workbench-libs-jpeg_MOBJC_TARGETS := $(addsuffix .o,$(workbench-libs-jpeg_OBJC_NARCHFILES)) + workbench-libs-jpeg_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-libs-jpeg_OBJC_NARCHFILES)) + workbench-libs-jpeg_MOBJC_WILDCARD := % +else + workbench-libs-jpeg_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(workbench-libs-jpeg_OBJC_NARCHFILES))) + workbench-libs-jpeg_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(workbench-libs-jpeg_OBJC_NARCHFILES))) + workbench-libs-jpeg_MOBJC_WILDCARD := $(workbench-libs-jpeg_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-libs-jpeg_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-libs-jpeg_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-jpeg_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-jpeg_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-libs-jpeg_MOBJC_DIRS := $(foreach dir, $(workbench-libs-jpeg_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-jpeg_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-libs-jpeg_MOBJC_DIRS),) + workbench-libs-jpeg_MOBJC_DIRS := $(shell echo $(workbench-libs-jpeg_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-libs-jpeg_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-libs-jpeg_CC := $(TARGET_CC) +else + workbench-libs-jpeg_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-libs-jpeg_MOBJC_CPPFLAGS := $(workbench-libs-jpeg_CPPFLAGS) +workbench-libs-jpeg_OBJCFLAGS := $(workbench-libs-jpeg_CFLAGS) +workbench-libs-jpeg_OBJCFLAGS := $(workbench-libs-jpeg_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-libs-jpeg_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-libs-jpeg_OBJCFLAGS))) +ifeq ($(workbench-libs-jpeg_DFLAGS),) + workbench-libs-jpeg_OBJCDFLAGS := $(workbench-libs-jpeg_CFLAGS) +else + workbench-libs-jpeg_OBJCDFLAGS := $(workbench-libs-jpeg_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-libs-jpeg_LINK ?= $(strip $(workbench-libs-jpeg_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-jpeg_STRIP ?= $(TARGET_STRIP) + workbench-libs-jpeg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-libs-jpeg_CC) $(TARGET_SYSROOT)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_MOBJC_CPPFLAGS:=$(strip $(workbench-libs-jpeg_MOBJC_CPPFLAGS) $(workbench-libs-jpeg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_OBJCFLAGS:=$(strip $(workbench-libs-jpeg_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_OBJCDFLAGS:=$(workbench-libs-jpeg_OBJCDFLAGS) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-libs-jpeg_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-libs-jpeg_STRIP ?= $(HOST_STRIP) + workbench-libs-jpeg_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-libs-jpeg_MOBJC_CPPFLAGS) $(workbench-libs-jpeg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_OBJCFLAGS)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_OBJCDFLAGS)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(HOST_IQUOTE) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-libs-jpeg_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-jpeg_STRIP ?= $(ECHO) >/dev/null + workbench-libs-jpeg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-libs-jpeg_MOBJC_CPPFLAGS) $(workbench-libs-jpeg_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_OBJCFLAGS)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_OBJCDFLAGS)) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-libs-jpeg_MOBJC_TARGETS) $(workbench-libs-jpeg_MOBJC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-jpeg_MOBJC_TARGETS) : CPPFLAGS := $(workbench-libs-jpeg_MOBJC_CPPFLAGS) +$(workbench-libs-jpeg_MOBJC_TARGETS) : CFLAGS := $(workbench-libs-jpeg_OBJCFLAGS) +$(workbench-libs-jpeg_MOBJC_TARGETS) : $(workbench-libs-jpeg_MOBJC_WILDCARD).o : $(workbench-libs-jpeg_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-jpeg_MOBJC_DTARGETS) : $(workbench-libs-jpeg_MOBJC_WILDCARD).d : $(workbench-libs-jpeg_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-jpeg_OBJCDFLAGS) $(workbench-libs-jpeg_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-libs-jpeg_MC_SRCWILDCARD := % +else +workbench-libs-jpeg_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-jpeg_OBJDIR),) +workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(workbench-libs-jpeg_CCFILES)) +workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-jpeg_CCFILES)) +workbench-libs-jpeg_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(workbench-libs-jpeg_CCFILES)))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(workbench-libs-jpeg_CCFILES)))) +else +ifeq (,) + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(workbench-libs-jpeg_CCFILES))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(workbench-libs-jpeg_CCFILES))) +else + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-jpeg_CCFILES)))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-jpeg_CCFILES)))) +endif +endif +workbench-libs-jpeg_MC_TGTWILDCARD := $(workbench-libs-jpeg_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-jpeg_CCFILES)) + +# Be sure that all .c files are found +workbench-libs-jpeg_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-jpeg_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-jpeg_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-jpeg_MC_DIRS := $(foreach dir, $(workbench-libs-jpeg_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-jpeg_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-jpeg_MC_DIRS),) + workbench-libs-jpeg_MC_DIRS := $(shell echo $(workbench-libs-jpeg_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-jpeg_MC_DIRS) +endif + +endif + +workbench-libs-jpeg_MC_CPPFLAGS := $(workbench-libs-jpeg_CPPFLAGS) +workbench-libs-jpeg_CFLAGS := $(workbench-libs-jpeg_CFLAGS) +ifeq ($(workbench-libs-jpeg_DFLAGS),) + workbench-libs-jpeg_DFLAGS := $(workbench-libs-jpeg_CFLAGS) +else + workbench-libs-jpeg_DFLAGS := $(workbench-libs-jpeg_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-jpeg_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(TARGET_STRIP) +workbench-libs-jpeg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(workbench-libs-jpeg_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(workbench-libs-jpeg_DFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-jpeg_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(HOST_STRIP) +workbench-libs-jpeg_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_DFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-jpeg_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(ECHO) >/dev/null +workbench-libs-jpeg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_DFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-jpeg_MC_TARGETS) : CPPFLAGS := $(workbench-libs-jpeg_MC_CPPFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) : CFLAGS := $(workbench-libs-jpeg_CFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) : $(workbench-libs-jpeg_MC_TGTWILDCARD).o : $(workbench-libs-jpeg_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-jpeg_MC_DTARGETS) : $(workbench-libs-jpeg_MC_TGTWILDCARD).d : $(workbench-libs-jpeg_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-jpeg_DFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-jpeg_MC_SRCWILDCARD := % +else +workbench-libs-jpeg_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-jpeg_OBJDIR),) +workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(workbench-libs-jpeg_TARGETCCFILES)) +workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-jpeg_TARGETCCFILES)) +workbench-libs-jpeg_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(workbench-libs-jpeg_TARGETCCFILES)))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(workbench-libs-jpeg_TARGETCCFILES)))) +else +ifeq (,) + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(workbench-libs-jpeg_TARGETCCFILES))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(workbench-libs-jpeg_TARGETCCFILES))) +else + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-jpeg_TARGETCCFILES)))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-jpeg_TARGETCCFILES)))) +endif +endif +workbench-libs-jpeg_MC_TGTWILDCARD := $(workbench-libs-jpeg_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-jpeg_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-libs-jpeg_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-jpeg_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-jpeg_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-jpeg_MC_DIRS := $(foreach dir, $(workbench-libs-jpeg_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-jpeg_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-jpeg_MC_DIRS),) + workbench-libs-jpeg_MC_DIRS := $(shell echo $(workbench-libs-jpeg_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-jpeg_MC_DIRS) +endif + +endif + +workbench-libs-jpeg_MC_CPPFLAGS := $(workbench-libs-jpeg_CPPFLAGS) -D__AROS__ +workbench-libs-jpeg_CFLAGS := $(workbench-libs-jpeg_CFLAGS) +ifeq ($(workbench-libs-jpeg_DFLAGS),) + workbench-libs-jpeg_DFLAGS := $(workbench-libs-jpeg_CFLAGS) +else + workbench-libs-jpeg_DFLAGS := $(workbench-libs-jpeg_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-jpeg_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(TARGET_STRIP) +workbench-libs-jpeg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(workbench-libs-jpeg_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(workbench-libs-jpeg_DFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-jpeg_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(HOST_STRIP) +workbench-libs-jpeg_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_DFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-jpeg_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(ECHO) >/dev/null +workbench-libs-jpeg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_DFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-jpeg_MC_TARGETS) : CPPFLAGS := $(workbench-libs-jpeg_MC_CPPFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) : CFLAGS := $(workbench-libs-jpeg_CFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) : $(workbench-libs-jpeg_MC_TGTWILDCARD).o : $(workbench-libs-jpeg_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-jpeg_MC_DTARGETS) : $(workbench-libs-jpeg_MC_TGTWILDCARD).d : $(workbench-libs-jpeg_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-jpeg_DFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-jpeg_MC_SRCWILDCARD := % +else +workbench-libs-jpeg_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-jpeg_OBJDIR)/linklib,) +workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(workbench-libs-jpeg_NLIBARCHFILES)) +workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-jpeg_NLIBARCHFILES)) +workbench-libs-jpeg_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(notdir $(workbench-libs-jpeg_NLIBARCHFILES)))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(notdir $(workbench-libs-jpeg_NLIBARCHFILES)))) +else +ifeq (,) + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(workbench-libs-jpeg_NLIBARCHFILES))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(workbench-libs-jpeg_NLIBARCHFILES))) +else + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-jpeg_NLIBARCHFILES)))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-jpeg_NLIBARCHFILES)))) +endif +endif +workbench-libs-jpeg_MC_TGTWILDCARD := $(workbench-libs-jpeg_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-jpeg_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-libs-jpeg_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-jpeg_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-jpeg_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-jpeg_MC_DIRS := $(foreach dir, $(workbench-libs-jpeg_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-jpeg_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-jpeg_MC_DIRS),) + workbench-libs-jpeg_MC_DIRS := $(shell echo $(workbench-libs-jpeg_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-jpeg_MC_DIRS) +endif + +endif + +workbench-libs-jpeg_MC_CPPFLAGS := $(workbench-libs-jpeg_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-jpeg_CFLAGS := $(workbench-libs-jpeg_LINKLIBCFLAGS) +ifeq ($(workbench-libs-jpeg_LINKLIBDFLAGS),) + workbench-libs-jpeg_DFLAGS := $(workbench-libs-jpeg_LINKLIBCFLAGS) +else + workbench-libs-jpeg_DFLAGS := $(workbench-libs-jpeg_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-jpeg_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(TARGET_STRIP) +workbench-libs-jpeg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(workbench-libs-jpeg_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(workbench-libs-jpeg_DFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-jpeg_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(HOST_STRIP) +workbench-libs-jpeg_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_DFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-jpeg_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(ECHO) >/dev/null +workbench-libs-jpeg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_DFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-jpeg_MC_TARGETS) : CPPFLAGS := $(workbench-libs-jpeg_MC_CPPFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) : CFLAGS := $(workbench-libs-jpeg_CFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) : $(workbench-libs-jpeg_MC_TGTWILDCARD).o : $(workbench-libs-jpeg_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-jpeg_MC_DTARGETS) : $(workbench-libs-jpeg_MC_TGTWILDCARD).d : $(workbench-libs-jpeg_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-jpeg_DFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-libs-jpeg_OBJDIR)/linklib,) +workbench-libs-jpeg_MC_SRCWILDCARD := % +else +workbench-libs-jpeg_MC_SRCWILDCARD := $(workbench-libs-jpeg_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-libs-jpeg_OBJDIR)/linklib,) +workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(workbench-libs-jpeg_LINKLIBCCGENFILES)) +workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-jpeg_LINKLIBCCGENFILES)) +workbench-libs-jpeg_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(notdir $(workbench-libs-jpeg_LINKLIBCCGENFILES)))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(notdir $(workbench-libs-jpeg_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-libs-jpeg_OBJDIR)/linklib,) + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(workbench-libs-jpeg_LINKLIBCCGENFILES))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(workbench-libs-jpeg_LINKLIBCCGENFILES))) +else + workbench-libs-jpeg_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(patsubst $(workbench-libs-jpeg_OBJDIR)/linklib/%,%,$(workbench-libs-jpeg_LINKLIBCCGENFILES)))) + workbench-libs-jpeg_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(patsubst $(workbench-libs-jpeg_OBJDIR)/linklib/%,%,$(workbench-libs-jpeg_LINKLIBCCGENFILES)))) +endif +endif +workbench-libs-jpeg_MC_TGTWILDCARD := $(workbench-libs-jpeg_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-jpeg_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-libs-jpeg_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-jpeg_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-jpeg_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-jpeg_MC_DIRS := $(foreach dir, $(workbench-libs-jpeg_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-jpeg_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-jpeg_MC_DIRS),) + workbench-libs-jpeg_MC_DIRS := $(shell echo $(workbench-libs-jpeg_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-jpeg_MC_DIRS) +endif + +endif + +workbench-libs-jpeg_MC_CPPFLAGS := $(workbench-libs-jpeg_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-jpeg_CFLAGS := $(workbench-libs-jpeg_LINKLIBCFLAGS) +ifeq ($(workbench-libs-jpeg_LINKLIBDFLAGS),) + workbench-libs-jpeg_DFLAGS := $(workbench-libs-jpeg_LINKLIBCFLAGS) +else + workbench-libs-jpeg_DFLAGS := $(workbench-libs-jpeg_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-jpeg_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(TARGET_STRIP) +workbench-libs-jpeg_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(workbench-libs-jpeg_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(workbench-libs-jpeg_DFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-jpeg_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(HOST_STRIP) +workbench-libs-jpeg_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-jpeg_DFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-jpeg_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-jpeg_STRIP ?= $(ECHO) >/dev/null +workbench-libs-jpeg_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS) $(workbench-libs-jpeg_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_CFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-jpeg_DFLAGS)) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-jpeg_MC_TARGETS) $(workbench-libs-jpeg_MC_DTARGETS) : workbench-libs-jpeg_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-jpeg_MC_TARGETS) : CPPFLAGS := $(workbench-libs-jpeg_MC_CPPFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) : CFLAGS := $(workbench-libs-jpeg_CFLAGS) +$(workbench-libs-jpeg_MC_TARGETS) : $(workbench-libs-jpeg_MC_TGTWILDCARD).o : $(workbench-libs-jpeg_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-jpeg_IQUOTE) $(dir $<) $(workbench-libs-jpeg_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-jpeg_IQUOTE) . $(workbench-libs-jpeg_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-jpeg_MC_DTARGETS) : $(workbench-libs-jpeg_MC_TGTWILDCARD).d : $(workbench-libs-jpeg_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-jpeg_DFLAGS) $(workbench-libs-jpeg_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-libs-jpeg_LINKLIBAFILES),) + +ifeq ($(workbench-libs-jpeg_OBJDIR)/linklib,) +workbench-libs-jpeg-MA_TARGETS := $(addsuffix .o,$(workbench-libs-jpeg_LINKLIBAFILES) $(workbench-libs-jpeg_RELLINKLIBAFILES)) +workbench-libs-jpeg-MA_WILDCARD := % +else +workbench-libs-jpeg-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(notdir $(workbench-libs-jpeg_LINKLIBAFILES) $(workbench-libs-jpeg_RELLINKLIBAFILES)))) +workbench-libs-jpeg-MA_WILDCARD := $(workbench-libs-jpeg_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-libs-jpeg-MA_TARGETS) : | $(addsuffix .S,$(workbench-libs-jpeg_LINKLIBAFILES) $(workbench-libs-jpeg_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-libs-jpeg-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-jpeg-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-jpeg_LINKLIBAFILES) $(workbench-libs-jpeg_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-jpeg-MA_DIRS := $(foreach dir, $(workbench-libs-jpeg-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-jpeg-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-jpeg-MA_DIRS),) + workbench-libs-jpeg-MA_DIRS := $(shell echo $(workbench-libs-jpeg-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-libs-jpeg-MA_DIRS) +endif + +endif + +workbench-libs-jpeg-MA_ASSEMBLER ?= $(workbench-libs-jpeg_ASSEMBLER) + +$(workbench-libs-jpeg-MA_TARGETS) : workbench-libs-jpeg-MA_CMD:= $(workbench-libs-jpeg-MA_ASSEMBLER) + +$(workbench-libs-jpeg-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-libs-jpeg-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-libs-jpeg-MA_TARGETS) : $(workbench-libs-jpeg-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-libs-jpeg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-libs-jpeg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-libs-jpeg-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-libs-jpeg_SUFFIX := library +else +workbench-libs-jpeg_SUFFIX := +endif + +ifeq (target,target) +workbench-libs-jpeg_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-libs-jpeg_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-libs-jpeg_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-libs-jpeg_SUFFIX),handler) +workbench-libs-jpeg_MODULE := $(AROSDIR)/$(workbench-libs-jpeg_MODDIR)/$(workbench-libs-jpeg_DEFNAME)-$(workbench-libs-jpeg_SUFFIX) +else +workbench-libs-jpeg_MODULE := $(AROSDIR)/$(workbench-libs-jpeg_MODDIR)/$(workbench-libs-jpeg_DEFNAME).$(workbench-libs-jpeg_SUFFIX) +endif +workbench-libs-jpeg_KOBJ := $(KOBJSDIR)/$(workbench-libs-jpeg_DEFNAME)_$(workbench-libs-jpeg_SUFFIX).o +else +workbench-libs-jpeg_MODULE := +workbench-libs-jpeg_KOBJ := +endif + +workbench-libs-jpeg-quick : workbench-libs-jpeg +workbench-libs-jpeg : $(workbench-libs-jpeg_MODULE) $(workbench-libs-jpeg_LINKLIB) $(workbench-libs-jpeg_RELLINKLIB) +ifeq (M,M) +workbench-libs-jpeg-kobj : $(workbench-libs-jpeg_KOBJ) $(workbench-libs-jpeg_LINKLIB) $(workbench-libs-jpeg_RELLINKLIB) +workbench-libs-jpeg-kobj-quick : $(workbench-libs-jpeg_KOBJ) $(workbench-libs-jpeg_LINKLIB) $(workbench-libs-jpeg_RELLINKLIB) +endif +ifeq (M,M) +workbench-libs-jpeg-linklib : $(workbench-libs-jpeg_LINKLIB) $(workbench-libs-jpeg_RELLINKLIB) +endif + +workbench-libs-jpeg_OBJS := $(addsuffix .o,$(workbench-libs-jpeg_STARTFILES)) $(workbench-libs-jpeg_ARCHOBJS) \ + $(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(workbench-libs-jpeg_C_NARCHFILES:=.o) $(workbench-libs-jpeg_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-libs-jpeg_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (jfif,con) + workbench-libs-jpeg_ERR := $(notdir $(workbench-libs-jpeg_MODULE)).err +else + workbench-libs-jpeg_ERR := jfif.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-libs-jpeg_DEFNAME)_LDFLAGS) $(workbench-libs-jpeg_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-libs-jpeg_LIBS) $($(workbench-libs-jpeg_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-libs-jpeg_MODULE) : LIB_NAMES := $(workbench-libs-jpeg_LIBS) $($(workbench-libs-jpeg_DEFNAME)_LIBS) +$(workbench-libs-jpeg_MODULE) : OBJS := $(workbench-libs-jpeg_STARTOBJS) $(workbench-libs-jpeg_OBJS) $(USER_OBJS) +$(workbench-libs-jpeg_MODULE) : ENDTAG := $(workbench-libs-jpeg_ENDOBJS) +$(workbench-libs-jpeg_MODULE) : ERR := $(workbench-libs-jpeg_ERR) +$(workbench-libs-jpeg_MODULE) : OBJDIR := $(workbench-libs-jpeg_OBJDIR) +$(workbench-libs-jpeg_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-libs-jpeg_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-libs-jpeg_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-libs-jpeg_MODULE) : $(workbench-libs-jpeg_STARTOBJS) $(workbench-libs-jpeg_OBJS) $(USER_OBJS) $(workbench-libs-jpeg_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-libs-jpeg_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-libs-jpeg_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-libs-jpeg_LC_LINKLIBNAME := $(shell echo $(workbench-libs-jpeg_LINKLIBNAME) | tr A-Z a-z) +workbench-libs-jpeg_LC_MODNAME := $(shell echo jfif | tr A-Z a-z) +ifneq ($(workbench-libs-jpeg_LINKLIB),) + +ifeq (target,target) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(HOST_AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(KERNEL_AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)$(workbench-libs-jpeg_LIBSUFFIX).a : $(workbench-libs-jpeg_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-jpeg_AR) $@ $^ + $(Q)$(workbench-libs-jpeg_RANLIB) $@ +ifneq ($(workbench-libs-jpeg_LC_MODNAME),$(workbench-libs-jpeg_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-jpeg_LIBDIR)/libjfif$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(AR) +$(workbench-libs-jpeg_LIBDIR)/libjfif$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-jpeg_LIBDIR)/libjfif$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(HOST_AR) +$(workbench-libs-jpeg_LIBDIR)/libjfif$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-jpeg_LIBDIR)/libjfif$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(KERNEL_AR) +$(workbench-libs-jpeg_LIBDIR)/libjfif$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-jpeg_LIBDIR)/libjfif$(workbench-libs-jpeg_LIBSUFFIX).a : $(workbench-libs-jpeg_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-jpeg_AR) $@ $^ + $(Q)$(workbench-libs-jpeg_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-jpeg_LINKLIB),) +$(workbench-libs-jpeg_LINKLIB) : | $(workbench-libs-jpeg_LIBDIR) +else +$(workbench-libs-jpeg_LINKLIB) :: $(workbench-libs-jpeg_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-jpeg_LIBDIR) + +endif + +ifneq ($(workbench-libs-jpeg_RELLINKLIB),) + +ifeq (target,target) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(HOST_AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(KERNEL_AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_LINKLIBNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : $(workbench-libs-jpeg_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-jpeg_AR) $@ $^ + $(Q)$(workbench-libs-jpeg_RANLIB) $@ +ifneq ($(workbench-libs-jpeg_LC_MODNAME),$(workbench-libs-jpeg_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_DEFNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_DEFNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_DEFNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(HOST_AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_DEFNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_DEFNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_AR:=$(KERNEL_AR) +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_DEFNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : workbench-libs-jpeg_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-jpeg_LIBDIR)/lib$(workbench-libs-jpeg_DEFNAME)_rel$(workbench-libs-jpeg_LIBSUFFIX).a : $(workbench-libs-jpeg_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-jpeg_AR) $@ $^ + $(Q)$(workbench-libs-jpeg_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-jpeg_RELLINKLIB),) +$(workbench-libs-jpeg_RELLINKLIB) : | $(workbench-libs-jpeg_LIBDIR) +else +$(workbench-libs-jpeg_RELLINKLIB) :: $(workbench-libs-jpeg_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-jpeg_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-libs-jpeg_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-libs-jpeg_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-libs-jpeg_SYMBOLS := $(workbench-libs-jpeg_KBASE) + +workbench-libs-jpeg_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-libs-jpeg_KOBJ_LIBS := $(filter-out $(workbench-libs-jpeg_KLIB),$(workbench-libs-jpeg_LIBS)) $(workbench-libs-jpeg_KAUTOLIB) +$(workbench-libs-jpeg_KOBJ) : LINKLIBS:=$(workbench-libs-jpeg_KOBJ_LIBS) $($(workbench-libs-jpeg_DEFNAME)_LIBS) +$(workbench-libs-jpeg_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-libs-jpeg_SYMBOLS)) +$(workbench-libs-jpeg_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-libs-jpeg_KOBJ) : $(workbench-libs-jpeg_OBJS) $(USER_OBJS) $(workbench-libs-jpeg_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-libs-jpeg_DEPS := $(addprefix $(workbench-libs-jpeg_OBJDIR)/,$(notdir $(workbench-libs-jpeg_CCFILES:=.d) $(workbench-libs-jpeg_TARGETCCFILES:=.d) $(workbench-libs-jpeg_CXXFILES:=.d))) $(addprefix $(workbench-libs-jpeg_OBJDIR)/linklib/,$(notdir $(workbench-libs-jpeg_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-libs-jpeg_DEPS),) + ifneq (workbench-libs-jpeg workbench-libs-jpeg-quick workbench-libs-jpeg-kobj workbench-libs-jpeg-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-jpeg workbench-libs-jpeg-quick workbench-libs-jpeg-kobj workbench-libs-jpeg-kobj-quick),) + -include $(workbench-libs-jpeg_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-jpeg_DEPS) + endif + endif +endif + +$(workbench-libs-jpeg_OBJS) $(workbench-libs-jpeg_DEPS) : | $(workbench-libs-jpeg_OBJDIR)/linklib + +ifneq ($(workbench-libs-jpeg_OBJS) $(workbench-libs-jpeg_DEPS) $(workbench-libs-jpeg_MODULE) $(workbench-libs-jpeg_KOBJ),) +$(workbench-libs-jpeg_OBJS) $(workbench-libs-jpeg_DEPS) $(workbench-libs-jpeg_MODULE) $(workbench-libs-jpeg_KOBJ) : | $(workbench-libs-jpeg_OBJDIR) $(AROSDIR)/$(workbench-libs-jpeg_MODDIR) $(KOBJSDIR) +else +$(workbench-libs-jpeg_OBJS) $(workbench-libs-jpeg_DEPS) $(workbench-libs-jpeg_MODULE) $(workbench-libs-jpeg_KOBJ) :: $(workbench-libs-jpeg_OBJDIR) $(AROSDIR)/$(workbench-libs-jpeg_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-jpeg_OBJDIR) $(AROSDIR)/$(workbench-libs-jpeg_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-libs-jpeg workbench-libs-jpeg-includes workbench-libs-jpeg-quick workbench-libs-jpeg-kobj workbench-libs-jpeg-kobj-quick),) # Only for this target these deps are wanted + +workbench-libs-jpeg_DFILE_DEPS := $(workbench-libs-jpeg_LIBDEFSINC) $(workbench-libs-jpeg_DEFLIBDEFSINC) \ + $(addprefix $(workbench-libs-jpeg_INCDIR)/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) +$(workbench-libs-jpeg_DEPS) : $(workbench-libs-jpeg_DFILE_DEPS) +endif + +workbench-libs-jpeg_TOCLEAN := $(workbench-libs-jpeg_OBJS) $(workbench-libs-jpeg_DEPS) \ + $(workbench-libs-jpeg_MODULE) $(workbench-libs-jpeg_LINKLIB) $(workbench-libs-jpeg_KOBJ) \ + $(workbench-libs-jpeg_OBJDIR)/Makefile.jfiflibrary \ + $(addprefix $(workbench-libs-jpeg_OBJDIR)/include/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-jpeg_INCDIR)/,$($(workbench-libs-jpeg_DEFNAME)_INCLUDES)) \ + $(workbench-libs-jpeg_OBJDIR)/jfif_geninc $(workbench-libs-jpeg_OBJDIR)/jfif_incs \ + $(addsuffix .c,$(workbench-libs-jpeg_LINKLIBFILES)) $(workbench-libs-jpeg_LINKLIBOBJS) $(workbench-libs-jpeg_LIBDEFSINC) \ + $(workbench-libs-jpeg_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-libs-jpeg_STARTFILES) $(workbench-libs-jpeg_ENDFILES)) \ + $(workbench-libs-jpeg_ENDOBJS) +workbench-libs-jpeg-clean : FILES := $(workbench-libs-jpeg_TOCLEAN) +workbench-libs-jpeg-clean :: + $(Q)$(ECHO) "Cleaning up for module jfif" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-libs-jpeg_ALLTARGETS) + + + +INCLUDE_FILES := jerror.h jmorecfg.h jpeglib.h jconfig.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/muimaster/catalogs/mmakefile b/workbench/libs/muimaster/catalogs/mmakefile new file mode 100644 index 00000000000..a5a708ecb96 --- /dev/null +++ b/workbench/libs/muimaster/catalogs/mmakefile @@ -0,0 +1,74 @@ +# Copyright © 1995-2020, The AROS Development Team. All rights reserved. + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:= + + +ifeq (,) +workbench-libs-muimaster-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-libs-muimaster-catalogs_DESC := +endif + +workbench-libs-muimaster-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-libs-muimaster-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-libs-muimaster-catalogs_LNGS := $(CATALOGS) +endif + +workbench-libs-muimaster-catalogs_OBJS := $(addsuffix /System/Libs/muimaster.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-libs-muimaster-catalogs_LNGS))) +workbench-libs-muimaster-catalogs_DIRS := $(addsuffix /System/Libs, $(addprefix $(AROS_CATALOGS)/, $(workbench-libs-muimaster-catalogs_LNGS))) $(dir ../muimaster_strings.h) + +#MM- workbench-libs-muimaster-catalogs-quick : workbench-libs-muimaster-catalogs + +#MM +workbench-libs-muimaster-catalogs : $(workbench-libs-muimaster-catalogs_OBJS) ../muimaster_strings.h + + +ifneq ($(workbench-libs-muimaster-catalogs_OBJS),) +$(workbench-libs-muimaster-catalogs_OBJS) : | $(workbench-libs-muimaster-catalogs_DIRS) +else +$(workbench-libs-muimaster-catalogs_OBJS) :: $(workbench-libs-muimaster-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-libs-muimaster-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Libs/muimaster.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-libs-muimaster-catalogs_DESC).cd + $(Q)$(ECHO) "Creating muimaster catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-libs-muimaster-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Libs/muimaster.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-libs-muimaster-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Libs/muimaster.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-libs-muimaster-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Libs/muimaster.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../muimaster_strings.h,) +../muimaster_strings.h : workbench-libs-muimaster-catalogs_DESC := $(workbench-libs-muimaster-catalogs_DESC) +../muimaster_strings.h : workbench-libs-muimaster-catalogs_SRC := $(workbench-libs-muimaster-catalogs_SRC) +../muimaster_strings.h : $(workbench-libs-muimaster-catalogs_DESC).cd $(workbench-libs-muimaster-catalogs_SRC).sd | $(dir ../muimaster_strings.h) + $(Q)$(ECHO) "Creating muimaster catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-libs-muimaster-catalogs_DESC).cd $@=$(workbench-libs-muimaster-catalogs_SRC).sd +endif + +workbench-libs-muimaster-catalogs-clean : FILES := $(workbench-libs-muimaster-catalogs_OBJS) ../muimaster_strings.h +#MM +workbench-libs-muimaster-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-libs-muimaster-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-libs-muimaster-catalogs workbench-libs-muimaster-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/png/contrib/pngsuite/mmakefile b/workbench/libs/png/contrib/pngsuite/mmakefile new file mode 100644 index 00000000000..a3d4f7b86d5 --- /dev/null +++ b/workbench/libs/png/contrib/pngsuite/mmakefile @@ -0,0 +1,22 @@ +# $Id: mmakefile.src 54326 2017-03-28 20:54:52Z NicJA $ + +include $(SRCDIR)/config/aros.cfg + +#MM- test-datatypes : test-png-pngsuite + + +.PHONY : test-png-pngsuite + +#MM +test-png-pngsuite : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s . -d $(AROS_TESTS)/Datatypes/png/pngsuite -e + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/png/contrib/testpngs/mmakefile b/workbench/libs/png/contrib/testpngs/mmakefile new file mode 100644 index 00000000000..9792559a0dd --- /dev/null +++ b/workbench/libs/png/contrib/testpngs/mmakefile @@ -0,0 +1,22 @@ +# $Id: mmakefile.src 54326 2017-03-28 20:54:52Z NicJA $ + +include $(SRCDIR)/config/aros.cfg + +#MM- test-datatypes : test-png-testpngs + + +.PHONY : test-png-testpngs + +#MM +test-png-testpngs : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s . -d $(AROS_TESTS)/Datatypes/png -e + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/png/mmakefile b/workbench/libs/png/mmakefile new file mode 100644 index 00000000000..b1eb2c7c228 --- /dev/null +++ b/workbench/libs/png/mmakefile @@ -0,0 +1,2261 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-libs-png : workbench-libs-z +#MM- workbench-libs-png-includes : workbench-libs-png-generated + +FILES := png pngerror \ + pngget pngmem pngpread pngread pngrio pngrtran pngrutil \ + pngset pngtrans pngwio pngwrite pngwtran pngwutil + +NOWARN_FLAGS := $(NOWARN_DEPRECATED_DECLARATIONS) $(NOWARN_IMPLICIT_FUNCTION_DECL) +USER_CFLAGS := $(NOWARN_FLAGS) + +#MM- core-linklibs : linklibs-png +#MM- linklibs-png : workbench-libs-png-pkgconfig + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-libs-png +#MM workbench-libs-png-quick +#MM workbench-libs-png-makefile +#MM workbench-libs-png-clean + +# ABI targets: +#MM- includes-all : workbench-libs-png-includes +#MM- linklibs-png: workbench-libs-png-linklib +#MM- linklibs-png_rel : workbench-libs-png-linklib +#MM- includes-png: workbench-libs-png-includes +#MM- includes-png_rel : workbench-libs-png-includes +#MM- workbench-libs-png : workbench-libs-png-includes core-linklibs linklibs- +#MM workbench-libs-png-linklib : workbench-libs-png-includes includes- +#MM- workbench-libs-png-quick : workbench-libs-png-includes-quick +#MM workbench-libs-png-includes : workbench-libs-png-makefile workbench-libs-png-includes-dirs \ +#MM includes-generate-deps workbench-libs-png-fd +#MM workbench-libs-png-includes-quick +#MM workbench-libs-png-includes-dirs +#MM workbench-libs-png-fd + +# Library targets +#MM workbench-libs-png-kobj : core-linklibs linklibs- +#MM workbench-libs-png-kobj-quick : + +# Library with ABI targets: +#MM workbench-libs-png-kobj : workbench-libs-png-includes core-linklibs linklibs- +#MM workbench-libs-png-kobj-quick : workbench-libs-png-includes-quick + +# All MetaMake targets defined by this macro +workbench-libs-png_ALLTARGETS := workbench-libs-png workbench-libs-png-quick workbench-libs-png-clean + +ifeq (M,M) +workbench-libs-png_ALLTARGETS += workbench-libs-png-kobj workbench-libs-png-kobj-quick +endif + +ifeq (M,M) +workbench-libs-png_ALLTARGETS += workbench-libs-png-includes \ + workbench-libs-png-includes-quick workbench-libs-png-includes-dirs \ + workbench-libs-png-linklib workbench-libs-png-fd +endif + +.PHONY : $(workbench-libs-png_ALLTARGETS) workbench-libs-png-makefile + +ifeq (png,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-libs-png_DEFNAME := png_ +else + workbench-libs-png_DEFNAME := png +endif +workbench-libs-png_DEFLINKLIBNAME := $(workbench-libs-png_DEFNAME) +ifneq (png,) + workbench-libs-png_LINKLIBNAME := png +else + workbench-libs-png_LINKLIBNAME = $(workbench-libs-png_DEFLINKLIBNAME) +endif +workbench-libs-png_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-png_DEFCPPFLAGS += -I +endif +workbench-libs-png_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-libs-png_DFLAGS := +else + workbench-libs-png_DFLAGS = $(workbench-libs-png_DEFDFLAGS) +endif +workbench-libs-png_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-libs-png_DXXFLAGS := +else + workbench-libs-png_DXXFLAGS = $(workbench-libs-png_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-png_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-png_DEFDFLAGS)) +workbench-libs-png_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-png_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-png_FUNCINSTR := yes +workbench-libs-png_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-png_DEFDFLAGS)) +workbench-libs-png_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-png_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-libs-png_OBJDIR := +else +workbench-libs-png_OBJDIR := $(OBJDIR)/$(workbench-libs-png_DEFNAME) +endif +ifneq (,) +workbench-libs-png_OBJDIR := $(workbench-libs-png_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-libs-png-makefile := $(workbench-libs-png_OBJDIR)/Makefile.$(workbench-libs-png_DEFNAME)library +workbench-libs-png-genmakefile : $(workbench-libs-png-makefile) + + +workbench-libs-png-genmakefile_OPTS := +ifneq (,) + workbench-libs-png-genmakefile_OPTS += -f + workbench-libs-png-genmakefile_MODNAME := png_ +else + workbench-libs-png-genmakefile_MODNAME := png +endif +workbench-libs-png-genmakefile_TARGET := Makefile.$(workbench-libs-png-genmakefile_MODNAME)library +workbench-libs-png-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-png-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-png-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-png-genmakefile_OPTS += -c + workbench-libs-png-genmakefile_DEPS += + endif +else + workbench-libs-png-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/png.conf + workbench-libs-png-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/png.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-png-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-png-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-png-genmakefile_OPTS += -o + workbench-libs-png-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-libs-png-genmakefile_OPTS += -s +endif +ifneq ($(workbench-libs-png_OBJDIR),) + workbench-libs-png-genmakefile_OPTS += -d $(workbench-libs-png_OBJDIR) + workbench-libs-png-genmakefile_TARGET := $(workbench-libs-png_OBJDIR)/$(workbench-libs-png-genmakefile_TARGET) +endif + +$(workbench-libs-png-genmakefile_TARGET) : OPTS := $(workbench-libs-png-genmakefile_OPTS) +$(workbench-libs-png-genmakefile_TARGET) : MODNAME := png +$(workbench-libs-png-genmakefile_TARGET) : MODTYPE := library +$(workbench-libs-png-genmakefile_TARGET) : $(workbench-libs-png-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-libs-png-makefile),) +$(workbench-libs-png-makefile) : | $(workbench-libs-png_OBJDIR) +else +$(workbench-libs-png-makefile) :: $(workbench-libs-png_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-png_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-libs-png_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-libs-png-makefile) + +workbench-libs-png_DEFMODDIR := $($(workbench-libs-png_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-libs-png_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-libs-png_DEFMODDIR) +endif +ifneq (,) + workbench-libs-png_MODDIR := +else + workbench-libs-png_MODDIR := $(workbench-libs-png_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-libs-png_INCDIR := +else +workbench-libs-png_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-libs-png_LIBDEFSINC := $(workbench-libs-png_OBJDIR)/include/$(workbench-libs-png_DEFNAME)_libdefs.h +workbench-libs-png_DEFLIBDEFSINC := $(workbench-libs-png_OBJDIR)/include/$(workbench-libs-png_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-libs-png-includes-quick : workbench-libs-png-includes +workbench-libs-png-includes : $(addprefix $(GENINCDIR)/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-png_INCDIR)/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) \ + $(workbench-libs-png_LIBDEFSINC) $(workbench-libs-png_DEFLIBDEFSINC) + +ifneq ($($(workbench-libs-png_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-libs-png-includes_MODNAME := png_ +else + workbench-libs-png-includes_MODNAME := png +endif + +ifneq ($($(workbench-libs-png-includes_MODNAME)_INCLUDES),) + +workbench-libs-png-includes_TARGETS := $($(workbench-libs-png-includes_MODNAME)_INCLUDES) + +workbench-libs-png-includes_DEPS := $(GENMODULE) +workbench-libs-png-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-png-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-png-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-png-includes_OPTS += -c + workbench-libs-png-includes_DEPS += + endif +else + workbench-libs-png-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/png.conf + workbench-libs-png-includes_DEPS += $(SRCDIR)/$(CURDIR)/png.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-png-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-png-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-png-includes_OPTS += -o + workbench-libs-png-includes_DEPS += + endif +endif +ifneq (,) + workbench-libs-png-includes_OPTS += -s +endif +ifneq ($(workbench-libs-png_OBJDIR)/include,) + workbench-libs-png-includes_OPTS += -d $(workbench-libs-png_OBJDIR)/include + workbench-libs-png-includes_TARGETS := $(addprefix $(workbench-libs-png_OBJDIR)/include/,$(workbench-libs-png-includes_TARGETS)) + workbench-libs-png-includes_GENINCFLAG=$(workbench-libs-png_OBJDIR)/include/.png.library-includes +else + workbench-libs-png-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.png.library-includes +endif + +$(workbench-libs-png-includes_TARGETS) : $(workbench-libs-png-includes_DEPS) $(workbench-libs-png-includes_GENINCFLAG) + +$(workbench-libs-png-includes_GENINCFLAG) : OPTS := $(workbench-libs-png-includes_OPTS) +$(workbench-libs-png-includes_GENINCFLAG) : MODNAME := png +$(workbench-libs-png-includes_GENINCFLAG) : MODTYPE := library +$(workbench-libs-png-includes_GENINCFLAG) : $(workbench-libs-png-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-libs-png_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) : | $(workbench-libs-png_OBJDIR)/png_geninc + +$(workbench-libs-png_OBJDIR)/png_geninc : COPYSRCDIR := $(workbench-libs-png_OBJDIR)/include +$(workbench-libs-png_OBJDIR)/png_geninc : TGTDIR := $(GENINCDIR) +$(workbench-libs-png_OBJDIR)/png_geninc : FILES := $($(workbench-libs-png_DEFNAME)_INCLUDES) +$(workbench-libs-png_OBJDIR)/png_geninc : $(addprefix $(workbench-libs-png_OBJDIR)/include/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-libs-png_OBJDIR)/include + +$(addprefix $(workbench-libs-png_INCDIR)/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) : | $(workbench-libs-png_OBJDIR)/png_incs + +$(workbench-libs-png_OBJDIR)/png_incs : COPYSRCDIR := $(workbench-libs-png_OBJDIR)/include +$(workbench-libs-png_OBJDIR)/png_incs : TGTDIR := $(workbench-libs-png_INCDIR) +$(workbench-libs-png_OBJDIR)/png_incs : FILES := $($(workbench-libs-png_DEFNAME)_INCLUDES) +$(workbench-libs-png_OBJDIR)/png_incs : $(addprefix $(workbench-libs-png_OBJDIR)/include/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-libs-png_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-libs-png_DEFNAME)_INCLUDES)))) + +TMPpng_INCDIRS := \ + $(workbench-libs-png_OBJDIR)/include $(addprefix $(workbench-libs-png_OBJDIR)/include/,$(workbench-libs-png_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-libs-png_INCDIRS)) \ + $(workbench-libs-png_INCDIR) $(addprefix $(workbench-libs-png_INCDIR)/,$(workbench-libs-png_INCDIRS)) + +ifneq (workbench-libs-png-includes-dirs,) +workbench-libs-png-includes-dirs : | $(TMPpng_INCDIRS) +else +workbench-libs-png-includes-dirs :: $(TMPpng_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPpng_INCDIRS) + + +endif + +endif + + +workbench-libs-png-genlibdefs_OPTS := +ifneq (,) + workbench-libs-png-genlibdefs_OPTS += -f + workbench-libs-png-genlibdefs_MODNAME := png_ +else + workbench-libs-png-genlibdefs_MODNAME := png +endif +workbench-libs-png-genlibdefs_TARGET := $(workbench-libs-png-genlibdefs_MODNAME)_libdefs.h +workbench-libs-png-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-png-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-png-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-png-genlibdefs_OPTS += -c + workbench-libs-png-genlibdefs_DEPS += + endif +else + workbench-libs-png-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/png.conf + workbench-libs-png-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/png.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-png-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-png-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-png-genlibdefs_OPTS += -o + workbench-libs-png-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-libs-png-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-libs-png_OBJDIR)/include,) + workbench-libs-png-genlibdefs_OPTS += -d $(workbench-libs-png_OBJDIR)/include + workbench-libs-png-genlibdefs_TARGET := $(workbench-libs-png_OBJDIR)/include/$(workbench-libs-png-genlibdefs_TARGET) +endif +ifneq (,) + workbench-libs-png-genlibdefs_OPTS += -v +endif + +$(workbench-libs-png-genlibdefs_TARGET) : OPTS := $(workbench-libs-png-genlibdefs_OPTS) +$(workbench-libs-png-genlibdefs_TARGET) : MODNAME := png +$(workbench-libs-png-genlibdefs_TARGET) : MODTYPE := library +$(workbench-libs-png-genlibdefs_TARGET) : $(workbench-libs-png-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-libs-png_DEFLIBDEFSINC) : FILENAME := $(workbench-libs-png_LIBDEFSINC) +$(workbench-libs-png_DEFLIBDEFSINC) : $(workbench-libs-png_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-libs-png_LIBDEFSINC) $(workbench-libs-png_DEFLIBDEFSINC) : | $(workbench-libs-png_OBJDIR)/include + +ifneq (workbench-libs-png-includes-dirs,) +workbench-libs-png-includes-dirs : | $(workbench-libs-png_OBJDIR)/include +else +workbench-libs-png-includes-dirs :: $(workbench-libs-png_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-libs-png_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-libs-png-genmodfiles_OPTS := +ifneq (,) + workbench-libs-png-genmodfiles_OPTS += -f + workbench-libs-png-genmodfiles_MODNAME := png_ +else + workbench-libs-png-genmodfiles_MODNAME := png +endif +workbench-libs-png-genmodfiles_GENTARGETS := $($(workbench-libs-png-genmodfiles_MODNAME)_STARTFILES) $($(workbench-libs-png-genmodfiles_MODNAME)_ENDFILES) +workbench-libs-png-genmodfiles_STUBTARGETS := $($(workbench-libs-png-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-libs-png-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-libs-png-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-libs-png-genmodfiles_GENTARGETS)) +workbench-libs-png-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-libs-png-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-libs-png-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-libs-png-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-libs-png-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-png-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-png-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-png-genmodfiles_OPTS += -c + workbench-libs-png-genmodfiles_DEPS += + endif +else + workbench-libs-png-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/png.conf + workbench-libs-png-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/png.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-png-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-png-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-png-genmodfiles_OPTS += -o + workbench-libs-png-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-libs-png-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-libs-png_OBJDIR),) + workbench-libs-png-genmodfiles_OPTS += -d $(workbench-libs-png_OBJDIR) + workbench-libs-png-genmodfiles_TARGETDIR := $(shell echo $(workbench-libs-png_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-png-genmodfiles_GENTARGETS := $(addprefix $(workbench-libs-png-genmodfiles_TARGETDIR)/,$(workbench-libs-png-genmodfiles_GENTARGETS)) + workbench-libs-png-genmodfiles_GENFILEFLAG=$(workbench-libs-png-genmodfiles_TARGETDIR)/.png.library-genfiles +else + workbench-libs-png-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.png.library-genfiles +endif +ifneq ($(workbench-libs-png_OBJDIR)/linklib,) + workbench-libs-png-genmodfiles_OPTS += -l $(workbench-libs-png_OBJDIR)/linklib + workbench-libs-png-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-libs-png_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-libs-png-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-png-genmodfiles_STUBTARGETDIR)/,$(workbench-libs-png-genmodfiles_STUBTARGETS)) + workbench-libs-png-genmodfiles_TARGETDIRS += $(workbench-libs-png_OBJDIR)/linklib +else +ifneq ($(workbench-libs-png_OBJDIR),) + workbench-libs-png-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-png-genmodfiles_TARGETDIR)/,$(workbench-libs-png-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-libs-png-genmodfiles_TARGETS := $(workbench-libs-png-genmodfiles_GENTARGETS) $(workbench-libs-png-genmodfiles_STUBTARGETS) +ifneq ($(workbench-libs-png-genmodfiles_TARGETDIRS),) +$(workbench-libs-png-genmodfiles_TARGETS) : | $(workbench-libs-png-genmodfiles_TARGETDIRS) +endif + +$(workbench-libs-png-genmodfiles_TARGETS) : $(workbench-libs-png-genmodfiles_DEPS) $(workbench-libs-png-genmodfiles_GENFILEFLAG) + +$(workbench-libs-png-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-libs-png-genmodfiles_OPTS) +$(workbench-libs-png-genmodfiles_GENFILEFLAG) : MODNAME := png +$(workbench-libs-png-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-libs-png-genmodfiles_GENFILEFLAG) : $(workbench-libs-png-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-libs-png-genmodfiles_GENFILEFLAG) : $(workbench-libs-png_DEFLIBDEFSINC) $(workbench-libs-png-makefile) + + +ifneq ($(workbench-libs-png-genmodfiles_GENFILEFLAG),) +$(workbench-libs-png-genmodfiles_GENFILEFLAG) : | $(workbench-libs-png_OBJDIR)/linklib +else +$(workbench-libs-png-genmodfiles_GENFILEFLAG) :: $(workbench-libs-png_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-libs-png_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-libs-png_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-libs-png_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-libs-png-fd : $(workbench-libs-png_FDDIR)/png_lib.fd + + +TMP_TARGET := png_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/png.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/png.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-libs-png_FDDIR),) + TMP_OPTS += -d $(workbench-libs-png_FDDIR) + TMP_TARGET := $(workbench-libs-png_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := png +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-libs-png_FDDIR)/png_lib.fd : | $(workbench-libs-png_FDDIR) + + +ifneq (workbench-libs-png-fd-setup,) +workbench-libs-png-fd-setup : | $(workbench-libs-png_FDDIR) +else +workbench-libs-png-fd-setup :: $(workbench-libs-png_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-png_FDDIR) + +endif + +## Compilation +## +workbench-libs-png_FILES := $(FILES) +workbench-libs-png_OBJCFILES := +workbench-libs-png_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-libs-png_LIBFILES := +workbench-libs-png_LIBS := + +workbench-libs-png_FDIRS := $(sort $(dir $(workbench-libs-png_FILES))) + +workbench-libs-png_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-libs-png_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-libs-png_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-libs-png_FILTERARCH = $(filter-out $(call workbench-libs-png_MATCHARCH,$(1),$(2)),$(2)) +workbench-libs-png_STARTFILES := $(addprefix $(workbench-libs-png_OBJDIR)/,$($(workbench-libs-png_DEFNAME)_STARTFILES)) +workbench-libs-png_ENDFILES := $(addprefix $(workbench-libs-png_OBJDIR)/,$($(workbench-libs-png_DEFNAME)_ENDFILES)) + +workbench-libs-png_ARCHOBJS := $(wildcard $(workbench-libs-png_OBJDIR)/arch/*.o) +workbench-libs-png_LIBARCHOBJS := $(wildcard $(workbench-libs-png_OBJDIR)/linklib/arch/*.o) +workbench-libs-png_ARCHFILES := $(basename $(notdir $(workbench-libs-png_ARCHOBJS))) +workbench-libs-png_LIBARCHFILES := $(basename $(notdir $(workbench-libs-png_LIBARCHOBJS))) +workbench-libs-png_C_NARCHFILES := $(call workbench-libs-png_FILTERARCH,$(workbench-libs-png_ARCHFILES),$(workbench-libs-png_FILES)) +workbench-libs-png_CXX_NARCHFILES := $(call workbench-libs-png_FILTERARCH,$(workbench-libs-png_ARCHFILES),$(workbench-libs-png_CXXFILES)) +workbench-libs-png_OBJC_NARCHFILES := $(call workbench-libs-png_FILTERARCH,$(workbench-libs-png_ARCHFILES),$(workbench-libs-png_OBJCFILES)) +workbench-libs-png_NLIBARCHFILES := $(call workbench-libs-png_FILTERARCH,$(workbench-libs-png_LIBARCHFILES),$(workbench-libs-png_LIBFILES)) +workbench-libs-png_ARCHNLIBFILES := $(call workbench-libs-png_FILTERARCH,$(workbench-libs-png_LIBFILES),$(workbench-libs-png_LIBARCHFILES)) + +workbench-libs-png_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-libs-png_OBJDIR)/include -include $(workbench-libs-png_DEFLIBDEFSINC)) +ifneq (,) +workbench-libs-png_CPPFLAGS += -I +endif +workbench-libs-png_LINKLIBCPPFLAGS := $(workbench-libs-png_CPPFLAGS) +workbench-libs-png_CPPFLAGS += $(strip $($(workbench-libs-png_DEFNAME)_CPPFLAGS)) +workbench-libs-png_LINKLIBCPPFLAGS += $(strip $($(workbench-libs-png_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-libs-png_CFLAGS := $(strip $(CFLAGS) $($(workbench-libs-png_DEFNAME)_CFLAGS)) +workbench-libs-png_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-libs-png_DEFNAME)_LINKLIBCFLAGS)) +workbench-libs-png_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-libs-png_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-png_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-libs-png_CFLAGS := $(strip $(workbench-libs-png_LTOFLAGS) $(workbench-libs-png_CFLAGS)) +workbench-libs-png_LINKLIBCFLAGS := $(strip $(workbench-libs-png_LTOFLAGS) $(workbench-libs-png_LINKLIBCFLAGS)) +workbench-libs-png_CXXFLAGS := $(strip $(workbench-libs-png_LTOFLAGS) $(workbench-libs-png_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-png_SUBSTNULL := +workbench-libs-png_SUBSTSPACE := $(workbench-libs-png_SUBSTNULL) # +workbench-libs-png_SUBSTCOMMA := , +workbench-libs-png_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-libs-png_SUBSTSPACE),$(workbench-libs-png_SUBSTCOMMA),$(strip $($(workbench-libs-png_DEFNAME)_STARTFILES)))) +workbench-libs-png_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-libs-png_CFLAGS := $(strip $(workbench-libs-png_INSTRFUNCFLAGS) $(workbench-libs-png_CFLAGS)) +workbench-libs-png_CXXFLAGS := $(strip $(workbench-libs-png_INSTRFUNCFLAGS) $(workbench-libs-png_CXXFLAGS)) +workbench-libs-png_LIBS += $(workbench-libs-png_INSTRFUNCLIBS) +endif +endif +workbench-libs-png_DFLAGS := $(strip $(workbench-libs-png_DFLAGS) $($(workbench-libs-png_DEFNAME)_DFLAGS)) +workbench-libs-png_LINKLIBDFLAGS := $(strip $(workbench-libs-png_DFLAGS) $($(workbench-libs-png_DEFNAME)_LINKLIBDFLAGS)) +workbench-libs-png_DXXFLAGS := $(strip $(workbench-libs-png_DXXFLAGS) $($(workbench-libs-png_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-libs-png_LIBSUFFIX := +else + workbench-libs-png_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-libs-png_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-libs-png_LIBDIR := +endif + +ifeq (M,M) +workbench-libs-png_LINKLIBCFILES := $(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$($(workbench-libs-png_DEFNAME)_LINKLIBFILES)) +workbench-libs-png_LINKLIBAFILES := $(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$($(workbench-libs-png_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-png_DEFNAME)_LINKLIBFILES) $($(workbench-libs-png_DEFNAME)_LINKLIBAFILES) $(workbench-libs-png_ARCHNLIBFILES)),) + workbench-libs-png_LINKLIB := +else + workbench-libs-png_LINKLIB := $(workbench-libs-png_LIBDIR)/libpng$(workbench-libs-png_LIBSUFFIX).a + ifneq (png,$(workbench-libs-png_LINKLIBNAME)) + workbench-libs-png_LINKLIB += $(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)$(workbench-libs-png_LIBSUFFIX).a + endif +endif +workbench-libs-png_LINKLIBFILES := $(workbench-libs-png_LINKLIBCFILES) $(workbench-libs-png_LINKLIBAFILES) + +workbench-libs-png_RELLINKLIBCFILES := $(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$($(workbench-libs-png_DEFNAME)_RELLINKLIBFILES)) +workbench-libs-png_RELLINKLIBAFILES := $(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$($(workbench-libs-png_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-png_DEFNAME)_RELLINKLIBFILES) $($(workbench-libs-png_DEFNAME)_RELLINKLIBAFILES) $(workbench-libs-png_ARCHNLIBFILES)),) + workbench-libs-png_RELLINKLIB := +else + workbench-libs-png_RELLINKLIB := $(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_DEFNAME)_rel$(workbench-libs-png_LIBSUFFIX).a + ifneq (png,$(workbench-libs-png_LINKLIBNAME)) + workbench-libs-png_RELLINKLIB += $(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)_rel$(workbench-libs-png_LIBSUFFIX).a + endif +endif +workbench-libs-png_RELLINKLIBFILES := $(workbench-libs-png_RELLINKLIBCFILES) $(workbench-libs-png_RELLINKLIBAFILES) +endif + +workbench-libs-png_ENDOBJS := $(addsuffix .o,$(workbench-libs-png_ENDFILES)) +workbench-libs-png_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(notdir $(workbench-libs-png_NLIBARCHFILES))) $(addprefix $(workbench-libs-png_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-png_ARCHNLIBFILES))) $(workbench-libs-png_LINKLIBFILES)) \ + +workbench-libs-png_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(notdir $(workbench-libs-png_NLIBARCHFILES))) $(addprefix $(workbench-libs-png_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-png_ARCHNLIBFILES))) $(workbench-libs-png_RELLINKLIBFILES)) \ + +$(workbench-libs-png_LINKLIBFILES) $(workbench-libs-png_RELLINKLIBFILES) : | $(workbench-libs-png_OBJDIR)/linklib +$(workbench-libs-png_LINKLIBOBJS) $(workbench-libs-png_RELLINKLIBOBJS) : | $(workbench-libs-png_OBJDIR)/linklib + +workbench-libs-png_CCFILES := $(workbench-libs-png_C_NARCHFILES) +workbench-libs-png_TARGETCCFILES := $(strip $(workbench-libs-png_STARTFILES) $(workbench-libs-png_ENDFILES)) +workbench-libs-png_LINKLIBCCFILES := $(strip $(workbench-libs-png_NLIBARCHFILES) $(workbench-libs-png_LINKLIBCFILES) $(workbench-libs-png_RELLINKLIBCFILES)) +workbench-libs-png_LINKLIBCCGENFILES := $(strip $(workbench-libs-png_LINKLIBCFILES) $(workbench-libs-png_RELLINKLIBCFILES)) + + +workbench-libs-png_CXXABSBASENAMES := $(foreach workbench-libs-png_CXXBASE,$(workbench-libs-png_CXX_NARCHFILES),$(if $(filter /%,$(workbench-libs-png_CXXBASE)),$(workbench-libs-png_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-libs-png_CXXBASE)))) + +ifneq ($(workbench-libs-png_CXXABSBASENAMES),) + +workbench-libs-png_CXXBASENAMES := $(basename $(workbench-libs-png_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-libs-png_MCXX_FILES := $(strip $(foreach workbench-libs-png_CXXBASE,$(workbench-libs-png_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-libs-png_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-libs-png_EXT),$(workbench-libs-png_CXXBASE))))))) + +ifeq (,) +workbench-libs-png_MCXX_SRCWILDCARD := % +else +workbench-libs-png_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-png_OBJDIR),) + workbench-libs-png_CXXTARGETS := $(notdir $(workbench-libs-png_CXXBASENAMES:=.o)) + workbench-libs-png_CXXDTARGETS := $(notdir $(workbench-libs-png_CXXBASENAMES:=.d)) + workbench-libs-png_MCXX_WILDCARD := % +else + workbench-libs-png_CXXTARGETS := $(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(workbench-libs-png_CXXBASENAMES:=.o))) + workbench-libs-png_CXXDTARGETS := $(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(workbench-libs-png_CXXBASENAMES:=.d))) + workbench-libs-png_MCXX_WILDCARD := $(workbench-libs-png_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-libs-png_CXXTARGETS) $(workbench-libs-png_CXXDTARGETS) : | $(workbench-libs-png_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-libs-png_MCXX_CPPFLAGS := $(workbench-libs-png_CPPFLAGS) +workbench-libs-png_CXXFLAGS := $(workbench-libs-png_CXXFLAGS) +ifeq ($(workbench-libs-png_DXXFLAGS),) + workbench-libs-png_DXXFLAGS := $(workbench-libs-png_CXXFLAGS) +else + workbench-libs-png_DXXFLAGS := $(workbench-libs-png_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-libs-png_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-libs-png_STRIP ?= $(HOST_STRIP) + workbench-libs-png_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-libs-png_CXXCMD:=$(HOST_CXX) + workbench-libs-png_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-libs-png_MCXX_CPPFLAGS) $(workbench-libs-png_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-png_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-png_CXXFLAGS)) + workbench-libs-png_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-png_DXXFLAGS)) + workbench-libs-png_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-libs-png_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-libs-png_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-png_STRIP ?= $(TARGET_STRIP) + workbench-libs-png_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-libs-png_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-libs-png_MCXX_CPPFLAGS := $(strip $(workbench-libs-png_MCXX_CPPFLAGS) $(workbench-libs-png_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-png_CXXFLAGS := $(strip $(workbench-libs-png_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-libs-png_DXXFLAGS := $(workbench-libs-png_DXXFLAGS) + workbench-libs-png_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-libs-png_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-libs-png_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-png_STRIP ?= $(ECHO) >/dev/null + workbench-libs-png_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-libs-png_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-libs-png_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-libs-png_MCXX_CPPFLAGS) $(workbench-libs-png_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-png_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-png_CXXFLAGS)) + workbench-libs-png_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-png_DXXFLAGS)) + workbench-libs-png_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-libs-png_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-libs-png_CXXCMD) $(workbench-libs-png_CXXIQUOTE) $(dir $(2)) $(workbench-libs-png_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_CXXIQUOTE) . $(workbench-libs-png_CXXIQUOTE_END) $(strip $(workbench-libs-png_CXXFLAGS) $(workbench-libs-png_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-libs-png_CXXCMD) $(workbench-libs-png_CXXIQUOTE) $(dir $(2)) $(workbench-libs-png_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_CXXIQUOTE) . $(workbench-libs-png_CXXIQUOTE_END) $(strip $(workbench-libs-png_CXXFLAGS) $(workbench-libs-png_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-libs-png_CXXCMD) $(workbench-libs-png_CXXIQUOTE) $(dir $(2)) $(workbench-libs-png_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_CXXIQUOTE) . $(workbench-libs-png_CXXIQUOTE_END) $(strip $(workbench-libs-png_CXXFLAGS) $(workbench-libs-png_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-libs-png_CXXCMD)" $(MKDEPEND) $(strip $(workbench-libs-png_DXXFLAGS) $(workbench-libs-png_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-libs-png_OBJDIR),) + $(foreach workbench-libs-png_CXXFILE,$(workbench-libs-png_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-libs-png_CXXFILE))),$(workbench-libs-png_CXXFILE)))) +else + $(foreach workbench-libs-png_CXXFILE,$(workbench-libs-png_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(basename $(workbench-libs-png_CXXFILE)))),$(workbench-libs-png_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-libs-png_OBJC_NARCHFILES),) + +ifeq (,) +workbench-libs-png_MOBJC_SRCWILDCARD := % +else +workbench-libs-png_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-png_OBJDIR),) + workbench-libs-png_MOBJC_TARGETS := $(addsuffix .o,$(workbench-libs-png_OBJC_NARCHFILES)) + workbench-libs-png_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-libs-png_OBJC_NARCHFILES)) + workbench-libs-png_MOBJC_WILDCARD := % +else + workbench-libs-png_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/,$(workbench-libs-png_OBJC_NARCHFILES))) + workbench-libs-png_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/,$(workbench-libs-png_OBJC_NARCHFILES))) + workbench-libs-png_MOBJC_WILDCARD := $(workbench-libs-png_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-libs-png_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-libs-png_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-png_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-png_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-libs-png_MOBJC_DIRS := $(foreach dir, $(workbench-libs-png_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-png_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-libs-png_MOBJC_DIRS),) + workbench-libs-png_MOBJC_DIRS := $(shell echo $(workbench-libs-png_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-libs-png_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-libs-png_CC := $(TARGET_CC) +else + workbench-libs-png_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-libs-png_MOBJC_CPPFLAGS := $(workbench-libs-png_CPPFLAGS) +workbench-libs-png_OBJCFLAGS := $(workbench-libs-png_CFLAGS) +workbench-libs-png_OBJCFLAGS := $(workbench-libs-png_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-libs-png_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-libs-png_OBJCFLAGS))) +ifeq ($(workbench-libs-png_DFLAGS),) + workbench-libs-png_OBJCDFLAGS := $(workbench-libs-png_CFLAGS) +else + workbench-libs-png_OBJCDFLAGS := $(workbench-libs-png_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-libs-png_LINK ?= $(strip $(workbench-libs-png_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-png_STRIP ?= $(TARGET_STRIP) + workbench-libs-png_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-libs-png_CC) $(TARGET_SYSROOT)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_MOBJC_CPPFLAGS:=$(strip $(workbench-libs-png_MOBJC_CPPFLAGS) $(workbench-libs-png_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_OBJCFLAGS:=$(strip $(workbench-libs-png_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_OBJCDFLAGS:=$(workbench-libs-png_OBJCDFLAGS) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-libs-png_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-libs-png_STRIP ?= $(HOST_STRIP) + workbench-libs-png_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-libs-png_MOBJC_CPPFLAGS) $(workbench-libs-png_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_OBJCFLAGS)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_OBJCDFLAGS)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_IQUOTE:=$(HOST_IQUOTE) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-libs-png_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-png_STRIP ?= $(ECHO) >/dev/null + workbench-libs-png_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-libs-png_MOBJC_CPPFLAGS) $(workbench-libs-png_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_OBJCFLAGS)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_OBJCDFLAGS)) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-libs-png_MOBJC_TARGETS) $(workbench-libs-png_MOBJC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-png_MOBJC_TARGETS) : CPPFLAGS := $(workbench-libs-png_MOBJC_CPPFLAGS) +$(workbench-libs-png_MOBJC_TARGETS) : CFLAGS := $(workbench-libs-png_OBJCFLAGS) +$(workbench-libs-png_MOBJC_TARGETS) : $(workbench-libs-png_MOBJC_WILDCARD).o : $(workbench-libs-png_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-png_MOBJC_DTARGETS) : $(workbench-libs-png_MOBJC_WILDCARD).d : $(workbench-libs-png_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-png_OBJCDFLAGS) $(workbench-libs-png_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-libs-png_MC_SRCWILDCARD := % +else +workbench-libs-png_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-png_OBJDIR),) +workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(workbench-libs-png_CCFILES)) +workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-png_CCFILES)) +workbench-libs-png_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(workbench-libs-png_CCFILES)))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(workbench-libs-png_CCFILES)))) +else +ifeq (,) + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/,$(workbench-libs-png_CCFILES))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/,$(workbench-libs-png_CCFILES))) +else + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-png_CCFILES)))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-png_CCFILES)))) +endif +endif +workbench-libs-png_MC_TGTWILDCARD := $(workbench-libs-png_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-png_CCFILES)) + +# Be sure that all .c files are found +workbench-libs-png_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-png_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-png_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-png_MC_DIRS := $(foreach dir, $(workbench-libs-png_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-png_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-png_MC_DIRS),) + workbench-libs-png_MC_DIRS := $(shell echo $(workbench-libs-png_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-png_MC_DIRS) +endif + +endif + +workbench-libs-png_MC_CPPFLAGS := $(workbench-libs-png_CPPFLAGS) +workbench-libs-png_CFLAGS := $(workbench-libs-png_CFLAGS) +ifeq ($(workbench-libs-png_DFLAGS),) + workbench-libs-png_DFLAGS := $(workbench-libs-png_CFLAGS) +else + workbench-libs-png_DFLAGS := $(workbench-libs-png_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-png_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-png_STRIP ?= $(TARGET_STRIP) +workbench-libs-png_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(workbench-libs-png_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(workbench-libs-png_DFLAGS) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-png_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-png_STRIP ?= $(HOST_STRIP) +workbench-libs-png_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_DFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-png_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-png_STRIP ?= $(ECHO) >/dev/null +workbench-libs-png_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_DFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-png_MC_TARGETS) : CPPFLAGS := $(workbench-libs-png_MC_CPPFLAGS) +$(workbench-libs-png_MC_TARGETS) : CFLAGS := $(workbench-libs-png_CFLAGS) +$(workbench-libs-png_MC_TARGETS) : $(workbench-libs-png_MC_TGTWILDCARD).o : $(workbench-libs-png_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-png_MC_DTARGETS) : $(workbench-libs-png_MC_TGTWILDCARD).d : $(workbench-libs-png_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-png_DFLAGS) $(workbench-libs-png_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-png_MC_SRCWILDCARD := % +else +workbench-libs-png_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-png_OBJDIR),) +workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(workbench-libs-png_TARGETCCFILES)) +workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-png_TARGETCCFILES)) +workbench-libs-png_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(workbench-libs-png_TARGETCCFILES)))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(workbench-libs-png_TARGETCCFILES)))) +else +ifeq (,) + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/,$(workbench-libs-png_TARGETCCFILES))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/,$(workbench-libs-png_TARGETCCFILES))) +else + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-png_TARGETCCFILES)))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-png_TARGETCCFILES)))) +endif +endif +workbench-libs-png_MC_TGTWILDCARD := $(workbench-libs-png_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-png_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-libs-png_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-png_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-png_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-png_MC_DIRS := $(foreach dir, $(workbench-libs-png_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-png_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-png_MC_DIRS),) + workbench-libs-png_MC_DIRS := $(shell echo $(workbench-libs-png_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-png_MC_DIRS) +endif + +endif + +workbench-libs-png_MC_CPPFLAGS := $(workbench-libs-png_CPPFLAGS) -D__AROS__ +workbench-libs-png_CFLAGS := $(workbench-libs-png_CFLAGS) +ifeq ($(workbench-libs-png_DFLAGS),) + workbench-libs-png_DFLAGS := $(workbench-libs-png_CFLAGS) +else + workbench-libs-png_DFLAGS := $(workbench-libs-png_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-png_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-png_STRIP ?= $(TARGET_STRIP) +workbench-libs-png_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(workbench-libs-png_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(workbench-libs-png_DFLAGS) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-png_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-png_STRIP ?= $(HOST_STRIP) +workbench-libs-png_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_DFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-png_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-png_STRIP ?= $(ECHO) >/dev/null +workbench-libs-png_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_DFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-png_MC_TARGETS) : CPPFLAGS := $(workbench-libs-png_MC_CPPFLAGS) +$(workbench-libs-png_MC_TARGETS) : CFLAGS := $(workbench-libs-png_CFLAGS) +$(workbench-libs-png_MC_TARGETS) : $(workbench-libs-png_MC_TGTWILDCARD).o : $(workbench-libs-png_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-png_MC_DTARGETS) : $(workbench-libs-png_MC_TGTWILDCARD).d : $(workbench-libs-png_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-png_DFLAGS) $(workbench-libs-png_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-png_MC_SRCWILDCARD := % +else +workbench-libs-png_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-png_OBJDIR)/linklib,) +workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(workbench-libs-png_NLIBARCHFILES)) +workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-png_NLIBARCHFILES)) +workbench-libs-png_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(notdir $(workbench-libs-png_NLIBARCHFILES)))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(notdir $(workbench-libs-png_NLIBARCHFILES)))) +else +ifeq (,) + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(workbench-libs-png_NLIBARCHFILES))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(workbench-libs-png_NLIBARCHFILES))) +else + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-png_NLIBARCHFILES)))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-png_NLIBARCHFILES)))) +endif +endif +workbench-libs-png_MC_TGTWILDCARD := $(workbench-libs-png_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-png_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-libs-png_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-png_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-png_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-png_MC_DIRS := $(foreach dir, $(workbench-libs-png_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-png_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-png_MC_DIRS),) + workbench-libs-png_MC_DIRS := $(shell echo $(workbench-libs-png_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-png_MC_DIRS) +endif + +endif + +workbench-libs-png_MC_CPPFLAGS := $(workbench-libs-png_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-png_CFLAGS := $(workbench-libs-png_LINKLIBCFLAGS) +ifeq ($(workbench-libs-png_LINKLIBDFLAGS),) + workbench-libs-png_DFLAGS := $(workbench-libs-png_LINKLIBCFLAGS) +else + workbench-libs-png_DFLAGS := $(workbench-libs-png_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-png_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-png_STRIP ?= $(TARGET_STRIP) +workbench-libs-png_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(workbench-libs-png_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(workbench-libs-png_DFLAGS) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-png_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-png_STRIP ?= $(HOST_STRIP) +workbench-libs-png_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_DFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-png_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-png_STRIP ?= $(ECHO) >/dev/null +workbench-libs-png_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_DFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-png_MC_TARGETS) : CPPFLAGS := $(workbench-libs-png_MC_CPPFLAGS) +$(workbench-libs-png_MC_TARGETS) : CFLAGS := $(workbench-libs-png_CFLAGS) +$(workbench-libs-png_MC_TARGETS) : $(workbench-libs-png_MC_TGTWILDCARD).o : $(workbench-libs-png_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-png_MC_DTARGETS) : $(workbench-libs-png_MC_TGTWILDCARD).d : $(workbench-libs-png_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-png_DFLAGS) $(workbench-libs-png_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-libs-png_OBJDIR)/linklib,) +workbench-libs-png_MC_SRCWILDCARD := % +else +workbench-libs-png_MC_SRCWILDCARD := $(workbench-libs-png_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-libs-png_OBJDIR)/linklib,) +workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(workbench-libs-png_LINKLIBCCGENFILES)) +workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-png_LINKLIBCCGENFILES)) +workbench-libs-png_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(notdir $(workbench-libs-png_LINKLIBCCGENFILES)))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(notdir $(workbench-libs-png_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-libs-png_OBJDIR)/linklib,) + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(workbench-libs-png_LINKLIBCCGENFILES))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(workbench-libs-png_LINKLIBCCGENFILES))) +else + workbench-libs-png_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(patsubst $(workbench-libs-png_OBJDIR)/linklib/%,%,$(workbench-libs-png_LINKLIBCCGENFILES)))) + workbench-libs-png_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(patsubst $(workbench-libs-png_OBJDIR)/linklib/%,%,$(workbench-libs-png_LINKLIBCCGENFILES)))) +endif +endif +workbench-libs-png_MC_TGTWILDCARD := $(workbench-libs-png_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-png_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-libs-png_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-png_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-png_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-png_MC_DIRS := $(foreach dir, $(workbench-libs-png_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-png_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-png_MC_DIRS),) + workbench-libs-png_MC_DIRS := $(shell echo $(workbench-libs-png_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-png_MC_DIRS) +endif + +endif + +workbench-libs-png_MC_CPPFLAGS := $(workbench-libs-png_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-png_CFLAGS := $(workbench-libs-png_LINKLIBCFLAGS) +ifeq ($(workbench-libs-png_LINKLIBDFLAGS),) + workbench-libs-png_DFLAGS := $(workbench-libs-png_LINKLIBCFLAGS) +else + workbench-libs-png_DFLAGS := $(workbench-libs-png_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-png_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-png_STRIP ?= $(TARGET_STRIP) +workbench-libs-png_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(workbench-libs-png_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(workbench-libs-png_DFLAGS) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-png_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-png_STRIP ?= $(HOST_STRIP) +workbench-libs-png_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-png_DFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-png_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-png_STRIP ?= $(ECHO) >/dev/null +workbench-libs-png_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-png_MC_CPPFLAGS) $(workbench-libs-png_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_CFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-png_DFLAGS)) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-png_MC_TARGETS) $(workbench-libs-png_MC_DTARGETS) : workbench-libs-png_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-png_MC_TARGETS) : CPPFLAGS := $(workbench-libs-png_MC_CPPFLAGS) +$(workbench-libs-png_MC_TARGETS) : CFLAGS := $(workbench-libs-png_CFLAGS) +$(workbench-libs-png_MC_TARGETS) : $(workbench-libs-png_MC_TGTWILDCARD).o : $(workbench-libs-png_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-png_IQUOTE) $(dir $<) $(workbench-libs-png_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-png_IQUOTE) . $(workbench-libs-png_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-png_MC_DTARGETS) : $(workbench-libs-png_MC_TGTWILDCARD).d : $(workbench-libs-png_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-png_DFLAGS) $(workbench-libs-png_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-libs-png_LINKLIBAFILES),) + +ifeq ($(workbench-libs-png_OBJDIR)/linklib,) +workbench-libs-png-MA_TARGETS := $(addsuffix .o,$(workbench-libs-png_LINKLIBAFILES) $(workbench-libs-png_RELLINKLIBAFILES)) +workbench-libs-png-MA_WILDCARD := % +else +workbench-libs-png-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(notdir $(workbench-libs-png_LINKLIBAFILES) $(workbench-libs-png_RELLINKLIBAFILES)))) +workbench-libs-png-MA_WILDCARD := $(workbench-libs-png_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-libs-png-MA_TARGETS) : | $(addsuffix .S,$(workbench-libs-png_LINKLIBAFILES) $(workbench-libs-png_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-libs-png-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-png-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-png_LINKLIBAFILES) $(workbench-libs-png_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-png-MA_DIRS := $(foreach dir, $(workbench-libs-png-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-png-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-png-MA_DIRS),) + workbench-libs-png-MA_DIRS := $(shell echo $(workbench-libs-png-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-libs-png-MA_DIRS) +endif + +endif + +workbench-libs-png-MA_ASSEMBLER ?= $(workbench-libs-png_ASSEMBLER) + +$(workbench-libs-png-MA_TARGETS) : workbench-libs-png-MA_CMD:= $(workbench-libs-png-MA_ASSEMBLER) + +$(workbench-libs-png-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-libs-png-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-libs-png-MA_TARGETS) : $(workbench-libs-png-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-libs-png-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-libs-png-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-libs-png-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-libs-png_SUFFIX := library +else +workbench-libs-png_SUFFIX := +endif + +ifeq (target,target) +workbench-libs-png_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-libs-png_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-libs-png_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-libs-png_SUFFIX),handler) +workbench-libs-png_MODULE := $(AROSDIR)/$(workbench-libs-png_MODDIR)/$(workbench-libs-png_DEFNAME)-$(workbench-libs-png_SUFFIX) +else +workbench-libs-png_MODULE := $(AROSDIR)/$(workbench-libs-png_MODDIR)/$(workbench-libs-png_DEFNAME).$(workbench-libs-png_SUFFIX) +endif +workbench-libs-png_KOBJ := $(KOBJSDIR)/$(workbench-libs-png_DEFNAME)_$(workbench-libs-png_SUFFIX).o +else +workbench-libs-png_MODULE := +workbench-libs-png_KOBJ := +endif + +workbench-libs-png-quick : workbench-libs-png +workbench-libs-png : $(workbench-libs-png_MODULE) $(workbench-libs-png_LINKLIB) $(workbench-libs-png_RELLINKLIB) +ifeq (M,M) +workbench-libs-png-kobj : $(workbench-libs-png_KOBJ) $(workbench-libs-png_LINKLIB) $(workbench-libs-png_RELLINKLIB) +workbench-libs-png-kobj-quick : $(workbench-libs-png_KOBJ) $(workbench-libs-png_LINKLIB) $(workbench-libs-png_RELLINKLIB) +endif +ifeq (M,M) +workbench-libs-png-linklib : $(workbench-libs-png_LINKLIB) $(workbench-libs-png_RELLINKLIB) +endif + +workbench-libs-png_OBJS := $(addsuffix .o,$(workbench-libs-png_STARTFILES)) $(workbench-libs-png_ARCHOBJS) \ + $(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(workbench-libs-png_C_NARCHFILES:=.o) $(workbench-libs-png_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-libs-png_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (png,con) + workbench-libs-png_ERR := $(notdir $(workbench-libs-png_MODULE)).err +else + workbench-libs-png_ERR := png.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-libs-png_DEFNAME)_LDFLAGS) $(workbench-libs-png_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-libs-png_LIBS) $($(workbench-libs-png_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-libs-png_MODULE) : LIB_NAMES := $(workbench-libs-png_LIBS) $($(workbench-libs-png_DEFNAME)_LIBS) +$(workbench-libs-png_MODULE) : OBJS := $(workbench-libs-png_STARTOBJS) $(workbench-libs-png_OBJS) $(USER_OBJS) +$(workbench-libs-png_MODULE) : ENDTAG := $(workbench-libs-png_ENDOBJS) +$(workbench-libs-png_MODULE) : ERR := $(workbench-libs-png_ERR) +$(workbench-libs-png_MODULE) : OBJDIR := $(workbench-libs-png_OBJDIR) +$(workbench-libs-png_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-libs-png_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-libs-png_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-libs-png_MODULE) : $(workbench-libs-png_STARTOBJS) $(workbench-libs-png_OBJS) $(USER_OBJS) $(workbench-libs-png_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-libs-png_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-libs-png_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-libs-png_LC_LINKLIBNAME := $(shell echo $(workbench-libs-png_LINKLIBNAME) | tr A-Z a-z) +workbench-libs-png_LC_MODNAME := $(shell echo png | tr A-Z a-z) +ifneq ($(workbench-libs-png_LINKLIB),) + +ifeq (target,target) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(HOST_AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(KERNEL_AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)$(workbench-libs-png_LIBSUFFIX).a : $(workbench-libs-png_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-png_AR) $@ $^ + $(Q)$(workbench-libs-png_RANLIB) $@ +ifneq ($(workbench-libs-png_LC_MODNAME),$(workbench-libs-png_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-png_LIBDIR)/libpng$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(AR) +$(workbench-libs-png_LIBDIR)/libpng$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-png_LIBDIR)/libpng$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(HOST_AR) +$(workbench-libs-png_LIBDIR)/libpng$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-png_LIBDIR)/libpng$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(KERNEL_AR) +$(workbench-libs-png_LIBDIR)/libpng$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-png_LIBDIR)/libpng$(workbench-libs-png_LIBSUFFIX).a : $(workbench-libs-png_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-png_AR) $@ $^ + $(Q)$(workbench-libs-png_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-png_LINKLIB),) +$(workbench-libs-png_LINKLIB) : | $(workbench-libs-png_LIBDIR) +else +$(workbench-libs-png_LINKLIB) :: $(workbench-libs-png_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-png_LIBDIR) + +endif + +ifneq ($(workbench-libs-png_RELLINKLIB),) + +ifeq (target,target) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(HOST_AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(KERNEL_AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_LINKLIBNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : $(workbench-libs-png_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-png_AR) $@ $^ + $(Q)$(workbench-libs-png_RANLIB) $@ +ifneq ($(workbench-libs-png_LC_MODNAME),$(workbench-libs-png_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_DEFNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_DEFNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_DEFNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(HOST_AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_DEFNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_DEFNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_AR:=$(KERNEL_AR) +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_DEFNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : workbench-libs-png_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-png_LIBDIR)/lib$(workbench-libs-png_DEFNAME)_rel$(workbench-libs-png_LIBSUFFIX).a : $(workbench-libs-png_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-png_AR) $@ $^ + $(Q)$(workbench-libs-png_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-png_RELLINKLIB),) +$(workbench-libs-png_RELLINKLIB) : | $(workbench-libs-png_LIBDIR) +else +$(workbench-libs-png_RELLINKLIB) :: $(workbench-libs-png_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-png_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-libs-png_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-libs-png_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-libs-png_SYMBOLS := $(workbench-libs-png_KBASE) + +workbench-libs-png_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-libs-png_KOBJ_LIBS := $(filter-out $(workbench-libs-png_KLIB),$(workbench-libs-png_LIBS)) $(workbench-libs-png_KAUTOLIB) +$(workbench-libs-png_KOBJ) : LINKLIBS:=$(workbench-libs-png_KOBJ_LIBS) $($(workbench-libs-png_DEFNAME)_LIBS) +$(workbench-libs-png_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-libs-png_SYMBOLS)) +$(workbench-libs-png_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-libs-png_KOBJ) : $(workbench-libs-png_OBJS) $(USER_OBJS) $(workbench-libs-png_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-libs-png_DEPS := $(addprefix $(workbench-libs-png_OBJDIR)/,$(notdir $(workbench-libs-png_CCFILES:=.d) $(workbench-libs-png_TARGETCCFILES:=.d) $(workbench-libs-png_CXXFILES:=.d))) $(addprefix $(workbench-libs-png_OBJDIR)/linklib/,$(notdir $(workbench-libs-png_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-libs-png_DEPS),) + ifneq (workbench-libs-png workbench-libs-png-quick workbench-libs-png-kobj workbench-libs-png-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-png workbench-libs-png-quick workbench-libs-png-kobj workbench-libs-png-kobj-quick),) + -include $(workbench-libs-png_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-png_DEPS) + endif + endif +endif + +$(workbench-libs-png_OBJS) $(workbench-libs-png_DEPS) : | $(workbench-libs-png_OBJDIR)/linklib + +ifneq ($(workbench-libs-png_OBJS) $(workbench-libs-png_DEPS) $(workbench-libs-png_MODULE) $(workbench-libs-png_KOBJ),) +$(workbench-libs-png_OBJS) $(workbench-libs-png_DEPS) $(workbench-libs-png_MODULE) $(workbench-libs-png_KOBJ) : | $(workbench-libs-png_OBJDIR) $(AROSDIR)/$(workbench-libs-png_MODDIR) $(KOBJSDIR) +else +$(workbench-libs-png_OBJS) $(workbench-libs-png_DEPS) $(workbench-libs-png_MODULE) $(workbench-libs-png_KOBJ) :: $(workbench-libs-png_OBJDIR) $(AROSDIR)/$(workbench-libs-png_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-png_OBJDIR) $(AROSDIR)/$(workbench-libs-png_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-libs-png workbench-libs-png-includes workbench-libs-png-quick workbench-libs-png-kobj workbench-libs-png-kobj-quick),) # Only for this target these deps are wanted + +workbench-libs-png_DFILE_DEPS := $(workbench-libs-png_LIBDEFSINC) $(workbench-libs-png_DEFLIBDEFSINC) \ + $(addprefix $(workbench-libs-png_INCDIR)/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) +$(workbench-libs-png_DEPS) : $(workbench-libs-png_DFILE_DEPS) +endif + +workbench-libs-png_TOCLEAN := $(workbench-libs-png_OBJS) $(workbench-libs-png_DEPS) \ + $(workbench-libs-png_MODULE) $(workbench-libs-png_LINKLIB) $(workbench-libs-png_KOBJ) \ + $(workbench-libs-png_OBJDIR)/Makefile.pnglibrary \ + $(addprefix $(workbench-libs-png_OBJDIR)/include/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-png_INCDIR)/,$($(workbench-libs-png_DEFNAME)_INCLUDES)) \ + $(workbench-libs-png_OBJDIR)/png_geninc $(workbench-libs-png_OBJDIR)/png_incs \ + $(addsuffix .c,$(workbench-libs-png_LINKLIBFILES)) $(workbench-libs-png_LINKLIBOBJS) $(workbench-libs-png_LIBDEFSINC) \ + $(workbench-libs-png_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-libs-png_STARTFILES) $(workbench-libs-png_ENDFILES)) \ + $(workbench-libs-png_ENDOBJS) +workbench-libs-png-clean : FILES := $(workbench-libs-png_TOCLEAN) +workbench-libs-png-clean :: + $(Q)$(ECHO) "Cleaning up for module png" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-libs-png_ALLTARGETS) + + +#MM- linklibs: linklibs-png-nostdio +#MM linklibs-png-nostdio : workbench-libs-png-generated + +USER_CPPFLAGS += -DPNG_NO_STDIO -DPNG_NO_WRITE_TIME + + +# assign and generate the local variables used in this macro +linklibs-png-nostdio_LIBNAME := png_nostdio +linklibs-png-nostdio_LINKLIB := $(AROS_LIB)/libpng_nostdio.a + +linklibs-png-nostdio_FILES ?= $(FILES) +linklibs-png-nostdio_ASMFILES := +linklibs-png-nostdio_OBJCFILES := +linklibs-png-nostdio_CXXFILES := + +linklibs-png-nostdio_OBJDIR ?= $(OBJDIR)/no_stdio +linklibs-png-nostdio_ARCHOBJS := $(wildcard $(linklibs-png-nostdio_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-png-nostdio_ARCHFILES := $(basename $(notdir $(linklibs-png-nostdio_ARCHOBJS))) +else + linklibs-png-nostdio_ARCHFILES := $(basename $(patsubst $(linklibs-png-nostdio_OBJDIR)/%,%,$(linklibs-png-nostdio_ARCHOBJS))) +endif +linklibs-png-nostdio_C_NARCHFILES := $(filter-out $(linklibs-png-nostdio_ARCHFILES),$(linklibs-png-nostdio_FILES)) +linklibs-png-nostdio_C_FILES ?= $(linklibs-png-nostdio_C_NARCHFILES) +linklibs-png-nostdio_CXX_NARCHFILES := $(filter-out $(linklibs-png-nostdio_ARCHFILES),$(linklibs-png-nostdio_CXXFILES)) +linklibs-png-nostdio_CXX_FILES ?= $(linklibs-png-nostdio_CXX_NARCHFILES) +linklibs-png-nostdio_OBJC_NARCHFILES := $(filter-out $(linklibs-png-nostdio_ARCHFILES),$(linklibs-png-nostdio_OBJCFILES)) +linklibs-png-nostdio_OBJC_FILES ?= $(linklibs-png-nostdio_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-png-nostdio_OBJ_FILES ?= $(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(notdir $(linklibs-png-nostdio_C_NARCHFILES:=.o) $(linklibs-png-nostdio_CXX_NARCHFILES:=.o) $(linklibs-png-nostdio_ASMFILES:=.o) $(linklibs-png-nostdio_OBJC_NARCHFILES:=.o))) +else + linklibs-png-nostdio_OBJ_FILES ?= $(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(linklibs-png-nostdio_C_NARCHFILES:=.o) $(linklibs-png-nostdio_CXX_NARCHFILES:=.o) $(linklibs-png-nostdio_ASMFILES:=.o) $(linklibs-png-nostdio_OBJC_NARCHFILES:=.o)) +endif +linklibs-png-nostdio_OBJS ?= $(linklibs-png-nostdio_ARCHOBJS) $(linklibs-png-nostdio_OBJ_FILES) +linklibs-png-nostdio_DEPS := $(patsubst %.o,%.d,$(linklibs-png-nostdio_OBJS)) + +linklibs-png-nostdio_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-png-nostdio_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-png-nostdio_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-png-nostdio_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-png-nostdio_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-png-nostdio_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-png-nostdio_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-png-nostdio_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-png-nostdio_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-png-nostdio_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-png-nostdio_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-png-nostdio_CFLAGS)) + linklibs-png-nostdio_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-png-nostdio_CXXFLAGS)) +endif +endif +linklibs-png-nostdio_AFLAGS := $(AFLAGS) +linklibs-png-nostdio_DFLAGS := +ifneq (,) + linklibs-png-nostdio_DFLAGS := +else + linklibs-png-nostdio_DFLAGS := $(linklibs-png-nostdio_CFLAGS) +endif +linklibs-png-nostdio_DXXFLAGS := +ifneq (,) + linklibs-png-nostdio_DXXFLAGS := +else + linklibs-png-nostdio_DXXFLAGS := $(linklibs-png-nostdio_CXXFLAGS) +endif + +.PHONY : linklibs-png-nostdio linklibs-png-nostdio-clean linklibs-png-nostdio-quick + +#MM +linklibs-png-nostdio-quick : linklibs-png-nostdio + +#MM linklibs-png-nostdio : includes-generate-deps +linklibs-png-nostdio : $(linklibs-png-nostdio_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-png-nostdio linklibs-png-nostdio-quick),) + + +linklibs-png-nostdio_CXXABSBASENAMES := $(foreach linklibs-png-nostdio_CXXBASE,$(linklibs-png-nostdio_CXX_FILES),$(if $(filter /%,$(linklibs-png-nostdio_CXXBASE)),$(linklibs-png-nostdio_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-png-nostdio_CXXBASE)))) + +ifneq ($(linklibs-png-nostdio_CXXABSBASENAMES),) + +linklibs-png-nostdio_CXXBASENAMES := $(basename $(linklibs-png-nostdio_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-png-nostdio_MCXX_FILES := $(strip $(foreach linklibs-png-nostdio_CXXBASE,$(linklibs-png-nostdio_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-png-nostdio_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-png-nostdio_EXT),$(linklibs-png-nostdio_CXXBASE))))))) + +ifeq (,) +linklibs-png-nostdio_MCXX_SRCWILDCARD := % +else +linklibs-png-nostdio_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-png-nostdio_OBJDIR),) + linklibs-png-nostdio_CXXTARGETS := $(notdir $(linklibs-png-nostdio_CXXBASENAMES:=.o)) + linklibs-png-nostdio_CXXDTARGETS := $(notdir $(linklibs-png-nostdio_CXXBASENAMES:=.d)) + linklibs-png-nostdio_MCXX_WILDCARD := % +else + linklibs-png-nostdio_CXXTARGETS := $(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(notdir $(linklibs-png-nostdio_CXXBASENAMES:=.o))) + linklibs-png-nostdio_CXXDTARGETS := $(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(notdir $(linklibs-png-nostdio_CXXBASENAMES:=.d))) + linklibs-png-nostdio_MCXX_WILDCARD := $(linklibs-png-nostdio_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-png-nostdio_CXXTARGETS) $(linklibs-png-nostdio_CXXDTARGETS) : | $(linklibs-png-nostdio_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-png-nostdio_MCXX_CPPFLAGS := $(linklibs-png-nostdio_CPPFLAGS) +linklibs-png-nostdio_CXXFLAGS := $(linklibs-png-nostdio_CXXFLAGS) +ifeq ($(linklibs-png-nostdio_DXXFLAGS),) + linklibs-png-nostdio_DXXFLAGS := $(linklibs-png-nostdio_CXXFLAGS) +else + linklibs-png-nostdio_DXXFLAGS := $(linklibs-png-nostdio_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-png-nostdio_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-png-nostdio_STRIP ?= $(HOST_STRIP) + linklibs-png-nostdio_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-png-nostdio_CXXCMD:=$(HOST_CXX) + linklibs-png-nostdio_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-png-nostdio_MCXX_CPPFLAGS) $(linklibs-png-nostdio_MCXX_EXTRA_CPPFLAGS)) + linklibs-png-nostdio_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-png-nostdio_CXXFLAGS)) + linklibs-png-nostdio_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-png-nostdio_DXXFLAGS)) + linklibs-png-nostdio_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-png-nostdio_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-png-nostdio_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-png-nostdio_STRIP ?= $(TARGET_STRIP) + linklibs-png-nostdio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-png-nostdio_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-png-nostdio_MCXX_CPPFLAGS := $(strip $(linklibs-png-nostdio_MCXX_CPPFLAGS) $(linklibs-png-nostdio_MCXX_EXTRA_CPPFLAGS)) + linklibs-png-nostdio_CXXFLAGS := $(strip $(linklibs-png-nostdio_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-png-nostdio_DXXFLAGS := $(linklibs-png-nostdio_DXXFLAGS) + linklibs-png-nostdio_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-png-nostdio_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-png-nostdio_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-png-nostdio_STRIP ?= $(ECHO) >/dev/null + linklibs-png-nostdio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-png-nostdio_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-png-nostdio_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-png-nostdio_MCXX_CPPFLAGS) $(linklibs-png-nostdio_MCXX_EXTRA_CPPFLAGS)) + linklibs-png-nostdio_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-png-nostdio_CXXFLAGS)) + linklibs-png-nostdio_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-png-nostdio_DXXFLAGS)) + linklibs-png-nostdio_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-png-nostdio_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-png-nostdio_CXXCMD) $(linklibs-png-nostdio_CXXIQUOTE) $(dir $(2)) $(linklibs-png-nostdio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_CXXIQUOTE) . $(linklibs-png-nostdio_CXXIQUOTE_END) $(strip $(linklibs-png-nostdio_CXXFLAGS) $(linklibs-png-nostdio_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-png-nostdio_CXXCMD) $(linklibs-png-nostdio_CXXIQUOTE) $(dir $(2)) $(linklibs-png-nostdio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_CXXIQUOTE) . $(linklibs-png-nostdio_CXXIQUOTE_END) $(strip $(linklibs-png-nostdio_CXXFLAGS) $(linklibs-png-nostdio_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-png-nostdio_CXXCMD) $(linklibs-png-nostdio_CXXIQUOTE) $(dir $(2)) $(linklibs-png-nostdio_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_CXXIQUOTE) . $(linklibs-png-nostdio_CXXIQUOTE_END) $(strip $(linklibs-png-nostdio_CXXFLAGS) $(linklibs-png-nostdio_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-png-nostdio_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-png-nostdio_DXXFLAGS) $(linklibs-png-nostdio_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-png-nostdio_OBJDIR),) + $(foreach linklibs-png-nostdio_CXXFILE,$(linklibs-png-nostdio_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-png-nostdio_CXXFILE))),$(linklibs-png-nostdio_CXXFILE)))) +else + $(foreach linklibs-png-nostdio_CXXFILE,$(linklibs-png-nostdio_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(notdir $(basename $(linklibs-png-nostdio_CXXFILE)))),$(linklibs-png-nostdio_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-png-nostdio_OBJC_FILES),) + +ifeq (,) +linklibs-png-nostdio_MOBJC_SRCWILDCARD := % +else +linklibs-png-nostdio_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-png-nostdio_OBJDIR),) + linklibs-png-nostdio_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-png-nostdio_OBJC_FILES)) + linklibs-png-nostdio_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-png-nostdio_OBJC_FILES)) + linklibs-png-nostdio_MOBJC_WILDCARD := % +else + linklibs-png-nostdio_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(linklibs-png-nostdio_OBJC_FILES))) + linklibs-png-nostdio_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(linklibs-png-nostdio_OBJC_FILES))) + linklibs-png-nostdio_MOBJC_WILDCARD := $(linklibs-png-nostdio_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-png-nostdio_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-png-nostdio_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-png-nostdio_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-png-nostdio_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-png-nostdio_MOBJC_DIRS := $(foreach dir, $(linklibs-png-nostdio_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-png-nostdio_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-png-nostdio_MOBJC_DIRS),) + linklibs-png-nostdio_MOBJC_DIRS := $(shell echo $(linklibs-png-nostdio_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-png-nostdio_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-png-nostdio_CC := $(TARGET_CC) +else + linklibs-png-nostdio_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-png-nostdio_MOBJC_CPPFLAGS := $(linklibs-png-nostdio_CPPFLAGS) +linklibs-png-nostdio_OBJCFLAGS := $(linklibs-png-nostdio_CFLAGS) +linklibs-png-nostdio_OBJCFLAGS := $(linklibs-png-nostdio_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-png-nostdio_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-png-nostdio_OBJCFLAGS))) +ifeq ($(linklibs-png-nostdio_DFLAGS),) + linklibs-png-nostdio_OBJCDFLAGS := $(linklibs-png-nostdio_CFLAGS) +else + linklibs-png-nostdio_OBJCDFLAGS := $(linklibs-png-nostdio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-png-nostdio_LINK ?= $(strip $(linklibs-png-nostdio_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-png-nostdio_STRIP ?= $(TARGET_STRIP) + linklibs-png-nostdio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-png-nostdio_CC) $(TARGET_SYSROOT)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_MOBJC_CPPFLAGS:=$(strip $(linklibs-png-nostdio_MOBJC_CPPFLAGS) $(linklibs-png-nostdio_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_OBJCFLAGS:=$(strip $(linklibs-png-nostdio_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_OBJCDFLAGS:=$(linklibs-png-nostdio_OBJCDFLAGS) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-png-nostdio_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-png-nostdio_STRIP ?= $(HOST_STRIP) + linklibs-png-nostdio_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-png-nostdio_MOBJC_CPPFLAGS) $(linklibs-png-nostdio_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-png-nostdio_OBJCFLAGS)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-png-nostdio_OBJCDFLAGS)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-png-nostdio_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-png-nostdio_STRIP ?= $(ECHO) >/dev/null + linklibs-png-nostdio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-png-nostdio_MOBJC_CPPFLAGS) $(linklibs-png-nostdio_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-png-nostdio_OBJCFLAGS)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-png-nostdio_OBJCDFLAGS)) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-png-nostdio_MOBJC_TARGETS) $(linklibs-png-nostdio_MOBJC_DTARGETS) : linklibs-png-nostdio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-png-nostdio_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-png-nostdio_MOBJC_CPPFLAGS) +$(linklibs-png-nostdio_MOBJC_TARGETS) : CFLAGS := $(linklibs-png-nostdio_OBJCFLAGS) +$(linklibs-png-nostdio_MOBJC_TARGETS) : $(linklibs-png-nostdio_MOBJC_WILDCARD).o : $(linklibs-png-nostdio_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-png-nostdio_IQUOTE) $(dir $<) $(linklibs-png-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_IQUOTE) . $(linklibs-png-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-png-nostdio_IQUOTE) $(dir $<) $(linklibs-png-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_IQUOTE) . $(linklibs-png-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-png-nostdio_IQUOTE) $(dir $<) $(linklibs-png-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_IQUOTE) . $(linklibs-png-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-png-nostdio_MOBJC_DTARGETS) : $(linklibs-png-nostdio_MOBJC_WILDCARD).d : $(linklibs-png-nostdio_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-png-nostdio_OBJCDFLAGS) $(linklibs-png-nostdio_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-png-nostdio_MC_SRCWILDCARD := % +else +linklibs-png-nostdio_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-png-nostdio_OBJDIR),) +linklibs-png-nostdio_MC_TARGETS := $(addsuffix .o,$(linklibs-png-nostdio_C_FILES)) +linklibs-png-nostdio_MC_DTARGETS := $(addsuffix .d,$(linklibs-png-nostdio_C_FILES)) +linklibs-png-nostdio_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-png-nostdio_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(notdir $(linklibs-png-nostdio_C_FILES)))) + linklibs-png-nostdio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(notdir $(linklibs-png-nostdio_C_FILES)))) +else +ifeq (,) + linklibs-png-nostdio_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(linklibs-png-nostdio_C_FILES))) + linklibs-png-nostdio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(linklibs-png-nostdio_C_FILES))) +else + linklibs-png-nostdio_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(patsubst /%,%,$(linklibs-png-nostdio_C_FILES)))) + linklibs-png-nostdio_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(patsubst /%,%,$(linklibs-png-nostdio_C_FILES)))) +endif +endif +linklibs-png-nostdio_MC_TGTWILDCARD := $(linklibs-png-nostdio_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-png-nostdio_C_FILES)) + +# Be sure that all .c files are found +linklibs-png-nostdio_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-png-nostdio_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-png-nostdio_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-png-nostdio_MC_DIRS := $(foreach dir, $(linklibs-png-nostdio_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-png-nostdio_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-png-nostdio_MC_DIRS),) + linklibs-png-nostdio_MC_DIRS := $(shell echo $(linklibs-png-nostdio_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-png-nostdio_MC_DIRS) +endif + +endif + +linklibs-png-nostdio_MC_CPPFLAGS := $(linklibs-png-nostdio_CPPFLAGS) +linklibs-png-nostdio_CFLAGS := $(linklibs-png-nostdio_CFLAGS) +ifeq ($(linklibs-png-nostdio_DFLAGS),) + linklibs-png-nostdio_DFLAGS := $(linklibs-png-nostdio_CFLAGS) +else + linklibs-png-nostdio_DFLAGS := $(linklibs-png-nostdio_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-png-nostdio_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-png-nostdio_STRIP ?= $(TARGET_STRIP) +linklibs-png-nostdio_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_MC_CPPFLAGS:=$(strip $(linklibs-png-nostdio_MC_CPPFLAGS) $(linklibs-png-nostdio_MC_EXTRA_CPPFLAGS)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_CFLAGS:=$(strip $(linklibs-png-nostdio_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_DFLAGS:=$(linklibs-png-nostdio_DFLAGS) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-png-nostdio_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-png-nostdio_STRIP ?= $(HOST_STRIP) +linklibs-png-nostdio_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-png-nostdio_MC_CPPFLAGS) $(linklibs-png-nostdio_MC_EXTRA_CPPFLAGS)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-png-nostdio_CFLAGS)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-png-nostdio_DFLAGS)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-png-nostdio_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-png-nostdio_STRIP ?= $(ECHO) >/dev/null +linklibs-png-nostdio_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-png-nostdio_MC_CPPFLAGS) $(linklibs-png-nostdio_MC_EXTRA_CPPFLAGS)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-png-nostdio_CFLAGS)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-png-nostdio_DFLAGS)) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-png-nostdio_MC_TARGETS) $(linklibs-png-nostdio_MC_DTARGETS) : linklibs-png-nostdio_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-png-nostdio_MC_TARGETS) : CPPFLAGS := $(linklibs-png-nostdio_MC_CPPFLAGS) +$(linklibs-png-nostdio_MC_TARGETS) : CFLAGS := $(linklibs-png-nostdio_CFLAGS) +$(linklibs-png-nostdio_MC_TARGETS) : $(linklibs-png-nostdio_MC_TGTWILDCARD).o : $(linklibs-png-nostdio_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-png-nostdio_IQUOTE) $(dir $<) $(linklibs-png-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_IQUOTE) . $(linklibs-png-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-png-nostdio_IQUOTE) $(dir $<) $(linklibs-png-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_IQUOTE) . $(linklibs-png-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-png-nostdio_IQUOTE) $(dir $<) $(linklibs-png-nostdio_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-png-nostdio_IQUOTE) . $(linklibs-png-nostdio_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-png-nostdio_MC_DTARGETS) : $(linklibs-png-nostdio_MC_TGTWILDCARD).d : $(linklibs-png-nostdio_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-png-nostdio_DFLAGS) $(linklibs-png-nostdio_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-png-nostdio_OBJDIR),) +linklibs-png-nostdio-MA_TARGETS := $(addsuffix .o,$(linklibs-png-nostdio_ASMFILES)) +linklibs-png-nostdio-MA_WILDCARD := % +else +linklibs-png-nostdio-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-png-nostdio_OBJDIR)/,$(notdir $(linklibs-png-nostdio_ASMFILES)))) +linklibs-png-nostdio-MA_WILDCARD := $(linklibs-png-nostdio_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-png-nostdio-MA_TARGETS) : | $(addsuffix .s,$(linklibs-png-nostdio_ASMFILES)) + +# Be sure that all .c files are found +linklibs-png-nostdio-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-png-nostdio-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-png-nostdio_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-png-nostdio-MA_DIRS := $(foreach dir, $(linklibs-png-nostdio-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-png-nostdio-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-png-nostdio-MA_DIRS),) + linklibs-png-nostdio-MA_DIRS := $(shell echo $(linklibs-png-nostdio-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-png-nostdio-MA_DIRS) +endif + +endif + +linklibs-png-nostdio-MA_ASSEMBLER ?= $(linklibs-png-nostdio_ASSEMBLER) + +$(linklibs-png-nostdio-MA_TARGETS) : linklibs-png-nostdio-MA_CMD:= $(linklibs-png-nostdio-MA_ASSEMBLER) + +$(linklibs-png-nostdio-MA_TARGETS) : CPPFLAGS := $(linklibs-png-nostdio_CPPFLAGS) +$(linklibs-png-nostdio-MA_TARGETS) : AFLAGS := $(linklibs-png-nostdio_AFLAGS) +$(linklibs-png-nostdio-MA_TARGETS) : $(linklibs-png-nostdio-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-png-nostdio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-png-nostdio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-png-nostdio-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libpng_nostdio.a : linklibs-png-nostdio_AR:=$(AR) +$(AROS_LIB)/libpng_nostdio.a : linklibs-png-nostdio_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libpng_nostdio.a : linklibs-png-nostdio_AR:=$(HOST_AR) +$(AROS_LIB)/libpng_nostdio.a : linklibs-png-nostdio_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libpng_nostdio.a : linklibs-png-nostdio_AR:=$(KERNEL_AR) +$(AROS_LIB)/libpng_nostdio.a : linklibs-png-nostdio_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libpng_nostdio.a : $(linklibs-png-nostdio_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-png-nostdio_AR) $@ $^ + $(Q)$(linklibs-png-nostdio_RANLIB) $@ +endif + +ifneq ($(linklibs-png-nostdio_DEPS),) + ifneq (linklibs-png-nostdio linklibs-png-nostdio-quick,) + ifneq ($(findstring $(TARGET),linklibs-png-nostdio linklibs-png-nostdio-quick),) + -include $(linklibs-png-nostdio_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-png-nostdio_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-png-nostdio_OBJS) $(linklibs-png-nostdio_DEPS) $(linklibs-png-nostdio_LINKLIB),) +$(linklibs-png-nostdio_OBJS) $(linklibs-png-nostdio_DEPS) $(linklibs-png-nostdio_LINKLIB) : | $(linklibs-png-nostdio_OBJDIR) $(AROS_LIB) +else +$(linklibs-png-nostdio_OBJS) $(linklibs-png-nostdio_DEPS) $(linklibs-png-nostdio_LINKLIB) :: $(linklibs-png-nostdio_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(linklibs-png-nostdio_OBJDIR) $(AROS_LIB) + + +linklibs-png-nostdio-clean : FILES := $(linklibs-png-nostdio_OBJS) $(linklibs-png-nostdio_LINKLIB) $(linklibs-png-nostdio_DEPS) +#MM +linklibs-png-nostdio-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-png-nostdio" + $(Q)$(RM) $(FILES) + + +#MM +workbench-libs-png-pkgconfig : $(AROS_LIB)/pkgconfig/libpng.pc + +$(AROS_LIB)/pkgconfig/libpng.pc : $(SRCDIR)/$(CURDIR)/libpng.pc.in $(SRCDIR)/$(CURDIR)/mmakefile.src + $(Q)$(IF) $(TEST) ! -d $(AROS_LIB)/pkgconfig ; then $(MKDIR) $(AROS_LIB)/pkgconfig ; else $(NOP) ; fi + @$(SED) -e 's|@exec_prefix@|$${prefix}|' \ + -e 's|@includedir@/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@|$${prefix}/include|' \ + -e 's|-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@|-lpng|' \ + -e 's|@libdir@|$(AROS_LIB)|' \ + -e 's|@prefix@|/Developer|' \ + -e 's|@LIBS@||' \ + -e 's|@PNGLIB_VERSION@|1.6.3|' \ + -e 's| -I$${includedir}||' \ + $< >$@ + +$(AROS_INCLUDES)/pnglibconf.h : $(SRCDIR)/$(CURDIR)/scripts/pnglibconf.h.prebuilt + $(SED) "s|.*PNG_ERROR_NUMBERS_SUPPORTED.*|#if defined(__AROS__)\\n#define PNG_ERROR_NUMBERS_SUPPORTED\\n#else\\n/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/\\n#endif|g" $< > $@ + +#MM +workbench-libs-png-generated : $(AROS_INCLUDES)/pnglibconf.h + +#MM includes-copy +INCLUDE_FILES := png.h pngconf.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/libs/z/mmakefile b/workbench/libs/z/mmakefile new file mode 100644 index 00000000000..d76cc0798d3 --- /dev/null +++ b/workbench/libs/z/mmakefile @@ -0,0 +1,2266 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-libs-z-includes : \ +#MM kernel-exec-includes \ +#MM kernel-dos-includes \ +#MM includes-copy + +#MM workbench-libs-z : workbench-libs-z-pc + +FILES := adler32 \ + crc32 \ + deflate \ + infback \ + inffast \ + inflate \ + inftrees \ + trees \ + zutil \ + compress \ + uncompr \ + gzclose \ + gzlib \ + gzread \ + gzwrite \ + contrib/blast/blast \ + contrib/infback9/infback9 \ + contrib/infback9/inftree9 + + +LIBZ_CPPFLAGS := -D_XOPEN_SOURCE=600 -DSTDC -DAMIGA -DZ_HAVE_UNISTD_H + +USER_CPPFLAGS := $(LIBZ_CPPFLAGS) + + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-libs-z +#MM workbench-libs-z-quick +#MM workbench-libs-z-makefile +#MM workbench-libs-z-clean + +# ABI targets: +#MM- includes-all : workbench-libs-z-includes +#MM- linklibs-z1: workbench-libs-z-linklib +#MM- linklibs-z1_rel : workbench-libs-z-linklib +#MM- includes-z1: workbench-libs-z-includes +#MM- includes-z1_rel : workbench-libs-z-includes +#MM- workbench-libs-z : workbench-libs-z-includes core-linklibs linklibs- +#MM workbench-libs-z-linklib : workbench-libs-z-includes includes- +#MM- workbench-libs-z-quick : workbench-libs-z-includes-quick +#MM workbench-libs-z-includes : workbench-libs-z-makefile workbench-libs-z-includes-dirs \ +#MM includes-generate-deps workbench-libs-z-fd +#MM workbench-libs-z-includes-quick +#MM workbench-libs-z-includes-dirs +#MM workbench-libs-z-fd + +# Library targets +#MM workbench-libs-z-kobj : core-linklibs linklibs- +#MM workbench-libs-z-kobj-quick : + +# Library with ABI targets: +#MM workbench-libs-z-kobj : workbench-libs-z-includes core-linklibs linklibs- +#MM workbench-libs-z-kobj-quick : workbench-libs-z-includes-quick + +# All MetaMake targets defined by this macro +workbench-libs-z_ALLTARGETS := workbench-libs-z workbench-libs-z-quick workbench-libs-z-clean + +ifeq (M,M) +workbench-libs-z_ALLTARGETS += workbench-libs-z-kobj workbench-libs-z-kobj-quick +endif + +ifeq (M,M) +workbench-libs-z_ALLTARGETS += workbench-libs-z-includes \ + workbench-libs-z-includes-quick workbench-libs-z-includes-dirs \ + workbench-libs-z-linklib workbench-libs-z-fd +endif + +.PHONY : $(workbench-libs-z_ALLTARGETS) workbench-libs-z-makefile + +ifeq (z1,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-libs-z_DEFNAME := z1_ +else + workbench-libs-z_DEFNAME := z1 +endif +workbench-libs-z_DEFLINKLIBNAME := $(workbench-libs-z_DEFNAME) +ifneq (z,) + workbench-libs-z_LINKLIBNAME := z +else + workbench-libs-z_LINKLIBNAME = $(workbench-libs-z_DEFLINKLIBNAME) +endif +workbench-libs-z_DEFCPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-libs-z_DEFCPPFLAGS += -I +endif +workbench-libs-z_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-libs-z_DFLAGS := +else + workbench-libs-z_DFLAGS = $(workbench-libs-z_DEFDFLAGS) +endif +workbench-libs-z_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-libs-z_DXXFLAGS := +else + workbench-libs-z_DXXFLAGS = $(workbench-libs-z_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-z_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-z_DEFDFLAGS)) +workbench-libs-z_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-libs-z_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-z_FUNCINSTR := yes +workbench-libs-z_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-z_DEFDFLAGS)) +workbench-libs-z_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-libs-z_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-libs-z_OBJDIR := +else +workbench-libs-z_OBJDIR := $(OBJDIR)/$(workbench-libs-z_DEFNAME) +endif +ifneq (,) +workbench-libs-z_OBJDIR := $(workbench-libs-z_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-libs-z-makefile := $(workbench-libs-z_OBJDIR)/Makefile.$(workbench-libs-z_DEFNAME)library +workbench-libs-z-genmakefile : $(workbench-libs-z-makefile) + + +workbench-libs-z-genmakefile_OPTS := +ifneq (,) + workbench-libs-z-genmakefile_OPTS += -f + workbench-libs-z-genmakefile_MODNAME := z1_ +else + workbench-libs-z-genmakefile_MODNAME := z1 +endif +workbench-libs-z-genmakefile_TARGET := Makefile.$(workbench-libs-z-genmakefile_MODNAME)library +workbench-libs-z-genmakefile_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-z-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-z-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-z-genmakefile_OPTS += -c + workbench-libs-z-genmakefile_DEPS += + endif +else + workbench-libs-z-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/z1.conf + workbench-libs-z-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/z1.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-z-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-z-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-z-genmakefile_OPTS += -o + workbench-libs-z-genmakefile_DEPS += + endif +endif +ifneq (,) + workbench-libs-z-genmakefile_OPTS += -s +endif +ifneq ($(workbench-libs-z_OBJDIR),) + workbench-libs-z-genmakefile_OPTS += -d $(workbench-libs-z_OBJDIR) + workbench-libs-z-genmakefile_TARGET := $(workbench-libs-z_OBJDIR)/$(workbench-libs-z-genmakefile_TARGET) +endif + +$(workbench-libs-z-genmakefile_TARGET) : OPTS := $(workbench-libs-z-genmakefile_OPTS) +$(workbench-libs-z-genmakefile_TARGET) : MODNAME := z1 +$(workbench-libs-z-genmakefile_TARGET) : MODTYPE := library +$(workbench-libs-z-genmakefile_TARGET) : $(workbench-libs-z-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-libs-z-makefile),) +$(workbench-libs-z-makefile) : | $(workbench-libs-z_OBJDIR) +else +$(workbench-libs-z-makefile) :: $(workbench-libs-z_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-z_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-libs-z_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-libs-z-makefile) + +workbench-libs-z_DEFMODDIR := $($(workbench-libs-z_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-libs-z_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-libs-z_DEFMODDIR) +endif +ifneq (,) + workbench-libs-z_MODDIR := +else + workbench-libs-z_MODDIR := $(workbench-libs-z_DEFMODDIR) +endif + +## include files generation +## +ifneq (,) +workbench-libs-z_INCDIR := +else +workbench-libs-z_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-libs-z_LIBDEFSINC := $(workbench-libs-z_OBJDIR)/include/$(workbench-libs-z_DEFNAME)_libdefs.h +workbench-libs-z_DEFLIBDEFSINC := $(workbench-libs-z_OBJDIR)/include/$(workbench-libs-z_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-libs-z-includes-quick : workbench-libs-z-includes +workbench-libs-z-includes : $(addprefix $(GENINCDIR)/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-z_INCDIR)/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) \ + $(workbench-libs-z_LIBDEFSINC) $(workbench-libs-z_DEFLIBDEFSINC) + +ifneq ($($(workbench-libs-z_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-libs-z-includes_MODNAME := z1_ +else + workbench-libs-z-includes_MODNAME := z1 +endif + +ifneq ($($(workbench-libs-z-includes_MODNAME)_INCLUDES),) + +workbench-libs-z-includes_TARGETS := $($(workbench-libs-z-includes_MODNAME)_INCLUDES) + +workbench-libs-z-includes_DEPS := $(GENMODULE) +workbench-libs-z-includes_OPTS := + +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-z-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-z-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-z-includes_OPTS += -c + workbench-libs-z-includes_DEPS += + endif +else + workbench-libs-z-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/z1.conf + workbench-libs-z-includes_DEPS += $(SRCDIR)/$(CURDIR)/z1.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-z-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-z-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-z-includes_OPTS += -o + workbench-libs-z-includes_DEPS += + endif +endif +ifneq (,) + workbench-libs-z-includes_OPTS += -s +endif +ifneq ($(workbench-libs-z_OBJDIR)/include,) + workbench-libs-z-includes_OPTS += -d $(workbench-libs-z_OBJDIR)/include + workbench-libs-z-includes_TARGETS := $(addprefix $(workbench-libs-z_OBJDIR)/include/,$(workbench-libs-z-includes_TARGETS)) + workbench-libs-z-includes_GENINCFLAG=$(workbench-libs-z_OBJDIR)/include/.z1.library-includes +else + workbench-libs-z-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.z1.library-includes +endif + +$(workbench-libs-z-includes_TARGETS) : $(workbench-libs-z-includes_DEPS) $(workbench-libs-z-includes_GENINCFLAG) + +$(workbench-libs-z-includes_GENINCFLAG) : OPTS := $(workbench-libs-z-includes_OPTS) +$(workbench-libs-z-includes_GENINCFLAG) : MODNAME := z1 +$(workbench-libs-z-includes_GENINCFLAG) : MODTYPE := library +$(workbench-libs-z-includes_GENINCFLAG) : $(workbench-libs-z-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-libs-z_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) : | $(workbench-libs-z_OBJDIR)/z1_geninc + +$(workbench-libs-z_OBJDIR)/z1_geninc : COPYSRCDIR := $(workbench-libs-z_OBJDIR)/include +$(workbench-libs-z_OBJDIR)/z1_geninc : TGTDIR := $(GENINCDIR) +$(workbench-libs-z_OBJDIR)/z1_geninc : FILES := $($(workbench-libs-z_DEFNAME)_INCLUDES) +$(workbench-libs-z_OBJDIR)/z1_geninc : $(addprefix $(workbench-libs-z_OBJDIR)/include/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-libs-z_OBJDIR)/include + +$(addprefix $(workbench-libs-z_INCDIR)/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) : | $(workbench-libs-z_OBJDIR)/z1_incs + +$(workbench-libs-z_OBJDIR)/z1_incs : COPYSRCDIR := $(workbench-libs-z_OBJDIR)/include +$(workbench-libs-z_OBJDIR)/z1_incs : TGTDIR := $(workbench-libs-z_INCDIR) +$(workbench-libs-z_OBJDIR)/z1_incs : FILES := $($(workbench-libs-z_DEFNAME)_INCLUDES) +$(workbench-libs-z_OBJDIR)/z1_incs : $(addprefix $(workbench-libs-z_OBJDIR)/include/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-libs-z_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-libs-z_DEFNAME)_INCLUDES)))) + +TMPz1_INCDIRS := \ + $(workbench-libs-z_OBJDIR)/include $(addprefix $(workbench-libs-z_OBJDIR)/include/,$(workbench-libs-z_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-libs-z_INCDIRS)) \ + $(workbench-libs-z_INCDIR) $(addprefix $(workbench-libs-z_INCDIR)/,$(workbench-libs-z_INCDIRS)) + +ifneq (workbench-libs-z-includes-dirs,) +workbench-libs-z-includes-dirs : | $(TMPz1_INCDIRS) +else +workbench-libs-z-includes-dirs :: $(TMPz1_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPz1_INCDIRS) + + +endif + +endif + + +workbench-libs-z-genlibdefs_OPTS := +ifneq (,) + workbench-libs-z-genlibdefs_OPTS += -f + workbench-libs-z-genlibdefs_MODNAME := z1_ +else + workbench-libs-z-genlibdefs_MODNAME := z1 +endif +workbench-libs-z-genlibdefs_TARGET := $(workbench-libs-z-genlibdefs_MODNAME)_libdefs.h +workbench-libs-z-genlibdefs_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-z-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-z-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-z-genlibdefs_OPTS += -c + workbench-libs-z-genlibdefs_DEPS += + endif +else + workbench-libs-z-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/z1.conf + workbench-libs-z-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/z1.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-z-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-z-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-z-genlibdefs_OPTS += -o + workbench-libs-z-genlibdefs_DEPS += + endif +endif +ifneq (,) + workbench-libs-z-genlibdefs_OPTS += -s +endif +ifneq ($(workbench-libs-z_OBJDIR)/include,) + workbench-libs-z-genlibdefs_OPTS += -d $(workbench-libs-z_OBJDIR)/include + workbench-libs-z-genlibdefs_TARGET := $(workbench-libs-z_OBJDIR)/include/$(workbench-libs-z-genlibdefs_TARGET) +endif +ifneq (,) + workbench-libs-z-genlibdefs_OPTS += -v +endif + +$(workbench-libs-z-genlibdefs_TARGET) : OPTS := $(workbench-libs-z-genlibdefs_OPTS) +$(workbench-libs-z-genlibdefs_TARGET) : MODNAME := z1 +$(workbench-libs-z-genlibdefs_TARGET) : MODTYPE := library +$(workbench-libs-z-genlibdefs_TARGET) : $(workbench-libs-z-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-libs-z_DEFLIBDEFSINC) : FILENAME := $(workbench-libs-z_LIBDEFSINC) +$(workbench-libs-z_DEFLIBDEFSINC) : $(workbench-libs-z_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-libs-z_LIBDEFSINC) $(workbench-libs-z_DEFLIBDEFSINC) : | $(workbench-libs-z_OBJDIR)/include + +ifneq (workbench-libs-z-includes-dirs,) +workbench-libs-z-includes-dirs : | $(workbench-libs-z_OBJDIR)/include +else +workbench-libs-z-includes-dirs :: $(workbench-libs-z_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-libs-z_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-libs-z-genmodfiles_OPTS := +ifneq (,) + workbench-libs-z-genmodfiles_OPTS += -f + workbench-libs-z-genmodfiles_MODNAME := z1_ +else + workbench-libs-z-genmodfiles_MODNAME := z1 +endif +workbench-libs-z-genmodfiles_GENTARGETS := $($(workbench-libs-z-genmodfiles_MODNAME)_STARTFILES) $($(workbench-libs-z-genmodfiles_MODNAME)_ENDFILES) +workbench-libs-z-genmodfiles_STUBTARGETS := $($(workbench-libs-z-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-libs-z-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-libs-z-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-libs-z-genmodfiles_GENTARGETS)) +workbench-libs-z-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-libs-z-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-libs-z-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-libs-z-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-libs-z-genmodfiles_DEPS := $(GENMODULE) +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-z-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ + workbench-libs-z-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-z-genmodfiles_OPTS += -c + workbench-libs-z-genmodfiles_DEPS += + endif +else + workbench-libs-z-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/z1.conf + workbench-libs-z-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/z1.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-libs-z-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-libs-z-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-libs-z-genmodfiles_OPTS += -o + workbench-libs-z-genmodfiles_DEPS += + endif +endif +ifneq (,) + workbench-libs-z-genmodfiles_OPTS += -s +endif +ifneq ($(workbench-libs-z_OBJDIR),) + workbench-libs-z-genmodfiles_OPTS += -d $(workbench-libs-z_OBJDIR) + workbench-libs-z-genmodfiles_TARGETDIR := $(shell echo $(workbench-libs-z_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-z-genmodfiles_GENTARGETS := $(addprefix $(workbench-libs-z-genmodfiles_TARGETDIR)/,$(workbench-libs-z-genmodfiles_GENTARGETS)) + workbench-libs-z-genmodfiles_GENFILEFLAG=$(workbench-libs-z-genmodfiles_TARGETDIR)/.z1.library-genfiles +else + workbench-libs-z-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.z1.library-genfiles +endif +ifneq ($(workbench-libs-z_OBJDIR)/linklib,) + workbench-libs-z-genmodfiles_OPTS += -l $(workbench-libs-z_OBJDIR)/linklib + workbench-libs-z-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-libs-z_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-libs-z-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-z-genmodfiles_STUBTARGETDIR)/,$(workbench-libs-z-genmodfiles_STUBTARGETS)) + workbench-libs-z-genmodfiles_TARGETDIRS += $(workbench-libs-z_OBJDIR)/linklib +else +ifneq ($(workbench-libs-z_OBJDIR),) + workbench-libs-z-genmodfiles_STUBTARGETS := $(addprefix $(workbench-libs-z-genmodfiles_TARGETDIR)/,$(workbench-libs-z-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-libs-z-genmodfiles_TARGETS := $(workbench-libs-z-genmodfiles_GENTARGETS) $(workbench-libs-z-genmodfiles_STUBTARGETS) +ifneq ($(workbench-libs-z-genmodfiles_TARGETDIRS),) +$(workbench-libs-z-genmodfiles_TARGETS) : | $(workbench-libs-z-genmodfiles_TARGETDIRS) +endif + +$(workbench-libs-z-genmodfiles_TARGETS) : $(workbench-libs-z-genmodfiles_DEPS) $(workbench-libs-z-genmodfiles_GENFILEFLAG) + +$(workbench-libs-z-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-libs-z-genmodfiles_OPTS) +$(workbench-libs-z-genmodfiles_GENFILEFLAG) : MODNAME := z1 +$(workbench-libs-z-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-libs-z-genmodfiles_GENFILEFLAG) : $(workbench-libs-z-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-libs-z-genmodfiles_GENFILEFLAG) : $(workbench-libs-z_DEFLIBDEFSINC) $(workbench-libs-z-makefile) + + +ifneq ($(workbench-libs-z-genmodfiles_GENFILEFLAG),) +$(workbench-libs-z-genmodfiles_GENFILEFLAG) : | $(workbench-libs-z_OBJDIR)/linklib +else +$(workbench-libs-z-genmodfiles_GENFILEFLAG) :: $(workbench-libs-z_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-libs-z_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq (,) +workbench-libs-z_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-libs-z_FDDIR := /../$(AROS_DIR_FD) +endif +workbench-libs-z-fd : $(workbench-libs-z_FDDIR)/z1_lib.fd + + +TMP_TARGET := z1_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -c + TMP_DEPS += + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/z1.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/z1.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (,) + TMP_OPTS += -s +endif +ifneq ($(workbench-libs-z_FDDIR),) + TMP_OPTS += -d $(workbench-libs-z_FDDIR) + TMP_TARGET := $(workbench-libs-z_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := z1 +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-libs-z_FDDIR)/z1_lib.fd : | $(workbench-libs-z_FDDIR) + + +ifneq (workbench-libs-z-fd-setup,) +workbench-libs-z-fd-setup : | $(workbench-libs-z_FDDIR) +else +workbench-libs-z-fd-setup :: $(workbench-libs-z_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-z_FDDIR) + +endif + +## Compilation +## +workbench-libs-z_FILES := $(FILES) +workbench-libs-z_OBJCFILES := +workbench-libs-z_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-libs-z_LIBFILES := +workbench-libs-z_LIBS := + +workbench-libs-z_FDIRS := $(sort $(dir $(workbench-libs-z_FILES))) + +workbench-libs-z_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-libs-z_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-libs-z_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-libs-z_FILTERARCH = $(filter-out $(call workbench-libs-z_MATCHARCH,$(1),$(2)),$(2)) +workbench-libs-z_STARTFILES := $(addprefix $(workbench-libs-z_OBJDIR)/,$($(workbench-libs-z_DEFNAME)_STARTFILES)) +workbench-libs-z_ENDFILES := $(addprefix $(workbench-libs-z_OBJDIR)/,$($(workbench-libs-z_DEFNAME)_ENDFILES)) + +workbench-libs-z_ARCHOBJS := $(wildcard $(workbench-libs-z_OBJDIR)/arch/*.o) +workbench-libs-z_LIBARCHOBJS := $(wildcard $(workbench-libs-z_OBJDIR)/linklib/arch/*.o) +workbench-libs-z_ARCHFILES := $(basename $(notdir $(workbench-libs-z_ARCHOBJS))) +workbench-libs-z_LIBARCHFILES := $(basename $(notdir $(workbench-libs-z_LIBARCHOBJS))) +workbench-libs-z_C_NARCHFILES := $(call workbench-libs-z_FILTERARCH,$(workbench-libs-z_ARCHFILES),$(workbench-libs-z_FILES)) +workbench-libs-z_CXX_NARCHFILES := $(call workbench-libs-z_FILTERARCH,$(workbench-libs-z_ARCHFILES),$(workbench-libs-z_CXXFILES)) +workbench-libs-z_OBJC_NARCHFILES := $(call workbench-libs-z_FILTERARCH,$(workbench-libs-z_ARCHFILES),$(workbench-libs-z_OBJCFILES)) +workbench-libs-z_NLIBARCHFILES := $(call workbench-libs-z_FILTERARCH,$(workbench-libs-z_LIBARCHFILES),$(workbench-libs-z_LIBFILES)) +workbench-libs-z_ARCHNLIBFILES := $(call workbench-libs-z_FILTERARCH,$(workbench-libs-z_LIBFILES),$(workbench-libs-z_LIBARCHFILES)) + +workbench-libs-z_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-libs-z_OBJDIR)/include -include $(workbench-libs-z_DEFLIBDEFSINC)) +ifneq (,) +workbench-libs-z_CPPFLAGS += -I +endif +workbench-libs-z_LINKLIBCPPFLAGS := $(workbench-libs-z_CPPFLAGS) +workbench-libs-z_CPPFLAGS += $(strip $($(workbench-libs-z_DEFNAME)_CPPFLAGS)) +workbench-libs-z_LINKLIBCPPFLAGS += $(strip $($(workbench-libs-z_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-libs-z_CFLAGS := $(strip $(CFLAGS) $($(workbench-libs-z_DEFNAME)_CFLAGS)) +workbench-libs-z_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-libs-z_DEFNAME)_LINKLIBCFLAGS)) +workbench-libs-z_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-libs-z_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-libs-z_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-libs-z_CFLAGS := $(strip $(workbench-libs-z_LTOFLAGS) $(workbench-libs-z_CFLAGS)) +workbench-libs-z_LINKLIBCFLAGS := $(strip $(workbench-libs-z_LTOFLAGS) $(workbench-libs-z_LINKLIBCFLAGS)) +workbench-libs-z_CXXFLAGS := $(strip $(workbench-libs-z_LTOFLAGS) $(workbench-libs-z_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-libs-z_SUBSTNULL := +workbench-libs-z_SUBSTSPACE := $(workbench-libs-z_SUBSTNULL) # +workbench-libs-z_SUBSTCOMMA := , +workbench-libs-z_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-libs-z_SUBSTSPACE),$(workbench-libs-z_SUBSTCOMMA),$(strip $($(workbench-libs-z_DEFNAME)_STARTFILES)))) +workbench-libs-z_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-libs-z_CFLAGS := $(strip $(workbench-libs-z_INSTRFUNCFLAGS) $(workbench-libs-z_CFLAGS)) +workbench-libs-z_CXXFLAGS := $(strip $(workbench-libs-z_INSTRFUNCFLAGS) $(workbench-libs-z_CXXFLAGS)) +workbench-libs-z_LIBS += $(workbench-libs-z_INSTRFUNCLIBS) +endif +endif +workbench-libs-z_DFLAGS := $(strip $(workbench-libs-z_DFLAGS) $($(workbench-libs-z_DEFNAME)_DFLAGS)) +workbench-libs-z_LINKLIBDFLAGS := $(strip $(workbench-libs-z_DFLAGS) $($(workbench-libs-z_DEFNAME)_LINKLIBDFLAGS)) +workbench-libs-z_DXXFLAGS := $(strip $(workbench-libs-z_DXXFLAGS) $($(workbench-libs-z_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-libs-z_LIBSUFFIX := +else + workbench-libs-z_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-libs-z_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-libs-z_LIBDIR := +endif + +ifeq (M,M) +workbench-libs-z_LINKLIBCFILES := $(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$($(workbench-libs-z_DEFNAME)_LINKLIBFILES)) +workbench-libs-z_LINKLIBAFILES := $(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$($(workbench-libs-z_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-z_DEFNAME)_LINKLIBFILES) $($(workbench-libs-z_DEFNAME)_LINKLIBAFILES) $(workbench-libs-z_ARCHNLIBFILES)),) + workbench-libs-z_LINKLIB := +else + workbench-libs-z_LINKLIB := $(workbench-libs-z_LIBDIR)/libz1$(workbench-libs-z_LIBSUFFIX).a + ifneq (z1,$(workbench-libs-z_LINKLIBNAME)) + workbench-libs-z_LINKLIB += $(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)$(workbench-libs-z_LIBSUFFIX).a + endif +endif +workbench-libs-z_LINKLIBFILES := $(workbench-libs-z_LINKLIBCFILES) $(workbench-libs-z_LINKLIBAFILES) + +workbench-libs-z_RELLINKLIBCFILES := $(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$($(workbench-libs-z_DEFNAME)_RELLINKLIBFILES)) +workbench-libs-z_RELLINKLIBAFILES := $(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$($(workbench-libs-z_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-libs-z_DEFNAME)_RELLINKLIBFILES) $($(workbench-libs-z_DEFNAME)_RELLINKLIBAFILES) $(workbench-libs-z_ARCHNLIBFILES)),) + workbench-libs-z_RELLINKLIB := +else + workbench-libs-z_RELLINKLIB := $(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_DEFNAME)_rel$(workbench-libs-z_LIBSUFFIX).a + ifneq (z1,$(workbench-libs-z_LINKLIBNAME)) + workbench-libs-z_RELLINKLIB += $(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)_rel$(workbench-libs-z_LIBSUFFIX).a + endif +endif +workbench-libs-z_RELLINKLIBFILES := $(workbench-libs-z_RELLINKLIBCFILES) $(workbench-libs-z_RELLINKLIBAFILES) +endif + +workbench-libs-z_ENDOBJS := $(addsuffix .o,$(workbench-libs-z_ENDFILES)) +workbench-libs-z_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(notdir $(workbench-libs-z_NLIBARCHFILES))) $(addprefix $(workbench-libs-z_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-z_ARCHNLIBFILES))) $(workbench-libs-z_LINKLIBFILES)) \ + +workbench-libs-z_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(notdir $(workbench-libs-z_NLIBARCHFILES))) $(addprefix $(workbench-libs-z_OBJDIR)/linklib/arch/,$(notdir $(workbench-libs-z_ARCHNLIBFILES))) $(workbench-libs-z_RELLINKLIBFILES)) \ + +$(workbench-libs-z_LINKLIBFILES) $(workbench-libs-z_RELLINKLIBFILES) : | $(workbench-libs-z_OBJDIR)/linklib +$(workbench-libs-z_LINKLIBOBJS) $(workbench-libs-z_RELLINKLIBOBJS) : | $(workbench-libs-z_OBJDIR)/linklib + +workbench-libs-z_CCFILES := $(workbench-libs-z_C_NARCHFILES) +workbench-libs-z_TARGETCCFILES := $(strip $(workbench-libs-z_STARTFILES) $(workbench-libs-z_ENDFILES)) +workbench-libs-z_LINKLIBCCFILES := $(strip $(workbench-libs-z_NLIBARCHFILES) $(workbench-libs-z_LINKLIBCFILES) $(workbench-libs-z_RELLINKLIBCFILES)) +workbench-libs-z_LINKLIBCCGENFILES := $(strip $(workbench-libs-z_LINKLIBCFILES) $(workbench-libs-z_RELLINKLIBCFILES)) + + +workbench-libs-z_CXXABSBASENAMES := $(foreach workbench-libs-z_CXXBASE,$(workbench-libs-z_CXX_NARCHFILES),$(if $(filter /%,$(workbench-libs-z_CXXBASE)),$(workbench-libs-z_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-libs-z_CXXBASE)))) + +ifneq ($(workbench-libs-z_CXXABSBASENAMES),) + +workbench-libs-z_CXXBASENAMES := $(basename $(workbench-libs-z_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-libs-z_MCXX_FILES := $(strip $(foreach workbench-libs-z_CXXBASE,$(workbench-libs-z_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-libs-z_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-libs-z_EXT),$(workbench-libs-z_CXXBASE))))))) + +ifeq (,) +workbench-libs-z_MCXX_SRCWILDCARD := % +else +workbench-libs-z_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-z_OBJDIR),) + workbench-libs-z_CXXTARGETS := $(notdir $(workbench-libs-z_CXXBASENAMES:=.o)) + workbench-libs-z_CXXDTARGETS := $(notdir $(workbench-libs-z_CXXBASENAMES:=.d)) + workbench-libs-z_MCXX_WILDCARD := % +else + workbench-libs-z_CXXTARGETS := $(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(workbench-libs-z_CXXBASENAMES:=.o))) + workbench-libs-z_CXXDTARGETS := $(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(workbench-libs-z_CXXBASENAMES:=.d))) + workbench-libs-z_MCXX_WILDCARD := $(workbench-libs-z_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-libs-z_CXXTARGETS) $(workbench-libs-z_CXXDTARGETS) : | $(workbench-libs-z_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-libs-z_MCXX_CPPFLAGS := $(workbench-libs-z_CPPFLAGS) +workbench-libs-z_CXXFLAGS := $(workbench-libs-z_CXXFLAGS) +ifeq ($(workbench-libs-z_DXXFLAGS),) + workbench-libs-z_DXXFLAGS := $(workbench-libs-z_CXXFLAGS) +else + workbench-libs-z_DXXFLAGS := $(workbench-libs-z_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-libs-z_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-libs-z_STRIP ?= $(HOST_STRIP) + workbench-libs-z_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-libs-z_CXXCMD:=$(HOST_CXX) + workbench-libs-z_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-libs-z_MCXX_CPPFLAGS) $(workbench-libs-z_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-z_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-z_CXXFLAGS)) + workbench-libs-z_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-libs-z_DXXFLAGS)) + workbench-libs-z_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-libs-z_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-libs-z_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-z_STRIP ?= $(TARGET_STRIP) + workbench-libs-z_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-libs-z_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-libs-z_MCXX_CPPFLAGS := $(strip $(workbench-libs-z_MCXX_CPPFLAGS) $(workbench-libs-z_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-z_CXXFLAGS := $(strip $(workbench-libs-z_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-libs-z_DXXFLAGS := $(workbench-libs-z_DXXFLAGS) + workbench-libs-z_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-libs-z_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-libs-z_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-z_STRIP ?= $(ECHO) >/dev/null + workbench-libs-z_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-libs-z_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-libs-z_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-libs-z_MCXX_CPPFLAGS) $(workbench-libs-z_MCXX_EXTRA_CPPFLAGS)) + workbench-libs-z_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-z_CXXFLAGS)) + workbench-libs-z_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-libs-z_DXXFLAGS)) + workbench-libs-z_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-libs-z_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-libs-z_CXXCMD) $(workbench-libs-z_CXXIQUOTE) $(dir $(2)) $(workbench-libs-z_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_CXXIQUOTE) . $(workbench-libs-z_CXXIQUOTE_END) $(strip $(workbench-libs-z_CXXFLAGS) $(workbench-libs-z_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-libs-z_CXXCMD) $(workbench-libs-z_CXXIQUOTE) $(dir $(2)) $(workbench-libs-z_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_CXXIQUOTE) . $(workbench-libs-z_CXXIQUOTE_END) $(strip $(workbench-libs-z_CXXFLAGS) $(workbench-libs-z_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-libs-z_CXXCMD) $(workbench-libs-z_CXXIQUOTE) $(dir $(2)) $(workbench-libs-z_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_CXXIQUOTE) . $(workbench-libs-z_CXXIQUOTE_END) $(strip $(workbench-libs-z_CXXFLAGS) $(workbench-libs-z_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-libs-z_CXXCMD)" $(MKDEPEND) $(strip $(workbench-libs-z_DXXFLAGS) $(workbench-libs-z_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-libs-z_OBJDIR),) + $(foreach workbench-libs-z_CXXFILE,$(workbench-libs-z_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-libs-z_CXXFILE))),$(workbench-libs-z_CXXFILE)))) +else + $(foreach workbench-libs-z_CXXFILE,$(workbench-libs-z_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(basename $(workbench-libs-z_CXXFILE)))),$(workbench-libs-z_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-libs-z_OBJC_NARCHFILES),) + +ifeq (,) +workbench-libs-z_MOBJC_SRCWILDCARD := % +else +workbench-libs-z_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-z_OBJDIR),) + workbench-libs-z_MOBJC_TARGETS := $(addsuffix .o,$(workbench-libs-z_OBJC_NARCHFILES)) + workbench-libs-z_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-libs-z_OBJC_NARCHFILES)) + workbench-libs-z_MOBJC_WILDCARD := % +else + workbench-libs-z_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/,$(workbench-libs-z_OBJC_NARCHFILES))) + workbench-libs-z_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/,$(workbench-libs-z_OBJC_NARCHFILES))) + workbench-libs-z_MOBJC_WILDCARD := $(workbench-libs-z_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-libs-z_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-libs-z_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-libs-z_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-z_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-libs-z_MOBJC_DIRS := $(foreach dir, $(workbench-libs-z_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-z_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-libs-z_MOBJC_DIRS),) + workbench-libs-z_MOBJC_DIRS := $(shell echo $(workbench-libs-z_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-libs-z_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-libs-z_CC := $(TARGET_CC) +else + workbench-libs-z_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-libs-z_MOBJC_CPPFLAGS := $(workbench-libs-z_CPPFLAGS) +workbench-libs-z_OBJCFLAGS := $(workbench-libs-z_CFLAGS) +workbench-libs-z_OBJCFLAGS := $(workbench-libs-z_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-libs-z_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-libs-z_OBJCFLAGS))) +ifeq ($(workbench-libs-z_DFLAGS),) + workbench-libs-z_OBJCDFLAGS := $(workbench-libs-z_CFLAGS) +else + workbench-libs-z_OBJCDFLAGS := $(workbench-libs-z_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-libs-z_LINK ?= $(strip $(workbench-libs-z_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-libs-z_STRIP ?= $(TARGET_STRIP) + workbench-libs-z_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-libs-z_CC) $(TARGET_SYSROOT)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_MOBJC_CPPFLAGS:=$(strip $(workbench-libs-z_MOBJC_CPPFLAGS) $(workbench-libs-z_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_OBJCFLAGS:=$(strip $(workbench-libs-z_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_OBJCDFLAGS:=$(workbench-libs-z_OBJCDFLAGS) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-libs-z_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-libs-z_STRIP ?= $(HOST_STRIP) + workbench-libs-z_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-libs-z_MOBJC_CPPFLAGS) $(workbench-libs-z_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_OBJCFLAGS)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_OBJCDFLAGS)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_IQUOTE:=$(HOST_IQUOTE) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-libs-z_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-libs-z_STRIP ?= $(ECHO) >/dev/null + workbench-libs-z_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-libs-z_MOBJC_CPPFLAGS) $(workbench-libs-z_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_OBJCFLAGS)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_OBJCDFLAGS)) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-libs-z_MOBJC_TARGETS) $(workbench-libs-z_MOBJC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-z_MOBJC_TARGETS) : CPPFLAGS := $(workbench-libs-z_MOBJC_CPPFLAGS) +$(workbench-libs-z_MOBJC_TARGETS) : CFLAGS := $(workbench-libs-z_OBJCFLAGS) +$(workbench-libs-z_MOBJC_TARGETS) : $(workbench-libs-z_MOBJC_WILDCARD).o : $(workbench-libs-z_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-z_MOBJC_DTARGETS) : $(workbench-libs-z_MOBJC_WILDCARD).d : $(workbench-libs-z_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-z_OBJCDFLAGS) $(workbench-libs-z_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-libs-z_MC_SRCWILDCARD := % +else +workbench-libs-z_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-z_OBJDIR),) +workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(workbench-libs-z_CCFILES)) +workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-z_CCFILES)) +workbench-libs-z_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(workbench-libs-z_CCFILES)))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(workbench-libs-z_CCFILES)))) +else +ifeq (,) + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/,$(workbench-libs-z_CCFILES))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/,$(workbench-libs-z_CCFILES))) +else + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-z_CCFILES)))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-z_CCFILES)))) +endif +endif +workbench-libs-z_MC_TGTWILDCARD := $(workbench-libs-z_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-z_CCFILES)) + +# Be sure that all .c files are found +workbench-libs-z_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-z_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-z_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-z_MC_DIRS := $(foreach dir, $(workbench-libs-z_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-z_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-z_MC_DIRS),) + workbench-libs-z_MC_DIRS := $(shell echo $(workbench-libs-z_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-z_MC_DIRS) +endif + +endif + +workbench-libs-z_MC_CPPFLAGS := $(workbench-libs-z_CPPFLAGS) +workbench-libs-z_CFLAGS := $(workbench-libs-z_CFLAGS) +ifeq ($(workbench-libs-z_DFLAGS),) + workbench-libs-z_DFLAGS := $(workbench-libs-z_CFLAGS) +else + workbench-libs-z_DFLAGS := $(workbench-libs-z_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-z_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-z_STRIP ?= $(TARGET_STRIP) +workbench-libs-z_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(workbench-libs-z_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(workbench-libs-z_DFLAGS) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-z_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-z_STRIP ?= $(HOST_STRIP) +workbench-libs-z_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_DFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-z_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-z_STRIP ?= $(ECHO) >/dev/null +workbench-libs-z_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_DFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-z_MC_TARGETS) : CPPFLAGS := $(workbench-libs-z_MC_CPPFLAGS) +$(workbench-libs-z_MC_TARGETS) : CFLAGS := $(workbench-libs-z_CFLAGS) +$(workbench-libs-z_MC_TARGETS) : $(workbench-libs-z_MC_TGTWILDCARD).o : $(workbench-libs-z_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-z_MC_DTARGETS) : $(workbench-libs-z_MC_TGTWILDCARD).d : $(workbench-libs-z_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-z_DFLAGS) $(workbench-libs-z_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-z_MC_SRCWILDCARD := % +else +workbench-libs-z_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-z_OBJDIR),) +workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(workbench-libs-z_TARGETCCFILES)) +workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-z_TARGETCCFILES)) +workbench-libs-z_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(workbench-libs-z_TARGETCCFILES)))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(workbench-libs-z_TARGETCCFILES)))) +else +ifeq (,) + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/,$(workbench-libs-z_TARGETCCFILES))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/,$(workbench-libs-z_TARGETCCFILES))) +else + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-z_TARGETCCFILES)))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/,$(patsubst /%,%,$(workbench-libs-z_TARGETCCFILES)))) +endif +endif +workbench-libs-z_MC_TGTWILDCARD := $(workbench-libs-z_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-z_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-libs-z_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-z_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-z_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-z_MC_DIRS := $(foreach dir, $(workbench-libs-z_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-z_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-z_MC_DIRS),) + workbench-libs-z_MC_DIRS := $(shell echo $(workbench-libs-z_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-z_MC_DIRS) +endif + +endif + +workbench-libs-z_MC_CPPFLAGS := $(workbench-libs-z_CPPFLAGS) -D__AROS__ +workbench-libs-z_CFLAGS := $(workbench-libs-z_CFLAGS) +ifeq ($(workbench-libs-z_DFLAGS),) + workbench-libs-z_DFLAGS := $(workbench-libs-z_CFLAGS) +else + workbench-libs-z_DFLAGS := $(workbench-libs-z_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-z_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-z_STRIP ?= $(TARGET_STRIP) +workbench-libs-z_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(workbench-libs-z_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(workbench-libs-z_DFLAGS) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-z_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-z_STRIP ?= $(HOST_STRIP) +workbench-libs-z_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_DFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-z_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-z_STRIP ?= $(ECHO) >/dev/null +workbench-libs-z_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_DFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-z_MC_TARGETS) : CPPFLAGS := $(workbench-libs-z_MC_CPPFLAGS) +$(workbench-libs-z_MC_TARGETS) : CFLAGS := $(workbench-libs-z_CFLAGS) +$(workbench-libs-z_MC_TARGETS) : $(workbench-libs-z_MC_TGTWILDCARD).o : $(workbench-libs-z_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-z_MC_DTARGETS) : $(workbench-libs-z_MC_TGTWILDCARD).d : $(workbench-libs-z_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-z_DFLAGS) $(workbench-libs-z_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-libs-z_MC_SRCWILDCARD := % +else +workbench-libs-z_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-libs-z_OBJDIR)/linklib,) +workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(workbench-libs-z_NLIBARCHFILES)) +workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-z_NLIBARCHFILES)) +workbench-libs-z_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(notdir $(workbench-libs-z_NLIBARCHFILES)))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(notdir $(workbench-libs-z_NLIBARCHFILES)))) +else +ifeq (,) + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(workbench-libs-z_NLIBARCHFILES))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(workbench-libs-z_NLIBARCHFILES))) +else + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-z_NLIBARCHFILES)))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-libs-z_NLIBARCHFILES)))) +endif +endif +workbench-libs-z_MC_TGTWILDCARD := $(workbench-libs-z_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-z_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-libs-z_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-z_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-z_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-z_MC_DIRS := $(foreach dir, $(workbench-libs-z_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-z_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-z_MC_DIRS),) + workbench-libs-z_MC_DIRS := $(shell echo $(workbench-libs-z_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-z_MC_DIRS) +endif + +endif + +workbench-libs-z_MC_CPPFLAGS := $(workbench-libs-z_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-z_CFLAGS := $(workbench-libs-z_LINKLIBCFLAGS) +ifeq ($(workbench-libs-z_LINKLIBDFLAGS),) + workbench-libs-z_DFLAGS := $(workbench-libs-z_LINKLIBCFLAGS) +else + workbench-libs-z_DFLAGS := $(workbench-libs-z_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-z_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-z_STRIP ?= $(TARGET_STRIP) +workbench-libs-z_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(workbench-libs-z_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(workbench-libs-z_DFLAGS) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-z_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-z_STRIP ?= $(HOST_STRIP) +workbench-libs-z_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_DFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-z_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-z_STRIP ?= $(ECHO) >/dev/null +workbench-libs-z_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_DFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-z_MC_TARGETS) : CPPFLAGS := $(workbench-libs-z_MC_CPPFLAGS) +$(workbench-libs-z_MC_TARGETS) : CFLAGS := $(workbench-libs-z_CFLAGS) +$(workbench-libs-z_MC_TARGETS) : $(workbench-libs-z_MC_TGTWILDCARD).o : $(workbench-libs-z_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-z_MC_DTARGETS) : $(workbench-libs-z_MC_TGTWILDCARD).d : $(workbench-libs-z_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-z_DFLAGS) $(workbench-libs-z_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-libs-z_OBJDIR)/linklib,) +workbench-libs-z_MC_SRCWILDCARD := % +else +workbench-libs-z_MC_SRCWILDCARD := $(workbench-libs-z_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-libs-z_OBJDIR)/linklib,) +workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(workbench-libs-z_LINKLIBCCGENFILES)) +workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(workbench-libs-z_LINKLIBCCGENFILES)) +workbench-libs-z_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(notdir $(workbench-libs-z_LINKLIBCCGENFILES)))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(notdir $(workbench-libs-z_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-libs-z_OBJDIR)/linklib,) + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(workbench-libs-z_LINKLIBCCGENFILES))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(workbench-libs-z_LINKLIBCCGENFILES))) +else + workbench-libs-z_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(patsubst $(workbench-libs-z_OBJDIR)/linklib/%,%,$(workbench-libs-z_LINKLIBCCGENFILES)))) + workbench-libs-z_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(patsubst $(workbench-libs-z_OBJDIR)/linklib/%,%,$(workbench-libs-z_LINKLIBCCGENFILES)))) +endif +endif +workbench-libs-z_MC_TGTWILDCARD := $(workbench-libs-z_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : | $(addsuffix .c,$(workbench-libs-z_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-libs-z_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-z_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-z_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-z_MC_DIRS := $(foreach dir, $(workbench-libs-z_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-z_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-z_MC_DIRS),) + workbench-libs-z_MC_DIRS := $(shell echo $(workbench-libs-z_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-libs-z_MC_DIRS) +endif + +endif + +workbench-libs-z_MC_CPPFLAGS := $(workbench-libs-z_LINKLIBCPPFLAGS) -D__AROS__ +workbench-libs-z_CFLAGS := $(workbench-libs-z_LINKLIBCFLAGS) +ifeq ($(workbench-libs-z_LINKLIBDFLAGS),) + workbench-libs-z_DFLAGS := $(workbench-libs-z_LINKLIBCFLAGS) +else + workbench-libs-z_DFLAGS := $(workbench-libs-z_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-libs-z_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-libs-z_STRIP ?= $(TARGET_STRIP) +workbench-libs-z_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(workbench-libs-z_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(workbench-libs-z_DFLAGS) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-libs-z_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-libs-z_STRIP ?= $(HOST_STRIP) +workbench-libs-z_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-libs-z_DFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(HOST_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-libs-z_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-libs-z_STRIP ?= $(ECHO) >/dev/null +workbench-libs-z_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-libs-z_MC_CPPFLAGS) $(workbench-libs-z_MC_EXTRA_CPPFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_CFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-libs-z_DFLAGS)) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-libs-z_MC_TARGETS) $(workbench-libs-z_MC_DTARGETS) : workbench-libs-z_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-libs-z_MC_TARGETS) : CPPFLAGS := $(workbench-libs-z_MC_CPPFLAGS) +$(workbench-libs-z_MC_TARGETS) : CFLAGS := $(workbench-libs-z_CFLAGS) +$(workbench-libs-z_MC_TARGETS) : $(workbench-libs-z_MC_TGTWILDCARD).o : $(workbench-libs-z_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-libs-z_IQUOTE) $(dir $<) $(workbench-libs-z_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-libs-z_IQUOTE) . $(workbench-libs-z_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-libs-z_MC_DTARGETS) : $(workbench-libs-z_MC_TGTWILDCARD).d : $(workbench-libs-z_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-libs-z_DFLAGS) $(workbench-libs-z_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-libs-z_LINKLIBAFILES),) + +ifeq ($(workbench-libs-z_OBJDIR)/linklib,) +workbench-libs-z-MA_TARGETS := $(addsuffix .o,$(workbench-libs-z_LINKLIBAFILES) $(workbench-libs-z_RELLINKLIBAFILES)) +workbench-libs-z-MA_WILDCARD := % +else +workbench-libs-z-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(notdir $(workbench-libs-z_LINKLIBAFILES) $(workbench-libs-z_RELLINKLIBAFILES)))) +workbench-libs-z-MA_WILDCARD := $(workbench-libs-z_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-libs-z-MA_TARGETS) : | $(addsuffix .S,$(workbench-libs-z_LINKLIBAFILES) $(workbench-libs-z_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-libs-z-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-libs-z-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-libs-z_LINKLIBAFILES) $(workbench-libs-z_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-libs-z-MA_DIRS := $(foreach dir, $(workbench-libs-z-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-libs-z-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-libs-z-MA_DIRS),) + workbench-libs-z-MA_DIRS := $(shell echo $(workbench-libs-z-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-libs-z-MA_DIRS) +endif + +endif + +workbench-libs-z-MA_ASSEMBLER ?= $(workbench-libs-z_ASSEMBLER) + +$(workbench-libs-z-MA_TARGETS) : workbench-libs-z-MA_CMD:= $(workbench-libs-z-MA_ASSEMBLER) + +$(workbench-libs-z-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-libs-z-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-libs-z-MA_TARGETS) : $(workbench-libs-z-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-libs-z-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-libs-z-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-libs-z-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (,) +workbench-libs-z_SUFFIX := library +else +workbench-libs-z_SUFFIX := +endif + +ifeq (target,target) +workbench-libs-z_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-libs-z_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-libs-z_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-libs-z_SUFFIX),handler) +workbench-libs-z_MODULE := $(AROSDIR)/$(workbench-libs-z_MODDIR)/$(workbench-libs-z_DEFNAME)-$(workbench-libs-z_SUFFIX) +else +workbench-libs-z_MODULE := $(AROSDIR)/$(workbench-libs-z_MODDIR)/$(workbench-libs-z_DEFNAME).$(workbench-libs-z_SUFFIX) +endif +workbench-libs-z_KOBJ := $(KOBJSDIR)/$(workbench-libs-z_DEFNAME)_$(workbench-libs-z_SUFFIX).o +else +workbench-libs-z_MODULE := +workbench-libs-z_KOBJ := +endif + +workbench-libs-z-quick : workbench-libs-z +workbench-libs-z : $(workbench-libs-z_MODULE) $(workbench-libs-z_LINKLIB) $(workbench-libs-z_RELLINKLIB) +ifeq (M,M) +workbench-libs-z-kobj : $(workbench-libs-z_KOBJ) $(workbench-libs-z_LINKLIB) $(workbench-libs-z_RELLINKLIB) +workbench-libs-z-kobj-quick : $(workbench-libs-z_KOBJ) $(workbench-libs-z_LINKLIB) $(workbench-libs-z_RELLINKLIB) +endif +ifeq (M,M) +workbench-libs-z-linklib : $(workbench-libs-z_LINKLIB) $(workbench-libs-z_RELLINKLIB) +endif + +workbench-libs-z_OBJS := $(addsuffix .o,$(workbench-libs-z_STARTFILES)) $(workbench-libs-z_ARCHOBJS) \ + $(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(workbench-libs-z_C_NARCHFILES:=.o) $(workbench-libs-z_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-libs-z_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (z1,con) + workbench-libs-z_ERR := $(notdir $(workbench-libs-z_MODULE)).err +else + workbench-libs-z_ERR := z1.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-libs-z_DEFNAME)_LDFLAGS) $(workbench-libs-z_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-libs-z_LIBS) $($(workbench-libs-z_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-libs-z_MODULE) : LIB_NAMES := $(workbench-libs-z_LIBS) $($(workbench-libs-z_DEFNAME)_LIBS) +$(workbench-libs-z_MODULE) : OBJS := $(workbench-libs-z_STARTOBJS) $(workbench-libs-z_OBJS) $(USER_OBJS) +$(workbench-libs-z_MODULE) : ENDTAG := $(workbench-libs-z_ENDOBJS) +$(workbench-libs-z_MODULE) : ERR := $(workbench-libs-z_ERR) +$(workbench-libs-z_MODULE) : OBJDIR := $(workbench-libs-z_OBJDIR) +$(workbench-libs-z_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-libs-z_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-libs-z_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-libs-z_MODULE) : $(workbench-libs-z_STARTOBJS) $(workbench-libs-z_OBJS) $(USER_OBJS) $(workbench-libs-z_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-libs-z_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-libs-z_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-libs-z_LC_LINKLIBNAME := $(shell echo $(workbench-libs-z_LINKLIBNAME) | tr A-Z a-z) +workbench-libs-z_LC_MODNAME := $(shell echo z1 | tr A-Z a-z) +ifneq ($(workbench-libs-z_LINKLIB),) + +ifeq (target,target) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(HOST_AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(KERNEL_AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)$(workbench-libs-z_LIBSUFFIX).a : $(workbench-libs-z_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-z_AR) $@ $^ + $(Q)$(workbench-libs-z_RANLIB) $@ +ifneq ($(workbench-libs-z_LC_MODNAME),$(workbench-libs-z_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-z_LIBDIR)/libz1$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(AR) +$(workbench-libs-z_LIBDIR)/libz1$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-z_LIBDIR)/libz1$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(HOST_AR) +$(workbench-libs-z_LIBDIR)/libz1$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-z_LIBDIR)/libz1$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(KERNEL_AR) +$(workbench-libs-z_LIBDIR)/libz1$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-z_LIBDIR)/libz1$(workbench-libs-z_LIBSUFFIX).a : $(workbench-libs-z_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-z_AR) $@ $^ + $(Q)$(workbench-libs-z_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-z_LINKLIB),) +$(workbench-libs-z_LINKLIB) : | $(workbench-libs-z_LIBDIR) +else +$(workbench-libs-z_LINKLIB) :: $(workbench-libs-z_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-z_LIBDIR) + +endif + +ifneq ($(workbench-libs-z_RELLINKLIB),) + +ifeq (target,target) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(HOST_AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(KERNEL_AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_LINKLIBNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : $(workbench-libs-z_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-z_AR) $@ $^ + $(Q)$(workbench-libs-z_RANLIB) $@ +ifneq ($(workbench-libs-z_LC_MODNAME),$(workbench-libs-z_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_DEFNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_DEFNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_DEFNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(HOST_AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_DEFNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_DEFNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_AR:=$(KERNEL_AR) +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_DEFNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : workbench-libs-z_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-libs-z_LIBDIR)/lib$(workbench-libs-z_DEFNAME)_rel$(workbench-libs-z_LIBSUFFIX).a : $(workbench-libs-z_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-libs-z_AR) $@ $^ + $(Q)$(workbench-libs-z_RANLIB) $@ +endif + + +ifneq ($(workbench-libs-z_RELLINKLIB),) +$(workbench-libs-z_RELLINKLIB) : | $(workbench-libs-z_LIBDIR) +else +$(workbench-libs-z_RELLINKLIB) :: $(workbench-libs-z_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-z_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-libs-z_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-libs-z_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-libs-z_SYMBOLS := $(workbench-libs-z_KBASE) + +workbench-libs-z_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-libs-z_KOBJ_LIBS := $(filter-out $(workbench-libs-z_KLIB),$(workbench-libs-z_LIBS)) $(workbench-libs-z_KAUTOLIB) +$(workbench-libs-z_KOBJ) : LINKLIBS:=$(workbench-libs-z_KOBJ_LIBS) $($(workbench-libs-z_DEFNAME)_LIBS) +$(workbench-libs-z_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-libs-z_SYMBOLS)) +$(workbench-libs-z_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-libs-z_KOBJ) : $(workbench-libs-z_OBJS) $(USER_OBJS) $(workbench-libs-z_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-libs-z_DEPS := $(addprefix $(workbench-libs-z_OBJDIR)/,$(notdir $(workbench-libs-z_CCFILES:=.d) $(workbench-libs-z_TARGETCCFILES:=.d) $(workbench-libs-z_CXXFILES:=.d))) $(addprefix $(workbench-libs-z_OBJDIR)/linklib/,$(notdir $(workbench-libs-z_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-libs-z_DEPS),) + ifneq (workbench-libs-z workbench-libs-z-quick workbench-libs-z-kobj workbench-libs-z-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-libs-z workbench-libs-z-quick workbench-libs-z-kobj workbench-libs-z-kobj-quick),) + -include $(workbench-libs-z_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-libs-z_DEPS) + endif + endif +endif + +$(workbench-libs-z_OBJS) $(workbench-libs-z_DEPS) : | $(workbench-libs-z_OBJDIR)/linklib + +ifneq ($(workbench-libs-z_OBJS) $(workbench-libs-z_DEPS) $(workbench-libs-z_MODULE) $(workbench-libs-z_KOBJ),) +$(workbench-libs-z_OBJS) $(workbench-libs-z_DEPS) $(workbench-libs-z_MODULE) $(workbench-libs-z_KOBJ) : | $(workbench-libs-z_OBJDIR) $(AROSDIR)/$(workbench-libs-z_MODDIR) $(KOBJSDIR) +else +$(workbench-libs-z_OBJS) $(workbench-libs-z_DEPS) $(workbench-libs-z_MODULE) $(workbench-libs-z_KOBJ) :: $(workbench-libs-z_OBJDIR) $(AROSDIR)/$(workbench-libs-z_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-libs-z_OBJDIR) $(AROSDIR)/$(workbench-libs-z_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-libs-z workbench-libs-z-includes workbench-libs-z-quick workbench-libs-z-kobj workbench-libs-z-kobj-quick),) # Only for this target these deps are wanted + +workbench-libs-z_DFILE_DEPS := $(workbench-libs-z_LIBDEFSINC) $(workbench-libs-z_DEFLIBDEFSINC) \ + $(addprefix $(workbench-libs-z_INCDIR)/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) +$(workbench-libs-z_DEPS) : $(workbench-libs-z_DFILE_DEPS) +endif + +workbench-libs-z_TOCLEAN := $(workbench-libs-z_OBJS) $(workbench-libs-z_DEPS) \ + $(workbench-libs-z_MODULE) $(workbench-libs-z_LINKLIB) $(workbench-libs-z_KOBJ) \ + $(workbench-libs-z_OBJDIR)/Makefile.z1library \ + $(addprefix $(workbench-libs-z_OBJDIR)/include/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-libs-z_INCDIR)/,$($(workbench-libs-z_DEFNAME)_INCLUDES)) \ + $(workbench-libs-z_OBJDIR)/z1_geninc $(workbench-libs-z_OBJDIR)/z1_incs \ + $(addsuffix .c,$(workbench-libs-z_LINKLIBFILES)) $(workbench-libs-z_LINKLIBOBJS) $(workbench-libs-z_LIBDEFSINC) \ + $(workbench-libs-z_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-libs-z_STARTFILES) $(workbench-libs-z_ENDFILES)) \ + $(workbench-libs-z_ENDOBJS) +workbench-libs-z-clean : FILES := $(workbench-libs-z_TOCLEAN) +workbench-libs-z-clean :: + $(Q)$(ECHO) "Cleaning up for module z1" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-libs-z_ALLTARGETS) + + +#MM- linklibs: linklibs-z-static + +# N.B: z.static is compiled without the posix wrappers, so that it looks for the default function +# symbol names (e.g. lseek) + +USER_CPPFLAGS := $(LIBZ_CPPFLAGS) -DNO_STRERROR -DNO_POSIX_WRAPPERS + + +# assign and generate the local variables used in this macro +linklibs-z-static_LIBNAME := z.static +linklibs-z-static_LINKLIB := $(AROS_LIB)/libz.static.a + +linklibs-z-static_FILES ?= $(FILES) +linklibs-z-static_ASMFILES := +linklibs-z-static_OBJCFILES := +linklibs-z-static_CXXFILES := + +linklibs-z-static_OBJDIR ?= $(GENDIR)/$(CURDIR) +linklibs-z-static_ARCHOBJS := $(wildcard $(linklibs-z-static_OBJDIR)/arch/*.o) +ifeq (no,no) + linklibs-z-static_ARCHFILES := $(basename $(notdir $(linklibs-z-static_ARCHOBJS))) +else + linklibs-z-static_ARCHFILES := $(basename $(patsubst $(linklibs-z-static_OBJDIR)/%,%,$(linklibs-z-static_ARCHOBJS))) +endif +linklibs-z-static_C_NARCHFILES := $(filter-out $(linklibs-z-static_ARCHFILES),$(linklibs-z-static_FILES)) +linklibs-z-static_C_FILES ?= $(linklibs-z-static_C_NARCHFILES) +linklibs-z-static_CXX_NARCHFILES := $(filter-out $(linklibs-z-static_ARCHFILES),$(linklibs-z-static_CXXFILES)) +linklibs-z-static_CXX_FILES ?= $(linklibs-z-static_CXX_NARCHFILES) +linklibs-z-static_OBJC_NARCHFILES := $(filter-out $(linklibs-z-static_ARCHFILES),$(linklibs-z-static_OBJCFILES)) +linklibs-z-static_OBJC_FILES ?= $(linklibs-z-static_OBJC_NARCHFILES) + +ifeq (no,no) + linklibs-z-static_OBJ_FILES ?= $(addprefix $(linklibs-z-static_OBJDIR)/,$(notdir $(linklibs-z-static_C_NARCHFILES:=.o) $(linklibs-z-static_CXX_NARCHFILES:=.o) $(linklibs-z-static_ASMFILES:=.o) $(linklibs-z-static_OBJC_NARCHFILES:=.o))) +else + linklibs-z-static_OBJ_FILES ?= $(addprefix $(linklibs-z-static_OBJDIR)/,$(linklibs-z-static_C_NARCHFILES:=.o) $(linklibs-z-static_CXX_NARCHFILES:=.o) $(linklibs-z-static_ASMFILES:=.o) $(linklibs-z-static_OBJC_NARCHFILES:=.o)) +endif +linklibs-z-static_OBJS ?= $(linklibs-z-static_ARCHOBJS) $(linklibs-z-static_OBJ_FILES) +linklibs-z-static_DEPS := $(patsubst %.o,%.d,$(linklibs-z-static_OBJS)) + +linklibs-z-static_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + linklibs-z-static_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +linklibs-z-static_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +linklibs-z-static_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +linklibs-z-static_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +linklibs-z-static_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +linklibs-z-static_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +linklibs-z-static_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +linklibs-z-static_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +linklibs-z-static_CXXFLAGS := +endif + +ifeq ($(TARGET_LTO),yes) +ifeq (target,target) + linklibs-z-static_CFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-z-static_CFLAGS)) + linklibs-z-static_CXXFLAGS := $(strip $(LTO_CFLAGS) $(linklibs-z-static_CXXFLAGS)) +endif +endif +linklibs-z-static_AFLAGS := $(AFLAGS) +linklibs-z-static_DFLAGS := +ifneq (,) + linklibs-z-static_DFLAGS := +else + linklibs-z-static_DFLAGS := $(linklibs-z-static_CFLAGS) +endif +linklibs-z-static_DXXFLAGS := +ifneq (,) + linklibs-z-static_DXXFLAGS := +else + linklibs-z-static_DXXFLAGS := $(linklibs-z-static_CXXFLAGS) +endif + +.PHONY : linklibs-z-static linklibs-z-static-clean linklibs-z-static-quick + +#MM +linklibs-z-static-quick : linklibs-z-static + +#MM linklibs-z-static : includes-generate-deps +linklibs-z-static : $(linklibs-z-static_LINKLIB) + +ifneq ($(filter $(TARGET),linklibs-z-static linklibs-z-static-quick),) + + +linklibs-z-static_CXXABSBASENAMES := $(foreach linklibs-z-static_CXXBASE,$(linklibs-z-static_CXX_FILES),$(if $(filter /%,$(linklibs-z-static_CXXBASE)),$(linklibs-z-static_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(linklibs-z-static_CXXBASE)))) + +ifneq ($(linklibs-z-static_CXXABSBASENAMES),) + +linklibs-z-static_CXXBASENAMES := $(basename $(linklibs-z-static_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +linklibs-z-static_MCXX_FILES := $(strip $(foreach linklibs-z-static_CXXBASE,$(linklibs-z-static_CXXABSBASENAMES), $(firstword $(wildcard $(foreach linklibs-z-static_EXT, $(AROS_CXXEXTS),$(addsuffix .$(linklibs-z-static_EXT),$(linklibs-z-static_CXXBASE))))))) + +ifeq (,) +linklibs-z-static_MCXX_SRCWILDCARD := % +else +linklibs-z-static_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-z-static_OBJDIR),) + linklibs-z-static_CXXTARGETS := $(notdir $(linklibs-z-static_CXXBASENAMES:=.o)) + linklibs-z-static_CXXDTARGETS := $(notdir $(linklibs-z-static_CXXBASENAMES:=.d)) + linklibs-z-static_MCXX_WILDCARD := % +else + linklibs-z-static_CXXTARGETS := $(addprefix $(linklibs-z-static_OBJDIR)/,$(notdir $(linklibs-z-static_CXXBASENAMES:=.o))) + linklibs-z-static_CXXDTARGETS := $(addprefix $(linklibs-z-static_OBJDIR)/,$(notdir $(linklibs-z-static_CXXBASENAMES:=.d))) + linklibs-z-static_MCXX_WILDCARD := $(linklibs-z-static_OBJDIR)/% + + # Be sure that all source files are generated + $(linklibs-z-static_CXXTARGETS) $(linklibs-z-static_CXXDTARGETS) : | $(linklibs-z-static_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +linklibs-z-static_MCXX_CPPFLAGS := $(linklibs-z-static_CPPFLAGS) +linklibs-z-static_CXXFLAGS := $(linklibs-z-static_CXXFLAGS) +ifeq ($(linklibs-z-static_DXXFLAGS),) + linklibs-z-static_DXXFLAGS := $(linklibs-z-static_CXXFLAGS) +else + linklibs-z-static_DXXFLAGS := $(linklibs-z-static_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + linklibs-z-static_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + linklibs-z-static_STRIP ?= $(HOST_STRIP) + linklibs-z-static_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + linklibs-z-static_CXXCMD:=$(HOST_CXX) + linklibs-z-static_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(linklibs-z-static_MCXX_CPPFLAGS) $(linklibs-z-static_MCXX_EXTRA_CPPFLAGS)) + linklibs-z-static_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-z-static_CXXFLAGS)) + linklibs-z-static_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(linklibs-z-static_DXXFLAGS)) + linklibs-z-static_CXXIQUOTE:=$(HOST_IQUOTE) + linklibs-z-static_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + linklibs-z-static_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-z-static_STRIP ?= $(TARGET_STRIP) + linklibs-z-static_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + linklibs-z-static_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + linklibs-z-static_MCXX_CPPFLAGS := $(strip $(linklibs-z-static_MCXX_CPPFLAGS) $(linklibs-z-static_MCXX_EXTRA_CPPFLAGS)) + linklibs-z-static_CXXFLAGS := $(strip $(linklibs-z-static_CXXFLAGS) $(SAFETY_CFLAGS)) + linklibs-z-static_DXXFLAGS := $(linklibs-z-static_DXXFLAGS) + linklibs-z-static_CXXIQUOTE:=$(CFLAGS_IQUOTE) + linklibs-z-static_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + linklibs-z-static_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-z-static_STRIP ?= $(ECHO) >/dev/null + linklibs-z-static_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + linklibs-z-static_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + linklibs-z-static_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(linklibs-z-static_MCXX_CPPFLAGS) $(linklibs-z-static_MCXX_EXTRA_CPPFLAGS)) + linklibs-z-static_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-z-static_CXXFLAGS)) + linklibs-z-static_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(linklibs-z-static_DXXFLAGS)) + linklibs-z-static_CXXIQUOTE:=$(KERNEL_IQUOTE) + linklibs-z-static_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(linklibs-z-static_CXXCMD) $(linklibs-z-static_CXXIQUOTE) $(dir $(2)) $(linklibs-z-static_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_CXXIQUOTE) . $(linklibs-z-static_CXXIQUOTE_END) $(strip $(linklibs-z-static_CXXFLAGS) $(linklibs-z-static_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(linklibs-z-static_CXXCMD) $(linklibs-z-static_CXXIQUOTE) $(dir $(2)) $(linklibs-z-static_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_CXXIQUOTE) . $(linklibs-z-static_CXXIQUOTE_END) $(strip $(linklibs-z-static_CXXFLAGS) $(linklibs-z-static_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(linklibs-z-static_CXXCMD) $(linklibs-z-static_CXXIQUOTE) $(dir $(2)) $(linklibs-z-static_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_CXXIQUOTE) . $(linklibs-z-static_CXXIQUOTE_END) $(strip $(linklibs-z-static_CXXFLAGS) $(linklibs-z-static_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(linklibs-z-static_CXXCMD)" $(MKDEPEND) $(strip $(linklibs-z-static_DXXFLAGS) $(linklibs-z-static_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(linklibs-z-static_OBJDIR),) + $(foreach linklibs-z-static_CXXFILE,$(linklibs-z-static_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(linklibs-z-static_CXXFILE))),$(linklibs-z-static_CXXFILE)))) +else + $(foreach linklibs-z-static_CXXFILE,$(linklibs-z-static_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(linklibs-z-static_OBJDIR)/,$(notdir $(basename $(linklibs-z-static_CXXFILE)))),$(linklibs-z-static_CXXFILE)))) +endif + +endif + + +ifneq ($(linklibs-z-static_OBJC_FILES),) + +ifeq (,) +linklibs-z-static_MOBJC_SRCWILDCARD := % +else +linklibs-z-static_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-z-static_OBJDIR),) + linklibs-z-static_MOBJC_TARGETS := $(addsuffix .o,$(linklibs-z-static_OBJC_FILES)) + linklibs-z-static_MOBJC_DTARGETS := $(addsuffix .d,$(linklibs-z-static_OBJC_FILES)) + linklibs-z-static_MOBJC_WILDCARD := % +else + linklibs-z-static_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-z-static_OBJDIR)/,$(linklibs-z-static_OBJC_FILES))) + linklibs-z-static_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-z-static_OBJDIR)/,$(linklibs-z-static_OBJC_FILES))) + linklibs-z-static_MOBJC_WILDCARD := $(linklibs-z-static_OBJDIR)/% + + # Be sure that all .m files are generated + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : | $(addsuffix .m,$(linklibs-z-static_OBJC_FILES)) + + # Be sure that all .m files are found + linklibs-z-static_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + linklibs-z-static_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-z-static_OBJC_FILES))) | sed 's/\(.\):\//\/\1\//g') + linklibs-z-static_MOBJC_DIRS := $(foreach dir, $(linklibs-z-static_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-z-static_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(linklibs-z-static_MOBJC_DIRS),) + linklibs-z-static_MOBJC_DIRS := $(shell echo $(linklibs-z-static_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(linklibs-z-static_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + linklibs-z-static_CC := $(TARGET_CC) +else + linklibs-z-static_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +linklibs-z-static_MOBJC_CPPFLAGS := $(linklibs-z-static_CPPFLAGS) +linklibs-z-static_OBJCFLAGS := $(linklibs-z-static_CFLAGS) +linklibs-z-static_OBJCFLAGS := $(linklibs-z-static_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +linklibs-z-static_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(linklibs-z-static_OBJCFLAGS))) +ifeq ($(linklibs-z-static_DFLAGS),) + linklibs-z-static_OBJCDFLAGS := $(linklibs-z-static_CFLAGS) +else + linklibs-z-static_OBJCDFLAGS := $(linklibs-z-static_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + linklibs-z-static_LINK ?= $(strip $(linklibs-z-static_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + linklibs-z-static_STRIP ?= $(TARGET_STRIP) + linklibs-z-static_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : CMD:=$(strip $(linklibs-z-static_CC) $(TARGET_SYSROOT)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_MOBJC_CPPFLAGS:=$(strip $(linklibs-z-static_MOBJC_CPPFLAGS) $(linklibs-z-static_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_OBJCFLAGS:=$(strip $(linklibs-z-static_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_OBJCDFLAGS:=$(linklibs-z-static_OBJCDFLAGS) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_IQUOTE:=$(CFLAGS_IQUOTE) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + linklibs-z-static_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + linklibs-z-static_STRIP ?= $(HOST_STRIP) + linklibs-z-static_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(linklibs-z-static_MOBJC_CPPFLAGS) $(linklibs-z-static_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-z-static_OBJCFLAGS)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-z-static_OBJCDFLAGS)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_IQUOTE:=$(HOST_IQUOTE) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + linklibs-z-static_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + linklibs-z-static_STRIP ?= $(ECHO) >/dev/null + linklibs-z-static_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(linklibs-z-static_MOBJC_CPPFLAGS) $(linklibs-z-static_MOBJC_EXTRA_CPPFLAGS)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-z-static_OBJCFLAGS)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-z-static_OBJCDFLAGS)) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_IQUOTE:=$(KERNEL_IQUOTE) + $(linklibs-z-static_MOBJC_TARGETS) $(linklibs-z-static_MOBJC_DTARGETS) : linklibs-z-static_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-z-static_MOBJC_TARGETS) : CPPFLAGS := $(linklibs-z-static_MOBJC_CPPFLAGS) +$(linklibs-z-static_MOBJC_TARGETS) : CFLAGS := $(linklibs-z-static_OBJCFLAGS) +$(linklibs-z-static_MOBJC_TARGETS) : $(linklibs-z-static_MOBJC_WILDCARD).o : $(linklibs-z-static_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-z-static_IQUOTE) $(dir $<) $(linklibs-z-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_IQUOTE) . $(linklibs-z-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-z-static_IQUOTE) $(dir $<) $(linklibs-z-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_IQUOTE) . $(linklibs-z-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-z-static_IQUOTE) $(dir $<) $(linklibs-z-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_IQUOTE) . $(linklibs-z-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-z-static_MOBJC_DTARGETS) : $(linklibs-z-static_MOBJC_WILDCARD).d : $(linklibs-z-static_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-z-static_OBJCDFLAGS) $(linklibs-z-static_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +linklibs-z-static_MC_SRCWILDCARD := % +else +linklibs-z-static_MC_SRCWILDCARD := /% +endif + +ifeq ($(linklibs-z-static_OBJDIR),) +linklibs-z-static_MC_TARGETS := $(addsuffix .o,$(linklibs-z-static_C_FILES)) +linklibs-z-static_MC_DTARGETS := $(addsuffix .d,$(linklibs-z-static_C_FILES)) +linklibs-z-static_MC_TGTWILDCARD := % +else +ifeq (no,no) + linklibs-z-static_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-z-static_OBJDIR)/,$(notdir $(linklibs-z-static_C_FILES)))) + linklibs-z-static_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-z-static_OBJDIR)/,$(notdir $(linklibs-z-static_C_FILES)))) +else +ifeq (,) + linklibs-z-static_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-z-static_OBJDIR)/,$(linklibs-z-static_C_FILES))) + linklibs-z-static_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-z-static_OBJDIR)/,$(linklibs-z-static_C_FILES))) +else + linklibs-z-static_MC_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-z-static_OBJDIR)/,$(patsubst /%,%,$(linklibs-z-static_C_FILES)))) + linklibs-z-static_MC_DTARGETS := $(addsuffix .d,$(addprefix $(linklibs-z-static_OBJDIR)/,$(patsubst /%,%,$(linklibs-z-static_C_FILES)))) +endif +endif +linklibs-z-static_MC_TGTWILDCARD := $(linklibs-z-static_OBJDIR)/% + +# Be sure that all .c files are generated +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : | $(addsuffix .c,$(linklibs-z-static_C_FILES)) + +# Be sure that all .c files are found +linklibs-z-static_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-z-static_MC_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-z-static_C_FILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-z-static_MC_DIRS := $(foreach dir, $(linklibs-z-static_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-z-static_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-z-static_MC_DIRS),) + linklibs-z-static_MC_DIRS := $(shell echo $(linklibs-z-static_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(linklibs-z-static_MC_DIRS) +endif + +endif + +linklibs-z-static_MC_CPPFLAGS := $(linklibs-z-static_CPPFLAGS) +linklibs-z-static_CFLAGS := $(linklibs-z-static_CFLAGS) +ifeq ($(linklibs-z-static_DFLAGS),) + linklibs-z-static_DFLAGS := $(linklibs-z-static_CFLAGS) +else + linklibs-z-static_DFLAGS := $(linklibs-z-static_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +linklibs-z-static_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +linklibs-z-static_STRIP ?= $(TARGET_STRIP) +linklibs-z-static_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_MC_CPPFLAGS:=$(strip $(linklibs-z-static_MC_CPPFLAGS) $(linklibs-z-static_MC_EXTRA_CPPFLAGS)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_CFLAGS:=$(strip $(linklibs-z-static_CFLAGS) $(SAFETY_CFLAGS)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_DFLAGS:=$(linklibs-z-static_DFLAGS) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_IQUOTE:=$(CFLAGS_IQUOTE) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +linklibs-z-static_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +linklibs-z-static_STRIP ?= $(HOST_STRIP) +linklibs-z-static_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : CMD:=$(HOST_CC) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(linklibs-z-static_MC_CPPFLAGS) $(linklibs-z-static_MC_EXTRA_CPPFLAGS)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_CFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-z-static_CFLAGS)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_DFLAGS:=$(strip $(HOST_CFLAGS) $(linklibs-z-static_DFLAGS)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_IQUOTE:=$(HOST_IQUOTE) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +linklibs-z-static_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +linklibs-z-static_STRIP ?= $(ECHO) >/dev/null +linklibs-z-static_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(linklibs-z-static_MC_CPPFLAGS) $(linklibs-z-static_MC_EXTRA_CPPFLAGS)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-z-static_CFLAGS)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(linklibs-z-static_DFLAGS)) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_IQUOTE:=$(KERNEL_IQUOTE) +$(linklibs-z-static_MC_TARGETS) $(linklibs-z-static_MC_DTARGETS) : linklibs-z-static_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(linklibs-z-static_MC_TARGETS) : CPPFLAGS := $(linklibs-z-static_MC_CPPFLAGS) +$(linklibs-z-static_MC_TARGETS) : CFLAGS := $(linklibs-z-static_CFLAGS) +$(linklibs-z-static_MC_TARGETS) : $(linklibs-z-static_MC_TGTWILDCARD).o : $(linklibs-z-static_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(linklibs-z-static_IQUOTE) $(dir $<) $(linklibs-z-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_IQUOTE) . $(linklibs-z-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(linklibs-z-static_IQUOTE) $(dir $<) $(linklibs-z-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_IQUOTE) . $(linklibs-z-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(linklibs-z-static_IQUOTE) $(dir $<) $(linklibs-z-static_IQUOTE) $(SRCDIR)/$(CURDIR) $(linklibs-z-static_IQUOTE) . $(linklibs-z-static_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(linklibs-z-static_MC_DTARGETS) : $(linklibs-z-static_MC_TGTWILDCARD).d : $(linklibs-z-static_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(linklibs-z-static_DFLAGS) $(linklibs-z-static_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(linklibs-z-static_OBJDIR),) +linklibs-z-static-MA_TARGETS := $(addsuffix .o,$(linklibs-z-static_ASMFILES)) +linklibs-z-static-MA_WILDCARD := % +else +linklibs-z-static-MA_TARGETS := $(addsuffix .o,$(addprefix $(linklibs-z-static_OBJDIR)/,$(notdir $(linklibs-z-static_ASMFILES)))) +linklibs-z-static-MA_WILDCARD := $(linklibs-z-static_OBJDIR)/% + +# Be sure that all .s files are generated +$(linklibs-z-static-MA_TARGETS) : | $(addsuffix .s,$(linklibs-z-static_ASMFILES)) + +# Be sure that all .c files are found +linklibs-z-static-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +linklibs-z-static-MA_BASEDIRS := $(shell echo $(sort $(dir $(linklibs-z-static_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +linklibs-z-static-MA_DIRS := $(foreach dir, $(linklibs-z-static-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(linklibs-z-static-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(linklibs-z-static-MA_DIRS),) + linklibs-z-static-MA_DIRS := $(shell echo $(linklibs-z-static-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(linklibs-z-static-MA_DIRS) +endif + +endif + +linklibs-z-static-MA_ASSEMBLER ?= $(linklibs-z-static_ASSEMBLER) + +$(linklibs-z-static-MA_TARGETS) : linklibs-z-static-MA_CMD:= $(linklibs-z-static-MA_ASSEMBLER) + +$(linklibs-z-static-MA_TARGETS) : CPPFLAGS := $(linklibs-z-static_CPPFLAGS) +$(linklibs-z-static-MA_TARGETS) : AFLAGS := $(linklibs-z-static_AFLAGS) +$(linklibs-z-static-MA_TARGETS) : $(linklibs-z-static-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(linklibs-z-static-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(linklibs-z-static-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(linklibs-z-static-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +ifeq (target,target) +$(AROS_LIB)/libz.static.a : linklibs-z-static_AR:=$(AR) +$(AROS_LIB)/libz.static.a : linklibs-z-static_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(AROS_LIB)/libz.static.a : linklibs-z-static_AR:=$(HOST_AR) +$(AROS_LIB)/libz.static.a : linklibs-z-static_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(AROS_LIB)/libz.static.a : linklibs-z-static_AR:=$(KERNEL_AR) +$(AROS_LIB)/libz.static.a : linklibs-z-static_RANLIB:=$(KERNEL_RANLIB) +endif + +$(AROS_LIB)/libz.static.a : $(linklibs-z-static_OBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(linklibs-z-static_AR) $@ $^ + $(Q)$(linklibs-z-static_RANLIB) $@ +endif + +ifneq ($(linklibs-z-static_DEPS),) + ifneq (linklibs-z-static linklibs-z-static-quick,) + ifneq ($(findstring $(TARGET),linklibs-z-static linklibs-z-static-quick),) + -include $(linklibs-z-static_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(linklibs-z-static_DEPS) + endif + endif +endif + + + +ifneq ($(linklibs-z-static_OBJS) $(linklibs-z-static_DEPS) $(linklibs-z-static_LINKLIB),) +$(linklibs-z-static_OBJS) $(linklibs-z-static_DEPS) $(linklibs-z-static_LINKLIB) : | $(linklibs-z-static_OBJDIR) $(AROS_LIB) +else +$(linklibs-z-static_OBJS) $(linklibs-z-static_DEPS) $(linklibs-z-static_LINKLIB) :: $(linklibs-z-static_OBJDIR) $(AROS_LIB) +endif + +GLOB_MKDIRS += $(linklibs-z-static_OBJDIR) $(AROS_LIB) + + +linklibs-z-static-clean : FILES := $(linklibs-z-static_OBJS) $(linklibs-z-static_LINKLIB) $(linklibs-z-static_DEPS) +#MM +linklibs-z-static-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget linklibs-z-static" + $(Q)$(RM) $(FILES) + + +INCLUDE_FILES := zlib.h zconf.h zutil.h + +ifeq ($(findstring target,host kernel target),) +$(error %copy_includes: compiler argument (target) has to be host, kernel or target) +endif + +ifneq (,) +TMP_DIR := +$(eval TMP_DIRREMAIN := $$$(TMP_DIR)) +TMP_DIRFIRST := $(subst $(TMP_DIRREMAIN),,$(TMP_DIR)) +BD_INCL_FILES := $(subst ,$(GENINCDIR)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(notdir $(INCLUDE_FILES))) +ifeq ($(TMP_DIRFIRST),/) +BD_INC_PATH := / +else +BD_INC_PATH := $(SRCDIR)/$(CURDIR)// +endif +else +BD_INCL_FILES := $(addprefix $(GENINCDIR)/./,$(INCLUDE_FILES)) +BD_INC_PATH := $(SRCDIR)/$(CURDIR)/ +endif + +$(BD_INCL_FILES) : $(GENINCDIR)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ + +ifeq (target,target) + +ifneq (,) +BD_INCL_FILES2 := $(subst ,$(AROS_INCLUDES)/.,$(dir $(INCLUDE_FILES))) +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(notdir $(INCLUDE_FILES))) +else +BD_INCL_FILES2 := $(addprefix $(AROS_INCLUDES)/./,$(INCLUDE_FILES)) +endif + +BD_INCL_FILES += $(BD_INCL_FILES2) + +$(BD_INCL_FILES2) : $(AROS_INCLUDES)/./% : $(BD_INC_PATH)% + $(Q)$(CP) $< $@ +endif + +#MM +includes-copy : $(BD_INCL_FILES) + +.PHONY: includes-copy + + +ifneq ($(BD_INCL_FILES),) +$(BD_INCL_FILES) : | $(dir $(BD_INCL_FILES)) +else +$(BD_INCL_FILES) :: $(dir $(BD_INCL_FILES)) +endif + +GLOB_MKDIRS += $(dir $(BD_INCL_FILES)) + + +#MM +workbench-libs-z-pc : $(AROS_LIB)/pkgconfig/zlib.pc + +$(AROS_LIB)/pkgconfig/zlib.pc : $(SRCDIR)/$(CURDIR)/zlib.pc.aros + @$(IF) $(TEST) ! -d $(AROS_LIB)/pkgconfig ; then $(MKDIR) $(AROS_LIB)/pkgconfig ; else $(NOP) ; fi + $(CP) $^ $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/network/WirelessManager/mmakefile b/workbench/network/WirelessManager/mmakefile new file mode 100644 index 00000000000..680af5eb31f --- /dev/null +++ b/workbench/network/WirelessManager/mmakefile @@ -0,0 +1,31 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +WMSUBDIRS := patches \ + src + +.PHONY : wirelessmanager-copydirs + +#MM +wirelessmanager-copydirs : + @$(IF) ! $(TEST) -f $(GENDIR)/$(CURDIR)/.dirs-copied ; then \ + $(MKDIR) -p "$(GENDIR)/$(CURDIR)" ; \ + $(FOR) dir in $(WMSUBDIRS) ; do \ + $(ECHO) "Copying \`$$dir' from \`$(SRCDIR)/$(CURDIR)/' to \`$(GENDIR)/$(CURDIR)/'" ; \ + $(CP) -Rf $(addprefix $(SRCDIR)/$(CURDIR)/, $$dir) $(addprefix $(GENDIR)/$(CURDIR)/, $$dir) ; \ + done ; \ + $(TOUCH) $(GENDIR)/$(CURDIR)/.dirs-copied ; \ + fi + +#MM- workbench-network-wirelessmanager-setup : wirelessmanager-copydirs + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/network/common/C/mmakefile b/workbench/network/common/C/mmakefile new file mode 100644 index 00000000000..f0a56bdd50c --- /dev/null +++ b/workbench/network/common/C/mmakefile @@ -0,0 +1,298 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +NOWARN_FLAGS := $(NOWARN_UNINITIALIZED) $(NOWARN_PARENTHESES) +USER_CFLAGS := $(NOWARN_FLAGS) +USER_CPPFLAGS := -D_XOPEN_SOURCE=600 -D__BSD_VISIBLE=1 + +#MM- workbench-network-common : workbench-network-common-c + +#MM- workbench-network-common-c: network-includes + + +.PHONY : workbench-network-common-c + +workbench-network-common-c_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-network-common-c_TARGETDIR := $(AROS_C) +workbench-network-common-c_LIBS := + +workbench-network-common-c_FILES := ifconfig route ping resolve arp logger hostname +workbench-network-common-c_OBJS := $(addsuffix .o,$(addprefix $(workbench-network-common-c_OBJDIR)/,$(workbench-network-common-c_FILES))) +workbench-network-common-c_DEPS := $(addsuffix .d,$(addprefix $(workbench-network-common-c_OBJDIR)/,$(workbench-network-common-c_FILES))) +workbench-network-common-c_EXES := $(addprefix $(workbench-network-common-c_TARGETDIR)/,$(workbench-network-common-c_FILES)) + +workbench-network-common-c_CPPFLAGS := $(CPPFLAGS) +ifneq (,) + workbench-network-common-c_CPPFLAGS += -I +endif +workbench-network-common-c_CFLAGS := $(CFLAGS) +workbench-network-common-c_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-network-common-c_COVERAGE := yes +workbench-network-common-c_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-network-common-c_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-network-common-c_CFLAGS := $(strip $(workbench-network-common-c_COVERAGEFLAGS) $(workbench-network-common-c_CFLAGS)) +workbench-network-common-c_LIBS += $(workbench-network-common-c_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-network-common-c_FUNCINSTR := yes +workbench-network-common-c_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-network-common-c_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-network-common-c_CFLAGS := $(strip $(workbench-network-common-c_INSTRFUNCFLAGS) $(workbench-network-common-c_CFLAGS)) +workbench-network-common-c_LIBS += $(workbench-network-common-c_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-network-common-c_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-network-common-c_CFLAGS)) +endif +endif +ifneq (,) + workbench-network-common-c_DFLAGS := +else + workbench-network-common-c_DFLAGS := $(workbench-network-common-c_CFLAGS) +endif +ifeq (target,target) +workbench-network-common-c_LDFLAGS := $(LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-network-common-c_LDFLAGS := $(LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-network-common-c_LDFLAGS := $(LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) + workbench-network-common-c_LDFLAGS += -L +endif + +#MM +workbench-network-common-c-quick : workbench-network-common-c + +#MM workbench-network-common-c : includes-generate-deps core-linklibs +workbench-network-common-c : $(workbench-network-common-c_EXES) + +ifneq ($(filter $(TARGET),workbench-network-common-c workbench-network-common-c-quick),) + +ifeq (,) +workbench-network-common-c_MC_SRCWILDCARD := % +else +workbench-network-common-c_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-network-common-c_OBJDIR),) +workbench-network-common-c_MC_TARGETS := $(addsuffix .o,$(workbench-network-common-c_FILES)) +workbench-network-common-c_MC_DTARGETS := $(addsuffix .d,$(workbench-network-common-c_FILES)) +workbench-network-common-c_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-network-common-c_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-network-common-c_OBJDIR)/,$(notdir $(workbench-network-common-c_FILES)))) + workbench-network-common-c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-network-common-c_OBJDIR)/,$(notdir $(workbench-network-common-c_FILES)))) +else +ifeq (,) + workbench-network-common-c_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-network-common-c_OBJDIR)/,$(workbench-network-common-c_FILES))) + workbench-network-common-c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-network-common-c_OBJDIR)/,$(workbench-network-common-c_FILES))) +else + workbench-network-common-c_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-network-common-c_OBJDIR)/,$(patsubst /%,%,$(workbench-network-common-c_FILES)))) + workbench-network-common-c_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-network-common-c_OBJDIR)/,$(patsubst /%,%,$(workbench-network-common-c_FILES)))) +endif +endif +workbench-network-common-c_MC_TGTWILDCARD := $(workbench-network-common-c_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : | $(addsuffix .c,$(workbench-network-common-c_FILES)) + +# Be sure that all .c files are found +workbench-network-common-c_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-network-common-c_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-network-common-c_FILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-network-common-c_MC_DIRS := $(foreach dir, $(workbench-network-common-c_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-network-common-c_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-network-common-c_MC_DIRS),) + workbench-network-common-c_MC_DIRS := $(shell echo $(workbench-network-common-c_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-network-common-c_MC_DIRS) +endif + +endif + +workbench-network-common-c_MC_CPPFLAGS := $(workbench-network-common-c_CPPFLAGS) +workbench-network-common-c_CFLAGS := $(workbench-network-common-c_CFLAGS) +ifeq ($(workbench-network-common-c_DFLAGS),) + workbench-network-common-c_DFLAGS := $(workbench-network-common-c_CFLAGS) +else + workbench-network-common-c_DFLAGS := $(workbench-network-common-c_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-network-common-c_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-network-common-c_STRIP ?= $(TARGET_STRIP) +workbench-network-common-c_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_MC_CPPFLAGS:=$(strip $(workbench-network-common-c_MC_CPPFLAGS) $(workbench-network-common-c_MC_EXTRA_CPPFLAGS)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_CFLAGS:=$(strip $(workbench-network-common-c_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_DFLAGS:=$(workbench-network-common-c_DFLAGS) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-network-common-c_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-network-common-c_STRIP ?= $(HOST_STRIP) +workbench-network-common-c_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-network-common-c_MC_CPPFLAGS) $(workbench-network-common-c_MC_EXTRA_CPPFLAGS)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-network-common-c_CFLAGS)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-network-common-c_DFLAGS)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_IQUOTE:=$(HOST_IQUOTE) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-network-common-c_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-network-common-c_STRIP ?= $(ECHO) >/dev/null +workbench-network-common-c_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-network-common-c_MC_CPPFLAGS) $(workbench-network-common-c_MC_EXTRA_CPPFLAGS)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-network-common-c_CFLAGS)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-network-common-c_DFLAGS)) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-network-common-c_MC_TARGETS) $(workbench-network-common-c_MC_DTARGETS) : workbench-network-common-c_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-network-common-c_MC_TARGETS) : CPPFLAGS := $(workbench-network-common-c_MC_CPPFLAGS) +$(workbench-network-common-c_MC_TARGETS) : CFLAGS := $(workbench-network-common-c_CFLAGS) +$(workbench-network-common-c_MC_TARGETS) : $(workbench-network-common-c_MC_TGTWILDCARD).o : $(workbench-network-common-c_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-network-common-c_IQUOTE) $(dir $<) $(workbench-network-common-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-network-common-c_IQUOTE) . $(workbench-network-common-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-network-common-c_IQUOTE) $(dir $<) $(workbench-network-common-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-network-common-c_IQUOTE) . $(workbench-network-common-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-network-common-c_IQUOTE) $(dir $<) $(workbench-network-common-c_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-network-common-c_IQUOTE) . $(workbench-network-common-c_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-network-common-c_MC_DTARGETS) : $(workbench-network-common-c_MC_TGTWILDCARD).d : $(workbench-network-common-c_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-network-common-c_DFLAGS) $(workbench-network-common-c_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + + +workbench-network-common-c-link_EXTRA_LDFLAGS := +workbench-network-common-c-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-network-common-c-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-network-common-c-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-network-common-c-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +workbench-network-common-c-link_DIRS := $(subst -L ,-L,$(strip $(workbench-network-common-c_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-network-common-c-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-network-common-c-link_DIRS))) +# Add trailing / +workbench-network-common-c-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-network-common-c-link_DIRS))) +# Add normal linklib path +workbench-network-common-c-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-network-common-c-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-network-common-c_LIBS) $(workbench-network-common-c-link_EXTRA_LIBS))) +# search for the linklibs in the given path, ignore ones not found +workbench-network-common-c-link_DEPLIBS := $(foreach lib,$(workbench-network-common-c-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-network-common-c-link_DIRS)))) \ +) +workbench-network-common-c-link_PROGS := $(addprefix $(workbench-network-common-c_TARGETDIR)/,$(workbench-network-common-c_FILES)) + +$(workbench-network-common-c-link_PROGS) : OBJDIR := $(workbench-network-common-c_OBJDIR) +$(workbench-network-common-c-link_PROGS) : LDFLAGS := $(strip $(workbench-network-common-c_LDFLAGS) $(workbench-network-common-c-link_EXTRA_LDFLAGS)) +$(workbench-network-common-c-link_PROGS) : LIBS := $(addprefix -l,$(workbench-network-common-c_LIBS) $(workbench-network-common-c-link_EXTRA_LIBS) ) +$(workbench-network-common-c-link_PROGS) : $(workbench-network-common-c_TARGETDIR)/% : $(workbench-network-common-c_OBJDIR)/%.o $(workbench-network-common-c-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-network-common-c_LINK) $< -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-network-common-c_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-network-common-c_LINK) $< -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-network-common-c_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-network-common-c_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-network-common-c_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-network-common-c_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $<)))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-network-common-c_DEPS),) + ifneq (workbench-network-common-c workbench-network-common-c-quick,) + ifneq ($(findstring $(TARGET),workbench-network-common-c workbench-network-common-c-quick),) + -include $(workbench-network-common-c_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-network-common-c_DEPS) + endif + endif +endif + + +ifneq ($(workbench-network-common-c_DEPS) $(workbench-network-common-c_OBJS) $(addprefix $(workbench-network-common-c_TARGETDIR)/,$(workbench-network-common-c_FILES)),) +$(workbench-network-common-c_DEPS) $(workbench-network-common-c_OBJS) $(addprefix $(workbench-network-common-c_TARGETDIR)/,$(workbench-network-common-c_FILES)) : | $(workbench-network-common-c_TARGETDIR) $(workbench-network-common-c_OBJDIR) +else +$(workbench-network-common-c_DEPS) $(workbench-network-common-c_OBJS) $(addprefix $(workbench-network-common-c_TARGETDIR)/,$(workbench-network-common-c_FILES)) :: $(workbench-network-common-c_TARGETDIR) $(workbench-network-common-c_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-network-common-c_TARGETDIR) $(workbench-network-common-c_OBJDIR) + + +workbench-network-common-c-clean : FILES := $(workbench-network-common-c_OBJS) $(workbench-network-common-c_EXES) $(workbench-network-common-c_DEPS) +#MM +workbench-network-common-c-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-network-common-c" + $(Q)$(RM) $(FILES) + + +#%common + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/network/common/C/netstat/mmakefile b/workbench/network/common/C/netstat/mmakefile new file mode 100644 index 00000000000..9dac2fcc90b --- /dev/null +++ b/workbench/network/common/C/netstat/mmakefile @@ -0,0 +1,634 @@ +# $Id$ +# +# Makefile for netstat + +include $(SRCDIR)/config/aros.cfg + +FILES := if inet iso main mbuf mroute ns route unix + +NOWARN_FLAGS := $(NOWARN_UNINITIALIZED) $(NOWARN_PARENTHESES) +USER_CFLAGS := $(NOWARN_FLAGS) -D__BSD_VISIBLE=1 + +##MM- workbench-network-stacks-arostcp-c : arostcp-c-netstat + + +.PHONY : arostcp-c-netstat + +arostcp-c-netstat_PROGNAME := netstat +arostcp-c-netstat_OBJDIR := $(GENDIR)/$(CURDIR) +arostcp-c-netstat_TARGETDIR := $(AROS_SYSTEM)/Networks/AROSTCP/C +arostcp-c-netstat_LINKER := +arostcp-c-netstat_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(arostcp-c-netstat_LINKER),) + arostcp-c-netstat_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + arostcp-c-netstat_FILES := $(FILES) + arostcp-c-netstat_OBJCFILES := + arostcp-c-netstat_ASMFILES := + arostcp-c-netstat_CXXFILES := +else + arostcp-c-netstat_FILES := $(arostcp-c-netstat_PROGNAME) + arostcp-c-netstat_OBJCFILES := + arostcp-c-netstat_ASMFILES := + arostcp-c-netstat_CXXFILES := +endif + +arostcp-c-netstat_ARCHOBJS := $(wildcard $(arostcp-c-netstat_OBJDIR)/arch/*.o) +arostcp-c-netstat_ARCHFILES := $(basename $(notdir $(arostcp-c-netstat_ARCHOBJS))) +arostcp-c-netstat_C_NARCHFILES := $(filter-out $(arostcp-c-netstat_ARCHFILES),$(arostcp-c-netstat_FILES)) +arostcp-c-netstat_CXX_NARCHFILES := $(filter-out $(arostcp-c-netstat_ARCHFILES),$(arostcp-c-netstat_CXXFILES)) +arostcp-c-netstat_OBJC_NARCHFILES := $(filter-out $(arostcp-c-netstat_ARCHFILES),$(arostcp-c-netstat_OBJCFILES)) + +TMP_FILES := $(arostcp-c-netstat_C_NARCHFILES) $(arostcp-c-netstat_CXX_NARCHFILES) $(arostcp-c-netstat_ASMFILES) $(arostcp-c-netstat_OBJC_NARCHFILES) +arostcp-c-netstat_OBJS := $(addsuffix .o,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(notdir $(TMP_FILES)))) +arostcp-c-netstat_DEPS := $(addsuffix .d,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(notdir $(TMP_FILES)))) + +arostcp-c-netstat_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +arostcp-c-netstat_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +arostcp-c-netstat_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +arostcp-c-netstat_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +arostcp-c-netstat_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +arostcp-c-netstat_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +arostcp-c-netstat_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +arostcp-c-netstat_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +arostcp-c-netstat_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +arostcp-c-netstat_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +arostcp-c-netstat_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +arostcp-c-netstat_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +arostcp-c-netstat_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +arostcp-c-netstat_LDFLAGS := +endif + +arostcp-c-netstat_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +arostcp-c-netstat_COVERAGE := yes +arostcp-c-netstat_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +arostcp-c-netstat_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +arostcp-c-netstat_CFLAGS := $(strip $(arostcp-c-netstat_COVERAGEFLAGS) $(arostcp-c-netstat_CFLAGS)) +arostcp-c-netstat_CXXFLAGS := $(strip $(arostcp-c-netstat_COVERAGEFLAGS) $(arostcp-c-netstat_CXXFLAGS)) +arostcp-c-netstat_LIBS += $(arostcp-c-netstat_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +arostcp-c-netstat_FUNCINSTR := yes +arostcp-c-netstat_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +arostcp-c-netstat_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +arostcp-c-netstat_CFLAGS := $(strip $(arostcp-c-netstat_INSTRFUNCFLAGS) $(arostcp-c-netstat_CFLAGS)) +arostcp-c-netstat_CXXFLAGS := $(strip $(arostcp-c-netstat_INSTRFUNCFLAGS) $(arostcp-c-netstat_CXXFLAGS)) +arostcp-c-netstat_LIBS += $(arostcp-c-netstat_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +arostcp-c-netstat_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(arostcp-c-netstat_CFLAGS)) +arostcp-c-netstat_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(arostcp-c-netstat_CXXFLAGS)) +endif +endif +arostcp-c-netstat_AFLAGS := $(AFLAGS) +ifneq (,) + arostcp-c-netstat_DFLAGS := +else + arostcp-c-netstat_DFLAGS := $(arostcp-c-netstat_CFLAGS) +endif +ifneq (,) + arostcp-c-netstat_DXXFLAGS := +else + arostcp-c-netstat_DXXFLAGS := $(arostcp-c-netstat_CXXFLAGS) +endif +ifeq (target,target) +arostcp-c-netstat_LDFLAGS := $(arostcp-c-netstat_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +arostcp-c-netstat_LDFLAGS := $(arostcp-c-netstat_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +arostcp-c-netstat_LDFLAGS := $(arostcp-c-netstat_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +arostcp-c-netstat_LDFLAGS += -L +endif + +#MM +arostcp-c-netstat-quick : arostcp-c-netstat + +#MM arostcp-c-netstat : includes-generate-deps core-linklibs +arostcp-c-netstat : $(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) + +ifneq ($(filter $(TARGET),arostcp-c-netstat arostcp-c-netstat-quick arostcp-c-netstat-gz-quick),) + +arostcp-c-netstat_CXXABSBASENAMES := $(foreach arostcp-c-netstat_CXXBASE,$(arostcp-c-netstat_CXX_NARCHFILES),$(if $(filter /%,$(arostcp-c-netstat_CXXBASE)),$(arostcp-c-netstat_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(arostcp-c-netstat_CXXBASE)))) + +ifneq ($(arostcp-c-netstat_CXXABSBASENAMES),) + +arostcp-c-netstat_CXXBASENAMES := $(basename $(arostcp-c-netstat_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +arostcp-c-netstat_MCXX_FILES := $(strip $(foreach arostcp-c-netstat_CXXBASE,$(arostcp-c-netstat_CXXABSBASENAMES), $(firstword $(wildcard $(foreach arostcp-c-netstat_EXT, $(AROS_CXXEXTS),$(addsuffix .$(arostcp-c-netstat_EXT),$(arostcp-c-netstat_CXXBASE))))))) + +ifeq (,) +arostcp-c-netstat_MCXX_SRCWILDCARD := % +else +arostcp-c-netstat_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(arostcp-c-netstat_OBJDIR),) + arostcp-c-netstat_CXXTARGETS := $(notdir $(arostcp-c-netstat_CXXBASENAMES:=.o)) + arostcp-c-netstat_CXXDTARGETS := $(notdir $(arostcp-c-netstat_CXXBASENAMES:=.d)) + arostcp-c-netstat_MCXX_WILDCARD := % +else + arostcp-c-netstat_CXXTARGETS := $(addprefix $(arostcp-c-netstat_OBJDIR)/,$(notdir $(arostcp-c-netstat_CXXBASENAMES:=.o))) + arostcp-c-netstat_CXXDTARGETS := $(addprefix $(arostcp-c-netstat_OBJDIR)/,$(notdir $(arostcp-c-netstat_CXXBASENAMES:=.d))) + arostcp-c-netstat_MCXX_WILDCARD := $(arostcp-c-netstat_OBJDIR)/% + + # Be sure that all source files are generated + $(arostcp-c-netstat_CXXTARGETS) $(arostcp-c-netstat_CXXDTARGETS) : | $(arostcp-c-netstat_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +arostcp-c-netstat_MCXX_CPPFLAGS := $(arostcp-c-netstat_CPPFLAGS) +arostcp-c-netstat_CXXFLAGS := $(arostcp-c-netstat_CXXFLAGS) +ifeq ($(arostcp-c-netstat_DXXFLAGS),) + arostcp-c-netstat_DXXFLAGS := $(arostcp-c-netstat_CXXFLAGS) +else + arostcp-c-netstat_DXXFLAGS := $(arostcp-c-netstat_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + arostcp-c-netstat_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + arostcp-c-netstat_STRIP ?= $(HOST_STRIP) + arostcp-c-netstat_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + arostcp-c-netstat_CXXCMD:=$(HOST_CXX) + arostcp-c-netstat_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(arostcp-c-netstat_MCXX_CPPFLAGS) $(arostcp-c-netstat_MCXX_EXTRA_CPPFLAGS)) + arostcp-c-netstat_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(arostcp-c-netstat_CXXFLAGS)) + arostcp-c-netstat_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(arostcp-c-netstat_DXXFLAGS)) + arostcp-c-netstat_CXXIQUOTE:=$(HOST_IQUOTE) + arostcp-c-netstat_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + arostcp-c-netstat_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + arostcp-c-netstat_STRIP ?= $(TARGET_STRIP) + arostcp-c-netstat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + arostcp-c-netstat_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + arostcp-c-netstat_MCXX_CPPFLAGS := $(strip $(arostcp-c-netstat_MCXX_CPPFLAGS) $(arostcp-c-netstat_MCXX_EXTRA_CPPFLAGS)) + arostcp-c-netstat_CXXFLAGS := $(strip $(arostcp-c-netstat_CXXFLAGS) $(SAFETY_CFLAGS)) + arostcp-c-netstat_DXXFLAGS := $(arostcp-c-netstat_DXXFLAGS) + arostcp-c-netstat_CXXIQUOTE:=$(CFLAGS_IQUOTE) + arostcp-c-netstat_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + arostcp-c-netstat_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + arostcp-c-netstat_STRIP ?= $(ECHO) >/dev/null + arostcp-c-netstat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + arostcp-c-netstat_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + arostcp-c-netstat_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(arostcp-c-netstat_MCXX_CPPFLAGS) $(arostcp-c-netstat_MCXX_EXTRA_CPPFLAGS)) + arostcp-c-netstat_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(arostcp-c-netstat_CXXFLAGS)) + arostcp-c-netstat_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(arostcp-c-netstat_DXXFLAGS)) + arostcp-c-netstat_CXXIQUOTE:=$(KERNEL_IQUOTE) + arostcp-c-netstat_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(arostcp-c-netstat_CXXCMD) $(arostcp-c-netstat_CXXIQUOTE) $(dir $(2)) $(arostcp-c-netstat_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_CXXIQUOTE) . $(arostcp-c-netstat_CXXIQUOTE_END) $(strip $(arostcp-c-netstat_CXXFLAGS) $(arostcp-c-netstat_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(arostcp-c-netstat_CXXCMD) $(arostcp-c-netstat_CXXIQUOTE) $(dir $(2)) $(arostcp-c-netstat_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_CXXIQUOTE) . $(arostcp-c-netstat_CXXIQUOTE_END) $(strip $(arostcp-c-netstat_CXXFLAGS) $(arostcp-c-netstat_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(arostcp-c-netstat_CXXCMD) $(arostcp-c-netstat_CXXIQUOTE) $(dir $(2)) $(arostcp-c-netstat_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_CXXIQUOTE) . $(arostcp-c-netstat_CXXIQUOTE_END) $(strip $(arostcp-c-netstat_CXXFLAGS) $(arostcp-c-netstat_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(arostcp-c-netstat_CXXCMD)" $(MKDEPEND) $(strip $(arostcp-c-netstat_DXXFLAGS) $(arostcp-c-netstat_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(arostcp-c-netstat_OBJDIR),) + $(foreach arostcp-c-netstat_CXXFILE,$(arostcp-c-netstat_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(arostcp-c-netstat_CXXFILE))),$(arostcp-c-netstat_CXXFILE)))) +else + $(foreach arostcp-c-netstat_CXXFILE,$(arostcp-c-netstat_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(notdir $(basename $(arostcp-c-netstat_CXXFILE)))),$(arostcp-c-netstat_CXXFILE)))) +endif + +endif + + +ifneq ($(arostcp-c-netstat_OBJC_NARCHFILES),) + +ifeq (,) +arostcp-c-netstat_MOBJC_SRCWILDCARD := % +else +arostcp-c-netstat_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(arostcp-c-netstat_OBJDIR),) + arostcp-c-netstat_MOBJC_TARGETS := $(addsuffix .o,$(arostcp-c-netstat_OBJC_NARCHFILES)) + arostcp-c-netstat_MOBJC_DTARGETS := $(addsuffix .d,$(arostcp-c-netstat_OBJC_NARCHFILES)) + arostcp-c-netstat_MOBJC_WILDCARD := % +else + arostcp-c-netstat_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(arostcp-c-netstat_OBJC_NARCHFILES))) + arostcp-c-netstat_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(arostcp-c-netstat_OBJC_NARCHFILES))) + arostcp-c-netstat_MOBJC_WILDCARD := $(arostcp-c-netstat_OBJDIR)/% + + # Be sure that all .m files are generated + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : | $(addsuffix .m,$(arostcp-c-netstat_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + arostcp-c-netstat_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + arostcp-c-netstat_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(arostcp-c-netstat_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + arostcp-c-netstat_MOBJC_DIRS := $(foreach dir, $(arostcp-c-netstat_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(arostcp-c-netstat_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(arostcp-c-netstat_MOBJC_DIRS),) + arostcp-c-netstat_MOBJC_DIRS := $(shell echo $(arostcp-c-netstat_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(arostcp-c-netstat_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + arostcp-c-netstat_CC := $(TARGET_CC) +else + arostcp-c-netstat_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +arostcp-c-netstat_MOBJC_CPPFLAGS := $(arostcp-c-netstat_CPPFLAGS) +arostcp-c-netstat_OBJCFLAGS := $(arostcp-c-netstat_CFLAGS) +arostcp-c-netstat_OBJCFLAGS := $(arostcp-c-netstat_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +arostcp-c-netstat_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(arostcp-c-netstat_OBJCFLAGS))) +ifeq ($(arostcp-c-netstat_DFLAGS),) + arostcp-c-netstat_OBJCDFLAGS := $(arostcp-c-netstat_CFLAGS) +else + arostcp-c-netstat_OBJCDFLAGS := $(arostcp-c-netstat_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + arostcp-c-netstat_LINK ?= $(strip $(arostcp-c-netstat_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + arostcp-c-netstat_STRIP ?= $(TARGET_STRIP) + arostcp-c-netstat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : CMD:=$(strip $(arostcp-c-netstat_CC) $(TARGET_SYSROOT)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_MOBJC_CPPFLAGS:=$(strip $(arostcp-c-netstat_MOBJC_CPPFLAGS) $(arostcp-c-netstat_MOBJC_EXTRA_CPPFLAGS)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_OBJCFLAGS:=$(strip $(arostcp-c-netstat_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_OBJCDFLAGS:=$(arostcp-c-netstat_OBJCDFLAGS) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_IQUOTE:=$(CFLAGS_IQUOTE) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + arostcp-c-netstat_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + arostcp-c-netstat_STRIP ?= $(HOST_STRIP) + arostcp-c-netstat_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(arostcp-c-netstat_MOBJC_CPPFLAGS) $(arostcp-c-netstat_MOBJC_EXTRA_CPPFLAGS)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(arostcp-c-netstat_OBJCFLAGS)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(arostcp-c-netstat_OBJCDFLAGS)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_IQUOTE:=$(HOST_IQUOTE) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + arostcp-c-netstat_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + arostcp-c-netstat_STRIP ?= $(ECHO) >/dev/null + arostcp-c-netstat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(arostcp-c-netstat_MOBJC_CPPFLAGS) $(arostcp-c-netstat_MOBJC_EXTRA_CPPFLAGS)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(arostcp-c-netstat_OBJCFLAGS)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(arostcp-c-netstat_OBJCDFLAGS)) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_IQUOTE:=$(KERNEL_IQUOTE) + $(arostcp-c-netstat_MOBJC_TARGETS) $(arostcp-c-netstat_MOBJC_DTARGETS) : arostcp-c-netstat_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(arostcp-c-netstat_MOBJC_TARGETS) : CPPFLAGS := $(arostcp-c-netstat_MOBJC_CPPFLAGS) +$(arostcp-c-netstat_MOBJC_TARGETS) : CFLAGS := $(arostcp-c-netstat_OBJCFLAGS) +$(arostcp-c-netstat_MOBJC_TARGETS) : $(arostcp-c-netstat_MOBJC_WILDCARD).o : $(arostcp-c-netstat_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(arostcp-c-netstat_IQUOTE) $(dir $<) $(arostcp-c-netstat_IQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_IQUOTE) . $(arostcp-c-netstat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(arostcp-c-netstat_IQUOTE) $(dir $<) $(arostcp-c-netstat_IQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_IQUOTE) . $(arostcp-c-netstat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(arostcp-c-netstat_IQUOTE) $(dir $<) $(arostcp-c-netstat_IQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_IQUOTE) . $(arostcp-c-netstat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(arostcp-c-netstat_MOBJC_DTARGETS) : $(arostcp-c-netstat_MOBJC_WILDCARD).d : $(arostcp-c-netstat_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(arostcp-c-netstat_OBJCDFLAGS) $(arostcp-c-netstat_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +arostcp-c-netstat_MC_SRCWILDCARD := % +else +arostcp-c-netstat_MC_SRCWILDCARD := /% +endif + +ifeq ($(arostcp-c-netstat_OBJDIR),) +arostcp-c-netstat_MC_TARGETS := $(addsuffix .o,$(arostcp-c-netstat_C_NARCHFILES)) +arostcp-c-netstat_MC_DTARGETS := $(addsuffix .d,$(arostcp-c-netstat_C_NARCHFILES)) +arostcp-c-netstat_MC_TGTWILDCARD := % +else +ifeq (no,no) + arostcp-c-netstat_MC_TARGETS := $(addsuffix .o,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(notdir $(arostcp-c-netstat_C_NARCHFILES)))) + arostcp-c-netstat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(notdir $(arostcp-c-netstat_C_NARCHFILES)))) +else +ifeq (,) + arostcp-c-netstat_MC_TARGETS := $(addsuffix .o,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(arostcp-c-netstat_C_NARCHFILES))) + arostcp-c-netstat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(arostcp-c-netstat_C_NARCHFILES))) +else + arostcp-c-netstat_MC_TARGETS := $(addsuffix .o,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(patsubst /%,%,$(arostcp-c-netstat_C_NARCHFILES)))) + arostcp-c-netstat_MC_DTARGETS := $(addsuffix .d,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(patsubst /%,%,$(arostcp-c-netstat_C_NARCHFILES)))) +endif +endif +arostcp-c-netstat_MC_TGTWILDCARD := $(arostcp-c-netstat_OBJDIR)/% + +# Be sure that all .c files are generated +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : | $(addsuffix .c,$(arostcp-c-netstat_C_NARCHFILES)) + +# Be sure that all .c files are found +arostcp-c-netstat_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +arostcp-c-netstat_MC_BASEDIRS := $(shell echo $(sort $(dir $(arostcp-c-netstat_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +arostcp-c-netstat_MC_DIRS := $(foreach dir, $(arostcp-c-netstat_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(arostcp-c-netstat_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(arostcp-c-netstat_MC_DIRS),) + arostcp-c-netstat_MC_DIRS := $(shell echo $(arostcp-c-netstat_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(arostcp-c-netstat_MC_DIRS) +endif + +endif + +arostcp-c-netstat_MC_CPPFLAGS := $(arostcp-c-netstat_CPPFLAGS) +arostcp-c-netstat_CFLAGS := $(arostcp-c-netstat_CFLAGS) +ifeq ($(arostcp-c-netstat_DFLAGS),) + arostcp-c-netstat_DFLAGS := $(arostcp-c-netstat_CFLAGS) +else + arostcp-c-netstat_DFLAGS := $(arostcp-c-netstat_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +arostcp-c-netstat_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +arostcp-c-netstat_STRIP ?= $(TARGET_STRIP) +arostcp-c-netstat_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_MC_CPPFLAGS:=$(strip $(arostcp-c-netstat_MC_CPPFLAGS) $(arostcp-c-netstat_MC_EXTRA_CPPFLAGS)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_CFLAGS:=$(strip $(arostcp-c-netstat_CFLAGS) $(SAFETY_CFLAGS)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_DFLAGS:=$(arostcp-c-netstat_DFLAGS) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_IQUOTE:=$(CFLAGS_IQUOTE) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +arostcp-c-netstat_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +arostcp-c-netstat_STRIP ?= $(HOST_STRIP) +arostcp-c-netstat_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : CMD:=$(HOST_CC) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(arostcp-c-netstat_MC_CPPFLAGS) $(arostcp-c-netstat_MC_EXTRA_CPPFLAGS)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_CFLAGS:=$(strip $(HOST_CFLAGS) $(arostcp-c-netstat_CFLAGS)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_DFLAGS:=$(strip $(HOST_CFLAGS) $(arostcp-c-netstat_DFLAGS)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_IQUOTE:=$(HOST_IQUOTE) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +arostcp-c-netstat_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +arostcp-c-netstat_STRIP ?= $(ECHO) >/dev/null +arostcp-c-netstat_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(arostcp-c-netstat_MC_CPPFLAGS) $(arostcp-c-netstat_MC_EXTRA_CPPFLAGS)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(arostcp-c-netstat_CFLAGS)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(arostcp-c-netstat_DFLAGS)) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_IQUOTE:=$(KERNEL_IQUOTE) +$(arostcp-c-netstat_MC_TARGETS) $(arostcp-c-netstat_MC_DTARGETS) : arostcp-c-netstat_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(arostcp-c-netstat_MC_TARGETS) : CPPFLAGS := $(arostcp-c-netstat_MC_CPPFLAGS) +$(arostcp-c-netstat_MC_TARGETS) : CFLAGS := $(arostcp-c-netstat_CFLAGS) +$(arostcp-c-netstat_MC_TARGETS) : $(arostcp-c-netstat_MC_TGTWILDCARD).o : $(arostcp-c-netstat_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(arostcp-c-netstat_IQUOTE) $(dir $<) $(arostcp-c-netstat_IQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_IQUOTE) . $(arostcp-c-netstat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(arostcp-c-netstat_IQUOTE) $(dir $<) $(arostcp-c-netstat_IQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_IQUOTE) . $(arostcp-c-netstat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(arostcp-c-netstat_IQUOTE) $(dir $<) $(arostcp-c-netstat_IQUOTE) $(SRCDIR)/$(CURDIR) $(arostcp-c-netstat_IQUOTE) . $(arostcp-c-netstat_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(arostcp-c-netstat_MC_DTARGETS) : $(arostcp-c-netstat_MC_TGTWILDCARD).d : $(arostcp-c-netstat_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(arostcp-c-netstat_DFLAGS) $(arostcp-c-netstat_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(arostcp-c-netstat_OBJDIR),) +arostcp-c-netstat-MA_TARGETS := $(addsuffix .o,$(arostcp-c-netstat_ASMFILES)) +arostcp-c-netstat-MA_WILDCARD := % +else +arostcp-c-netstat-MA_TARGETS := $(addsuffix .o,$(addprefix $(arostcp-c-netstat_OBJDIR)/,$(notdir $(arostcp-c-netstat_ASMFILES)))) +arostcp-c-netstat-MA_WILDCARD := $(arostcp-c-netstat_OBJDIR)/% + +# Be sure that all .s files are generated +$(arostcp-c-netstat-MA_TARGETS) : | $(addsuffix .s,$(arostcp-c-netstat_ASMFILES)) + +# Be sure that all .c files are found +arostcp-c-netstat-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +arostcp-c-netstat-MA_BASEDIRS := $(shell echo $(sort $(dir $(arostcp-c-netstat_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +arostcp-c-netstat-MA_DIRS := $(foreach dir, $(arostcp-c-netstat-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(arostcp-c-netstat-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(arostcp-c-netstat-MA_DIRS),) + arostcp-c-netstat-MA_DIRS := $(shell echo $(arostcp-c-netstat-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(arostcp-c-netstat-MA_DIRS) +endif + +endif + +arostcp-c-netstat-MA_ASSEMBLER ?= $(arostcp-c-netstat_ASSEMBLER) + +$(arostcp-c-netstat-MA_TARGETS) : arostcp-c-netstat-MA_CMD:= $(arostcp-c-netstat-MA_ASSEMBLER) + +$(arostcp-c-netstat-MA_TARGETS) : CPPFLAGS := $(arostcp-c-netstat_CPPFLAGS) +$(arostcp-c-netstat-MA_TARGETS) : AFLAGS := $(arostcp-c-netstat_AFLAGS) +$(arostcp-c-netstat-MA_TARGETS) : $(arostcp-c-netstat-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(arostcp-c-netstat-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(arostcp-c-netstat-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(arostcp-c-netstat-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +arostcp-c-netstat-link_EXTRA_LDFLAGS := +arostcp-c-netstat-link_EXTRA_LIBS := +ifeq (no,yes) + arostcp-c-netstat-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + arostcp-c-netstat-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + arostcp-c-netstat-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +arostcp-c-netstat-link_DIRS := $(subst -L ,-L,$(strip $(arostcp-c-netstat_LDFLAGS))) +# Filter out only the libdirs and remove -L +arostcp-c-netstat-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(arostcp-c-netstat-link_DIRS))) +# Add trailing / +arostcp-c-netstat-link_DIRS := $(subst //,/,$(addsuffix /,$(arostcp-c-netstat-link_DIRS))) +# Add normal linklib path +arostcp-c-netstat-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +arostcp-c-netstat-link_LIBS := $(addprefix lib,$(addsuffix .a,$(arostcp-c-netstat_LIBS) $(arostcp-c-netstat-link_EXTRA_LIBS))) +ifeq (yes,yes) + arostcp-c-netstat-link_LIBS += startup.o +endif +ifeq (no,yes) + arostcp-c-netstat-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +arostcp-c-netstat-link_DEPLIBS := $(foreach lib,$(arostcp-c-netstat-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(arostcp-c-netstat-link_DIRS)))) \ +) + +$(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) : OBJDIR := $(arostcp-c-netstat_OBJDIR) +$(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) : OBJS := $(arostcp-c-netstat_OBJS) $(arostcp-c-netstat_ARCHOBJS) $(USER_OBJS) +$(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) : LDFLAGS := $(strip $(arostcp-c-netstat_LDFLAGS) $(arostcp-c-netstat-link_EXTRA_LDFLAGS)) +$(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) : LIBS := $(addprefix -l,$(arostcp-c-netstat_LIBS) $(arostcp-c-netstat-link_EXTRA_LIBS) ) +$(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) : $(arostcp-c-netstat_OBJS) $(arostcp-c-netstat_ARCHOBJS) $(USER_OBJS) $(arostcp-c-netstat-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(arostcp-c-netstat_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(arostcp-c-netstat_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(arostcp-c-netstat_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(arostcp-c-netstat_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(arostcp-c-netstat_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(arostcp-c-netstat_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(arostcp-c-netstat_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(arostcp-c-netstat_DEPS),) + ifneq (arostcp-c-netstat arostcp-c-netstat-quick,) + ifneq ($(findstring $(TARGET),arostcp-c-netstat arostcp-c-netstat-quick),) + -include $(arostcp-c-netstat_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(arostcp-c-netstat_DEPS) + endif + endif +endif + + +ifneq ($(arostcp-c-netstat_OBJS) $(arostcp-c-netstat_DEPS) $(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME),) +$(arostcp-c-netstat_OBJS) $(arostcp-c-netstat_DEPS) $(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) : | $(arostcp-c-netstat_OBJDIR) $(arostcp-c-netstat_TARGETDIR) +else +$(arostcp-c-netstat_OBJS) $(arostcp-c-netstat_DEPS) $(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) :: $(arostcp-c-netstat_OBJDIR) $(arostcp-c-netstat_TARGETDIR) +endif + +GLOB_MKDIRS += $(arostcp-c-netstat_OBJDIR) $(arostcp-c-netstat_TARGETDIR) + + +arostcp-c-netstat-clean : FILES := $(arostcp-c-netstat_OBJS) $(arostcp-c-netstat_TARGETDIR)/$(arostcp-c-netstat_PROGNAME) $(arostcp-c-netstat_DEPS) +#MM +arostcp-c-netstat-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget arostcp-c-netstat" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/network/common/include/mmakefile b/workbench/network/common/include/mmakefile new file mode 100644 index 00000000000..596bdab0368 --- /dev/null +++ b/workbench/network/common/include/mmakefile @@ -0,0 +1,40 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +INCLUDES := $(call WILDCARD, *.h arpa/*.h bsdsocket/*.h clib/*.h defines/*.h libraries/*.h net/*.h netinet/*.h proto/*.h sys/*.h) +DEST_INCLUDES := $(foreach f,$(INCLUDES),$(AROS_INCLUDES)/$(f)) +DIRS := $(AROS_INCLUDES) \ + $(AROS_INCLUDES)/arpa \ + $(AROS_INCLUDES)/bsdsocket \ + $(AROS_INCLUDES)/clib \ + $(AROS_INCLUDES)/defines \ + $(AROS_INCLUDES)/libraries \ + $(AROS_INCLUDES)/net \ + $(AROS_INCLUDES)/netinet \ + $(AROS_INCLUDES)/proto \ + $(AROS_INCLUDES)/sys + +#MM- includes-copy : network-includes-copy +#MM network-includes-copy : network-includes-setup + +#MM +network-includes-copy : $(DEST_INCLUDES) + +#MM +network-includes-setup : + $(Q)$(FOR) dir in $(DIRS) ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + +$(DEST_INCLUDES) : $(AROS_INCLUDES)/% : $(SRCDIR)/$(CURDIR)/% + @$(CP) $< $@ + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/network/common/mmakefile b/workbench/network/common/mmakefile new file mode 100644 index 00000000000..6442845a84c --- /dev/null +++ b/workbench/network/common/mmakefile @@ -0,0 +1,12 @@ +# $Id$ + +#MM- workbench-network: workbench-network-common + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/mmakefile b/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/mmakefile new file mode 100644 index 00000000000..d7cff7770d0 --- /dev/null +++ b/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright © 2004, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:= + + +ifeq (,) +arostcp-libs-muimiamipanel-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +arostcp-libs-muimiamipanel-catalogs_DESC := +endif + +arostcp-libs-muimiamipanel-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +arostcp-libs-muimiamipanel-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +arostcp-libs-muimiamipanel-catalogs_LNGS := $(CATALOGS) +endif + +arostcp-libs-muimiamipanel-catalogs_OBJS := $(addsuffix /System/System/MUI.MiamiPanel.catalog, $(addprefix $(AROS_CATALOGS)/, $(arostcp-libs-muimiamipanel-catalogs_LNGS))) +arostcp-libs-muimiamipanel-catalogs_DIRS := $(addsuffix /System/System, $(addprefix $(AROS_CATALOGS)/, $(arostcp-libs-muimiamipanel-catalogs_LNGS))) $(dir ../strings.h) + +#MM- arostcp-libs-muimiamipanel-catalogs-quick : arostcp-libs-muimiamipanel-catalogs + +#MM +arostcp-libs-muimiamipanel-catalogs : $(arostcp-libs-muimiamipanel-catalogs_OBJS) ../strings.h + + +ifneq ($(arostcp-libs-muimiamipanel-catalogs_OBJS),) +$(arostcp-libs-muimiamipanel-catalogs_OBJS) : | $(arostcp-libs-muimiamipanel-catalogs_DIRS) +else +$(arostcp-libs-muimiamipanel-catalogs_OBJS) :: $(arostcp-libs-muimiamipanel-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(arostcp-libs-muimiamipanel-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/System/MUI.MiamiPanel.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(arostcp-libs-muimiamipanel-catalogs_DESC).cd + $(Q)$(ECHO) "Creating MUI.MiamiPanel catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(arostcp-libs-muimiamipanel-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/MUI.MiamiPanel.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(arostcp-libs-muimiamipanel-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/MUI.MiamiPanel.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(arostcp-libs-muimiamipanel-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/MUI.MiamiPanel.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : arostcp-libs-muimiamipanel-catalogs_DESC := $(arostcp-libs-muimiamipanel-catalogs_DESC) +../strings.h : arostcp-libs-muimiamipanel-catalogs_SRC := $(arostcp-libs-muimiamipanel-catalogs_SRC) +../strings.h : $(arostcp-libs-muimiamipanel-catalogs_DESC).cd $(arostcp-libs-muimiamipanel-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating MUI.MiamiPanel catalog source file $@" + $(Q)$(FLEXCAT) $(arostcp-libs-muimiamipanel-catalogs_DESC).cd $@=$(arostcp-libs-muimiamipanel-catalogs_SRC).sd +endif + +arostcp-libs-muimiamipanel-catalogs-clean : FILES := $(arostcp-libs-muimiamipanel-catalogs_OBJS) ../strings.h +#MM +arostcp-libs-muimiamipanel-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget arostcp-libs-muimiamipanel-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: arostcp-libs-muimiamipanel-catalogs arostcp-libs-muimiamipanel-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/Presets/mmakefile b/workbench/prefs/Presets/mmakefile new file mode 100644 index 00000000000..041fdc369a3 --- /dev/null +++ b/workbench/prefs/Presets/mmakefile @@ -0,0 +1,26 @@ +# $Id$ +# +# Makefile to copy Prefs/Presets. + +include $(SRCDIR)/config/aros.cfg + +TARGETDIR := $(AROS_PREFS)/Presets + +#MM- workbench-prefs : workbench-prefs-presets + + +.PHONY : workbench-prefs-presets + +#MM +workbench-prefs-presets : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s . -d $(TARGETDIR) -e + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/appearance/catalogs/mmakefile b/workbench/prefs/appearance/catalogs/mmakefile new file mode 100644 index 00000000000..f1c7aa1cf04 --- /dev/null +++ b/workbench/prefs/appearance/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright © 2013-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech italian french polish norwegian + + +ifeq (,) +workbench-prefs-appearance-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-prefs-appearance-catalogs_DESC := +endif + +workbench-prefs-appearance-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-prefs-appearance-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-prefs-appearance-catalogs_LNGS := $(CATALOGS) +endif + +workbench-prefs-appearance-catalogs_OBJS := $(addsuffix /System/Prefs/Appearance.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-appearance-catalogs_LNGS))) +workbench-prefs-appearance-catalogs_DIRS := $(addsuffix /System/Prefs, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-appearance-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-prefs-appearance-catalogs-quick : workbench-prefs-appearance-catalogs + +#MM +workbench-prefs-appearance-catalogs : $(workbench-prefs-appearance-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-prefs-appearance-catalogs_OBJS),) +$(workbench-prefs-appearance-catalogs_OBJS) : | $(workbench-prefs-appearance-catalogs_DIRS) +else +$(workbench-prefs-appearance-catalogs_OBJS) :: $(workbench-prefs-appearance-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-prefs-appearance-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Prefs/Appearance.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-prefs-appearance-catalogs_DESC).cd + $(Q)$(ECHO) "Creating Appearance catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-prefs-appearance-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Appearance.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-prefs-appearance-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Appearance.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-prefs-appearance-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Appearance.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-prefs-appearance-catalogs_DESC := $(workbench-prefs-appearance-catalogs_DESC) +../strings.h : workbench-prefs-appearance-catalogs_SRC := $(workbench-prefs-appearance-catalogs_SRC) +../strings.h : $(workbench-prefs-appearance-catalogs_DESC).cd $(workbench-prefs-appearance-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating Appearance catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-prefs-appearance-catalogs_DESC).cd $@=$(workbench-prefs-appearance-catalogs_SRC).sd +endif + +workbench-prefs-appearance-catalogs-clean : FILES := $(workbench-prefs-appearance-catalogs_OBJS) ../strings.h +#MM +workbench-prefs-appearance-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-appearance-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-prefs-appearance-catalogs workbench-prefs-appearance-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/appearance/mmakefile b/workbench/prefs/appearance/mmakefile new file mode 100644 index 00000000000..99c90e040cf --- /dev/null +++ b/workbench/prefs/appearance/mmakefile @@ -0,0 +1,635 @@ +# Copyright © 2013, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +FILES := main appearanceeditor themepreview misc locale args + +EXEDIR := $(AROS_PREFS) + +USER_CFLAGS := $(PARANOIA_CFLAGS) + +#MM- workbench-prefs : workbench-prefs-appearance +#MM workbench-prefs-appearance : includes linklibs workbench-prefs-appearance-catalogs + + +.PHONY : workbench-prefs-appearance + +workbench-prefs-appearance_PROGNAME := Appearance +workbench-prefs-appearance_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-prefs-appearance_TARGETDIR := $(EXEDIR) +workbench-prefs-appearance_LINKER := +workbench-prefs-appearance_LIBS := mui +# If not supplied, linker is equal to compiler +ifeq ($(workbench-prefs-appearance_LINKER),) + workbench-prefs-appearance_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-prefs-appearance_FILES := $(FILES) + workbench-prefs-appearance_OBJCFILES := + workbench-prefs-appearance_ASMFILES := + workbench-prefs-appearance_CXXFILES := +else + workbench-prefs-appearance_FILES := $(workbench-prefs-appearance_PROGNAME) + workbench-prefs-appearance_OBJCFILES := + workbench-prefs-appearance_ASMFILES := + workbench-prefs-appearance_CXXFILES := +endif + +workbench-prefs-appearance_ARCHOBJS := $(wildcard $(workbench-prefs-appearance_OBJDIR)/arch/*.o) +workbench-prefs-appearance_ARCHFILES := $(basename $(notdir $(workbench-prefs-appearance_ARCHOBJS))) +workbench-prefs-appearance_C_NARCHFILES := $(filter-out $(workbench-prefs-appearance_ARCHFILES),$(workbench-prefs-appearance_FILES)) +workbench-prefs-appearance_CXX_NARCHFILES := $(filter-out $(workbench-prefs-appearance_ARCHFILES),$(workbench-prefs-appearance_CXXFILES)) +workbench-prefs-appearance_OBJC_NARCHFILES := $(filter-out $(workbench-prefs-appearance_ARCHFILES),$(workbench-prefs-appearance_OBJCFILES)) + +TMP_FILES := $(workbench-prefs-appearance_C_NARCHFILES) $(workbench-prefs-appearance_CXX_NARCHFILES) $(workbench-prefs-appearance_ASMFILES) $(workbench-prefs-appearance_OBJC_NARCHFILES) +workbench-prefs-appearance_OBJS := $(addsuffix .o,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-prefs-appearance_DEPS := $(addsuffix .d,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-prefs-appearance_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-prefs-appearance_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-appearance_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-prefs-appearance_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-appearance_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-prefs-appearance_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-appearance_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-prefs-appearance_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-appearance_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-prefs-appearance_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-appearance_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-prefs-appearance_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-appearance_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-prefs-appearance_LDFLAGS := +endif + +workbench-prefs-appearance_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-prefs-appearance_COVERAGE := yes +workbench-prefs-appearance_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-prefs-appearance_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-prefs-appearance_CFLAGS := $(strip $(workbench-prefs-appearance_COVERAGEFLAGS) $(workbench-prefs-appearance_CFLAGS)) +workbench-prefs-appearance_CXXFLAGS := $(strip $(workbench-prefs-appearance_COVERAGEFLAGS) $(workbench-prefs-appearance_CXXFLAGS)) +workbench-prefs-appearance_LIBS += $(workbench-prefs-appearance_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-prefs-appearance_FUNCINSTR := yes +workbench-prefs-appearance_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-prefs-appearance_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-prefs-appearance_CFLAGS := $(strip $(workbench-prefs-appearance_INSTRFUNCFLAGS) $(workbench-prefs-appearance_CFLAGS)) +workbench-prefs-appearance_CXXFLAGS := $(strip $(workbench-prefs-appearance_INSTRFUNCFLAGS) $(workbench-prefs-appearance_CXXFLAGS)) +workbench-prefs-appearance_LIBS += $(workbench-prefs-appearance_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-prefs-appearance_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-prefs-appearance_CFLAGS)) +workbench-prefs-appearance_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-prefs-appearance_CXXFLAGS)) +endif +endif +workbench-prefs-appearance_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-prefs-appearance_DFLAGS := +else + workbench-prefs-appearance_DFLAGS := $(workbench-prefs-appearance_CFLAGS) +endif +ifneq (,) + workbench-prefs-appearance_DXXFLAGS := +else + workbench-prefs-appearance_DXXFLAGS := $(workbench-prefs-appearance_CXXFLAGS) +endif +ifeq (target,target) +workbench-prefs-appearance_LDFLAGS := $(workbench-prefs-appearance_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-prefs-appearance_LDFLAGS := $(workbench-prefs-appearance_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-appearance_LDFLAGS := $(workbench-prefs-appearance_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-prefs-appearance_LDFLAGS += -L +endif + +#MM +workbench-prefs-appearance-quick : workbench-prefs-appearance + +#MM workbench-prefs-appearance : includes-generate-deps core-linklibs +workbench-prefs-appearance : $(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-prefs-appearance workbench-prefs-appearance-quick workbench-prefs-appearance-gz-quick),) + +workbench-prefs-appearance_CXXABSBASENAMES := $(foreach workbench-prefs-appearance_CXXBASE,$(workbench-prefs-appearance_CXX_NARCHFILES),$(if $(filter /%,$(workbench-prefs-appearance_CXXBASE)),$(workbench-prefs-appearance_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-prefs-appearance_CXXBASE)))) + +ifneq ($(workbench-prefs-appearance_CXXABSBASENAMES),) + +workbench-prefs-appearance_CXXBASENAMES := $(basename $(workbench-prefs-appearance_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-prefs-appearance_MCXX_FILES := $(strip $(foreach workbench-prefs-appearance_CXXBASE,$(workbench-prefs-appearance_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-prefs-appearance_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-prefs-appearance_EXT),$(workbench-prefs-appearance_CXXBASE))))))) + +ifeq (,) +workbench-prefs-appearance_MCXX_SRCWILDCARD := % +else +workbench-prefs-appearance_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-appearance_OBJDIR),) + workbench-prefs-appearance_CXXTARGETS := $(notdir $(workbench-prefs-appearance_CXXBASENAMES:=.o)) + workbench-prefs-appearance_CXXDTARGETS := $(notdir $(workbench-prefs-appearance_CXXBASENAMES:=.d)) + workbench-prefs-appearance_MCXX_WILDCARD := % +else + workbench-prefs-appearance_CXXTARGETS := $(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(notdir $(workbench-prefs-appearance_CXXBASENAMES:=.o))) + workbench-prefs-appearance_CXXDTARGETS := $(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(notdir $(workbench-prefs-appearance_CXXBASENAMES:=.d))) + workbench-prefs-appearance_MCXX_WILDCARD := $(workbench-prefs-appearance_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-prefs-appearance_CXXTARGETS) $(workbench-prefs-appearance_CXXDTARGETS) : | $(workbench-prefs-appearance_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-prefs-appearance_MCXX_CPPFLAGS := $(workbench-prefs-appearance_CPPFLAGS) +workbench-prefs-appearance_CXXFLAGS := $(workbench-prefs-appearance_CXXFLAGS) +ifeq ($(workbench-prefs-appearance_DXXFLAGS),) + workbench-prefs-appearance_DXXFLAGS := $(workbench-prefs-appearance_CXXFLAGS) +else + workbench-prefs-appearance_DXXFLAGS := $(workbench-prefs-appearance_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-prefs-appearance_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-prefs-appearance_STRIP ?= $(HOST_STRIP) + workbench-prefs-appearance_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-prefs-appearance_CXXCMD:=$(HOST_CXX) + workbench-prefs-appearance_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-prefs-appearance_MCXX_CPPFLAGS) $(workbench-prefs-appearance_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-appearance_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-prefs-appearance_CXXFLAGS)) + workbench-prefs-appearance_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-prefs-appearance_DXXFLAGS)) + workbench-prefs-appearance_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-prefs-appearance_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-prefs-appearance_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-prefs-appearance_STRIP ?= $(TARGET_STRIP) + workbench-prefs-appearance_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-prefs-appearance_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-prefs-appearance_MCXX_CPPFLAGS := $(strip $(workbench-prefs-appearance_MCXX_CPPFLAGS) $(workbench-prefs-appearance_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-appearance_CXXFLAGS := $(strip $(workbench-prefs-appearance_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-prefs-appearance_DXXFLAGS := $(workbench-prefs-appearance_DXXFLAGS) + workbench-prefs-appearance_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-prefs-appearance_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-prefs-appearance_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-prefs-appearance_STRIP ?= $(ECHO) >/dev/null + workbench-prefs-appearance_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-prefs-appearance_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-prefs-appearance_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-prefs-appearance_MCXX_CPPFLAGS) $(workbench-prefs-appearance_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-appearance_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-prefs-appearance_CXXFLAGS)) + workbench-prefs-appearance_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-prefs-appearance_DXXFLAGS)) + workbench-prefs-appearance_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-prefs-appearance_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-prefs-appearance_CXXCMD) $(workbench-prefs-appearance_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-appearance_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_CXXIQUOTE) . $(workbench-prefs-appearance_CXXIQUOTE_END) $(strip $(workbench-prefs-appearance_CXXFLAGS) $(workbench-prefs-appearance_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-prefs-appearance_CXXCMD) $(workbench-prefs-appearance_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-appearance_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_CXXIQUOTE) . $(workbench-prefs-appearance_CXXIQUOTE_END) $(strip $(workbench-prefs-appearance_CXXFLAGS) $(workbench-prefs-appearance_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-prefs-appearance_CXXCMD) $(workbench-prefs-appearance_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-appearance_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_CXXIQUOTE) . $(workbench-prefs-appearance_CXXIQUOTE_END) $(strip $(workbench-prefs-appearance_CXXFLAGS) $(workbench-prefs-appearance_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-prefs-appearance_CXXCMD)" $(MKDEPEND) $(strip $(workbench-prefs-appearance_DXXFLAGS) $(workbench-prefs-appearance_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-prefs-appearance_OBJDIR),) + $(foreach workbench-prefs-appearance_CXXFILE,$(workbench-prefs-appearance_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-prefs-appearance_CXXFILE))),$(workbench-prefs-appearance_CXXFILE)))) +else + $(foreach workbench-prefs-appearance_CXXFILE,$(workbench-prefs-appearance_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(notdir $(basename $(workbench-prefs-appearance_CXXFILE)))),$(workbench-prefs-appearance_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-prefs-appearance_OBJC_NARCHFILES),) + +ifeq (,) +workbench-prefs-appearance_MOBJC_SRCWILDCARD := % +else +workbench-prefs-appearance_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-appearance_OBJDIR),) + workbench-prefs-appearance_MOBJC_TARGETS := $(addsuffix .o,$(workbench-prefs-appearance_OBJC_NARCHFILES)) + workbench-prefs-appearance_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-prefs-appearance_OBJC_NARCHFILES)) + workbench-prefs-appearance_MOBJC_WILDCARD := % +else + workbench-prefs-appearance_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(workbench-prefs-appearance_OBJC_NARCHFILES))) + workbench-prefs-appearance_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(workbench-prefs-appearance_OBJC_NARCHFILES))) + workbench-prefs-appearance_MOBJC_WILDCARD := $(workbench-prefs-appearance_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-prefs-appearance_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-prefs-appearance_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-prefs-appearance_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-appearance_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-prefs-appearance_MOBJC_DIRS := $(foreach dir, $(workbench-prefs-appearance_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-appearance_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-prefs-appearance_MOBJC_DIRS),) + workbench-prefs-appearance_MOBJC_DIRS := $(shell echo $(workbench-prefs-appearance_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-prefs-appearance_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-prefs-appearance_CC := $(TARGET_CC) +else + workbench-prefs-appearance_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-prefs-appearance_MOBJC_CPPFLAGS := $(workbench-prefs-appearance_CPPFLAGS) +workbench-prefs-appearance_OBJCFLAGS := $(workbench-prefs-appearance_CFLAGS) +workbench-prefs-appearance_OBJCFLAGS := $(workbench-prefs-appearance_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-prefs-appearance_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-prefs-appearance_OBJCFLAGS))) +ifeq ($(workbench-prefs-appearance_DFLAGS),) + workbench-prefs-appearance_OBJCDFLAGS := $(workbench-prefs-appearance_CFLAGS) +else + workbench-prefs-appearance_OBJCDFLAGS := $(workbench-prefs-appearance_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-prefs-appearance_LINK ?= $(strip $(workbench-prefs-appearance_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-prefs-appearance_STRIP ?= $(TARGET_STRIP) + workbench-prefs-appearance_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-prefs-appearance_CC) $(TARGET_SYSROOT)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_MOBJC_CPPFLAGS:=$(strip $(workbench-prefs-appearance_MOBJC_CPPFLAGS) $(workbench-prefs-appearance_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_OBJCFLAGS:=$(strip $(workbench-prefs-appearance_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_OBJCDFLAGS:=$(workbench-prefs-appearance_OBJCDFLAGS) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-prefs-appearance_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-prefs-appearance_STRIP ?= $(HOST_STRIP) + workbench-prefs-appearance_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-prefs-appearance_MOBJC_CPPFLAGS) $(workbench-prefs-appearance_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-appearance_OBJCFLAGS)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-appearance_OBJCDFLAGS)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_IQUOTE:=$(HOST_IQUOTE) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-prefs-appearance_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-prefs-appearance_STRIP ?= $(ECHO) >/dev/null + workbench-prefs-appearance_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-prefs-appearance_MOBJC_CPPFLAGS) $(workbench-prefs-appearance_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-appearance_OBJCFLAGS)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-appearance_OBJCDFLAGS)) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-prefs-appearance_MOBJC_TARGETS) $(workbench-prefs-appearance_MOBJC_DTARGETS) : workbench-prefs-appearance_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-prefs-appearance_MOBJC_TARGETS) : CPPFLAGS := $(workbench-prefs-appearance_MOBJC_CPPFLAGS) +$(workbench-prefs-appearance_MOBJC_TARGETS) : CFLAGS := $(workbench-prefs-appearance_OBJCFLAGS) +$(workbench-prefs-appearance_MOBJC_TARGETS) : $(workbench-prefs-appearance_MOBJC_WILDCARD).o : $(workbench-prefs-appearance_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-prefs-appearance_IQUOTE) $(dir $<) $(workbench-prefs-appearance_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_IQUOTE) . $(workbench-prefs-appearance_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-prefs-appearance_IQUOTE) $(dir $<) $(workbench-prefs-appearance_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_IQUOTE) . $(workbench-prefs-appearance_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-prefs-appearance_IQUOTE) $(dir $<) $(workbench-prefs-appearance_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_IQUOTE) . $(workbench-prefs-appearance_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-prefs-appearance_MOBJC_DTARGETS) : $(workbench-prefs-appearance_MOBJC_WILDCARD).d : $(workbench-prefs-appearance_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-prefs-appearance_OBJCDFLAGS) $(workbench-prefs-appearance_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-prefs-appearance_MC_SRCWILDCARD := % +else +workbench-prefs-appearance_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-appearance_OBJDIR),) +workbench-prefs-appearance_MC_TARGETS := $(addsuffix .o,$(workbench-prefs-appearance_C_NARCHFILES)) +workbench-prefs-appearance_MC_DTARGETS := $(addsuffix .d,$(workbench-prefs-appearance_C_NARCHFILES)) +workbench-prefs-appearance_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-prefs-appearance_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(notdir $(workbench-prefs-appearance_C_NARCHFILES)))) + workbench-prefs-appearance_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(notdir $(workbench-prefs-appearance_C_NARCHFILES)))) +else +ifeq (,) + workbench-prefs-appearance_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(workbench-prefs-appearance_C_NARCHFILES))) + workbench-prefs-appearance_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(workbench-prefs-appearance_C_NARCHFILES))) +else + workbench-prefs-appearance_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(patsubst /%,%,$(workbench-prefs-appearance_C_NARCHFILES)))) + workbench-prefs-appearance_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(patsubst /%,%,$(workbench-prefs-appearance_C_NARCHFILES)))) +endif +endif +workbench-prefs-appearance_MC_TGTWILDCARD := $(workbench-prefs-appearance_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : | $(addsuffix .c,$(workbench-prefs-appearance_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-prefs-appearance_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-prefs-appearance_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-appearance_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-prefs-appearance_MC_DIRS := $(foreach dir, $(workbench-prefs-appearance_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-appearance_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-prefs-appearance_MC_DIRS),) + workbench-prefs-appearance_MC_DIRS := $(shell echo $(workbench-prefs-appearance_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-prefs-appearance_MC_DIRS) +endif + +endif + +workbench-prefs-appearance_MC_CPPFLAGS := $(workbench-prefs-appearance_CPPFLAGS) +workbench-prefs-appearance_CFLAGS := $(workbench-prefs-appearance_CFLAGS) +ifeq ($(workbench-prefs-appearance_DFLAGS),) + workbench-prefs-appearance_DFLAGS := $(workbench-prefs-appearance_CFLAGS) +else + workbench-prefs-appearance_DFLAGS := $(workbench-prefs-appearance_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-prefs-appearance_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-prefs-appearance_STRIP ?= $(TARGET_STRIP) +workbench-prefs-appearance_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_MC_CPPFLAGS:=$(strip $(workbench-prefs-appearance_MC_CPPFLAGS) $(workbench-prefs-appearance_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_CFLAGS:=$(strip $(workbench-prefs-appearance_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_DFLAGS:=$(workbench-prefs-appearance_DFLAGS) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-prefs-appearance_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-prefs-appearance_STRIP ?= $(HOST_STRIP) +workbench-prefs-appearance_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-prefs-appearance_MC_CPPFLAGS) $(workbench-prefs-appearance_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-appearance_CFLAGS)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-appearance_DFLAGS)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_IQUOTE:=$(HOST_IQUOTE) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-prefs-appearance_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-prefs-appearance_STRIP ?= $(ECHO) >/dev/null +workbench-prefs-appearance_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-prefs-appearance_MC_CPPFLAGS) $(workbench-prefs-appearance_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-appearance_CFLAGS)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-appearance_DFLAGS)) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-prefs-appearance_MC_TARGETS) $(workbench-prefs-appearance_MC_DTARGETS) : workbench-prefs-appearance_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-prefs-appearance_MC_TARGETS) : CPPFLAGS := $(workbench-prefs-appearance_MC_CPPFLAGS) +$(workbench-prefs-appearance_MC_TARGETS) : CFLAGS := $(workbench-prefs-appearance_CFLAGS) +$(workbench-prefs-appearance_MC_TARGETS) : $(workbench-prefs-appearance_MC_TGTWILDCARD).o : $(workbench-prefs-appearance_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-prefs-appearance_IQUOTE) $(dir $<) $(workbench-prefs-appearance_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_IQUOTE) . $(workbench-prefs-appearance_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-prefs-appearance_IQUOTE) $(dir $<) $(workbench-prefs-appearance_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_IQUOTE) . $(workbench-prefs-appearance_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-prefs-appearance_IQUOTE) $(dir $<) $(workbench-prefs-appearance_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-appearance_IQUOTE) . $(workbench-prefs-appearance_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-prefs-appearance_MC_DTARGETS) : $(workbench-prefs-appearance_MC_TGTWILDCARD).d : $(workbench-prefs-appearance_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-prefs-appearance_DFLAGS) $(workbench-prefs-appearance_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-prefs-appearance_OBJDIR),) +workbench-prefs-appearance-MA_TARGETS := $(addsuffix .o,$(workbench-prefs-appearance_ASMFILES)) +workbench-prefs-appearance-MA_WILDCARD := % +else +workbench-prefs-appearance-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-appearance_OBJDIR)/,$(notdir $(workbench-prefs-appearance_ASMFILES)))) +workbench-prefs-appearance-MA_WILDCARD := $(workbench-prefs-appearance_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-prefs-appearance-MA_TARGETS) : | $(addsuffix .s,$(workbench-prefs-appearance_ASMFILES)) + +# Be sure that all .c files are found +workbench-prefs-appearance-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-prefs-appearance-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-appearance_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-prefs-appearance-MA_DIRS := $(foreach dir, $(workbench-prefs-appearance-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-appearance-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-prefs-appearance-MA_DIRS),) + workbench-prefs-appearance-MA_DIRS := $(shell echo $(workbench-prefs-appearance-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-prefs-appearance-MA_DIRS) +endif + +endif + +workbench-prefs-appearance-MA_ASSEMBLER ?= $(workbench-prefs-appearance_ASSEMBLER) + +$(workbench-prefs-appearance-MA_TARGETS) : workbench-prefs-appearance-MA_CMD:= $(workbench-prefs-appearance-MA_ASSEMBLER) + +$(workbench-prefs-appearance-MA_TARGETS) : CPPFLAGS := $(workbench-prefs-appearance_CPPFLAGS) +$(workbench-prefs-appearance-MA_TARGETS) : AFLAGS := $(workbench-prefs-appearance_AFLAGS) +$(workbench-prefs-appearance-MA_TARGETS) : $(workbench-prefs-appearance-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-prefs-appearance-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-prefs-appearance-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-prefs-appearance-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-prefs-appearance-link_EXTRA_LDFLAGS := +workbench-prefs-appearance-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-prefs-appearance-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-prefs-appearance-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-prefs-appearance-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-prefs-appearance-link_DIRS := $(subst -L ,-L,$(strip $(workbench-prefs-appearance_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-prefs-appearance-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-prefs-appearance-link_DIRS))) +# Add trailing / +workbench-prefs-appearance-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-prefs-appearance-link_DIRS))) +# Add normal linklib path +workbench-prefs-appearance-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-prefs-appearance-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-prefs-appearance_LIBS) $(workbench-prefs-appearance-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-prefs-appearance-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-prefs-appearance-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-prefs-appearance-link_DEPLIBS := $(foreach lib,$(workbench-prefs-appearance-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-prefs-appearance-link_DIRS)))) \ +) + +$(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) : OBJDIR := $(workbench-prefs-appearance_OBJDIR) +$(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) : OBJS := $(workbench-prefs-appearance_OBJS) $(workbench-prefs-appearance_ARCHOBJS) $(USER_OBJS) +$(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) : LDFLAGS := $(strip $(workbench-prefs-appearance_LDFLAGS) $(workbench-prefs-appearance-link_EXTRA_LDFLAGS)) +$(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) : LIBS := $(addprefix -l,$(workbench-prefs-appearance_LIBS) $(workbench-prefs-appearance-link_EXTRA_LIBS) ) +$(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) : $(workbench-prefs-appearance_OBJS) $(workbench-prefs-appearance_ARCHOBJS) $(USER_OBJS) $(workbench-prefs-appearance-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-prefs-appearance_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-prefs-appearance_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-prefs-appearance_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-prefs-appearance_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-prefs-appearance_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-prefs-appearance_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-prefs-appearance_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-prefs-appearance_DEPS),) + ifneq (workbench-prefs-appearance workbench-prefs-appearance-quick,) + ifneq ($(findstring $(TARGET),workbench-prefs-appearance workbench-prefs-appearance-quick),) + -include $(workbench-prefs-appearance_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-prefs-appearance_DEPS) + endif + endif +endif + + +ifneq ($(workbench-prefs-appearance_OBJS) $(workbench-prefs-appearance_DEPS) $(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME),) +$(workbench-prefs-appearance_OBJS) $(workbench-prefs-appearance_DEPS) $(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) : | $(workbench-prefs-appearance_OBJDIR) $(workbench-prefs-appearance_TARGETDIR) +else +$(workbench-prefs-appearance_OBJS) $(workbench-prefs-appearance_DEPS) $(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) :: $(workbench-prefs-appearance_OBJDIR) $(workbench-prefs-appearance_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-prefs-appearance_OBJDIR) $(workbench-prefs-appearance_TARGETDIR) + + +workbench-prefs-appearance-clean : FILES := $(workbench-prefs-appearance_OBJS) $(workbench-prefs-appearance_TARGETDIR)/$(workbench-prefs-appearance_PROGNAME) $(workbench-prefs-appearance_DEPS) +#MM +workbench-prefs-appearance-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-appearance" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/boingiconbar/catalogs/mmakefile b/workbench/prefs/boingiconbar/catalogs/mmakefile new file mode 100644 index 00000000000..c50162bd096 --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright © 2012-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech french german italian polish norwegian + + +ifeq (,) +workbench-prefs-iconbar-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-prefs-iconbar-catalogs_DESC := +endif + +workbench-prefs-iconbar-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-prefs-iconbar-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-prefs-iconbar-catalogs_LNGS := $(CATALOGS) +endif + +workbench-prefs-iconbar-catalogs_OBJS := $(addsuffix /System/Prefs/BoingIconBar.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-iconbar-catalogs_LNGS))) +workbench-prefs-iconbar-catalogs_DIRS := $(addsuffix /System/Prefs, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-iconbar-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-prefs-iconbar-catalogs-quick : workbench-prefs-iconbar-catalogs + +#MM +workbench-prefs-iconbar-catalogs : $(workbench-prefs-iconbar-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-prefs-iconbar-catalogs_OBJS),) +$(workbench-prefs-iconbar-catalogs_OBJS) : | $(workbench-prefs-iconbar-catalogs_DIRS) +else +$(workbench-prefs-iconbar-catalogs_OBJS) :: $(workbench-prefs-iconbar-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-prefs-iconbar-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Prefs/BoingIconBar.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-prefs-iconbar-catalogs_DESC).cd + $(Q)$(ECHO) "Creating BoingIconBar catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-prefs-iconbar-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/BoingIconBar.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-prefs-iconbar-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/BoingIconBar.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-prefs-iconbar-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/BoingIconBar.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-prefs-iconbar-catalogs_DESC := $(workbench-prefs-iconbar-catalogs_DESC) +../strings.h : workbench-prefs-iconbar-catalogs_SRC := $(workbench-prefs-iconbar-catalogs_SRC) +../strings.h : $(workbench-prefs-iconbar-catalogs_DESC).cd $(workbench-prefs-iconbar-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating BoingIconBar catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-prefs-iconbar-catalogs_DESC).cd $@=$(workbench-prefs-iconbar-catalogs_SRC).sd +endif + +workbench-prefs-iconbar-catalogs-clean : FILES := $(workbench-prefs-iconbar-catalogs_OBJS) ../strings.h +#MM +workbench-prefs-iconbar-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-iconbar-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-prefs-iconbar-catalogs workbench-prefs-iconbar-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/boingiconbar/mmakefile b/workbench/prefs/boingiconbar/mmakefile new file mode 100644 index 00000000000..62a547ef5a5 --- /dev/null +++ b/workbench/prefs/boingiconbar/mmakefile @@ -0,0 +1,633 @@ +# $Id$ +# Makefile to make Serial prefs program. + +include $(SRCDIR)/config/aros.cfg + +FILES := main locale bibeditor prefs args misc + +EXEDIR := $(AROSDIR)/Prefs + +#MM- workbench-prefs : workbench-prefs-iconbar +#MM workbench-prefs-iconbar : includes linklibs workbench-prefs-iconbar-catalogs + + +.PHONY : workbench-prefs-iconbar + +workbench-prefs-iconbar_PROGNAME := BoingIconBar +workbench-prefs-iconbar_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-prefs-iconbar_TARGETDIR := $(EXEDIR) +workbench-prefs-iconbar_LINKER := +workbench-prefs-iconbar_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-prefs-iconbar_LINKER),) + workbench-prefs-iconbar_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-prefs-iconbar_FILES := $(FILES) + workbench-prefs-iconbar_OBJCFILES := + workbench-prefs-iconbar_ASMFILES := + workbench-prefs-iconbar_CXXFILES := +else + workbench-prefs-iconbar_FILES := $(workbench-prefs-iconbar_PROGNAME) + workbench-prefs-iconbar_OBJCFILES := + workbench-prefs-iconbar_ASMFILES := + workbench-prefs-iconbar_CXXFILES := +endif + +workbench-prefs-iconbar_ARCHOBJS := $(wildcard $(workbench-prefs-iconbar_OBJDIR)/arch/*.o) +workbench-prefs-iconbar_ARCHFILES := $(basename $(notdir $(workbench-prefs-iconbar_ARCHOBJS))) +workbench-prefs-iconbar_C_NARCHFILES := $(filter-out $(workbench-prefs-iconbar_ARCHFILES),$(workbench-prefs-iconbar_FILES)) +workbench-prefs-iconbar_CXX_NARCHFILES := $(filter-out $(workbench-prefs-iconbar_ARCHFILES),$(workbench-prefs-iconbar_CXXFILES)) +workbench-prefs-iconbar_OBJC_NARCHFILES := $(filter-out $(workbench-prefs-iconbar_ARCHFILES),$(workbench-prefs-iconbar_OBJCFILES)) + +TMP_FILES := $(workbench-prefs-iconbar_C_NARCHFILES) $(workbench-prefs-iconbar_CXX_NARCHFILES) $(workbench-prefs-iconbar_ASMFILES) $(workbench-prefs-iconbar_OBJC_NARCHFILES) +workbench-prefs-iconbar_OBJS := $(addsuffix .o,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-prefs-iconbar_DEPS := $(addsuffix .d,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-prefs-iconbar_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-prefs-iconbar_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-iconbar_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-prefs-iconbar_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-iconbar_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-prefs-iconbar_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-iconbar_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-prefs-iconbar_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-iconbar_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-prefs-iconbar_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-iconbar_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-prefs-iconbar_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-iconbar_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-prefs-iconbar_LDFLAGS := +endif + +workbench-prefs-iconbar_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-prefs-iconbar_COVERAGE := yes +workbench-prefs-iconbar_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-prefs-iconbar_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-prefs-iconbar_CFLAGS := $(strip $(workbench-prefs-iconbar_COVERAGEFLAGS) $(workbench-prefs-iconbar_CFLAGS)) +workbench-prefs-iconbar_CXXFLAGS := $(strip $(workbench-prefs-iconbar_COVERAGEFLAGS) $(workbench-prefs-iconbar_CXXFLAGS)) +workbench-prefs-iconbar_LIBS += $(workbench-prefs-iconbar_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-prefs-iconbar_FUNCINSTR := yes +workbench-prefs-iconbar_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-prefs-iconbar_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-prefs-iconbar_CFLAGS := $(strip $(workbench-prefs-iconbar_INSTRFUNCFLAGS) $(workbench-prefs-iconbar_CFLAGS)) +workbench-prefs-iconbar_CXXFLAGS := $(strip $(workbench-prefs-iconbar_INSTRFUNCFLAGS) $(workbench-prefs-iconbar_CXXFLAGS)) +workbench-prefs-iconbar_LIBS += $(workbench-prefs-iconbar_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-prefs-iconbar_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-prefs-iconbar_CFLAGS)) +workbench-prefs-iconbar_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-prefs-iconbar_CXXFLAGS)) +endif +endif +workbench-prefs-iconbar_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-prefs-iconbar_DFLAGS := +else + workbench-prefs-iconbar_DFLAGS := $(workbench-prefs-iconbar_CFLAGS) +endif +ifneq (,) + workbench-prefs-iconbar_DXXFLAGS := +else + workbench-prefs-iconbar_DXXFLAGS := $(workbench-prefs-iconbar_CXXFLAGS) +endif +ifeq (target,target) +workbench-prefs-iconbar_LDFLAGS := $(workbench-prefs-iconbar_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-prefs-iconbar_LDFLAGS := $(workbench-prefs-iconbar_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-iconbar_LDFLAGS := $(workbench-prefs-iconbar_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-prefs-iconbar_LDFLAGS += -L +endif + +#MM +workbench-prefs-iconbar-quick : workbench-prefs-iconbar + +#MM workbench-prefs-iconbar : includes-generate-deps core-linklibs +workbench-prefs-iconbar : $(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-prefs-iconbar workbench-prefs-iconbar-quick workbench-prefs-iconbar-gz-quick),) + +workbench-prefs-iconbar_CXXABSBASENAMES := $(foreach workbench-prefs-iconbar_CXXBASE,$(workbench-prefs-iconbar_CXX_NARCHFILES),$(if $(filter /%,$(workbench-prefs-iconbar_CXXBASE)),$(workbench-prefs-iconbar_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-prefs-iconbar_CXXBASE)))) + +ifneq ($(workbench-prefs-iconbar_CXXABSBASENAMES),) + +workbench-prefs-iconbar_CXXBASENAMES := $(basename $(workbench-prefs-iconbar_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-prefs-iconbar_MCXX_FILES := $(strip $(foreach workbench-prefs-iconbar_CXXBASE,$(workbench-prefs-iconbar_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-prefs-iconbar_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-prefs-iconbar_EXT),$(workbench-prefs-iconbar_CXXBASE))))))) + +ifeq (,) +workbench-prefs-iconbar_MCXX_SRCWILDCARD := % +else +workbench-prefs-iconbar_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-iconbar_OBJDIR),) + workbench-prefs-iconbar_CXXTARGETS := $(notdir $(workbench-prefs-iconbar_CXXBASENAMES:=.o)) + workbench-prefs-iconbar_CXXDTARGETS := $(notdir $(workbench-prefs-iconbar_CXXBASENAMES:=.d)) + workbench-prefs-iconbar_MCXX_WILDCARD := % +else + workbench-prefs-iconbar_CXXTARGETS := $(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(notdir $(workbench-prefs-iconbar_CXXBASENAMES:=.o))) + workbench-prefs-iconbar_CXXDTARGETS := $(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(notdir $(workbench-prefs-iconbar_CXXBASENAMES:=.d))) + workbench-prefs-iconbar_MCXX_WILDCARD := $(workbench-prefs-iconbar_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-prefs-iconbar_CXXTARGETS) $(workbench-prefs-iconbar_CXXDTARGETS) : | $(workbench-prefs-iconbar_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-prefs-iconbar_MCXX_CPPFLAGS := $(workbench-prefs-iconbar_CPPFLAGS) +workbench-prefs-iconbar_CXXFLAGS := $(workbench-prefs-iconbar_CXXFLAGS) +ifeq ($(workbench-prefs-iconbar_DXXFLAGS),) + workbench-prefs-iconbar_DXXFLAGS := $(workbench-prefs-iconbar_CXXFLAGS) +else + workbench-prefs-iconbar_DXXFLAGS := $(workbench-prefs-iconbar_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-prefs-iconbar_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-prefs-iconbar_STRIP ?= $(HOST_STRIP) + workbench-prefs-iconbar_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-prefs-iconbar_CXXCMD:=$(HOST_CXX) + workbench-prefs-iconbar_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-prefs-iconbar_MCXX_CPPFLAGS) $(workbench-prefs-iconbar_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-iconbar_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-prefs-iconbar_CXXFLAGS)) + workbench-prefs-iconbar_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-prefs-iconbar_DXXFLAGS)) + workbench-prefs-iconbar_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-prefs-iconbar_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-prefs-iconbar_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-prefs-iconbar_STRIP ?= $(TARGET_STRIP) + workbench-prefs-iconbar_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-prefs-iconbar_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-prefs-iconbar_MCXX_CPPFLAGS := $(strip $(workbench-prefs-iconbar_MCXX_CPPFLAGS) $(workbench-prefs-iconbar_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-iconbar_CXXFLAGS := $(strip $(workbench-prefs-iconbar_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-prefs-iconbar_DXXFLAGS := $(workbench-prefs-iconbar_DXXFLAGS) + workbench-prefs-iconbar_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-prefs-iconbar_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-prefs-iconbar_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-prefs-iconbar_STRIP ?= $(ECHO) >/dev/null + workbench-prefs-iconbar_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-prefs-iconbar_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-prefs-iconbar_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-prefs-iconbar_MCXX_CPPFLAGS) $(workbench-prefs-iconbar_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-iconbar_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-prefs-iconbar_CXXFLAGS)) + workbench-prefs-iconbar_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-prefs-iconbar_DXXFLAGS)) + workbench-prefs-iconbar_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-prefs-iconbar_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-prefs-iconbar_CXXCMD) $(workbench-prefs-iconbar_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-iconbar_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_CXXIQUOTE) . $(workbench-prefs-iconbar_CXXIQUOTE_END) $(strip $(workbench-prefs-iconbar_CXXFLAGS) $(workbench-prefs-iconbar_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-prefs-iconbar_CXXCMD) $(workbench-prefs-iconbar_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-iconbar_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_CXXIQUOTE) . $(workbench-prefs-iconbar_CXXIQUOTE_END) $(strip $(workbench-prefs-iconbar_CXXFLAGS) $(workbench-prefs-iconbar_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-prefs-iconbar_CXXCMD) $(workbench-prefs-iconbar_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-iconbar_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_CXXIQUOTE) . $(workbench-prefs-iconbar_CXXIQUOTE_END) $(strip $(workbench-prefs-iconbar_CXXFLAGS) $(workbench-prefs-iconbar_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-prefs-iconbar_CXXCMD)" $(MKDEPEND) $(strip $(workbench-prefs-iconbar_DXXFLAGS) $(workbench-prefs-iconbar_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-prefs-iconbar_OBJDIR),) + $(foreach workbench-prefs-iconbar_CXXFILE,$(workbench-prefs-iconbar_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-prefs-iconbar_CXXFILE))),$(workbench-prefs-iconbar_CXXFILE)))) +else + $(foreach workbench-prefs-iconbar_CXXFILE,$(workbench-prefs-iconbar_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(notdir $(basename $(workbench-prefs-iconbar_CXXFILE)))),$(workbench-prefs-iconbar_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-prefs-iconbar_OBJC_NARCHFILES),) + +ifeq (,) +workbench-prefs-iconbar_MOBJC_SRCWILDCARD := % +else +workbench-prefs-iconbar_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-iconbar_OBJDIR),) + workbench-prefs-iconbar_MOBJC_TARGETS := $(addsuffix .o,$(workbench-prefs-iconbar_OBJC_NARCHFILES)) + workbench-prefs-iconbar_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-prefs-iconbar_OBJC_NARCHFILES)) + workbench-prefs-iconbar_MOBJC_WILDCARD := % +else + workbench-prefs-iconbar_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(workbench-prefs-iconbar_OBJC_NARCHFILES))) + workbench-prefs-iconbar_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(workbench-prefs-iconbar_OBJC_NARCHFILES))) + workbench-prefs-iconbar_MOBJC_WILDCARD := $(workbench-prefs-iconbar_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-prefs-iconbar_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-prefs-iconbar_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-prefs-iconbar_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-iconbar_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-prefs-iconbar_MOBJC_DIRS := $(foreach dir, $(workbench-prefs-iconbar_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-iconbar_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-prefs-iconbar_MOBJC_DIRS),) + workbench-prefs-iconbar_MOBJC_DIRS := $(shell echo $(workbench-prefs-iconbar_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-prefs-iconbar_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-prefs-iconbar_CC := $(TARGET_CC) +else + workbench-prefs-iconbar_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-prefs-iconbar_MOBJC_CPPFLAGS := $(workbench-prefs-iconbar_CPPFLAGS) +workbench-prefs-iconbar_OBJCFLAGS := $(workbench-prefs-iconbar_CFLAGS) +workbench-prefs-iconbar_OBJCFLAGS := $(workbench-prefs-iconbar_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-prefs-iconbar_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-prefs-iconbar_OBJCFLAGS))) +ifeq ($(workbench-prefs-iconbar_DFLAGS),) + workbench-prefs-iconbar_OBJCDFLAGS := $(workbench-prefs-iconbar_CFLAGS) +else + workbench-prefs-iconbar_OBJCDFLAGS := $(workbench-prefs-iconbar_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-prefs-iconbar_LINK ?= $(strip $(workbench-prefs-iconbar_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-prefs-iconbar_STRIP ?= $(TARGET_STRIP) + workbench-prefs-iconbar_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-prefs-iconbar_CC) $(TARGET_SYSROOT)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_MOBJC_CPPFLAGS:=$(strip $(workbench-prefs-iconbar_MOBJC_CPPFLAGS) $(workbench-prefs-iconbar_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_OBJCFLAGS:=$(strip $(workbench-prefs-iconbar_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_OBJCDFLAGS:=$(workbench-prefs-iconbar_OBJCDFLAGS) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-prefs-iconbar_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-prefs-iconbar_STRIP ?= $(HOST_STRIP) + workbench-prefs-iconbar_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-prefs-iconbar_MOBJC_CPPFLAGS) $(workbench-prefs-iconbar_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-iconbar_OBJCFLAGS)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-iconbar_OBJCDFLAGS)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_IQUOTE:=$(HOST_IQUOTE) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-prefs-iconbar_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-prefs-iconbar_STRIP ?= $(ECHO) >/dev/null + workbench-prefs-iconbar_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-prefs-iconbar_MOBJC_CPPFLAGS) $(workbench-prefs-iconbar_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-iconbar_OBJCFLAGS)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-iconbar_OBJCDFLAGS)) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-prefs-iconbar_MOBJC_TARGETS) $(workbench-prefs-iconbar_MOBJC_DTARGETS) : workbench-prefs-iconbar_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-prefs-iconbar_MOBJC_TARGETS) : CPPFLAGS := $(workbench-prefs-iconbar_MOBJC_CPPFLAGS) +$(workbench-prefs-iconbar_MOBJC_TARGETS) : CFLAGS := $(workbench-prefs-iconbar_OBJCFLAGS) +$(workbench-prefs-iconbar_MOBJC_TARGETS) : $(workbench-prefs-iconbar_MOBJC_WILDCARD).o : $(workbench-prefs-iconbar_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-prefs-iconbar_IQUOTE) $(dir $<) $(workbench-prefs-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_IQUOTE) . $(workbench-prefs-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-prefs-iconbar_IQUOTE) $(dir $<) $(workbench-prefs-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_IQUOTE) . $(workbench-prefs-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-prefs-iconbar_IQUOTE) $(dir $<) $(workbench-prefs-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_IQUOTE) . $(workbench-prefs-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-prefs-iconbar_MOBJC_DTARGETS) : $(workbench-prefs-iconbar_MOBJC_WILDCARD).d : $(workbench-prefs-iconbar_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-prefs-iconbar_OBJCDFLAGS) $(workbench-prefs-iconbar_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-prefs-iconbar_MC_SRCWILDCARD := % +else +workbench-prefs-iconbar_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-iconbar_OBJDIR),) +workbench-prefs-iconbar_MC_TARGETS := $(addsuffix .o,$(workbench-prefs-iconbar_C_NARCHFILES)) +workbench-prefs-iconbar_MC_DTARGETS := $(addsuffix .d,$(workbench-prefs-iconbar_C_NARCHFILES)) +workbench-prefs-iconbar_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-prefs-iconbar_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(notdir $(workbench-prefs-iconbar_C_NARCHFILES)))) + workbench-prefs-iconbar_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(notdir $(workbench-prefs-iconbar_C_NARCHFILES)))) +else +ifeq (,) + workbench-prefs-iconbar_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(workbench-prefs-iconbar_C_NARCHFILES))) + workbench-prefs-iconbar_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(workbench-prefs-iconbar_C_NARCHFILES))) +else + workbench-prefs-iconbar_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(patsubst /%,%,$(workbench-prefs-iconbar_C_NARCHFILES)))) + workbench-prefs-iconbar_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(patsubst /%,%,$(workbench-prefs-iconbar_C_NARCHFILES)))) +endif +endif +workbench-prefs-iconbar_MC_TGTWILDCARD := $(workbench-prefs-iconbar_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : | $(addsuffix .c,$(workbench-prefs-iconbar_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-prefs-iconbar_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-prefs-iconbar_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-iconbar_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-prefs-iconbar_MC_DIRS := $(foreach dir, $(workbench-prefs-iconbar_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-iconbar_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-prefs-iconbar_MC_DIRS),) + workbench-prefs-iconbar_MC_DIRS := $(shell echo $(workbench-prefs-iconbar_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-prefs-iconbar_MC_DIRS) +endif + +endif + +workbench-prefs-iconbar_MC_CPPFLAGS := $(workbench-prefs-iconbar_CPPFLAGS) +workbench-prefs-iconbar_CFLAGS := $(workbench-prefs-iconbar_CFLAGS) +ifeq ($(workbench-prefs-iconbar_DFLAGS),) + workbench-prefs-iconbar_DFLAGS := $(workbench-prefs-iconbar_CFLAGS) +else + workbench-prefs-iconbar_DFLAGS := $(workbench-prefs-iconbar_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-prefs-iconbar_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-prefs-iconbar_STRIP ?= $(TARGET_STRIP) +workbench-prefs-iconbar_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_MC_CPPFLAGS:=$(strip $(workbench-prefs-iconbar_MC_CPPFLAGS) $(workbench-prefs-iconbar_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_CFLAGS:=$(strip $(workbench-prefs-iconbar_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_DFLAGS:=$(workbench-prefs-iconbar_DFLAGS) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-prefs-iconbar_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-prefs-iconbar_STRIP ?= $(HOST_STRIP) +workbench-prefs-iconbar_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-prefs-iconbar_MC_CPPFLAGS) $(workbench-prefs-iconbar_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-iconbar_CFLAGS)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-iconbar_DFLAGS)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_IQUOTE:=$(HOST_IQUOTE) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-prefs-iconbar_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-prefs-iconbar_STRIP ?= $(ECHO) >/dev/null +workbench-prefs-iconbar_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-prefs-iconbar_MC_CPPFLAGS) $(workbench-prefs-iconbar_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-iconbar_CFLAGS)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-iconbar_DFLAGS)) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-prefs-iconbar_MC_TARGETS) $(workbench-prefs-iconbar_MC_DTARGETS) : workbench-prefs-iconbar_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-prefs-iconbar_MC_TARGETS) : CPPFLAGS := $(workbench-prefs-iconbar_MC_CPPFLAGS) +$(workbench-prefs-iconbar_MC_TARGETS) : CFLAGS := $(workbench-prefs-iconbar_CFLAGS) +$(workbench-prefs-iconbar_MC_TARGETS) : $(workbench-prefs-iconbar_MC_TGTWILDCARD).o : $(workbench-prefs-iconbar_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-prefs-iconbar_IQUOTE) $(dir $<) $(workbench-prefs-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_IQUOTE) . $(workbench-prefs-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-prefs-iconbar_IQUOTE) $(dir $<) $(workbench-prefs-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_IQUOTE) . $(workbench-prefs-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-prefs-iconbar_IQUOTE) $(dir $<) $(workbench-prefs-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-iconbar_IQUOTE) . $(workbench-prefs-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-prefs-iconbar_MC_DTARGETS) : $(workbench-prefs-iconbar_MC_TGTWILDCARD).d : $(workbench-prefs-iconbar_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-prefs-iconbar_DFLAGS) $(workbench-prefs-iconbar_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-prefs-iconbar_OBJDIR),) +workbench-prefs-iconbar-MA_TARGETS := $(addsuffix .o,$(workbench-prefs-iconbar_ASMFILES)) +workbench-prefs-iconbar-MA_WILDCARD := % +else +workbench-prefs-iconbar-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-iconbar_OBJDIR)/,$(notdir $(workbench-prefs-iconbar_ASMFILES)))) +workbench-prefs-iconbar-MA_WILDCARD := $(workbench-prefs-iconbar_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-prefs-iconbar-MA_TARGETS) : | $(addsuffix .s,$(workbench-prefs-iconbar_ASMFILES)) + +# Be sure that all .c files are found +workbench-prefs-iconbar-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-prefs-iconbar-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-iconbar_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-prefs-iconbar-MA_DIRS := $(foreach dir, $(workbench-prefs-iconbar-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-iconbar-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-prefs-iconbar-MA_DIRS),) + workbench-prefs-iconbar-MA_DIRS := $(shell echo $(workbench-prefs-iconbar-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-prefs-iconbar-MA_DIRS) +endif + +endif + +workbench-prefs-iconbar-MA_ASSEMBLER ?= $(workbench-prefs-iconbar_ASSEMBLER) + +$(workbench-prefs-iconbar-MA_TARGETS) : workbench-prefs-iconbar-MA_CMD:= $(workbench-prefs-iconbar-MA_ASSEMBLER) + +$(workbench-prefs-iconbar-MA_TARGETS) : CPPFLAGS := $(workbench-prefs-iconbar_CPPFLAGS) +$(workbench-prefs-iconbar-MA_TARGETS) : AFLAGS := $(workbench-prefs-iconbar_AFLAGS) +$(workbench-prefs-iconbar-MA_TARGETS) : $(workbench-prefs-iconbar-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-prefs-iconbar-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-prefs-iconbar-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-prefs-iconbar-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-prefs-iconbar-link_EXTRA_LDFLAGS := +workbench-prefs-iconbar-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-prefs-iconbar-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-prefs-iconbar-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-prefs-iconbar-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-prefs-iconbar-link_DIRS := $(subst -L ,-L,$(strip $(workbench-prefs-iconbar_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-prefs-iconbar-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-prefs-iconbar-link_DIRS))) +# Add trailing / +workbench-prefs-iconbar-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-prefs-iconbar-link_DIRS))) +# Add normal linklib path +workbench-prefs-iconbar-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-prefs-iconbar-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-prefs-iconbar_LIBS) $(workbench-prefs-iconbar-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-prefs-iconbar-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-prefs-iconbar-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-prefs-iconbar-link_DEPLIBS := $(foreach lib,$(workbench-prefs-iconbar-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-prefs-iconbar-link_DIRS)))) \ +) + +$(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) : OBJDIR := $(workbench-prefs-iconbar_OBJDIR) +$(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) : OBJS := $(workbench-prefs-iconbar_OBJS) $(workbench-prefs-iconbar_ARCHOBJS) $(USER_OBJS) +$(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) : LDFLAGS := $(strip $(workbench-prefs-iconbar_LDFLAGS) $(workbench-prefs-iconbar-link_EXTRA_LDFLAGS)) +$(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) : LIBS := $(addprefix -l,$(workbench-prefs-iconbar_LIBS) $(workbench-prefs-iconbar-link_EXTRA_LIBS) ) +$(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) : $(workbench-prefs-iconbar_OBJS) $(workbench-prefs-iconbar_ARCHOBJS) $(USER_OBJS) $(workbench-prefs-iconbar-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-prefs-iconbar_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-prefs-iconbar_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-prefs-iconbar_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-prefs-iconbar_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-prefs-iconbar_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-prefs-iconbar_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-prefs-iconbar_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-prefs-iconbar_DEPS),) + ifneq (workbench-prefs-iconbar workbench-prefs-iconbar-quick,) + ifneq ($(findstring $(TARGET),workbench-prefs-iconbar workbench-prefs-iconbar-quick),) + -include $(workbench-prefs-iconbar_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-prefs-iconbar_DEPS) + endif + endif +endif + + +ifneq ($(workbench-prefs-iconbar_OBJS) $(workbench-prefs-iconbar_DEPS) $(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME),) +$(workbench-prefs-iconbar_OBJS) $(workbench-prefs-iconbar_DEPS) $(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) : | $(workbench-prefs-iconbar_OBJDIR) $(workbench-prefs-iconbar_TARGETDIR) +else +$(workbench-prefs-iconbar_OBJS) $(workbench-prefs-iconbar_DEPS) $(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) :: $(workbench-prefs-iconbar_OBJDIR) $(workbench-prefs-iconbar_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-prefs-iconbar_OBJDIR) $(workbench-prefs-iconbar_TARGETDIR) + + +workbench-prefs-iconbar-clean : FILES := $(workbench-prefs-iconbar_OBJS) $(workbench-prefs-iconbar_TARGETDIR)/$(workbench-prefs-iconbar_PROGNAME) $(workbench-prefs-iconbar_DEPS) +#MM +workbench-prefs-iconbar-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-iconbar" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/boot/catalogs/mmakefile b/workbench/prefs/boot/catalogs/mmakefile new file mode 100644 index 00000000000..a22e4f0f472 --- /dev/null +++ b/workbench/prefs/boot/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright © 2013-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:= czech italian polish norwegian + + +ifeq (,) +workbench-prefs-boot-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-prefs-boot-catalogs_DESC := +endif + +workbench-prefs-boot-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-prefs-boot-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-prefs-boot-catalogs_LNGS := $(CATALOGS) +endif + +workbench-prefs-boot-catalogs_OBJS := $(addsuffix /System/Prefs/Boot.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-boot-catalogs_LNGS))) +workbench-prefs-boot-catalogs_DIRS := $(addsuffix /System/Prefs, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-boot-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-prefs-boot-catalogs-quick : workbench-prefs-boot-catalogs + +#MM +workbench-prefs-boot-catalogs : $(workbench-prefs-boot-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-prefs-boot-catalogs_OBJS),) +$(workbench-prefs-boot-catalogs_OBJS) : | $(workbench-prefs-boot-catalogs_DIRS) +else +$(workbench-prefs-boot-catalogs_OBJS) :: $(workbench-prefs-boot-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-prefs-boot-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Prefs/Boot.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-prefs-boot-catalogs_DESC).cd + $(Q)$(ECHO) "Creating Boot catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-prefs-boot-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Boot.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-prefs-boot-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Boot.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-prefs-boot-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Boot.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-prefs-boot-catalogs_DESC := $(workbench-prefs-boot-catalogs_DESC) +../strings.h : workbench-prefs-boot-catalogs_SRC := $(workbench-prefs-boot-catalogs_SRC) +../strings.h : $(workbench-prefs-boot-catalogs_DESC).cd $(workbench-prefs-boot-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating Boot catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-prefs-boot-catalogs_DESC).cd $@=$(workbench-prefs-boot-catalogs_SRC).sd +endif + +workbench-prefs-boot-catalogs-clean : FILES := $(workbench-prefs-boot-catalogs_OBJS) ../strings.h +#MM +workbench-prefs-boot-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-boot-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-prefs-boot-catalogs workbench-prefs-boot-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/boot/mmakefile b/workbench/prefs/boot/mmakefile new file mode 100644 index 00000000000..a9385f5952d --- /dev/null +++ b/workbench/prefs/boot/mmakefile @@ -0,0 +1,638 @@ +# $Id$ +# +# Makefile to make Boot prefs program. + +include $(SRCDIR)/config/aros.cfg + +FILES := main args booteditor locale +EXEDIR := $(AROSDIR)/Prefs + +#MM- workbench-prefs : \ +#MM workbench-prefs-boot-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU) + +#MM- workbench-prefs-boot-pc-i386 : workbench-prefs-boot +#MM- workbench-prefs-boot-pc-x86_64 : workbench-prefs-boot + +#MM workbench-prefs-boot : includes linklibs workbench-prefs-boot-catalogs + + +.PHONY : workbench-prefs-boot + +workbench-prefs-boot_PROGNAME := Boot +workbench-prefs-boot_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-prefs-boot_TARGETDIR := $(EXEDIR) +workbench-prefs-boot_LINKER := +workbench-prefs-boot_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-prefs-boot_LINKER),) + workbench-prefs-boot_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-prefs-boot_FILES := $(FILES) + workbench-prefs-boot_OBJCFILES := + workbench-prefs-boot_ASMFILES := + workbench-prefs-boot_CXXFILES := +else + workbench-prefs-boot_FILES := $(workbench-prefs-boot_PROGNAME) + workbench-prefs-boot_OBJCFILES := + workbench-prefs-boot_ASMFILES := + workbench-prefs-boot_CXXFILES := +endif + +workbench-prefs-boot_ARCHOBJS := $(wildcard $(workbench-prefs-boot_OBJDIR)/arch/*.o) +workbench-prefs-boot_ARCHFILES := $(basename $(notdir $(workbench-prefs-boot_ARCHOBJS))) +workbench-prefs-boot_C_NARCHFILES := $(filter-out $(workbench-prefs-boot_ARCHFILES),$(workbench-prefs-boot_FILES)) +workbench-prefs-boot_CXX_NARCHFILES := $(filter-out $(workbench-prefs-boot_ARCHFILES),$(workbench-prefs-boot_CXXFILES)) +workbench-prefs-boot_OBJC_NARCHFILES := $(filter-out $(workbench-prefs-boot_ARCHFILES),$(workbench-prefs-boot_OBJCFILES)) + +TMP_FILES := $(workbench-prefs-boot_C_NARCHFILES) $(workbench-prefs-boot_CXX_NARCHFILES) $(workbench-prefs-boot_ASMFILES) $(workbench-prefs-boot_OBJC_NARCHFILES) +workbench-prefs-boot_OBJS := $(addsuffix .o,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-prefs-boot_DEPS := $(addsuffix .d,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-prefs-boot_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-prefs-boot_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-boot_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-prefs-boot_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-boot_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-prefs-boot_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-boot_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-prefs-boot_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-boot_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-prefs-boot_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-boot_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-prefs-boot_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-boot_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-prefs-boot_LDFLAGS := +endif + +workbench-prefs-boot_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-prefs-boot_COVERAGE := yes +workbench-prefs-boot_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-prefs-boot_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-prefs-boot_CFLAGS := $(strip $(workbench-prefs-boot_COVERAGEFLAGS) $(workbench-prefs-boot_CFLAGS)) +workbench-prefs-boot_CXXFLAGS := $(strip $(workbench-prefs-boot_COVERAGEFLAGS) $(workbench-prefs-boot_CXXFLAGS)) +workbench-prefs-boot_LIBS += $(workbench-prefs-boot_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-prefs-boot_FUNCINSTR := yes +workbench-prefs-boot_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-prefs-boot_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-prefs-boot_CFLAGS := $(strip $(workbench-prefs-boot_INSTRFUNCFLAGS) $(workbench-prefs-boot_CFLAGS)) +workbench-prefs-boot_CXXFLAGS := $(strip $(workbench-prefs-boot_INSTRFUNCFLAGS) $(workbench-prefs-boot_CXXFLAGS)) +workbench-prefs-boot_LIBS += $(workbench-prefs-boot_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-prefs-boot_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-prefs-boot_CFLAGS)) +workbench-prefs-boot_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-prefs-boot_CXXFLAGS)) +endif +endif +workbench-prefs-boot_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-prefs-boot_DFLAGS := +else + workbench-prefs-boot_DFLAGS := $(workbench-prefs-boot_CFLAGS) +endif +ifneq (,) + workbench-prefs-boot_DXXFLAGS := +else + workbench-prefs-boot_DXXFLAGS := $(workbench-prefs-boot_CXXFLAGS) +endif +ifeq (target,target) +workbench-prefs-boot_LDFLAGS := $(workbench-prefs-boot_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-prefs-boot_LDFLAGS := $(workbench-prefs-boot_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-boot_LDFLAGS := $(workbench-prefs-boot_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-prefs-boot_LDFLAGS += -L +endif + +#MM +workbench-prefs-boot-quick : workbench-prefs-boot + +#MM workbench-prefs-boot : includes-generate-deps core-linklibs +workbench-prefs-boot : $(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-prefs-boot workbench-prefs-boot-quick workbench-prefs-boot-gz-quick),) + +workbench-prefs-boot_CXXABSBASENAMES := $(foreach workbench-prefs-boot_CXXBASE,$(workbench-prefs-boot_CXX_NARCHFILES),$(if $(filter /%,$(workbench-prefs-boot_CXXBASE)),$(workbench-prefs-boot_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-prefs-boot_CXXBASE)))) + +ifneq ($(workbench-prefs-boot_CXXABSBASENAMES),) + +workbench-prefs-boot_CXXBASENAMES := $(basename $(workbench-prefs-boot_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-prefs-boot_MCXX_FILES := $(strip $(foreach workbench-prefs-boot_CXXBASE,$(workbench-prefs-boot_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-prefs-boot_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-prefs-boot_EXT),$(workbench-prefs-boot_CXXBASE))))))) + +ifeq (,) +workbench-prefs-boot_MCXX_SRCWILDCARD := % +else +workbench-prefs-boot_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-boot_OBJDIR),) + workbench-prefs-boot_CXXTARGETS := $(notdir $(workbench-prefs-boot_CXXBASENAMES:=.o)) + workbench-prefs-boot_CXXDTARGETS := $(notdir $(workbench-prefs-boot_CXXBASENAMES:=.d)) + workbench-prefs-boot_MCXX_WILDCARD := % +else + workbench-prefs-boot_CXXTARGETS := $(addprefix $(workbench-prefs-boot_OBJDIR)/,$(notdir $(workbench-prefs-boot_CXXBASENAMES:=.o))) + workbench-prefs-boot_CXXDTARGETS := $(addprefix $(workbench-prefs-boot_OBJDIR)/,$(notdir $(workbench-prefs-boot_CXXBASENAMES:=.d))) + workbench-prefs-boot_MCXX_WILDCARD := $(workbench-prefs-boot_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-prefs-boot_CXXTARGETS) $(workbench-prefs-boot_CXXDTARGETS) : | $(workbench-prefs-boot_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-prefs-boot_MCXX_CPPFLAGS := $(workbench-prefs-boot_CPPFLAGS) +workbench-prefs-boot_CXXFLAGS := $(workbench-prefs-boot_CXXFLAGS) +ifeq ($(workbench-prefs-boot_DXXFLAGS),) + workbench-prefs-boot_DXXFLAGS := $(workbench-prefs-boot_CXXFLAGS) +else + workbench-prefs-boot_DXXFLAGS := $(workbench-prefs-boot_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-prefs-boot_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-prefs-boot_STRIP ?= $(HOST_STRIP) + workbench-prefs-boot_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-prefs-boot_CXXCMD:=$(HOST_CXX) + workbench-prefs-boot_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-prefs-boot_MCXX_CPPFLAGS) $(workbench-prefs-boot_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-boot_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-prefs-boot_CXXFLAGS)) + workbench-prefs-boot_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-prefs-boot_DXXFLAGS)) + workbench-prefs-boot_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-prefs-boot_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-prefs-boot_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-prefs-boot_STRIP ?= $(TARGET_STRIP) + workbench-prefs-boot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-prefs-boot_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-prefs-boot_MCXX_CPPFLAGS := $(strip $(workbench-prefs-boot_MCXX_CPPFLAGS) $(workbench-prefs-boot_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-boot_CXXFLAGS := $(strip $(workbench-prefs-boot_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-prefs-boot_DXXFLAGS := $(workbench-prefs-boot_DXXFLAGS) + workbench-prefs-boot_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-prefs-boot_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-prefs-boot_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-prefs-boot_STRIP ?= $(ECHO) >/dev/null + workbench-prefs-boot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-prefs-boot_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-prefs-boot_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-prefs-boot_MCXX_CPPFLAGS) $(workbench-prefs-boot_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-boot_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-prefs-boot_CXXFLAGS)) + workbench-prefs-boot_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-prefs-boot_DXXFLAGS)) + workbench-prefs-boot_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-prefs-boot_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-prefs-boot_CXXCMD) $(workbench-prefs-boot_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-boot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_CXXIQUOTE) . $(workbench-prefs-boot_CXXIQUOTE_END) $(strip $(workbench-prefs-boot_CXXFLAGS) $(workbench-prefs-boot_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-prefs-boot_CXXCMD) $(workbench-prefs-boot_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-boot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_CXXIQUOTE) . $(workbench-prefs-boot_CXXIQUOTE_END) $(strip $(workbench-prefs-boot_CXXFLAGS) $(workbench-prefs-boot_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-prefs-boot_CXXCMD) $(workbench-prefs-boot_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-boot_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_CXXIQUOTE) . $(workbench-prefs-boot_CXXIQUOTE_END) $(strip $(workbench-prefs-boot_CXXFLAGS) $(workbench-prefs-boot_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-prefs-boot_CXXCMD)" $(MKDEPEND) $(strip $(workbench-prefs-boot_DXXFLAGS) $(workbench-prefs-boot_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-prefs-boot_OBJDIR),) + $(foreach workbench-prefs-boot_CXXFILE,$(workbench-prefs-boot_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-prefs-boot_CXXFILE))),$(workbench-prefs-boot_CXXFILE)))) +else + $(foreach workbench-prefs-boot_CXXFILE,$(workbench-prefs-boot_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(notdir $(basename $(workbench-prefs-boot_CXXFILE)))),$(workbench-prefs-boot_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-prefs-boot_OBJC_NARCHFILES),) + +ifeq (,) +workbench-prefs-boot_MOBJC_SRCWILDCARD := % +else +workbench-prefs-boot_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-boot_OBJDIR),) + workbench-prefs-boot_MOBJC_TARGETS := $(addsuffix .o,$(workbench-prefs-boot_OBJC_NARCHFILES)) + workbench-prefs-boot_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-prefs-boot_OBJC_NARCHFILES)) + workbench-prefs-boot_MOBJC_WILDCARD := % +else + workbench-prefs-boot_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(workbench-prefs-boot_OBJC_NARCHFILES))) + workbench-prefs-boot_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(workbench-prefs-boot_OBJC_NARCHFILES))) + workbench-prefs-boot_MOBJC_WILDCARD := $(workbench-prefs-boot_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-prefs-boot_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-prefs-boot_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-prefs-boot_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-boot_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-prefs-boot_MOBJC_DIRS := $(foreach dir, $(workbench-prefs-boot_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-boot_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-prefs-boot_MOBJC_DIRS),) + workbench-prefs-boot_MOBJC_DIRS := $(shell echo $(workbench-prefs-boot_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-prefs-boot_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-prefs-boot_CC := $(TARGET_CC) +else + workbench-prefs-boot_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-prefs-boot_MOBJC_CPPFLAGS := $(workbench-prefs-boot_CPPFLAGS) +workbench-prefs-boot_OBJCFLAGS := $(workbench-prefs-boot_CFLAGS) +workbench-prefs-boot_OBJCFLAGS := $(workbench-prefs-boot_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-prefs-boot_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-prefs-boot_OBJCFLAGS))) +ifeq ($(workbench-prefs-boot_DFLAGS),) + workbench-prefs-boot_OBJCDFLAGS := $(workbench-prefs-boot_CFLAGS) +else + workbench-prefs-boot_OBJCDFLAGS := $(workbench-prefs-boot_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-prefs-boot_LINK ?= $(strip $(workbench-prefs-boot_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-prefs-boot_STRIP ?= $(TARGET_STRIP) + workbench-prefs-boot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-prefs-boot_CC) $(TARGET_SYSROOT)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_MOBJC_CPPFLAGS:=$(strip $(workbench-prefs-boot_MOBJC_CPPFLAGS) $(workbench-prefs-boot_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_OBJCFLAGS:=$(strip $(workbench-prefs-boot_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_OBJCDFLAGS:=$(workbench-prefs-boot_OBJCDFLAGS) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-prefs-boot_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-prefs-boot_STRIP ?= $(HOST_STRIP) + workbench-prefs-boot_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-prefs-boot_MOBJC_CPPFLAGS) $(workbench-prefs-boot_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-boot_OBJCFLAGS)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-boot_OBJCDFLAGS)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_IQUOTE:=$(HOST_IQUOTE) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-prefs-boot_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-prefs-boot_STRIP ?= $(ECHO) >/dev/null + workbench-prefs-boot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-prefs-boot_MOBJC_CPPFLAGS) $(workbench-prefs-boot_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-boot_OBJCFLAGS)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-boot_OBJCDFLAGS)) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-prefs-boot_MOBJC_TARGETS) $(workbench-prefs-boot_MOBJC_DTARGETS) : workbench-prefs-boot_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-prefs-boot_MOBJC_TARGETS) : CPPFLAGS := $(workbench-prefs-boot_MOBJC_CPPFLAGS) +$(workbench-prefs-boot_MOBJC_TARGETS) : CFLAGS := $(workbench-prefs-boot_OBJCFLAGS) +$(workbench-prefs-boot_MOBJC_TARGETS) : $(workbench-prefs-boot_MOBJC_WILDCARD).o : $(workbench-prefs-boot_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-prefs-boot_IQUOTE) $(dir $<) $(workbench-prefs-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_IQUOTE) . $(workbench-prefs-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-prefs-boot_IQUOTE) $(dir $<) $(workbench-prefs-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_IQUOTE) . $(workbench-prefs-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-prefs-boot_IQUOTE) $(dir $<) $(workbench-prefs-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_IQUOTE) . $(workbench-prefs-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-prefs-boot_MOBJC_DTARGETS) : $(workbench-prefs-boot_MOBJC_WILDCARD).d : $(workbench-prefs-boot_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-prefs-boot_OBJCDFLAGS) $(workbench-prefs-boot_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-prefs-boot_MC_SRCWILDCARD := % +else +workbench-prefs-boot_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-boot_OBJDIR),) +workbench-prefs-boot_MC_TARGETS := $(addsuffix .o,$(workbench-prefs-boot_C_NARCHFILES)) +workbench-prefs-boot_MC_DTARGETS := $(addsuffix .d,$(workbench-prefs-boot_C_NARCHFILES)) +workbench-prefs-boot_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-prefs-boot_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(notdir $(workbench-prefs-boot_C_NARCHFILES)))) + workbench-prefs-boot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(notdir $(workbench-prefs-boot_C_NARCHFILES)))) +else +ifeq (,) + workbench-prefs-boot_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(workbench-prefs-boot_C_NARCHFILES))) + workbench-prefs-boot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(workbench-prefs-boot_C_NARCHFILES))) +else + workbench-prefs-boot_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(patsubst /%,%,$(workbench-prefs-boot_C_NARCHFILES)))) + workbench-prefs-boot_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(patsubst /%,%,$(workbench-prefs-boot_C_NARCHFILES)))) +endif +endif +workbench-prefs-boot_MC_TGTWILDCARD := $(workbench-prefs-boot_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : | $(addsuffix .c,$(workbench-prefs-boot_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-prefs-boot_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-prefs-boot_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-boot_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-prefs-boot_MC_DIRS := $(foreach dir, $(workbench-prefs-boot_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-boot_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-prefs-boot_MC_DIRS),) + workbench-prefs-boot_MC_DIRS := $(shell echo $(workbench-prefs-boot_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-prefs-boot_MC_DIRS) +endif + +endif + +workbench-prefs-boot_MC_CPPFLAGS := $(workbench-prefs-boot_CPPFLAGS) +workbench-prefs-boot_CFLAGS := $(workbench-prefs-boot_CFLAGS) +ifeq ($(workbench-prefs-boot_DFLAGS),) + workbench-prefs-boot_DFLAGS := $(workbench-prefs-boot_CFLAGS) +else + workbench-prefs-boot_DFLAGS := $(workbench-prefs-boot_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-prefs-boot_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-prefs-boot_STRIP ?= $(TARGET_STRIP) +workbench-prefs-boot_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_MC_CPPFLAGS:=$(strip $(workbench-prefs-boot_MC_CPPFLAGS) $(workbench-prefs-boot_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_CFLAGS:=$(strip $(workbench-prefs-boot_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_DFLAGS:=$(workbench-prefs-boot_DFLAGS) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-prefs-boot_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-prefs-boot_STRIP ?= $(HOST_STRIP) +workbench-prefs-boot_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-prefs-boot_MC_CPPFLAGS) $(workbench-prefs-boot_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-boot_CFLAGS)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-boot_DFLAGS)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_IQUOTE:=$(HOST_IQUOTE) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-prefs-boot_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-prefs-boot_STRIP ?= $(ECHO) >/dev/null +workbench-prefs-boot_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-prefs-boot_MC_CPPFLAGS) $(workbench-prefs-boot_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-boot_CFLAGS)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-boot_DFLAGS)) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-prefs-boot_MC_TARGETS) $(workbench-prefs-boot_MC_DTARGETS) : workbench-prefs-boot_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-prefs-boot_MC_TARGETS) : CPPFLAGS := $(workbench-prefs-boot_MC_CPPFLAGS) +$(workbench-prefs-boot_MC_TARGETS) : CFLAGS := $(workbench-prefs-boot_CFLAGS) +$(workbench-prefs-boot_MC_TARGETS) : $(workbench-prefs-boot_MC_TGTWILDCARD).o : $(workbench-prefs-boot_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-prefs-boot_IQUOTE) $(dir $<) $(workbench-prefs-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_IQUOTE) . $(workbench-prefs-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-prefs-boot_IQUOTE) $(dir $<) $(workbench-prefs-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_IQUOTE) . $(workbench-prefs-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-prefs-boot_IQUOTE) $(dir $<) $(workbench-prefs-boot_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-boot_IQUOTE) . $(workbench-prefs-boot_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-prefs-boot_MC_DTARGETS) : $(workbench-prefs-boot_MC_TGTWILDCARD).d : $(workbench-prefs-boot_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-prefs-boot_DFLAGS) $(workbench-prefs-boot_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-prefs-boot_OBJDIR),) +workbench-prefs-boot-MA_TARGETS := $(addsuffix .o,$(workbench-prefs-boot_ASMFILES)) +workbench-prefs-boot-MA_WILDCARD := % +else +workbench-prefs-boot-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-boot_OBJDIR)/,$(notdir $(workbench-prefs-boot_ASMFILES)))) +workbench-prefs-boot-MA_WILDCARD := $(workbench-prefs-boot_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-prefs-boot-MA_TARGETS) : | $(addsuffix .s,$(workbench-prefs-boot_ASMFILES)) + +# Be sure that all .c files are found +workbench-prefs-boot-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-prefs-boot-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-boot_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-prefs-boot-MA_DIRS := $(foreach dir, $(workbench-prefs-boot-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-boot-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-prefs-boot-MA_DIRS),) + workbench-prefs-boot-MA_DIRS := $(shell echo $(workbench-prefs-boot-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-prefs-boot-MA_DIRS) +endif + +endif + +workbench-prefs-boot-MA_ASSEMBLER ?= $(workbench-prefs-boot_ASSEMBLER) + +$(workbench-prefs-boot-MA_TARGETS) : workbench-prefs-boot-MA_CMD:= $(workbench-prefs-boot-MA_ASSEMBLER) + +$(workbench-prefs-boot-MA_TARGETS) : CPPFLAGS := $(workbench-prefs-boot_CPPFLAGS) +$(workbench-prefs-boot-MA_TARGETS) : AFLAGS := $(workbench-prefs-boot_AFLAGS) +$(workbench-prefs-boot-MA_TARGETS) : $(workbench-prefs-boot-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-prefs-boot-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-prefs-boot-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-prefs-boot-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-prefs-boot-link_EXTRA_LDFLAGS := +workbench-prefs-boot-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-prefs-boot-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-prefs-boot-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-prefs-boot-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-prefs-boot-link_DIRS := $(subst -L ,-L,$(strip $(workbench-prefs-boot_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-prefs-boot-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-prefs-boot-link_DIRS))) +# Add trailing / +workbench-prefs-boot-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-prefs-boot-link_DIRS))) +# Add normal linklib path +workbench-prefs-boot-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-prefs-boot-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-prefs-boot_LIBS) $(workbench-prefs-boot-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-prefs-boot-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-prefs-boot-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-prefs-boot-link_DEPLIBS := $(foreach lib,$(workbench-prefs-boot-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-prefs-boot-link_DIRS)))) \ +) + +$(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) : OBJDIR := $(workbench-prefs-boot_OBJDIR) +$(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) : OBJS := $(workbench-prefs-boot_OBJS) $(workbench-prefs-boot_ARCHOBJS) $(USER_OBJS) +$(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) : LDFLAGS := $(strip $(workbench-prefs-boot_LDFLAGS) $(workbench-prefs-boot-link_EXTRA_LDFLAGS)) +$(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) : LIBS := $(addprefix -l,$(workbench-prefs-boot_LIBS) $(workbench-prefs-boot-link_EXTRA_LIBS) ) +$(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) : $(workbench-prefs-boot_OBJS) $(workbench-prefs-boot_ARCHOBJS) $(USER_OBJS) $(workbench-prefs-boot-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-prefs-boot_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-prefs-boot_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-prefs-boot_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-prefs-boot_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-prefs-boot_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-prefs-boot_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-prefs-boot_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-prefs-boot_DEPS),) + ifneq (workbench-prefs-boot workbench-prefs-boot-quick,) + ifneq ($(findstring $(TARGET),workbench-prefs-boot workbench-prefs-boot-quick),) + -include $(workbench-prefs-boot_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-prefs-boot_DEPS) + endif + endif +endif + + +ifneq ($(workbench-prefs-boot_OBJS) $(workbench-prefs-boot_DEPS) $(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME),) +$(workbench-prefs-boot_OBJS) $(workbench-prefs-boot_DEPS) $(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) : | $(workbench-prefs-boot_OBJDIR) $(workbench-prefs-boot_TARGETDIR) +else +$(workbench-prefs-boot_OBJS) $(workbench-prefs-boot_DEPS) $(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) :: $(workbench-prefs-boot_OBJDIR) $(workbench-prefs-boot_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-prefs-boot_OBJDIR) $(workbench-prefs-boot_TARGETDIR) + + +workbench-prefs-boot-clean : FILES := $(workbench-prefs-boot_OBJS) $(workbench-prefs-boot_TARGETDIR)/$(workbench-prefs-boot_PROGNAME) $(workbench-prefs-boot_DEPS) +#MM +workbench-prefs-boot-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-boot" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/printer/catalogs/mmakefile b/workbench/prefs/printer/catalogs/mmakefile new file mode 100644 index 00000000000..acd74f992e3 --- /dev/null +++ b/workbench/prefs/printer/catalogs/mmakefile @@ -0,0 +1,77 @@ +# Copyright © 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french polish norwegian + +# The need to update french catalog + + +ifeq (,) +workbench-prefs-printer-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-prefs-printer-catalogs_DESC := +endif + +workbench-prefs-printer-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-prefs-printer-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-prefs-printer-catalogs_LNGS := $(CATALOGS) +endif + +workbench-prefs-printer-catalogs_OBJS := $(addsuffix /System/Prefs/Printer.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-printer-catalogs_LNGS))) +workbench-prefs-printer-catalogs_DIRS := $(addsuffix /System/Prefs, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-printer-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-prefs-printer-catalogs-quick : workbench-prefs-printer-catalogs + +#MM +workbench-prefs-printer-catalogs : $(workbench-prefs-printer-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-prefs-printer-catalogs_OBJS),) +$(workbench-prefs-printer-catalogs_OBJS) : | $(workbench-prefs-printer-catalogs_DIRS) +else +$(workbench-prefs-printer-catalogs_OBJS) :: $(workbench-prefs-printer-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-prefs-printer-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Prefs/Printer.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-prefs-printer-catalogs_DESC).cd + $(Q)$(ECHO) "Creating Printer catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-prefs-printer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Printer.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-prefs-printer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Printer.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-prefs-printer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Printer.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-prefs-printer-catalogs_DESC := $(workbench-prefs-printer-catalogs_DESC) +../strings.h : workbench-prefs-printer-catalogs_SRC := $(workbench-prefs-printer-catalogs_SRC) +../strings.h : $(workbench-prefs-printer-catalogs_DESC).cd $(workbench-prefs-printer-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating Printer catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-prefs-printer-catalogs_DESC).cd $@=$(workbench-prefs-printer-catalogs_SRC).sd +endif + +workbench-prefs-printer-catalogs-clean : FILES := $(workbench-prefs-printer-catalogs_OBJS) ../strings.h +#MM +workbench-prefs-printer-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-printer-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-prefs-printer-catalogs workbench-prefs-printer-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/printer/mmakefile b/workbench/prefs/printer/mmakefile new file mode 100644 index 00000000000..46d1c6cb388 --- /dev/null +++ b/workbench/prefs/printer/mmakefile @@ -0,0 +1,635 @@ +# $Id$ +# Makefile to make Printer prefs program. + +include $(SRCDIR)/config/aros.cfg + +FILES := main locale editor prefs args misc + +EXEDIR := $(AROSDIR)/Prefs + +USER_CFLAGS := -DMUI_OBSOLETE + +#MM- workbench-prefs : workbench-prefs-printer +#MM workbench-prefs-printer : includes linklibs workbench-prefs-printer-catalogs + + +.PHONY : workbench-prefs-printer + +workbench-prefs-printer_PROGNAME := Printer +workbench-prefs-printer_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-prefs-printer_TARGETDIR := $(EXEDIR) +workbench-prefs-printer_LINKER := +workbench-prefs-printer_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-prefs-printer_LINKER),) + workbench-prefs-printer_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-prefs-printer_FILES := $(FILES) + workbench-prefs-printer_OBJCFILES := + workbench-prefs-printer_ASMFILES := + workbench-prefs-printer_CXXFILES := +else + workbench-prefs-printer_FILES := $(workbench-prefs-printer_PROGNAME) + workbench-prefs-printer_OBJCFILES := + workbench-prefs-printer_ASMFILES := + workbench-prefs-printer_CXXFILES := +endif + +workbench-prefs-printer_ARCHOBJS := $(wildcard $(workbench-prefs-printer_OBJDIR)/arch/*.o) +workbench-prefs-printer_ARCHFILES := $(basename $(notdir $(workbench-prefs-printer_ARCHOBJS))) +workbench-prefs-printer_C_NARCHFILES := $(filter-out $(workbench-prefs-printer_ARCHFILES),$(workbench-prefs-printer_FILES)) +workbench-prefs-printer_CXX_NARCHFILES := $(filter-out $(workbench-prefs-printer_ARCHFILES),$(workbench-prefs-printer_CXXFILES)) +workbench-prefs-printer_OBJC_NARCHFILES := $(filter-out $(workbench-prefs-printer_ARCHFILES),$(workbench-prefs-printer_OBJCFILES)) + +TMP_FILES := $(workbench-prefs-printer_C_NARCHFILES) $(workbench-prefs-printer_CXX_NARCHFILES) $(workbench-prefs-printer_ASMFILES) $(workbench-prefs-printer_OBJC_NARCHFILES) +workbench-prefs-printer_OBJS := $(addsuffix .o,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-prefs-printer_DEPS := $(addsuffix .d,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-prefs-printer_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-prefs-printer_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-printer_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-prefs-printer_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-printer_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-prefs-printer_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-printer_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-prefs-printer_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-printer_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-prefs-printer_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-prefs-printer_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-prefs-printer_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-printer_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-prefs-printer_LDFLAGS := +endif + +workbench-prefs-printer_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-prefs-printer_COVERAGE := yes +workbench-prefs-printer_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-prefs-printer_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-prefs-printer_CFLAGS := $(strip $(workbench-prefs-printer_COVERAGEFLAGS) $(workbench-prefs-printer_CFLAGS)) +workbench-prefs-printer_CXXFLAGS := $(strip $(workbench-prefs-printer_COVERAGEFLAGS) $(workbench-prefs-printer_CXXFLAGS)) +workbench-prefs-printer_LIBS += $(workbench-prefs-printer_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-prefs-printer_FUNCINSTR := yes +workbench-prefs-printer_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-prefs-printer_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-prefs-printer_CFLAGS := $(strip $(workbench-prefs-printer_INSTRFUNCFLAGS) $(workbench-prefs-printer_CFLAGS)) +workbench-prefs-printer_CXXFLAGS := $(strip $(workbench-prefs-printer_INSTRFUNCFLAGS) $(workbench-prefs-printer_CXXFLAGS)) +workbench-prefs-printer_LIBS += $(workbench-prefs-printer_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-prefs-printer_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-prefs-printer_CFLAGS)) +workbench-prefs-printer_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-prefs-printer_CXXFLAGS)) +endif +endif +workbench-prefs-printer_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-prefs-printer_DFLAGS := +else + workbench-prefs-printer_DFLAGS := $(workbench-prefs-printer_CFLAGS) +endif +ifneq (,) + workbench-prefs-printer_DXXFLAGS := +else + workbench-prefs-printer_DXXFLAGS := $(workbench-prefs-printer_CXXFLAGS) +endif +ifeq (target,target) +workbench-prefs-printer_LDFLAGS := $(workbench-prefs-printer_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-prefs-printer_LDFLAGS := $(workbench-prefs-printer_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-prefs-printer_LDFLAGS := $(workbench-prefs-printer_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-prefs-printer_LDFLAGS += -L +endif + +#MM +workbench-prefs-printer-quick : workbench-prefs-printer + +#MM workbench-prefs-printer : includes-generate-deps core-linklibs +workbench-prefs-printer : $(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-prefs-printer workbench-prefs-printer-quick workbench-prefs-printer-gz-quick),) + +workbench-prefs-printer_CXXABSBASENAMES := $(foreach workbench-prefs-printer_CXXBASE,$(workbench-prefs-printer_CXX_NARCHFILES),$(if $(filter /%,$(workbench-prefs-printer_CXXBASE)),$(workbench-prefs-printer_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-prefs-printer_CXXBASE)))) + +ifneq ($(workbench-prefs-printer_CXXABSBASENAMES),) + +workbench-prefs-printer_CXXBASENAMES := $(basename $(workbench-prefs-printer_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-prefs-printer_MCXX_FILES := $(strip $(foreach workbench-prefs-printer_CXXBASE,$(workbench-prefs-printer_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-prefs-printer_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-prefs-printer_EXT),$(workbench-prefs-printer_CXXBASE))))))) + +ifeq (,) +workbench-prefs-printer_MCXX_SRCWILDCARD := % +else +workbench-prefs-printer_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-printer_OBJDIR),) + workbench-prefs-printer_CXXTARGETS := $(notdir $(workbench-prefs-printer_CXXBASENAMES:=.o)) + workbench-prefs-printer_CXXDTARGETS := $(notdir $(workbench-prefs-printer_CXXBASENAMES:=.d)) + workbench-prefs-printer_MCXX_WILDCARD := % +else + workbench-prefs-printer_CXXTARGETS := $(addprefix $(workbench-prefs-printer_OBJDIR)/,$(notdir $(workbench-prefs-printer_CXXBASENAMES:=.o))) + workbench-prefs-printer_CXXDTARGETS := $(addprefix $(workbench-prefs-printer_OBJDIR)/,$(notdir $(workbench-prefs-printer_CXXBASENAMES:=.d))) + workbench-prefs-printer_MCXX_WILDCARD := $(workbench-prefs-printer_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-prefs-printer_CXXTARGETS) $(workbench-prefs-printer_CXXDTARGETS) : | $(workbench-prefs-printer_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-prefs-printer_MCXX_CPPFLAGS := $(workbench-prefs-printer_CPPFLAGS) +workbench-prefs-printer_CXXFLAGS := $(workbench-prefs-printer_CXXFLAGS) +ifeq ($(workbench-prefs-printer_DXXFLAGS),) + workbench-prefs-printer_DXXFLAGS := $(workbench-prefs-printer_CXXFLAGS) +else + workbench-prefs-printer_DXXFLAGS := $(workbench-prefs-printer_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-prefs-printer_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-prefs-printer_STRIP ?= $(HOST_STRIP) + workbench-prefs-printer_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-prefs-printer_CXXCMD:=$(HOST_CXX) + workbench-prefs-printer_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-prefs-printer_MCXX_CPPFLAGS) $(workbench-prefs-printer_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-printer_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-prefs-printer_CXXFLAGS)) + workbench-prefs-printer_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-prefs-printer_DXXFLAGS)) + workbench-prefs-printer_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-prefs-printer_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-prefs-printer_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-prefs-printer_STRIP ?= $(TARGET_STRIP) + workbench-prefs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-prefs-printer_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-prefs-printer_MCXX_CPPFLAGS := $(strip $(workbench-prefs-printer_MCXX_CPPFLAGS) $(workbench-prefs-printer_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-printer_CXXFLAGS := $(strip $(workbench-prefs-printer_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-prefs-printer_DXXFLAGS := $(workbench-prefs-printer_DXXFLAGS) + workbench-prefs-printer_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-prefs-printer_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-prefs-printer_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-prefs-printer_STRIP ?= $(ECHO) >/dev/null + workbench-prefs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-prefs-printer_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-prefs-printer_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-prefs-printer_MCXX_CPPFLAGS) $(workbench-prefs-printer_MCXX_EXTRA_CPPFLAGS)) + workbench-prefs-printer_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-prefs-printer_CXXFLAGS)) + workbench-prefs-printer_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-prefs-printer_DXXFLAGS)) + workbench-prefs-printer_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-prefs-printer_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-prefs-printer_CXXCMD) $(workbench-prefs-printer_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-printer_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_CXXIQUOTE) . $(workbench-prefs-printer_CXXIQUOTE_END) $(strip $(workbench-prefs-printer_CXXFLAGS) $(workbench-prefs-printer_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-prefs-printer_CXXCMD) $(workbench-prefs-printer_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-printer_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_CXXIQUOTE) . $(workbench-prefs-printer_CXXIQUOTE_END) $(strip $(workbench-prefs-printer_CXXFLAGS) $(workbench-prefs-printer_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-prefs-printer_CXXCMD) $(workbench-prefs-printer_CXXIQUOTE) $(dir $(2)) $(workbench-prefs-printer_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_CXXIQUOTE) . $(workbench-prefs-printer_CXXIQUOTE_END) $(strip $(workbench-prefs-printer_CXXFLAGS) $(workbench-prefs-printer_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-prefs-printer_CXXCMD)" $(MKDEPEND) $(strip $(workbench-prefs-printer_DXXFLAGS) $(workbench-prefs-printer_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-prefs-printer_OBJDIR),) + $(foreach workbench-prefs-printer_CXXFILE,$(workbench-prefs-printer_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-prefs-printer_CXXFILE))),$(workbench-prefs-printer_CXXFILE)))) +else + $(foreach workbench-prefs-printer_CXXFILE,$(workbench-prefs-printer_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(notdir $(basename $(workbench-prefs-printer_CXXFILE)))),$(workbench-prefs-printer_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-prefs-printer_OBJC_NARCHFILES),) + +ifeq (,) +workbench-prefs-printer_MOBJC_SRCWILDCARD := % +else +workbench-prefs-printer_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-printer_OBJDIR),) + workbench-prefs-printer_MOBJC_TARGETS := $(addsuffix .o,$(workbench-prefs-printer_OBJC_NARCHFILES)) + workbench-prefs-printer_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-prefs-printer_OBJC_NARCHFILES)) + workbench-prefs-printer_MOBJC_WILDCARD := % +else + workbench-prefs-printer_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(workbench-prefs-printer_OBJC_NARCHFILES))) + workbench-prefs-printer_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(workbench-prefs-printer_OBJC_NARCHFILES))) + workbench-prefs-printer_MOBJC_WILDCARD := $(workbench-prefs-printer_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-prefs-printer_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-prefs-printer_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-prefs-printer_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-printer_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-prefs-printer_MOBJC_DIRS := $(foreach dir, $(workbench-prefs-printer_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-printer_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-prefs-printer_MOBJC_DIRS),) + workbench-prefs-printer_MOBJC_DIRS := $(shell echo $(workbench-prefs-printer_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-prefs-printer_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-prefs-printer_CC := $(TARGET_CC) +else + workbench-prefs-printer_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-prefs-printer_MOBJC_CPPFLAGS := $(workbench-prefs-printer_CPPFLAGS) +workbench-prefs-printer_OBJCFLAGS := $(workbench-prefs-printer_CFLAGS) +workbench-prefs-printer_OBJCFLAGS := $(workbench-prefs-printer_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-prefs-printer_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-prefs-printer_OBJCFLAGS))) +ifeq ($(workbench-prefs-printer_DFLAGS),) + workbench-prefs-printer_OBJCDFLAGS := $(workbench-prefs-printer_CFLAGS) +else + workbench-prefs-printer_OBJCDFLAGS := $(workbench-prefs-printer_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-prefs-printer_LINK ?= $(strip $(workbench-prefs-printer_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-prefs-printer_STRIP ?= $(TARGET_STRIP) + workbench-prefs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-prefs-printer_CC) $(TARGET_SYSROOT)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_MOBJC_CPPFLAGS:=$(strip $(workbench-prefs-printer_MOBJC_CPPFLAGS) $(workbench-prefs-printer_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_OBJCFLAGS:=$(strip $(workbench-prefs-printer_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_OBJCDFLAGS:=$(workbench-prefs-printer_OBJCDFLAGS) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-prefs-printer_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-prefs-printer_STRIP ?= $(HOST_STRIP) + workbench-prefs-printer_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-prefs-printer_MOBJC_CPPFLAGS) $(workbench-prefs-printer_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-printer_OBJCFLAGS)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-printer_OBJCDFLAGS)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_IQUOTE:=$(HOST_IQUOTE) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-prefs-printer_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-prefs-printer_STRIP ?= $(ECHO) >/dev/null + workbench-prefs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-prefs-printer_MOBJC_CPPFLAGS) $(workbench-prefs-printer_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-printer_OBJCFLAGS)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-printer_OBJCDFLAGS)) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-prefs-printer_MOBJC_TARGETS) $(workbench-prefs-printer_MOBJC_DTARGETS) : workbench-prefs-printer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-prefs-printer_MOBJC_TARGETS) : CPPFLAGS := $(workbench-prefs-printer_MOBJC_CPPFLAGS) +$(workbench-prefs-printer_MOBJC_TARGETS) : CFLAGS := $(workbench-prefs-printer_OBJCFLAGS) +$(workbench-prefs-printer_MOBJC_TARGETS) : $(workbench-prefs-printer_MOBJC_WILDCARD).o : $(workbench-prefs-printer_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-prefs-printer_IQUOTE) $(dir $<) $(workbench-prefs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_IQUOTE) . $(workbench-prefs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-prefs-printer_IQUOTE) $(dir $<) $(workbench-prefs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_IQUOTE) . $(workbench-prefs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-prefs-printer_IQUOTE) $(dir $<) $(workbench-prefs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_IQUOTE) . $(workbench-prefs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-prefs-printer_MOBJC_DTARGETS) : $(workbench-prefs-printer_MOBJC_WILDCARD).d : $(workbench-prefs-printer_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-prefs-printer_OBJCDFLAGS) $(workbench-prefs-printer_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-prefs-printer_MC_SRCWILDCARD := % +else +workbench-prefs-printer_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-prefs-printer_OBJDIR),) +workbench-prefs-printer_MC_TARGETS := $(addsuffix .o,$(workbench-prefs-printer_C_NARCHFILES)) +workbench-prefs-printer_MC_DTARGETS := $(addsuffix .d,$(workbench-prefs-printer_C_NARCHFILES)) +workbench-prefs-printer_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-prefs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(notdir $(workbench-prefs-printer_C_NARCHFILES)))) + workbench-prefs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(notdir $(workbench-prefs-printer_C_NARCHFILES)))) +else +ifeq (,) + workbench-prefs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(workbench-prefs-printer_C_NARCHFILES))) + workbench-prefs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(workbench-prefs-printer_C_NARCHFILES))) +else + workbench-prefs-printer_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(patsubst /%,%,$(workbench-prefs-printer_C_NARCHFILES)))) + workbench-prefs-printer_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(patsubst /%,%,$(workbench-prefs-printer_C_NARCHFILES)))) +endif +endif +workbench-prefs-printer_MC_TGTWILDCARD := $(workbench-prefs-printer_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : | $(addsuffix .c,$(workbench-prefs-printer_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-prefs-printer_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-prefs-printer_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-printer_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-prefs-printer_MC_DIRS := $(foreach dir, $(workbench-prefs-printer_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-printer_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-prefs-printer_MC_DIRS),) + workbench-prefs-printer_MC_DIRS := $(shell echo $(workbench-prefs-printer_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-prefs-printer_MC_DIRS) +endif + +endif + +workbench-prefs-printer_MC_CPPFLAGS := $(workbench-prefs-printer_CPPFLAGS) +workbench-prefs-printer_CFLAGS := $(workbench-prefs-printer_CFLAGS) +ifeq ($(workbench-prefs-printer_DFLAGS),) + workbench-prefs-printer_DFLAGS := $(workbench-prefs-printer_CFLAGS) +else + workbench-prefs-printer_DFLAGS := $(workbench-prefs-printer_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-prefs-printer_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-prefs-printer_STRIP ?= $(TARGET_STRIP) +workbench-prefs-printer_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_MC_CPPFLAGS:=$(strip $(workbench-prefs-printer_MC_CPPFLAGS) $(workbench-prefs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_CFLAGS:=$(strip $(workbench-prefs-printer_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_DFLAGS:=$(workbench-prefs-printer_DFLAGS) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-prefs-printer_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-prefs-printer_STRIP ?= $(HOST_STRIP) +workbench-prefs-printer_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-prefs-printer_MC_CPPFLAGS) $(workbench-prefs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-printer_CFLAGS)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-prefs-printer_DFLAGS)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_IQUOTE:=$(HOST_IQUOTE) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-prefs-printer_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-prefs-printer_STRIP ?= $(ECHO) >/dev/null +workbench-prefs-printer_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-prefs-printer_MC_CPPFLAGS) $(workbench-prefs-printer_MC_EXTRA_CPPFLAGS)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-printer_CFLAGS)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-prefs-printer_DFLAGS)) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-prefs-printer_MC_TARGETS) $(workbench-prefs-printer_MC_DTARGETS) : workbench-prefs-printer_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-prefs-printer_MC_TARGETS) : CPPFLAGS := $(workbench-prefs-printer_MC_CPPFLAGS) +$(workbench-prefs-printer_MC_TARGETS) : CFLAGS := $(workbench-prefs-printer_CFLAGS) +$(workbench-prefs-printer_MC_TARGETS) : $(workbench-prefs-printer_MC_TGTWILDCARD).o : $(workbench-prefs-printer_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-prefs-printer_IQUOTE) $(dir $<) $(workbench-prefs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_IQUOTE) . $(workbench-prefs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-prefs-printer_IQUOTE) $(dir $<) $(workbench-prefs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_IQUOTE) . $(workbench-prefs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-prefs-printer_IQUOTE) $(dir $<) $(workbench-prefs-printer_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-prefs-printer_IQUOTE) . $(workbench-prefs-printer_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-prefs-printer_MC_DTARGETS) : $(workbench-prefs-printer_MC_TGTWILDCARD).d : $(workbench-prefs-printer_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-prefs-printer_DFLAGS) $(workbench-prefs-printer_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-prefs-printer_OBJDIR),) +workbench-prefs-printer-MA_TARGETS := $(addsuffix .o,$(workbench-prefs-printer_ASMFILES)) +workbench-prefs-printer-MA_WILDCARD := % +else +workbench-prefs-printer-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-prefs-printer_OBJDIR)/,$(notdir $(workbench-prefs-printer_ASMFILES)))) +workbench-prefs-printer-MA_WILDCARD := $(workbench-prefs-printer_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-prefs-printer-MA_TARGETS) : | $(addsuffix .s,$(workbench-prefs-printer_ASMFILES)) + +# Be sure that all .c files are found +workbench-prefs-printer-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-prefs-printer-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-prefs-printer_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-prefs-printer-MA_DIRS := $(foreach dir, $(workbench-prefs-printer-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-prefs-printer-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-prefs-printer-MA_DIRS),) + workbench-prefs-printer-MA_DIRS := $(shell echo $(workbench-prefs-printer-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-prefs-printer-MA_DIRS) +endif + +endif + +workbench-prefs-printer-MA_ASSEMBLER ?= $(workbench-prefs-printer_ASSEMBLER) + +$(workbench-prefs-printer-MA_TARGETS) : workbench-prefs-printer-MA_CMD:= $(workbench-prefs-printer-MA_ASSEMBLER) + +$(workbench-prefs-printer-MA_TARGETS) : CPPFLAGS := $(workbench-prefs-printer_CPPFLAGS) +$(workbench-prefs-printer-MA_TARGETS) : AFLAGS := $(workbench-prefs-printer_AFLAGS) +$(workbench-prefs-printer-MA_TARGETS) : $(workbench-prefs-printer-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-prefs-printer-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-prefs-printer-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-prefs-printer-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-prefs-printer-link_EXTRA_LDFLAGS := +workbench-prefs-printer-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-prefs-printer-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-prefs-printer-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-prefs-printer-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-prefs-printer-link_DIRS := $(subst -L ,-L,$(strip $(workbench-prefs-printer_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-prefs-printer-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-prefs-printer-link_DIRS))) +# Add trailing / +workbench-prefs-printer-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-prefs-printer-link_DIRS))) +# Add normal linklib path +workbench-prefs-printer-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-prefs-printer-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-prefs-printer_LIBS) $(workbench-prefs-printer-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-prefs-printer-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-prefs-printer-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-prefs-printer-link_DEPLIBS := $(foreach lib,$(workbench-prefs-printer-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-prefs-printer-link_DIRS)))) \ +) + +$(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) : OBJDIR := $(workbench-prefs-printer_OBJDIR) +$(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) : OBJS := $(workbench-prefs-printer_OBJS) $(workbench-prefs-printer_ARCHOBJS) $(USER_OBJS) +$(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) : LDFLAGS := $(strip $(workbench-prefs-printer_LDFLAGS) $(workbench-prefs-printer-link_EXTRA_LDFLAGS)) +$(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) : LIBS := $(addprefix -l,$(workbench-prefs-printer_LIBS) $(workbench-prefs-printer-link_EXTRA_LIBS) ) +$(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) : $(workbench-prefs-printer_OBJS) $(workbench-prefs-printer_ARCHOBJS) $(USER_OBJS) $(workbench-prefs-printer-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-prefs-printer_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-prefs-printer_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-prefs-printer_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-prefs-printer_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-prefs-printer_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-prefs-printer_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-prefs-printer_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-prefs-printer_DEPS),) + ifneq (workbench-prefs-printer workbench-prefs-printer-quick,) + ifneq ($(findstring $(TARGET),workbench-prefs-printer workbench-prefs-printer-quick),) + -include $(workbench-prefs-printer_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-prefs-printer_DEPS) + endif + endif +endif + + +ifneq ($(workbench-prefs-printer_OBJS) $(workbench-prefs-printer_DEPS) $(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME),) +$(workbench-prefs-printer_OBJS) $(workbench-prefs-printer_DEPS) $(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) : | $(workbench-prefs-printer_OBJDIR) $(workbench-prefs-printer_TARGETDIR) +else +$(workbench-prefs-printer_OBJS) $(workbench-prefs-printer_DEPS) $(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) :: $(workbench-prefs-printer_OBJDIR) $(workbench-prefs-printer_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-prefs-printer_OBJDIR) $(workbench-prefs-printer_TARGETDIR) + + +workbench-prefs-printer-clean : FILES := $(workbench-prefs-printer_OBJS) $(workbench-prefs-printer_TARGETDIR)/$(workbench-prefs-printer_PROGNAME) $(workbench-prefs-printer_DEPS) +#MM +workbench-prefs-printer-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-printer" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/prefs/trackdisk/catalogs/mmakefile b/workbench/prefs/trackdisk/catalogs/mmakefile new file mode 100644 index 00000000000..5584f6bc2ea --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright © 2004-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish french german italian polish portuguese russian spanish norwegian + + +ifeq (,) +workbench-prefs-trackdisk-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-prefs-trackdisk-catalogs_DESC := +endif + +workbench-prefs-trackdisk-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-prefs-trackdisk-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-prefs-trackdisk-catalogs_LNGS := $(CATALOGS) +endif + +workbench-prefs-trackdisk-catalogs_OBJS := $(addsuffix /System/Prefs/Trackdisk.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-trackdisk-catalogs_LNGS))) +workbench-prefs-trackdisk-catalogs_DIRS := $(addsuffix /System/Prefs, $(addprefix $(AROS_CATALOGS)/, $(workbench-prefs-trackdisk-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-prefs-trackdisk-catalogs-quick : workbench-prefs-trackdisk-catalogs + +#MM +workbench-prefs-trackdisk-catalogs : $(workbench-prefs-trackdisk-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-prefs-trackdisk-catalogs_OBJS),) +$(workbench-prefs-trackdisk-catalogs_OBJS) : | $(workbench-prefs-trackdisk-catalogs_DIRS) +else +$(workbench-prefs-trackdisk-catalogs_OBJS) :: $(workbench-prefs-trackdisk-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-prefs-trackdisk-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Prefs/Trackdisk.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-prefs-trackdisk-catalogs_DESC).cd + $(Q)$(ECHO) "Creating Trackdisk catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-prefs-trackdisk-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Trackdisk.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-prefs-trackdisk-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Trackdisk.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-prefs-trackdisk-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Prefs/Trackdisk.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-prefs-trackdisk-catalogs_DESC := $(workbench-prefs-trackdisk-catalogs_DESC) +../strings.h : workbench-prefs-trackdisk-catalogs_SRC := $(workbench-prefs-trackdisk-catalogs_SRC) +../strings.h : $(workbench-prefs-trackdisk-catalogs_DESC).cd $(workbench-prefs-trackdisk-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating Trackdisk catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-prefs-trackdisk-catalogs_DESC).cd $@=$(workbench-prefs-trackdisk-catalogs_SRC).sd +endif + +workbench-prefs-trackdisk-catalogs-clean : FILES := $(workbench-prefs-trackdisk-catalogs_OBJS) ../strings.h +#MM +workbench-prefs-trackdisk-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-prefs-trackdisk-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-prefs-trackdisk-catalogs workbench-prefs-trackdisk-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/mmakefile b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/mmakefile new file mode 100644 index 00000000000..31a1f7fedee --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/mmakefile @@ -0,0 +1,76 @@ +# Copyright © 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish german polish russian norwegian +# other catalogs need update to version 2 + + +ifeq (,) +workbench-system-wanderer-tools-diskinfo-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-system-wanderer-tools-diskinfo-catalogs_DESC := +endif + +workbench-system-wanderer-tools-diskinfo-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-system-wanderer-tools-diskinfo-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-system-wanderer-tools-diskinfo-catalogs_LNGS := $(CATALOGS) +endif + +workbench-system-wanderer-tools-diskinfo-catalogs_OBJS := $(addsuffix /System/System/Wanderer/Tools/DiskInfo.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-system-wanderer-tools-diskinfo-catalogs_LNGS))) +workbench-system-wanderer-tools-diskinfo-catalogs_DIRS := $(addsuffix /System/System/Wanderer/Tools, $(addprefix $(AROS_CATALOGS)/, $(workbench-system-wanderer-tools-diskinfo-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-system-wanderer-tools-diskinfo-catalogs-quick : workbench-system-wanderer-tools-diskinfo-catalogs + +#MM +workbench-system-wanderer-tools-diskinfo-catalogs : $(workbench-system-wanderer-tools-diskinfo-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-system-wanderer-tools-diskinfo-catalogs_OBJS),) +$(workbench-system-wanderer-tools-diskinfo-catalogs_OBJS) : | $(workbench-system-wanderer-tools-diskinfo-catalogs_DIRS) +else +$(workbench-system-wanderer-tools-diskinfo-catalogs_OBJS) :: $(workbench-system-wanderer-tools-diskinfo-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-system-wanderer-tools-diskinfo-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/System/Wanderer/Tools/DiskInfo.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-system-wanderer-tools-diskinfo-catalogs_DESC).cd + $(Q)$(ECHO) "Creating DiskInfo catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-system-wanderer-tools-diskinfo-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Wanderer/Tools/DiskInfo.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-system-wanderer-tools-diskinfo-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Wanderer/Tools/DiskInfo.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-system-wanderer-tools-diskinfo-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Wanderer/Tools/DiskInfo.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-system-wanderer-tools-diskinfo-catalogs_DESC := $(workbench-system-wanderer-tools-diskinfo-catalogs_DESC) +../strings.h : workbench-system-wanderer-tools-diskinfo-catalogs_SRC := $(workbench-system-wanderer-tools-diskinfo-catalogs_SRC) +../strings.h : $(workbench-system-wanderer-tools-diskinfo-catalogs_DESC).cd $(workbench-system-wanderer-tools-diskinfo-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating DiskInfo catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-system-wanderer-tools-diskinfo-catalogs_DESC).cd $@=$(workbench-system-wanderer-tools-diskinfo-catalogs_SRC).sd +endif + +workbench-system-wanderer-tools-diskinfo-catalogs-clean : FILES := $(workbench-system-wanderer-tools-diskinfo-catalogs_OBJS) ../strings.h +#MM +workbench-system-wanderer-tools-diskinfo-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-system-wanderer-tools-diskinfo-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-system-wanderer-tools-diskinfo-catalogs workbench-system-wanderer-tools-diskinfo-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/system/Wanderer/catalogs/mmakefile b/workbench/system/Wanderer/catalogs/mmakefile new file mode 100644 index 00000000000..462ef259ec2 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/mmakefile @@ -0,0 +1,76 @@ +# Copyright © 2004-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech french german italian norwegian +# other catalogs need update to version 3 + + +ifeq (,) +workbench-system-wanderer-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-system-wanderer-catalogs_DESC := +endif + +workbench-system-wanderer-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-system-wanderer-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-system-wanderer-catalogs_LNGS := $(CATALOGS) +endif + +workbench-system-wanderer-catalogs_OBJS := $(addsuffix /System/System/Wanderer.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-system-wanderer-catalogs_LNGS))) +workbench-system-wanderer-catalogs_DIRS := $(addsuffix /System/System, $(addprefix $(AROS_CATALOGS)/, $(workbench-system-wanderer-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-system-wanderer-catalogs-quick : workbench-system-wanderer-catalogs + +#MM +workbench-system-wanderer-catalogs : $(workbench-system-wanderer-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-system-wanderer-catalogs_OBJS),) +$(workbench-system-wanderer-catalogs_OBJS) : | $(workbench-system-wanderer-catalogs_DIRS) +else +$(workbench-system-wanderer-catalogs_OBJS) :: $(workbench-system-wanderer-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-system-wanderer-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/System/Wanderer.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-system-wanderer-catalogs_DESC).cd + $(Q)$(ECHO) "Creating Wanderer catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-system-wanderer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Wanderer.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-system-wanderer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Wanderer.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-system-wanderer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Wanderer.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-system-wanderer-catalogs_DESC := $(workbench-system-wanderer-catalogs_DESC) +../strings.h : workbench-system-wanderer-catalogs_SRC := $(workbench-system-wanderer-catalogs_SRC) +../strings.h : $(workbench-system-wanderer-catalogs_DESC).cd $(workbench-system-wanderer-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating Wanderer catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-system-wanderer-catalogs_DESC).cd $@=$(workbench-system-wanderer-catalogs_SRC).sd +endif + +workbench-system-wanderer-catalogs-clean : FILES := $(workbench-system-wanderer-catalogs_OBJS) ../strings.h +#MM +workbench-system-wanderer-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-system-wanderer-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-system-wanderer-catalogs workbench-system-wanderer-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/system/find/catalogs/mmakefile b/workbench/system/find/catalogs/mmakefile new file mode 100644 index 00000000000..4237b8a7e95 --- /dev/null +++ b/workbench/system/find/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright © 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=german czech french norwegian + + +ifeq (,) +workbench-system-find-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-system-find-catalogs_DESC := +endif + +workbench-system-find-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-system-find-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-system-find-catalogs_LNGS := $(CATALOGS) +endif + +workbench-system-find-catalogs_OBJS := $(addsuffix /System/System/Find.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-system-find-catalogs_LNGS))) +workbench-system-find-catalogs_DIRS := $(addsuffix /System/System, $(addprefix $(AROS_CATALOGS)/, $(workbench-system-find-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-system-find-catalogs-quick : workbench-system-find-catalogs + +#MM +workbench-system-find-catalogs : $(workbench-system-find-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-system-find-catalogs_OBJS),) +$(workbench-system-find-catalogs_OBJS) : | $(workbench-system-find-catalogs_DIRS) +else +$(workbench-system-find-catalogs_OBJS) :: $(workbench-system-find-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-system-find-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/System/Find.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-system-find-catalogs_DESC).cd + $(Q)$(ECHO) "Creating Find catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-system-find-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Find.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-system-find-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Find.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-system-find-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/System/Find.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-system-find-catalogs_DESC := $(workbench-system-find-catalogs_DESC) +../strings.h : workbench-system-find-catalogs_SRC := $(workbench-system-find-catalogs_SRC) +../strings.h : $(workbench-system-find-catalogs_DESC).cd $(workbench-system-find-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating Find catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-system-find-catalogs_DESC).cd $@=$(workbench-system-find-catalogs_SRC).sd +endif + +workbench-system-find-catalogs-clean : FILES := $(workbench-system-find-catalogs_OBJS) ../strings.h +#MM +workbench-system-find-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-system-find-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-system-find-catalogs workbench-system-find-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/system/find/mmakefile b/workbench/system/find/mmakefile new file mode 100644 index 00000000000..34ba24c93b7 --- /dev/null +++ b/workbench/system/find/mmakefile @@ -0,0 +1,635 @@ +# $Id$ +# Makefile to make Find tool. + +include $(SRCDIR)/config/aros.cfg + +FILES := main locale findgroup_class +EXEDIR := $(AROS_SYSTEM) + +#MM- workbench-system : workbench-system-find + +#MM workbench-system-find : \ +#MM includes linklibs \ +#MM workbench-system-find-catalogs + + +.PHONY : workbench-system-find + +workbench-system-find_PROGNAME := Find +workbench-system-find_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-system-find_TARGETDIR := $(EXEDIR) +workbench-system-find_LINKER := +workbench-system-find_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-system-find_LINKER),) + workbench-system-find_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-system-find_FILES := $(FILES) + workbench-system-find_OBJCFILES := + workbench-system-find_ASMFILES := + workbench-system-find_CXXFILES := +else + workbench-system-find_FILES := $(workbench-system-find_PROGNAME) + workbench-system-find_OBJCFILES := + workbench-system-find_ASMFILES := + workbench-system-find_CXXFILES := +endif + +workbench-system-find_ARCHOBJS := $(wildcard $(workbench-system-find_OBJDIR)/arch/*.o) +workbench-system-find_ARCHFILES := $(basename $(notdir $(workbench-system-find_ARCHOBJS))) +workbench-system-find_C_NARCHFILES := $(filter-out $(workbench-system-find_ARCHFILES),$(workbench-system-find_FILES)) +workbench-system-find_CXX_NARCHFILES := $(filter-out $(workbench-system-find_ARCHFILES),$(workbench-system-find_CXXFILES)) +workbench-system-find_OBJC_NARCHFILES := $(filter-out $(workbench-system-find_ARCHFILES),$(workbench-system-find_OBJCFILES)) + +TMP_FILES := $(workbench-system-find_C_NARCHFILES) $(workbench-system-find_CXX_NARCHFILES) $(workbench-system-find_ASMFILES) $(workbench-system-find_OBJC_NARCHFILES) +workbench-system-find_OBJS := $(addsuffix .o,$(addprefix $(workbench-system-find_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-system-find_DEPS := $(addsuffix .d,$(addprefix $(workbench-system-find_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-system-find_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-system-find_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-system-find_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-system-find_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-system-find_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-system-find_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-system-find_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-system-find_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-system-find_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-system-find_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-system-find_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-system-find_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-system-find_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-system-find_LDFLAGS := +endif + +workbench-system-find_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-system-find_COVERAGE := yes +workbench-system-find_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-system-find_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-system-find_CFLAGS := $(strip $(workbench-system-find_COVERAGEFLAGS) $(workbench-system-find_CFLAGS)) +workbench-system-find_CXXFLAGS := $(strip $(workbench-system-find_COVERAGEFLAGS) $(workbench-system-find_CXXFLAGS)) +workbench-system-find_LIBS += $(workbench-system-find_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-system-find_FUNCINSTR := yes +workbench-system-find_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-system-find_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-system-find_CFLAGS := $(strip $(workbench-system-find_INSTRFUNCFLAGS) $(workbench-system-find_CFLAGS)) +workbench-system-find_CXXFLAGS := $(strip $(workbench-system-find_INSTRFUNCFLAGS) $(workbench-system-find_CXXFLAGS)) +workbench-system-find_LIBS += $(workbench-system-find_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-system-find_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-system-find_CFLAGS)) +workbench-system-find_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-system-find_CXXFLAGS)) +endif +endif +workbench-system-find_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-system-find_DFLAGS := +else + workbench-system-find_DFLAGS := $(workbench-system-find_CFLAGS) +endif +ifneq (,) + workbench-system-find_DXXFLAGS := +else + workbench-system-find_DXXFLAGS := $(workbench-system-find_CXXFLAGS) +endif +ifeq (target,target) +workbench-system-find_LDFLAGS := $(workbench-system-find_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-system-find_LDFLAGS := $(workbench-system-find_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-system-find_LDFLAGS := $(workbench-system-find_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-system-find_LDFLAGS += -L +endif + +#MM +workbench-system-find-quick : workbench-system-find + +#MM workbench-system-find : includes-generate-deps core-linklibs +workbench-system-find : $(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-system-find workbench-system-find-quick workbench-system-find-gz-quick),) + +workbench-system-find_CXXABSBASENAMES := $(foreach workbench-system-find_CXXBASE,$(workbench-system-find_CXX_NARCHFILES),$(if $(filter /%,$(workbench-system-find_CXXBASE)),$(workbench-system-find_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-system-find_CXXBASE)))) + +ifneq ($(workbench-system-find_CXXABSBASENAMES),) + +workbench-system-find_CXXBASENAMES := $(basename $(workbench-system-find_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-system-find_MCXX_FILES := $(strip $(foreach workbench-system-find_CXXBASE,$(workbench-system-find_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-system-find_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-system-find_EXT),$(workbench-system-find_CXXBASE))))))) + +ifeq (,) +workbench-system-find_MCXX_SRCWILDCARD := % +else +workbench-system-find_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-system-find_OBJDIR),) + workbench-system-find_CXXTARGETS := $(notdir $(workbench-system-find_CXXBASENAMES:=.o)) + workbench-system-find_CXXDTARGETS := $(notdir $(workbench-system-find_CXXBASENAMES:=.d)) + workbench-system-find_MCXX_WILDCARD := % +else + workbench-system-find_CXXTARGETS := $(addprefix $(workbench-system-find_OBJDIR)/,$(notdir $(workbench-system-find_CXXBASENAMES:=.o))) + workbench-system-find_CXXDTARGETS := $(addprefix $(workbench-system-find_OBJDIR)/,$(notdir $(workbench-system-find_CXXBASENAMES:=.d))) + workbench-system-find_MCXX_WILDCARD := $(workbench-system-find_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-system-find_CXXTARGETS) $(workbench-system-find_CXXDTARGETS) : | $(workbench-system-find_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-system-find_MCXX_CPPFLAGS := $(workbench-system-find_CPPFLAGS) +workbench-system-find_CXXFLAGS := $(workbench-system-find_CXXFLAGS) +ifeq ($(workbench-system-find_DXXFLAGS),) + workbench-system-find_DXXFLAGS := $(workbench-system-find_CXXFLAGS) +else + workbench-system-find_DXXFLAGS := $(workbench-system-find_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-system-find_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-system-find_STRIP ?= $(HOST_STRIP) + workbench-system-find_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-system-find_CXXCMD:=$(HOST_CXX) + workbench-system-find_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-system-find_MCXX_CPPFLAGS) $(workbench-system-find_MCXX_EXTRA_CPPFLAGS)) + workbench-system-find_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-system-find_CXXFLAGS)) + workbench-system-find_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-system-find_DXXFLAGS)) + workbench-system-find_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-system-find_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-system-find_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-system-find_STRIP ?= $(TARGET_STRIP) + workbench-system-find_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-system-find_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-system-find_MCXX_CPPFLAGS := $(strip $(workbench-system-find_MCXX_CPPFLAGS) $(workbench-system-find_MCXX_EXTRA_CPPFLAGS)) + workbench-system-find_CXXFLAGS := $(strip $(workbench-system-find_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-system-find_DXXFLAGS := $(workbench-system-find_DXXFLAGS) + workbench-system-find_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-system-find_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-system-find_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-system-find_STRIP ?= $(ECHO) >/dev/null + workbench-system-find_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-system-find_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-system-find_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-system-find_MCXX_CPPFLAGS) $(workbench-system-find_MCXX_EXTRA_CPPFLAGS)) + workbench-system-find_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-system-find_CXXFLAGS)) + workbench-system-find_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-system-find_DXXFLAGS)) + workbench-system-find_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-system-find_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-system-find_CXXCMD) $(workbench-system-find_CXXIQUOTE) $(dir $(2)) $(workbench-system-find_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_CXXIQUOTE) . $(workbench-system-find_CXXIQUOTE_END) $(strip $(workbench-system-find_CXXFLAGS) $(workbench-system-find_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-system-find_CXXCMD) $(workbench-system-find_CXXIQUOTE) $(dir $(2)) $(workbench-system-find_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_CXXIQUOTE) . $(workbench-system-find_CXXIQUOTE_END) $(strip $(workbench-system-find_CXXFLAGS) $(workbench-system-find_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-system-find_CXXCMD) $(workbench-system-find_CXXIQUOTE) $(dir $(2)) $(workbench-system-find_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_CXXIQUOTE) . $(workbench-system-find_CXXIQUOTE_END) $(strip $(workbench-system-find_CXXFLAGS) $(workbench-system-find_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-system-find_CXXCMD)" $(MKDEPEND) $(strip $(workbench-system-find_DXXFLAGS) $(workbench-system-find_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-system-find_OBJDIR),) + $(foreach workbench-system-find_CXXFILE,$(workbench-system-find_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-system-find_CXXFILE))),$(workbench-system-find_CXXFILE)))) +else + $(foreach workbench-system-find_CXXFILE,$(workbench-system-find_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-system-find_OBJDIR)/,$(notdir $(basename $(workbench-system-find_CXXFILE)))),$(workbench-system-find_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-system-find_OBJC_NARCHFILES),) + +ifeq (,) +workbench-system-find_MOBJC_SRCWILDCARD := % +else +workbench-system-find_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-system-find_OBJDIR),) + workbench-system-find_MOBJC_TARGETS := $(addsuffix .o,$(workbench-system-find_OBJC_NARCHFILES)) + workbench-system-find_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-system-find_OBJC_NARCHFILES)) + workbench-system-find_MOBJC_WILDCARD := % +else + workbench-system-find_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-system-find_OBJDIR)/,$(workbench-system-find_OBJC_NARCHFILES))) + workbench-system-find_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-system-find_OBJDIR)/,$(workbench-system-find_OBJC_NARCHFILES))) + workbench-system-find_MOBJC_WILDCARD := $(workbench-system-find_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-system-find_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-system-find_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-system-find_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-system-find_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-system-find_MOBJC_DIRS := $(foreach dir, $(workbench-system-find_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-system-find_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-system-find_MOBJC_DIRS),) + workbench-system-find_MOBJC_DIRS := $(shell echo $(workbench-system-find_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-system-find_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-system-find_CC := $(TARGET_CC) +else + workbench-system-find_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-system-find_MOBJC_CPPFLAGS := $(workbench-system-find_CPPFLAGS) +workbench-system-find_OBJCFLAGS := $(workbench-system-find_CFLAGS) +workbench-system-find_OBJCFLAGS := $(workbench-system-find_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-system-find_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-system-find_OBJCFLAGS))) +ifeq ($(workbench-system-find_DFLAGS),) + workbench-system-find_OBJCDFLAGS := $(workbench-system-find_CFLAGS) +else + workbench-system-find_OBJCDFLAGS := $(workbench-system-find_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-system-find_LINK ?= $(strip $(workbench-system-find_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-system-find_STRIP ?= $(TARGET_STRIP) + workbench-system-find_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-system-find_CC) $(TARGET_SYSROOT)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_MOBJC_CPPFLAGS:=$(strip $(workbench-system-find_MOBJC_CPPFLAGS) $(workbench-system-find_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_OBJCFLAGS:=$(strip $(workbench-system-find_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_OBJCDFLAGS:=$(workbench-system-find_OBJCDFLAGS) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-system-find_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-system-find_STRIP ?= $(HOST_STRIP) + workbench-system-find_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-system-find_MOBJC_CPPFLAGS) $(workbench-system-find_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-system-find_OBJCFLAGS)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-system-find_OBJCDFLAGS)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_IQUOTE:=$(HOST_IQUOTE) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-system-find_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-system-find_STRIP ?= $(ECHO) >/dev/null + workbench-system-find_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-system-find_MOBJC_CPPFLAGS) $(workbench-system-find_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-system-find_OBJCFLAGS)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-system-find_OBJCDFLAGS)) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-system-find_MOBJC_TARGETS) $(workbench-system-find_MOBJC_DTARGETS) : workbench-system-find_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-system-find_MOBJC_TARGETS) : CPPFLAGS := $(workbench-system-find_MOBJC_CPPFLAGS) +$(workbench-system-find_MOBJC_TARGETS) : CFLAGS := $(workbench-system-find_OBJCFLAGS) +$(workbench-system-find_MOBJC_TARGETS) : $(workbench-system-find_MOBJC_WILDCARD).o : $(workbench-system-find_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-system-find_IQUOTE) $(dir $<) $(workbench-system-find_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_IQUOTE) . $(workbench-system-find_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-system-find_IQUOTE) $(dir $<) $(workbench-system-find_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_IQUOTE) . $(workbench-system-find_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-system-find_IQUOTE) $(dir $<) $(workbench-system-find_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_IQUOTE) . $(workbench-system-find_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-system-find_MOBJC_DTARGETS) : $(workbench-system-find_MOBJC_WILDCARD).d : $(workbench-system-find_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-system-find_OBJCDFLAGS) $(workbench-system-find_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-system-find_MC_SRCWILDCARD := % +else +workbench-system-find_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-system-find_OBJDIR),) +workbench-system-find_MC_TARGETS := $(addsuffix .o,$(workbench-system-find_C_NARCHFILES)) +workbench-system-find_MC_DTARGETS := $(addsuffix .d,$(workbench-system-find_C_NARCHFILES)) +workbench-system-find_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-system-find_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-system-find_OBJDIR)/,$(notdir $(workbench-system-find_C_NARCHFILES)))) + workbench-system-find_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-system-find_OBJDIR)/,$(notdir $(workbench-system-find_C_NARCHFILES)))) +else +ifeq (,) + workbench-system-find_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-system-find_OBJDIR)/,$(workbench-system-find_C_NARCHFILES))) + workbench-system-find_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-system-find_OBJDIR)/,$(workbench-system-find_C_NARCHFILES))) +else + workbench-system-find_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-system-find_OBJDIR)/,$(patsubst /%,%,$(workbench-system-find_C_NARCHFILES)))) + workbench-system-find_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-system-find_OBJDIR)/,$(patsubst /%,%,$(workbench-system-find_C_NARCHFILES)))) +endif +endif +workbench-system-find_MC_TGTWILDCARD := $(workbench-system-find_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : | $(addsuffix .c,$(workbench-system-find_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-system-find_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-system-find_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-system-find_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-system-find_MC_DIRS := $(foreach dir, $(workbench-system-find_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-system-find_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-system-find_MC_DIRS),) + workbench-system-find_MC_DIRS := $(shell echo $(workbench-system-find_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-system-find_MC_DIRS) +endif + +endif + +workbench-system-find_MC_CPPFLAGS := $(workbench-system-find_CPPFLAGS) +workbench-system-find_CFLAGS := $(workbench-system-find_CFLAGS) +ifeq ($(workbench-system-find_DFLAGS),) + workbench-system-find_DFLAGS := $(workbench-system-find_CFLAGS) +else + workbench-system-find_DFLAGS := $(workbench-system-find_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-system-find_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-system-find_STRIP ?= $(TARGET_STRIP) +workbench-system-find_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_MC_CPPFLAGS:=$(strip $(workbench-system-find_MC_CPPFLAGS) $(workbench-system-find_MC_EXTRA_CPPFLAGS)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_CFLAGS:=$(strip $(workbench-system-find_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_DFLAGS:=$(workbench-system-find_DFLAGS) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-system-find_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-system-find_STRIP ?= $(HOST_STRIP) +workbench-system-find_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-system-find_MC_CPPFLAGS) $(workbench-system-find_MC_EXTRA_CPPFLAGS)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-system-find_CFLAGS)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-system-find_DFLAGS)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_IQUOTE:=$(HOST_IQUOTE) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-system-find_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-system-find_STRIP ?= $(ECHO) >/dev/null +workbench-system-find_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-system-find_MC_CPPFLAGS) $(workbench-system-find_MC_EXTRA_CPPFLAGS)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-system-find_CFLAGS)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-system-find_DFLAGS)) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-system-find_MC_TARGETS) $(workbench-system-find_MC_DTARGETS) : workbench-system-find_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-system-find_MC_TARGETS) : CPPFLAGS := $(workbench-system-find_MC_CPPFLAGS) +$(workbench-system-find_MC_TARGETS) : CFLAGS := $(workbench-system-find_CFLAGS) +$(workbench-system-find_MC_TARGETS) : $(workbench-system-find_MC_TGTWILDCARD).o : $(workbench-system-find_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-system-find_IQUOTE) $(dir $<) $(workbench-system-find_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_IQUOTE) . $(workbench-system-find_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-system-find_IQUOTE) $(dir $<) $(workbench-system-find_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_IQUOTE) . $(workbench-system-find_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-system-find_IQUOTE) $(dir $<) $(workbench-system-find_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-system-find_IQUOTE) . $(workbench-system-find_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-system-find_MC_DTARGETS) : $(workbench-system-find_MC_TGTWILDCARD).d : $(workbench-system-find_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-system-find_DFLAGS) $(workbench-system-find_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-system-find_OBJDIR),) +workbench-system-find-MA_TARGETS := $(addsuffix .o,$(workbench-system-find_ASMFILES)) +workbench-system-find-MA_WILDCARD := % +else +workbench-system-find-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-system-find_OBJDIR)/,$(notdir $(workbench-system-find_ASMFILES)))) +workbench-system-find-MA_WILDCARD := $(workbench-system-find_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-system-find-MA_TARGETS) : | $(addsuffix .s,$(workbench-system-find_ASMFILES)) + +# Be sure that all .c files are found +workbench-system-find-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-system-find-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-system-find_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-system-find-MA_DIRS := $(foreach dir, $(workbench-system-find-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-system-find-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-system-find-MA_DIRS),) + workbench-system-find-MA_DIRS := $(shell echo $(workbench-system-find-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-system-find-MA_DIRS) +endif + +endif + +workbench-system-find-MA_ASSEMBLER ?= $(workbench-system-find_ASSEMBLER) + +$(workbench-system-find-MA_TARGETS) : workbench-system-find-MA_CMD:= $(workbench-system-find-MA_ASSEMBLER) + +$(workbench-system-find-MA_TARGETS) : CPPFLAGS := $(workbench-system-find_CPPFLAGS) +$(workbench-system-find-MA_TARGETS) : AFLAGS := $(workbench-system-find_AFLAGS) +$(workbench-system-find-MA_TARGETS) : $(workbench-system-find-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-system-find-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-system-find-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-system-find-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-system-find-link_EXTRA_LDFLAGS := +workbench-system-find-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-system-find-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-system-find-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-system-find-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-system-find-link_DIRS := $(subst -L ,-L,$(strip $(workbench-system-find_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-system-find-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-system-find-link_DIRS))) +# Add trailing / +workbench-system-find-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-system-find-link_DIRS))) +# Add normal linklib path +workbench-system-find-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-system-find-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-system-find_LIBS) $(workbench-system-find-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-system-find-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-system-find-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-system-find-link_DEPLIBS := $(foreach lib,$(workbench-system-find-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-system-find-link_DIRS)))) \ +) + +$(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) : OBJDIR := $(workbench-system-find_OBJDIR) +$(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) : OBJS := $(workbench-system-find_OBJS) $(workbench-system-find_ARCHOBJS) $(USER_OBJS) +$(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) : LDFLAGS := $(strip $(workbench-system-find_LDFLAGS) $(workbench-system-find-link_EXTRA_LDFLAGS)) +$(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) : LIBS := $(addprefix -l,$(workbench-system-find_LIBS) $(workbench-system-find-link_EXTRA_LIBS) ) +$(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) : $(workbench-system-find_OBJS) $(workbench-system-find_ARCHOBJS) $(USER_OBJS) $(workbench-system-find-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-system-find_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-system-find_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-system-find_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-system-find_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-system-find_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-system-find_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-system-find_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-system-find_DEPS),) + ifneq (workbench-system-find workbench-system-find-quick,) + ifneq ($(findstring $(TARGET),workbench-system-find workbench-system-find-quick),) + -include $(workbench-system-find_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-system-find_DEPS) + endif + endif +endif + + +ifneq ($(workbench-system-find_OBJS) $(workbench-system-find_DEPS) $(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME),) +$(workbench-system-find_OBJS) $(workbench-system-find_DEPS) $(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) : | $(workbench-system-find_OBJDIR) $(workbench-system-find_TARGETDIR) +else +$(workbench-system-find_OBJS) $(workbench-system-find_DEPS) $(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) :: $(workbench-system-find_OBJDIR) $(workbench-system-find_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-system-find_OBJDIR) $(workbench-system-find_TARGETDIR) + + +workbench-system-find-clean : FILES := $(workbench-system-find_OBJS) $(workbench-system-find_TARGETDIR)/$(workbench-system-find_PROGNAME) $(workbench-system-find_DEPS) +#MM +workbench-system-find-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-system-find" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/tools/BoingIconBar/catalogs/mmakefile b/workbench/tools/BoingIconBar/catalogs/mmakefile new file mode 100644 index 00000000000..6276fb105a8 --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/mmakefile @@ -0,0 +1,74 @@ +# Copyright © 2019, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french german czech polish italian norwegian + +ifeq (,) +workbench-tools-iconbar-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-tools-iconbar-catalogs_DESC := +endif + +workbench-tools-iconbar-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-tools-iconbar-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-tools-iconbar-catalogs_LNGS := $(CATALOGS) +endif + +workbench-tools-iconbar-catalogs_OBJS := $(addsuffix /System/Tools/BoingIconBar.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-tools-iconbar-catalogs_LNGS))) +workbench-tools-iconbar-catalogs_DIRS := $(addsuffix /System/Tools, $(addprefix $(AROS_CATALOGS)/, $(workbench-tools-iconbar-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-tools-iconbar-catalogs-quick : workbench-tools-iconbar-catalogs + +#MM +workbench-tools-iconbar-catalogs : $(workbench-tools-iconbar-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-tools-iconbar-catalogs_OBJS),) +$(workbench-tools-iconbar-catalogs_OBJS) : | $(workbench-tools-iconbar-catalogs_DIRS) +else +$(workbench-tools-iconbar-catalogs_OBJS) :: $(workbench-tools-iconbar-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-tools-iconbar-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Tools/BoingIconBar.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-tools-iconbar-catalogs_DESC).cd + $(Q)$(ECHO) "Creating BoingIconBar catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-tools-iconbar-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/BoingIconBar.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-tools-iconbar-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/BoingIconBar.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-tools-iconbar-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/BoingIconBar.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-tools-iconbar-catalogs_DESC := $(workbench-tools-iconbar-catalogs_DESC) +../strings.h : workbench-tools-iconbar-catalogs_SRC := $(workbench-tools-iconbar-catalogs_SRC) +../strings.h : $(workbench-tools-iconbar-catalogs_DESC).cd $(workbench-tools-iconbar-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating BoingIconBar catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-tools-iconbar-catalogs_DESC).cd $@=$(workbench-tools-iconbar-catalogs_SRC).sd +endif + +workbench-tools-iconbar-catalogs-clean : FILES := $(workbench-tools-iconbar-catalogs_OBJS) ../strings.h +#MM +workbench-tools-iconbar-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-tools-iconbar-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-tools-iconbar-catalogs workbench-tools-iconbar-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/tools/BoingIconBar/mmakefile b/workbench/tools/BoingIconBar/mmakefile new file mode 100644 index 00000000000..1aeb37cee38 --- /dev/null +++ b/workbench/tools/BoingIconBar/mmakefile @@ -0,0 +1,688 @@ +# Copyright © 2011, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + +FILES := locale iconbar +CPFILES := BiB_Eng.guide +ENVFILE := Iconbar.prefs +BIBGFX := bibgfx + +USER_CFLAGS := -fno-strict-aliasing + +#MM- workbench-tools : workbench-tools-iconbar +#MM workbench-tools-iconbar : includes linklibs \ +#MM workbench-tools-iconbar-catalogs \ +#MM workbench-tools-iconbar-gfx \ +#MM workbench-tools-iconbar-files \ +#MM workbench-tools-iconbar-env + + +.PHONY : workbench-tools-iconbar + +workbench-tools-iconbar_PROGNAME := BoingIconBar +workbench-tools-iconbar_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-tools-iconbar_TARGETDIR := $(AROS_TOOLS) +workbench-tools-iconbar_LINKER := +workbench-tools-iconbar_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-tools-iconbar_LINKER),) + workbench-tools-iconbar_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-tools-iconbar_FILES := $(FILES) + workbench-tools-iconbar_OBJCFILES := + workbench-tools-iconbar_ASMFILES := + workbench-tools-iconbar_CXXFILES := +else + workbench-tools-iconbar_FILES := $(workbench-tools-iconbar_PROGNAME) + workbench-tools-iconbar_OBJCFILES := + workbench-tools-iconbar_ASMFILES := + workbench-tools-iconbar_CXXFILES := +endif + +workbench-tools-iconbar_ARCHOBJS := $(wildcard $(workbench-tools-iconbar_OBJDIR)/arch/*.o) +workbench-tools-iconbar_ARCHFILES := $(basename $(notdir $(workbench-tools-iconbar_ARCHOBJS))) +workbench-tools-iconbar_C_NARCHFILES := $(filter-out $(workbench-tools-iconbar_ARCHFILES),$(workbench-tools-iconbar_FILES)) +workbench-tools-iconbar_CXX_NARCHFILES := $(filter-out $(workbench-tools-iconbar_ARCHFILES),$(workbench-tools-iconbar_CXXFILES)) +workbench-tools-iconbar_OBJC_NARCHFILES := $(filter-out $(workbench-tools-iconbar_ARCHFILES),$(workbench-tools-iconbar_OBJCFILES)) + +TMP_FILES := $(workbench-tools-iconbar_C_NARCHFILES) $(workbench-tools-iconbar_CXX_NARCHFILES) $(workbench-tools-iconbar_ASMFILES) $(workbench-tools-iconbar_OBJC_NARCHFILES) +workbench-tools-iconbar_OBJS := $(addsuffix .o,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-tools-iconbar_DEPS := $(addsuffix .d,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-tools-iconbar_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-tools-iconbar_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-iconbar_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-tools-iconbar_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-tools-iconbar_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-tools-iconbar_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-iconbar_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-tools-iconbar_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-tools-iconbar_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-tools-iconbar_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-iconbar_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-tools-iconbar_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-tools-iconbar_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-tools-iconbar_LDFLAGS := +endif + +workbench-tools-iconbar_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-tools-iconbar_COVERAGE := yes +workbench-tools-iconbar_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-tools-iconbar_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-tools-iconbar_CFLAGS := $(strip $(workbench-tools-iconbar_COVERAGEFLAGS) $(workbench-tools-iconbar_CFLAGS)) +workbench-tools-iconbar_CXXFLAGS := $(strip $(workbench-tools-iconbar_COVERAGEFLAGS) $(workbench-tools-iconbar_CXXFLAGS)) +workbench-tools-iconbar_LIBS += $(workbench-tools-iconbar_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-iconbar_FUNCINSTR := yes +workbench-tools-iconbar_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-tools-iconbar_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-tools-iconbar_CFLAGS := $(strip $(workbench-tools-iconbar_INSTRFUNCFLAGS) $(workbench-tools-iconbar_CFLAGS)) +workbench-tools-iconbar_CXXFLAGS := $(strip $(workbench-tools-iconbar_INSTRFUNCFLAGS) $(workbench-tools-iconbar_CXXFLAGS)) +workbench-tools-iconbar_LIBS += $(workbench-tools-iconbar_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-tools-iconbar_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-tools-iconbar_CFLAGS)) +workbench-tools-iconbar_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-tools-iconbar_CXXFLAGS)) +endif +endif +workbench-tools-iconbar_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-tools-iconbar_DFLAGS := +else + workbench-tools-iconbar_DFLAGS := $(workbench-tools-iconbar_CFLAGS) +endif +ifneq (,) + workbench-tools-iconbar_DXXFLAGS := +else + workbench-tools-iconbar_DXXFLAGS := $(workbench-tools-iconbar_CXXFLAGS) +endif +ifeq (target,target) +workbench-tools-iconbar_LDFLAGS := $(workbench-tools-iconbar_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-tools-iconbar_LDFLAGS := $(workbench-tools-iconbar_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-tools-iconbar_LDFLAGS := $(workbench-tools-iconbar_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-tools-iconbar_LDFLAGS += -L +endif + +#MM +workbench-tools-iconbar-quick : workbench-tools-iconbar + +#MM workbench-tools-iconbar : includes-generate-deps core-linklibs +workbench-tools-iconbar : $(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-tools-iconbar workbench-tools-iconbar-quick workbench-tools-iconbar-gz-quick),) + +workbench-tools-iconbar_CXXABSBASENAMES := $(foreach workbench-tools-iconbar_CXXBASE,$(workbench-tools-iconbar_CXX_NARCHFILES),$(if $(filter /%,$(workbench-tools-iconbar_CXXBASE)),$(workbench-tools-iconbar_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-tools-iconbar_CXXBASE)))) + +ifneq ($(workbench-tools-iconbar_CXXABSBASENAMES),) + +workbench-tools-iconbar_CXXBASENAMES := $(basename $(workbench-tools-iconbar_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-tools-iconbar_MCXX_FILES := $(strip $(foreach workbench-tools-iconbar_CXXBASE,$(workbench-tools-iconbar_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-tools-iconbar_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-tools-iconbar_EXT),$(workbench-tools-iconbar_CXXBASE))))))) + +ifeq (,) +workbench-tools-iconbar_MCXX_SRCWILDCARD := % +else +workbench-tools-iconbar_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-iconbar_OBJDIR),) + workbench-tools-iconbar_CXXTARGETS := $(notdir $(workbench-tools-iconbar_CXXBASENAMES:=.o)) + workbench-tools-iconbar_CXXDTARGETS := $(notdir $(workbench-tools-iconbar_CXXBASENAMES:=.d)) + workbench-tools-iconbar_MCXX_WILDCARD := % +else + workbench-tools-iconbar_CXXTARGETS := $(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(notdir $(workbench-tools-iconbar_CXXBASENAMES:=.o))) + workbench-tools-iconbar_CXXDTARGETS := $(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(notdir $(workbench-tools-iconbar_CXXBASENAMES:=.d))) + workbench-tools-iconbar_MCXX_WILDCARD := $(workbench-tools-iconbar_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-tools-iconbar_CXXTARGETS) $(workbench-tools-iconbar_CXXDTARGETS) : | $(workbench-tools-iconbar_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-tools-iconbar_MCXX_CPPFLAGS := $(workbench-tools-iconbar_CPPFLAGS) +workbench-tools-iconbar_CXXFLAGS := $(workbench-tools-iconbar_CXXFLAGS) +ifeq ($(workbench-tools-iconbar_DXXFLAGS),) + workbench-tools-iconbar_DXXFLAGS := $(workbench-tools-iconbar_CXXFLAGS) +else + workbench-tools-iconbar_DXXFLAGS := $(workbench-tools-iconbar_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-tools-iconbar_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-tools-iconbar_STRIP ?= $(HOST_STRIP) + workbench-tools-iconbar_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-tools-iconbar_CXXCMD:=$(HOST_CXX) + workbench-tools-iconbar_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-tools-iconbar_MCXX_CPPFLAGS) $(workbench-tools-iconbar_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-iconbar_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-iconbar_CXXFLAGS)) + workbench-tools-iconbar_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-iconbar_DXXFLAGS)) + workbench-tools-iconbar_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-tools-iconbar_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-tools-iconbar_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-iconbar_STRIP ?= $(TARGET_STRIP) + workbench-tools-iconbar_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-tools-iconbar_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-tools-iconbar_MCXX_CPPFLAGS := $(strip $(workbench-tools-iconbar_MCXX_CPPFLAGS) $(workbench-tools-iconbar_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-iconbar_CXXFLAGS := $(strip $(workbench-tools-iconbar_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-tools-iconbar_DXXFLAGS := $(workbench-tools-iconbar_DXXFLAGS) + workbench-tools-iconbar_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-tools-iconbar_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-tools-iconbar_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-iconbar_STRIP ?= $(ECHO) >/dev/null + workbench-tools-iconbar_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-tools-iconbar_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-tools-iconbar_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-tools-iconbar_MCXX_CPPFLAGS) $(workbench-tools-iconbar_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-iconbar_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-iconbar_CXXFLAGS)) + workbench-tools-iconbar_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-iconbar_DXXFLAGS)) + workbench-tools-iconbar_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-tools-iconbar_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-tools-iconbar_CXXCMD) $(workbench-tools-iconbar_CXXIQUOTE) $(dir $(2)) $(workbench-tools-iconbar_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_CXXIQUOTE) . $(workbench-tools-iconbar_CXXIQUOTE_END) $(strip $(workbench-tools-iconbar_CXXFLAGS) $(workbench-tools-iconbar_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-tools-iconbar_CXXCMD) $(workbench-tools-iconbar_CXXIQUOTE) $(dir $(2)) $(workbench-tools-iconbar_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_CXXIQUOTE) . $(workbench-tools-iconbar_CXXIQUOTE_END) $(strip $(workbench-tools-iconbar_CXXFLAGS) $(workbench-tools-iconbar_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-tools-iconbar_CXXCMD) $(workbench-tools-iconbar_CXXIQUOTE) $(dir $(2)) $(workbench-tools-iconbar_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_CXXIQUOTE) . $(workbench-tools-iconbar_CXXIQUOTE_END) $(strip $(workbench-tools-iconbar_CXXFLAGS) $(workbench-tools-iconbar_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-tools-iconbar_CXXCMD)" $(MKDEPEND) $(strip $(workbench-tools-iconbar_DXXFLAGS) $(workbench-tools-iconbar_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-tools-iconbar_OBJDIR),) + $(foreach workbench-tools-iconbar_CXXFILE,$(workbench-tools-iconbar_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-tools-iconbar_CXXFILE))),$(workbench-tools-iconbar_CXXFILE)))) +else + $(foreach workbench-tools-iconbar_CXXFILE,$(workbench-tools-iconbar_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(notdir $(basename $(workbench-tools-iconbar_CXXFILE)))),$(workbench-tools-iconbar_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-tools-iconbar_OBJC_NARCHFILES),) + +ifeq (,) +workbench-tools-iconbar_MOBJC_SRCWILDCARD := % +else +workbench-tools-iconbar_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-iconbar_OBJDIR),) + workbench-tools-iconbar_MOBJC_TARGETS := $(addsuffix .o,$(workbench-tools-iconbar_OBJC_NARCHFILES)) + workbench-tools-iconbar_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-tools-iconbar_OBJC_NARCHFILES)) + workbench-tools-iconbar_MOBJC_WILDCARD := % +else + workbench-tools-iconbar_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(workbench-tools-iconbar_OBJC_NARCHFILES))) + workbench-tools-iconbar_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(workbench-tools-iconbar_OBJC_NARCHFILES))) + workbench-tools-iconbar_MOBJC_WILDCARD := $(workbench-tools-iconbar_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-tools-iconbar_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-tools-iconbar_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-iconbar_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-iconbar_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-tools-iconbar_MOBJC_DIRS := $(foreach dir, $(workbench-tools-iconbar_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-iconbar_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-tools-iconbar_MOBJC_DIRS),) + workbench-tools-iconbar_MOBJC_DIRS := $(shell echo $(workbench-tools-iconbar_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-tools-iconbar_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-tools-iconbar_CC := $(TARGET_CC) +else + workbench-tools-iconbar_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-tools-iconbar_MOBJC_CPPFLAGS := $(workbench-tools-iconbar_CPPFLAGS) +workbench-tools-iconbar_OBJCFLAGS := $(workbench-tools-iconbar_CFLAGS) +workbench-tools-iconbar_OBJCFLAGS := $(workbench-tools-iconbar_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-tools-iconbar_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-tools-iconbar_OBJCFLAGS))) +ifeq ($(workbench-tools-iconbar_DFLAGS),) + workbench-tools-iconbar_OBJCDFLAGS := $(workbench-tools-iconbar_CFLAGS) +else + workbench-tools-iconbar_OBJCDFLAGS := $(workbench-tools-iconbar_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-tools-iconbar_LINK ?= $(strip $(workbench-tools-iconbar_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-iconbar_STRIP ?= $(TARGET_STRIP) + workbench-tools-iconbar_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-tools-iconbar_CC) $(TARGET_SYSROOT)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_MOBJC_CPPFLAGS:=$(strip $(workbench-tools-iconbar_MOBJC_CPPFLAGS) $(workbench-tools-iconbar_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_OBJCFLAGS:=$(strip $(workbench-tools-iconbar_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_OBJCDFLAGS:=$(workbench-tools-iconbar_OBJCDFLAGS) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-tools-iconbar_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-tools-iconbar_STRIP ?= $(HOST_STRIP) + workbench-tools-iconbar_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-tools-iconbar_MOBJC_CPPFLAGS) $(workbench-tools-iconbar_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-iconbar_OBJCFLAGS)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-iconbar_OBJCDFLAGS)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_IQUOTE:=$(HOST_IQUOTE) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-tools-iconbar_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-iconbar_STRIP ?= $(ECHO) >/dev/null + workbench-tools-iconbar_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-tools-iconbar_MOBJC_CPPFLAGS) $(workbench-tools-iconbar_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-iconbar_OBJCFLAGS)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-iconbar_OBJCDFLAGS)) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-tools-iconbar_MOBJC_TARGETS) $(workbench-tools-iconbar_MOBJC_DTARGETS) : workbench-tools-iconbar_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-iconbar_MOBJC_TARGETS) : CPPFLAGS := $(workbench-tools-iconbar_MOBJC_CPPFLAGS) +$(workbench-tools-iconbar_MOBJC_TARGETS) : CFLAGS := $(workbench-tools-iconbar_OBJCFLAGS) +$(workbench-tools-iconbar_MOBJC_TARGETS) : $(workbench-tools-iconbar_MOBJC_WILDCARD).o : $(workbench-tools-iconbar_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-iconbar_IQUOTE) $(dir $<) $(workbench-tools-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_IQUOTE) . $(workbench-tools-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-iconbar_IQUOTE) $(dir $<) $(workbench-tools-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_IQUOTE) . $(workbench-tools-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-iconbar_IQUOTE) $(dir $<) $(workbench-tools-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_IQUOTE) . $(workbench-tools-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-iconbar_MOBJC_DTARGETS) : $(workbench-tools-iconbar_MOBJC_WILDCARD).d : $(workbench-tools-iconbar_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-iconbar_OBJCDFLAGS) $(workbench-tools-iconbar_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-tools-iconbar_MC_SRCWILDCARD := % +else +workbench-tools-iconbar_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-iconbar_OBJDIR),) +workbench-tools-iconbar_MC_TARGETS := $(addsuffix .o,$(workbench-tools-iconbar_C_NARCHFILES)) +workbench-tools-iconbar_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-iconbar_C_NARCHFILES)) +workbench-tools-iconbar_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-iconbar_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(notdir $(workbench-tools-iconbar_C_NARCHFILES)))) + workbench-tools-iconbar_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(notdir $(workbench-tools-iconbar_C_NARCHFILES)))) +else +ifeq (,) + workbench-tools-iconbar_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(workbench-tools-iconbar_C_NARCHFILES))) + workbench-tools-iconbar_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(workbench-tools-iconbar_C_NARCHFILES))) +else + workbench-tools-iconbar_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-iconbar_C_NARCHFILES)))) + workbench-tools-iconbar_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-iconbar_C_NARCHFILES)))) +endif +endif +workbench-tools-iconbar_MC_TGTWILDCARD := $(workbench-tools-iconbar_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-iconbar_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-tools-iconbar_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-iconbar_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-iconbar_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-iconbar_MC_DIRS := $(foreach dir, $(workbench-tools-iconbar_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-iconbar_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-iconbar_MC_DIRS),) + workbench-tools-iconbar_MC_DIRS := $(shell echo $(workbench-tools-iconbar_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-iconbar_MC_DIRS) +endif + +endif + +workbench-tools-iconbar_MC_CPPFLAGS := $(workbench-tools-iconbar_CPPFLAGS) +workbench-tools-iconbar_CFLAGS := $(workbench-tools-iconbar_CFLAGS) +ifeq ($(workbench-tools-iconbar_DFLAGS),) + workbench-tools-iconbar_DFLAGS := $(workbench-tools-iconbar_CFLAGS) +else + workbench-tools-iconbar_DFLAGS := $(workbench-tools-iconbar_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-iconbar_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-iconbar_STRIP ?= $(TARGET_STRIP) +workbench-tools-iconbar_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_MC_CPPFLAGS:=$(strip $(workbench-tools-iconbar_MC_CPPFLAGS) $(workbench-tools-iconbar_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_CFLAGS:=$(strip $(workbench-tools-iconbar_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_DFLAGS:=$(workbench-tools-iconbar_DFLAGS) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-iconbar_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-iconbar_STRIP ?= $(HOST_STRIP) +workbench-tools-iconbar_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-iconbar_MC_CPPFLAGS) $(workbench-tools-iconbar_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-iconbar_CFLAGS)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-iconbar_DFLAGS)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-iconbar_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-iconbar_STRIP ?= $(ECHO) >/dev/null +workbench-tools-iconbar_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-iconbar_MC_CPPFLAGS) $(workbench-tools-iconbar_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-iconbar_CFLAGS)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-iconbar_DFLAGS)) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-iconbar_MC_TARGETS) $(workbench-tools-iconbar_MC_DTARGETS) : workbench-tools-iconbar_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-iconbar_MC_TARGETS) : CPPFLAGS := $(workbench-tools-iconbar_MC_CPPFLAGS) +$(workbench-tools-iconbar_MC_TARGETS) : CFLAGS := $(workbench-tools-iconbar_CFLAGS) +$(workbench-tools-iconbar_MC_TARGETS) : $(workbench-tools-iconbar_MC_TGTWILDCARD).o : $(workbench-tools-iconbar_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-iconbar_IQUOTE) $(dir $<) $(workbench-tools-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_IQUOTE) . $(workbench-tools-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-iconbar_IQUOTE) $(dir $<) $(workbench-tools-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_IQUOTE) . $(workbench-tools-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-iconbar_IQUOTE) $(dir $<) $(workbench-tools-iconbar_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-iconbar_IQUOTE) . $(workbench-tools-iconbar_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-iconbar_MC_DTARGETS) : $(workbench-tools-iconbar_MC_TGTWILDCARD).d : $(workbench-tools-iconbar_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-iconbar_DFLAGS) $(workbench-tools-iconbar_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-tools-iconbar_OBJDIR),) +workbench-tools-iconbar-MA_TARGETS := $(addsuffix .o,$(workbench-tools-iconbar_ASMFILES)) +workbench-tools-iconbar-MA_WILDCARD := % +else +workbench-tools-iconbar-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-iconbar_OBJDIR)/,$(notdir $(workbench-tools-iconbar_ASMFILES)))) +workbench-tools-iconbar-MA_WILDCARD := $(workbench-tools-iconbar_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-tools-iconbar-MA_TARGETS) : | $(addsuffix .s,$(workbench-tools-iconbar_ASMFILES)) + +# Be sure that all .c files are found +workbench-tools-iconbar-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-iconbar-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-iconbar_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-iconbar-MA_DIRS := $(foreach dir, $(workbench-tools-iconbar-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-iconbar-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-iconbar-MA_DIRS),) + workbench-tools-iconbar-MA_DIRS := $(shell echo $(workbench-tools-iconbar-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-tools-iconbar-MA_DIRS) +endif + +endif + +workbench-tools-iconbar-MA_ASSEMBLER ?= $(workbench-tools-iconbar_ASSEMBLER) + +$(workbench-tools-iconbar-MA_TARGETS) : workbench-tools-iconbar-MA_CMD:= $(workbench-tools-iconbar-MA_ASSEMBLER) + +$(workbench-tools-iconbar-MA_TARGETS) : CPPFLAGS := $(workbench-tools-iconbar_CPPFLAGS) +$(workbench-tools-iconbar-MA_TARGETS) : AFLAGS := $(workbench-tools-iconbar_AFLAGS) +$(workbench-tools-iconbar-MA_TARGETS) : $(workbench-tools-iconbar-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-tools-iconbar-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-tools-iconbar-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-tools-iconbar-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-tools-iconbar-link_EXTRA_LDFLAGS := +workbench-tools-iconbar-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-tools-iconbar-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-tools-iconbar-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (yes,yes) + workbench-tools-iconbar-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-tools-iconbar-link_DIRS := $(subst -L ,-L,$(strip $(workbench-tools-iconbar_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-tools-iconbar-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-tools-iconbar-link_DIRS))) +# Add trailing / +workbench-tools-iconbar-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-tools-iconbar-link_DIRS))) +# Add normal linklib path +workbench-tools-iconbar-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-tools-iconbar-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-tools-iconbar_LIBS) $(workbench-tools-iconbar-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-tools-iconbar-link_LIBS += startup.o +endif +ifeq (yes,yes) + workbench-tools-iconbar-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-tools-iconbar-link_DEPLIBS := $(foreach lib,$(workbench-tools-iconbar-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-tools-iconbar-link_DIRS)))) \ +) + +$(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) : OBJDIR := $(workbench-tools-iconbar_OBJDIR) +$(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) : OBJS := $(workbench-tools-iconbar_OBJS) $(workbench-tools-iconbar_ARCHOBJS) $(USER_OBJS) +$(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) : LDFLAGS := $(strip $(workbench-tools-iconbar_LDFLAGS) $(workbench-tools-iconbar-link_EXTRA_LDFLAGS)) +$(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) : LIBS := $(addprefix -l,$(workbench-tools-iconbar_LIBS) $(workbench-tools-iconbar-link_EXTRA_LIBS) ) +$(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) : $(workbench-tools-iconbar_OBJS) $(workbench-tools-iconbar_ARCHOBJS) $(USER_OBJS) $(workbench-tools-iconbar-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-tools-iconbar_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-tools-iconbar_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-tools-iconbar_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-tools-iconbar_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-tools-iconbar_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-tools-iconbar_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-tools-iconbar_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-tools-iconbar_DEPS),) + ifneq (workbench-tools-iconbar workbench-tools-iconbar-quick,) + ifneq ($(findstring $(TARGET),workbench-tools-iconbar workbench-tools-iconbar-quick),) + -include $(workbench-tools-iconbar_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-tools-iconbar_DEPS) + endif + endif +endif + + +ifneq ($(workbench-tools-iconbar_OBJS) $(workbench-tools-iconbar_DEPS) $(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME),) +$(workbench-tools-iconbar_OBJS) $(workbench-tools-iconbar_DEPS) $(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) : | $(workbench-tools-iconbar_OBJDIR) $(workbench-tools-iconbar_TARGETDIR) +else +$(workbench-tools-iconbar_OBJS) $(workbench-tools-iconbar_DEPS) $(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) :: $(workbench-tools-iconbar_OBJDIR) $(workbench-tools-iconbar_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-iconbar_OBJDIR) $(workbench-tools-iconbar_TARGETDIR) + + +workbench-tools-iconbar-clean : FILES := $(workbench-tools-iconbar_OBJS) $(workbench-tools-iconbar_TARGETDIR)/$(workbench-tools-iconbar_PROGNAME) $(workbench-tools-iconbar_DEPS) +#MM +workbench-tools-iconbar-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-tools-iconbar" + $(Q)$(RM) $(FILES) + + + +.PHONY : workbench-tools-iconbar-gfx + +#MM +workbench-tools-iconbar-gfx : + $(Q)cd $(SRCDIR)/$(CURDIR) && $(CPYDIRREC) -s $(BIBGFX) -d $(AROS_IMAGES)/$(BIBGFX) -e + + + +workbench-tools-iconbar-files_SRC := $(shell echo . | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROS_HELP) +else +setup :: $(AROS_HELP) +endif + +GLOB_MKDIRS += $(AROS_HELP) + + +.PHONY : workbench-tools-iconbar-files + +#MM +workbench-tools-iconbar-files : | $(AROS_HELP) + $(foreach file, $(CPFILES), $(shell $(CP) $(addprefix $(if $(filter /%,$(workbench-tools-iconbar-files_SRC)),$(workbench-tools-iconbar-files_SRC),$(SRCDIR)/$(CURDIR)/$(workbench-tools-iconbar-files_SRC))/, $(file)) $(addprefix $(AROS_HELP)/, $(file)))) + + + +workbench-tools-iconbar-env_SRC := $(shell echo ENV | sed 's/^\(.\):\//\/\1\//') + + +ifneq (setup,) +setup : | $(AROS_ENVARC) +else +setup :: $(AROS_ENVARC) +endif + +GLOB_MKDIRS += $(AROS_ENVARC) + + +.PHONY : workbench-tools-iconbar-env + +#MM +workbench-tools-iconbar-env : | $(AROS_ENVARC) + $(foreach file, $(ENVFILE), $(shell $(CP) $(addprefix $(if $(filter /%,$(workbench-tools-iconbar-env_SRC)),$(workbench-tools-iconbar-env_SRC),$(SRCDIR)/$(CURDIR)/$(workbench-tools-iconbar-env_SRC))/, $(file)) $(addprefix $(AROS_ENVARC)/, $(file)))) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/tools/HDToolBox/icons/mmakefile b/workbench/tools/HDToolBox/icons/mmakefile new file mode 100644 index 00000000000..bfd3fa131c0 --- /dev/null +++ b/workbench/tools/HDToolBox/icons/mmakefile @@ -0,0 +1,54 @@ +# Copyright © 2004-2011, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +ICONS := def_Mountlist + +#MM- iconset-Gorilla-icons-aros-prefs-envarc : iconset-Gorilla-icons-aros-prefs-envarc-mountlist + +BD_OBJS := $(addprefix $(AROS_ENVARC)/SYS/, $(addsuffix .info,$(ICONS))) + +#MM +iconset-Gorilla-icons-aros-prefs-envarc-mountlist : $(BD_OBJS) + +ifeq (,) + +$(AROS_ENVARC)/SYS/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/%.png + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +else + +$(AROS_ENVARC)/SYS/%.info : $(SRCDIR)/$(CURDIR)/%.info.src $(SRCDIR)/$(CURDIR)/ + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(ILBMTOICON) $+ $@ + +endif + + +ifneq ($(BD_OBJS),) +$(BD_OBJS) : | $(AROS_ENVARC)/SYS +else +$(BD_OBJS) :: $(AROS_ENVARC)/SYS +endif + +GLOB_MKDIRS += $(AROS_ENVARC)/SYS + + +iconset-Gorilla-icons-aros-prefs-envarc-mountlist-clean : FILES := $(BD_OBJS) +#MM +iconset-Gorilla-icons-aros-prefs-envarc-mountlist-clean :: + $(Q)$(RM) $(FILES) + +.PHONY: iconset-Gorilla-icons-aros-prefs-envarc-mountlist iconset-Gorilla-icons-aros-prefs-envarc-mountlist-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/tools/InstallAROS/catalogs/mmakefile b/workbench/tools/InstallAROS/catalogs/mmakefile new file mode 100644 index 00000000000..76fed412a57 --- /dev/null +++ b/workbench/tools/InstallAROS/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright © 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:= + + +ifeq (,) +workbench-tools-installaros-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-tools-installaros-catalogs_DESC := +endif + +workbench-tools-installaros-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-tools-installaros-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-tools-installaros-catalogs_LNGS := $(CATALOGS) +endif + +workbench-tools-installaros-catalogs_OBJS := $(addsuffix /System/Tools//installaros.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-tools-installaros-catalogs_LNGS))) +workbench-tools-installaros-catalogs_DIRS := $(addsuffix /System/Tools/, $(addprefix $(AROS_CATALOGS)/, $(workbench-tools-installaros-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-tools-installaros-catalogs-quick : workbench-tools-installaros-catalogs + +#MM +workbench-tools-installaros-catalogs : $(workbench-tools-installaros-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-tools-installaros-catalogs_OBJS),) +$(workbench-tools-installaros-catalogs_OBJS) : | $(workbench-tools-installaros-catalogs_DIRS) +else +$(workbench-tools-installaros-catalogs_OBJS) :: $(workbench-tools-installaros-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-tools-installaros-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Tools//installaros.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-tools-installaros-catalogs_DESC).cd + $(Q)$(ECHO) "Creating installaros catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-tools-installaros-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//installaros.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-tools-installaros-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//installaros.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-tools-installaros-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//installaros.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-tools-installaros-catalogs_DESC := $(workbench-tools-installaros-catalogs_DESC) +../strings.h : workbench-tools-installaros-catalogs_SRC := $(workbench-tools-installaros-catalogs_SRC) +../strings.h : $(workbench-tools-installaros-catalogs_DESC).cd $(workbench-tools-installaros-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating installaros catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-tools-installaros-catalogs_DESC).cd $@=$(workbench-tools-installaros-catalogs_SRC).sd +endif + +workbench-tools-installaros-catalogs-clean : FILES := $(workbench-tools-installaros-catalogs_OBJS) ../strings.h +#MM +workbench-tools-installaros-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-tools-installaros-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-tools-installaros-catalogs workbench-tools-installaros-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/tools/SysExplorer/catalogs/mmakefile b/workbench/tools/SysExplorer/catalogs/mmakefile new file mode 100644 index 00000000000..dd29b81198b --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright @ 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french polish norwegian german + + +ifeq (,) +workbench-tools-sysexplorer-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-tools-sysexplorer-catalogs_DESC := +endif + +workbench-tools-sysexplorer-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-tools-sysexplorer-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-tools-sysexplorer-catalogs_LNGS := $(CATALOGS) +endif + +workbench-tools-sysexplorer-catalogs_OBJS := $(addsuffix /System/Tools//SysExplorer.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-tools-sysexplorer-catalogs_LNGS))) +workbench-tools-sysexplorer-catalogs_DIRS := $(addsuffix /System/Tools/, $(addprefix $(AROS_CATALOGS)/, $(workbench-tools-sysexplorer-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-tools-sysexplorer-catalogs-quick : workbench-tools-sysexplorer-catalogs + +#MM +workbench-tools-sysexplorer-catalogs : $(workbench-tools-sysexplorer-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-tools-sysexplorer-catalogs_OBJS),) +$(workbench-tools-sysexplorer-catalogs_OBJS) : | $(workbench-tools-sysexplorer-catalogs_DIRS) +else +$(workbench-tools-sysexplorer-catalogs_OBJS) :: $(workbench-tools-sysexplorer-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Tools//SysExplorer.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-tools-sysexplorer-catalogs_DESC).cd + $(Q)$(ECHO) "Creating SysExplorer catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-tools-sysexplorer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//SysExplorer.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-tools-sysexplorer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//SysExplorer.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-tools-sysexplorer-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools//SysExplorer.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-tools-sysexplorer-catalogs_DESC := $(workbench-tools-sysexplorer-catalogs_DESC) +../strings.h : workbench-tools-sysexplorer-catalogs_SRC := $(workbench-tools-sysexplorer-catalogs_SRC) +../strings.h : $(workbench-tools-sysexplorer-catalogs_DESC).cd $(workbench-tools-sysexplorer-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating SysExplorer catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-tools-sysexplorer-catalogs_DESC).cd $@=$(workbench-tools-sysexplorer-catalogs_SRC).sd +endif + +workbench-tools-sysexplorer-catalogs-clean : FILES := $(workbench-tools-sysexplorer-catalogs_OBJS) ../strings.h +#MM +workbench-tools-sysexplorer-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-tools-sysexplorer-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-tools-sysexplorer-catalogs workbench-tools-sysexplorer-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/tools/SysExplorer/mmakefile b/workbench/tools/SysExplorer/mmakefile new file mode 100644 index 00000000000..eede9c442b5 --- /dev/null +++ b/workbench/tools/SysExplorer/mmakefile @@ -0,0 +1,5672 @@ +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench-tools : workbench-tools-sysexplorer + +BASEFILES := \ + sysexp_main \ + sysexp_library \ + sysexp_locale \ + computer_page_cl \ + cpu_arm \ + cpu_i386 \ + device_page_cl \ + generic_window_cl + +STORAGEMODDIR := Modules/Storage +STORAGEFILES := \ + sysexp_locale \ + $(STORAGEMODDIR)/storage_init \ + $(STORAGEMODDIR)/storage_enum \ + $(STORAGEMODDIR)/storagebus_window_cl \ + $(STORAGEMODDIR)/storageunit_window_cl + +ATAMODDIR := Modules/ATA +ATAFILES := \ + sysexp_locale \ + $(ATAMODDIR)/ata_init \ + $(ATAMODDIR)/ata_enum \ + $(ATAMODDIR)/atabus_window_cl \ + $(ATAMODDIR)/ataunit_window_cl + +AHCIMODDIR := Modules/AHCI +AHCIFILES := \ + sysexp_locale \ + $(AHCIMODDIR)/ahci_init \ + $(AHCIMODDIR)/ahci_enum \ + $(AHCIMODDIR)/ahcibus_window_cl \ + $(AHCIMODDIR)/ahciunit_window_cl + +# disabled until a later date ;) +GFXMODDIR := Modules/Gfx +GFXFILES := \ + $(GFXMODDIR)/gfx_enum \ + $(GFXMODDIR)/gfx_window_cl \ + $(GFXMODDIR)/gfxmonitor_window_cl + +FILES := $(BASEFILES) + +USER_CPPFLAGS := -D__OOP_NOMETHODBASES__ -D__OOP_NOATTRBASES__ +USER_CPPFLAGS += -DADATE="\"$(shell date '+%d.%m.%Y')\"" +#USER_CPPFLAGS += -DDEBUG + +EXEDIR := $(AROSDIR)/Tools +SYSEXP_GENINCDIR := $(GENDIR)/$(CURDIR)/include + +#MM- workbench-tools-sysexplorer : workbench-tools-sysexplorer-catalogs workbench-tools-sysexplorer-includes workbench-tools-sysexplorer-app workbench-tools-sysexplorer-modules +#MM- workbench-tools-sysexplorer-quick : workbench-tools-sysexplorer-catalogs workbench-tools-sysexplorer-app-quick workbench-tools-sysexplorer-modules-quick + +SYSEXPCOMMON_INCLUDES := -I$(SYSEXP_GENINCDIR) + +##MM workbench-tools-sysexplorer-module-gfx : workbench-tools-sysexplorer-includes +##MM- workbench-tools-sysexplorer-modules : workbench-tools-sysexplorer-module-gfx +#USER_INCLUDES := $(SYSEXPCOMMON_INCLUDES) -I$(SRCDIR)/$(CURDIR)/$(GFXMODDIR) +#USER_LDFLAGS := -static +#%build_module mmake=workbench-tools-sysexplorer-module-gfx \ +# modname=gfx modtype=library modsuffix=sysexp \ +# files="$(GFXFILES)" moduledir=$(AROS_DIR_TOOLS)/SysExpModules \ +# uselibs="amiga" + +#MM workbench-tools-sysexplorer-module-storage : workbench-tools-sysexplorer-includes kernel-hidd-storage-includes kernel-hidd-bus-includes +#MM- workbench-tools-sysexplorer-modules : workbench-tools-sysexplorer-module-storage +#MM- workbench-tools-sysexplorer-modules-quick : workbench-tools-sysexplorer-module-storage-quick + +SYSEXPSTORAGE_INCLUDES := -I$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR) -I$(SYSEXP_GENINCDIR) +USER_INCLUDES := $(SYSEXPCOMMON_INCLUDES) $(SYSEXPSTORAGE_INCLUDES) +USER_LDFLAGS := -static + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-tools-sysexplorer-module-storage +#MM workbench-tools-sysexplorer-module-storage-quick +#MM workbench-tools-sysexplorer-module-storage-makefile +#MM workbench-tools-sysexplorer-module-storage-clean + +# ABI targets: +#MM- includes-all : workbench-tools-sysexplorer-module-storage-includes +#MM- linklibs-storage: workbench-tools-sysexplorer-module-storage-linklib +#MM- linklibs-storage_rel : workbench-tools-sysexplorer-module-storage-linklib +#MM- includes-storage: workbench-tools-sysexplorer-module-storage-includes +#MM- includes-storage_rel : workbench-tools-sysexplorer-module-storage-includes +#MM- workbench-tools-sysexplorer-module-storage : workbench-tools-sysexplorer-module-storage-includes core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-storage-linklib : workbench-tools-sysexplorer-module-storage-includes includes-amiga +#MM- workbench-tools-sysexplorer-module-storage-quick : workbench-tools-sysexplorer-module-storage-includes-quick +#MM workbench-tools-sysexplorer-module-storage-includes : workbench-tools-sysexplorer-module-storage-makefile workbench-tools-sysexplorer-module-storage-includes-dirs \ +#MM includes-generate-deps workbench-tools-sysexplorer-module-storage-fd +#MM workbench-tools-sysexplorer-module-storage-includes-quick +#MM workbench-tools-sysexplorer-module-storage-includes-dirs +#MM workbench-tools-sysexplorer-module-storage-fd + +# Library targets +#MM workbench-tools-sysexplorer-module-storage-kobj : core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-storage-kobj-quick : + +# Library with ABI targets: +#MM workbench-tools-sysexplorer-module-storage-kobj : workbench-tools-sysexplorer-module-storage-includes core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-storage-kobj-quick : workbench-tools-sysexplorer-module-storage-includes-quick + +# All MetaMake targets defined by this macro +workbench-tools-sysexplorer-module-storage_ALLTARGETS := workbench-tools-sysexplorer-module-storage workbench-tools-sysexplorer-module-storage-quick workbench-tools-sysexplorer-module-storage-clean + +ifeq (M,M) +workbench-tools-sysexplorer-module-storage_ALLTARGETS += workbench-tools-sysexplorer-module-storage-kobj workbench-tools-sysexplorer-module-storage-kobj-quick +endif + +ifeq (M,M) +workbench-tools-sysexplorer-module-storage_ALLTARGETS += workbench-tools-sysexplorer-module-storage-includes \ + workbench-tools-sysexplorer-module-storage-includes-quick workbench-tools-sysexplorer-module-storage-includes-dirs \ + workbench-tools-sysexplorer-module-storage-linklib workbench-tools-sysexplorer-module-storage-fd +endif + +.PHONY : $(workbench-tools-sysexplorer-module-storage_ALLTARGETS) workbench-tools-sysexplorer-module-storage-makefile + +ifeq (storage,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-tools-sysexplorer-module-storage_DEFNAME := storage_ +else + workbench-tools-sysexplorer-module-storage_DEFNAME := storage +endif +workbench-tools-sysexplorer-module-storage_DEFLINKLIBNAME := $(workbench-tools-sysexplorer-module-storage_DEFNAME) +ifneq (,) + workbench-tools-sysexplorer-module-storage_LINKLIBNAME := +else + workbench-tools-sysexplorer-module-storage_LINKLIBNAME = $(workbench-tools-sysexplorer-module-storage_DEFLINKLIBNAME) +endif +workbench-tools-sysexplorer-module-storage_DEFCPPFLAGS := $(CPPFLAGS) +ifneq ($(SYSEXP_GENINCDIR),) + workbench-tools-sysexplorer-module-storage_DEFCPPFLAGS += -I$(SYSEXP_GENINCDIR) +endif +workbench-tools-sysexplorer-module-storage_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-tools-sysexplorer-module-storage_DFLAGS := +else + workbench-tools-sysexplorer-module-storage_DFLAGS = $(workbench-tools-sysexplorer-module-storage_DEFDFLAGS) +endif +workbench-tools-sysexplorer-module-storage_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-tools-sysexplorer-module-storage_DXXFLAGS := +else + workbench-tools-sysexplorer-module-storage_DXXFLAGS = $(workbench-tools-sysexplorer-module-storage_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-tools-sysexplorer-module-storage_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-tools-sysexplorer-module-storage_DEFDFLAGS)) +workbench-tools-sysexplorer-module-storage_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-tools-sysexplorer-module-storage_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-sysexplorer-module-storage_FUNCINSTR := yes +workbench-tools-sysexplorer-module-storage_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-tools-sysexplorer-module-storage_DEFDFLAGS)) +workbench-tools-sysexplorer-module-storage_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-tools-sysexplorer-module-storage_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-tools-sysexplorer-module-storage_OBJDIR := +else +workbench-tools-sysexplorer-module-storage_OBJDIR := $(OBJDIR)/$(workbench-tools-sysexplorer-module-storage_DEFNAME) +endif +ifneq (,) +workbench-tools-sysexplorer-module-storage_OBJDIR := $(workbench-tools-sysexplorer-module-storage_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-tools-sysexplorer-module-storage-makefile := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/Makefile.$(workbench-tools-sysexplorer-module-storage_DEFNAME)library +workbench-tools-sysexplorer-module-storage-genmakefile : $(workbench-tools-sysexplorer-module-storage-makefile) + + +workbench-tools-sysexplorer-module-storage-genmakefile_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-storage-genmakefile_OPTS += -f + workbench-tools-sysexplorer-module-storage-genmakefile_MODNAME := storage_ +else + workbench-tools-sysexplorer-module-storage-genmakefile_MODNAME := storage +endif +workbench-tools-sysexplorer-module-storage-genmakefile_TARGET := Makefile.$(workbench-tools-sysexplorer-module-storage-genmakefile_MODNAME)library +workbench-tools-sysexplorer-module-storage-genmakefile_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf),./) + workbench-tools-sysexplorer-module-storage-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + else + workbench-tools-sysexplorer-module-storage-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + endif +else + workbench-tools-sysexplorer-module-storage-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-storage-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-storage-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-storage-genmakefile_OPTS += -o + workbench-tools-sysexplorer-module-storage-genmakefile_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-storage-genmakefile_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-storage_OBJDIR),) + workbench-tools-sysexplorer-module-storage-genmakefile_OPTS += -d $(workbench-tools-sysexplorer-module-storage_OBJDIR) + workbench-tools-sysexplorer-module-storage-genmakefile_TARGET := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/$(workbench-tools-sysexplorer-module-storage-genmakefile_TARGET) +endif + +$(workbench-tools-sysexplorer-module-storage-genmakefile_TARGET) : OPTS := $(workbench-tools-sysexplorer-module-storage-genmakefile_OPTS) +$(workbench-tools-sysexplorer-module-storage-genmakefile_TARGET) : MODNAME := storage +$(workbench-tools-sysexplorer-module-storage-genmakefile_TARGET) : MODTYPE := library +$(workbench-tools-sysexplorer-module-storage-genmakefile_TARGET) : $(workbench-tools-sysexplorer-module-storage-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-tools-sysexplorer-module-storage-makefile),) +$(workbench-tools-sysexplorer-module-storage-makefile) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR) +else +$(workbench-tools-sysexplorer-module-storage-makefile) :: $(workbench-tools-sysexplorer-module-storage_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-storage_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-tools-sysexplorer-module-storage_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-tools-sysexplorer-module-storage-makefile) + +workbench-tools-sysexplorer-module-storage_DEFMODDIR := $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-tools-sysexplorer-module-storage_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-tools-sysexplorer-module-storage_DEFMODDIR) +endif +ifneq ($(AROS_DIR_TOOLS)/SysExpModules,) + workbench-tools-sysexplorer-module-storage_MODDIR := $(AROS_DIR_TOOLS)/SysExpModules +else + workbench-tools-sysexplorer-module-storage_MODDIR := $(workbench-tools-sysexplorer-module-storage_DEFMODDIR) +endif + +## include files generation +## +ifneq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-storage_INCDIR := $(SYSEXP_GENINCDIR) +else +workbench-tools-sysexplorer-module-storage_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-tools-sysexplorer-module-storage_LIBDEFSINC := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/$(workbench-tools-sysexplorer-module-storage_DEFNAME)_libdefs.h +workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/$(workbench-tools-sysexplorer-module-storage_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-tools-sysexplorer-module-storage-includes-quick : workbench-tools-sysexplorer-module-storage-includes +workbench-tools-sysexplorer-module-storage-includes : $(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-tools-sysexplorer-module-storage_INCDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) \ + $(workbench-tools-sysexplorer-module-storage_LIBDEFSINC) $(workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC) + +ifneq ($($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-tools-sysexplorer-module-storage-includes_MODNAME := storage_ +else + workbench-tools-sysexplorer-module-storage-includes_MODNAME := storage +endif + +ifneq ($($(workbench-tools-sysexplorer-module-storage-includes_MODNAME)_INCLUDES),) + +workbench-tools-sysexplorer-module-storage-includes_TARGETS := $($(workbench-tools-sysexplorer-module-storage-includes_MODNAME)_INCLUDES) + +workbench-tools-sysexplorer-module-storage-includes_DEPS := $(GENMODULE) +workbench-tools-sysexplorer-module-storage-includes_OPTS := + +ifneq ($(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf),./) + workbench-tools-sysexplorer-module-storage-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-includes_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + else + workbench-tools-sysexplorer-module-storage-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-includes_DEPS += $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + endif +else + workbench-tools-sysexplorer-module-storage-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-includes_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-storage-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-storage-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-storage-includes_OPTS += -o + workbench-tools-sysexplorer-module-storage-includes_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-storage-includes_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-storage_OBJDIR)/include,) + workbench-tools-sysexplorer-module-storage-includes_OPTS += -d $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include + workbench-tools-sysexplorer-module-storage-includes_TARGETS := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/,$(workbench-tools-sysexplorer-module-storage-includes_TARGETS)) + workbench-tools-sysexplorer-module-storage-includes_GENINCFLAG=$(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/.storage.library-includes +else + workbench-tools-sysexplorer-module-storage-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.storage.library-includes +endif + +$(workbench-tools-sysexplorer-module-storage-includes_TARGETS) : $(workbench-tools-sysexplorer-module-storage-includes_DEPS) $(workbench-tools-sysexplorer-module-storage-includes_GENINCFLAG) + +$(workbench-tools-sysexplorer-module-storage-includes_GENINCFLAG) : OPTS := $(workbench-tools-sysexplorer-module-storage-includes_OPTS) +$(workbench-tools-sysexplorer-module-storage-includes_GENINCFLAG) : MODNAME := storage +$(workbench-tools-sysexplorer-module-storage-includes_GENINCFLAG) : MODTYPE := library +$(workbench-tools-sysexplorer-module-storage-includes_GENINCFLAG) : $(workbench-tools-sysexplorer-module-storage-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_geninc + +$(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_geninc : COPYSRCDIR := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include +$(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_geninc : TGTDIR := $(GENINCDIR) +$(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_geninc : FILES := $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES) +$(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_geninc : $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include + +$(addprefix $(workbench-tools-sysexplorer-module-storage_INCDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_incs + +$(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_incs : COPYSRCDIR := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include +$(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_incs : TGTDIR := $(workbench-tools-sysexplorer-module-storage_INCDIR) +$(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_incs : FILES := $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES) +$(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_incs : $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-tools-sysexplorer-module-storage_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)))) + +TMPstorage_INCDIRS := \ + $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/,$(workbench-tools-sysexplorer-module-storage_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-tools-sysexplorer-module-storage_INCDIRS)) \ + $(workbench-tools-sysexplorer-module-storage_INCDIR) $(addprefix $(workbench-tools-sysexplorer-module-storage_INCDIR)/,$(workbench-tools-sysexplorer-module-storage_INCDIRS)) + +ifneq (workbench-tools-sysexplorer-module-storage-includes-dirs,) +workbench-tools-sysexplorer-module-storage-includes-dirs : | $(TMPstorage_INCDIRS) +else +workbench-tools-sysexplorer-module-storage-includes-dirs :: $(TMPstorage_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPstorage_INCDIRS) + + +endif + +endif + + +workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -f + workbench-tools-sysexplorer-module-storage-genlibdefs_MODNAME := storage_ +else + workbench-tools-sysexplorer-module-storage-genlibdefs_MODNAME := storage +endif +workbench-tools-sysexplorer-module-storage-genlibdefs_TARGET := $(workbench-tools-sysexplorer-module-storage-genlibdefs_MODNAME)_libdefs.h +workbench-tools-sysexplorer-module-storage-genlibdefs_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf),./) + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + else + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + endif +else + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-storage-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -o + workbench-tools-sysexplorer-module-storage-genlibdefs_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-storage_OBJDIR)/include,) + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -d $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include + workbench-tools-sysexplorer-module-storage-genlibdefs_TARGET := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/$(workbench-tools-sysexplorer-module-storage-genlibdefs_TARGET) +endif +ifneq (,) + workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS += -v +endif + +$(workbench-tools-sysexplorer-module-storage-genlibdefs_TARGET) : OPTS := $(workbench-tools-sysexplorer-module-storage-genlibdefs_OPTS) +$(workbench-tools-sysexplorer-module-storage-genlibdefs_TARGET) : MODNAME := storage +$(workbench-tools-sysexplorer-module-storage-genlibdefs_TARGET) : MODTYPE := library +$(workbench-tools-sysexplorer-module-storage-genlibdefs_TARGET) : $(workbench-tools-sysexplorer-module-storage-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC) : FILENAME := $(workbench-tools-sysexplorer-module-storage_LIBDEFSINC) +$(workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC) : $(workbench-tools-sysexplorer-module-storage_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-tools-sysexplorer-module-storage_LIBDEFSINC) $(workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include + +ifneq (workbench-tools-sysexplorer-module-storage-includes-dirs,) +workbench-tools-sysexplorer-module-storage-includes-dirs : | $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include +else +workbench-tools-sysexplorer-module-storage-includes-dirs :: $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -f + workbench-tools-sysexplorer-module-storage-genmodfiles_MODNAME := storage_ +else + workbench-tools-sysexplorer-module-storage-genmodfiles_MODNAME := storage +endif +workbench-tools-sysexplorer-module-storage-genmodfiles_GENTARGETS := $($(workbench-tools-sysexplorer-module-storage-genmodfiles_MODNAME)_STARTFILES) $($(workbench-tools-sysexplorer-module-storage-genmodfiles_MODNAME)_ENDFILES) +workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETS := $($(workbench-tools-sysexplorer-module-storage-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-tools-sysexplorer-module-storage-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-tools-sysexplorer-module-storage-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENTARGETS)) +workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-tools-sysexplorer-module-storage-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-tools-sysexplorer-module-storage-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-tools-sysexplorer-module-storage-genmodfiles_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf),./) + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + else + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + endif +else + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + workbench-tools-sysexplorer-module-storage-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-storage-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -o + workbench-tools-sysexplorer-module-storage-genmodfiles_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-storage_OBJDIR),) + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -d $(workbench-tools-sysexplorer-module-storage_OBJDIR) + workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETDIR := $(shell echo $(workbench-tools-sysexplorer-module-storage_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-storage-genmodfiles_GENTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETDIR)/,$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENTARGETS)) + workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG=$(workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETDIR)/.storage.library-genfiles +else + workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.storage.library-genfiles +endif +ifneq ($(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib,) + workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS += -l $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib + workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETDIR)/,$(workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETS)) + workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETDIRS += $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib +else +ifneq ($(workbench-tools-sysexplorer-module-storage_OBJDIR),) + workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETDIR)/,$(workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETS := $(workbench-tools-sysexplorer-module-storage-genmodfiles_GENTARGETS) $(workbench-tools-sysexplorer-module-storage-genmodfiles_STUBTARGETS) +ifneq ($(workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETDIRS),) +$(workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETS) : | $(workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETDIRS) +endif + +$(workbench-tools-sysexplorer-module-storage-genmodfiles_TARGETS) : $(workbench-tools-sysexplorer-module-storage-genmodfiles_DEPS) $(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG) + +$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-tools-sysexplorer-module-storage-genmodfiles_OPTS) +$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG) : MODNAME := storage +$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG) : $(workbench-tools-sysexplorer-module-storage-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG) : $(workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC) $(workbench-tools-sysexplorer-module-storage-makefile) + + +ifneq ($(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG),) +$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib +else +$(workbench-tools-sysexplorer-module-storage-genmodfiles_GENFILEFLAG) :: $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-storage_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-tools-sysexplorer-module-storage_FDDIR := $(SYSEXP_GENINCDIR)/../$(AROS_DIR_FD) +endif +workbench-tools-sysexplorer-module-storage-fd : $(workbench-tools-sysexplorer-module-storage_FDDIR)/storage_lib.fd + + +TMP_TARGET := storage_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq ($(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/$(STORAGEMODDIR)/storage.conf + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/storage.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/storage.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (sysexp,) + TMP_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-storage_FDDIR),) + TMP_OPTS += -d $(workbench-tools-sysexplorer-module-storage_FDDIR) + TMP_TARGET := $(workbench-tools-sysexplorer-module-storage_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := storage +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-tools-sysexplorer-module-storage_FDDIR)/storage_lib.fd : | $(workbench-tools-sysexplorer-module-storage_FDDIR) + + +ifneq (workbench-tools-sysexplorer-module-storage-fd-setup,) +workbench-tools-sysexplorer-module-storage-fd-setup : | $(workbench-tools-sysexplorer-module-storage_FDDIR) +else +workbench-tools-sysexplorer-module-storage-fd-setup :: $(workbench-tools-sysexplorer-module-storage_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-storage_FDDIR) + +endif + +## Compilation +## +workbench-tools-sysexplorer-module-storage_FILES := $(STORAGEFILES) +workbench-tools-sysexplorer-module-storage_OBJCFILES := +workbench-tools-sysexplorer-module-storage_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-tools-sysexplorer-module-storage_LIBFILES := +workbench-tools-sysexplorer-module-storage_LIBS := amiga + +workbench-tools-sysexplorer-module-storage_FDIRS := $(sort $(dir $(workbench-tools-sysexplorer-module-storage_FILES))) + +workbench-tools-sysexplorer-module-storage_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-tools-sysexplorer-module-storage_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-tools-sysexplorer-module-storage_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-tools-sysexplorer-module-storage_FILTERARCH = $(filter-out $(call workbench-tools-sysexplorer-module-storage_MATCHARCH,$(1),$(2)),$(2)) +workbench-tools-sysexplorer-module-storage_STARTFILES := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_STARTFILES)) +workbench-tools-sysexplorer-module-storage_ENDFILES := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_ENDFILES)) + +workbench-tools-sysexplorer-module-storage_ARCHOBJS := $(wildcard $(workbench-tools-sysexplorer-module-storage_OBJDIR)/arch/*.o) +workbench-tools-sysexplorer-module-storage_LIBARCHOBJS := $(wildcard $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/arch/*.o) +workbench-tools-sysexplorer-module-storage_ARCHFILES := $(basename $(notdir $(workbench-tools-sysexplorer-module-storage_ARCHOBJS))) +workbench-tools-sysexplorer-module-storage_LIBARCHFILES := $(basename $(notdir $(workbench-tools-sysexplorer-module-storage_LIBARCHOBJS))) +workbench-tools-sysexplorer-module-storage_C_NARCHFILES := $(call workbench-tools-sysexplorer-module-storage_FILTERARCH,$(workbench-tools-sysexplorer-module-storage_ARCHFILES),$(workbench-tools-sysexplorer-module-storage_FILES)) +workbench-tools-sysexplorer-module-storage_CXX_NARCHFILES := $(call workbench-tools-sysexplorer-module-storage_FILTERARCH,$(workbench-tools-sysexplorer-module-storage_ARCHFILES),$(workbench-tools-sysexplorer-module-storage_CXXFILES)) +workbench-tools-sysexplorer-module-storage_OBJC_NARCHFILES := $(call workbench-tools-sysexplorer-module-storage_FILTERARCH,$(workbench-tools-sysexplorer-module-storage_ARCHFILES),$(workbench-tools-sysexplorer-module-storage_OBJCFILES)) +workbench-tools-sysexplorer-module-storage_NLIBARCHFILES := $(call workbench-tools-sysexplorer-module-storage_FILTERARCH,$(workbench-tools-sysexplorer-module-storage_LIBARCHFILES),$(workbench-tools-sysexplorer-module-storage_LIBFILES)) +workbench-tools-sysexplorer-module-storage_ARCHNLIBFILES := $(call workbench-tools-sysexplorer-module-storage_FILTERARCH,$(workbench-tools-sysexplorer-module-storage_LIBFILES),$(workbench-tools-sysexplorer-module-storage_LIBARCHFILES)) + +workbench-tools-sysexplorer-module-storage_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-tools-sysexplorer-module-storage_OBJDIR)/include -include $(workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC)) +ifneq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-storage_CPPFLAGS += -I$(SYSEXP_GENINCDIR) +endif +workbench-tools-sysexplorer-module-storage_LINKLIBCPPFLAGS := $(workbench-tools-sysexplorer-module-storage_CPPFLAGS) +workbench-tools-sysexplorer-module-storage_CPPFLAGS += $(strip $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_CPPFLAGS)) +workbench-tools-sysexplorer-module-storage_LINKLIBCPPFLAGS += $(strip $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-tools-sysexplorer-module-storage_CFLAGS := $(strip $(CFLAGS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_CFLAGS)) +workbench-tools-sysexplorer-module-storage_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LINKLIBCFLAGS)) +workbench-tools-sysexplorer-module-storage_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-tools-sysexplorer-module-storage_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-tools-sysexplorer-module-storage_CFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_LTOFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +workbench-tools-sysexplorer-module-storage_LINKLIBCFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_LTOFLAGS) $(workbench-tools-sysexplorer-module-storage_LINKLIBCFLAGS)) +workbench-tools-sysexplorer-module-storage_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_LTOFLAGS) $(workbench-tools-sysexplorer-module-storage_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-sysexplorer-module-storage_SUBSTNULL := +workbench-tools-sysexplorer-module-storage_SUBSTSPACE := $(workbench-tools-sysexplorer-module-storage_SUBSTNULL) # +workbench-tools-sysexplorer-module-storage_SUBSTCOMMA := , +workbench-tools-sysexplorer-module-storage_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-tools-sysexplorer-module-storage_SUBSTSPACE),$(workbench-tools-sysexplorer-module-storage_SUBSTCOMMA),$(strip $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_STARTFILES)))) +workbench-tools-sysexplorer-module-storage_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-tools-sysexplorer-module-storage_CFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_INSTRFUNCFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +workbench-tools-sysexplorer-module-storage_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_INSTRFUNCFLAGS) $(workbench-tools-sysexplorer-module-storage_CXXFLAGS)) +workbench-tools-sysexplorer-module-storage_LIBS += $(workbench-tools-sysexplorer-module-storage_INSTRFUNCLIBS) +endif +endif +workbench-tools-sysexplorer-module-storage_DFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_DFLAGS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_DFLAGS)) +workbench-tools-sysexplorer-module-storage_LINKLIBDFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_DFLAGS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LINKLIBDFLAGS)) +workbench-tools-sysexplorer-module-storage_DXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_DXXFLAGS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-tools-sysexplorer-module-storage_LIBSUFFIX := +else + workbench-tools-sysexplorer-module-storage_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-tools-sysexplorer-module-storage_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-tools-sysexplorer-module-storage_LIBDIR := +endif + +ifeq (M,M) +workbench-tools-sysexplorer-module-storage_LINKLIBCFILES := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LINKLIBFILES)) +workbench-tools-sysexplorer-module-storage_LINKLIBAFILES := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LINKLIBFILES) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-storage_ARCHNLIBFILES)),) + workbench-tools-sysexplorer-module-storage_LINKLIB := +else + workbench-tools-sysexplorer-module-storage_LINKLIB := $(workbench-tools-sysexplorer-module-storage_LIBDIR)/libstorage$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a + ifneq (storage,$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)) + workbench-tools-sysexplorer-module-storage_LINKLIB += $(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a + endif +endif +workbench-tools-sysexplorer-module-storage_LINKLIBFILES := $(workbench-tools-sysexplorer-module-storage_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-storage_LINKLIBAFILES) + +workbench-tools-sysexplorer-module-storage_RELLINKLIBCFILES := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_RELLINKLIBFILES)) +workbench-tools-sysexplorer-module-storage_RELLINKLIBAFILES := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_RELLINKLIBFILES) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_RELLINKLIBAFILES) $(workbench-tools-sysexplorer-module-storage_ARCHNLIBFILES)),) + workbench-tools-sysexplorer-module-storage_RELLINKLIB := +else + workbench-tools-sysexplorer-module-storage_RELLINKLIB := $(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_DEFNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a + ifneq (storage,$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)) + workbench-tools-sysexplorer-module-storage_RELLINKLIB += $(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a + endif +endif +workbench-tools-sysexplorer-module-storage_RELLINKLIBFILES := $(workbench-tools-sysexplorer-module-storage_RELLINKLIBCFILES) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBAFILES) +endif + +workbench-tools-sysexplorer-module-storage_ENDOBJS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-storage_ENDFILES)) +workbench-tools-sysexplorer-module-storage_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES))) $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/arch/,$(notdir $(workbench-tools-sysexplorer-module-storage_ARCHNLIBFILES))) $(workbench-tools-sysexplorer-module-storage_LINKLIBFILES)) \ + +workbench-tools-sysexplorer-module-storage_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES))) $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/arch/,$(notdir $(workbench-tools-sysexplorer-module-storage_ARCHNLIBFILES))) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBFILES)) \ + +$(workbench-tools-sysexplorer-module-storage_LINKLIBFILES) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBFILES) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib +$(workbench-tools-sysexplorer-module-storage_LINKLIBOBJS) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBOBJS) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib + +workbench-tools-sysexplorer-module-storage_CCFILES := $(workbench-tools-sysexplorer-module-storage_C_NARCHFILES) +workbench-tools-sysexplorer-module-storage_TARGETCCFILES := $(strip $(workbench-tools-sysexplorer-module-storage_STARTFILES) $(workbench-tools-sysexplorer-module-storage_ENDFILES)) +workbench-tools-sysexplorer-module-storage_LINKLIBCCFILES := $(strip $(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES) $(workbench-tools-sysexplorer-module-storage_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBCFILES)) +workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES := $(strip $(workbench-tools-sysexplorer-module-storage_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBCFILES)) + + +workbench-tools-sysexplorer-module-storage_CXXABSBASENAMES := $(foreach workbench-tools-sysexplorer-module-storage_CXXBASE,$(workbench-tools-sysexplorer-module-storage_CXX_NARCHFILES),$(if $(filter /%,$(workbench-tools-sysexplorer-module-storage_CXXBASE)),$(workbench-tools-sysexplorer-module-storage_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-tools-sysexplorer-module-storage_CXXBASE)))) + +ifneq ($(workbench-tools-sysexplorer-module-storage_CXXABSBASENAMES),) + +workbench-tools-sysexplorer-module-storage_CXXBASENAMES := $(basename $(workbench-tools-sysexplorer-module-storage_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-tools-sysexplorer-module-storage_MCXX_FILES := $(strip $(foreach workbench-tools-sysexplorer-module-storage_CXXBASE,$(workbench-tools-sysexplorer-module-storage_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-tools-sysexplorer-module-storage_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-tools-sysexplorer-module-storage_EXT),$(workbench-tools-sysexplorer-module-storage_CXXBASE))))))) + +ifeq (,) +workbench-tools-sysexplorer-module-storage_MCXX_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-storage_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR),) + workbench-tools-sysexplorer-module-storage_CXXTARGETS := $(notdir $(workbench-tools-sysexplorer-module-storage_CXXBASENAMES:=.o)) + workbench-tools-sysexplorer-module-storage_CXXDTARGETS := $(notdir $(workbench-tools-sysexplorer-module-storage_CXXBASENAMES:=.d)) + workbench-tools-sysexplorer-module-storage_MCXX_WILDCARD := % +else + workbench-tools-sysexplorer-module-storage_CXXTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-storage_CXXBASENAMES:=.o))) + workbench-tools-sysexplorer-module-storage_CXXDTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-storage_CXXBASENAMES:=.d))) + workbench-tools-sysexplorer-module-storage_MCXX_WILDCARD := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-tools-sysexplorer-module-storage_CXXTARGETS) $(workbench-tools-sysexplorer-module-storage_CXXDTARGETS) : | $(workbench-tools-sysexplorer-module-storage_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_CPPFLAGS) +workbench-tools-sysexplorer-module-storage_CXXFLAGS := $(workbench-tools-sysexplorer-module-storage_CXXFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-storage_DXXFLAGS),) + workbench-tools-sysexplorer-module-storage_DXXFLAGS := $(workbench-tools-sysexplorer-module-storage_CXXFLAGS) +else + workbench-tools-sysexplorer-module-storage_DXXFLAGS := $(workbench-tools-sysexplorer-module-storage_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-tools-sysexplorer-module-storage_STRIP ?= $(HOST_STRIP) + workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-tools-sysexplorer-module-storage_CXXCMD:=$(HOST_CXX) + workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-storage_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-sysexplorer-module-storage_CXXFLAGS)) + workbench-tools-sysexplorer-module-storage_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-sysexplorer-module-storage_DXXFLAGS)) + workbench-tools-sysexplorer-module-storage_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-tools-sysexplorer-module-storage_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-sysexplorer-module-storage_STRIP ?= $(TARGET_STRIP) + workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-tools-sysexplorer-module-storage_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-storage_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-storage_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-tools-sysexplorer-module-storage_DXXFLAGS := $(workbench-tools-sysexplorer-module-storage_DXXFLAGS) + workbench-tools-sysexplorer-module-storage_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-tools-sysexplorer-module-storage_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-sysexplorer-module-storage_STRIP ?= $(ECHO) >/dev/null + workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-tools-sysexplorer-module-storage_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-tools-sysexplorer-module-storage_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-storage_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-sysexplorer-module-storage_CXXFLAGS)) + workbench-tools-sysexplorer-module-storage_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-sysexplorer-module-storage_DXXFLAGS)) + workbench-tools-sysexplorer-module-storage_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-tools-sysexplorer-module-storage_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-tools-sysexplorer-module-storage_CXXCMD) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-storage_CXXFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-tools-sysexplorer-module-storage_CXXCMD) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-storage_CXXFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-tools-sysexplorer-module-storage_CXXCMD) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-storage_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-storage_CXXFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-tools-sysexplorer-module-storage_CXXCMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-storage_DXXFLAGS) $(workbench-tools-sysexplorer-module-storage_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR),) + $(foreach workbench-tools-sysexplorer-module-storage_CXXFILE,$(workbench-tools-sysexplorer-module-storage_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-tools-sysexplorer-module-storage_CXXFILE))),$(workbench-tools-sysexplorer-module-storage_CXXFILE)))) +else + $(foreach workbench-tools-sysexplorer-module-storage_CXXFILE,$(workbench-tools-sysexplorer-module-storage_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(basename $(workbench-tools-sysexplorer-module-storage_CXXFILE)))),$(workbench-tools-sysexplorer-module-storage_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-tools-sysexplorer-module-storage_OBJC_NARCHFILES),) + +ifeq (,) +workbench-tools-sysexplorer-module-storage_MOBJC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-storage_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR),) + workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-storage_OBJC_NARCHFILES)) + workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-storage_OBJC_NARCHFILES)) + workbench-tools-sysexplorer-module-storage_MOBJC_WILDCARD := % +else + workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(workbench-tools-sysexplorer-module-storage_OBJC_NARCHFILES))) + workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(workbench-tools-sysexplorer-module-storage_OBJC_NARCHFILES))) + workbench-tools-sysexplorer-module-storage_MOBJC_WILDCARD := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-tools-sysexplorer-module-storage_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-tools-sysexplorer-module-storage_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-storage_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-storage_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-tools-sysexplorer-module-storage_MOBJC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-storage_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-storage_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-tools-sysexplorer-module-storage_MOBJC_DIRS),) + workbench-tools-sysexplorer-module-storage_MOBJC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-storage_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-tools-sysexplorer-module-storage_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-tools-sysexplorer-module-storage_CC := $(TARGET_CC) +else + workbench-tools-sysexplorer-module-storage_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_CPPFLAGS) +workbench-tools-sysexplorer-module-storage_OBJCFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +workbench-tools-sysexplorer-module-storage_OBJCFLAGS := $(workbench-tools-sysexplorer-module-storage_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-tools-sysexplorer-module-storage_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-tools-sysexplorer-module-storage_OBJCFLAGS))) +ifeq ($(workbench-tools-sysexplorer-module-storage_DFLAGS),) + workbench-tools-sysexplorer-module-storage_OBJCDFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +else + workbench-tools-sysexplorer-module-storage_OBJCDFLAGS := $(workbench-tools-sysexplorer-module-storage_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(workbench-tools-sysexplorer-module-storage_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-sysexplorer-module-storage_STRIP ?= $(TARGET_STRIP) + workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-tools-sysexplorer-module-storage_CC) $(TARGET_SYSROOT)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_OBJCFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_OBJCDFLAGS:=$(workbench-tools-sysexplorer-module-storage_OBJCDFLAGS) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-tools-sysexplorer-module-storage_STRIP ?= $(HOST_STRIP) + workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_OBJCFLAGS)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_OBJCDFLAGS)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(HOST_IQUOTE) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-sysexplorer-module-storage_STRIP ?= $(ECHO) >/dev/null + workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_OBJCFLAGS)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_OBJCDFLAGS)) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-storage_OBJCFLAGS) +$(workbench-tools-sysexplorer-module-storage_MOBJC_TARGETS) : $(workbench-tools-sysexplorer-module-storage_MOBJC_WILDCARD).o : $(workbench-tools-sysexplorer-module-storage_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-storage_MOBJC_DTARGETS) : $(workbench-tools-sysexplorer-module-storage_MOBJC_WILDCARD).d : $(workbench-tools-sysexplorer-module-storage_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-storage_OBJCDFLAGS) $(workbench-tools-sysexplorer-module-storage_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR),) +workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-storage_CCFILES)) +workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-storage_CCFILES)) +workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-storage_CCFILES)))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-storage_CCFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(workbench-tools-sysexplorer-module-storage_CCFILES))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(workbench-tools-sysexplorer-module-storage_CCFILES))) +else + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-storage_CCFILES)))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-storage_CCFILES)))) +endif +endif +workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-storage_CCFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-storage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-storage_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-storage_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-storage_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-storage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-storage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-storage_MC_DIRS),) + workbench-tools-sysexplorer-module-storage_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-storage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-storage_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_CPPFLAGS) +workbench-tools-sysexplorer-module-storage_CFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-storage_DFLAGS),) + workbench-tools-sysexplorer-module-storage_DFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +else + workbench-tools-sysexplorer-module-storage_DFLAGS := $(workbench-tools-sysexplorer-module-storage_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(workbench-tools-sysexplorer-module-storage_DFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_DFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_DFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : $(workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-storage_DFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR),) +workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-storage_TARGETCCFILES)) +workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-storage_TARGETCCFILES)) +workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-storage_TARGETCCFILES)))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-storage_TARGETCCFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(workbench-tools-sysexplorer-module-storage_TARGETCCFILES))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(workbench-tools-sysexplorer-module-storage_TARGETCCFILES))) +else + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-storage_TARGETCCFILES)))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-storage_TARGETCCFILES)))) +endif +endif +workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-storage_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-storage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-storage_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-storage_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-storage_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-storage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-storage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-storage_MC_DIRS),) + workbench-tools-sysexplorer-module-storage_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-storage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-storage_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_CPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-storage_CFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-storage_DFLAGS),) + workbench-tools-sysexplorer-module-storage_DFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +else + workbench-tools-sysexplorer-module-storage_DFLAGS := $(workbench-tools-sysexplorer-module-storage_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(workbench-tools-sysexplorer-module-storage_DFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_DFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_DFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : $(workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-storage_DFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES)) +workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES)) +workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES)))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES))) +else + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES)))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES)))) +endif +endif +workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-storage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-storage_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-storage_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-storage_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-storage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-storage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-storage_MC_DIRS),) + workbench-tools-sysexplorer-module-storage_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-storage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-storage_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_LINKLIBCPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-storage_CFLAGS := $(workbench-tools-sysexplorer-module-storage_LINKLIBCFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-storage_LINKLIBDFLAGS),) + workbench-tools-sysexplorer-module-storage_DFLAGS := $(workbench-tools-sysexplorer-module-storage_LINKLIBCFLAGS) +else + workbench-tools-sysexplorer-module-storage_DFLAGS := $(workbench-tools-sysexplorer-module-storage_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(workbench-tools-sysexplorer-module-storage_DFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_DFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_DFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : $(workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-storage_DFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES)) +workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES)) +workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES)))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib,) + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES))) +else + workbench-tools-sysexplorer-module-storage_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(patsubst $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/%,%,$(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES)))) + workbench-tools-sysexplorer-module-storage_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(patsubst $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/%,%,$(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES)))) +endif +endif +workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-storage_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-storage_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-storage_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-storage_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-storage_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-storage_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-storage_MC_DIRS),) + workbench-tools-sysexplorer-module-storage_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-storage_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-storage_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_LINKLIBCPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-storage_CFLAGS := $(workbench-tools-sysexplorer-module-storage_LINKLIBCFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-storage_LINKLIBDFLAGS),) + workbench-tools-sysexplorer-module-storage_DFLAGS := $(workbench-tools-sysexplorer-module-storage_LINKLIBCFLAGS) +else + workbench-tools-sysexplorer-module-storage_DFLAGS := $(workbench-tools-sysexplorer-module-storage_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-storage_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(workbench-tools-sysexplorer-module-storage_DFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-storage_DFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-storage_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-storage_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-storage_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_CFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-storage_DFLAGS)) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) $(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : workbench-tools-sysexplorer-module-storage_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-storage_CFLAGS) +$(workbench-tools-sysexplorer-module-storage_MC_TARGETS) : $(workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-storage_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-storage_IQUOTE) . $(workbench-tools-sysexplorer-module-storage_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-storage_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-storage_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-storage_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-storage_DFLAGS) $(workbench-tools-sysexplorer-module-storage_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-tools-sysexplorer-module-storage_LINKLIBAFILES),) + +ifeq ($(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-storage-MA_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-storage_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBAFILES)) +workbench-tools-sysexplorer-module-storage-MA_WILDCARD := % +else +workbench-tools-sysexplorer-module-storage-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-storage_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBAFILES)))) +workbench-tools-sysexplorer-module-storage-MA_WILDCARD := $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-tools-sysexplorer-module-storage-MA_TARGETS) : | $(addsuffix .S,$(workbench-tools-sysexplorer-module-storage_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-storage-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-storage-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-storage_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-storage_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-storage-MA_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-storage-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-storage-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-storage-MA_DIRS),) + workbench-tools-sysexplorer-module-storage-MA_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-storage-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-tools-sysexplorer-module-storage-MA_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-storage-MA_ASSEMBLER ?= $(workbench-tools-sysexplorer-module-storage_ASSEMBLER) + +$(workbench-tools-sysexplorer-module-storage-MA_TARGETS) : workbench-tools-sysexplorer-module-storage-MA_CMD:= $(workbench-tools-sysexplorer-module-storage-MA_ASSEMBLER) + +$(workbench-tools-sysexplorer-module-storage-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-tools-sysexplorer-module-storage-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-tools-sysexplorer-module-storage-MA_TARGETS) : $(workbench-tools-sysexplorer-module-storage-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-tools-sysexplorer-module-storage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-tools-sysexplorer-module-storage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-tools-sysexplorer-module-storage-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (sysexp,) +workbench-tools-sysexplorer-module-storage_SUFFIX := library +else +workbench-tools-sysexplorer-module-storage_SUFFIX := sysexp +endif + +ifeq (target,target) +workbench-tools-sysexplorer-module-storage_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-storage_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-storage_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-tools-sysexplorer-module-storage_SUFFIX),handler) +workbench-tools-sysexplorer-module-storage_MODULE := $(AROSDIR)/$(workbench-tools-sysexplorer-module-storage_MODDIR)/$(workbench-tools-sysexplorer-module-storage_DEFNAME)-$(workbench-tools-sysexplorer-module-storage_SUFFIX) +else +workbench-tools-sysexplorer-module-storage_MODULE := $(AROSDIR)/$(workbench-tools-sysexplorer-module-storage_MODDIR)/$(workbench-tools-sysexplorer-module-storage_DEFNAME).$(workbench-tools-sysexplorer-module-storage_SUFFIX) +endif +workbench-tools-sysexplorer-module-storage_KOBJ := $(KOBJSDIR)/$(workbench-tools-sysexplorer-module-storage_DEFNAME)_$(workbench-tools-sysexplorer-module-storage_SUFFIX).o +else +workbench-tools-sysexplorer-module-storage_MODULE := +workbench-tools-sysexplorer-module-storage_KOBJ := +endif + +workbench-tools-sysexplorer-module-storage-quick : workbench-tools-sysexplorer-module-storage +workbench-tools-sysexplorer-module-storage : $(workbench-tools-sysexplorer-module-storage_MODULE) $(workbench-tools-sysexplorer-module-storage_LINKLIB) $(workbench-tools-sysexplorer-module-storage_RELLINKLIB) +ifeq (M,M) +workbench-tools-sysexplorer-module-storage-kobj : $(workbench-tools-sysexplorer-module-storage_KOBJ) $(workbench-tools-sysexplorer-module-storage_LINKLIB) $(workbench-tools-sysexplorer-module-storage_RELLINKLIB) +workbench-tools-sysexplorer-module-storage-kobj-quick : $(workbench-tools-sysexplorer-module-storage_KOBJ) $(workbench-tools-sysexplorer-module-storage_LINKLIB) $(workbench-tools-sysexplorer-module-storage_RELLINKLIB) +endif +ifeq (M,M) +workbench-tools-sysexplorer-module-storage-linklib : $(workbench-tools-sysexplorer-module-storage_LINKLIB) $(workbench-tools-sysexplorer-module-storage_RELLINKLIB) +endif + +workbench-tools-sysexplorer-module-storage_OBJS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-storage_STARTFILES)) $(workbench-tools-sysexplorer-module-storage_ARCHOBJS) \ + $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-storage_C_NARCHFILES:=.o) $(workbench-tools-sysexplorer-module-storage_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-tools-sysexplorer-module-storage_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (storage,con) + workbench-tools-sysexplorer-module-storage_ERR := $(notdir $(workbench-tools-sysexplorer-module-storage_MODULE)).err +else + workbench-tools-sysexplorer-module-storage_ERR := storage.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LDFLAGS) $(workbench-tools-sysexplorer-module-storage_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-tools-sysexplorer-module-storage_LIBS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-tools-sysexplorer-module-storage_MODULE) : LIB_NAMES := $(workbench-tools-sysexplorer-module-storage_LIBS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LIBS) +$(workbench-tools-sysexplorer-module-storage_MODULE) : OBJS := $(workbench-tools-sysexplorer-module-storage_STARTOBJS) $(workbench-tools-sysexplorer-module-storage_OBJS) $(USER_OBJS) +$(workbench-tools-sysexplorer-module-storage_MODULE) : ENDTAG := $(workbench-tools-sysexplorer-module-storage_ENDOBJS) +$(workbench-tools-sysexplorer-module-storage_MODULE) : ERR := $(workbench-tools-sysexplorer-module-storage_ERR) +$(workbench-tools-sysexplorer-module-storage_MODULE) : OBJDIR := $(workbench-tools-sysexplorer-module-storage_OBJDIR) +$(workbench-tools-sysexplorer-module-storage_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-tools-sysexplorer-module-storage_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-tools-sysexplorer-module-storage_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-tools-sysexplorer-module-storage_MODULE) : $(workbench-tools-sysexplorer-module-storage_STARTOBJS) $(workbench-tools-sysexplorer-module-storage_OBJS) $(USER_OBJS) $(workbench-tools-sysexplorer-module-storage_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-tools-sysexplorer-module-storage_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-tools-sysexplorer-module-storage_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-tools-sysexplorer-module-storage_LC_LINKLIBNAME := $(shell echo $(workbench-tools-sysexplorer-module-storage_LINKLIBNAME) | tr A-Z a-z) +workbench-tools-sysexplorer-module-storage_LC_MODNAME := $(shell echo storage | tr A-Z a-z) +ifneq ($(workbench-tools-sysexplorer-module-storage_LINKLIB),) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-storage_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-storage_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-storage_RANLIB) $@ +ifneq ($(workbench-tools-sysexplorer-module-storage_LC_MODNAME),$(workbench-tools-sysexplorer-module-storage_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/libstorage$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/libstorage$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/libstorage$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/libstorage$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/libstorage$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/libstorage$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/libstorage$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-storage_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-storage_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-storage_RANLIB) $@ +endif + + +ifneq ($(workbench-tools-sysexplorer-module-storage_LINKLIB),) +$(workbench-tools-sysexplorer-module-storage_LINKLIB) : | $(workbench-tools-sysexplorer-module-storage_LIBDIR) +else +$(workbench-tools-sysexplorer-module-storage_LINKLIB) :: $(workbench-tools-sysexplorer-module-storage_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-storage_LIBDIR) + +endif + +ifneq ($(workbench-tools-sysexplorer-module-storage_RELLINKLIB),) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-storage_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-storage_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-storage_RANLIB) $@ +ifneq ($(workbench-tools-sysexplorer-module-storage_LC_MODNAME),$(workbench-tools-sysexplorer-module-storage_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_DEFNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_DEFNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_DEFNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_DEFNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_DEFNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_DEFNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : workbench-tools-sysexplorer-module-storage_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-storage_LIBDIR)/lib$(workbench-tools-sysexplorer-module-storage_DEFNAME)_rel$(workbench-tools-sysexplorer-module-storage_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-storage_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-storage_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-storage_RANLIB) $@ +endif + + +ifneq ($(workbench-tools-sysexplorer-module-storage_RELLINKLIB),) +$(workbench-tools-sysexplorer-module-storage_RELLINKLIB) : | $(workbench-tools-sysexplorer-module-storage_LIBDIR) +else +$(workbench-tools-sysexplorer-module-storage_RELLINKLIB) :: $(workbench-tools-sysexplorer-module-storage_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-storage_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-tools-sysexplorer-module-storage_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-tools-sysexplorer-module-storage_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-tools-sysexplorer-module-storage_SYMBOLS := $(workbench-tools-sysexplorer-module-storage_KBASE) + +workbench-tools-sysexplorer-module-storage_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-tools-sysexplorer-module-storage_KOBJ_LIBS := $(filter-out $(workbench-tools-sysexplorer-module-storage_KLIB),$(workbench-tools-sysexplorer-module-storage_LIBS)) $(workbench-tools-sysexplorer-module-storage_KAUTOLIB) +$(workbench-tools-sysexplorer-module-storage_KOBJ) : LINKLIBS:=$(workbench-tools-sysexplorer-module-storage_KOBJ_LIBS) $($(workbench-tools-sysexplorer-module-storage_DEFNAME)_LIBS) +$(workbench-tools-sysexplorer-module-storage_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-tools-sysexplorer-module-storage_SYMBOLS)) +$(workbench-tools-sysexplorer-module-storage_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-tools-sysexplorer-module-storage_KOBJ) : $(workbench-tools-sysexplorer-module-storage_OBJS) $(USER_OBJS) $(workbench-tools-sysexplorer-module-storage_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-tools-sysexplorer-module-storage_DEPS := $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-storage_CCFILES:=.d) $(workbench-tools-sysexplorer-module-storage_TARGETCCFILES:=.d) $(workbench-tools-sysexplorer-module-storage_CXXFILES:=.d))) $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-storage_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-tools-sysexplorer-module-storage_DEPS),) + ifneq (workbench-tools-sysexplorer-module-storage workbench-tools-sysexplorer-module-storage-quick workbench-tools-sysexplorer-module-storage-kobj workbench-tools-sysexplorer-module-storage-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-tools-sysexplorer-module-storage workbench-tools-sysexplorer-module-storage-quick workbench-tools-sysexplorer-module-storage-kobj workbench-tools-sysexplorer-module-storage-kobj-quick),) + -include $(workbench-tools-sysexplorer-module-storage_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-tools-sysexplorer-module-storage_DEPS) + endif + endif +endif + +$(workbench-tools-sysexplorer-module-storage_OBJS) $(workbench-tools-sysexplorer-module-storage_DEPS) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR)/linklib + +ifneq ($(workbench-tools-sysexplorer-module-storage_OBJS) $(workbench-tools-sysexplorer-module-storage_DEPS) $(workbench-tools-sysexplorer-module-storage_MODULE) $(workbench-tools-sysexplorer-module-storage_KOBJ),) +$(workbench-tools-sysexplorer-module-storage_OBJS) $(workbench-tools-sysexplorer-module-storage_DEPS) $(workbench-tools-sysexplorer-module-storage_MODULE) $(workbench-tools-sysexplorer-module-storage_KOBJ) : | $(workbench-tools-sysexplorer-module-storage_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-storage_MODDIR) $(KOBJSDIR) +else +$(workbench-tools-sysexplorer-module-storage_OBJS) $(workbench-tools-sysexplorer-module-storage_DEPS) $(workbench-tools-sysexplorer-module-storage_MODULE) $(workbench-tools-sysexplorer-module-storage_KOBJ) :: $(workbench-tools-sysexplorer-module-storage_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-storage_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-storage_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-storage_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-tools-sysexplorer-module-storage workbench-tools-sysexplorer-module-storage-includes workbench-tools-sysexplorer-module-storage-quick workbench-tools-sysexplorer-module-storage-kobj workbench-tools-sysexplorer-module-storage-kobj-quick),) # Only for this target these deps are wanted + +workbench-tools-sysexplorer-module-storage_DFILE_DEPS := $(workbench-tools-sysexplorer-module-storage_LIBDEFSINC) $(workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC) \ + $(addprefix $(workbench-tools-sysexplorer-module-storage_INCDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) +$(workbench-tools-sysexplorer-module-storage_DEPS) : $(workbench-tools-sysexplorer-module-storage_DFILE_DEPS) +endif + +workbench-tools-sysexplorer-module-storage_TOCLEAN := $(workbench-tools-sysexplorer-module-storage_OBJS) $(workbench-tools-sysexplorer-module-storage_DEPS) \ + $(workbench-tools-sysexplorer-module-storage_MODULE) $(workbench-tools-sysexplorer-module-storage_LINKLIB) $(workbench-tools-sysexplorer-module-storage_KOBJ) \ + $(workbench-tools-sysexplorer-module-storage_OBJDIR)/Makefile.storagelibrary \ + $(addprefix $(workbench-tools-sysexplorer-module-storage_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-tools-sysexplorer-module-storage_INCDIR)/,$($(workbench-tools-sysexplorer-module-storage_DEFNAME)_INCLUDES)) \ + $(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_geninc $(workbench-tools-sysexplorer-module-storage_OBJDIR)/storage_incs \ + $(addsuffix .c,$(workbench-tools-sysexplorer-module-storage_LINKLIBFILES)) $(workbench-tools-sysexplorer-module-storage_LINKLIBOBJS) $(workbench-tools-sysexplorer-module-storage_LIBDEFSINC) \ + $(workbench-tools-sysexplorer-module-storage_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-tools-sysexplorer-module-storage_STARTFILES) $(workbench-tools-sysexplorer-module-storage_ENDFILES)) \ + $(workbench-tools-sysexplorer-module-storage_ENDOBJS) +workbench-tools-sysexplorer-module-storage-clean : FILES := $(workbench-tools-sysexplorer-module-storage_TOCLEAN) +workbench-tools-sysexplorer-module-storage-clean :: + $(Q)$(ECHO) "Cleaning up for module storage" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-tools-sysexplorer-module-storage_ALLTARGETS) + + +#MM workbench-tools-sysexplorer-module-ata : workbench-tools-sysexplorer-includes workbench-tools-sysexplorer-module-storage-includes kernel-ata-includes +#MM- workbench-tools-sysexplorer-modules : workbench-tools-sysexplorer-module-ata +#MM- workbench-tools-sysexplorer-modules-quick : workbench-tools-sysexplorer-module-ata-quick + +USER_INCLUDES := $(SYSEXPCOMMON_INCLUDES) $(SYSEXPSTORAGE_INCLUDES) -I$(SRCDIR)/$(CURDIR)/$(ATAMODDIR) +USER_LDFLAGS := -static + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-tools-sysexplorer-module-ata +#MM workbench-tools-sysexplorer-module-ata-quick +#MM workbench-tools-sysexplorer-module-ata-makefile +#MM workbench-tools-sysexplorer-module-ata-clean + +# ABI targets: +#MM- includes-all : workbench-tools-sysexplorer-module-ata-includes +#MM- linklibs-ata: workbench-tools-sysexplorer-module-ata-linklib +#MM- linklibs-ata_rel : workbench-tools-sysexplorer-module-ata-linklib +#MM- includes-ata: workbench-tools-sysexplorer-module-ata-includes +#MM- includes-ata_rel : workbench-tools-sysexplorer-module-ata-includes +#MM- workbench-tools-sysexplorer-module-ata : workbench-tools-sysexplorer-module-ata-includes core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-ata-linklib : workbench-tools-sysexplorer-module-ata-includes includes-amiga +#MM- workbench-tools-sysexplorer-module-ata-quick : workbench-tools-sysexplorer-module-ata-includes-quick +#MM workbench-tools-sysexplorer-module-ata-includes : workbench-tools-sysexplorer-module-ata-makefile workbench-tools-sysexplorer-module-ata-includes-dirs \ +#MM includes-generate-deps workbench-tools-sysexplorer-module-ata-fd +#MM workbench-tools-sysexplorer-module-ata-includes-quick +#MM workbench-tools-sysexplorer-module-ata-includes-dirs +#MM workbench-tools-sysexplorer-module-ata-fd + +# Library targets +#MM workbench-tools-sysexplorer-module-ata-kobj : core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-ata-kobj-quick : + +# Library with ABI targets: +#MM workbench-tools-sysexplorer-module-ata-kobj : workbench-tools-sysexplorer-module-ata-includes core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-ata-kobj-quick : workbench-tools-sysexplorer-module-ata-includes-quick + +# All MetaMake targets defined by this macro +workbench-tools-sysexplorer-module-ata_ALLTARGETS := workbench-tools-sysexplorer-module-ata workbench-tools-sysexplorer-module-ata-quick workbench-tools-sysexplorer-module-ata-clean + +ifeq (M,M) +workbench-tools-sysexplorer-module-ata_ALLTARGETS += workbench-tools-sysexplorer-module-ata-kobj workbench-tools-sysexplorer-module-ata-kobj-quick +endif + +ifeq (M,M) +workbench-tools-sysexplorer-module-ata_ALLTARGETS += workbench-tools-sysexplorer-module-ata-includes \ + workbench-tools-sysexplorer-module-ata-includes-quick workbench-tools-sysexplorer-module-ata-includes-dirs \ + workbench-tools-sysexplorer-module-ata-linklib workbench-tools-sysexplorer-module-ata-fd +endif + +.PHONY : $(workbench-tools-sysexplorer-module-ata_ALLTARGETS) workbench-tools-sysexplorer-module-ata-makefile + +ifeq (ata,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-tools-sysexplorer-module-ata_DEFNAME := ata_ +else + workbench-tools-sysexplorer-module-ata_DEFNAME := ata +endif +workbench-tools-sysexplorer-module-ata_DEFLINKLIBNAME := $(workbench-tools-sysexplorer-module-ata_DEFNAME) +ifneq (,) + workbench-tools-sysexplorer-module-ata_LINKLIBNAME := +else + workbench-tools-sysexplorer-module-ata_LINKLIBNAME = $(workbench-tools-sysexplorer-module-ata_DEFLINKLIBNAME) +endif +workbench-tools-sysexplorer-module-ata_DEFCPPFLAGS := $(CPPFLAGS) +ifneq ($(SYSEXP_GENINCDIR),) + workbench-tools-sysexplorer-module-ata_DEFCPPFLAGS += -I$(SYSEXP_GENINCDIR) +endif +workbench-tools-sysexplorer-module-ata_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-tools-sysexplorer-module-ata_DFLAGS := +else + workbench-tools-sysexplorer-module-ata_DFLAGS = $(workbench-tools-sysexplorer-module-ata_DEFDFLAGS) +endif +workbench-tools-sysexplorer-module-ata_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-tools-sysexplorer-module-ata_DXXFLAGS := +else + workbench-tools-sysexplorer-module-ata_DXXFLAGS = $(workbench-tools-sysexplorer-module-ata_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-tools-sysexplorer-module-ata_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-tools-sysexplorer-module-ata_DEFDFLAGS)) +workbench-tools-sysexplorer-module-ata_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-tools-sysexplorer-module-ata_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-sysexplorer-module-ata_FUNCINSTR := yes +workbench-tools-sysexplorer-module-ata_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-tools-sysexplorer-module-ata_DEFDFLAGS)) +workbench-tools-sysexplorer-module-ata_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-tools-sysexplorer-module-ata_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-tools-sysexplorer-module-ata_OBJDIR := +else +workbench-tools-sysexplorer-module-ata_OBJDIR := $(OBJDIR)/$(workbench-tools-sysexplorer-module-ata_DEFNAME) +endif +ifneq (,) +workbench-tools-sysexplorer-module-ata_OBJDIR := $(workbench-tools-sysexplorer-module-ata_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-tools-sysexplorer-module-ata-makefile := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/Makefile.$(workbench-tools-sysexplorer-module-ata_DEFNAME)library +workbench-tools-sysexplorer-module-ata-genmakefile : $(workbench-tools-sysexplorer-module-ata-makefile) + + +workbench-tools-sysexplorer-module-ata-genmakefile_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-ata-genmakefile_OPTS += -f + workbench-tools-sysexplorer-module-ata-genmakefile_MODNAME := ata_ +else + workbench-tools-sysexplorer-module-ata-genmakefile_MODNAME := ata +endif +workbench-tools-sysexplorer-module-ata-genmakefile_TARGET := Makefile.$(workbench-tools-sysexplorer-module-ata-genmakefile_MODNAME)library +workbench-tools-sysexplorer-module-ata-genmakefile_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf),./) + workbench-tools-sysexplorer-module-ata-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + else + workbench-tools-sysexplorer-module-ata-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + endif +else + workbench-tools-sysexplorer-module-ata-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ata.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-ata-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-ata-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-ata-genmakefile_OPTS += -o + workbench-tools-sysexplorer-module-ata-genmakefile_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-ata-genmakefile_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ata_OBJDIR),) + workbench-tools-sysexplorer-module-ata-genmakefile_OPTS += -d $(workbench-tools-sysexplorer-module-ata_OBJDIR) + workbench-tools-sysexplorer-module-ata-genmakefile_TARGET := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/$(workbench-tools-sysexplorer-module-ata-genmakefile_TARGET) +endif + +$(workbench-tools-sysexplorer-module-ata-genmakefile_TARGET) : OPTS := $(workbench-tools-sysexplorer-module-ata-genmakefile_OPTS) +$(workbench-tools-sysexplorer-module-ata-genmakefile_TARGET) : MODNAME := ata +$(workbench-tools-sysexplorer-module-ata-genmakefile_TARGET) : MODTYPE := library +$(workbench-tools-sysexplorer-module-ata-genmakefile_TARGET) : $(workbench-tools-sysexplorer-module-ata-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-tools-sysexplorer-module-ata-makefile),) +$(workbench-tools-sysexplorer-module-ata-makefile) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR) +else +$(workbench-tools-sysexplorer-module-ata-makefile) :: $(workbench-tools-sysexplorer-module-ata_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ata_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-tools-sysexplorer-module-ata_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-tools-sysexplorer-module-ata-makefile) + +workbench-tools-sysexplorer-module-ata_DEFMODDIR := $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-tools-sysexplorer-module-ata_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-tools-sysexplorer-module-ata_DEFMODDIR) +endif +ifneq ($(AROS_DIR_TOOLS)/SysExpModules,) + workbench-tools-sysexplorer-module-ata_MODDIR := $(AROS_DIR_TOOLS)/SysExpModules +else + workbench-tools-sysexplorer-module-ata_MODDIR := $(workbench-tools-sysexplorer-module-ata_DEFMODDIR) +endif + +## include files generation +## +ifneq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-ata_INCDIR := $(SYSEXP_GENINCDIR) +else +workbench-tools-sysexplorer-module-ata_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-tools-sysexplorer-module-ata_LIBDEFSINC := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/$(workbench-tools-sysexplorer-module-ata_DEFNAME)_libdefs.h +workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/$(workbench-tools-sysexplorer-module-ata_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-tools-sysexplorer-module-ata-includes-quick : workbench-tools-sysexplorer-module-ata-includes +workbench-tools-sysexplorer-module-ata-includes : $(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-tools-sysexplorer-module-ata_INCDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) \ + $(workbench-tools-sysexplorer-module-ata_LIBDEFSINC) $(workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC) + +ifneq ($($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-tools-sysexplorer-module-ata-includes_MODNAME := ata_ +else + workbench-tools-sysexplorer-module-ata-includes_MODNAME := ata +endif + +ifneq ($($(workbench-tools-sysexplorer-module-ata-includes_MODNAME)_INCLUDES),) + +workbench-tools-sysexplorer-module-ata-includes_TARGETS := $($(workbench-tools-sysexplorer-module-ata-includes_MODNAME)_INCLUDES) + +workbench-tools-sysexplorer-module-ata-includes_DEPS := $(GENMODULE) +workbench-tools-sysexplorer-module-ata-includes_OPTS := + +ifneq ($(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf),./) + workbench-tools-sysexplorer-module-ata-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-includes_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + else + workbench-tools-sysexplorer-module-ata-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-includes_DEPS += $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + endif +else + workbench-tools-sysexplorer-module-ata-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-includes_DEPS += $(SRCDIR)/$(CURDIR)/ata.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-ata-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-ata-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-ata-includes_OPTS += -o + workbench-tools-sysexplorer-module-ata-includes_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-ata-includes_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ata_OBJDIR)/include,) + workbench-tools-sysexplorer-module-ata-includes_OPTS += -d $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include + workbench-tools-sysexplorer-module-ata-includes_TARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/,$(workbench-tools-sysexplorer-module-ata-includes_TARGETS)) + workbench-tools-sysexplorer-module-ata-includes_GENINCFLAG=$(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/.ata.library-includes +else + workbench-tools-sysexplorer-module-ata-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.ata.library-includes +endif + +$(workbench-tools-sysexplorer-module-ata-includes_TARGETS) : $(workbench-tools-sysexplorer-module-ata-includes_DEPS) $(workbench-tools-sysexplorer-module-ata-includes_GENINCFLAG) + +$(workbench-tools-sysexplorer-module-ata-includes_GENINCFLAG) : OPTS := $(workbench-tools-sysexplorer-module-ata-includes_OPTS) +$(workbench-tools-sysexplorer-module-ata-includes_GENINCFLAG) : MODNAME := ata +$(workbench-tools-sysexplorer-module-ata-includes_GENINCFLAG) : MODTYPE := library +$(workbench-tools-sysexplorer-module-ata-includes_GENINCFLAG) : $(workbench-tools-sysexplorer-module-ata-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_geninc + +$(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_geninc : COPYSRCDIR := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include +$(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_geninc : TGTDIR := $(GENINCDIR) +$(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_geninc : FILES := $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES) +$(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_geninc : $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include + +$(addprefix $(workbench-tools-sysexplorer-module-ata_INCDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_incs + +$(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_incs : COPYSRCDIR := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include +$(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_incs : TGTDIR := $(workbench-tools-sysexplorer-module-ata_INCDIR) +$(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_incs : FILES := $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES) +$(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_incs : $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-tools-sysexplorer-module-ata_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)))) + +TMPata_INCDIRS := \ + $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/,$(workbench-tools-sysexplorer-module-ata_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-tools-sysexplorer-module-ata_INCDIRS)) \ + $(workbench-tools-sysexplorer-module-ata_INCDIR) $(addprefix $(workbench-tools-sysexplorer-module-ata_INCDIR)/,$(workbench-tools-sysexplorer-module-ata_INCDIRS)) + +ifneq (workbench-tools-sysexplorer-module-ata-includes-dirs,) +workbench-tools-sysexplorer-module-ata-includes-dirs : | $(TMPata_INCDIRS) +else +workbench-tools-sysexplorer-module-ata-includes-dirs :: $(TMPata_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPata_INCDIRS) + + +endif + +endif + + +workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -f + workbench-tools-sysexplorer-module-ata-genlibdefs_MODNAME := ata_ +else + workbench-tools-sysexplorer-module-ata-genlibdefs_MODNAME := ata +endif +workbench-tools-sysexplorer-module-ata-genlibdefs_TARGET := $(workbench-tools-sysexplorer-module-ata-genlibdefs_MODNAME)_libdefs.h +workbench-tools-sysexplorer-module-ata-genlibdefs_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf),./) + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + else + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + endif +else + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ata.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-ata-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -o + workbench-tools-sysexplorer-module-ata-genlibdefs_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ata_OBJDIR)/include,) + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -d $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include + workbench-tools-sysexplorer-module-ata-genlibdefs_TARGET := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/$(workbench-tools-sysexplorer-module-ata-genlibdefs_TARGET) +endif +ifneq (,) + workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS += -v +endif + +$(workbench-tools-sysexplorer-module-ata-genlibdefs_TARGET) : OPTS := $(workbench-tools-sysexplorer-module-ata-genlibdefs_OPTS) +$(workbench-tools-sysexplorer-module-ata-genlibdefs_TARGET) : MODNAME := ata +$(workbench-tools-sysexplorer-module-ata-genlibdefs_TARGET) : MODTYPE := library +$(workbench-tools-sysexplorer-module-ata-genlibdefs_TARGET) : $(workbench-tools-sysexplorer-module-ata-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC) : FILENAME := $(workbench-tools-sysexplorer-module-ata_LIBDEFSINC) +$(workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC) : $(workbench-tools-sysexplorer-module-ata_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-tools-sysexplorer-module-ata_LIBDEFSINC) $(workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include + +ifneq (workbench-tools-sysexplorer-module-ata-includes-dirs,) +workbench-tools-sysexplorer-module-ata-includes-dirs : | $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include +else +workbench-tools-sysexplorer-module-ata-includes-dirs :: $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -f + workbench-tools-sysexplorer-module-ata-genmodfiles_MODNAME := ata_ +else + workbench-tools-sysexplorer-module-ata-genmodfiles_MODNAME := ata +endif +workbench-tools-sysexplorer-module-ata-genmodfiles_GENTARGETS := $($(workbench-tools-sysexplorer-module-ata-genmodfiles_MODNAME)_STARTFILES) $($(workbench-tools-sysexplorer-module-ata-genmodfiles_MODNAME)_ENDFILES) +workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETS := $($(workbench-tools-sysexplorer-module-ata-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-tools-sysexplorer-module-ata-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-tools-sysexplorer-module-ata-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENTARGETS)) +workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-tools-sysexplorer-module-ata-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-tools-sysexplorer-module-ata-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-tools-sysexplorer-module-ata-genmodfiles_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf),./) + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + else + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + endif +else + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ata.conf + workbench-tools-sysexplorer-module-ata-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ata.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-ata-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -o + workbench-tools-sysexplorer-module-ata-genmodfiles_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ata_OBJDIR),) + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -d $(workbench-tools-sysexplorer-module-ata_OBJDIR) + workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETDIR := $(shell echo $(workbench-tools-sysexplorer-module-ata_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-ata-genmodfiles_GENTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETDIR)/,$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENTARGETS)) + workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG=$(workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETDIR)/.ata.library-genfiles +else + workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.ata.library-genfiles +endif +ifneq ($(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib,) + workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS += -l $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib + workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETDIR)/,$(workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETS)) + workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETDIRS += $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib +else +ifneq ($(workbench-tools-sysexplorer-module-ata_OBJDIR),) + workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETDIR)/,$(workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETS := $(workbench-tools-sysexplorer-module-ata-genmodfiles_GENTARGETS) $(workbench-tools-sysexplorer-module-ata-genmodfiles_STUBTARGETS) +ifneq ($(workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETDIRS),) +$(workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETS) : | $(workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETDIRS) +endif + +$(workbench-tools-sysexplorer-module-ata-genmodfiles_TARGETS) : $(workbench-tools-sysexplorer-module-ata-genmodfiles_DEPS) $(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG) + +$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-tools-sysexplorer-module-ata-genmodfiles_OPTS) +$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG) : MODNAME := ata +$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG) : $(workbench-tools-sysexplorer-module-ata-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG) : $(workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC) $(workbench-tools-sysexplorer-module-ata-makefile) + + +ifneq ($(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG),) +$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib +else +$(workbench-tools-sysexplorer-module-ata-genmodfiles_GENFILEFLAG) :: $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-ata_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-tools-sysexplorer-module-ata_FDDIR := $(SYSEXP_GENINCDIR)/../$(AROS_DIR_FD) +endif +workbench-tools-sysexplorer-module-ata-fd : $(workbench-tools-sysexplorer-module-ata_FDDIR)/ata_lib.fd + + +TMP_TARGET := ata_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq ($(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/$(ATAMODDIR)/ata.conf + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ata.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ata.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (sysexp,) + TMP_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ata_FDDIR),) + TMP_OPTS += -d $(workbench-tools-sysexplorer-module-ata_FDDIR) + TMP_TARGET := $(workbench-tools-sysexplorer-module-ata_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := ata +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-tools-sysexplorer-module-ata_FDDIR)/ata_lib.fd : | $(workbench-tools-sysexplorer-module-ata_FDDIR) + + +ifneq (workbench-tools-sysexplorer-module-ata-fd-setup,) +workbench-tools-sysexplorer-module-ata-fd-setup : | $(workbench-tools-sysexplorer-module-ata_FDDIR) +else +workbench-tools-sysexplorer-module-ata-fd-setup :: $(workbench-tools-sysexplorer-module-ata_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ata_FDDIR) + +endif + +## Compilation +## +workbench-tools-sysexplorer-module-ata_FILES := $(ATAFILES) +workbench-tools-sysexplorer-module-ata_OBJCFILES := +workbench-tools-sysexplorer-module-ata_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-tools-sysexplorer-module-ata_LIBFILES := +workbench-tools-sysexplorer-module-ata_LIBS := amiga + +workbench-tools-sysexplorer-module-ata_FDIRS := $(sort $(dir $(workbench-tools-sysexplorer-module-ata_FILES))) + +workbench-tools-sysexplorer-module-ata_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-tools-sysexplorer-module-ata_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-tools-sysexplorer-module-ata_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-tools-sysexplorer-module-ata_FILTERARCH = $(filter-out $(call workbench-tools-sysexplorer-module-ata_MATCHARCH,$(1),$(2)),$(2)) +workbench-tools-sysexplorer-module-ata_STARTFILES := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_STARTFILES)) +workbench-tools-sysexplorer-module-ata_ENDFILES := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_ENDFILES)) + +workbench-tools-sysexplorer-module-ata_ARCHOBJS := $(wildcard $(workbench-tools-sysexplorer-module-ata_OBJDIR)/arch/*.o) +workbench-tools-sysexplorer-module-ata_LIBARCHOBJS := $(wildcard $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/arch/*.o) +workbench-tools-sysexplorer-module-ata_ARCHFILES := $(basename $(notdir $(workbench-tools-sysexplorer-module-ata_ARCHOBJS))) +workbench-tools-sysexplorer-module-ata_LIBARCHFILES := $(basename $(notdir $(workbench-tools-sysexplorer-module-ata_LIBARCHOBJS))) +workbench-tools-sysexplorer-module-ata_C_NARCHFILES := $(call workbench-tools-sysexplorer-module-ata_FILTERARCH,$(workbench-tools-sysexplorer-module-ata_ARCHFILES),$(workbench-tools-sysexplorer-module-ata_FILES)) +workbench-tools-sysexplorer-module-ata_CXX_NARCHFILES := $(call workbench-tools-sysexplorer-module-ata_FILTERARCH,$(workbench-tools-sysexplorer-module-ata_ARCHFILES),$(workbench-tools-sysexplorer-module-ata_CXXFILES)) +workbench-tools-sysexplorer-module-ata_OBJC_NARCHFILES := $(call workbench-tools-sysexplorer-module-ata_FILTERARCH,$(workbench-tools-sysexplorer-module-ata_ARCHFILES),$(workbench-tools-sysexplorer-module-ata_OBJCFILES)) +workbench-tools-sysexplorer-module-ata_NLIBARCHFILES := $(call workbench-tools-sysexplorer-module-ata_FILTERARCH,$(workbench-tools-sysexplorer-module-ata_LIBARCHFILES),$(workbench-tools-sysexplorer-module-ata_LIBFILES)) +workbench-tools-sysexplorer-module-ata_ARCHNLIBFILES := $(call workbench-tools-sysexplorer-module-ata_FILTERARCH,$(workbench-tools-sysexplorer-module-ata_LIBFILES),$(workbench-tools-sysexplorer-module-ata_LIBARCHFILES)) + +workbench-tools-sysexplorer-module-ata_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-tools-sysexplorer-module-ata_OBJDIR)/include -include $(workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC)) +ifneq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-ata_CPPFLAGS += -I$(SYSEXP_GENINCDIR) +endif +workbench-tools-sysexplorer-module-ata_LINKLIBCPPFLAGS := $(workbench-tools-sysexplorer-module-ata_CPPFLAGS) +workbench-tools-sysexplorer-module-ata_CPPFLAGS += $(strip $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_CPPFLAGS)) +workbench-tools-sysexplorer-module-ata_LINKLIBCPPFLAGS += $(strip $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-tools-sysexplorer-module-ata_CFLAGS := $(strip $(CFLAGS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_CFLAGS)) +workbench-tools-sysexplorer-module-ata_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LINKLIBCFLAGS)) +workbench-tools-sysexplorer-module-ata_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-tools-sysexplorer-module-ata_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-tools-sysexplorer-module-ata_CFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_LTOFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +workbench-tools-sysexplorer-module-ata_LINKLIBCFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_LTOFLAGS) $(workbench-tools-sysexplorer-module-ata_LINKLIBCFLAGS)) +workbench-tools-sysexplorer-module-ata_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_LTOFLAGS) $(workbench-tools-sysexplorer-module-ata_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-sysexplorer-module-ata_SUBSTNULL := +workbench-tools-sysexplorer-module-ata_SUBSTSPACE := $(workbench-tools-sysexplorer-module-ata_SUBSTNULL) # +workbench-tools-sysexplorer-module-ata_SUBSTCOMMA := , +workbench-tools-sysexplorer-module-ata_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-tools-sysexplorer-module-ata_SUBSTSPACE),$(workbench-tools-sysexplorer-module-ata_SUBSTCOMMA),$(strip $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_STARTFILES)))) +workbench-tools-sysexplorer-module-ata_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-tools-sysexplorer-module-ata_CFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_INSTRFUNCFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +workbench-tools-sysexplorer-module-ata_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_INSTRFUNCFLAGS) $(workbench-tools-sysexplorer-module-ata_CXXFLAGS)) +workbench-tools-sysexplorer-module-ata_LIBS += $(workbench-tools-sysexplorer-module-ata_INSTRFUNCLIBS) +endif +endif +workbench-tools-sysexplorer-module-ata_DFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_DFLAGS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_DFLAGS)) +workbench-tools-sysexplorer-module-ata_LINKLIBDFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_DFLAGS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LINKLIBDFLAGS)) +workbench-tools-sysexplorer-module-ata_DXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_DXXFLAGS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-tools-sysexplorer-module-ata_LIBSUFFIX := +else + workbench-tools-sysexplorer-module-ata_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-tools-sysexplorer-module-ata_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-tools-sysexplorer-module-ata_LIBDIR := +endif + +ifeq (M,M) +workbench-tools-sysexplorer-module-ata_LINKLIBCFILES := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LINKLIBFILES)) +workbench-tools-sysexplorer-module-ata_LINKLIBAFILES := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LINKLIBFILES) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ata_ARCHNLIBFILES)),) + workbench-tools-sysexplorer-module-ata_LINKLIB := +else + workbench-tools-sysexplorer-module-ata_LINKLIB := $(workbench-tools-sysexplorer-module-ata_LIBDIR)/libata$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a + ifneq (ata,$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)) + workbench-tools-sysexplorer-module-ata_LINKLIB += $(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a + endif +endif +workbench-tools-sysexplorer-module-ata_LINKLIBFILES := $(workbench-tools-sysexplorer-module-ata_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-ata_LINKLIBAFILES) + +workbench-tools-sysexplorer-module-ata_RELLINKLIBCFILES := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_RELLINKLIBFILES)) +workbench-tools-sysexplorer-module-ata_RELLINKLIBAFILES := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_RELLINKLIBFILES) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_RELLINKLIBAFILES) $(workbench-tools-sysexplorer-module-ata_ARCHNLIBFILES)),) + workbench-tools-sysexplorer-module-ata_RELLINKLIB := +else + workbench-tools-sysexplorer-module-ata_RELLINKLIB := $(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a + ifneq (ata,$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)) + workbench-tools-sysexplorer-module-ata_RELLINKLIB += $(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a + endif +endif +workbench-tools-sysexplorer-module-ata_RELLINKLIBFILES := $(workbench-tools-sysexplorer-module-ata_RELLINKLIBCFILES) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBAFILES) +endif + +workbench-tools-sysexplorer-module-ata_ENDOBJS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ata_ENDFILES)) +workbench-tools-sysexplorer-module-ata_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES))) $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/arch/,$(notdir $(workbench-tools-sysexplorer-module-ata_ARCHNLIBFILES))) $(workbench-tools-sysexplorer-module-ata_LINKLIBFILES)) \ + +workbench-tools-sysexplorer-module-ata_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES))) $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/arch/,$(notdir $(workbench-tools-sysexplorer-module-ata_ARCHNLIBFILES))) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBFILES)) \ + +$(workbench-tools-sysexplorer-module-ata_LINKLIBFILES) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBFILES) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib +$(workbench-tools-sysexplorer-module-ata_LINKLIBOBJS) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBOBJS) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib + +workbench-tools-sysexplorer-module-ata_CCFILES := $(workbench-tools-sysexplorer-module-ata_C_NARCHFILES) +workbench-tools-sysexplorer-module-ata_TARGETCCFILES := $(strip $(workbench-tools-sysexplorer-module-ata_STARTFILES) $(workbench-tools-sysexplorer-module-ata_ENDFILES)) +workbench-tools-sysexplorer-module-ata_LINKLIBCCFILES := $(strip $(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES) $(workbench-tools-sysexplorer-module-ata_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBCFILES)) +workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES := $(strip $(workbench-tools-sysexplorer-module-ata_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBCFILES)) + + +workbench-tools-sysexplorer-module-ata_CXXABSBASENAMES := $(foreach workbench-tools-sysexplorer-module-ata_CXXBASE,$(workbench-tools-sysexplorer-module-ata_CXX_NARCHFILES),$(if $(filter /%,$(workbench-tools-sysexplorer-module-ata_CXXBASE)),$(workbench-tools-sysexplorer-module-ata_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-tools-sysexplorer-module-ata_CXXBASE)))) + +ifneq ($(workbench-tools-sysexplorer-module-ata_CXXABSBASENAMES),) + +workbench-tools-sysexplorer-module-ata_CXXBASENAMES := $(basename $(workbench-tools-sysexplorer-module-ata_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-tools-sysexplorer-module-ata_MCXX_FILES := $(strip $(foreach workbench-tools-sysexplorer-module-ata_CXXBASE,$(workbench-tools-sysexplorer-module-ata_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-tools-sysexplorer-module-ata_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-tools-sysexplorer-module-ata_EXT),$(workbench-tools-sysexplorer-module-ata_CXXBASE))))))) + +ifeq (,) +workbench-tools-sysexplorer-module-ata_MCXX_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ata_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR),) + workbench-tools-sysexplorer-module-ata_CXXTARGETS := $(notdir $(workbench-tools-sysexplorer-module-ata_CXXBASENAMES:=.o)) + workbench-tools-sysexplorer-module-ata_CXXDTARGETS := $(notdir $(workbench-tools-sysexplorer-module-ata_CXXBASENAMES:=.d)) + workbench-tools-sysexplorer-module-ata_MCXX_WILDCARD := % +else + workbench-tools-sysexplorer-module-ata_CXXTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ata_CXXBASENAMES:=.o))) + workbench-tools-sysexplorer-module-ata_CXXDTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ata_CXXBASENAMES:=.d))) + workbench-tools-sysexplorer-module-ata_MCXX_WILDCARD := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-tools-sysexplorer-module-ata_CXXTARGETS) $(workbench-tools-sysexplorer-module-ata_CXXDTARGETS) : | $(workbench-tools-sysexplorer-module-ata_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_CPPFLAGS) +workbench-tools-sysexplorer-module-ata_CXXFLAGS := $(workbench-tools-sysexplorer-module-ata_CXXFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ata_DXXFLAGS),) + workbench-tools-sysexplorer-module-ata_DXXFLAGS := $(workbench-tools-sysexplorer-module-ata_CXXFLAGS) +else + workbench-tools-sysexplorer-module-ata_DXXFLAGS := $(workbench-tools-sysexplorer-module-ata_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-tools-sysexplorer-module-ata_STRIP ?= $(HOST_STRIP) + workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-tools-sysexplorer-module-ata_CXXCMD:=$(HOST_CXX) + workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-ata_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-sysexplorer-module-ata_CXXFLAGS)) + workbench-tools-sysexplorer-module-ata_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-sysexplorer-module-ata_DXXFLAGS)) + workbench-tools-sysexplorer-module-ata_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-tools-sysexplorer-module-ata_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-sysexplorer-module-ata_STRIP ?= $(TARGET_STRIP) + workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-tools-sysexplorer-module-ata_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-ata_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-ata_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-tools-sysexplorer-module-ata_DXXFLAGS := $(workbench-tools-sysexplorer-module-ata_DXXFLAGS) + workbench-tools-sysexplorer-module-ata_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-tools-sysexplorer-module-ata_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-sysexplorer-module-ata_STRIP ?= $(ECHO) >/dev/null + workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-tools-sysexplorer-module-ata_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-tools-sysexplorer-module-ata_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-ata_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-sysexplorer-module-ata_CXXFLAGS)) + workbench-tools-sysexplorer-module-ata_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-sysexplorer-module-ata_DXXFLAGS)) + workbench-tools-sysexplorer-module-ata_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-tools-sysexplorer-module-ata_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-tools-sysexplorer-module-ata_CXXCMD) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-ata_CXXFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-tools-sysexplorer-module-ata_CXXCMD) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-ata_CXXFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-tools-sysexplorer-module-ata_CXXCMD) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-ata_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-ata_CXXFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-tools-sysexplorer-module-ata_CXXCMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ata_DXXFLAGS) $(workbench-tools-sysexplorer-module-ata_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR),) + $(foreach workbench-tools-sysexplorer-module-ata_CXXFILE,$(workbench-tools-sysexplorer-module-ata_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-tools-sysexplorer-module-ata_CXXFILE))),$(workbench-tools-sysexplorer-module-ata_CXXFILE)))) +else + $(foreach workbench-tools-sysexplorer-module-ata_CXXFILE,$(workbench-tools-sysexplorer-module-ata_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(basename $(workbench-tools-sysexplorer-module-ata_CXXFILE)))),$(workbench-tools-sysexplorer-module-ata_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-tools-sysexplorer-module-ata_OBJC_NARCHFILES),) + +ifeq (,) +workbench-tools-sysexplorer-module-ata_MOBJC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ata_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR),) + workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ata_OBJC_NARCHFILES)) + workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ata_OBJC_NARCHFILES)) + workbench-tools-sysexplorer-module-ata_MOBJC_WILDCARD := % +else + workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(workbench-tools-sysexplorer-module-ata_OBJC_NARCHFILES))) + workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(workbench-tools-sysexplorer-module-ata_OBJC_NARCHFILES))) + workbench-tools-sysexplorer-module-ata_MOBJC_WILDCARD := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-tools-sysexplorer-module-ata_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-tools-sysexplorer-module-ata_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-ata_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ata_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-tools-sysexplorer-module-ata_MOBJC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ata_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ata_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-tools-sysexplorer-module-ata_MOBJC_DIRS),) + workbench-tools-sysexplorer-module-ata_MOBJC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ata_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-tools-sysexplorer-module-ata_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-tools-sysexplorer-module-ata_CC := $(TARGET_CC) +else + workbench-tools-sysexplorer-module-ata_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_CPPFLAGS) +workbench-tools-sysexplorer-module-ata_OBJCFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +workbench-tools-sysexplorer-module-ata_OBJCFLAGS := $(workbench-tools-sysexplorer-module-ata_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-tools-sysexplorer-module-ata_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-tools-sysexplorer-module-ata_OBJCFLAGS))) +ifeq ($(workbench-tools-sysexplorer-module-ata_DFLAGS),) + workbench-tools-sysexplorer-module-ata_OBJCDFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +else + workbench-tools-sysexplorer-module-ata_OBJCDFLAGS := $(workbench-tools-sysexplorer-module-ata_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(workbench-tools-sysexplorer-module-ata_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-sysexplorer-module-ata_STRIP ?= $(TARGET_STRIP) + workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-tools-sysexplorer-module-ata_CC) $(TARGET_SYSROOT)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_OBJCFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_OBJCDFLAGS:=$(workbench-tools-sysexplorer-module-ata_OBJCDFLAGS) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-tools-sysexplorer-module-ata_STRIP ?= $(HOST_STRIP) + workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_OBJCFLAGS)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_OBJCDFLAGS)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(HOST_IQUOTE) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-sysexplorer-module-ata_STRIP ?= $(ECHO) >/dev/null + workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_OBJCFLAGS)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_OBJCDFLAGS)) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ata_OBJCFLAGS) +$(workbench-tools-sysexplorer-module-ata_MOBJC_TARGETS) : $(workbench-tools-sysexplorer-module-ata_MOBJC_WILDCARD).o : $(workbench-tools-sysexplorer-module-ata_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ata_MOBJC_DTARGETS) : $(workbench-tools-sysexplorer-module-ata_MOBJC_WILDCARD).d : $(workbench-tools-sysexplorer-module-ata_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ata_OBJCDFLAGS) $(workbench-tools-sysexplorer-module-ata_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR),) +workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ata_CCFILES)) +workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ata_CCFILES)) +workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ata_CCFILES)))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ata_CCFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(workbench-tools-sysexplorer-module-ata_CCFILES))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(workbench-tools-sysexplorer-module-ata_CCFILES))) +else + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ata_CCFILES)))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ata_CCFILES)))) +endif +endif +workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-ata_CCFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ata_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ata_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ata_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ata_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ata_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ata_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ata_MC_DIRS),) + workbench-tools-sysexplorer-module-ata_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ata_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-ata_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_CPPFLAGS) +workbench-tools-sysexplorer-module-ata_CFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ata_DFLAGS),) + workbench-tools-sysexplorer-module-ata_DFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +else + workbench-tools-sysexplorer-module-ata_DFLAGS := $(workbench-tools-sysexplorer-module-ata_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(workbench-tools-sysexplorer-module-ata_DFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_DFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_DFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : $(workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ata_DFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR),) +workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ata_TARGETCCFILES)) +workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ata_TARGETCCFILES)) +workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ata_TARGETCCFILES)))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ata_TARGETCCFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(workbench-tools-sysexplorer-module-ata_TARGETCCFILES))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(workbench-tools-sysexplorer-module-ata_TARGETCCFILES))) +else + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ata_TARGETCCFILES)))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ata_TARGETCCFILES)))) +endif +endif +workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-ata_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ata_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ata_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ata_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ata_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ata_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ata_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ata_MC_DIRS),) + workbench-tools-sysexplorer-module-ata_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ata_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-ata_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_CPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-ata_CFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ata_DFLAGS),) + workbench-tools-sysexplorer-module-ata_DFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +else + workbench-tools-sysexplorer-module-ata_DFLAGS := $(workbench-tools-sysexplorer-module-ata_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(workbench-tools-sysexplorer-module-ata_DFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_DFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_DFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : $(workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ata_DFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES)) +workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES)) +workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES)))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES))) +else + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES)))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES)))) +endif +endif +workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ata_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ata_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ata_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ata_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ata_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ata_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ata_MC_DIRS),) + workbench-tools-sysexplorer-module-ata_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ata_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-ata_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_LINKLIBCPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-ata_CFLAGS := $(workbench-tools-sysexplorer-module-ata_LINKLIBCFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ata_LINKLIBDFLAGS),) + workbench-tools-sysexplorer-module-ata_DFLAGS := $(workbench-tools-sysexplorer-module-ata_LINKLIBCFLAGS) +else + workbench-tools-sysexplorer-module-ata_DFLAGS := $(workbench-tools-sysexplorer-module-ata_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(workbench-tools-sysexplorer-module-ata_DFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_DFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_DFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : $(workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ata_DFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES)) +workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES)) +workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES)))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib,) + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES))) +else + workbench-tools-sysexplorer-module-ata_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(patsubst $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/%,%,$(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES)))) + workbench-tools-sysexplorer-module-ata_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(patsubst $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/%,%,$(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES)))) +endif +endif +workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ata_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ata_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ata_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ata_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ata_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ata_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ata_MC_DIRS),) + workbench-tools-sysexplorer-module-ata_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ata_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-ata_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_LINKLIBCPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-ata_CFLAGS := $(workbench-tools-sysexplorer-module-ata_LINKLIBCFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ata_LINKLIBDFLAGS),) + workbench-tools-sysexplorer-module-ata_DFLAGS := $(workbench-tools-sysexplorer-module-ata_LINKLIBCFLAGS) +else + workbench-tools-sysexplorer-module-ata_DFLAGS := $(workbench-tools-sysexplorer-module-ata_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ata_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(workbench-tools-sysexplorer-module-ata_DFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ata_DFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ata_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-ata_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-ata_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_CFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ata_DFLAGS)) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) $(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : workbench-tools-sysexplorer-module-ata_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ata_CFLAGS) +$(workbench-tools-sysexplorer-module-ata_MC_TARGETS) : $(workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ata_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ata_IQUOTE) . $(workbench-tools-sysexplorer-module-ata_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ata_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-ata_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-ata_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ata_DFLAGS) $(workbench-tools-sysexplorer-module-ata_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-tools-sysexplorer-module-ata_LINKLIBAFILES),) + +ifeq ($(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-ata-MA_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ata_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBAFILES)) +workbench-tools-sysexplorer-module-ata-MA_WILDCARD := % +else +workbench-tools-sysexplorer-module-ata-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ata_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBAFILES)))) +workbench-tools-sysexplorer-module-ata-MA_WILDCARD := $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-tools-sysexplorer-module-ata-MA_TARGETS) : | $(addsuffix .S,$(workbench-tools-sysexplorer-module-ata_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ata-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ata-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ata_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ata_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ata-MA_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ata-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ata-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ata-MA_DIRS),) + workbench-tools-sysexplorer-module-ata-MA_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ata-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-tools-sysexplorer-module-ata-MA_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ata-MA_ASSEMBLER ?= $(workbench-tools-sysexplorer-module-ata_ASSEMBLER) + +$(workbench-tools-sysexplorer-module-ata-MA_TARGETS) : workbench-tools-sysexplorer-module-ata-MA_CMD:= $(workbench-tools-sysexplorer-module-ata-MA_ASSEMBLER) + +$(workbench-tools-sysexplorer-module-ata-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-tools-sysexplorer-module-ata-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-tools-sysexplorer-module-ata-MA_TARGETS) : $(workbench-tools-sysexplorer-module-ata-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-tools-sysexplorer-module-ata-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-tools-sysexplorer-module-ata-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-tools-sysexplorer-module-ata-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (sysexp,) +workbench-tools-sysexplorer-module-ata_SUFFIX := library +else +workbench-tools-sysexplorer-module-ata_SUFFIX := sysexp +endif + +ifeq (target,target) +workbench-tools-sysexplorer-module-ata_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ata_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ata_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-tools-sysexplorer-module-ata_SUFFIX),handler) +workbench-tools-sysexplorer-module-ata_MODULE := $(AROSDIR)/$(workbench-tools-sysexplorer-module-ata_MODDIR)/$(workbench-tools-sysexplorer-module-ata_DEFNAME)-$(workbench-tools-sysexplorer-module-ata_SUFFIX) +else +workbench-tools-sysexplorer-module-ata_MODULE := $(AROSDIR)/$(workbench-tools-sysexplorer-module-ata_MODDIR)/$(workbench-tools-sysexplorer-module-ata_DEFNAME).$(workbench-tools-sysexplorer-module-ata_SUFFIX) +endif +workbench-tools-sysexplorer-module-ata_KOBJ := $(KOBJSDIR)/$(workbench-tools-sysexplorer-module-ata_DEFNAME)_$(workbench-tools-sysexplorer-module-ata_SUFFIX).o +else +workbench-tools-sysexplorer-module-ata_MODULE := +workbench-tools-sysexplorer-module-ata_KOBJ := +endif + +workbench-tools-sysexplorer-module-ata-quick : workbench-tools-sysexplorer-module-ata +workbench-tools-sysexplorer-module-ata : $(workbench-tools-sysexplorer-module-ata_MODULE) $(workbench-tools-sysexplorer-module-ata_LINKLIB) $(workbench-tools-sysexplorer-module-ata_RELLINKLIB) +ifeq (M,M) +workbench-tools-sysexplorer-module-ata-kobj : $(workbench-tools-sysexplorer-module-ata_KOBJ) $(workbench-tools-sysexplorer-module-ata_LINKLIB) $(workbench-tools-sysexplorer-module-ata_RELLINKLIB) +workbench-tools-sysexplorer-module-ata-kobj-quick : $(workbench-tools-sysexplorer-module-ata_KOBJ) $(workbench-tools-sysexplorer-module-ata_LINKLIB) $(workbench-tools-sysexplorer-module-ata_RELLINKLIB) +endif +ifeq (M,M) +workbench-tools-sysexplorer-module-ata-linklib : $(workbench-tools-sysexplorer-module-ata_LINKLIB) $(workbench-tools-sysexplorer-module-ata_RELLINKLIB) +endif + +workbench-tools-sysexplorer-module-ata_OBJS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ata_STARTFILES)) $(workbench-tools-sysexplorer-module-ata_ARCHOBJS) \ + $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ata_C_NARCHFILES:=.o) $(workbench-tools-sysexplorer-module-ata_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-tools-sysexplorer-module-ata_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (ata,con) + workbench-tools-sysexplorer-module-ata_ERR := $(notdir $(workbench-tools-sysexplorer-module-ata_MODULE)).err +else + workbench-tools-sysexplorer-module-ata_ERR := ata.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LDFLAGS) $(workbench-tools-sysexplorer-module-ata_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-tools-sysexplorer-module-ata_LIBS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-tools-sysexplorer-module-ata_MODULE) : LIB_NAMES := $(workbench-tools-sysexplorer-module-ata_LIBS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LIBS) +$(workbench-tools-sysexplorer-module-ata_MODULE) : OBJS := $(workbench-tools-sysexplorer-module-ata_STARTOBJS) $(workbench-tools-sysexplorer-module-ata_OBJS) $(USER_OBJS) +$(workbench-tools-sysexplorer-module-ata_MODULE) : ENDTAG := $(workbench-tools-sysexplorer-module-ata_ENDOBJS) +$(workbench-tools-sysexplorer-module-ata_MODULE) : ERR := $(workbench-tools-sysexplorer-module-ata_ERR) +$(workbench-tools-sysexplorer-module-ata_MODULE) : OBJDIR := $(workbench-tools-sysexplorer-module-ata_OBJDIR) +$(workbench-tools-sysexplorer-module-ata_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-tools-sysexplorer-module-ata_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-tools-sysexplorer-module-ata_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-tools-sysexplorer-module-ata_MODULE) : $(workbench-tools-sysexplorer-module-ata_STARTOBJS) $(workbench-tools-sysexplorer-module-ata_OBJS) $(USER_OBJS) $(workbench-tools-sysexplorer-module-ata_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-tools-sysexplorer-module-ata_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-tools-sysexplorer-module-ata_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-tools-sysexplorer-module-ata_LC_LINKLIBNAME := $(shell echo $(workbench-tools-sysexplorer-module-ata_LINKLIBNAME) | tr A-Z a-z) +workbench-tools-sysexplorer-module-ata_LC_MODNAME := $(shell echo ata | tr A-Z a-z) +ifneq ($(workbench-tools-sysexplorer-module-ata_LINKLIB),) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-ata_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-ata_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-ata_RANLIB) $@ +ifneq ($(workbench-tools-sysexplorer-module-ata_LC_MODNAME),$(workbench-tools-sysexplorer-module-ata_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/libata$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/libata$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/libata$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/libata$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/libata$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/libata$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/libata$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-ata_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-ata_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-ata_RANLIB) $@ +endif + + +ifneq ($(workbench-tools-sysexplorer-module-ata_LINKLIB),) +$(workbench-tools-sysexplorer-module-ata_LINKLIB) : | $(workbench-tools-sysexplorer-module-ata_LIBDIR) +else +$(workbench-tools-sysexplorer-module-ata_LINKLIB) :: $(workbench-tools-sysexplorer-module-ata_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ata_LIBDIR) + +endif + +ifneq ($(workbench-tools-sysexplorer-module-ata_RELLINKLIB),) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-ata_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-ata_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-ata_RANLIB) $@ +ifneq ($(workbench-tools-sysexplorer-module-ata_LC_MODNAME),$(workbench-tools-sysexplorer-module-ata_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ata_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-ata_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ata_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ata_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-ata_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-ata_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-ata_RANLIB) $@ +endif + + +ifneq ($(workbench-tools-sysexplorer-module-ata_RELLINKLIB),) +$(workbench-tools-sysexplorer-module-ata_RELLINKLIB) : | $(workbench-tools-sysexplorer-module-ata_LIBDIR) +else +$(workbench-tools-sysexplorer-module-ata_RELLINKLIB) :: $(workbench-tools-sysexplorer-module-ata_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ata_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-tools-sysexplorer-module-ata_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-tools-sysexplorer-module-ata_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-tools-sysexplorer-module-ata_SYMBOLS := $(workbench-tools-sysexplorer-module-ata_KBASE) + +workbench-tools-sysexplorer-module-ata_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-tools-sysexplorer-module-ata_KOBJ_LIBS := $(filter-out $(workbench-tools-sysexplorer-module-ata_KLIB),$(workbench-tools-sysexplorer-module-ata_LIBS)) $(workbench-tools-sysexplorer-module-ata_KAUTOLIB) +$(workbench-tools-sysexplorer-module-ata_KOBJ) : LINKLIBS:=$(workbench-tools-sysexplorer-module-ata_KOBJ_LIBS) $($(workbench-tools-sysexplorer-module-ata_DEFNAME)_LIBS) +$(workbench-tools-sysexplorer-module-ata_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-tools-sysexplorer-module-ata_SYMBOLS)) +$(workbench-tools-sysexplorer-module-ata_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-tools-sysexplorer-module-ata_KOBJ) : $(workbench-tools-sysexplorer-module-ata_OBJS) $(USER_OBJS) $(workbench-tools-sysexplorer-module-ata_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-tools-sysexplorer-module-ata_DEPS := $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ata_CCFILES:=.d) $(workbench-tools-sysexplorer-module-ata_TARGETCCFILES:=.d) $(workbench-tools-sysexplorer-module-ata_CXXFILES:=.d))) $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ata_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-tools-sysexplorer-module-ata_DEPS),) + ifneq (workbench-tools-sysexplorer-module-ata workbench-tools-sysexplorer-module-ata-quick workbench-tools-sysexplorer-module-ata-kobj workbench-tools-sysexplorer-module-ata-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-tools-sysexplorer-module-ata workbench-tools-sysexplorer-module-ata-quick workbench-tools-sysexplorer-module-ata-kobj workbench-tools-sysexplorer-module-ata-kobj-quick),) + -include $(workbench-tools-sysexplorer-module-ata_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-tools-sysexplorer-module-ata_DEPS) + endif + endif +endif + +$(workbench-tools-sysexplorer-module-ata_OBJS) $(workbench-tools-sysexplorer-module-ata_DEPS) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR)/linklib + +ifneq ($(workbench-tools-sysexplorer-module-ata_OBJS) $(workbench-tools-sysexplorer-module-ata_DEPS) $(workbench-tools-sysexplorer-module-ata_MODULE) $(workbench-tools-sysexplorer-module-ata_KOBJ),) +$(workbench-tools-sysexplorer-module-ata_OBJS) $(workbench-tools-sysexplorer-module-ata_DEPS) $(workbench-tools-sysexplorer-module-ata_MODULE) $(workbench-tools-sysexplorer-module-ata_KOBJ) : | $(workbench-tools-sysexplorer-module-ata_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-ata_MODDIR) $(KOBJSDIR) +else +$(workbench-tools-sysexplorer-module-ata_OBJS) $(workbench-tools-sysexplorer-module-ata_DEPS) $(workbench-tools-sysexplorer-module-ata_MODULE) $(workbench-tools-sysexplorer-module-ata_KOBJ) :: $(workbench-tools-sysexplorer-module-ata_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-ata_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ata_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-ata_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-tools-sysexplorer-module-ata workbench-tools-sysexplorer-module-ata-includes workbench-tools-sysexplorer-module-ata-quick workbench-tools-sysexplorer-module-ata-kobj workbench-tools-sysexplorer-module-ata-kobj-quick),) # Only for this target these deps are wanted + +workbench-tools-sysexplorer-module-ata_DFILE_DEPS := $(workbench-tools-sysexplorer-module-ata_LIBDEFSINC) $(workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC) \ + $(addprefix $(workbench-tools-sysexplorer-module-ata_INCDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) +$(workbench-tools-sysexplorer-module-ata_DEPS) : $(workbench-tools-sysexplorer-module-ata_DFILE_DEPS) +endif + +workbench-tools-sysexplorer-module-ata_TOCLEAN := $(workbench-tools-sysexplorer-module-ata_OBJS) $(workbench-tools-sysexplorer-module-ata_DEPS) \ + $(workbench-tools-sysexplorer-module-ata_MODULE) $(workbench-tools-sysexplorer-module-ata_LINKLIB) $(workbench-tools-sysexplorer-module-ata_KOBJ) \ + $(workbench-tools-sysexplorer-module-ata_OBJDIR)/Makefile.atalibrary \ + $(addprefix $(workbench-tools-sysexplorer-module-ata_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-tools-sysexplorer-module-ata_INCDIR)/,$($(workbench-tools-sysexplorer-module-ata_DEFNAME)_INCLUDES)) \ + $(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_geninc $(workbench-tools-sysexplorer-module-ata_OBJDIR)/ata_incs \ + $(addsuffix .c,$(workbench-tools-sysexplorer-module-ata_LINKLIBFILES)) $(workbench-tools-sysexplorer-module-ata_LINKLIBOBJS) $(workbench-tools-sysexplorer-module-ata_LIBDEFSINC) \ + $(workbench-tools-sysexplorer-module-ata_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-tools-sysexplorer-module-ata_STARTFILES) $(workbench-tools-sysexplorer-module-ata_ENDFILES)) \ + $(workbench-tools-sysexplorer-module-ata_ENDOBJS) +workbench-tools-sysexplorer-module-ata-clean : FILES := $(workbench-tools-sysexplorer-module-ata_TOCLEAN) +workbench-tools-sysexplorer-module-ata-clean :: + $(Q)$(ECHO) "Cleaning up for module ata" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-tools-sysexplorer-module-ata_ALLTARGETS) + + +#MM workbench-tools-sysexplorer-module-ahci : workbench-tools-sysexplorer-includes workbench-tools-sysexplorer-module-storage-includes kernel-ahci-includes +#MM- workbench-tools-sysexplorer-modules : workbench-tools-sysexplorer-module-ahci +#MM- workbench-tools-sysexplorer-modules-quick : workbench-tools-sysexplorer-module-ahci-quick + +USER_INCLUDES := $(SYSEXPCOMMON_INCLUDES) $(SYSEXPSTORAGE_INCLUDES) -I$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR) +USER_LDFLAGS := -static + + +# We will employ a terrifying, but unavoidable, hack here. +# genmf has no concept of conditionals (ie %ifeq), and MetaMake +# ignores GNU Make ifeq() statements, but will process any #MM +# headed lines in the file. +# +# So, to make the following #MM lines conditional on whether we want +# to build the ABI, Library, or both, we define build_abi= and +# build_library as 'M' to enable, or '' to disable, which allows genmf +# to do the following conversions: +# +# #MM includes-foo: foo-include +# becomes, when build_abi=M +# #MM includes-foo: foo-include <= Processed by MetaMake +# but, when build_abi= ... +# #M includes-foo: foo-includes <= ignored by MetaMake! Yes! +# +# Taking full blame for this: Jason S. McMullan + +# Define metamake targets and their dependencies +#MM workbench-tools-sysexplorer-module-ahci +#MM workbench-tools-sysexplorer-module-ahci-quick +#MM workbench-tools-sysexplorer-module-ahci-makefile +#MM workbench-tools-sysexplorer-module-ahci-clean + +# ABI targets: +#MM- includes-all : workbench-tools-sysexplorer-module-ahci-includes +#MM- linklibs-ahci: workbench-tools-sysexplorer-module-ahci-linklib +#MM- linklibs-ahci_rel : workbench-tools-sysexplorer-module-ahci-linklib +#MM- includes-ahci: workbench-tools-sysexplorer-module-ahci-includes +#MM- includes-ahci_rel : workbench-tools-sysexplorer-module-ahci-includes +#MM- workbench-tools-sysexplorer-module-ahci : workbench-tools-sysexplorer-module-ahci-includes core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-ahci-linklib : workbench-tools-sysexplorer-module-ahci-includes includes-amiga +#MM- workbench-tools-sysexplorer-module-ahci-quick : workbench-tools-sysexplorer-module-ahci-includes-quick +#MM workbench-tools-sysexplorer-module-ahci-includes : workbench-tools-sysexplorer-module-ahci-makefile workbench-tools-sysexplorer-module-ahci-includes-dirs \ +#MM includes-generate-deps workbench-tools-sysexplorer-module-ahci-fd +#MM workbench-tools-sysexplorer-module-ahci-includes-quick +#MM workbench-tools-sysexplorer-module-ahci-includes-dirs +#MM workbench-tools-sysexplorer-module-ahci-fd + +# Library targets +#MM workbench-tools-sysexplorer-module-ahci-kobj : core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-ahci-kobj-quick : + +# Library with ABI targets: +#MM workbench-tools-sysexplorer-module-ahci-kobj : workbench-tools-sysexplorer-module-ahci-includes core-linklibs linklibs-amiga +#MM workbench-tools-sysexplorer-module-ahci-kobj-quick : workbench-tools-sysexplorer-module-ahci-includes-quick + +# All MetaMake targets defined by this macro +workbench-tools-sysexplorer-module-ahci_ALLTARGETS := workbench-tools-sysexplorer-module-ahci workbench-tools-sysexplorer-module-ahci-quick workbench-tools-sysexplorer-module-ahci-clean + +ifeq (M,M) +workbench-tools-sysexplorer-module-ahci_ALLTARGETS += workbench-tools-sysexplorer-module-ahci-kobj workbench-tools-sysexplorer-module-ahci-kobj-quick +endif + +ifeq (M,M) +workbench-tools-sysexplorer-module-ahci_ALLTARGETS += workbench-tools-sysexplorer-module-ahci-includes \ + workbench-tools-sysexplorer-module-ahci-includes-quick workbench-tools-sysexplorer-module-ahci-includes-dirs \ + workbench-tools-sysexplorer-module-ahci-linklib workbench-tools-sysexplorer-module-ahci-fd +endif + +.PHONY : $(workbench-tools-sysexplorer-module-ahci_ALLTARGETS) workbench-tools-sysexplorer-module-ahci-makefile + +ifeq (ahci,) +$(error using %build_module: modname may not be empty) +endif +ifeq (library,) +$(error using %build_module: $(MODTYPE) has to be defined with the type of the module) +endif + +# Default values for variables and arguments +ifneq (,) + workbench-tools-sysexplorer-module-ahci_DEFNAME := ahci_ +else + workbench-tools-sysexplorer-module-ahci_DEFNAME := ahci +endif +workbench-tools-sysexplorer-module-ahci_DEFLINKLIBNAME := $(workbench-tools-sysexplorer-module-ahci_DEFNAME) +ifneq (,) + workbench-tools-sysexplorer-module-ahci_LINKLIBNAME := +else + workbench-tools-sysexplorer-module-ahci_LINKLIBNAME = $(workbench-tools-sysexplorer-module-ahci_DEFLINKLIBNAME) +endif +workbench-tools-sysexplorer-module-ahci_DEFCPPFLAGS := $(CPPFLAGS) +ifneq ($(SYSEXP_GENINCDIR),) + workbench-tools-sysexplorer-module-ahci_DEFCPPFLAGS += -I$(SYSEXP_GENINCDIR) +endif +workbench-tools-sysexplorer-module-ahci_DEFDFLAGS := $(CFLAGS) +ifneq (,) + workbench-tools-sysexplorer-module-ahci_DFLAGS := +else + workbench-tools-sysexplorer-module-ahci_DFLAGS = $(workbench-tools-sysexplorer-module-ahci_DEFDFLAGS) +endif +workbench-tools-sysexplorer-module-ahci_DEFDXXFLAGS := $(CXXFLAGS) +ifneq (,) + workbench-tools-sysexplorer-module-ahci_DXXFLAGS := +else + workbench-tools-sysexplorer-module-ahci_DXXFLAGS = $(workbench-tools-sysexplorer-module-ahci_DEFDXXFLAGS) +endif + +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-tools-sysexplorer-module-ahci_DEFDFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-tools-sysexplorer-module-ahci_DEFDFLAGS)) +workbench-tools-sysexplorer-module-ahci_DEFDXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH) $(workbench-tools-sysexplorer-module-ahci_DEFDXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-sysexplorer-module-ahci_FUNCINSTR := yes +workbench-tools-sysexplorer-module-ahci_DEFDFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-tools-sysexplorer-module-ahci_DEFDFLAGS)) +workbench-tools-sysexplorer-module-ahci_DEFDXXFLAGS := $(strip $(FUNCINSTR_FLAGS) $(workbench-tools-sysexplorer-module-ahci_DEFDXXFLAGS)) +endif +endif + +OBJDIR ?= $(GENDIR)/$(CURDIR) +ifneq (,) +workbench-tools-sysexplorer-module-ahci_OBJDIR := +else +workbench-tools-sysexplorer-module-ahci_OBJDIR := $(OBJDIR)/$(workbench-tools-sysexplorer-module-ahci_DEFNAME) +endif +ifneq (,) +workbench-tools-sysexplorer-module-ahci_OBJDIR := $(workbench-tools-sysexplorer-module-ahci_OBJDIR) +endif + +## Create genmodule include Makefile for the module +## +workbench-tools-sysexplorer-module-ahci-makefile := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/Makefile.$(workbench-tools-sysexplorer-module-ahci_DEFNAME)library +workbench-tools-sysexplorer-module-ahci-genmakefile : $(workbench-tools-sysexplorer-module-ahci-makefile) + + +workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS += -f + workbench-tools-sysexplorer-module-ahci-genmakefile_MODNAME := ahci_ +else + workbench-tools-sysexplorer-module-ahci-genmakefile_MODNAME := ahci +endif +workbench-tools-sysexplorer-module-ahci-genmakefile_TARGET := Makefile.$(workbench-tools-sysexplorer-module-ahci-genmakefile_MODNAME)library +workbench-tools-sysexplorer-module-ahci-genmakefile_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf),./) + workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + else + workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + endif +else + workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-ahci-genmakefile_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS += -o + workbench-tools-sysexplorer-module-ahci-genmakefile_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR),) + workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS += -d $(workbench-tools-sysexplorer-module-ahci_OBJDIR) + workbench-tools-sysexplorer-module-ahci-genmakefile_TARGET := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/$(workbench-tools-sysexplorer-module-ahci-genmakefile_TARGET) +endif + +$(workbench-tools-sysexplorer-module-ahci-genmakefile_TARGET) : OPTS := $(workbench-tools-sysexplorer-module-ahci-genmakefile_OPTS) +$(workbench-tools-sysexplorer-module-ahci-genmakefile_TARGET) : MODNAME := ahci +$(workbench-tools-sysexplorer-module-ahci-genmakefile_TARGET) : MODTYPE := library +$(workbench-tools-sysexplorer-module-ahci-genmakefile_TARGET) : $(workbench-tools-sysexplorer-module-ahci-genmakefile_DEPS) + $(Q)$(GENMODULE) $(OPTS) writemakefile $(MODNAME) $(MODTYPE) + + +ifneq ($(workbench-tools-sysexplorer-module-ahci-makefile),) +$(workbench-tools-sysexplorer-module-ahci-makefile) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR) +else +$(workbench-tools-sysexplorer-module-ahci-makefile) :: $(workbench-tools-sysexplorer-module-ahci_OBJDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ahci_OBJDIR) + + +# Do not parse these statements if metatarget is not appropriate +ifneq ($(filter $(TARGET),$(workbench-tools-sysexplorer-module-ahci_ALLTARGETS)),) + +# suppress makes warning that the Makefile doesnt yet exist +# on early passes (it will generate the file as needed though) +# when we include it. +-include $(workbench-tools-sysexplorer-module-ahci-makefile) + +workbench-tools-sysexplorer-module-ahci_DEFMODDIR := $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_MODDIR) +ifeq (no,yes) +workbench-tools-sysexplorer-module-ahci_DEFMODDIR := $(AROS_DIR_ARCH)/$(workbench-tools-sysexplorer-module-ahci_DEFMODDIR) +endif +ifneq ($(AROS_DIR_TOOLS)/SysExpModules,) + workbench-tools-sysexplorer-module-ahci_MODDIR := $(AROS_DIR_TOOLS)/SysExpModules +else + workbench-tools-sysexplorer-module-ahci_MODDIR := $(workbench-tools-sysexplorer-module-ahci_DEFMODDIR) +endif + +## include files generation +## +ifneq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-ahci_INCDIR := $(SYSEXP_GENINCDIR) +else +workbench-tools-sysexplorer-module-ahci_INCDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_INCLUDE) +endif +workbench-tools-sysexplorer-module-ahci_LIBDEFSINC := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_libdefs.h +workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_deflibdefs.h + +ifeq (M,M) +workbench-tools-sysexplorer-module-ahci-includes-quick : workbench-tools-sysexplorer-module-ahci-includes +workbench-tools-sysexplorer-module-ahci-includes : $(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-tools-sysexplorer-module-ahci_INCDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) \ + $(workbench-tools-sysexplorer-module-ahci_LIBDEFSINC) $(workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC) + +ifneq ($($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES),) + +ifneq (,) + workbench-tools-sysexplorer-module-ahci-includes_MODNAME := ahci_ +else + workbench-tools-sysexplorer-module-ahci-includes_MODNAME := ahci +endif + +ifneq ($($(workbench-tools-sysexplorer-module-ahci-includes_MODNAME)_INCLUDES),) + +workbench-tools-sysexplorer-module-ahci-includes_TARGETS := $($(workbench-tools-sysexplorer-module-ahci-includes_MODNAME)_INCLUDES) + +workbench-tools-sysexplorer-module-ahci-includes_DEPS := $(GENMODULE) +workbench-tools-sysexplorer-module-ahci-includes_OPTS := + +ifneq ($(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf),./) + workbench-tools-sysexplorer-module-ahci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-includes_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + else + workbench-tools-sysexplorer-module-ahci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-includes_DEPS += $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + endif +else + workbench-tools-sysexplorer-module-ahci-includes_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-ahci-includes_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-ahci-includes_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-ahci-includes_OPTS += -o + workbench-tools-sysexplorer-module-ahci-includes_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-ahci-includes_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include,) + workbench-tools-sysexplorer-module-ahci-includes_OPTS += -d $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include + workbench-tools-sysexplorer-module-ahci-includes_TARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/,$(workbench-tools-sysexplorer-module-ahci-includes_TARGETS)) + workbench-tools-sysexplorer-module-ahci-includes_GENINCFLAG=$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/.ahci.library-includes +else + workbench-tools-sysexplorer-module-ahci-includes_GENINCFLAG=$(GENDIR)/$(CURDIR)/.ahci.library-includes +endif + +$(workbench-tools-sysexplorer-module-ahci-includes_TARGETS) : $(workbench-tools-sysexplorer-module-ahci-includes_DEPS) $(workbench-tools-sysexplorer-module-ahci-includes_GENINCFLAG) + +$(workbench-tools-sysexplorer-module-ahci-includes_GENINCFLAG) : OPTS := $(workbench-tools-sysexplorer-module-ahci-includes_OPTS) +$(workbench-tools-sysexplorer-module-ahci-includes_GENINCFLAG) : MODNAME := ahci +$(workbench-tools-sysexplorer-module-ahci-includes_GENINCFLAG) : MODTYPE := library +$(workbench-tools-sysexplorer-module-ahci-includes_GENINCFLAG) : $(workbench-tools-sysexplorer-module-ahci-includes_DEPS) + $(Q)$(ECHO) "Generating $(MODNAME).$(MODTYPE) includes" + $(Q)$(GENMODULE) $(OPTS) writeincludes $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ +endif + + +TMP_SRCDIR := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include + +$(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_geninc + +$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_geninc : COPYSRCDIR := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include +$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_geninc : TGTDIR := $(GENINCDIR) +$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_geninc : FILES := $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES) +$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_geninc : $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + + +TMP_SRCDIR := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include + +$(addprefix $(workbench-tools-sysexplorer-module-ahci_INCDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_incs + +$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_incs : COPYSRCDIR := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include +$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_incs : TGTDIR := $(workbench-tools-sysexplorer-module-ahci_INCDIR) +$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_incs : FILES := $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES) +$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_incs : $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) + $(Q)for f in $(FILES); do \ + $(IF) ! $(CMP) -s $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; then \ + $(CP) $(COPYSRCDIR)/$$f $(TGTDIR)/$$f ; \ + fi ; \ + done + $(Q)$(TOUCH) $@ + +workbench-tools-sysexplorer-module-ahci_INCDIRS := $(filter-out ./,$(sort $(dir $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)))) + +TMPahci_INCDIRS := \ + $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/,$(workbench-tools-sysexplorer-module-ahci_INCDIRS)) \ + $(GENINCDIR) $(addprefix $(GENINCDIR)/,$(workbench-tools-sysexplorer-module-ahci_INCDIRS)) \ + $(workbench-tools-sysexplorer-module-ahci_INCDIR) $(addprefix $(workbench-tools-sysexplorer-module-ahci_INCDIR)/,$(workbench-tools-sysexplorer-module-ahci_INCDIRS)) + +ifneq (workbench-tools-sysexplorer-module-ahci-includes-dirs,) +workbench-tools-sysexplorer-module-ahci-includes-dirs : | $(TMPahci_INCDIRS) +else +workbench-tools-sysexplorer-module-ahci-includes-dirs :: $(TMPahci_INCDIRS) +endif + +GLOB_MKDIRS += $(TMPahci_INCDIRS) + + +endif + +endif + + +workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -f + workbench-tools-sysexplorer-module-ahci-genlibdefs_MODNAME := ahci_ +else + workbench-tools-sysexplorer-module-ahci-genlibdefs_MODNAME := ahci +endif +workbench-tools-sysexplorer-module-ahci-genlibdefs_TARGET := $(workbench-tools-sysexplorer-module-ahci-genlibdefs_MODNAME)_libdefs.h +workbench-tools-sysexplorer-module-ahci-genlibdefs_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf),./) + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + else + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + endif +else + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-ahci-genlibdefs_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -o + workbench-tools-sysexplorer-module-ahci-genlibdefs_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include,) + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -d $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include + workbench-tools-sysexplorer-module-ahci-genlibdefs_TARGET := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/$(workbench-tools-sysexplorer-module-ahci-genlibdefs_TARGET) +endif +ifneq (,) + workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS += -v +endif + +$(workbench-tools-sysexplorer-module-ahci-genlibdefs_TARGET) : OPTS := $(workbench-tools-sysexplorer-module-ahci-genlibdefs_OPTS) +$(workbench-tools-sysexplorer-module-ahci-genlibdefs_TARGET) : MODNAME := ahci +$(workbench-tools-sysexplorer-module-ahci-genlibdefs_TARGET) : MODTYPE := library +$(workbench-tools-sysexplorer-module-ahci-genlibdefs_TARGET) : $(workbench-tools-sysexplorer-module-ahci-genlibdefs_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writelibdefs $(MODNAME) $(MODTYPE) + +$(workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC) : FILENAME := $(workbench-tools-sysexplorer-module-ahci_LIBDEFSINC) +$(workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC) : $(workbench-tools-sysexplorer-module-ahci_LIBDEFSINC) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(ECHO) "#define LC_LIBDEFS_FILE \"$(FILENAME)\"" >$@ + +$(workbench-tools-sysexplorer-module-ahci_LIBDEFSINC) $(workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include + +ifneq (workbench-tools-sysexplorer-module-ahci-includes-dirs,) +workbench-tools-sysexplorer-module-ahci-includes-dirs : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include +else +workbench-tools-sysexplorer-module-ahci-includes-dirs :: $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include + + +## Extra genmodule src files generation +## + +workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS := +ifneq (,) + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -f + workbench-tools-sysexplorer-module-ahci-genmodfiles_MODNAME := ahci_ +else + workbench-tools-sysexplorer-module-ahci-genmodfiles_MODNAME := ahci +endif +workbench-tools-sysexplorer-module-ahci-genmodfiles_GENTARGETS := $($(workbench-tools-sysexplorer-module-ahci-genmodfiles_MODNAME)_STARTFILES) $($(workbench-tools-sysexplorer-module-ahci-genmodfiles_MODNAME)_ENDFILES) +workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETS := $($(workbench-tools-sysexplorer-module-ahci-genmodfiles_MODNAME)_LINKLIBFILES) $($(workbench-tools-sysexplorer-module-ahci-genmodfiles_MODNAME)_RELLINKLIBFILES) +workbench-tools-sysexplorer-module-ahci-genmodfiles_GENTARGETS := $(addsuffix .c,$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENTARGETS)) +workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETS := $(addsuffix .c,$(workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETS)) \ + $(addsuffix .S, $($(workbench-tools-sysexplorer-module-ahci-genmodfiles_MODNAME)_LINKLIBAFILES) $($(workbench-tools-sysexplorer-module-ahci-genmodfiles_MODNAME)_RELLINKLIBAFILES)) + +workbench-tools-sysexplorer-module-ahci-genmodfiles_DEPS := $(GENMODULE) +ifneq ($(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf),./) + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + else + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + endif +else + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + workbench-tools-sysexplorer-module-ahci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -o $(SRCDIR)/$(CURDIR)/ + workbench-tools-sysexplorer-module-ahci-genmodfiles_DEPS += $(SRCDIR)/$(CURDIR)/ + else + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -o + workbench-tools-sysexplorer-module-ahci-genmodfiles_DEPS += + endif +endif +ifneq (sysexp,) + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR),) + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -d $(workbench-tools-sysexplorer-module-ahci_OBJDIR) + workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETDIR := $(shell echo $(workbench-tools-sysexplorer-module-ahci_OBJDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-ahci-genmodfiles_GENTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETDIR)/,$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENTARGETS)) + workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG=$(workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETDIR)/.ahci.library-genfiles +else + workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG=$(GENDIR)/$(CURDIR)/.ahci.library-genfiles +endif +ifneq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib,) + workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS += -l $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib + workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETDIR := $(shell echo $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETDIR)/,$(workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETS)) + workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETDIRS += $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib +else +ifneq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR),) + workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETDIR)/,$(workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETS)) +endif +endif + +workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETS := $(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENTARGETS) $(workbench-tools-sysexplorer-module-ahci-genmodfiles_STUBTARGETS) +ifneq ($(workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETDIRS),) +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETS) : | $(workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETDIRS) +endif + +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_TARGETS) : $(workbench-tools-sysexplorer-module-ahci-genmodfiles_DEPS) $(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG) + +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG) : OPTS := $(workbench-tools-sysexplorer-module-ahci-genmodfiles_OPTS) +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG) : MODNAME := ahci +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG) : MODTYPE := library +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG) : $(workbench-tools-sysexplorer-module-ahci-genmodfiles_DEPS) + $(Q)$(ECHO) "Generating support files for module $(MODNAME$(BDID))" + $(Q)$(IF) $(TEST) "$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf" = "lib.conf" && $(TEST) -f lib.conf; then \ + $(ECHO) "WARNING !!! $(CURDIR)/lib.conf may probably be removed"; \ + fi + $(Q)$(IF) $(TEST) -f libdefs.h; then \ + $(ECHO) "WARNING !!! $(CURDIR)/libdefs.h may probably be removed"; \ + fi + $(Q)$(GENMODULE) $(OPTS) writefiles $(MODNAME) $(MODTYPE) + $(Q)$(TOUCH) $@ + +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG) : $(workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC) $(workbench-tools-sysexplorer-module-ahci-makefile) + + +ifneq ($(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG),) +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib +else +$(workbench-tools-sysexplorer-module-ahci-genmodfiles_GENFILEFLAG) :: $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib + + +ifeq (M,M) +## Create FD file +ifeq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-ahci_FDDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_SDK)/$(AROS_DIR_FD) +else +workbench-tools-sysexplorer-module-ahci_FDDIR := $(SYSEXP_GENINCDIR)/../$(AROS_DIR_FD) +endif +workbench-tools-sysexplorer-module-ahci-fd : $(workbench-tools-sysexplorer-module-ahci_FDDIR)/ahci_lib.fd + + +TMP_TARGET := ahci_lib.fd +TMP_DEPS := $(GENMODULE) +TMP_OPTS := +ifneq ($(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf,) + ifeq ($(dir $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf),./) + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/$(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/$(AHCIMODDIR)/ahci.conf + endif +else + TMP_OPTS += -c $(SRCDIR)/$(CURDIR)/ahci.conf + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ahci.conf +endif +ifneq (,) + ifeq ($(dir ),./) + TMP_OPTS += -o $(SRCDIR)/$(CURDIR)/ + TMP_DEPS += $(SRCDIR)/$(CURDIR)/ + else + TMP_OPTS += -o + TMP_DEPS += + endif +endif +ifneq (sysexp,) + TMP_OPTS += -s sysexp +endif +ifneq ($(workbench-tools-sysexplorer-module-ahci_FDDIR),) + TMP_OPTS += -d $(workbench-tools-sysexplorer-module-ahci_FDDIR) + TMP_TARGET := $(workbench-tools-sysexplorer-module-ahci_FDDIR)/$(TMP_TARGET) +endif + +$(TMP_TARGET) : OPTS := $(TMP_OPTS) +$(TMP_TARGET) : MODNAME := ahci +$(TMP_TARGET) : MODTYPE := library +$(TMP_TARGET) : $(TMP_DEPS) + $(Q)$(ECHO) "Generating $(subst $(TARGETDIR)/,,$@)" + $(Q)$(GENMODULE) $(OPTS) writefd $(MODNAME) $(MODTYPE) + +$(workbench-tools-sysexplorer-module-ahci_FDDIR)/ahci_lib.fd : | $(workbench-tools-sysexplorer-module-ahci_FDDIR) + + +ifneq (workbench-tools-sysexplorer-module-ahci-fd-setup,) +workbench-tools-sysexplorer-module-ahci-fd-setup : | $(workbench-tools-sysexplorer-module-ahci_FDDIR) +else +workbench-tools-sysexplorer-module-ahci-fd-setup :: $(workbench-tools-sysexplorer-module-ahci_FDDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ahci_FDDIR) + +endif + +## Compilation +## +workbench-tools-sysexplorer-module-ahci_FILES := $(AHCIFILES) +workbench-tools-sysexplorer-module-ahci_OBJCFILES := +workbench-tools-sysexplorer-module-ahci_CXXFILES := $(basename $(call WILDCARD $(foreach CXX_EXT, $(AROS_CXXEXTS), *.$(CXX_EXT)))) + +workbench-tools-sysexplorer-module-ahci_LIBFILES := +workbench-tools-sysexplorer-module-ahci_LIBS := amiga + +workbench-tools-sysexplorer-module-ahci_FDIRS := $(sort $(dir $(workbench-tools-sysexplorer-module-ahci_FILES))) + +workbench-tools-sysexplorer-module-ahci_FILEMATCH = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +workbench-tools-sysexplorer-module-ahci_MATCHARCH = $(foreach matchfile,$(2),$(foreach archfile,$(1),$(if $(call workbench-tools-sysexplorer-module-ahci_FILEMATCH,$(archfile),$(notdir $(matchfile))),$(matchfile),))) +workbench-tools-sysexplorer-module-ahci_FILTERARCH = $(filter-out $(call workbench-tools-sysexplorer-module-ahci_MATCHARCH,$(1),$(2)),$(2)) +workbench-tools-sysexplorer-module-ahci_STARTFILES := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_STARTFILES)) +workbench-tools-sysexplorer-module-ahci_ENDFILES := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_ENDFILES)) + +workbench-tools-sysexplorer-module-ahci_ARCHOBJS := $(wildcard $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/arch/*.o) +workbench-tools-sysexplorer-module-ahci_LIBARCHOBJS := $(wildcard $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/arch/*.o) +workbench-tools-sysexplorer-module-ahci_ARCHFILES := $(basename $(notdir $(workbench-tools-sysexplorer-module-ahci_ARCHOBJS))) +workbench-tools-sysexplorer-module-ahci_LIBARCHFILES := $(basename $(notdir $(workbench-tools-sysexplorer-module-ahci_LIBARCHOBJS))) +workbench-tools-sysexplorer-module-ahci_C_NARCHFILES := $(call workbench-tools-sysexplorer-module-ahci_FILTERARCH,$(workbench-tools-sysexplorer-module-ahci_ARCHFILES),$(workbench-tools-sysexplorer-module-ahci_FILES)) +workbench-tools-sysexplorer-module-ahci_CXX_NARCHFILES := $(call workbench-tools-sysexplorer-module-ahci_FILTERARCH,$(workbench-tools-sysexplorer-module-ahci_ARCHFILES),$(workbench-tools-sysexplorer-module-ahci_CXXFILES)) +workbench-tools-sysexplorer-module-ahci_OBJC_NARCHFILES := $(call workbench-tools-sysexplorer-module-ahci_FILTERARCH,$(workbench-tools-sysexplorer-module-ahci_ARCHFILES),$(workbench-tools-sysexplorer-module-ahci_OBJCFILES)) +workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES := $(call workbench-tools-sysexplorer-module-ahci_FILTERARCH,$(workbench-tools-sysexplorer-module-ahci_LIBARCHFILES),$(workbench-tools-sysexplorer-module-ahci_LIBFILES)) +workbench-tools-sysexplorer-module-ahci_ARCHNLIBFILES := $(call workbench-tools-sysexplorer-module-ahci_FILTERARCH,$(workbench-tools-sysexplorer-module-ahci_LIBFILES),$(workbench-tools-sysexplorer-module-ahci_LIBARCHFILES)) + +workbench-tools-sysexplorer-module-ahci_CPPFLAGS := $(strip $(CPPFLAGS) -I$(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include -include $(workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC)) +ifneq ($(SYSEXP_GENINCDIR),) +workbench-tools-sysexplorer-module-ahci_CPPFLAGS += -I$(SYSEXP_GENINCDIR) +endif +workbench-tools-sysexplorer-module-ahci_LINKLIBCPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_CPPFLAGS) +workbench-tools-sysexplorer-module-ahci_CPPFLAGS += $(strip $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_CPPFLAGS)) +workbench-tools-sysexplorer-module-ahci_LINKLIBCPPFLAGS += $(strip $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LINKLIBCPPFLAGS)) +workbench-tools-sysexplorer-module-ahci_CFLAGS := $(strip $(CFLAGS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_CFLAGS)) +workbench-tools-sysexplorer-module-ahci_LINKLIBCFLAGS := $(strip $(CFLAGS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LINKLIBCFLAGS)) +workbench-tools-sysexplorer-module-ahci_CXXFLAGS := $(strip $(CXXFLAGS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_CXXFLAGS)) +ifeq (target,target) +ifeq ($(TARGET_LTO),yes) +workbench-tools-sysexplorer-module-ahci_LTOFLAGS ?= $(strip $(LTO_BINARY_CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) $(NOWARN_LTO_TYPE_MISMATCH)) +workbench-tools-sysexplorer-module-ahci_CFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_LTOFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +workbench-tools-sysexplorer-module-ahci_LINKLIBCFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_LTOFLAGS) $(workbench-tools-sysexplorer-module-ahci_LINKLIBCFLAGS)) +workbench-tools-sysexplorer-module-ahci_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_LTOFLAGS) $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS)) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-sysexplorer-module-ahci_SUBSTNULL := +workbench-tools-sysexplorer-module-ahci_SUBSTSPACE := $(workbench-tools-sysexplorer-module-ahci_SUBSTNULL) # +workbench-tools-sysexplorer-module-ahci_SUBSTCOMMA := , +workbench-tools-sysexplorer-module-ahci_INSTRFUNCFLAGS ?= $(strip $(FUNCINSTR_FLAGS) -finstrument-functions-exclude-file-list=$(subst $(workbench-tools-sysexplorer-module-ahci_SUBSTSPACE),$(workbench-tools-sysexplorer-module-ahci_SUBSTCOMMA),$(strip $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_STARTFILES)))) +workbench-tools-sysexplorer-module-ahci_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-tools-sysexplorer-module-ahci_CFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_INSTRFUNCFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +workbench-tools-sysexplorer-module-ahci_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_INSTRFUNCFLAGS) $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS)) +workbench-tools-sysexplorer-module-ahci_LIBS += $(workbench-tools-sysexplorer-module-ahci_INSTRFUNCLIBS) +endif +endif +workbench-tools-sysexplorer-module-ahci_DFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_DFLAGS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_DFLAGS)) +workbench-tools-sysexplorer-module-ahci_LINKLIBDFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_DFLAGS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LINKLIBDFLAGS)) +workbench-tools-sysexplorer-module-ahci_DXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_DXXFLAGS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_DXXFLAGS)) + +ifeq (library,library) + workbench-tools-sysexplorer-module-ahci_LIBSUFFIX := +else + workbench-tools-sysexplorer-module-ahci_LIBSUFFIX := .library +endif + +ifeq (,) +workbench-tools-sysexplorer-module-ahci_LIBDIR := $(AROSDIR)/$(AROS_DIR_DEVELOPER)/$(AROS_DIR_LIB) +else +workbench-tools-sysexplorer-module-ahci_LIBDIR := +endif + +ifeq (M,M) +workbench-tools-sysexplorer-module-ahci_LINKLIBCFILES := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LINKLIBFILES)) +workbench-tools-sysexplorer-module-ahci_LINKLIBAFILES := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LINKLIBAFILES)) +ifeq ($(strip $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LINKLIBFILES) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ahci_ARCHNLIBFILES)),) + workbench-tools-sysexplorer-module-ahci_LINKLIB := +else + workbench-tools-sysexplorer-module-ahci_LINKLIB := $(workbench-tools-sysexplorer-module-ahci_LIBDIR)/libahci$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a + ifneq (ahci,$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)) + workbench-tools-sysexplorer-module-ahci_LINKLIB += $(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a + endif +endif +workbench-tools-sysexplorer-module-ahci_LINKLIBFILES := $(workbench-tools-sysexplorer-module-ahci_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-ahci_LINKLIBAFILES) + +workbench-tools-sysexplorer-module-ahci_RELLINKLIBCFILES := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_RELLINKLIBFILES)) +workbench-tools-sysexplorer-module-ahci_RELLINKLIBAFILES := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_RELLINKLIBAFILES)) +ifeq ($(strip $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_RELLINKLIBFILES) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_RELLINKLIBAFILES) $(workbench-tools-sysexplorer-module-ahci_ARCHNLIBFILES)),) + workbench-tools-sysexplorer-module-ahci_RELLINKLIB := +else + workbench-tools-sysexplorer-module-ahci_RELLINKLIB := $(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a + ifneq (ahci,$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)) + workbench-tools-sysexplorer-module-ahci_RELLINKLIB += $(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a + endif +endif +workbench-tools-sysexplorer-module-ahci_RELLINKLIBFILES := $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBCFILES) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBAFILES) +endif + +workbench-tools-sysexplorer-module-ahci_ENDOBJS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ahci_ENDFILES)) +workbench-tools-sysexplorer-module-ahci_LINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES))) $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/arch/,$(notdir $(workbench-tools-sysexplorer-module-ahci_ARCHNLIBFILES))) $(workbench-tools-sysexplorer-module-ahci_LINKLIBFILES)) \ + +workbench-tools-sysexplorer-module-ahci_RELLINKLIBOBJS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES))) $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/arch/,$(notdir $(workbench-tools-sysexplorer-module-ahci_ARCHNLIBFILES))) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBFILES)) \ + +$(workbench-tools-sysexplorer-module-ahci_LINKLIBFILES) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBFILES) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib +$(workbench-tools-sysexplorer-module-ahci_LINKLIBOBJS) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBOBJS) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib + +workbench-tools-sysexplorer-module-ahci_CCFILES := $(workbench-tools-sysexplorer-module-ahci_C_NARCHFILES) +workbench-tools-sysexplorer-module-ahci_TARGETCCFILES := $(strip $(workbench-tools-sysexplorer-module-ahci_STARTFILES) $(workbench-tools-sysexplorer-module-ahci_ENDFILES)) +workbench-tools-sysexplorer-module-ahci_LINKLIBCCFILES := $(strip $(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES) $(workbench-tools-sysexplorer-module-ahci_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBCFILES)) +workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES := $(strip $(workbench-tools-sysexplorer-module-ahci_LINKLIBCFILES) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBCFILES)) + + +workbench-tools-sysexplorer-module-ahci_CXXABSBASENAMES := $(foreach workbench-tools-sysexplorer-module-ahci_CXXBASE,$(workbench-tools-sysexplorer-module-ahci_CXX_NARCHFILES),$(if $(filter /%,$(workbench-tools-sysexplorer-module-ahci_CXXBASE)),$(workbench-tools-sysexplorer-module-ahci_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-tools-sysexplorer-module-ahci_CXXBASE)))) + +ifneq ($(workbench-tools-sysexplorer-module-ahci_CXXABSBASENAMES),) + +workbench-tools-sysexplorer-module-ahci_CXXBASENAMES := $(basename $(workbench-tools-sysexplorer-module-ahci_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-tools-sysexplorer-module-ahci_MCXX_FILES := $(strip $(foreach workbench-tools-sysexplorer-module-ahci_CXXBASE,$(workbench-tools-sysexplorer-module-ahci_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-tools-sysexplorer-module-ahci_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-tools-sysexplorer-module-ahci_EXT),$(workbench-tools-sysexplorer-module-ahci_CXXBASE))))))) + +ifeq (,) +workbench-tools-sysexplorer-module-ahci_MCXX_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ahci_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR),) + workbench-tools-sysexplorer-module-ahci_CXXTARGETS := $(notdir $(workbench-tools-sysexplorer-module-ahci_CXXBASENAMES:=.o)) + workbench-tools-sysexplorer-module-ahci_CXXDTARGETS := $(notdir $(workbench-tools-sysexplorer-module-ahci_CXXBASENAMES:=.d)) + workbench-tools-sysexplorer-module-ahci_MCXX_WILDCARD := % +else + workbench-tools-sysexplorer-module-ahci_CXXTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ahci_CXXBASENAMES:=.o))) + workbench-tools-sysexplorer-module-ahci_CXXDTARGETS := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ahci_CXXBASENAMES:=.d))) + workbench-tools-sysexplorer-module-ahci_MCXX_WILDCARD := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-tools-sysexplorer-module-ahci_CXXTARGETS) $(workbench-tools-sysexplorer-module-ahci_CXXDTARGETS) : | $(workbench-tools-sysexplorer-module-ahci_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_CPPFLAGS) +workbench-tools-sysexplorer-module-ahci_CXXFLAGS := $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ahci_DXXFLAGS),) + workbench-tools-sysexplorer-module-ahci_DXXFLAGS := $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS) +else + workbench-tools-sysexplorer-module-ahci_DXXFLAGS := $(workbench-tools-sysexplorer-module-ahci_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-tools-sysexplorer-module-ahci_STRIP ?= $(HOST_STRIP) + workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-tools-sysexplorer-module-ahci_CXXCMD:=$(HOST_CXX) + workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-ahci_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS)) + workbench-tools-sysexplorer-module-ahci_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-sysexplorer-module-ahci_DXXFLAGS)) + workbench-tools-sysexplorer-module-ahci_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-tools-sysexplorer-module-ahci_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-sysexplorer-module-ahci_STRIP ?= $(TARGET_STRIP) + workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-tools-sysexplorer-module-ahci_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-ahci_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-tools-sysexplorer-module-ahci_DXXFLAGS := $(workbench-tools-sysexplorer-module-ahci_DXXFLAGS) + workbench-tools-sysexplorer-module-ahci_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-tools-sysexplorer-module-ahci_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-sysexplorer-module-ahci_STRIP ?= $(ECHO) >/dev/null + workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-tools-sysexplorer-module-ahci_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-tools-sysexplorer-module-ahci_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-module-ahci_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS)) + workbench-tools-sysexplorer-module-ahci_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-sysexplorer-module-ahci_DXXFLAGS)) + workbench-tools-sysexplorer-module-ahci_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-tools-sysexplorer-module-ahci_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-tools-sysexplorer-module-ahci_CXXCMD) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-tools-sysexplorer-module-ahci_CXXCMD) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-tools-sysexplorer-module-ahci_CXXCMD) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE) . $(workbench-tools-sysexplorer-module-ahci_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-module-ahci_CXXFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-tools-sysexplorer-module-ahci_CXXCMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ahci_DXXFLAGS) $(workbench-tools-sysexplorer-module-ahci_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR),) + $(foreach workbench-tools-sysexplorer-module-ahci_CXXFILE,$(workbench-tools-sysexplorer-module-ahci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-tools-sysexplorer-module-ahci_CXXFILE))),$(workbench-tools-sysexplorer-module-ahci_CXXFILE)))) +else + $(foreach workbench-tools-sysexplorer-module-ahci_CXXFILE,$(workbench-tools-sysexplorer-module-ahci_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(basename $(workbench-tools-sysexplorer-module-ahci_CXXFILE)))),$(workbench-tools-sysexplorer-module-ahci_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-tools-sysexplorer-module-ahci_OBJC_NARCHFILES),) + +ifeq (,) +workbench-tools-sysexplorer-module-ahci_MOBJC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ahci_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR),) + workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ahci_OBJC_NARCHFILES)) + workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ahci_OBJC_NARCHFILES)) + workbench-tools-sysexplorer-module-ahci_MOBJC_WILDCARD := % +else + workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(workbench-tools-sysexplorer-module-ahci_OBJC_NARCHFILES))) + workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(workbench-tools-sysexplorer-module-ahci_OBJC_NARCHFILES))) + workbench-tools-sysexplorer-module-ahci_MOBJC_WILDCARD := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-tools-sysexplorer-module-ahci_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-tools-sysexplorer-module-ahci_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-module-ahci_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ahci_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-tools-sysexplorer-module-ahci_MOBJC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ahci_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ahci_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-tools-sysexplorer-module-ahci_MOBJC_DIRS),) + workbench-tools-sysexplorer-module-ahci_MOBJC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ahci_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-tools-sysexplorer-module-ahci_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-tools-sysexplorer-module-ahci_CC := $(TARGET_CC) +else + workbench-tools-sysexplorer-module-ahci_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_CPPFLAGS) +workbench-tools-sysexplorer-module-ahci_OBJCFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +workbench-tools-sysexplorer-module-ahci_OBJCFLAGS := $(workbench-tools-sysexplorer-module-ahci_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-tools-sysexplorer-module-ahci_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-tools-sysexplorer-module-ahci_OBJCFLAGS))) +ifeq ($(workbench-tools-sysexplorer-module-ahci_DFLAGS),) + workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +else + workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS := $(workbench-tools-sysexplorer-module-ahci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(workbench-tools-sysexplorer-module-ahci_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-sysexplorer-module-ahci_STRIP ?= $(TARGET_STRIP) + workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-tools-sysexplorer-module-ahci_CC) $(TARGET_SYSROOT)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_OBJCFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS:=$(workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-tools-sysexplorer-module-ahci_STRIP ?= $(HOST_STRIP) + workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_OBJCFLAGS)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(HOST_IQUOTE) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-sysexplorer-module-ahci_STRIP ?= $(ECHO) >/dev/null + workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_OBJCFLAGS)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS)) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ahci_OBJCFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MOBJC_TARGETS) : $(workbench-tools-sysexplorer-module-ahci_MOBJC_WILDCARD).o : $(workbench-tools-sysexplorer-module-ahci_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ahci_MOBJC_DTARGETS) : $(workbench-tools-sysexplorer-module-ahci_MOBJC_WILDCARD).d : $(workbench-tools-sysexplorer-module-ahci_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ahci_OBJCDFLAGS) $(workbench-tools-sysexplorer-module-ahci_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR),) +workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ahci_CCFILES)) +workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ahci_CCFILES)) +workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ahci_CCFILES)))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ahci_CCFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(workbench-tools-sysexplorer-module-ahci_CCFILES))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(workbench-tools-sysexplorer-module-ahci_CCFILES))) +else + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ahci_CCFILES)))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ahci_CCFILES)))) +endif +endif +workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-ahci_CCFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ahci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ahci_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ahci_CCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ahci_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ahci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ahci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ahci_MC_DIRS),) + workbench-tools-sysexplorer-module-ahci_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ahci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-ahci_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_CPPFLAGS) +workbench-tools-sysexplorer-module-ahci_CFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ahci_DFLAGS),) + workbench-tools-sysexplorer-module-ahci_DFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +else + workbench-tools-sysexplorer-module-ahci_DFLAGS := $(workbench-tools-sysexplorer-module-ahci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(workbench-tools-sysexplorer-module-ahci_DFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_DFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_DFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : $(workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ahci_DFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR),) +workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES)) +workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES)) +workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES)))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES))) +else + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES)))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES)))) +endif +endif +workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ahci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ahci_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ahci_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ahci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ahci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ahci_MC_DIRS),) + workbench-tools-sysexplorer-module-ahci_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ahci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-ahci_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_CPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-ahci_CFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ahci_DFLAGS),) + workbench-tools-sysexplorer-module-ahci_DFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +else + workbench-tools-sysexplorer-module-ahci_DFLAGS := $(workbench-tools-sysexplorer-module-ahci_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(workbench-tools-sysexplorer-module-ahci_DFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_DFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_DFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : $(workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ahci_DFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq (,) +workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES)) +workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES)) +workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES)))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES))) +else + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES)))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(patsubst /%,%,$(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES)))) +endif +endif +workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ahci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ahci_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ahci_NLIBARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ahci_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ahci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ahci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ahci_MC_DIRS),) + workbench-tools-sysexplorer-module-ahci_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ahci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-ahci_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_LINKLIBCPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-ahci_CFLAGS := $(workbench-tools-sysexplorer-module-ahci_LINKLIBCFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ahci_LINKLIBDFLAGS),) + workbench-tools-sysexplorer-module-ahci_DFLAGS := $(workbench-tools-sysexplorer-module-ahci_LINKLIBCFLAGS) +else + workbench-tools-sysexplorer-module-ahci_DFLAGS := $(workbench-tools-sysexplorer-module-ahci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(workbench-tools-sysexplorer-module-ahci_DFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_DFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_DFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : $(workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ahci_DFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/% +endif + +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES)) +workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES)) +workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES)))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES)))) +else +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib,) + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES))) +else + workbench-tools-sysexplorer-module-ahci_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(patsubst $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/%,%,$(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES)))) + workbench-tools-sysexplorer-module-ahci_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(patsubst $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/%,%,$(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES)))) +endif +endif +workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ahci_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ahci_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ahci_LINKLIBCCGENFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ahci_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ahci_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ahci_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ahci_MC_DIRS),) + workbench-tools-sysexplorer-module-ahci_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ahci_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-module-ahci_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_LINKLIBCPPFLAGS) -D__AROS__ +workbench-tools-sysexplorer-module-ahci_CFLAGS := $(workbench-tools-sysexplorer-module-ahci_LINKLIBCFLAGS) +ifeq ($(workbench-tools-sysexplorer-module-ahci_LINKLIBDFLAGS),) + workbench-tools-sysexplorer-module-ahci_DFLAGS := $(workbench-tools-sysexplorer-module-ahci_LINKLIBCFLAGS) +else + workbench-tools-sysexplorer-module-ahci_DFLAGS := $(workbench-tools-sysexplorer-module-ahci_LINKLIBDFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(workbench-tools-sysexplorer-module-ahci_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(workbench-tools-sysexplorer-module-ahci_DFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_DFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ahci_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-module-ahci_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-module-ahci_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_CFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-module-ahci_DFLAGS)) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) $(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : workbench-tools-sysexplorer-module-ahci_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-module-ahci_CFLAGS) +$(workbench-tools-sysexplorer-module-ahci_MC_TARGETS) : $(workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-module-ahci_IQUOTE) . $(workbench-tools-sysexplorer-module-ahci_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-module-ahci_MC_DTARGETS) : $(workbench-tools-sysexplorer-module-ahci_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-module-ahci_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-module-ahci_DFLAGS) $(workbench-tools-sysexplorer-module-ahci_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifneq ($(workbench-tools-sysexplorer-module-ahci_LINKLIBAFILES),) + +ifeq ($(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib,) +workbench-tools-sysexplorer-module-ahci-MA_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ahci_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBAFILES)) +workbench-tools-sysexplorer-module-ahci-MA_WILDCARD := % +else +workbench-tools-sysexplorer-module-ahci-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ahci_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBAFILES)))) +workbench-tools-sysexplorer-module-ahci-MA_WILDCARD := $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/% + +# Be sure that all .s files are generated +$(workbench-tools-sysexplorer-module-ahci-MA_TARGETS) : | $(addsuffix .S,$(workbench-tools-sysexplorer-module-ahci_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBAFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-module-ahci-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-module-ahci-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-module-ahci_LINKLIBAFILES) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBAFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-module-ahci-MA_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-module-ahci-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-module-ahci-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-module-ahci-MA_DIRS),) + workbench-tools-sysexplorer-module-ahci-MA_DIRS := $(shell echo $(workbench-tools-sysexplorer-module-ahci-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.S $(workbench-tools-sysexplorer-module-ahci-MA_DIRS) +endif + +endif + +workbench-tools-sysexplorer-module-ahci-MA_ASSEMBLER ?= $(workbench-tools-sysexplorer-module-ahci_ASSEMBLER) + +$(workbench-tools-sysexplorer-module-ahci-MA_TARGETS) : workbench-tools-sysexplorer-module-ahci-MA_CMD:= $(workbench-tools-sysexplorer-module-ahci-MA_ASSEMBLER) + +$(workbench-tools-sysexplorer-module-ahci-MA_TARGETS) : CPPFLAGS := $(CPPFLAGS) +$(workbench-tools-sysexplorer-module-ahci-MA_TARGETS) : AFLAGS := $(AFLAGS) +$(workbench-tools-sysexplorer-module-ahci-MA_TARGETS) : $(workbench-tools-sysexplorer-module-ahci-MA_WILDCARD).o : %.S + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-tools-sysexplorer-module-ahci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-tools-sysexplorer-module-ahci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-tools-sysexplorer-module-ahci-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi +endif + +## Linking +## +ifeq (sysexp,) +workbench-tools-sysexplorer-module-ahci_SUFFIX := library +else +workbench-tools-sysexplorer-module-ahci_SUFFIX := sysexp +endif + +ifeq (target,target) +workbench-tools-sysexplorer-module-ahci_ISA_LDFLAGS := $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-tools-sysexplorer-module-ahci_ISA_LDFLAGS := $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-module-ahci_ISA_LDFLAGS := $(KERNEL_ISA_OBJCFLAGS) +endif + +ifeq (M,M) +# Handlers use dash instead of dot in their names +ifeq ($(workbench-tools-sysexplorer-module-ahci_SUFFIX),handler) +workbench-tools-sysexplorer-module-ahci_MODULE := $(AROSDIR)/$(workbench-tools-sysexplorer-module-ahci_MODDIR)/$(workbench-tools-sysexplorer-module-ahci_DEFNAME)-$(workbench-tools-sysexplorer-module-ahci_SUFFIX) +else +workbench-tools-sysexplorer-module-ahci_MODULE := $(AROSDIR)/$(workbench-tools-sysexplorer-module-ahci_MODDIR)/$(workbench-tools-sysexplorer-module-ahci_DEFNAME).$(workbench-tools-sysexplorer-module-ahci_SUFFIX) +endif +workbench-tools-sysexplorer-module-ahci_KOBJ := $(KOBJSDIR)/$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_$(workbench-tools-sysexplorer-module-ahci_SUFFIX).o +else +workbench-tools-sysexplorer-module-ahci_MODULE := +workbench-tools-sysexplorer-module-ahci_KOBJ := +endif + +workbench-tools-sysexplorer-module-ahci-quick : workbench-tools-sysexplorer-module-ahci +workbench-tools-sysexplorer-module-ahci : $(workbench-tools-sysexplorer-module-ahci_MODULE) $(workbench-tools-sysexplorer-module-ahci_LINKLIB) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIB) +ifeq (M,M) +workbench-tools-sysexplorer-module-ahci-kobj : $(workbench-tools-sysexplorer-module-ahci_KOBJ) $(workbench-tools-sysexplorer-module-ahci_LINKLIB) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIB) +workbench-tools-sysexplorer-module-ahci-kobj-quick : $(workbench-tools-sysexplorer-module-ahci_KOBJ) $(workbench-tools-sysexplorer-module-ahci_LINKLIB) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIB) +endif +ifeq (M,M) +workbench-tools-sysexplorer-module-ahci-linklib : $(workbench-tools-sysexplorer-module-ahci_LINKLIB) $(workbench-tools-sysexplorer-module-ahci_RELLINKLIB) +endif + +workbench-tools-sysexplorer-module-ahci_OBJS := $(addsuffix .o,$(workbench-tools-sysexplorer-module-ahci_STARTFILES)) $(workbench-tools-sysexplorer-module-ahci_ARCHOBJS) \ + $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ahci_C_NARCHFILES:=.o) $(workbench-tools-sysexplorer-module-ahci_CXXFILES:=.o))) + +ifeq (yes,yes) +# Handlers always have entry point +ifneq (library,handler) +workbench-tools-sysexplorer-module-ahci_STARTOBJS := $(addsuffix .o,$(addprefix $(GENDIR)/,$(RESIDENT_BEGIN))) +endif +endif + +# Under Windows con* is a reserved name, it refers to console. Files with such names can't be created. +# This breaks con-handler build. Here we work around this +ifeq (ahci,con) + workbench-tools-sysexplorer-module-ahci_ERR := $(notdir $(workbench-tools-sysexplorer-module-ahci_MODULE)).err +else + workbench-tools-sysexplorer-module-ahci_ERR := ahci.err +endif + +ifeq (M,M) +# The module is linked from all the compiled .o files + +TMP_LDFLAGS := $(LDFLAGS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LDFLAGS) $(workbench-tools-sysexplorer-module-ahci_ISA_LDFLAGS) +# Make a list of the lib files the programs depend on. +# In LDFLAGS remove white space between -L and directory +TMP_DIRS := $(subst -L ,-L,$(strip $(TMP_LDFLAGS))) +# Filter out only the libdirs and remove -L +TMP_DIRS := $(patsubst -L%,%,$(filter -L%,$(TMP_DIRS))) +# Add trailing / +TMP_DIRS := $(subst //,/,$(addsuffix /,$(TMP_DIRS))) +# Add normal linklib path +TMP_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +TMP_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-tools-sysexplorer-module-ahci_LIBS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LIBS))) +# search for the linklibs in the given path, ignore ones not found +TMP_DEPLIBS := $(foreach lib,$(TMP_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(TMP_DIRS)))) \ +) + +$(workbench-tools-sysexplorer-module-ahci_MODULE) : LIB_NAMES := $(workbench-tools-sysexplorer-module-ahci_LIBS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LIBS) +$(workbench-tools-sysexplorer-module-ahci_MODULE) : OBJS := $(workbench-tools-sysexplorer-module-ahci_STARTOBJS) $(workbench-tools-sysexplorer-module-ahci_OBJS) $(USER_OBJS) +$(workbench-tools-sysexplorer-module-ahci_MODULE) : ENDTAG := $(workbench-tools-sysexplorer-module-ahci_ENDOBJS) +$(workbench-tools-sysexplorer-module-ahci_MODULE) : ERR := $(workbench-tools-sysexplorer-module-ahci_ERR) +$(workbench-tools-sysexplorer-module-ahci_MODULE) : OBJDIR := $(workbench-tools-sysexplorer-module-ahci_OBJDIR) +$(workbench-tools-sysexplorer-module-ahci_MODULE) : LDFLAGS := $(TMP_LDFLAGS) +ifeq (,) +$(workbench-tools-sysexplorer-module-ahci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) +else +# Warning: the -L/usr/lib here can result in modules +# linking against host libs instead of AROS libs (e.g stdc++) !! +$(workbench-tools-sysexplorer-module-ahci_MODULE) : LIBS := $(addprefix -l,$(LIB_NAMES)) \ + -L/usr/lib $(addprefix -l,) +endif +$(workbench-tools-sysexplorer-module-ahci_MODULE) : $(workbench-tools-sysexplorer-module-ahci_STARTOBJS) $(workbench-tools-sysexplorer-module-ahci_OBJS) $(USER_OBJS) $(workbench-tools-sysexplorer-module-ahci_ENDOBJS) $(TMP_DEPLIBS) $(USER_DEPLIBS) + $(Q)$(ECHO) "Building $(subst $(TARGETDIR)/,,$@) ..." + $(Q)$(IF) $(workbench-tools-sysexplorer-module-ahci_LINK) $(NOSTARTUP_LDFLAGS) \ + $(GENMAP) $(OBJDIR)/$(MODULE).map \ + $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) \ + -o $@ 2>&1 > $(OBJDIR)/$(ERR) 2>&1 ; \ + then \ + cat $(OBJDIR)/$(ERR); \ + else \ + echo "$(workbench-tools-sysexplorer-module-ahci_LINK) $(NOSTARTUP_LDFLAGS) $(GENMAP) $(OBJDIR)/$(MODULE).map $(OBJS) $(LIBS) $(LDFLAGS) $(ENDTAG) -o $@"; \ + cat $(OBJDIR)/$(ERR); \ + exit 1; \ + fi + $(Q)$(IF) $(TEST) ! -s $(OBJDIR)/$(ERR) ; then $(RM) $(OBJDIR)/$(ERR) ; fi + $(Q)$(IF) $(TEST) "$(STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(STRIP) $@ --only-keep-debug -o $@.dbg ; \ + fi ; \ + $(STRIP) $@ ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $@.dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$@.dbg $@ ; \ + fi ; \ + fi ; \ + fi + +endif + +ifeq (M,M) +# Link static lib +workbench-tools-sysexplorer-module-ahci_LC_LINKLIBNAME := $(shell echo $(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME) | tr A-Z a-z) +workbench-tools-sysexplorer-module-ahci_LC_MODNAME := $(shell echo ahci | tr A-Z a-z) +ifneq ($(workbench-tools-sysexplorer-module-ahci_LINKLIB),) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-ahci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-ahci_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-ahci_RANLIB) $@ +ifneq ($(workbench-tools-sysexplorer-module-ahci_LC_MODNAME),$(workbench-tools-sysexplorer-module-ahci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/libahci$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/libahci$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/libahci$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/libahci$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/libahci$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/libahci$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/libahci$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-ahci_LINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-ahci_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-ahci_RANLIB) $@ +endif + + +ifneq ($(workbench-tools-sysexplorer-module-ahci_LINKLIB),) +$(workbench-tools-sysexplorer-module-ahci_LINKLIB) : | $(workbench-tools-sysexplorer-module-ahci_LIBDIR) +else +$(workbench-tools-sysexplorer-module-ahci_LINKLIB) :: $(workbench-tools-sysexplorer-module-ahci_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ahci_LIBDIR) + +endif + +ifneq ($(workbench-tools-sysexplorer-module-ahci_RELLINKLIB),) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_LINKLIBNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-ahci_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-ahci_RANLIB) $@ +ifneq ($(workbench-tools-sysexplorer-module-ahci_LC_MODNAME),$(workbench-tools-sysexplorer-module-ahci_LC_LINKLIBNAME)) + +ifeq (target,target) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(RANLIB) +endif +ifeq (target,host) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(HOST_AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(HOST_RANLIB) +endif +ifeq (target,kernel) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_AR:=$(KERNEL_AR) +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : workbench-tools-sysexplorer-module-ahci_RANLIB:=$(KERNEL_RANLIB) +endif + +$(workbench-tools-sysexplorer-module-ahci_LIBDIR)/lib$(workbench-tools-sysexplorer-module-ahci_DEFNAME)_rel$(workbench-tools-sysexplorer-module-ahci_LIBSUFFIX).a : $(workbench-tools-sysexplorer-module-ahci_RELLINKLIBOBJS) + $(Q)$(ECHO) "Creating $(subst $(TARGETDIR)/,,$@)..." + $(Q)$(workbench-tools-sysexplorer-module-ahci_AR) $@ $^ + $(Q)$(workbench-tools-sysexplorer-module-ahci_RANLIB) $@ +endif + + +ifneq ($(workbench-tools-sysexplorer-module-ahci_RELLINKLIB),) +$(workbench-tools-sysexplorer-module-ahci_RELLINKLIB) : | $(workbench-tools-sysexplorer-module-ahci_LIBDIR) +else +$(workbench-tools-sysexplorer-module-ahci_RELLINKLIB) :: $(workbench-tools-sysexplorer-module-ahci_LIBDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ahci_LIBDIR) + +endif +endif + +ifeq (M,M) +# Link kernel object file +workbench-tools-sysexplorer-module-ahci_KAUTOLIB := dos intuition layers graphics oop utility expansion keymap + +# Make these symbols local +workbench-tools-sysexplorer-module-ahci_KBASE := DOSBase IntuitionBase LayersBase GfxBase OOPBase \ + UtilityBase ExpansionBase KeymapBase KernelBase + +workbench-tools-sysexplorer-module-ahci_SYMBOLS := $(workbench-tools-sysexplorer-module-ahci_KBASE) + +workbench-tools-sysexplorer-module-ahci_KLIB := hiddstubs amiga arossupport autoinit libinit +workbench-tools-sysexplorer-module-ahci_KOBJ_LIBS := $(filter-out $(workbench-tools-sysexplorer-module-ahci_KLIB),$(workbench-tools-sysexplorer-module-ahci_LIBS)) $(workbench-tools-sysexplorer-module-ahci_KAUTOLIB) +$(workbench-tools-sysexplorer-module-ahci_KOBJ) : LINKLIBS:=$(workbench-tools-sysexplorer-module-ahci_KOBJ_LIBS) $($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_LIBS) +$(workbench-tools-sysexplorer-module-ahci_KOBJ) : FILTBASES:=$(addprefix -L ,$(workbench-tools-sysexplorer-module-ahci_SYMBOLS)) +$(workbench-tools-sysexplorer-module-ahci_KOBJ) : USER_LDFLAGS:=$(USER_LDFLAGS) +$(workbench-tools-sysexplorer-module-ahci_KOBJ) : $(workbench-tools-sysexplorer-module-ahci_OBJS) $(USER_OBJS) $(workbench-tools-sysexplorer-module-ahci_ENDOBJS) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$@)" + $(Q)$(AROS_LD) -Ur -o $@ $^ $(USER_LDFLAGS) -L$(AROS_LIB) $(addprefix -l,$(LINKLIBS)) + $(Q)$(OBJCOPY) $@ $(FILTBASES) `$(NM_PLAIN) $@ | $(AWK) '($$3 ~ /^__.*_(LIST|END)__\r?$$/) || ($$3 ~ /^__aros_lib.*\r?$$/) {print "-L " $$3;}'` +endif + +## Dependency fine-tuning +## +workbench-tools-sysexplorer-module-ahci_DEPS := $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-module-ahci_CCFILES:=.d) $(workbench-tools-sysexplorer-module-ahci_TARGETCCFILES:=.d) $(workbench-tools-sysexplorer-module-ahci_CXXFILES:=.d))) $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib/,$(notdir $(workbench-tools-sysexplorer-module-ahci_LINKLIBCCFILES:=.d))) + +ifneq ($(workbench-tools-sysexplorer-module-ahci_DEPS),) + ifneq (workbench-tools-sysexplorer-module-ahci workbench-tools-sysexplorer-module-ahci-quick workbench-tools-sysexplorer-module-ahci-kobj workbench-tools-sysexplorer-module-ahci-kobj-quick,) + ifneq ($(findstring $(TARGET),workbench-tools-sysexplorer-module-ahci workbench-tools-sysexplorer-module-ahci-quick workbench-tools-sysexplorer-module-ahci-kobj workbench-tools-sysexplorer-module-ahci-kobj-quick),) + -include $(workbench-tools-sysexplorer-module-ahci_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-tools-sysexplorer-module-ahci_DEPS) + endif + endif +endif + +$(workbench-tools-sysexplorer-module-ahci_OBJS) $(workbench-tools-sysexplorer-module-ahci_DEPS) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/linklib + +ifneq ($(workbench-tools-sysexplorer-module-ahci_OBJS) $(workbench-tools-sysexplorer-module-ahci_DEPS) $(workbench-tools-sysexplorer-module-ahci_MODULE) $(workbench-tools-sysexplorer-module-ahci_KOBJ),) +$(workbench-tools-sysexplorer-module-ahci_OBJS) $(workbench-tools-sysexplorer-module-ahci_DEPS) $(workbench-tools-sysexplorer-module-ahci_MODULE) $(workbench-tools-sysexplorer-module-ahci_KOBJ) : | $(workbench-tools-sysexplorer-module-ahci_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-ahci_MODDIR) $(KOBJSDIR) +else +$(workbench-tools-sysexplorer-module-ahci_OBJS) $(workbench-tools-sysexplorer-module-ahci_DEPS) $(workbench-tools-sysexplorer-module-ahci_MODULE) $(workbench-tools-sysexplorer-module-ahci_KOBJ) :: $(workbench-tools-sysexplorer-module-ahci_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-ahci_MODDIR) $(KOBJSDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-module-ahci_OBJDIR) $(AROSDIR)/$(workbench-tools-sysexplorer-module-ahci_MODDIR) $(KOBJSDIR) + + +# Some include files need to be generated before the .c can be parsed. +ifneq ($(filter $(TARGET),workbench-tools-sysexplorer-module-ahci workbench-tools-sysexplorer-module-ahci-includes workbench-tools-sysexplorer-module-ahci-quick workbench-tools-sysexplorer-module-ahci-kobj workbench-tools-sysexplorer-module-ahci-kobj-quick),) # Only for this target these deps are wanted + +workbench-tools-sysexplorer-module-ahci_DFILE_DEPS := $(workbench-tools-sysexplorer-module-ahci_LIBDEFSINC) $(workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC) \ + $(addprefix $(workbench-tools-sysexplorer-module-ahci_INCDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) +$(workbench-tools-sysexplorer-module-ahci_DEPS) : $(workbench-tools-sysexplorer-module-ahci_DFILE_DEPS) +endif + +workbench-tools-sysexplorer-module-ahci_TOCLEAN := $(workbench-tools-sysexplorer-module-ahci_OBJS) $(workbench-tools-sysexplorer-module-ahci_DEPS) \ + $(workbench-tools-sysexplorer-module-ahci_MODULE) $(workbench-tools-sysexplorer-module-ahci_LINKLIB) $(workbench-tools-sysexplorer-module-ahci_KOBJ) \ + $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/Makefile.ahcilibrary \ + $(addprefix $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/include/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) \ + $(addprefix $(GENINCDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) \ + $(addprefix $(workbench-tools-sysexplorer-module-ahci_INCDIR)/,$($(workbench-tools-sysexplorer-module-ahci_DEFNAME)_INCLUDES)) \ + $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_geninc $(workbench-tools-sysexplorer-module-ahci_OBJDIR)/ahci_incs \ + $(addsuffix .c,$(workbench-tools-sysexplorer-module-ahci_LINKLIBFILES)) $(workbench-tools-sysexplorer-module-ahci_LINKLIBOBJS) $(workbench-tools-sysexplorer-module-ahci_LIBDEFSINC) \ + $(workbench-tools-sysexplorer-module-ahci_DEFLIBDEFSINC) $(addsuffix .c,$(workbench-tools-sysexplorer-module-ahci_STARTFILES) $(workbench-tools-sysexplorer-module-ahci_ENDFILES)) \ + $(workbench-tools-sysexplorer-module-ahci_ENDOBJS) +workbench-tools-sysexplorer-module-ahci-clean : FILES := $(workbench-tools-sysexplorer-module-ahci_TOCLEAN) +workbench-tools-sysexplorer-module-ahci-clean :: + $(Q)$(ECHO) "Cleaning up for module ahci" + $(Q)$(RM) $(FILES) + +endif # $(TARGET) in $(workbench-tools-sysexplorer-module-ahci_ALLTARGETS) + + +#MM workbench-tools-sysexplorer-gen-includes : workbench-tools-sysexplorer-gen-setup +#MM- workbench-tools-sysexplorer-includes : workbench-tools-sysexplorer-gen-includes + +##MM +##workbench-tools-sysexplorer-gen-includes: +##%rule_genmodule_makefile modname=sysexp modtype=library +##-include $(%(mmake)_OBJDIR)/Makefile.%(modname)%(modtype) +##%rule_genmodule_genlibdefs modname=sysexp modtype=library +##%rule_genmodule_includes modname=sysexp modtype=library + +#MM +workbench-tools-sysexplorer-gen-includes: $(GENDIR)/$(CURDIR)/.includes-generated + +$(GENDIR)/$(CURDIR)/.includes-generated : $(GENMODULE) $(SRCDIR)/$(CURDIR)/sysexp.conf + @$(ECHO) "Generating SysExp.library Private API headers..." + @$(GENMODULE) -c $(SRCDIR)/$(CURDIR)/sysexp.conf -d $(SYSEXP_GENINCDIR) writeincludes sysexp library + @$(GENMODULE) -c $(SRCDIR)/$(CURDIR)/sysexp.conf -d $(SYSEXP_GENINCDIR) writelibdefs sysexp library + @$(TOUCH) $@ + +#MM +workbench-tools-sysexplorer-gen-setup: + $(Q)$(FOR) dir in $(SYSEXP_GENINCDIR)/clib $(SYSEXP_GENINCDIR)/defines $(SYSEXP_GENINCDIR)/inline $(SYSEXP_GENINCDIR)/proto ; do \ + $(IF) $(TEST) ! -d $$dir ; then $(MKDIR) $$dir ; else $(NOP) ; fi ; \ + done + +#MM workbench-tools-sysexplorer-app : iconset-$(AROS_TARGET_ICONSET)-additional-icons-aros-tools-SysExplorer kernel-hidd-storage-includes + +USER_INCLUDES := $(SYSEXPCOMMON_INCLUDES) +USER_LDFLAGS := + +.PHONY : workbench-tools-sysexplorer-app + +workbench-tools-sysexplorer-app_PROGNAME := SysExplorer +workbench-tools-sysexplorer-app_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-tools-sysexplorer-app_TARGETDIR := $(EXEDIR) +workbench-tools-sysexplorer-app_LINKER := +workbench-tools-sysexplorer-app_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-tools-sysexplorer-app_LINKER),) + workbench-tools-sysexplorer-app_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-tools-sysexplorer-app_FILES := $(FILES) + workbench-tools-sysexplorer-app_OBJCFILES := + workbench-tools-sysexplorer-app_ASMFILES := + workbench-tools-sysexplorer-app_CXXFILES := +else + workbench-tools-sysexplorer-app_FILES := $(workbench-tools-sysexplorer-app_PROGNAME) + workbench-tools-sysexplorer-app_OBJCFILES := + workbench-tools-sysexplorer-app_ASMFILES := + workbench-tools-sysexplorer-app_CXXFILES := +endif + +workbench-tools-sysexplorer-app_ARCHOBJS := $(wildcard $(workbench-tools-sysexplorer-app_OBJDIR)/arch/*.o) +workbench-tools-sysexplorer-app_ARCHFILES := $(basename $(notdir $(workbench-tools-sysexplorer-app_ARCHOBJS))) +workbench-tools-sysexplorer-app_C_NARCHFILES := $(filter-out $(workbench-tools-sysexplorer-app_ARCHFILES),$(workbench-tools-sysexplorer-app_FILES)) +workbench-tools-sysexplorer-app_CXX_NARCHFILES := $(filter-out $(workbench-tools-sysexplorer-app_ARCHFILES),$(workbench-tools-sysexplorer-app_CXXFILES)) +workbench-tools-sysexplorer-app_OBJC_NARCHFILES := $(filter-out $(workbench-tools-sysexplorer-app_ARCHFILES),$(workbench-tools-sysexplorer-app_OBJCFILES)) + +TMP_FILES := $(workbench-tools-sysexplorer-app_C_NARCHFILES) $(workbench-tools-sysexplorer-app_CXX_NARCHFILES) $(workbench-tools-sysexplorer-app_ASMFILES) $(workbench-tools-sysexplorer-app_OBJC_NARCHFILES) +workbench-tools-sysexplorer-app_OBJS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-tools-sysexplorer-app_DEPS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-tools-sysexplorer-app_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-tools-sysexplorer-app_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-sysexplorer-app_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-tools-sysexplorer-app_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-app_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-tools-sysexplorer-app_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-sysexplorer-app_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-tools-sysexplorer-app_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-app_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-tools-sysexplorer-app_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-sysexplorer-app_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-tools-sysexplorer-app_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-app_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-tools-sysexplorer-app_LDFLAGS := +endif + +workbench-tools-sysexplorer-app_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-tools-sysexplorer-app_COVERAGE := yes +workbench-tools-sysexplorer-app_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-tools-sysexplorer-app_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-tools-sysexplorer-app_CFLAGS := $(strip $(workbench-tools-sysexplorer-app_COVERAGEFLAGS) $(workbench-tools-sysexplorer-app_CFLAGS)) +workbench-tools-sysexplorer-app_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-app_COVERAGEFLAGS) $(workbench-tools-sysexplorer-app_CXXFLAGS)) +workbench-tools-sysexplorer-app_LIBS += $(workbench-tools-sysexplorer-app_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-sysexplorer-app_FUNCINSTR := yes +workbench-tools-sysexplorer-app_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-tools-sysexplorer-app_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-tools-sysexplorer-app_CFLAGS := $(strip $(workbench-tools-sysexplorer-app_INSTRFUNCFLAGS) $(workbench-tools-sysexplorer-app_CFLAGS)) +workbench-tools-sysexplorer-app_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-app_INSTRFUNCFLAGS) $(workbench-tools-sysexplorer-app_CXXFLAGS)) +workbench-tools-sysexplorer-app_LIBS += $(workbench-tools-sysexplorer-app_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-tools-sysexplorer-app_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-tools-sysexplorer-app_CFLAGS)) +workbench-tools-sysexplorer-app_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-tools-sysexplorer-app_CXXFLAGS)) +endif +endif +workbench-tools-sysexplorer-app_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-tools-sysexplorer-app_DFLAGS := +else + workbench-tools-sysexplorer-app_DFLAGS := $(workbench-tools-sysexplorer-app_CFLAGS) +endif +ifneq (,) + workbench-tools-sysexplorer-app_DXXFLAGS := +else + workbench-tools-sysexplorer-app_DXXFLAGS := $(workbench-tools-sysexplorer-app_CXXFLAGS) +endif +ifeq (target,target) +workbench-tools-sysexplorer-app_LDFLAGS := $(workbench-tools-sysexplorer-app_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-tools-sysexplorer-app_LDFLAGS := $(workbench-tools-sysexplorer-app_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-app_LDFLAGS := $(workbench-tools-sysexplorer-app_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-tools-sysexplorer-app_LDFLAGS += -L +endif + +#MM +workbench-tools-sysexplorer-app-quick : workbench-tools-sysexplorer-app + +#MM workbench-tools-sysexplorer-app : includes-generate-deps core-linklibs +workbench-tools-sysexplorer-app : $(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-tools-sysexplorer-app workbench-tools-sysexplorer-app-quick workbench-tools-sysexplorer-app-gz-quick),) + +workbench-tools-sysexplorer-app_CXXABSBASENAMES := $(foreach workbench-tools-sysexplorer-app_CXXBASE,$(workbench-tools-sysexplorer-app_CXX_NARCHFILES),$(if $(filter /%,$(workbench-tools-sysexplorer-app_CXXBASE)),$(workbench-tools-sysexplorer-app_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-tools-sysexplorer-app_CXXBASE)))) + +ifneq ($(workbench-tools-sysexplorer-app_CXXABSBASENAMES),) + +workbench-tools-sysexplorer-app_CXXBASENAMES := $(basename $(workbench-tools-sysexplorer-app_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-tools-sysexplorer-app_MCXX_FILES := $(strip $(foreach workbench-tools-sysexplorer-app_CXXBASE,$(workbench-tools-sysexplorer-app_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-tools-sysexplorer-app_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-tools-sysexplorer-app_EXT),$(workbench-tools-sysexplorer-app_CXXBASE))))))) + +ifeq (,) +workbench-tools-sysexplorer-app_MCXX_SRCWILDCARD := % +else +workbench-tools-sysexplorer-app_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-app_OBJDIR),) + workbench-tools-sysexplorer-app_CXXTARGETS := $(notdir $(workbench-tools-sysexplorer-app_CXXBASENAMES:=.o)) + workbench-tools-sysexplorer-app_CXXDTARGETS := $(notdir $(workbench-tools-sysexplorer-app_CXXBASENAMES:=.d)) + workbench-tools-sysexplorer-app_MCXX_WILDCARD := % +else + workbench-tools-sysexplorer-app_CXXTARGETS := $(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-app_CXXBASENAMES:=.o))) + workbench-tools-sysexplorer-app_CXXDTARGETS := $(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-app_CXXBASENAMES:=.d))) + workbench-tools-sysexplorer-app_MCXX_WILDCARD := $(workbench-tools-sysexplorer-app_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-tools-sysexplorer-app_CXXTARGETS) $(workbench-tools-sysexplorer-app_CXXDTARGETS) : | $(workbench-tools-sysexplorer-app_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-tools-sysexplorer-app_MCXX_CPPFLAGS := $(workbench-tools-sysexplorer-app_CPPFLAGS) +workbench-tools-sysexplorer-app_CXXFLAGS := $(workbench-tools-sysexplorer-app_CXXFLAGS) +ifeq ($(workbench-tools-sysexplorer-app_DXXFLAGS),) + workbench-tools-sysexplorer-app_DXXFLAGS := $(workbench-tools-sysexplorer-app_CXXFLAGS) +else + workbench-tools-sysexplorer-app_DXXFLAGS := $(workbench-tools-sysexplorer-app_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-tools-sysexplorer-app_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-tools-sysexplorer-app_STRIP ?= $(HOST_STRIP) + workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-tools-sysexplorer-app_CXXCMD:=$(HOST_CXX) + workbench-tools-sysexplorer-app_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-app_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-app_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-app_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-sysexplorer-app_CXXFLAGS)) + workbench-tools-sysexplorer-app_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-sysexplorer-app_DXXFLAGS)) + workbench-tools-sysexplorer-app_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-tools-sysexplorer-app_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-tools-sysexplorer-app_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-sysexplorer-app_STRIP ?= $(TARGET_STRIP) + workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-tools-sysexplorer-app_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-tools-sysexplorer-app_MCXX_CPPFLAGS := $(strip $(workbench-tools-sysexplorer-app_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-app_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-app_CXXFLAGS := $(strip $(workbench-tools-sysexplorer-app_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-tools-sysexplorer-app_DXXFLAGS := $(workbench-tools-sysexplorer-app_DXXFLAGS) + workbench-tools-sysexplorer-app_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-tools-sysexplorer-app_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-tools-sysexplorer-app_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-sysexplorer-app_STRIP ?= $(ECHO) >/dev/null + workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-tools-sysexplorer-app_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-tools-sysexplorer-app_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-app_MCXX_CPPFLAGS) $(workbench-tools-sysexplorer-app_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-sysexplorer-app_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-sysexplorer-app_CXXFLAGS)) + workbench-tools-sysexplorer-app_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-sysexplorer-app_DXXFLAGS)) + workbench-tools-sysexplorer-app_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-tools-sysexplorer-app_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-tools-sysexplorer-app_CXXCMD) $(workbench-tools-sysexplorer-app_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-app_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_CXXIQUOTE) . $(workbench-tools-sysexplorer-app_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-app_CXXFLAGS) $(workbench-tools-sysexplorer-app_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-tools-sysexplorer-app_CXXCMD) $(workbench-tools-sysexplorer-app_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-app_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_CXXIQUOTE) . $(workbench-tools-sysexplorer-app_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-app_CXXFLAGS) $(workbench-tools-sysexplorer-app_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-tools-sysexplorer-app_CXXCMD) $(workbench-tools-sysexplorer-app_CXXIQUOTE) $(dir $(2)) $(workbench-tools-sysexplorer-app_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_CXXIQUOTE) . $(workbench-tools-sysexplorer-app_CXXIQUOTE_END) $(strip $(workbench-tools-sysexplorer-app_CXXFLAGS) $(workbench-tools-sysexplorer-app_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-tools-sysexplorer-app_CXXCMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-app_DXXFLAGS) $(workbench-tools-sysexplorer-app_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-tools-sysexplorer-app_OBJDIR),) + $(foreach workbench-tools-sysexplorer-app_CXXFILE,$(workbench-tools-sysexplorer-app_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-tools-sysexplorer-app_CXXFILE))),$(workbench-tools-sysexplorer-app_CXXFILE)))) +else + $(foreach workbench-tools-sysexplorer-app_CXXFILE,$(workbench-tools-sysexplorer-app_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(notdir $(basename $(workbench-tools-sysexplorer-app_CXXFILE)))),$(workbench-tools-sysexplorer-app_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-tools-sysexplorer-app_OBJC_NARCHFILES),) + +ifeq (,) +workbench-tools-sysexplorer-app_MOBJC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-app_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-app_OBJDIR),) + workbench-tools-sysexplorer-app_MOBJC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-app_OBJC_NARCHFILES)) + workbench-tools-sysexplorer-app_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-app_OBJC_NARCHFILES)) + workbench-tools-sysexplorer-app_MOBJC_WILDCARD := % +else + workbench-tools-sysexplorer-app_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(workbench-tools-sysexplorer-app_OBJC_NARCHFILES))) + workbench-tools-sysexplorer-app_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(workbench-tools-sysexplorer-app_OBJC_NARCHFILES))) + workbench-tools-sysexplorer-app_MOBJC_WILDCARD := $(workbench-tools-sysexplorer-app_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-tools-sysexplorer-app_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-tools-sysexplorer-app_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-sysexplorer-app_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-app_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-tools-sysexplorer-app_MOBJC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-app_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-app_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-tools-sysexplorer-app_MOBJC_DIRS),) + workbench-tools-sysexplorer-app_MOBJC_DIRS := $(shell echo $(workbench-tools-sysexplorer-app_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-tools-sysexplorer-app_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-tools-sysexplorer-app_CC := $(TARGET_CC) +else + workbench-tools-sysexplorer-app_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS := $(workbench-tools-sysexplorer-app_CPPFLAGS) +workbench-tools-sysexplorer-app_OBJCFLAGS := $(workbench-tools-sysexplorer-app_CFLAGS) +workbench-tools-sysexplorer-app_OBJCFLAGS := $(workbench-tools-sysexplorer-app_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-tools-sysexplorer-app_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-tools-sysexplorer-app_OBJCFLAGS))) +ifeq ($(workbench-tools-sysexplorer-app_DFLAGS),) + workbench-tools-sysexplorer-app_OBJCDFLAGS := $(workbench-tools-sysexplorer-app_CFLAGS) +else + workbench-tools-sysexplorer-app_OBJCDFLAGS := $(workbench-tools-sysexplorer-app_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-tools-sysexplorer-app_LINK ?= $(strip $(workbench-tools-sysexplorer-app_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-sysexplorer-app_STRIP ?= $(TARGET_STRIP) + workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-tools-sysexplorer-app_CC) $(TARGET_SYSROOT)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_OBJCFLAGS:=$(strip $(workbench-tools-sysexplorer-app_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_OBJCDFLAGS:=$(workbench-tools-sysexplorer-app_OBJCDFLAGS) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-tools-sysexplorer-app_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-tools-sysexplorer-app_STRIP ?= $(HOST_STRIP) + workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-app_OBJCFLAGS)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-app_OBJCDFLAGS)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE:=$(HOST_IQUOTE) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-tools-sysexplorer-app_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-sysexplorer-app_STRIP ?= $(ECHO) >/dev/null + workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-app_OBJCFLAGS)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-app_OBJCDFLAGS)) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-tools-sysexplorer-app_MOBJC_TARGETS) $(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-app_MOBJC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS) +$(workbench-tools-sysexplorer-app_MOBJC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-app_OBJCFLAGS) +$(workbench-tools-sysexplorer-app_MOBJC_TARGETS) : $(workbench-tools-sysexplorer-app_MOBJC_WILDCARD).o : $(workbench-tools-sysexplorer-app_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-app_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-app_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_IQUOTE) . $(workbench-tools-sysexplorer-app_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-app_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-app_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_IQUOTE) . $(workbench-tools-sysexplorer-app_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-app_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-app_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_IQUOTE) . $(workbench-tools-sysexplorer-app_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-app_MOBJC_DTARGETS) : $(workbench-tools-sysexplorer-app_MOBJC_WILDCARD).d : $(workbench-tools-sysexplorer-app_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-app_OBJCDFLAGS) $(workbench-tools-sysexplorer-app_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-tools-sysexplorer-app_MC_SRCWILDCARD := % +else +workbench-tools-sysexplorer-app_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-sysexplorer-app_OBJDIR),) +workbench-tools-sysexplorer-app_MC_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-app_C_NARCHFILES)) +workbench-tools-sysexplorer-app_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-sysexplorer-app_C_NARCHFILES)) +workbench-tools-sysexplorer-app_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-sysexplorer-app_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-app_C_NARCHFILES)))) + workbench-tools-sysexplorer-app_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-app_C_NARCHFILES)))) +else +ifeq (,) + workbench-tools-sysexplorer-app_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(workbench-tools-sysexplorer-app_C_NARCHFILES))) + workbench-tools-sysexplorer-app_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(workbench-tools-sysexplorer-app_C_NARCHFILES))) +else + workbench-tools-sysexplorer-app_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-app_C_NARCHFILES)))) + workbench-tools-sysexplorer-app_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-sysexplorer-app_C_NARCHFILES)))) +endif +endif +workbench-tools-sysexplorer-app_MC_TGTWILDCARD := $(workbench-tools-sysexplorer-app_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-sysexplorer-app_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-app_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-app_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-app_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-app_MC_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-app_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-app_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-app_MC_DIRS),) + workbench-tools-sysexplorer-app_MC_DIRS := $(shell echo $(workbench-tools-sysexplorer-app_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-sysexplorer-app_MC_DIRS) +endif + +endif + +workbench-tools-sysexplorer-app_MC_CPPFLAGS := $(workbench-tools-sysexplorer-app_CPPFLAGS) +workbench-tools-sysexplorer-app_CFLAGS := $(workbench-tools-sysexplorer-app_CFLAGS) +ifeq ($(workbench-tools-sysexplorer-app_DFLAGS),) + workbench-tools-sysexplorer-app_DFLAGS := $(workbench-tools-sysexplorer-app_CFLAGS) +else + workbench-tools-sysexplorer-app_DFLAGS := $(workbench-tools-sysexplorer-app_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-sysexplorer-app_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-sysexplorer-app_STRIP ?= $(TARGET_STRIP) +workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_MC_CPPFLAGS:=$(strip $(workbench-tools-sysexplorer-app_MC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_CFLAGS:=$(strip $(workbench-tools-sysexplorer-app_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_DFLAGS:=$(workbench-tools-sysexplorer-app_DFLAGS) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-sysexplorer-app_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-sysexplorer-app_STRIP ?= $(HOST_STRIP) +workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-app_CFLAGS)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-sysexplorer-app_DFLAGS)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-sysexplorer-app_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-sysexplorer-app_STRIP ?= $(ECHO) >/dev/null +workbench-tools-sysexplorer-app_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MC_CPPFLAGS) $(workbench-tools-sysexplorer-app_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-app_CFLAGS)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-sysexplorer-app_DFLAGS)) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-sysexplorer-app_MC_TARGETS) $(workbench-tools-sysexplorer-app_MC_DTARGETS) : workbench-tools-sysexplorer-app_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-sysexplorer-app_MC_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-app_MC_CPPFLAGS) +$(workbench-tools-sysexplorer-app_MC_TARGETS) : CFLAGS := $(workbench-tools-sysexplorer-app_CFLAGS) +$(workbench-tools-sysexplorer-app_MC_TARGETS) : $(workbench-tools-sysexplorer-app_MC_TGTWILDCARD).o : $(workbench-tools-sysexplorer-app_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-sysexplorer-app_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-app_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_IQUOTE) . $(workbench-tools-sysexplorer-app_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-sysexplorer-app_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-app_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_IQUOTE) . $(workbench-tools-sysexplorer-app_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-sysexplorer-app_IQUOTE) $(dir $<) $(workbench-tools-sysexplorer-app_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-sysexplorer-app_IQUOTE) . $(workbench-tools-sysexplorer-app_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-sysexplorer-app_MC_DTARGETS) : $(workbench-tools-sysexplorer-app_MC_TGTWILDCARD).d : $(workbench-tools-sysexplorer-app_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-sysexplorer-app_DFLAGS) $(workbench-tools-sysexplorer-app_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-tools-sysexplorer-app_OBJDIR),) +workbench-tools-sysexplorer-app-MA_TARGETS := $(addsuffix .o,$(workbench-tools-sysexplorer-app_ASMFILES)) +workbench-tools-sysexplorer-app-MA_WILDCARD := % +else +workbench-tools-sysexplorer-app-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-sysexplorer-app_OBJDIR)/,$(notdir $(workbench-tools-sysexplorer-app_ASMFILES)))) +workbench-tools-sysexplorer-app-MA_WILDCARD := $(workbench-tools-sysexplorer-app_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-tools-sysexplorer-app-MA_TARGETS) : | $(addsuffix .s,$(workbench-tools-sysexplorer-app_ASMFILES)) + +# Be sure that all .c files are found +workbench-tools-sysexplorer-app-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-sysexplorer-app-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-sysexplorer-app_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-sysexplorer-app-MA_DIRS := $(foreach dir, $(workbench-tools-sysexplorer-app-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-sysexplorer-app-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-sysexplorer-app-MA_DIRS),) + workbench-tools-sysexplorer-app-MA_DIRS := $(shell echo $(workbench-tools-sysexplorer-app-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-tools-sysexplorer-app-MA_DIRS) +endif + +endif + +workbench-tools-sysexplorer-app-MA_ASSEMBLER ?= $(workbench-tools-sysexplorer-app_ASSEMBLER) + +$(workbench-tools-sysexplorer-app-MA_TARGETS) : workbench-tools-sysexplorer-app-MA_CMD:= $(workbench-tools-sysexplorer-app-MA_ASSEMBLER) + +$(workbench-tools-sysexplorer-app-MA_TARGETS) : CPPFLAGS := $(workbench-tools-sysexplorer-app_CPPFLAGS) +$(workbench-tools-sysexplorer-app-MA_TARGETS) : AFLAGS := $(workbench-tools-sysexplorer-app_AFLAGS) +$(workbench-tools-sysexplorer-app-MA_TARGETS) : $(workbench-tools-sysexplorer-app-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-tools-sysexplorer-app-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-tools-sysexplorer-app-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-tools-sysexplorer-app-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-tools-sysexplorer-app-link_EXTRA_LDFLAGS := +workbench-tools-sysexplorer-app-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-tools-sysexplorer-app-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-tools-sysexplorer-app-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-tools-sysexplorer-app-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-tools-sysexplorer-app-link_DIRS := $(subst -L ,-L,$(strip $(workbench-tools-sysexplorer-app_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-tools-sysexplorer-app-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-tools-sysexplorer-app-link_DIRS))) +# Add trailing / +workbench-tools-sysexplorer-app-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-tools-sysexplorer-app-link_DIRS))) +# Add normal linklib path +workbench-tools-sysexplorer-app-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-tools-sysexplorer-app-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-tools-sysexplorer-app_LIBS) $(workbench-tools-sysexplorer-app-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-tools-sysexplorer-app-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-tools-sysexplorer-app-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-tools-sysexplorer-app-link_DEPLIBS := $(foreach lib,$(workbench-tools-sysexplorer-app-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-tools-sysexplorer-app-link_DIRS)))) \ +) + +$(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) : OBJDIR := $(workbench-tools-sysexplorer-app_OBJDIR) +$(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) : OBJS := $(workbench-tools-sysexplorer-app_OBJS) $(workbench-tools-sysexplorer-app_ARCHOBJS) $(USER_OBJS) +$(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) : LDFLAGS := $(strip $(workbench-tools-sysexplorer-app_LDFLAGS) $(workbench-tools-sysexplorer-app-link_EXTRA_LDFLAGS)) +$(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) : LIBS := $(addprefix -l,$(workbench-tools-sysexplorer-app_LIBS) $(workbench-tools-sysexplorer-app-link_EXTRA_LIBS) ) +$(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) : $(workbench-tools-sysexplorer-app_OBJS) $(workbench-tools-sysexplorer-app_ARCHOBJS) $(USER_OBJS) $(workbench-tools-sysexplorer-app-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-tools-sysexplorer-app_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-tools-sysexplorer-app_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-tools-sysexplorer-app_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-tools-sysexplorer-app_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-tools-sysexplorer-app_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-tools-sysexplorer-app_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-tools-sysexplorer-app_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-tools-sysexplorer-app_DEPS),) + ifneq (workbench-tools-sysexplorer-app workbench-tools-sysexplorer-app-quick,) + ifneq ($(findstring $(TARGET),workbench-tools-sysexplorer-app workbench-tools-sysexplorer-app-quick),) + -include $(workbench-tools-sysexplorer-app_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-tools-sysexplorer-app_DEPS) + endif + endif +endif + + +ifneq ($(workbench-tools-sysexplorer-app_OBJS) $(workbench-tools-sysexplorer-app_DEPS) $(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME),) +$(workbench-tools-sysexplorer-app_OBJS) $(workbench-tools-sysexplorer-app_DEPS) $(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) : | $(workbench-tools-sysexplorer-app_OBJDIR) $(workbench-tools-sysexplorer-app_TARGETDIR) +else +$(workbench-tools-sysexplorer-app_OBJS) $(workbench-tools-sysexplorer-app_DEPS) $(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) :: $(workbench-tools-sysexplorer-app_OBJDIR) $(workbench-tools-sysexplorer-app_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-sysexplorer-app_OBJDIR) $(workbench-tools-sysexplorer-app_TARGETDIR) + + +workbench-tools-sysexplorer-app-clean : FILES := $(workbench-tools-sysexplorer-app_OBJS) $(workbench-tools-sysexplorer-app_TARGETDIR)/$(workbench-tools-sysexplorer-app_PROGNAME) $(workbench-tools-sysexplorer-app_DEPS) +#MM +workbench-tools-sysexplorer-app-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-tools-sysexplorer-app" + $(Q)$(RM) $(FILES) + + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/tools/WiMP/catalogs/mmakefile b/workbench/tools/WiMP/catalogs/mmakefile new file mode 100644 index 00000000000..a782b35d181 --- /dev/null +++ b/workbench/tools/WiMP/catalogs/mmakefile @@ -0,0 +1,75 @@ +# Copyright � 20168, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french norwegian + + +ifeq (,) +workbench-tools-wimp-catalogs_DESC := $(basename $(wildcard $(SRCDIR)/$(CURDIR)/*.cd)) +else +workbench-tools-wimp-catalogs_DESC := +endif + +workbench-tools-wimp-catalogs_SRC := $(shell echo $(TOOLDIR)/C_h_aros | sed 's/^\(.\):\//\/\1\//') + +ifeq ($(CATALOGS),) +workbench-tools-wimp-catalogs_LNGS := $(basename $(notdir $(call WILDCARD, $(SRCDIR)/$(CURDIR)/*.ct))) +else +workbench-tools-wimp-catalogs_LNGS := $(CATALOGS) +endif + +workbench-tools-wimp-catalogs_OBJS := $(addsuffix /System/Tools/WiMP.catalog, $(addprefix $(AROS_CATALOGS)/, $(workbench-tools-wimp-catalogs_LNGS))) +workbench-tools-wimp-catalogs_DIRS := $(addsuffix /System/Tools, $(addprefix $(AROS_CATALOGS)/, $(workbench-tools-wimp-catalogs_LNGS))) $(dir ../strings.h) + +#MM- workbench-tools-wimp-catalogs-quick : workbench-tools-wimp-catalogs + +#MM +workbench-tools-wimp-catalogs : $(workbench-tools-wimp-catalogs_OBJS) ../strings.h + + +ifneq ($(workbench-tools-wimp-catalogs_OBJS),) +$(workbench-tools-wimp-catalogs_OBJS) : | $(workbench-tools-wimp-catalogs_DIRS) +else +$(workbench-tools-wimp-catalogs_OBJS) :: $(workbench-tools-wimp-catalogs_DIRS) +endif + +GLOB_MKDIRS += $(workbench-tools-wimp-catalogs_DIRS) + + +$(AROS_CATALOGS)/%/System/Tools/WiMP.catalog : $(SRCDIR)/$(CURDIR)/%.ct $(workbench-tools-wimp-catalogs_DESC).cd + $(Q)$(ECHO) "Creating WiMP catalog for language $*." + $(Q)$(IF) $(TEST) "$*" = "polish"; then \ + $(FLEXCAT) iso88592toamigapl $(workbench-tools-wimp-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/WiMP.catalog" || [ $$? -lt 10 ] ; \ + elif $(TEST) "$*" = "russian"; then \ + $(FLEXCAT) win1251toamiga1251 $(workbench-tools-wimp-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/WiMP.catalog" || [ $$? -lt 10 ] ; \ + else \ + $(FLEXCAT) $(workbench-tools-wimp-catalogs_DESC).cd $< CATALOG="$(AROS_CATALOGS)/$*/System/Tools/WiMP.catalog" || [ $$? -lt 10 ] ; \ + fi + +ifneq (../strings.h,) +../strings.h : workbench-tools-wimp-catalogs_DESC := $(workbench-tools-wimp-catalogs_DESC) +../strings.h : workbench-tools-wimp-catalogs_SRC := $(workbench-tools-wimp-catalogs_SRC) +../strings.h : $(workbench-tools-wimp-catalogs_DESC).cd $(workbench-tools-wimp-catalogs_SRC).sd | $(dir ../strings.h) + $(Q)$(ECHO) "Creating WiMP catalog source file $@" + $(Q)$(FLEXCAT) $(workbench-tools-wimp-catalogs_DESC).cd $@=$(workbench-tools-wimp-catalogs_SRC).sd +endif + +workbench-tools-wimp-catalogs-clean : FILES := $(workbench-tools-wimp-catalogs_OBJS) ../strings.h +#MM +workbench-tools-wimp-catalogs-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-tools-wimp-catalogs" + $(Q)$(RM) $(FILES) + +.PHONY: workbench-tools-wimp-catalogs workbench-tools-wimp-catalogs-clean + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/tools/WiMP/mmakefile b/workbench/tools/WiMP/mmakefile new file mode 100644 index 00000000000..745d85bfe64 --- /dev/null +++ b/workbench/tools/WiMP/mmakefile @@ -0,0 +1,634 @@ +# Copyright © 2016, The AROS Development Team. All rights reserved. +# $Id$ +# Makefile to make WiMP tool. + +include $(SRCDIR)/config/aros.cfg + +FILES := WiMP locale + +EXEDIR := $(AROS_TOOLS) + +#MM- workbench-tools : workbench-tools-wimp +#MM workbench-tools-wimp : workbench-tools-wimp-catalogs + + +.PHONY : workbench-tools-wimp + +workbench-tools-wimp_PROGNAME := WiMP +workbench-tools-wimp_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-tools-wimp_TARGETDIR := $(EXEDIR) +workbench-tools-wimp_LINKER := +workbench-tools-wimp_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-tools-wimp_LINKER),) + workbench-tools-wimp_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-tools-wimp_FILES := $(FILES) + workbench-tools-wimp_OBJCFILES := + workbench-tools-wimp_ASMFILES := + workbench-tools-wimp_CXXFILES := +else + workbench-tools-wimp_FILES := $(workbench-tools-wimp_PROGNAME) + workbench-tools-wimp_OBJCFILES := + workbench-tools-wimp_ASMFILES := + workbench-tools-wimp_CXXFILES := +endif + +workbench-tools-wimp_ARCHOBJS := $(wildcard $(workbench-tools-wimp_OBJDIR)/arch/*.o) +workbench-tools-wimp_ARCHFILES := $(basename $(notdir $(workbench-tools-wimp_ARCHOBJS))) +workbench-tools-wimp_C_NARCHFILES := $(filter-out $(workbench-tools-wimp_ARCHFILES),$(workbench-tools-wimp_FILES)) +workbench-tools-wimp_CXX_NARCHFILES := $(filter-out $(workbench-tools-wimp_ARCHFILES),$(workbench-tools-wimp_CXXFILES)) +workbench-tools-wimp_OBJC_NARCHFILES := $(filter-out $(workbench-tools-wimp_ARCHFILES),$(workbench-tools-wimp_OBJCFILES)) + +TMP_FILES := $(workbench-tools-wimp_C_NARCHFILES) $(workbench-tools-wimp_CXX_NARCHFILES) $(workbench-tools-wimp_ASMFILES) $(workbench-tools-wimp_OBJC_NARCHFILES) +workbench-tools-wimp_OBJS := $(addsuffix .o,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-tools-wimp_DEPS := $(addsuffix .d,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-tools-wimp_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-tools-wimp_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-wimp_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-tools-wimp_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-tools-wimp_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-tools-wimp_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-wimp_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-tools-wimp_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-tools-wimp_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-tools-wimp_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-tools-wimp_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-tools-wimp_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-tools-wimp_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-tools-wimp_LDFLAGS := +endif + +workbench-tools-wimp_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-tools-wimp_COVERAGE := yes +workbench-tools-wimp_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-tools-wimp_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-tools-wimp_CFLAGS := $(strip $(workbench-tools-wimp_COVERAGEFLAGS) $(workbench-tools-wimp_CFLAGS)) +workbench-tools-wimp_CXXFLAGS := $(strip $(workbench-tools-wimp_COVERAGEFLAGS) $(workbench-tools-wimp_CXXFLAGS)) +workbench-tools-wimp_LIBS += $(workbench-tools-wimp_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-tools-wimp_FUNCINSTR := yes +workbench-tools-wimp_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-tools-wimp_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-tools-wimp_CFLAGS := $(strip $(workbench-tools-wimp_INSTRFUNCFLAGS) $(workbench-tools-wimp_CFLAGS)) +workbench-tools-wimp_CXXFLAGS := $(strip $(workbench-tools-wimp_INSTRFUNCFLAGS) $(workbench-tools-wimp_CXXFLAGS)) +workbench-tools-wimp_LIBS += $(workbench-tools-wimp_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-tools-wimp_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-tools-wimp_CFLAGS)) +workbench-tools-wimp_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-tools-wimp_CXXFLAGS)) +endif +endif +workbench-tools-wimp_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-tools-wimp_DFLAGS := +else + workbench-tools-wimp_DFLAGS := $(workbench-tools-wimp_CFLAGS) +endif +ifneq (,) + workbench-tools-wimp_DXXFLAGS := +else + workbench-tools-wimp_DXXFLAGS := $(workbench-tools-wimp_CXXFLAGS) +endif +ifeq (target,target) +workbench-tools-wimp_LDFLAGS := $(workbench-tools-wimp_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-tools-wimp_LDFLAGS := $(workbench-tools-wimp_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-tools-wimp_LDFLAGS := $(workbench-tools-wimp_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-tools-wimp_LDFLAGS += -L +endif + +#MM +workbench-tools-wimp-quick : workbench-tools-wimp + +#MM workbench-tools-wimp : includes-generate-deps core-linklibs +workbench-tools-wimp : $(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-tools-wimp workbench-tools-wimp-quick workbench-tools-wimp-gz-quick),) + +workbench-tools-wimp_CXXABSBASENAMES := $(foreach workbench-tools-wimp_CXXBASE,$(workbench-tools-wimp_CXX_NARCHFILES),$(if $(filter /%,$(workbench-tools-wimp_CXXBASE)),$(workbench-tools-wimp_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-tools-wimp_CXXBASE)))) + +ifneq ($(workbench-tools-wimp_CXXABSBASENAMES),) + +workbench-tools-wimp_CXXBASENAMES := $(basename $(workbench-tools-wimp_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-tools-wimp_MCXX_FILES := $(strip $(foreach workbench-tools-wimp_CXXBASE,$(workbench-tools-wimp_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-tools-wimp_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-tools-wimp_EXT),$(workbench-tools-wimp_CXXBASE))))))) + +ifeq (,) +workbench-tools-wimp_MCXX_SRCWILDCARD := % +else +workbench-tools-wimp_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-wimp_OBJDIR),) + workbench-tools-wimp_CXXTARGETS := $(notdir $(workbench-tools-wimp_CXXBASENAMES:=.o)) + workbench-tools-wimp_CXXDTARGETS := $(notdir $(workbench-tools-wimp_CXXBASENAMES:=.d)) + workbench-tools-wimp_MCXX_WILDCARD := % +else + workbench-tools-wimp_CXXTARGETS := $(addprefix $(workbench-tools-wimp_OBJDIR)/,$(notdir $(workbench-tools-wimp_CXXBASENAMES:=.o))) + workbench-tools-wimp_CXXDTARGETS := $(addprefix $(workbench-tools-wimp_OBJDIR)/,$(notdir $(workbench-tools-wimp_CXXBASENAMES:=.d))) + workbench-tools-wimp_MCXX_WILDCARD := $(workbench-tools-wimp_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-tools-wimp_CXXTARGETS) $(workbench-tools-wimp_CXXDTARGETS) : | $(workbench-tools-wimp_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-tools-wimp_MCXX_CPPFLAGS := $(workbench-tools-wimp_CPPFLAGS) +workbench-tools-wimp_CXXFLAGS := $(workbench-tools-wimp_CXXFLAGS) +ifeq ($(workbench-tools-wimp_DXXFLAGS),) + workbench-tools-wimp_DXXFLAGS := $(workbench-tools-wimp_CXXFLAGS) +else + workbench-tools-wimp_DXXFLAGS := $(workbench-tools-wimp_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-tools-wimp_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-tools-wimp_STRIP ?= $(HOST_STRIP) + workbench-tools-wimp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-tools-wimp_CXXCMD:=$(HOST_CXX) + workbench-tools-wimp_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-tools-wimp_MCXX_CPPFLAGS) $(workbench-tools-wimp_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-wimp_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-wimp_CXXFLAGS)) + workbench-tools-wimp_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-tools-wimp_DXXFLAGS)) + workbench-tools-wimp_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-tools-wimp_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-tools-wimp_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-wimp_STRIP ?= $(TARGET_STRIP) + workbench-tools-wimp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-tools-wimp_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-tools-wimp_MCXX_CPPFLAGS := $(strip $(workbench-tools-wimp_MCXX_CPPFLAGS) $(workbench-tools-wimp_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-wimp_CXXFLAGS := $(strip $(workbench-tools-wimp_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-tools-wimp_DXXFLAGS := $(workbench-tools-wimp_DXXFLAGS) + workbench-tools-wimp_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-tools-wimp_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-tools-wimp_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-wimp_STRIP ?= $(ECHO) >/dev/null + workbench-tools-wimp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-tools-wimp_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-tools-wimp_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-tools-wimp_MCXX_CPPFLAGS) $(workbench-tools-wimp_MCXX_EXTRA_CPPFLAGS)) + workbench-tools-wimp_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-wimp_CXXFLAGS)) + workbench-tools-wimp_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-tools-wimp_DXXFLAGS)) + workbench-tools-wimp_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-tools-wimp_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-tools-wimp_CXXCMD) $(workbench-tools-wimp_CXXIQUOTE) $(dir $(2)) $(workbench-tools-wimp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_CXXIQUOTE) . $(workbench-tools-wimp_CXXIQUOTE_END) $(strip $(workbench-tools-wimp_CXXFLAGS) $(workbench-tools-wimp_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-tools-wimp_CXXCMD) $(workbench-tools-wimp_CXXIQUOTE) $(dir $(2)) $(workbench-tools-wimp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_CXXIQUOTE) . $(workbench-tools-wimp_CXXIQUOTE_END) $(strip $(workbench-tools-wimp_CXXFLAGS) $(workbench-tools-wimp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-tools-wimp_CXXCMD) $(workbench-tools-wimp_CXXIQUOTE) $(dir $(2)) $(workbench-tools-wimp_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_CXXIQUOTE) . $(workbench-tools-wimp_CXXIQUOTE_END) $(strip $(workbench-tools-wimp_CXXFLAGS) $(workbench-tools-wimp_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-tools-wimp_CXXCMD)" $(MKDEPEND) $(strip $(workbench-tools-wimp_DXXFLAGS) $(workbench-tools-wimp_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-tools-wimp_OBJDIR),) + $(foreach workbench-tools-wimp_CXXFILE,$(workbench-tools-wimp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-tools-wimp_CXXFILE))),$(workbench-tools-wimp_CXXFILE)))) +else + $(foreach workbench-tools-wimp_CXXFILE,$(workbench-tools-wimp_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(notdir $(basename $(workbench-tools-wimp_CXXFILE)))),$(workbench-tools-wimp_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-tools-wimp_OBJC_NARCHFILES),) + +ifeq (,) +workbench-tools-wimp_MOBJC_SRCWILDCARD := % +else +workbench-tools-wimp_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-wimp_OBJDIR),) + workbench-tools-wimp_MOBJC_TARGETS := $(addsuffix .o,$(workbench-tools-wimp_OBJC_NARCHFILES)) + workbench-tools-wimp_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-tools-wimp_OBJC_NARCHFILES)) + workbench-tools-wimp_MOBJC_WILDCARD := % +else + workbench-tools-wimp_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(workbench-tools-wimp_OBJC_NARCHFILES))) + workbench-tools-wimp_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(workbench-tools-wimp_OBJC_NARCHFILES))) + workbench-tools-wimp_MOBJC_WILDCARD := $(workbench-tools-wimp_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-tools-wimp_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-tools-wimp_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-tools-wimp_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-wimp_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-tools-wimp_MOBJC_DIRS := $(foreach dir, $(workbench-tools-wimp_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-wimp_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-tools-wimp_MOBJC_DIRS),) + workbench-tools-wimp_MOBJC_DIRS := $(shell echo $(workbench-tools-wimp_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-tools-wimp_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-tools-wimp_CC := $(TARGET_CC) +else + workbench-tools-wimp_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-tools-wimp_MOBJC_CPPFLAGS := $(workbench-tools-wimp_CPPFLAGS) +workbench-tools-wimp_OBJCFLAGS := $(workbench-tools-wimp_CFLAGS) +workbench-tools-wimp_OBJCFLAGS := $(workbench-tools-wimp_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-tools-wimp_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-tools-wimp_OBJCFLAGS))) +ifeq ($(workbench-tools-wimp_DFLAGS),) + workbench-tools-wimp_OBJCDFLAGS := $(workbench-tools-wimp_CFLAGS) +else + workbench-tools-wimp_OBJCDFLAGS := $(workbench-tools-wimp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-tools-wimp_LINK ?= $(strip $(workbench-tools-wimp_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-tools-wimp_STRIP ?= $(TARGET_STRIP) + workbench-tools-wimp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-tools-wimp_CC) $(TARGET_SYSROOT)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_MOBJC_CPPFLAGS:=$(strip $(workbench-tools-wimp_MOBJC_CPPFLAGS) $(workbench-tools-wimp_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_OBJCFLAGS:=$(strip $(workbench-tools-wimp_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_OBJCDFLAGS:=$(workbench-tools-wimp_OBJCDFLAGS) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-tools-wimp_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-tools-wimp_STRIP ?= $(HOST_STRIP) + workbench-tools-wimp_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-tools-wimp_MOBJC_CPPFLAGS) $(workbench-tools-wimp_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-wimp_OBJCFLAGS)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-wimp_OBJCDFLAGS)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_IQUOTE:=$(HOST_IQUOTE) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-tools-wimp_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-tools-wimp_STRIP ?= $(ECHO) >/dev/null + workbench-tools-wimp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-tools-wimp_MOBJC_CPPFLAGS) $(workbench-tools-wimp_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-wimp_OBJCFLAGS)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-wimp_OBJCDFLAGS)) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-tools-wimp_MOBJC_TARGETS) $(workbench-tools-wimp_MOBJC_DTARGETS) : workbench-tools-wimp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-wimp_MOBJC_TARGETS) : CPPFLAGS := $(workbench-tools-wimp_MOBJC_CPPFLAGS) +$(workbench-tools-wimp_MOBJC_TARGETS) : CFLAGS := $(workbench-tools-wimp_OBJCFLAGS) +$(workbench-tools-wimp_MOBJC_TARGETS) : $(workbench-tools-wimp_MOBJC_WILDCARD).o : $(workbench-tools-wimp_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-wimp_IQUOTE) $(dir $<) $(workbench-tools-wimp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_IQUOTE) . $(workbench-tools-wimp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-wimp_IQUOTE) $(dir $<) $(workbench-tools-wimp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_IQUOTE) . $(workbench-tools-wimp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-wimp_IQUOTE) $(dir $<) $(workbench-tools-wimp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_IQUOTE) . $(workbench-tools-wimp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-wimp_MOBJC_DTARGETS) : $(workbench-tools-wimp_MOBJC_WILDCARD).d : $(workbench-tools-wimp_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-wimp_OBJCDFLAGS) $(workbench-tools-wimp_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-tools-wimp_MC_SRCWILDCARD := % +else +workbench-tools-wimp_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-tools-wimp_OBJDIR),) +workbench-tools-wimp_MC_TARGETS := $(addsuffix .o,$(workbench-tools-wimp_C_NARCHFILES)) +workbench-tools-wimp_MC_DTARGETS := $(addsuffix .d,$(workbench-tools-wimp_C_NARCHFILES)) +workbench-tools-wimp_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-tools-wimp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(notdir $(workbench-tools-wimp_C_NARCHFILES)))) + workbench-tools-wimp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(notdir $(workbench-tools-wimp_C_NARCHFILES)))) +else +ifeq (,) + workbench-tools-wimp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(workbench-tools-wimp_C_NARCHFILES))) + workbench-tools-wimp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(workbench-tools-wimp_C_NARCHFILES))) +else + workbench-tools-wimp_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-wimp_C_NARCHFILES)))) + workbench-tools-wimp_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(patsubst /%,%,$(workbench-tools-wimp_C_NARCHFILES)))) +endif +endif +workbench-tools-wimp_MC_TGTWILDCARD := $(workbench-tools-wimp_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : | $(addsuffix .c,$(workbench-tools-wimp_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-tools-wimp_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-wimp_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-wimp_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-wimp_MC_DIRS := $(foreach dir, $(workbench-tools-wimp_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-wimp_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-wimp_MC_DIRS),) + workbench-tools-wimp_MC_DIRS := $(shell echo $(workbench-tools-wimp_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-tools-wimp_MC_DIRS) +endif + +endif + +workbench-tools-wimp_MC_CPPFLAGS := $(workbench-tools-wimp_CPPFLAGS) +workbench-tools-wimp_CFLAGS := $(workbench-tools-wimp_CFLAGS) +ifeq ($(workbench-tools-wimp_DFLAGS),) + workbench-tools-wimp_DFLAGS := $(workbench-tools-wimp_CFLAGS) +else + workbench-tools-wimp_DFLAGS := $(workbench-tools-wimp_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-tools-wimp_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-tools-wimp_STRIP ?= $(TARGET_STRIP) +workbench-tools-wimp_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_MC_CPPFLAGS:=$(strip $(workbench-tools-wimp_MC_CPPFLAGS) $(workbench-tools-wimp_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_CFLAGS:=$(strip $(workbench-tools-wimp_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_DFLAGS:=$(workbench-tools-wimp_DFLAGS) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-tools-wimp_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-tools-wimp_STRIP ?= $(HOST_STRIP) +workbench-tools-wimp_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-tools-wimp_MC_CPPFLAGS) $(workbench-tools-wimp_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-wimp_CFLAGS)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-tools-wimp_DFLAGS)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_IQUOTE:=$(HOST_IQUOTE) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-tools-wimp_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-tools-wimp_STRIP ?= $(ECHO) >/dev/null +workbench-tools-wimp_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-tools-wimp_MC_CPPFLAGS) $(workbench-tools-wimp_MC_EXTRA_CPPFLAGS)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-wimp_CFLAGS)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-tools-wimp_DFLAGS)) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-tools-wimp_MC_TARGETS) $(workbench-tools-wimp_MC_DTARGETS) : workbench-tools-wimp_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-tools-wimp_MC_TARGETS) : CPPFLAGS := $(workbench-tools-wimp_MC_CPPFLAGS) +$(workbench-tools-wimp_MC_TARGETS) : CFLAGS := $(workbench-tools-wimp_CFLAGS) +$(workbench-tools-wimp_MC_TARGETS) : $(workbench-tools-wimp_MC_TGTWILDCARD).o : $(workbench-tools-wimp_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-tools-wimp_IQUOTE) $(dir $<) $(workbench-tools-wimp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_IQUOTE) . $(workbench-tools-wimp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-tools-wimp_IQUOTE) $(dir $<) $(workbench-tools-wimp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_IQUOTE) . $(workbench-tools-wimp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-tools-wimp_IQUOTE) $(dir $<) $(workbench-tools-wimp_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-tools-wimp_IQUOTE) . $(workbench-tools-wimp_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-tools-wimp_MC_DTARGETS) : $(workbench-tools-wimp_MC_TGTWILDCARD).d : $(workbench-tools-wimp_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-tools-wimp_DFLAGS) $(workbench-tools-wimp_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-tools-wimp_OBJDIR),) +workbench-tools-wimp-MA_TARGETS := $(addsuffix .o,$(workbench-tools-wimp_ASMFILES)) +workbench-tools-wimp-MA_WILDCARD := % +else +workbench-tools-wimp-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-tools-wimp_OBJDIR)/,$(notdir $(workbench-tools-wimp_ASMFILES)))) +workbench-tools-wimp-MA_WILDCARD := $(workbench-tools-wimp_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-tools-wimp-MA_TARGETS) : | $(addsuffix .s,$(workbench-tools-wimp_ASMFILES)) + +# Be sure that all .c files are found +workbench-tools-wimp-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-tools-wimp-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-tools-wimp_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-tools-wimp-MA_DIRS := $(foreach dir, $(workbench-tools-wimp-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-tools-wimp-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-tools-wimp-MA_DIRS),) + workbench-tools-wimp-MA_DIRS := $(shell echo $(workbench-tools-wimp-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-tools-wimp-MA_DIRS) +endif + +endif + +workbench-tools-wimp-MA_ASSEMBLER ?= $(workbench-tools-wimp_ASSEMBLER) + +$(workbench-tools-wimp-MA_TARGETS) : workbench-tools-wimp-MA_CMD:= $(workbench-tools-wimp-MA_ASSEMBLER) + +$(workbench-tools-wimp-MA_TARGETS) : CPPFLAGS := $(workbench-tools-wimp_CPPFLAGS) +$(workbench-tools-wimp-MA_TARGETS) : AFLAGS := $(workbench-tools-wimp_AFLAGS) +$(workbench-tools-wimp-MA_TARGETS) : $(workbench-tools-wimp-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-tools-wimp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-tools-wimp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-tools-wimp-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-tools-wimp-link_EXTRA_LDFLAGS := +workbench-tools-wimp-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-tools-wimp-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-tools-wimp-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-tools-wimp-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-tools-wimp-link_DIRS := $(subst -L ,-L,$(strip $(workbench-tools-wimp_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-tools-wimp-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-tools-wimp-link_DIRS))) +# Add trailing / +workbench-tools-wimp-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-tools-wimp-link_DIRS))) +# Add normal linklib path +workbench-tools-wimp-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-tools-wimp-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-tools-wimp_LIBS) $(workbench-tools-wimp-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-tools-wimp-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-tools-wimp-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-tools-wimp-link_DEPLIBS := $(foreach lib,$(workbench-tools-wimp-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-tools-wimp-link_DIRS)))) \ +) + +$(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) : OBJDIR := $(workbench-tools-wimp_OBJDIR) +$(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) : OBJS := $(workbench-tools-wimp_OBJS) $(workbench-tools-wimp_ARCHOBJS) $(USER_OBJS) +$(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) : LDFLAGS := $(strip $(workbench-tools-wimp_LDFLAGS) $(workbench-tools-wimp-link_EXTRA_LDFLAGS)) +$(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) : LIBS := $(addprefix -l,$(workbench-tools-wimp_LIBS) $(workbench-tools-wimp-link_EXTRA_LIBS) ) +$(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) : $(workbench-tools-wimp_OBJS) $(workbench-tools-wimp_ARCHOBJS) $(USER_OBJS) $(workbench-tools-wimp-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-tools-wimp_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-tools-wimp_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-tools-wimp_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-tools-wimp_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-tools-wimp_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-tools-wimp_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-tools-wimp_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-tools-wimp_DEPS),) + ifneq (workbench-tools-wimp workbench-tools-wimp-quick,) + ifneq ($(findstring $(TARGET),workbench-tools-wimp workbench-tools-wimp-quick),) + -include $(workbench-tools-wimp_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-tools-wimp_DEPS) + endif + endif +endif + + +ifneq ($(workbench-tools-wimp_OBJS) $(workbench-tools-wimp_DEPS) $(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME),) +$(workbench-tools-wimp_OBJS) $(workbench-tools-wimp_DEPS) $(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) : | $(workbench-tools-wimp_OBJDIR) $(workbench-tools-wimp_TARGETDIR) +else +$(workbench-tools-wimp_OBJS) $(workbench-tools-wimp_DEPS) $(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) :: $(workbench-tools-wimp_OBJDIR) $(workbench-tools-wimp_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-tools-wimp_OBJDIR) $(workbench-tools-wimp_TARGETDIR) + + +workbench-tools-wimp-clean : FILES := $(workbench-tools-wimp_OBJS) $(workbench-tools-wimp_TARGETDIR)/$(workbench-tools-wimp_PROGNAME) $(workbench-tools-wimp_DEPS) +#MM +workbench-tools-wimp-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-tools-wimp" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID) diff --git a/workbench/utilities/Help/mmakefile b/workbench/utilities/Help/mmakefile new file mode 100644 index 00000000000..e7bea7c5d0a --- /dev/null +++ b/workbench/utilities/Help/mmakefile @@ -0,0 +1,635 @@ +# Copyright © 2013, The AROS Development Team. All rights reserved. +# $Id$ +# +# Makefile to make Help. + +include $(SRCDIR)/config/aros.cfg + +FILES := main + +EXEDIR := $(AROSDIR)/Utilities + +#MM- workbench-utilities : workbench-utilities-help +#MM workbench-utilities-help : includes linklibs + + +.PHONY : workbench-utilities-help + +workbench-utilities-help_PROGNAME := Help +workbench-utilities-help_OBJDIR := $(GENDIR)/$(CURDIR) +workbench-utilities-help_TARGETDIR := $(EXEDIR) +workbench-utilities-help_LINKER := +workbench-utilities-help_LIBS := +# If not supplied, linker is equal to compiler +ifeq ($(workbench-utilities-help_LINKER),) + workbench-utilities-help_LINKER := target +endif + +ifneq ("$(strip $(FILES) )","") + workbench-utilities-help_FILES := $(FILES) + workbench-utilities-help_OBJCFILES := + workbench-utilities-help_ASMFILES := + workbench-utilities-help_CXXFILES := +else + workbench-utilities-help_FILES := $(workbench-utilities-help_PROGNAME) + workbench-utilities-help_OBJCFILES := + workbench-utilities-help_ASMFILES := + workbench-utilities-help_CXXFILES := +endif + +workbench-utilities-help_ARCHOBJS := $(wildcard $(workbench-utilities-help_OBJDIR)/arch/*.o) +workbench-utilities-help_ARCHFILES := $(basename $(notdir $(workbench-utilities-help_ARCHOBJS))) +workbench-utilities-help_C_NARCHFILES := $(filter-out $(workbench-utilities-help_ARCHFILES),$(workbench-utilities-help_FILES)) +workbench-utilities-help_CXX_NARCHFILES := $(filter-out $(workbench-utilities-help_ARCHFILES),$(workbench-utilities-help_CXXFILES)) +workbench-utilities-help_OBJC_NARCHFILES := $(filter-out $(workbench-utilities-help_ARCHFILES),$(workbench-utilities-help_OBJCFILES)) + +TMP_FILES := $(workbench-utilities-help_C_NARCHFILES) $(workbench-utilities-help_CXX_NARCHFILES) $(workbench-utilities-help_ASMFILES) $(workbench-utilities-help_OBJC_NARCHFILES) +workbench-utilities-help_OBJS := $(addsuffix .o,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(notdir $(TMP_FILES)))) +workbench-utilities-help_DEPS := $(addsuffix .d,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(notdir $(TMP_FILES)))) + +workbench-utilities-help_CPPFLAGS := $(CPPFLAGS) +ifneq (,) +workbench-utilities-help_CPPFLAGS += -I +endif + +ifeq ("","") +ifeq (target,target) +workbench-utilities-help_CFLAGS := $(CFLAGS) +endif +ifeq (target,host) +workbench-utilities-help_CFLAGS := $(HOST_CFLAGS) +endif +ifeq (target,kernel) +workbench-utilities-help_CFLAGS := $(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS)) +endif +else +workbench-utilities-help_CFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-utilities-help_CXXFLAGS := $(CXXFLAGS) +endif +ifeq (target,host) +workbench-utilities-help_CXXFLAGS := $(HOST_CXXFLAGS) +endif +ifeq (target,kernel) +workbench-utilities-help_CXXFLAGS := $(strip $(KERNEL_ISA_CXXFLAGS) $(KERNEL_CXXFLAGS)) +endif +else +workbench-utilities-help_CXXFLAGS := +endif + +ifeq ("","") +ifeq (target,target) +workbench-utilities-help_LDFLAGS := $(LDFLAGS) +endif +ifeq (target,host) +workbench-utilities-help_LDFLAGS := $(HOST_LDFLAGS) +endif +ifeq (target,kernel) +workbench-utilities-help_LDFLAGS := $(strip $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +endif +else +workbench-utilities-help_LDFLAGS := +endif + +workbench-utilities-help_COVERAGE := no +ifeq (target,target) +ifeq (yes,yes) +ifeq ($(TARGET_COVERAGEINSTR),yes) +workbench-utilities-help_COVERAGE := yes +workbench-utilities-help_COVERAGEFLAGS ?= $(COVERAGEINSTR_FLAGS) +workbench-utilities-help_COVERAGELIBS ?= $(COVERAGEINSTR_LIBS) +workbench-utilities-help_CFLAGS := $(strip $(workbench-utilities-help_COVERAGEFLAGS) $(workbench-utilities-help_CFLAGS)) +workbench-utilities-help_CXXFLAGS := $(strip $(workbench-utilities-help_COVERAGEFLAGS) $(workbench-utilities-help_CXXFLAGS)) +workbench-utilities-help_LIBS += $(workbench-utilities-help_COVERAGELIBS) +endif +ifeq ($(TARGET_FUNCINSTR),yes) +workbench-utilities-help_FUNCINSTR := yes +workbench-utilities-help_INSTRFUNCFLAGS ?= $(FUNCINSTR_FLAGS) +workbench-utilities-help_INSTRFUNCLIBS ?= $(FUNCINSTR_LIBS) +workbench-utilities-help_CFLAGS := $(strip $(workbench-utilities-help_INSTRFUNCFLAGS) $(workbench-utilities-help_CFLAGS)) +workbench-utilities-help_CXXFLAGS := $(strip $(workbench-utilities-help_INSTRFUNCFLAGS) $(workbench-utilities-help_CXXFLAGS)) +workbench-utilities-help_LIBS += $(workbench-utilities-help_INSTRFUNCLIBS) +endif +endif +ifeq ($(TARGET_LTO),yes) +workbench-utilities-help_CFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-utilities-help_CFLAGS)) +workbench-utilities-help_CXXFLAGS := $(strip $(LTO_BINARY_CFLAGS) $(workbench-utilities-help_CXXFLAGS)) +endif +endif +workbench-utilities-help_AFLAGS := $(AFLAGS) +ifneq (,) + workbench-utilities-help_DFLAGS := +else + workbench-utilities-help_DFLAGS := $(workbench-utilities-help_CFLAGS) +endif +ifneq (,) + workbench-utilities-help_DXXFLAGS := +else + workbench-utilities-help_DXXFLAGS := $(workbench-utilities-help_CXXFLAGS) +endif +ifeq (target,target) +workbench-utilities-help_LDFLAGS := $(workbench-utilities-help_LDFLAGS) $(TARGET_ISA_OBJCFLAGS) +endif +ifeq (target,host) +workbench-utilities-help_LDFLAGS := $(workbench-utilities-help_LDFLAGS) $(HOST_ISA_OBJCFLAGS) +endif +ifeq (target,kernel) +workbench-utilities-help_LDFLAGS := $(workbench-utilities-help_LDFLAGS) $(KERNEL_ISA_OBJCFLAGS) +endif +ifneq (,) +workbench-utilities-help_LDFLAGS += -L +endif + +#MM +workbench-utilities-help-quick : workbench-utilities-help + +#MM workbench-utilities-help : includes-generate-deps core-linklibs +workbench-utilities-help : $(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) + +ifneq ($(filter $(TARGET),workbench-utilities-help workbench-utilities-help-quick workbench-utilities-help-gz-quick),) + +workbench-utilities-help_CXXABSBASENAMES := $(foreach workbench-utilities-help_CXXBASE,$(workbench-utilities-help_CXX_NARCHFILES),$(if $(filter /%,$(workbench-utilities-help_CXXBASE)),$(workbench-utilities-help_CXXBASE),$(abspath $(SRCDIR)/$(CURDIR)/$(workbench-utilities-help_CXXBASE)))) + +ifneq ($(workbench-utilities-help_CXXABSBASENAMES),) + +workbench-utilities-help_CXXBASENAMES := $(basename $(workbench-utilities-help_CXXABSBASENAMES)) + +# Identify the "real" c++ files from the passed in basenames +workbench-utilities-help_MCXX_FILES := $(strip $(foreach workbench-utilities-help_CXXBASE,$(workbench-utilities-help_CXXABSBASENAMES), $(firstword $(wildcard $(foreach workbench-utilities-help_EXT, $(AROS_CXXEXTS),$(addsuffix .$(workbench-utilities-help_EXT),$(workbench-utilities-help_CXXBASE))))))) + +ifeq (,) +workbench-utilities-help_MCXX_SRCWILDCARD := % +else +workbench-utilities-help_MCXX_SRCWILDCARD := /% +endif + +ifeq ($(workbench-utilities-help_OBJDIR),) + workbench-utilities-help_CXXTARGETS := $(notdir $(workbench-utilities-help_CXXBASENAMES:=.o)) + workbench-utilities-help_CXXDTARGETS := $(notdir $(workbench-utilities-help_CXXBASENAMES:=.d)) + workbench-utilities-help_MCXX_WILDCARD := % +else + workbench-utilities-help_CXXTARGETS := $(addprefix $(workbench-utilities-help_OBJDIR)/,$(notdir $(workbench-utilities-help_CXXBASENAMES:=.o))) + workbench-utilities-help_CXXDTARGETS := $(addprefix $(workbench-utilities-help_OBJDIR)/,$(notdir $(workbench-utilities-help_CXXBASENAMES:=.d))) + workbench-utilities-help_MCXX_WILDCARD := $(workbench-utilities-help_OBJDIR)/% + + # Be sure that all source files are generated + $(workbench-utilities-help_CXXTARGETS) $(workbench-utilities-help_CXXDTARGETS) : | $(workbench-utilities-help_MCXX_FILES) +endif + +# Adjust compiler flags to suit C++ +workbench-utilities-help_MCXX_CPPFLAGS := $(workbench-utilities-help_CPPFLAGS) +workbench-utilities-help_CXXFLAGS := $(workbench-utilities-help_CXXFLAGS) +ifeq ($(workbench-utilities-help_DXXFLAGS),) + workbench-utilities-help_DXXFLAGS := $(workbench-utilities-help_CXXFLAGS) +else + workbench-utilities-help_DXXFLAGS := $(workbench-utilities-help_DXXFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,host) + workbench-utilities-help_LINK ?= $(strip $(HOST_CXX) $(HOST_LDFLAGS)) + workbench-utilities-help_STRIP ?= $(HOST_STRIP) + workbench-utilities-help_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + workbench-utilities-help_CXXCMD:=$(HOST_CXX) + workbench-utilities-help_MCXX_CPPFLAGS := $(strip $(HOST_MCXX_CPPFLAGS) $(workbench-utilities-help_MCXX_CPPFLAGS) $(workbench-utilities-help_MCXX_EXTRA_CPPFLAGS)) + workbench-utilities-help_CXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-utilities-help_CXXFLAGS)) + workbench-utilities-help_DXXFLAGS := $(strip $(HOST_CXXFLAGS) $(workbench-utilities-help_DXXFLAGS)) + workbench-utilities-help_CXXIQUOTE:=$(HOST_IQUOTE) + workbench-utilities-help_CXXIQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,target) + workbench-utilities-help_LINK ?= $(strip $(AROS_CXX) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-utilities-help_STRIP ?= $(TARGET_STRIP) + workbench-utilities-help_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + workbench-utilities-help_CXXCMD:=$(strip $(AROS_CXX) $(TARGET_SYSROOT)) + workbench-utilities-help_MCXX_CPPFLAGS := $(strip $(workbench-utilities-help_MCXX_CPPFLAGS) $(workbench-utilities-help_MCXX_EXTRA_CPPFLAGS)) + workbench-utilities-help_CXXFLAGS := $(strip $(workbench-utilities-help_CXXFLAGS) $(SAFETY_CFLAGS)) + workbench-utilities-help_DXXFLAGS := $(workbench-utilities-help_DXXFLAGS) + workbench-utilities-help_CXXIQUOTE:=$(CFLAGS_IQUOTE) + workbench-utilities-help_CXXIQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_CXX ?= $(KERNEL_CC) + workbench-utilities-help_LINK ?= $(strip $(KERNEL_CXX) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-utilities-help_STRIP ?= $(ECHO) >/dev/null + workbench-utilities-help_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + workbench-utilities-help_CXXCMD:=$(strip $(KERNEL_CXX) $(KERNEL_SYSROOT)) + workbench-utilities-help_CXXFLAGS := $(strip $(KERNEL_MCXX_CPPFLAGS) $(workbench-utilities-help_MCXX_CPPFLAGS) $(workbench-utilities-help_MCXX_EXTRA_CPPFLAGS)) + workbench-utilities-help_CXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-utilities-help_CXXFLAGS)) + workbench-utilities-help_DXXFLAGS := $(strip $(KERNEL_CXXFLAGS) $(workbench-utilities-help_DXXFLAGS)) + workbench-utilities-help_CXXIQUOTE:=$(KERNEL_IQUOTE) + workbench-utilities-help_CXXIQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +define cxx_multi_recipe_template + $(1).o : $(2) + $(Q)$(ECHO) "Compiling $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))" + $(Q)$(IF) $(workbench-utilities-help_CXXCMD) $(workbench-utilities-help_CXXIQUOTE) $(dir $(2)) $(workbench-utilities-help_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_CXXIQUOTE) . $(workbench-utilities-help_CXXIQUOTE_END) $(strip $(workbench-utilities-help_CXXFLAGS) $(workbench-utilities-help_MCXX_CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))"\" -c $(2) -o $(1).o > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(2): $(workbench-utilities-help_CXXCMD) $(workbench-utilities-help_CXXIQUOTE) $(dir $(2)) $(workbench-utilities-help_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_CXXIQUOTE) . $(workbench-utilities-help_CXXIQUOTE_END) $(strip $(workbench-utilities-help_CXXFLAGS) $(workbench-utilities-help_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(workbench-utilities-help_CXXCMD) $(workbench-utilities-help_CXXIQUOTE) $(dir $(2)) $(workbench-utilities-help_CXXIQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_CXXIQUOTE) . $(workbench-utilities-help_CXXIQUOTE_END) $(strip $(workbench-utilities-help_CXXFLAGS) $(workbench-utilities-help_MCXX_CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $(2))))\" -c $(2) -o $(1).o" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + $(1).d : $(2) + $(Q)$(IF) $(TEST) ! -d $(dir $(1).d) ; then $(MKDIR) $(dir $(1).d) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$(2)),$(if $(filter $(SRCDIR)/%,$(abspath $(2))),$(patsubst $(SRCDIR)/%,%,$(abspath $(2))),$(patsubst $(TOP)/%,%,$(abspath $(2)))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$(2))))..." + $(Q)AROS_CC="$(workbench-utilities-help_CXXCMD)" $(MKDEPEND) $(strip $(workbench-utilities-help_DXXFLAGS) $(workbench-utilities-help_MCXX_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $(2) -o $(1).d +endef +ifeq ($(workbench-utilities-help_OBJDIR),) + $(foreach workbench-utilities-help_CXXFILE,$(workbench-utilities-help_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(notdir $(basename $(workbench-utilities-help_CXXFILE))),$(workbench-utilities-help_CXXFILE)))) +else + $(foreach workbench-utilities-help_CXXFILE,$(workbench-utilities-help_MCXX_FILES),$(eval $(call cxx_multi_recipe_template,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(notdir $(basename $(workbench-utilities-help_CXXFILE)))),$(workbench-utilities-help_CXXFILE)))) +endif + +endif + + +ifneq ($(workbench-utilities-help_OBJC_NARCHFILES),) + +ifeq (,) +workbench-utilities-help_MOBJC_SRCWILDCARD := % +else +workbench-utilities-help_MOBJC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-utilities-help_OBJDIR),) + workbench-utilities-help_MOBJC_TARGETS := $(addsuffix .o,$(workbench-utilities-help_OBJC_NARCHFILES)) + workbench-utilities-help_MOBJC_DTARGETS := $(addsuffix .d,$(workbench-utilities-help_OBJC_NARCHFILES)) + workbench-utilities-help_MOBJC_WILDCARD := % +else + workbench-utilities-help_MOBJC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(workbench-utilities-help_OBJC_NARCHFILES))) + workbench-utilities-help_MOBJC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(workbench-utilities-help_OBJC_NARCHFILES))) + workbench-utilities-help_MOBJC_WILDCARD := $(workbench-utilities-help_OBJDIR)/% + + # Be sure that all .m files are generated + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : | $(addsuffix .m,$(workbench-utilities-help_OBJC_NARCHFILES)) + + # Be sure that all .m files are found + workbench-utilities-help_MOBJC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') + workbench-utilities-help_MOBJC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-utilities-help_OBJC_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') + workbench-utilities-help_MOBJC_DIRS := $(foreach dir, $(workbench-utilities-help_MOBJC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-utilities-help_MOBJC_SRCDIR)/$(CURDIR)/$(dir))) + ifneq ($(workbench-utilities-help_MOBJC_DIRS),) + workbench-utilities-help_MOBJC_DIRS := $(shell echo $(workbench-utilities-help_MOBJC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.m $(workbench-utilities-help_MOBJC_DIRS) + endif +endif + +# Define the use of cross compiler +ifeq ($(TARGET_OBJC),) + workbench-utilities-help_CC := $(TARGET_CC) +else + workbench-utilities-help_CC := $(TARGET_OBJC) +endif + +# Adjust compiler flags to suit ObjC +workbench-utilities-help_MOBJC_CPPFLAGS := $(workbench-utilities-help_CPPFLAGS) +workbench-utilities-help_OBJCFLAGS := $(workbench-utilities-help_CFLAGS) +workbench-utilities-help_OBJCFLAGS := $(workbench-utilities-help_OBJCFLAGS) -isystem $(AROS_DEVELOPER)/include +workbench-utilities-help_OBJCFLAGS := $(subst -Wno-pointer-sign,, $(subst -Werror-implicit-function-declaration,, $(workbench-utilities-help_OBJCFLAGS))) +ifeq ($(workbench-utilities-help_DFLAGS),) + workbench-utilities-help_OBJCDFLAGS := $(workbench-utilities-help_CFLAGS) +else + workbench-utilities-help_OBJCDFLAGS := $(workbench-utilities-help_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) + workbench-utilities-help_LINK ?= $(strip $(workbench-utilities-help_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) + workbench-utilities-help_STRIP ?= $(TARGET_STRIP) + workbench-utilities-help_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : CMD:=$(strip $(workbench-utilities-help_CC) $(TARGET_SYSROOT)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_MOBJC_CPPFLAGS:=$(strip $(workbench-utilities-help_MOBJC_CPPFLAGS) $(workbench-utilities-help_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_OBJCFLAGS:=$(strip $(workbench-utilities-help_OBJCFLAGS) $(SAFETY_CFLAGS)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_OBJCDFLAGS:=$(workbench-utilities-help_OBJCDFLAGS) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_IQUOTE:=$(CFLAGS_IQUOTE) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) + workbench-utilities-help_LINK ?= $(strip $(HOST_OBJC) $(HOST_LDFLAGS)) + workbench-utilities-help_STRIP ?= $(HOST_STRIP) + workbench-utilities-help_ASSEMBLER ?= $(strip $(HOST_CC) $(HOST_SYSROOT)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : CMD:=$(HOST_OBJC) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_MOBJC_CPPFLAGS:=$(strip $(HOST_MOBJC_CPPFLAGS) $(workbench-utilities-help_MOBJC_CPPFLAGS) $(workbench-utilities-help_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_OBJCFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-utilities-help_OBJCFLAGS)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_OBJCDFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-utilities-help_OBJCDFLAGS)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_IQUOTE:=$(HOST_IQUOTE) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) + KERNEL_OBJC ?= $(KERNEL_CC) + workbench-utilities-help_LINK ?= $(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) + workbench-utilities-help_STRIP ?= $(ECHO) >/dev/null + workbench-utilities-help_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : CMD:=$(strip $(KERNEL_OBJC) $(KERNEL_SYSROOT)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_MOBJC_CPPFLAGS:=$(strip $(KERNEL_MOBJC_CPPFLAGS) $(workbench-utilities-help_MOBJC_CPPFLAGS) $(workbench-utilities-help_MOBJC_EXTRA_CPPFLAGS)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_OBJCFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-utilities-help_OBJCFLAGS)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_OBJCDFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-utilities-help_OBJCDFLAGS)) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_IQUOTE:=$(KERNEL_IQUOTE) + $(workbench-utilities-help_MOBJC_TARGETS) $(workbench-utilities-help_MOBJC_DTARGETS) : workbench-utilities-help_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-utilities-help_MOBJC_TARGETS) : CPPFLAGS := $(workbench-utilities-help_MOBJC_CPPFLAGS) +$(workbench-utilities-help_MOBJC_TARGETS) : CFLAGS := $(workbench-utilities-help_OBJCFLAGS) +$(workbench-utilities-help_MOBJC_TARGETS) : $(workbench-utilities-help_MOBJC_WILDCARD).o : $(workbench-utilities-help_MOBJC_SRCWILDCARD).m + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-utilities-help_IQUOTE) $(dir $<) $(workbench-utilities-help_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_IQUOTE) . $(workbench-utilities-help_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-utilities-help_IQUOTE) $(dir $<) $(workbench-utilities-help_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_IQUOTE) . $(workbench-utilities-help_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-utilities-help_IQUOTE) $(dir $<) $(workbench-utilities-help_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_IQUOTE) . $(workbench-utilities-help_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-utilities-help_MOBJC_DTARGETS) : $(workbench-utilities-help_MOBJC_WILDCARD).d : $(workbench-utilities-help_MOBJC_SRCWILDCARD).m + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-utilities-help_OBJCDFLAGS) $(workbench-utilities-help_MOBJC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +endif + + +ifeq (,) +workbench-utilities-help_MC_SRCWILDCARD := % +else +workbench-utilities-help_MC_SRCWILDCARD := /% +endif + +ifeq ($(workbench-utilities-help_OBJDIR),) +workbench-utilities-help_MC_TARGETS := $(addsuffix .o,$(workbench-utilities-help_C_NARCHFILES)) +workbench-utilities-help_MC_DTARGETS := $(addsuffix .d,$(workbench-utilities-help_C_NARCHFILES)) +workbench-utilities-help_MC_TGTWILDCARD := % +else +ifeq (no,no) + workbench-utilities-help_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(notdir $(workbench-utilities-help_C_NARCHFILES)))) + workbench-utilities-help_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(notdir $(workbench-utilities-help_C_NARCHFILES)))) +else +ifeq (,) + workbench-utilities-help_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(workbench-utilities-help_C_NARCHFILES))) + workbench-utilities-help_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(workbench-utilities-help_C_NARCHFILES))) +else + workbench-utilities-help_MC_TARGETS := $(addsuffix .o,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(patsubst /%,%,$(workbench-utilities-help_C_NARCHFILES)))) + workbench-utilities-help_MC_DTARGETS := $(addsuffix .d,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(patsubst /%,%,$(workbench-utilities-help_C_NARCHFILES)))) +endif +endif +workbench-utilities-help_MC_TGTWILDCARD := $(workbench-utilities-help_OBJDIR)/% + +# Be sure that all .c files are generated +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : | $(addsuffix .c,$(workbench-utilities-help_C_NARCHFILES)) + +# Be sure that all .c files are found +workbench-utilities-help_MC_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-utilities-help_MC_BASEDIRS := $(shell echo $(sort $(dir $(workbench-utilities-help_C_NARCHFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-utilities-help_MC_DIRS := $(foreach dir, $(workbench-utilities-help_MC_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-utilities-help_MC_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-utilities-help_MC_DIRS),) + workbench-utilities-help_MC_DIRS := $(shell echo $(workbench-utilities-help_MC_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.c $(workbench-utilities-help_MC_DIRS) +endif + +endif + +workbench-utilities-help_MC_CPPFLAGS := $(workbench-utilities-help_CPPFLAGS) +workbench-utilities-help_CFLAGS := $(workbench-utilities-help_CFLAGS) +ifeq ($(workbench-utilities-help_DFLAGS),) + workbench-utilities-help_DFLAGS := $(workbench-utilities-help_CFLAGS) +else + workbench-utilities-help_DFLAGS := $(workbench-utilities-help_DFLAGS) +endif + +ifeq ($(findstring target,host kernel target),) + $(error unknown compiler target) +endif +ifeq (target,target) +workbench-utilities-help_LINK ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT) $(TARGET_LDFLAGS)) +workbench-utilities-help_STRIP ?= $(TARGET_STRIP) +workbench-utilities-help_ASSEMBLER ?= $(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : CMD:=$(strip $(TARGET_CC) $(TARGET_SYSROOT)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_MC_CPPFLAGS:=$(strip $(workbench-utilities-help_MC_CPPFLAGS) $(workbench-utilities-help_MC_EXTRA_CPPFLAGS)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_CFLAGS:=$(strip $(workbench-utilities-help_CFLAGS) $(SAFETY_CFLAGS)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_DFLAGS:=$(workbench-utilities-help_DFLAGS) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_IQUOTE:=$(CFLAGS_IQUOTE) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_IQUOTE_END:=$(CFLAGS_IQUOTE_END) +endif +ifeq (target,host) +workbench-utilities-help_LINK ?= $(strip $(HOST_CC) $(HOST_LDFLAGS)) +workbench-utilities-help_STRIP ?= $(HOST_STRIP) +workbench-utilities-help_ASSEMBLER ?= $(strip $HOST_CC) $(HOST_SYSROOT)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : CMD:=$(HOST_CC) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_MC_CPPFLAGS:=$(strip $(HOST_MC_CPPFLAGS) $(workbench-utilities-help_MC_CPPFLAGS) $(workbench-utilities-help_MC_EXTRA_CPPFLAGS)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_CFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-utilities-help_CFLAGS)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_DFLAGS:=$(strip $(HOST_CFLAGS) $(workbench-utilities-help_DFLAGS)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_IQUOTE:=$(HOST_IQUOTE) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_IQUOTE_END:=$(HOST_IQUOTE_END) +endif +ifeq (target,kernel) +workbench-utilities-help_LINK ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT) $(USER_LDFLAGS) $(KERNEL_LDFLAGS)) +workbench-utilities-help_STRIP ?= $(ECHO) >/dev/null +workbench-utilities-help_ASSEMBLER ?= $(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : CMD:=$(strip $(KERNEL_CC) $(KERNEL_SYSROOT)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_MC_CPPFLAGS:=$(strip $(KERNEL_MC_CPPFLAGS) $(workbench-utilities-help_MC_CPPFLAGS) $(workbench-utilities-help_MC_EXTRA_CPPFLAGS)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_CFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-utilities-help_CFLAGS)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_DFLAGS:=$(strip $(KERNEL_ISA_CFLAGS) $(KERNEL_CFLAGS) $(workbench-utilities-help_DFLAGS)) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_IQUOTE:=$(KERNEL_IQUOTE) +$(workbench-utilities-help_MC_TARGETS) $(workbench-utilities-help_MC_DTARGETS) : workbench-utilities-help_IQUOTE_END:=$(KERNEL_IQUOTE_END) +endif + +$(workbench-utilities-help_MC_TARGETS) : CPPFLAGS := $(workbench-utilities-help_MC_CPPFLAGS) +$(workbench-utilities-help_MC_TARGETS) : CFLAGS := $(workbench-utilities-help_CFLAGS) +$(workbench-utilities-help_MC_TARGETS) : $(workbench-utilities-help_MC_TGTWILDCARD).o : $(workbench-utilities-help_MC_SRCWILDCARD).c + $(Q)$(ECHO) "Compiling $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))" + $(Q)$(IF) $(CMD) $(workbench-utilities-help_IQUOTE) $(dir $<) $(workbench-utilities-help_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_IQUOTE) . $(workbench-utilities-help_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__="\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))"\" -c $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$<: $(CMD) $(workbench-utilities-help_IQUOTE) $(dir $<) $(workbench-utilities-help_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_IQUOTE) . $(workbench-utilities-help_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" >> $(GENDIR)/errors ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Compile failed: $(CMD) $(workbench-utilities-help_IQUOTE) $(dir $<) $(workbench-utilities-help_IQUOTE) $(SRCDIR)/$(CURDIR) $(workbench-utilities-help_IQUOTE) . $(workbench-utilities-help_IQUOTE_END) $(strip $(CFLAGS) $(CPPFLAGS)) -D__SRCFILENAME__=\"$(subst $(TOP)/,,$(subst $(SRCDIR)/,,$(abspath $<)))\" -c $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + +$(workbench-utilities-help_MC_DTARGETS) : $(workbench-utilities-help_MC_TGTWILDCARD).d : $(workbench-utilities-help_MC_SRCWILDCARD).c + $(Q)$(IF) $(TEST) ! -d $(dir $@) ; then $(MKDIR) $(dir $@) ; else $(NOP) ; fi + $(Q)$(ECHO) "Makedepend $(if $(filter /%,$<),$(if $(filter $(SRCDIR)/%,$(abspath $<)),$(patsubst $(SRCDIR)/%,%,$(abspath $<)),$(patsubst $(TOP)/%,%,$(abspath $<))),$(patsubst $(SRCDIR)/%,%,$(abspath $(SRCDIR)/$(CURDIR)/$<)))..." + $(Q)AROS_CC="$(CMD)" $(MKDEPEND) $(strip $(workbench-utilities-help_DFLAGS) $(workbench-utilities-help_MC_CPPFLAGS)) -I$(TOP)/$(CURDIR) -I$(SRCDIR)/$(CURDIR) $< -o $@ + +ifeq ($(workbench-utilities-help_OBJDIR),) +workbench-utilities-help-MA_TARGETS := $(addsuffix .o,$(workbench-utilities-help_ASMFILES)) +workbench-utilities-help-MA_WILDCARD := % +else +workbench-utilities-help-MA_TARGETS := $(addsuffix .o,$(addprefix $(workbench-utilities-help_OBJDIR)/,$(notdir $(workbench-utilities-help_ASMFILES)))) +workbench-utilities-help-MA_WILDCARD := $(workbench-utilities-help_OBJDIR)/% + +# Be sure that all .s files are generated +$(workbench-utilities-help-MA_TARGETS) : | $(addsuffix .s,$(workbench-utilities-help_ASMFILES)) + +# Be sure that all .c files are found +workbench-utilities-help-MA_SRCDIR := $(shell echo $(SRCDIR) | sed 's/^\(.\):\//\/\1\//') +workbench-utilities-help-MA_BASEDIRS := $(shell echo $(sort $(dir $(workbench-utilities-help_ASMFILES))) | sed 's/\(.\):\//\/\1\//g') +workbench-utilities-help-MA_DIRS := $(foreach dir, $(workbench-utilities-help-MA_BASEDIRS), $(if $(filter /%,$(dir)),$(dir),$(workbench-utilities-help-MA_SRCDIR)/$(CURDIR)/$(dir))) +ifneq ($(workbench-utilities-help-MA_DIRS),) + workbench-utilities-help-MA_DIRS := $(shell echo $(workbench-utilities-help-MA_DIRS) | sed 's/\(.\):\//\/\1\//g') + vpath %.s $(workbench-utilities-help-MA_DIRS) +endif + +endif + +workbench-utilities-help-MA_ASSEMBLER ?= $(workbench-utilities-help_ASSEMBLER) + +$(workbench-utilities-help-MA_TARGETS) : workbench-utilities-help-MA_CMD:= $(workbench-utilities-help-MA_ASSEMBLER) + +$(workbench-utilities-help-MA_TARGETS) : CPPFLAGS := $(workbench-utilities-help_CPPFLAGS) +$(workbench-utilities-help-MA_TARGETS) : AFLAGS := $(workbench-utilities-help_AFLAGS) +$(workbench-utilities-help-MA_TARGETS) : $(workbench-utilities-help-MA_WILDCARD).o : %.s + $(Q)$(ECHO) "Assembling $(notdir $<)..." + $(Q)$(IF) $(workbench-utilities-help-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@ > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(notdir $<): $(workbench-utilities-help-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + else \ + $(ECHO) "Assemble failed: $(workbench-utilities-help-MA_CMD) $(strip $(AFLAGS) $(CPPFLAGS)) $< -o $@" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + + +workbench-utilities-help-link_EXTRA_LDFLAGS := +workbench-utilities-help-link_EXTRA_LIBS := +ifeq (no,yes) + workbench-utilities-help-link_EXTRA_LDFLAGS += $(NIX_LDFLAGS) +endif +ifeq (yes,no) + workbench-utilities-help-link_EXTRA_LDFLAGS += $(NOSTARTUP_LDFLAGS) +endif +ifeq (no,yes) + workbench-utilities-help-link_EXTRA_LDFLAGS += $(DETACH_LDFLAGS) +endif + +# Make a list of the lib files this program depends on. +# In LDFLAGS remove white space between -L and directory +workbench-utilities-help-link_DIRS := $(subst -L ,-L,$(strip $(workbench-utilities-help_LDFLAGS))) +# Filter out only the libdirs and remove -L +workbench-utilities-help-link_DIRS := $(patsubst -L%,%,$(filter -L%,$(workbench-utilities-help-link_DIRS))) +# Add trailing / +workbench-utilities-help-link_DIRS := $(subst //,/,$(addsuffix /,$(workbench-utilities-help-link_DIRS))) +# Add normal linklib path +workbench-utilities-help-link_DIRS += $(AROS_LIB)/ +# add lib and .a to static linklib names +workbench-utilities-help-link_LIBS := $(addprefix lib,$(addsuffix .a,$(workbench-utilities-help_LIBS) $(workbench-utilities-help-link_EXTRA_LIBS))) +ifeq (yes,yes) + workbench-utilities-help-link_LIBS += startup.o +endif +ifeq (no,yes) + workbench-utilities-help-link_LIBS += detach.o +endif +# search for the linklibs in the given path, ignore ones not found +workbench-utilities-help-link_DEPLIBS := $(foreach lib,$(workbench-utilities-help-link_LIBS), \ + $(firstword $(wildcard $(addsuffix $(lib),$(workbench-utilities-help-link_DIRS)))) \ +) + +$(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) : OBJDIR := $(workbench-utilities-help_OBJDIR) +$(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) : OBJS := $(workbench-utilities-help_OBJS) $(workbench-utilities-help_ARCHOBJS) $(USER_OBJS) +$(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) : LDFLAGS := $(strip $(workbench-utilities-help_LDFLAGS) $(workbench-utilities-help-link_EXTRA_LDFLAGS)) +$(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) : LIBS := $(addprefix -l,$(workbench-utilities-help_LIBS) $(workbench-utilities-help-link_EXTRA_LIBS) ) +$(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) : $(workbench-utilities-help_OBJS) $(workbench-utilities-help_ARCHOBJS) $(USER_OBJS) $(workbench-utilities-help-link_DEPLIBS) + $(Q)$(eval LINKTARGET=$@) + $(Q)$(ECHO) "Linking $(subst $(TARGETDIR)/,,$(LINKTARGET))..." + $(Q)$(eval LINKTMPFILE=$(OBJDIR)/$(notdir $(LINKTARGET))) + $(Q)$(IF) $(workbench-utilities-help_LINK) $(OBJS) -o $(LINKTMPFILE) $(LDFLAGS) $(LIBS) 2>&1 > $(GENDIR)/cerrors 2>&1 ; then \ + $(IF) $(TEST) -s $(GENDIR)/cerrors ; then \ + $(ECHO) "$(LINKTARGET): $(workbench-utilities-help_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" >> $(GENDIR)/errors ; \ + $(CAT) $(GENDIR)/cerrors >> $(GENDIR)/errors ; \ + else \ + $(NOP) ; \ + fi ; \ + $(CP) $(LINKTMPFILE) $(LINKTARGET) ; \ + else \ + $(ECHO) "Link failed: $(workbench-utilities-help_LINK) $(OBJS) -o $(LINKTARGET) $(LDFLAGS) $(LIBS)" 1>&2 ; \ + tee < $(GENDIR)/cerrors -a $(GENDIR)/errors 1>&2 ; \ + exit 1 ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-utilities-help_STRIP)" != ""; then \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(workbench-utilities-help_STRIP) $(LINKTARGET) --only-keep-debug -o $(LINKTARGET).dbg ; \ + fi ; \ + $(workbench-utilities-help_STRIP) $(LINKTARGET) ; \ + $(IF) $(TEST) "$(DEBUG)" = "yes"; then \ + $(IF) $(TEST) -s $(LINKTARGET).dbg ; then \ + $(OBJCOPY) --add-gnu-debuglink=$(LINKTARGET).dbg $(LINKTARGET) ; \ + fi ; \ + fi ; \ + fi + $(Q)$(IF) $(TEST) "$(workbench-utilities-help_COVERAGE)" = "yes"; then \ + LINKBASEFILES="$(strip $(notdir $(basename $(OBJS))))" ; \ + $(FOR) covext in $(TARGET_COVERAGEINSTR_EXTS) ; do \ + $(FOR) file in $$LINKBASEFILES ; do \ + COVERAGEFILE=`echo $$file$$covext` ; \ + $(IF) $(TEST) -s $(OBJDIR)/$$COVERAGEFILE ; then \ + $(CP) $(OBJDIR)/$$COVERAGEFILE $(dir $(LINKTARGET))$$COVERAGEFILE ; \ + fi ; \ + done ; \ + done ; \ + fi + +endif + +ifneq ($(workbench-utilities-help_DEPS),) + ifneq (workbench-utilities-help workbench-utilities-help-quick,) + ifneq ($(findstring $(TARGET),workbench-utilities-help workbench-utilities-help-quick),) + -include $(workbench-utilities-help_DEPS) + endif + else + ifeq (,$(filter clean% %clean %clean% setup% includes% %setup,$(TARGET))) + -include $(workbench-utilities-help_DEPS) + endif + endif +endif + + +ifneq ($(workbench-utilities-help_OBJS) $(workbench-utilities-help_DEPS) $(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME),) +$(workbench-utilities-help_OBJS) $(workbench-utilities-help_DEPS) $(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) : | $(workbench-utilities-help_OBJDIR) $(workbench-utilities-help_TARGETDIR) +else +$(workbench-utilities-help_OBJS) $(workbench-utilities-help_DEPS) $(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) :: $(workbench-utilities-help_OBJDIR) $(workbench-utilities-help_TARGETDIR) +endif + +GLOB_MKDIRS += $(workbench-utilities-help_OBJDIR) $(workbench-utilities-help_TARGETDIR) + + +workbench-utilities-help-clean : FILES := $(workbench-utilities-help_OBJS) $(workbench-utilities-help_TARGETDIR)/$(workbench-utilities-help_PROGNAME) $(workbench-utilities-help_DEPS) +#MM +workbench-utilities-help-clean :: + $(Q)$(ECHO) "Cleaning up for metatarget workbench-utilities-help" + $(Q)$(RM) $(FILES) + + +# Delete generated makefiles +#MM +clean :: + $(Q)$(RM) $(TOP)/$(CURDIR)/mmakefile $(TOP)/$(CURDIR)/mmakefile.bak + +include $(SRCDIR)/config/make.tail + +BDID := $(BDTARGETID)